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

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

[elpa] externals/objed 3816854 2/9: Don't choose next object on repeat


From: Clemens Radermacher
Subject: [elpa] externals/objed 3816854 2/9: Don't choose next object on repeat
Date: Mon, 18 Mar 2019 13:20:57 -0400 (EDT)

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

    Don't choose next object on repeat
---
 objed-objects.el | 21 +++++++++++++++------
 objed.el         | 15 +++------------
 2 files changed, 18 insertions(+), 18 deletions(-)

diff --git a/objed-objects.el b/objed-objects.el
index c59c7af..3fa9ff3 100644
--- a/objed-objects.el
+++ b/objed-objects.el
@@ -1091,6 +1091,15 @@ nth is given by ARG."
     (objed--switch-to 'identifier))
   (objed--goto-previous arg))
 
+(defun objed-goto-next-identifier (arg)
+  "Switch to nth next identifier.
+
+nth is given by ARG."
+  (interactive "P")
+  (if (eq objed--object 'identifier)
+      (objed--goto-next arg)
+    (objed--switch-to 'identifier)))
+
 
 (defun objed--make-object-overlay (&optional obj)
   "Create an overlay to mark current object.
@@ -2190,14 +2199,14 @@ non-nil the indentation block can contain empty lines."
      :beg (progn (unless (looking-at "<")
                    (sgml-skip-tag-backward 1))
                  (point))
-     :ibeg (save-excursion (search-forward ">" nil t)
-                           (point))
+     :ibeg (save-excursion
+             (when (search-forward ">" nil t)
+               (point)))
      :end (progn
-            (unless (looking-back ">" 1)
-              (sgml-skip-tag-forward 1))
+            (sgml-skip-tag-forward 1)
             (point))
-     :iend (progn (search-backward "<" nil t)
-                  (point))))
+     :iend (progn (when (search-backward "<" nil t)
+                    (point)))))
   :try-next
   (search-forward "<" nil t)
   :try-prev
diff --git a/objed.el b/objed.el
index ffefac0..97be400 100644
--- a/objed.el
+++ b/objed.el
@@ -530,17 +530,8 @@ update to given object."
     (cond (binding
            (funcall (cdr binding) name))
           (t
-           (let ((current objed--object))
-             ;; object called as command via M-x, objed need to
-             ;; initialize first
-             (when (not objed--buffer)
-               (objed--init name))
-             ;; goto next on repeat
-             (cond  ((eq name current)
-                     (setq this-command 'objed-goto-next)
-                     (objed--goto-next))
-                    (t (when (objed--switch-to name)
-                         (goto-char (objed--beg))))))))))
+           (when (objed--switch-to name)
+             (goto-char (objed--beg)))))))
 
 
 (defun objed--switch-to-object-for-cmd (cmd)
@@ -759,7 +750,7 @@ to the selected one."
       (objed-define-op nil objed-electric))
 
     ;; direct object switches
-    (define-key map "." 'objed-identifier-object)
+    (define-key map "." 'objed-goto-next-identifier)
     (define-key map "," 'objed-goto-prev-identifier)
     (define-key map "_" 'objed-symbol-object)
     (define-key map "l" 'objed-line-object)



reply via email to

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