branch: elpa/evil-matchit
commit 937a407596a19c33e6b84b625d8fa2e436347e83
Author: Chen Bin <[email protected]>
Commit: Chen Bin <[email protected]>

    more tolerant algorithm in c/c++ v1.4.2
---
 README.org          |  2 +-
 evil-matchit-c.el   | 10 ++++------
 evil-matchit-pkg.el |  2 +-
 evil-matchit-sdk.el |  3 ++-
 evil-matchit.el     |  4 ++--
 5 files changed, 10 insertions(+), 11 deletions(-)

diff --git a/README.org b/README.org
index 7b07a83f27..8be1466935 100644
--- a/README.org
+++ b/README.org
@@ -1,4 +1,4 @@
-* evil-matchit (v1.4.1)
+* evil-matchit (v1.4.2)
 
 Vim [[http://www.vim.org/scripts/script.php?script_id=39][matchit.vim]] by 
Benji Fisher ported into Emacs.
 
diff --git a/evil-matchit-c.el b/evil-matchit-c.el
index 6b427dd57e..03ba93957d 100644
--- a/evil-matchit-c.el
+++ b/evil-matchit-c.el
@@ -29,23 +29,21 @@
 
 ;; ruby/bash/lua/vimrc
 (defvar evilmi-c-match-tags
-  '((("ifdef" "ifndef" "if") ("elif" "else")  "endif" "MONOGAMY")
+  '((("# *ifdef" "# *ifndef" "# *if") ("# *elif" "# *else")  "# *endif" 
"MONOGAMY")
     ("switch" "case" "default" "MONOGAMY")
     ))
 
 (defvar evilmi-c-extract-keyword-howtos
-  '(("^[ \t]*#[ \t]*\\([a-z]+\\)\\( .*\\| *\\)$" 1)
+  '(("^[ \t]*\\(# *[a-z]+\\)" 1)
     ("^[ \t]*\\([a-z]+\\)\\([ (:].*\\| *\\)$" 1)
     ))
 
 ;;;###autoload
 (defun evilmi-c-get-tag ()
-  (evilmi-sdk-get-tag evilmi-c-match-tags evilmi-c-extract-keyword-howtos)
-  )
+  (evilmi-sdk-get-tag evilmi-c-match-tags evilmi-c-extract-keyword-howtos))
 
 ;;;###autoload
 (defun evilmi-c-jump (rlt NUM)
-  (evilmi-sdk-jump rlt NUM evilmi-c-match-tags evilmi-c-extract-keyword-howtos)
-  )
+  (evilmi-sdk-jump rlt NUM evilmi-c-match-tags 
evilmi-c-extract-keyword-howtos))
 
 (provide 'evil-matchit-c)
diff --git a/evil-matchit-pkg.el b/evil-matchit-pkg.el
index 6df02441c3..dd43af024e 100644
--- a/evil-matchit-pkg.el
+++ b/evil-matchit-pkg.el
@@ -1,2 +1,2 @@
-(define-package "evil-matchit" "1.4.1"
+(define-package "evil-matchit" "1.4.2"
                 "Vim matchit ported into Emacs (requires EVIL)")
diff --git a/evil-matchit-sdk.el b/evil-matchit-sdk.el
index d345a1fd02..6db1f72c40 100644
--- a/evil-matchit-sdk.el
+++ b/evil-matchit-sdk.el
@@ -27,6 +27,7 @@ between '\\(' and '\\)' in regular expression.
           (if (and (string= tag-pair-status "MONOGAMY")
                    (not (= orig-row-idx cur-row-idx)))
               nil)
+
           (cond
            ((and (< orig-type 2) (= cur-type 2))
             (setq rlt (evilmi-sdk-member cur-keyword (nth 2 (nth orig-row-idx 
match-tags)))))
@@ -47,7 +48,7 @@ between '\\(' and '\\)' in regular expression.
      ((not LIST) nil)
 
      ((stringp LIST)
-      (string= LIST KEYWORD))
+      (string-match (concat "^" LIST "$") KEYWORD))
 
      ((stringp (car LIST))
       (if (string-match (concat "^" (car LIST) "$") KEYWORD) t
diff --git a/evil-matchit.el b/evil-matchit.el
index eb5a4e62a8..b4b230428b 100644
--- a/evil-matchit.el
+++ b/evil-matchit.el
@@ -4,7 +4,7 @@
 
 ;; Author: Chen Bin <[email protected]>
 ;; URL: http://github.com/redguardtoo/evil-matchit
-;; Version: 1.4.1
+;; Version: 1.4.2
 ;; Keywords: matchit vim evil
 ;; Package-Requires: ((evil "1.0.7"))
 ;;
@@ -188,7 +188,7 @@
    ))
 
 ;;;###autoload
-(defun evilmi-version() (interactive) (message "1.4.1"))
+(defun evilmi-version() (interactive) (message "1.4.2"))
 
 ;;;###autoload
 (define-minor-mode evil-matchit-mode

Reply via email to