From: Karl Heuer Date: Fri, 4 Sep 1998 20:43:09 +0000 (+0000) Subject: (dired-mark-files-containing-regexp): X-Git-Tag: emacs-20.4~1761 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=0b2bb4d096f59f7a0f99a3c68510b51f0a72a52c;p=emacs.git (dired-mark-files-containing-regexp): Don't use find-file; instead, insert the file in a temp buffer. --- diff --git a/lisp/dired.el b/lisp/dired.el index 19d0b104ac8..a9afa3e11e3 100644 --- a/lisp/dired.el +++ b/lisp/dired.el @@ -2165,17 +2165,20 @@ A prefix argument means to unmark them instead. (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)