Subject: bug#64645: [PATCH] * src/lisp.h: Describe a simple mnemonics to understand XLI/XIL/XLP macros

From: Ihor Radchenko <[email-masked]>
Date: Sat, 15 Jul 2023 09:49:41 +0000

Tags: patch

Hi,

While reading the C sources, I kept stumbling upon the meaning of
XLI/XIL/XLP macros.  The attached patch adds a comment with simple
mnemonics to remember what they mean.

In GNU Emacs 30.0.50 (build 2, x86_64-pc-linux-gnu, GTK+ Version
 3.24.38, cairo version 1.17.8) of 2023-07-13 built on localhost
Repository revision: d97b77e6c66db46b198c696f83458aa141794727
Repository branch: master
Windowing system distributor 'The X.Org Foundation', version 11.0.12101008
System Description: Gentoo Linux

Configured using:
 'configure --with-native-compilation'

>From f032a6a9c51cc0e9568c7cb36e30d365c14b5b8b Mon Sep 17 00:00:00 2001
Message-ID: <[email-masked]>
From: Ihor Radchenko <[email-masked]>
Date: Sat, 15 Jul 2023 12:46:43 +0300
Subject: [PATCH] * src/lisp.h: Describe a simple mnemonics to understand
 XLI/XIL/XLP macros

These macro names may be confusing for untrained mind.  Mnemonics
described in the added comment helps to remember what is what for new
readers.
---
 src/lisp.h | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/src/lisp.h b/src/lisp.h
index f10bce86b45..528db45dbcf 100644
--- a/src/lisp.h
+++ b/src/lisp.h
@@ -332,7 +332,11 @@ #define LISP_WORDS_ARE_POINTERS (EMACS_INT_MAX == INTPTR_MAX)
    see these functions for commentary.  */
 
 /* Convert among the various Lisp-related types: I for EMACS_INT, L
-   for Lisp_Object, P for void *.  */
+   for Lisp_Object, P for void *.
+   Useful mnemonics:
+   1. XLI :: X is Lisp Integer
+   2. XIL :: X Is Lisp
+   3. XLP :: X is Lisp Pointer */
 #if !CHECK_LISP_OBJECT_TYPE
 # if LISP_WORDS_ARE_POINTERS
 #  define lisp_h_XLI(o) ((EMACS_INT) (o))
-- 
2.41.0

-- 
Ihor Radchenko // yantar92,
Org mode contributor,
Learn more about Org mode at <https://orgmode.org/>.
Support Org development at <https://liberapay.com/org-mode>,
or support my work at <https://liberapay.com/yantar92>