diff options
| author | Richard M. Stallman | 2000-01-20 06:02:13 +0000 |
|---|---|---|
| committer | Richard M. Stallman | 2000-01-20 06:02:13 +0000 |
| commit | 8cc956425fac572883e29eb263f6f17b890824ce (patch) | |
| tree | 8fda571b174c97c1b5d2316e4102c10880f25506 /src | |
| parent | 4f939ab8ad7b0fb1dc1a94cac159a8e5b3702baf (diff) | |
| download | emacs-8cc956425fac572883e29eb263f6f17b890824ce.tar.gz emacs-8cc956425fac572883e29eb263f6f17b890824ce.zip | |
(set_internal): Fix the criteria for whether
to swap out the old cached binding.
Diffstat (limited to 'src')
| -rw-r--r-- | src/ChangeLog | 5 | ||||
| -rw-r--r-- | src/data.c | 13 |
2 files changed, 13 insertions, 5 deletions
diff --git a/src/ChangeLog b/src/ChangeLog index 3edfe5a6d72..2a14d959212 100644 --- a/src/ChangeLog +++ b/src/ChangeLog | |||
| @@ -1,3 +1,8 @@ | |||
| 1 | 2000-01-20 Richard M. Stallman <rms@caffeine.ai.mit.edu> | ||
| 2 | |||
| 3 | * data.c (set_internal): Fix the criteria for whether | ||
| 4 | to swap out the old cached binding. | ||
| 5 | |||
| 1 | 2000-01-19 Dave Love <fx@gnu.org> | 6 | 2000-01-19 Dave Love <fx@gnu.org> |
| 2 | 7 | ||
| 3 | * lread.c: (syms_of_lread) [user-init-file]: Doc change. | 8 | * lread.c: (syms_of_lread) [user-init-file]: Doc change. |
diff --git a/src/data.c b/src/data.c index f4ee843a1a2..3f5fec2349b 100644 --- a/src/data.c +++ b/src/data.c | |||
| @@ -1043,11 +1043,14 @@ set_internal (symbol, newval, buf, bindflag) | |||
| 1043 | currently cached, or if it's a Lisp_Buffer_Local_Value and | 1043 | currently cached, or if it's a Lisp_Buffer_Local_Value and |
| 1044 | we're looking at the default value, the cache is invalid; we | 1044 | we're looking at the default value, the cache is invalid; we |
| 1045 | need to write it out, and find the new CURRENT-ALIST-ELEMENT. */ | 1045 | need to write it out, and find the new CURRENT-ALIST-ELEMENT. */ |
| 1046 | if (buf != XBUFFER (XBUFFER_LOCAL_VALUE (valcontents)->buffer) | 1046 | if ((XBUFFER_LOCAL_VALUE (valcontents)->found_for_buffer |
| 1047 | || !EQ (selected_frame, XBUFFER_LOCAL_VALUE (valcontents)->frame) | 1047 | && (buf != XBUFFER (XBUFFER_LOCAL_VALUE (valcontents)->buffer) |
| 1048 | || (BUFFER_LOCAL_VALUEP (valcontents) | 1048 | || (BUFFER_LOCAL_VALUEP (valcontents) |
| 1049 | && EQ (XCAR (current_alist_element), | 1049 | && EQ (XCAR (current_alist_element), |
| 1050 | current_alist_element))) | 1050 | current_alist_element)))) |
| 1051 | || | ||
| 1052 | (XBUFFER_LOCAL_VALUE (valcontents)->found_for_frame | ||
| 1053 | && !EQ (selected_frame, XBUFFER_LOCAL_VALUE (valcontents)->frame))) | ||
| 1051 | { | 1054 | { |
| 1052 | /* Write out the cached value for the old buffer; copy it | 1055 | /* Write out the cached value for the old buffer; copy it |
| 1053 | back to its alist element. This works if the current | 1056 | back to its alist element. This works if the current |