]> git.eshelyaron.com Git - emacs.git/commitdiff
Save and restore the absence of narrowing locks
authorGregory Heytings <gregory@heytings.org>
Fri, 10 Feb 2023 20:55:47 +0000 (20:55 +0000)
committerGregory Heytings <gregory@heytings.org>
Fri, 10 Feb 2023 21:07:43 +0000 (22:07 +0100)
* src/editfns.c (narrowing_locks_save): Return the buffer with a
empty locks list when the current buffer has no narrowing locks.
(narrowing_locks_restore): Remove the narrowing locks if the
buffer had no narrowing locks.

src/editfns.c

index 64906671be7c6769805272ae6765add830dc1813..f98796621689d8991f94d2e29be0167f01e681ba 100644 (file)
@@ -2799,21 +2799,19 @@ narrowing_locks_save (void)
 {
   Lisp_Object buf = Fcurrent_buffer ();
   Lisp_Object locks = assq_no_quit (buf, narrowing_locks);
-  if (NILP (locks))
-    return Qnil;
-  locks = XCAR (XCDR (locks));
+  if (!NILP (locks))
+    locks = XCAR (XCDR (locks));
   return Fcons (buf, Fcopy_sequence (locks));
 }
 
 void
 narrowing_locks_restore (Lisp_Object buf_and_saved_locks)
 {
-  if (NILP (buf_and_saved_locks))
-    return;
   Lisp_Object buf = XCAR (buf_and_saved_locks);
   Lisp_Object saved_locks = XCDR (buf_and_saved_locks);
   narrowing_locks_remove (buf);
-  narrowing_locks_add (buf, saved_locks);
+  if (!NILP (saved_locks))
+    narrowing_locks_add (buf, saved_locks);
 }
 
 static void