From 868bf43ad4c87799c5805e5930e2c4e447ce0568 Mon Sep 17 00:00:00 2001 From: "Richard M. Stallman" Date: Mon, 10 Dec 2001 20:45:27 +0000 Subject: [PATCH] (isearch-yank-word-or-char): New function. (isearch-mode-map): Bind C-w to that. --- lisp/isearch.el | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/lisp/isearch.el b/lisp/isearch.el index ca7b4af3cad..29e18be7743 100644 --- a/lisp/isearch.el +++ b/lisp/isearch.el @@ -291,7 +291,7 @@ Default value, nil, means edit the string instead." (define-key map " " 'isearch-whitespace-chars) (define-key map [?\S-\ ] 'isearch-whitespace-chars) - (define-key map "\C-w" 'isearch-yank-word) + (define-key map "\C-w" 'isearch-yank-word-or-char) (define-key map "\C-y" 'isearch-yank-line) ;; Define keys for regexp chars * ? |. @@ -1096,6 +1096,15 @@ might return the position of the end of the line." (interactive) (isearch-yank-internal (lambda () (forward-char 1) (point)))) +(defun isearch-yank-word-or-char () + "Pull next character or word from buffer into search string." + (interactive) + (isearch-yank-internal (lambda () + (if (or (= (char-syntax (or (char-after) 0)) ?w) + (= (char-syntax (or (char-after (1+ (point))) 0)) ?w)) + (forward-word 1) + (forward-char 1)) (point)))) + (defun isearch-yank-word () "Pull next word from buffer into search string." (interactive) -- 2.39.2