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