From: Gerd Moellmann Date: Fri, 5 Oct 2001 09:43:06 +0000 (+0000) Subject: (Fbyte_code) : Use SYMBOL_VALUE. X-Git-Tag: ttn-vms-21-2-B4~19744 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=5133a57883deda14a69e82eb425e02784eea6486;p=emacs.git (Fbyte_code) : Use SYMBOL_VALUE. (Fbyte_code) : Simplify the test if symbol's value can be set directly. --- diff --git a/src/bytecode.c b/src/bytecode.c index b142e3e667e..48739234a6d 100644 --- a/src/bytecode.c +++ b/src/bytecode.c @@ -520,7 +520,7 @@ If the third argument is incorrect, Emacs may crash.") v1 = vectorp[op]; if (SYMBOLP (v1)) { - v2 = XSYMBOL (v1)->value; + v2 = SYMBOL_VALUE (v1); if (MISCP (v2) || EQ (v2, Qunbound)) { BEFORE_POTENTIAL_GC (); @@ -626,16 +626,9 @@ If the third argument is incorrect, Emacs may crash.") /* Inline the most common case. */ if (SYMBOLP (sym) && !EQ (val, Qunbound) - && !MISCP (XSYMBOL (sym)->value) - /* I think this should either be checked in the byte - compiler, or there should be a flag indicating that - a symbol might be constant in Lisp_Symbol, instead - of checking this here over and over again. --gerd. */ - && !EQ (sym, Qnil) - && !EQ (sym, Qt) - && !(XSYMBOL (sym)->name->data[0] == ':' - && EQ (XSYMBOL (sym)->obarray, initial_obarray) - && !EQ (val, sym))) + && !XSYMBOL (sym)->indirect_variable + && !XSYMBOL (sym)->constant + && !MISCP (XSYMBOL (sym)->value)) XSYMBOL (sym)->value = val; else {