]> git.eshelyaron.com Git - emacs.git/commitdiff
* src/buffer.c (Frestore_buffer_modified_p): Fix bug#29846
authorStefan Monnier <monnier@iro.umontreal.ca>
Thu, 28 Dec 2017 19:03:07 +0000 (14:03 -0500)
committerStefan Monnier <monnier@iro.umontreal.ca>
Thu, 28 Dec 2017 19:03:07 +0000 (14:03 -0500)
Don't mess with the lock file when inhibit_modification_hooks is set,
just like we do in prepare_to_modify_buffer_1.

src/buffer.c

index bcde2c80989f649732cee41c9088c4c459e2e3c4..7ed21f0e327121f7dc4a5423d4f6ebacf2121076 100644 (file)
@@ -1354,7 +1354,6 @@ It is not ensured that mode lines will be updated to show the modified
 state of the current buffer.  Use with care.  */)
   (Lisp_Object flag)
 {
-  Lisp_Object fn;
 
   /* If buffer becoming modified, lock the file.
      If buffer becoming unmodified, unlock the file.  */
@@ -1363,15 +1362,18 @@ state of the current buffer.  Use with care.  */)
     ? current_buffer->base_buffer
     : current_buffer;
 
-  fn = BVAR (b, file_truename);
-  /* Test buffer-file-name so that binding it to nil is effective.  */
-  if (!NILP (fn) && ! NILP (BVAR (b, filename)))
+  if (!inhibit_modification_hooks)
     {
-      bool already = SAVE_MODIFF < MODIFF;
-      if (!already && !NILP (flag))
-       lock_file (fn);
-      else if (already && NILP (flag))
-       unlock_file (fn);
+      Lisp_Object fn = BVAR (b, file_truename);
+      /* Test buffer-file-name so that binding it to nil is effective.  */
+      if (!NILP (fn) && ! NILP (BVAR (b, filename)))
+        {
+          bool already = SAVE_MODIFF < MODIFF;
+          if (!already && !NILP (flag))
+           lock_file (fn);
+          else if (already && NILP (flag))
+           unlock_file (fn);
+        }
     }
 
   /* Here we have a problem.  SAVE_MODIFF is used here to encode