Mercurial > emacs
changeset 20275:0e102e83c51d
(isearch-yank-string): New helper function.
(isearch-yank-kill, isearch-yank-word, isearch-yank-line): Use it.
(isearch-yank-x-selection): New function.
(isearch-yank): Function deleted.
author | Karl Heuer <kwzh@gnu.org> |
---|---|
date | Tue, 18 Nov 1997 22:31:16 +0000 |
parents | faa32765fb8f |
children | b53b022d2239 |
files | lisp/isearch.el |
diffstat | 1 files changed, 30 insertions(+), 36 deletions(-) [+] |
line wrap: on
line diff
--- a/lisp/isearch.el Tue Nov 18 21:22:28 1997 +0000 +++ b/lisp/isearch.el Tue Nov 18 22:31:16 1997 +0000 @@ -944,55 +944,49 @@ (isearch-update)) -(defun isearch-yank (chunk) - ;; Helper for isearch-yank-word and isearch-yank-line - ;; CHUNK should be word, line, kill, or x-sel. - (let ((string (cond - ((eq chunk 'kill) - (current-kill 0)) - ((eq chunk 'x-sel) - (x-get-selection)) - (t - (save-excursion - (and (not isearch-forward) isearch-other-end - (goto-char isearch-other-end)) - (buffer-substring - (point) - (save-excursion - (cond - ((eq chunk 'word) - (forward-word 1)) - ((eq chunk 'line) - (end-of-line))) - (point)))))))) - ;; Downcase the string if not supposed to case-fold yanked strings. - (if (and isearch-case-fold-search - (eq 'not-yanks search-upper-case)) - (setq string (downcase string))) - (if isearch-regexp (setq string (regexp-quote string))) - (setq isearch-string (concat isearch-string string) - isearch-message - (concat isearch-message - (mapconcat 'isearch-text-char-description - string "")) - ;; Don't move cursor in reverse search. - isearch-yank-flag t)) +(defun isearch-yank-string (string) + "Pull STRING into search string." + ;; Downcase the string if not supposed to case-fold yanked strings. + (if (and isearch-case-fold-search + (eq 'not-yanks search-upper-case)) + (setq string (downcase string))) + (if isearch-regexp (setq string (regexp-quote string))) + (setq isearch-string (concat isearch-string string) + isearch-message + (concat isearch-message + (mapconcat 'isearch-text-char-description + string "")) + ;; Don't move cursor in reverse search. + isearch-yank-flag t) (isearch-search-and-update)) (defun isearch-yank-kill () "Pull string from kill ring into search string." (interactive) - (isearch-yank 'kill)) + (isearch-yank-string (current-kill 0))) + +(defun isearch-yank-x-selection () + "Pull current X selection into search string." + (interactive) + (isearch-yank-string (x-get-selection))) (defun isearch-yank-word () "Pull next word from buffer into search string." (interactive) - (isearch-yank 'word)) + (isearch-yank-string + (save-excursion + (and (not isearch-forward) isearch-other-end + (goto-char isearch-other-end)) + (buffer-substring (point) (progn (forward-word 1) (point)))))) (defun isearch-yank-line () "Pull rest of line from buffer into search string." (interactive) - (isearch-yank 'line)) + (isearch-yank-string + (save-excursion + (and (not isearch-forward) isearch-other-end + (goto-char isearch-other-end)) + (buffer-substring (point) (line-end-position))))) (defun isearch-search-and-update ()