diff --git a/evil-search.el b/evil-search.el index b42d924e..e26325c6 100644 --- a/evil-search.el +++ b/evil-search.el @@ -435,8 +435,8 @@ expression and is not transformed." ;; possibly transform regular expression from vim-style to ;; Emacs-style. (if (and evil-ex-search-vim-style-regexp - (not (or (string-match-p "\\`\\\\_?<" regexp) - (string-match-p "\\\\_?>\\'" regexp)))) + (not (or (string-match-p "\\`\\\\_<" regexp) + (string-match-p "\\\\_>\\'" regexp)))) (setq re (evil-transform-vim-style-regexp re)) ;; Even for Emacs regular expressions we translate certain ;; whitespace sequences diff --git a/evil-tests.el b/evil-tests.el index fbf1cd4a..e9ca224d 100644 --- a/evil-tests.el +++ b/evil-tests.el @@ -8056,6 +8056,20 @@ golf h[o]>tel"))) "start\nline 2\nline [3]\n\n" ("n") "start\nline 2\nline 3\n[]\n")) + (ert-info ("Can search for start/end of symbol") + (let ((evil-magic 'very-magic)) + (evil-test-buffer + "[a]lpha bravo bra charlie" + ("/bra\\_>" [return]) + "alpha bravo [b]ra charlie"))) + (ert-info ("Can search for literal < and >") + (let ((evil-magic 'very-magic)) + (evil-test-buffer + :visual-start "«" + :visual-end "»" + "[a]lpha bravo charlie" + ("/" [return]) + "alpha bravo [<]bravo> charlie"))) (ert-info ("Can paste from register in ex-search") (evil-test-buffer "Alpha [b]ravo charlie alpha bravo delta bravo delta"