* data.c (store_symval_forwarding, set_internal):
* eval.c (specbind): Remove dead code.
This commit is contained in:
@@ -1,5 +1,8 @@
|
||||
2007-11-19 Stefan Monnier <monnier@iro.umontreal.ca>
|
||||
|
||||
* data.c (store_symval_forwarding, set_internal):
|
||||
* eval.c (specbind): Remove dead code.
|
||||
|
||||
* coding.c (detect_coding, Fupdate_coding_systems_internal):
|
||||
* fns.c (Fmd5): Use find_symbol_value rather than SYMBOL_VALUE
|
||||
Since we do not want to see internal Lisp_*fwd objects here.
|
||||
|
||||
13
src/data.c
13
src/data.c
@@ -922,9 +922,11 @@ store_symval_forwarding (symbol, valcontents, newval, buf)
|
||||
case Lisp_Misc_Intfwd:
|
||||
CHECK_NUMBER (newval);
|
||||
*XINTFWD (valcontents)->intvar = XINT (newval);
|
||||
if (*XINTFWD (valcontents)->intvar != XINT (newval))
|
||||
error ("Value out of range for variable `%s'",
|
||||
SDATA (SYMBOL_NAME (symbol)));
|
||||
/* This can never happen since intvar points to an EMACS_INT
|
||||
which is at least large enough to hold a Lisp_Object.
|
||||
if (*XINTFWD (valcontents)->intvar != XINT (newval))
|
||||
error ("Value out of range for variable `%s'",
|
||||
SDATA (SYMBOL_NAME (symbol))); */
|
||||
break;
|
||||
|
||||
case Lisp_Misc_Boolfwd:
|
||||
@@ -1237,9 +1239,8 @@ set_internal (symbol, newval, buf, bindflag)
|
||||
|| buf != XBUFFER (XBUFFER_LOCAL_VALUE (valcontents)->buffer)
|
||||
|| (XBUFFER_LOCAL_VALUE (valcontents)->check_frame
|
||||
&& !EQ (selected_frame, XBUFFER_LOCAL_VALUE (valcontents)->frame))
|
||||
|| (BUFFER_LOCAL_VALUEP (valcontents)
|
||||
&& EQ (XCAR (current_alist_element),
|
||||
current_alist_element)))
|
||||
|| (EQ (XCAR (current_alist_element),
|
||||
current_alist_element)))
|
||||
{
|
||||
/* The currently loaded binding is not necessarily valid.
|
||||
We need to unload it, and choose a new binding. */
|
||||
|
||||
17
src/eval.c
17
src/eval.c
@@ -3263,7 +3263,6 @@ void
|
||||
specbind (symbol, value)
|
||||
Lisp_Object symbol, value;
|
||||
{
|
||||
Lisp_Object ovalue;
|
||||
Lisp_Object valcontents;
|
||||
|
||||
CHECK_SYMBOL (symbol);
|
||||
@@ -3283,9 +3282,7 @@ specbind (symbol, value)
|
||||
}
|
||||
else
|
||||
{
|
||||
Lisp_Object valcontents;
|
||||
|
||||
ovalue = find_symbol_value (symbol);
|
||||
Lisp_Object ovalue = find_symbol_value (symbol);
|
||||
specpdl_ptr->func = 0;
|
||||
specpdl_ptr->old_value = ovalue;
|
||||
|
||||
@@ -3330,10 +3327,14 @@ specbind (symbol, value)
|
||||
specpdl_ptr->symbol = symbol;
|
||||
|
||||
specpdl_ptr++;
|
||||
if (BUFFER_OBJFWDP (ovalue) || KBOARD_OBJFWDP (ovalue))
|
||||
store_symval_forwarding (symbol, ovalue, value, NULL);
|
||||
else
|
||||
set_internal (symbol, value, 0, 1);
|
||||
/* We used to do
|
||||
if (BUFFER_OBJFWDP (ovalue) || KBOARD_OBJFWDP (ovalue))
|
||||
store_symval_forwarding (symbol, ovalue, value, NULL);
|
||||
else
|
||||
but ovalue comes from find_symbol_value which should never return
|
||||
such an internal value. */
|
||||
eassert (!(BUFFER_OBJFWDP (ovalue) || KBOARD_OBJFWDP (ovalue)));
|
||||
set_internal (symbol, value, 0, 1);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user