]> git.eshelyaron.com Git - emacs.git/commitdiff
* lisp.h (struct Lisp_Symbol): Replace field "name" with a lisp
authorKen Raeburn <raeburn@raeburn.org>
Mon, 20 May 2002 08:06:06 +0000 (08:06 +0000)
committerKen Raeburn <raeburn@raeburn.org>
Mon, 20 May 2002 08:06:06 +0000 (08:06 +0000)
object field named "xname".
(SYMBOL_NAME): New macro.

src/lisp.h

index 3f9cee4474d016914f7fd17985133a3f4012d153..d8bb5bf08af1fbf41a09392153987ca117d56cc0 100644 (file)
@@ -871,9 +871,11 @@ struct Lisp_Symbol
      enum symbol_interned.  */
   unsigned interned : 2;
 
-  /* The symbol's name.  This should become a Lisp_Object
-     some day; there's no need for the Lisp_String pointer nowadays.  */
-  struct Lisp_String *name;
+  /* The symbol's name, as a Lisp string.
+
+     The name "xname" is used to intentionally break code referring to
+     the old field "name" of type pointer to struct Lisp_String.  */
+  Lisp_Object xname;
 
   /* Value of the symbol or Qunbound if unbound.  If this symbol is a
      defvaralias, `value' contains the symbol for which it is an
@@ -891,6 +893,11 @@ struct Lisp_Symbol
   struct Lisp_Symbol *next;
 };
 
+/* Value is name of symbol.  */
+
+#define SYMBOL_NAME(sym)  \
+     LISP_MAKE_RVALUE (XSYMBOL (sym)->xname)
+
 /* Value is non-zero if SYM is an interned symbol.  */
 
 #define SYMBOL_INTERNED_P(sym)  \