emacs-elpa-diffs
[Top][All Lists]
Advanced

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

[elpa] externals/objed cf22d17 119/166: Improve block expansion


From: Clemens Radermacher
Subject: [elpa] externals/objed cf22d17 119/166: Improve block expansion
Date: Sun, 29 Dec 2019 08:21:12 -0500 (EST)

branch: externals/objed
commit cf22d170b07172e034c457cc349336c85ec785d4
Author: Clemens Radermacher <address@hidden>
Commit: Clemens Radermacher <address@hidden>

    Improve block expansion
---
 objed.el | 14 +++++++++++---
 1 file changed, 11 insertions(+), 3 deletions(-)

diff --git a/objed.el b/objed.el
index bfab0de..ab7be55 100644
--- a/objed.el
+++ b/objed.el
@@ -1574,7 +1574,7 @@ order. ISTATE is the object state to use and defaults to 
whole."
   (objed--save-state
      (let ((os (objed--get-block-objects-for-context ignore))
            (states nil)
-           (oos nil)
+           (oos (list (objed--current)))
            (nos nil))
      (while os
        (when (and (ignore-errors
@@ -1666,8 +1666,12 @@ See also `objed--block-objects'."
              (progn (objed--toggle-state)
                     (goto-char (objed--beg)))
            (when blocks
-             (let ((end (objed--end)))
+             (let ((pos (point))
+                   (end (objed--end)))
                (objed--restore-state (pop blocks))
+               (while (and (eq pos (objed--beg))
+                           blocks)
+                 (objed--restore-state (pop blocks)))
                (objed--change-to :end end :iend end)
                (goto-char (objed--beg))))))
         (t
@@ -1707,8 +1711,12 @@ See also `objed--block-objects'."
     (cond ((or (eq last-command this-command)
                (eq last-command 'move-end-of-line))
            (when blocks
-             (let ((beg (objed--beg)))
+             (let ((pos (point))
+                   (beg (objed--beg)))
                (objed--restore-state (pop blocks))
+               (while (and (eq pos (objed--end))
+                           blocks)
+                 (objed--restore-state (pop blocks)))
                (objed--change-to :beg beg :ibeg beg)
                (goto-char (objed--end)))))
           (t



reply via email to

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