Mercurial > emacs
changeset 100470:4d389d6ecc7a
(minibuffer-local-isearch-map): Unbind "C-w" from
`isearch-edit-string-set-word'.
(isearch-edit-string-set-word): Remove.
(isearch-occur): Imitate the C function `wordify' by replacing
non-word character with the \\W+ regexp.
(isearch-search-fun): Add `isearch-nonincremental' to the
condition of using a non-lax version of `word-search-forward'.
author | Juri Linkov <juri@jurta.org> |
---|---|
date | Thu, 18 Dec 2008 01:16:26 +0000 |
parents | 75862ddb981c |
children | ac55019a0cb8 |
files | lisp/isearch.el |
diffstat | 1 files changed, 14 insertions(+), 17 deletions(-) [+] |
line wrap: on
line diff
--- a/lisp/isearch.el Wed Dec 17 23:28:01 2008 +0000 +++ b/lisp/isearch.el Thu Dec 18 01:16:26 2008 +0000 @@ -509,7 +509,6 @@ (define-key map "\M-\t" 'isearch-complete-edit) (define-key map "\C-s" 'isearch-forward-exit-minibuffer) (define-key map "\C-r" 'isearch-reverse-exit-minibuffer) - (define-key map "\C-w" 'isearch-edit-string-set-word) (define-key map "\C-f" 'isearch-yank-char-in-minibuffer) (define-key map [right] 'isearch-yank-char-in-minibuffer) map) @@ -1194,15 +1193,6 @@ (isearch-abort) ;; outside of let to restore outside global values ))) -;; Obsolete usage of `C-s M-e C-w'. Remove after 23.1. -(defvar isearch-new-word) -(defun isearch-edit-string-set-word () - "Do word search after exiting `isearch-edit-string'." - (interactive) - (message "This feature is obsolete since 23.1; use `M-s w' instead.") - (setq isearch-word t isearch-new-word t)) - - (defun isearch-nonincremental-exit-minibuffer () (interactive) (setq isearch-nonincremental t) @@ -1395,7 +1385,12 @@ (interactive (list (cond - (isearch-word (concat "\\b" (regexp-quote isearch-string) "\\b")) + (isearch-word (concat "\\b" (replace-regexp-in-string + "\\W+" "\\W+" + (replace-regexp-in-string + "^\\W+\\|\\W+$" "" isearch-string) + nil t) + "\\b")) (isearch-regexp isearch-string) (t (regexp-quote isearch-string))) (if current-prefix-arg (prefix-numeric-value current-prefix-arg)))) @@ -2200,12 +2195,14 @@ (funcall isearch-search-fun-function) (cond (isearch-word - ;; Use lax versions to not fail at the end of the word while the user - ;; adds and removes characters in the search string - (if (not (eq (length isearch-string) - (length (isearch-string-state (car isearch-cmds))))) - (if isearch-forward 'word-search-forward-lax 'word-search-backward-lax) - (if isearch-forward 'word-search-forward 'word-search-backward))) + ;; Use lax versions to not fail at the end of the word while + ;; the user adds and removes characters in the search string + ;; (or when using nonincremental word isearch) + (if (or isearch-nonincremental + (eq (length isearch-string) + (length (isearch-string-state (car isearch-cmds))))) + (if isearch-forward 'word-search-forward 'word-search-backward) + (if isearch-forward 'word-search-forward-lax 'word-search-backward-lax))) (isearch-regexp (if isearch-forward 're-search-forward 're-search-backward)) (t