[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
pkg 8a59cc12da 54/76: Add amcros for keyword symbols
From: |
Gerd Moellmann |
Subject: |
pkg 8a59cc12da 54/76: Add amcros for keyword symbols |
Date: |
Fri, 21 Oct 2022 00:16:14 -0400 (EDT) |
branch: pkg
commit 8a59cc12daca60db88a0666ed21beac572883a5d
Author: Gerd Möllmann <gerd@gnu.org>
Commit: Gerd Möllmann <gerd@gnu.org>
Add amcros for keyword symbols
* src/lisp.h (SYMBOL_KEYWORD_P): Returns true if symbol is a keyword.
(LISP_SYMBOL_NAME): Basically the same as Fsymbol_name, a shortcut.
* src/data.c (Fsymbol_name): Use SYMBOL_KEYWORD_P.
* src/pkg.c (pkg_intern_keyword): Use SYMBOL_KEYWORD_P.
---
src/data.c | 2 +-
src/lisp.h | 14 ++++++++++++++
src/pkg.c | 2 +-
3 files changed, 16 insertions(+), 2 deletions(-)
diff --git a/src/data.c b/src/data.c
index 2f6b25805f..dbf9f029b5 100644
--- a/src/data.c
+++ b/src/data.c
@@ -768,7 +768,7 @@ DEFUN ("symbol-name", Fsymbol_name, Ssymbol_name, 1, 1, 0,
(register Lisp_Object symbol)
{
CHECK_SYMBOL (symbol);
- if (EQ (SYMBOL_PACKAGE (symbol), Vkeyword_package))
+ if (SYMBOL_KEYWORD_P (symbol))
return concat2 (build_string (":"), SYMBOL_NAME (symbol));
return SYMBOL_NAME (symbol);
}
diff --git a/src/lisp.h b/src/lisp.h
index fa1f48b933..42f3565623 100644
--- a/src/lisp.h
+++ b/src/lisp.h
@@ -2425,6 +2425,20 @@ SYMBOL_EXTERNAL_P (Lisp_Object sym)
return XSYMBOL (sym)->u.s.external;
}
+INLINE bool
+SYMBOL_KEYWORD_P (Lisp_Object sym)
+{
+ return EQ (XSYMBOL (sym)->u.s.package, Vkeyword_package);
+}
+
+INLINE Lisp_Object
+LISP_SYMBOL_NAME (Lisp_Object sym)
+{
+ if (SYMBOL_KEYWORD_P (sym))
+ return Fsymbol_name (sym);
+ return SYMBOL_NAME (sym);
+}
+
/* Value is non-zero if symbol cannot be changed through a simple set,
i.e. it's a constant (e.g. nil, t, :keywords), or it has some
watching functions. */
diff --git a/src/pkg.c b/src/pkg.c
index 0da7aac4a9..3745dd69fb 100644
--- a/src/pkg.c
+++ b/src/pkg.c
@@ -530,7 +530,7 @@ pkg_intern_keyword (Lisp_Object name)
pkg_add_symbol (keyword, Vkeyword_package);
}
else
- eassert (EQ (SYMBOL_PACKAGE (keyword), Vkeyword_package));
+ eassert SYMBOL_KEYWORD_P (keyword);
return keyword;
}
- pkg 132f070747 58/76: New predefined hash table test for string-equal, (continued)
- pkg 132f070747 58/76: New predefined hash table test for string-equal, Gerd Moellmann, 2022/10/21
- pkg 4f7c171fb4 49/76: Support specifying package size, Gerd Moellmann, 2022/10/21
- pkg 9e3cfff902 51/76: Increase default symbol-table sizes, Gerd Moellmann, 2022/10/21
- pkg c98a69d650 50/76: DEFVAR some variables, Gerd Moellmann, 2022/10/21
- pkg 2030adac1c 38/76: Fake obarrays, Gerd Moellmann, 2022/10/21
- pkg 6b0304f2dd 67/76: Print package prefixes right, Gerd Moellmann, 2022/10/21
- pkg b6489ecb72 46/76: More scribbling, Gerd Moellmann, 2022/10/21
- pkg 6a8c172927 44/76: Add cö-symbol-name, Gerd Moellmann, 2022/10/21
- pkg e9b97a1f7d 48/76: Revert some unimportant changes, Gerd Moellmann, 2022/10/21
- pkg c4922c4f08 55/76: Make faces work with keywords not having : in symbol names, Gerd Moellmann, 2022/10/21
- pkg 8a59cc12da 54/76: Add amcros for keyword symbols,
Gerd Moellmann <=
- pkg d7c793cbbf 17/76: Don't register packages in make-package, Gerd Moellmann, 2022/10/21
- pkg fc936470cd 56/76: Move make-package to Lisp, Gerd Moellmann, 2022/10/21
- pkg 8ca1c93b67 52/76: Work on defpackage, Gerd Moellmann, 2022/10/21