(set_internal): Further fix in same criterion.
authorRichard M. Stallman <rms@gnu.org>
Sat, 22 Jan 2000 02:57:37 +0000 (02:57 +0000)
committerRichard M. Stallman <rms@gnu.org>
Sat, 22 Jan 2000 02:57:37 +0000 (02:57 +0000)
src/data.c

index 3f5fec2..eb29de2 100644 (file)
@@ -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