(Fbyte_code) <varref>: Use SYMBOL_VALUE.

(Fbyte_code) <varset>: Simplify the test if symbol's value can be
set directly.
This commit is contained in:
Gerd Moellmann
2001-10-05 09:43:06 +00:00
parent 9e71371586
commit 5133a57883

View File

@@ -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
{