changeset 21474:78c4044476c0

(set_internal, Fmakunbound): No error if setting a keyword to itself.
author Karl Heuer <kwzh@gnu.org>
date Sat, 11 Apr 1998 18:04:12 +0000
parents 1f46ca9f3ff3
children 6cc3bb84b60e
files src/data.c
diffstat 1 files changed, 4 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/src/data.c	Sat Apr 11 02:19:18 1998 +0000
+++ b/src/data.c	Sat Apr 11 18:04:12 1998 +0000
@@ -617,7 +617,8 @@
   CHECK_SYMBOL (symbol, 0);
   if (NILP (symbol) || EQ (symbol, Qt)
       || (XSYMBOL (symbol)->name->data[0] == ':'
-	  && keyword_symbols_constant_flag))
+	  && keyword_symbols_constant_flag
+	  && ! EQ (XSYMBOL (symbol)->value, symbol)))
     return Fsignal (Qsetting_constant, Fcons (symbol, Qnil));
   Fset (symbol, Qunbound);
   return symbol;
@@ -968,7 +969,8 @@
   CHECK_SYMBOL (symbol, 0);
   if (NILP (symbol) || EQ (symbol, Qt)
       || (XSYMBOL (symbol)->name->data[0] == ':'
-	  && keyword_symbols_constant_flag))
+	  && keyword_symbols_constant_flag
+	  && ! EQ (XSYMBOL (symbol)->value, symbol)))
     return Fsignal (Qsetting_constant, Fcons (symbol, Qnil));
   valcontents = XSYMBOL (symbol)->value;