changeset 23188:c8b236bbecad

(dired-mark-files-containing-regexp): Don't use find-file; instead, insert the file in a temp buffer.
author Karl Heuer <kwzh@gnu.org>
date Fri, 04 Sep 1998 20:43:09 +0000
parents 205f3fab9564
children ac0f6ede7b66
files lisp/dired.el
diffstat 1 files changed, 12 insertions(+), 9 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/dired.el	Fri Sep 04 20:41:33 1998 +0000
+++ b/lisp/dired.el	Fri Sep 04 20:43:09 1998 +0000
@@ -2165,17 +2165,20 @@
      (and (not (looking-at dired-re-dot))
 	  (not (eolp))			; empty line
 	  (let ((fn (dired-get-filename nil t)))
-	    (and fn (save-excursion
+	    (and fn (let ((prebuf (get-file-buffer fn)))
+		      (message "Checking %s" fn)
 		      ;; For now we do it inside emacs
 		      ;; Grep might be better if there are a lot of files
-		      (message "Checking %s" fn)
-		      (let* ((prebuf (get-file-buffer fn)))
-			(find-file fn)
-			(goto-char (point-min))
-			(prog1 
-			    (re-search-forward regexp nil t)
-			  (if (not prebuf) (kill-buffer nil))))
-		      ))))
+		      (if prebuf
+			  (with-current-buffer prebuf
+			    (save-excursion
+			      (goto-char (point-min))
+			      (re-search-forward regexp nil t)))
+			(with-temp-buffer
+			  (insert-buffer-contents fn)
+			  (goto-char (point-min))
+			  (re-search-forward regexp nil t))))
+		      )))
      "matching file")))
 
 (defun dired-flag-files-regexp (regexp)