emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

scratch/fix-locked-narrowing 4297039bd13: Save and restore the absence o


From: Gregory Heytings
Subject: scratch/fix-locked-narrowing 4297039bd13: Save and restore the absence of narrowing locks
Date: Fri, 10 Feb 2023 16:08:05 -0500 (EST)

branch: scratch/fix-locked-narrowing
commit 4297039bd1325166eac82d950951716ec122d465
Author: Gregory Heytings <gregory@heytings.org>
Commit: Gregory Heytings <gregory@heytings.org>

    Save and restore the absence of narrowing locks
    
    * 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 | 10 ++++------
 1 file changed, 4 insertions(+), 6 deletions(-)

diff --git a/src/editfns.c b/src/editfns.c
index 64906671be7..f9879662168 100644
--- a/src/editfns.c
+++ b/src/editfns.c
@@ -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



reply via email to

[Prev in Thread] Current Thread [Next in Thread]