branch: externals/objed
commit 87cdeee440c03afcc94e46018f421c316d105d87
Author: Clemens Radermacher <clem...@posteo.net>
Commit: Clemens Radermacher <clem...@posteo.net>

    Improve toggle state
---
 objed.el | 19 +++++++++++++------
 1 file changed, 13 insertions(+), 6 deletions(-)

diff --git a/objed.el b/objed.el
index 1a772c2..9e17e7d 100644
--- a/objed.el
+++ b/objed.el
@@ -1777,13 +1777,20 @@ Shrinks to inner objects on repeat if possible."
   (when (eq objed--object 'sexp)
     (save-excursion
       (objed-context-object)))
-  (let ((sdiff (abs (- (point) (objed--beg))))
-        (ediff (abs (- (point) (objed--end)))))
+  (let ((boo (eq (point) (objed--beg)))
+        (eoo (eq (point) (objed--end))))
     (objed--reverse)
-    (goto-char (cond ((> ediff sdiff)
-                      (objed--beg))
-                     (t
-                      (objed--end))))))
+    (cond (boo
+           (goto-char (objed--beg)))
+          ((and eoo
+                (not (eq objed--object 'line)))
+           (goto-char (objed--end)))
+          ((< (point) (objed--beg))
+           (goto-char (objed--beg)))
+          ((and
+            (> (point) (objed--beg))
+            (> (point) (objed--end)))
+           (goto-char (objed--end))))))
 
 (defun objed-backward-until-context (arg)
   "Goto object inner beginning and activate part moved over.

Reply via email to