Mercurial > emacs
changeset 41648:42271b6bfe3d
(isearch-yank-internal): New helper function.
(isearch-yank-char): New function.
(isearch-yank-word, isearch-yank-line): Rewrite to use
isearch-yank-internal.
author | Karl Fogel <kfogel@red-bean.com> |
---|---|
date | Wed, 28 Nov 2001 22:34:20 +0000 |
parents | d68d97eb87a7 |
children | 41d73d9565de |
files | lisp/ChangeLog lisp/isearch.el |
diffstat | 2 files changed, 25 insertions(+), 10 deletions(-) [+] |
line wrap: on
line diff
--- a/lisp/ChangeLog Wed Nov 28 22:25:51 2001 +0000 +++ b/lisp/ChangeLog Wed Nov 28 22:34:20 2001 +0000 @@ -1,3 +1,10 @@ +2001-11-28 Karl Fogel <kfogel@red-bean.com> + + * isearch.el (isearch-yank-internal): New helper function. + (isearch-yank-char): New function. + (isearch-yank-word, isearch-yank-line): Rewrite to use + isearch-yank-internal. + 2001-11-28 Eli Zaretskii <eliz@is.elta.co.il> * mouse.el (mouse-set-font): Make it a no-op if multiple fonts
--- a/lisp/isearch.el Wed Nov 28 22:25:51 2001 +0000 +++ b/lisp/isearch.el Wed Nov 28 22:34:20 2001 +0000 @@ -1073,24 +1073,32 @@ (funcall binding click)))))) -(defun isearch-yank-word () - "Pull next word from buffer into search string." - (interactive) +(defun isearch-yank-internal (jumpform) + "Pull the text from point to the point reached by JUMPFORM. +JUMPFORM is a lambda expression that takes no arguments and returns a +buffer position, possibly having moved point to that position. For +example, it might move point forward by a word and return point, or it +might return the position of the end of the line." (isearch-yank-string (save-excursion (and (not isearch-forward) isearch-other-end (goto-char isearch-other-end)) - (buffer-substring-no-properties - (point) (progn (forward-word 1) (point)))))) + (buffer-substring-no-properties (point) (funcall jumpform))))) + +(defun isearch-yank-char () + "Pull next letter from buffer into search string." + (interactive) + (isearch-yank-internal (lambda () (forward-char 1) (point)))) + +(defun isearch-yank-word () + "Pull next word from buffer into search string." + (interactive) + (isearch-yank-internal (lambda () (forward-word 1) (point)))) (defun isearch-yank-line () "Pull rest of line from buffer into search string." (interactive) - (isearch-yank-string - (save-excursion - (and (not isearch-forward) isearch-other-end - (goto-char isearch-other-end)) - (buffer-substring-no-properties (point) (line-end-position))))) + (isearch-yank-internal (lambda () (line-end-position)))) (defun isearch-search-and-update ()