]> git.eshelyaron.com Git - emacs.git/commitdiff
print-test fixes
authorGerd Möllmann <gerd@gnu.org>
Fri, 21 Oct 2022 11:23:06 +0000 (13:23 +0200)
committerGerd Möllmann <gerd@gnu.org>
Fri, 21 Oct 2022 11:23:06 +0000 (13:23 +0200)
* src/print.c (print_symbol): Fix printing of empty symbol names
to be compatible.

src/print.c

index af23aade6f7e18e95c3f79af1ad7992bc68a19aa..3463d8ec5dea10645c360fe833ea534051cebef1 100644 (file)
@@ -2226,11 +2226,6 @@ print_symbol (Lisp_Object symbol, Lisp_Object printcharfun,
     {
       if (!NILP (Vprint_gensym))
        print_c_string ("#:", printcharfun);
-      else if (*SDATA (name) == 0)
-       {
-         print_c_string ("##", printcharfun);
-         return;
-       }
     }
   else
     {
@@ -2250,7 +2245,13 @@ print_symbol (Lisp_Object symbol, Lisp_Object printcharfun,
        }
     }
 
-  print_symbol_name (name, printcharfun, escape);
+  /* In Common Lisp, this would be ||, but we don't have multi-escapes
+     in Emacs, and we will probably never have them because '| has
+     been a valid symbol, and it is used, for instance in rx.el.  */
+  if (SBYTES (name) == 0)
+    print_c_string ("##", printcharfun);
+  else
+    print_symbol_name (name, printcharfun, escape);
 }