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, 6 insertions, 4 deletions
diff --git a/src/data.c b/src/data.c
index 4678ac1208c..5d7f036b70d 100644
--- a/src/data.c
+++ b/src/data.c
@@ -948,8 +948,10 @@ store_symval_forwarding (union Lisp_Fwd *valcontents, register Lisp_Object newva
948 } 948 }
949} 949}
950 950
951/* Set up SYMBOL to refer to its global binding. 951/* Set up SYMBOL to refer to its global binding. This makes it safe
952 This makes it safe to alter the status of other bindings. */ 952 to alter the status of other bindings. BEWARE: this may be called
953 during the mark phase of GC, where we assume that Lisp_Object slots
954 of BLV are marked after this function has changed them. */
953 955
954void 956void
955swap_in_global_binding (struct Lisp_Symbol *symbol) 957swap_in_global_binding (struct Lisp_Symbol *symbol)
@@ -1008,7 +1010,7 @@ swap_in_symval_forwarding (struct Lisp_Symbol *symbol, struct Lisp_Buffer_Local_
1008 else 1010 else
1009 { 1011 {
1010 tem1 = assq_no_quit (var, BVAR (current_buffer, local_var_alist)); 1012 tem1 = assq_no_quit (var, BVAR (current_buffer, local_var_alist));
1011 XSETBUFFER (blv->where, current_buffer); 1013 set_blv_where (blv, Fcurrent_buffer ());
1012 } 1014 }
1013 } 1015 }
1014 if (!(blv->found = !NILP (tem1))) 1016 if (!(blv->found = !NILP (tem1)))
@@ -1162,7 +1164,7 @@ set_internal (Lisp_Object symbol, Lisp_Object newval, Lisp_Object where,
1162 the default binding is loaded, the loaded binding may be the 1164 the default binding is loaded, the loaded binding may be the
1163 wrong one. */ 1165 wrong one. */
1164 if (!EQ (blv->where, where) 1166 if (!EQ (blv->where, where)
1165 /* Also unload a global binding (if the var is local_if_set). */ 1167 /* Also unload a global binding (if the var is local_if_set). */
1166 || (EQ (blv->valcell, blv->defcell))) 1168 || (EQ (blv->valcell, blv->defcell)))
1167 { 1169 {
1168 /* The currently loaded binding is not necessarily valid. 1170 /* The currently loaded binding is not necessarily valid.