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 ()