changeset 45405:13e858104d3b

* lisp.h (struct Lisp_Symbol): Replace field "name" with a lisp object field named "xname". (SYMBOL_NAME): New macro.
author Ken Raeburn <raeburn@raeburn.org>
date Mon, 20 May 2002 08:06:06 +0000
parents 3885467d7b12
children 6f19e244af49
files src/lisp.h
diffstat 1 files changed, 10 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
--- a/src/lisp.h	Mon May 20 08:06:00 2002 +0000
+++ b/src/lisp.h	Mon May 20 08:06:06 2002 +0000
@@ -871,9 +871,11 @@
      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 *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)  \