[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
pkg 6b0304f2dd 67/76: Print package prefixes right
From: |
Gerd Moellmann |
Subject: |
pkg 6b0304f2dd 67/76: Print package prefixes right |
Date: |
Fri, 21 Oct 2022 00:16:15 -0400 (EDT) |
branch: pkg
commit 6b0304f2dd84f9904885f31b1d73f4b9f905a522
Author: Gerd Möllmann <gerd@gnu.org>
Commit: Gerd Möllmann <gerd@gnu.org>
Print package prefixes right
---
src/print.c | 27 ++++++++++++++-------------
1 file changed, 14 insertions(+), 13 deletions(-)
diff --git a/src/print.c b/src/print.c
index efef070497..fed549099a 100644
--- a/src/print.c
+++ b/src/print.c
@@ -2216,34 +2216,35 @@ print_symbol (Lisp_Object symbol, Lisp_Object
printcharfun,
bool escape)
{
const Lisp_Object name = SYMBOL_NAME (symbol);
- const char *p = SSDATA (name);
const Lisp_Object package = SYMBOL_PACKAGE (symbol);
- /* print-gensym true means print #: for uninterned symbols.
- PKG_FIXME: This looks like #: for an uninterned symbol with empty
- name? */
- if (NILP (package))
+ if (EQ (package, Vkeyword_package))
+ print_c_string (":", printcharfun);
+ else if (EQ (package, Vearmuffs_package))
+ ;
+ else if (NILP (package))
{
if (!NILP (Vprint_gensym))
print_c_string ("#:", printcharfun);
- else if (*p == 0)
+ else if (*SDATA (name) == 0)
{
print_c_string ("##", printcharfun);
return;
}
}
-
- if (EQ (package, Vkeyword_package))
- print_c_string (":", printcharfun);
- else if (!NILP (package) && !EQ (package, Vearmuffs_package))
+ else
{
- /* Don't print qualification if in current package. */
+ /* If the symbol is accessible, it need not be qualified. */
const Lisp_Object found = Ffind_symbol (name, Vearmuffs_package);
- if (NILP (found) || !EQ (XCAR (found), symbol))
+ const bool accessible = !NILP (found);
+ if (!accessible || !EQ (XCAR (found), symbol))
{
print_symbol_name (XPACKAGE (package)->name,
printcharfun, escape);
- if (SYMBOL_EXTERNAL_P (symbol))
+ const Lisp_Object found = Ffind_symbol (name, package);
+ eassert (!NILP (found));
+ const Lisp_Object status = XCAR (XCDR (found));
+ if (EQ (status, QCexternal))
print_c_string (":", printcharfun);
else
print_c_string ("::", printcharfun);
- pkg 9a263a0782 57/76: Move more package stuff to Lisp, (continued)
- pkg 9a263a0782 57/76: Move more package stuff to Lisp, Gerd Moellmann, 2022/10/21
- pkg d374cb202a 43/76: Revert "Use make-package instead of make-vector", Gerd Moellmann, 2022/10/21
- pkg 77543a203a 45/76: Revert "Dpn't assume symbol-name of keywords starts with colon", Gerd Moellmann, 2022/10/21
- pkg 0a345a1181 53/76: Make internals of Lisp_Package visible to Lisp, Gerd Moellmann, 2022/10/21
- pkg 13010d7bd0 47/76: Partially revert "Remove obarrays", Gerd Moellmann, 2022/10/21
- 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 <=
- 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, 2022/10/21
- 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