aboutsummaryrefslogtreecommitdiffstats
path: root/src/data.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/data.c')
-rw-r--r--src/data.c10
1 files changed, 7 insertions, 3 deletions
diff --git a/src/data.c b/src/data.c
index 263a21bebc1..8b9a158ef27 100644
--- a/src/data.c
+++ b/src/data.c
@@ -1362,14 +1362,18 @@ From now on the default value will apply in this buffer.")
1362 current_buffer->local_var_alist 1362 current_buffer->local_var_alist
1363 = Fdelq (tem, current_buffer->local_var_alist); 1363 = Fdelq (tem, current_buffer->local_var_alist);
1364 1364
1365 /* Make sure symbol does not think it is set up for this buffer; 1365 /* If the symbol is set up for the current buffer, recompute its
1366 force it to look once again for this buffer's value */ 1366 value. We have to do it now, or else forwarded objects won't
1367 work right. */
1367 { 1368 {
1368 Lisp_Object *pvalbuf; 1369 Lisp_Object *pvalbuf;
1369 valcontents = XSYMBOL (variable)->value; 1370 valcontents = XSYMBOL (variable)->value;
1370 pvalbuf = &XCONS (XBUFFER_LOCAL_VALUE (valcontents)->cdr)->car; 1371 pvalbuf = &XCONS (XBUFFER_LOCAL_VALUE (valcontents)->cdr)->car;
1371 if (current_buffer == XBUFFER (*pvalbuf)) 1372 if (current_buffer == XBUFFER (*pvalbuf))
1372 *pvalbuf = Qnil; 1373 {
1374 *pvalbuf = Qnil;
1375 Fsymbol_value(variable);
1376 }
1373 } 1377 }
1374 1378
1375 return variable; 1379 return variable;