summaryrefslogtreecommitdiff
path: root/src/data.c
diff options
context:
space:
mode:
authorRichard M. Stallman <rms@gnu.org>2000-01-22 02:57:37 +0000
committerRichard M. Stallman <rms@gnu.org>2000-01-22 02:57:37 +0000
commit1aa7a2c7dc3c6fe9c6acf5f324c304af9ea9b425 (patch)
tree81e98576818bd72c3f09b19565692a22b6e1c2be /src/data.c
parent6c7fd5aa64aed3d684592608d48b647213894d5c (diff)
downloademacs-1aa7a2c7dc3c6fe9c6acf5f324c304af9ea9b425.tar.gz
(set_internal): Further fix in same criterion.
Diffstat (limited to 'src/data.c')
-rw-r--r--src/data.c14
1 files changed, 6 insertions, 8 deletions
diff --git a/src/data.c b/src/data.c
index 3f5fec2349b..eb29de20dbd 100644
--- a/src/data.c
+++ b/src/data.c
@@ -1043,14 +1043,12 @@ set_internal (symbol, newval, buf, bindflag)
currently cached, or if it's a Lisp_Buffer_Local_Value and
we're looking at the default value, the cache is invalid; we
need to write it out, and find the new CURRENT-ALIST-ELEMENT. */
- if ((XBUFFER_LOCAL_VALUE (valcontents)->found_for_buffer
- && (buf != XBUFFER (XBUFFER_LOCAL_VALUE (valcontents)->buffer)
- || (BUFFER_LOCAL_VALUEP (valcontents)
- && EQ (XCAR (current_alist_element),
- current_alist_element))))
- ||
- (XBUFFER_LOCAL_VALUE (valcontents)->found_for_frame
- && !EQ (selected_frame, XBUFFER_LOCAL_VALUE (valcontents)->frame)))
+ if (XBUFFER_LOCAL_VALUE (valcontents)->found_for_frame
+ ? !EQ (selected_frame, XBUFFER_LOCAL_VALUE (valcontents)->frame)
+ : (buf != XBUFFER (XBUFFER_LOCAL_VALUE (valcontents)->buffer)
+ || (BUFFER_LOCAL_VALUEP (valcontents)
+ && EQ (XCAR (current_alist_element),
+ current_alist_element))))
{
/* Write out the cached value for the old buffer; copy it
back to its alist element. This works if the current