aboutsummaryrefslogtreecommitdiffstats
path: root/src/eval.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/eval.c')
-rw-r--r--src/eval.c17
1 files changed, 9 insertions, 8 deletions
diff --git a/src/eval.c b/src/eval.c
index 7f5f58a2e81..74ebb0c90b6 100644
--- a/src/eval.c
+++ b/src/eval.c
@@ -3263,7 +3263,6 @@ void
3263specbind (symbol, value) 3263specbind (symbol, value)
3264 Lisp_Object symbol, value; 3264 Lisp_Object symbol, value;
3265{ 3265{
3266 Lisp_Object ovalue;
3267 Lisp_Object valcontents; 3266 Lisp_Object valcontents;
3268 3267
3269 CHECK_SYMBOL (symbol); 3268 CHECK_SYMBOL (symbol);
@@ -3283,9 +3282,7 @@ specbind (symbol, value)
3283 } 3282 }
3284 else 3283 else
3285 { 3284 {
3286 Lisp_Object valcontents; 3285 Lisp_Object ovalue = find_symbol_value (symbol);
3287
3288 ovalue = find_symbol_value (symbol);
3289 specpdl_ptr->func = 0; 3286 specpdl_ptr->func = 0;
3290 specpdl_ptr->old_value = ovalue; 3287 specpdl_ptr->old_value = ovalue;
3291 3288
@@ -3330,10 +3327,14 @@ specbind (symbol, value)
3330 specpdl_ptr->symbol = symbol; 3327 specpdl_ptr->symbol = symbol;
3331 3328
3332 specpdl_ptr++; 3329 specpdl_ptr++;
3333 if (BUFFER_OBJFWDP (ovalue) || KBOARD_OBJFWDP (ovalue)) 3330 /* We used to do
3334 store_symval_forwarding (symbol, ovalue, value, NULL); 3331 if (BUFFER_OBJFWDP (ovalue) || KBOARD_OBJFWDP (ovalue))
3335 else 3332 store_symval_forwarding (symbol, ovalue, value, NULL);
3336 set_internal (symbol, value, 0, 1); 3333 else
3334 but ovalue comes from find_symbol_value which should never return
3335 such an internal value. */
3336 eassert (!(BUFFER_OBJFWDP (ovalue) || KBOARD_OBJFWDP (ovalue)));
3337 set_internal (symbol, value, 0, 1);
3337 } 3338 }
3338} 3339}
3339 3340