Mercurial > emacs
changeset 14264:215d8ba39537
(kill-local-variable): didn't update the value of
forwarded objects.
author | Karl Heuer <kwzh@gnu.org> |
---|---|
date | Tue, 23 Jan 1996 18:06:54 +0000 |
parents | 082e86e9bca3 |
children | 9bc9be522a4d |
files | src/data.c |
diffstat | 1 files changed, 7 insertions(+), 3 deletions(-) [+] |
line wrap: on
line diff
--- a/src/data.c Tue Jan 23 18:01:17 1996 +0000 +++ b/src/data.c Tue Jan 23 18:06:54 1996 +0000 @@ -1362,14 +1362,18 @@ current_buffer->local_var_alist = Fdelq (tem, current_buffer->local_var_alist); - /* Make sure symbol does not think it is set up for this buffer; - force it to look once again for this buffer's value */ + /* If the symbol is set up for the current buffer, recompute its + value. We have to do it now, or else forwarded objects won't + work right. */ { Lisp_Object *pvalbuf; valcontents = XSYMBOL (variable)->value; pvalbuf = &XCONS (XBUFFER_LOCAL_VALUE (valcontents)->cdr)->car; if (current_buffer == XBUFFER (*pvalbuf)) - *pvalbuf = Qnil; + { + *pvalbuf = Qnil; + Fsymbol_value(variable); + } } return variable;