branch: elpa/evil-matchit
commit 539192328ec521796c3f2bd8c1ac1a1b0e4f08f9
Author: Chen Bin <chenbin...@gmail.com>
Commit: Chen Bin <chenbin...@gmail.com>

    fixed minor bug #127
---
 evil-matchit-sdk.el | 18 ++++++++++--------
 1 file changed, 10 insertions(+), 8 deletions(-)

diff --git a/evil-matchit-sdk.el b/evil-matchit-sdk.el
index c3bde55711..3c0cbbd09a 100644
--- a/evil-matchit-sdk.el
+++ b/evil-matchit-sdk.el
@@ -130,17 +130,17 @@ If IS-FORWARD is t, jump forward; or else jump backward."
 (defun evilmi-sdk-adjust-jumpto (is-forward rlt)
   ;; normal-state hack!
   (when (and (not (eq evil-state 'visual)) rlt is-forward)
-    (setq rlt (- rlt 1)))
-  (if evilmi-debug (message "evilmi-sdk-adjust-jumpto => %s" rlt))
+    (setq rlt (1- rlt)))
+  (if evilmi-debug (message "evilmi-sdk-adjust-jumpto => is-forward=%s rlt=%s" 
is-forward rlt))
   rlt)
 
 ;; @see 
http://emacs.stackexchange.com/questions/13222/a-elisp-function-to-jump-between-matched-pair
 (defun evilmi-sdk-jumpto-where (ff is-forward ch)
   "Non-nil ff means jumping between quotes"
-  (let* ((rlt (if ff (evilmi-sdk-the-other-quote-char ff is-forward ch)
+  (let* ((dst (if ff (evilmi-sdk-the-other-quote-char ff is-forward ch)
                 (evilmi-sdk-scan-sexps is-forward))))
-    (if evilmi-debug (message "evilmi-sdk-jumpto-where => %s" 
(evilmi-sdk-adjust-jumpto is-forward rlt)))
-    (evilmi-sdk-adjust-jumpto is-forward rlt)))
+    (if evilmi-debug (message "evilmi-sdk-jumpto-where => %s" 
(evilmi-sdk-adjust-jumpto is-forward dst)))
+    (evilmi-sdk-adjust-jumpto is-forward dst)))
 
 (defun evilmi-sdk-tweak-selected-region (font-face jump-forward)
   "Tweak selected region using FONT-FACE and JUMP-FORWARD."
@@ -158,9 +158,11 @@ If IS-FORWARD is t, jump forward; or else jump backward."
          ;; if ff is not nil, it's jump between quotes
          ;; so we should not use (scan-sexps)
          (ff (nth 1 tmp))
-         (ch (nth 2 tmp)))
-    (goto-char (evilmi-sdk-jumpto-where ff jump-forward ch))
-    (evilmi-sdk-tweak-selected-region ff jump-forward)))
+         (ch (nth 2 tmp))
+         (dst (evilmi-sdk-jumpto-where ff jump-forward ch)))
+    (when dst
+      (goto-char dst)
+      (evilmi-sdk-tweak-selected-region ff jump-forward))))
 
 (defun evilmi-sdk-strictly-type-p (crt orig)
   (or (evilmi-sdk-monogamy-p crt) (evilmi-sdk-monogamy-p orig)))

Reply via email to