From mboxrd@z Thu Jan 1 00:00:00 1970 Path: main.gmane.org!not-for-mail From: jari.aalto@cante.net (Jari+mail.emacs) Newsgroups: gmane.emacs.bugs Subject: [patch] 21.3 find-dired.el - Add 'g' key to repeat last find command Date: Fri, 21 Jan 2005 10:02:42 +0200 Message-ID: NNTP-Posting-Host: deer.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: sea.gmane.org 1106295744 13573 80.91.229.6 (21 Jan 2005 08:22:24 GMT) X-Complaints-To: usenet@sea.gmane.org NNTP-Posting-Date: Fri, 21 Jan 2005 08:22:24 +0000 (UTC) Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Fri Jan 21 09:22:11 2005 Return-path: Original-Received: from lists.gnu.org ([199.232.76.165]) by deer.gmane.org with esmtp (Exim 3.35 #1 (Debian)) id 1Cru3W-0000bf-00 for ; Fri, 21 Jan 2005 09:22:10 +0100 Original-Received: from localhost ([127.0.0.1] helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1CruFZ-0006A0-5A for geb-bug-gnu-emacs@m.gmane.org; Fri, 21 Jan 2005 03:34:37 -0500 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1CruEf-0005pY-Eh for bug-gnu-emacs@gnu.org; Fri, 21 Jan 2005 03:33:41 -0500 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1CruBY-0005VX-9f for bug-gnu-emacs@gnu.org; Fri, 21 Jan 2005 03:30:31 -0500 Original-Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1CruBR-0005Rr-4Y for bug-gnu-emacs@gnu.org; Fri, 21 Jan 2005 03:30:21 -0500 Original-Received: from [193.229.0.32] (helo=fep30-app.kolumbus.fi) by monty-python.gnu.org with esmtp (Exim 4.34) id 1Crtkr-00080J-VR for bug-gnu-emacs@gnu.org; Fri, 21 Jan 2005 03:02:55 -0500 Original-Received: from cante.net ([81.197.3.110]) by fep30-app.kolumbus.fi with ESMTP id <20050121080247.DBHQ19007.fep30-app.kolumbus.fi@cante.net> for ; Fri, 21 Jan 2005 10:02:47 +0200 Original-To: bug-gnu-emacs@gnu.org User-Agent: Gnus/5.110003 (No Gnus v0.3) Emacs/21.3 (windows-nt) X-BeenThere: bug-gnu-emacs@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Xref: main.gmane.org gmane.emacs.bugs:10519 X-Report-Spam: http://spam.gmane.org/gmane.emacs.bugs:10519 As with dired 'g', the results of find-dired can now be repeated. With log files and IMAP mail directories, this feature is quite useful. 2005-01-21 Fri Jari * find-dired.el (find-dired-revert): New function. (find-dir): New variable. (find-dired): Added local `revert-buffer-function' and restored key 'g' to rerun last find command. --- find-dired.el 2005-01-21 09:33:59+02 1.1 +++ find-dired.el 2005-01-21 09:56:04+02 1.2 @@ -69,9 +69,23 @@ (defvar find-args nil "Last arguments given to `find' by \\[find-dired].") +(defvar find-dir nil + "Last arguments given to `find' by \\[find-dired].") + ;; History of find-args values entered in the minibuffer. (defvar find-args-history nil) +(defun find-dired-revert (&optional ignore-auto noconfirm) + "Rerun last command `find-dired' command. +Optional arguments IGNORE-AUTO and NOCONFIRM are not used." + (interactive) + (let* ((args find-args) + (dir find-dir)) + (if (and dir args) + (find-dired dir args) + (message + "Find dired: no previous information stored to repeat find.")))) + ;;;###autoload (defun find-dired (dir args) "Run `find' and go into Dired mode on a buffer of the output. @@ -92,6 +106,7 @@ ;; Check that it's really a directory. (or (file-directory-p dir) (error "find-dired needs a directory: %s" dir)) + (setq find-dir dir) ; Save for later use (switch-to-buffer (get-buffer-create "*Find*")) ;; See if there's still a `find' running, and offer to kill @@ -124,7 +139,8 @@ ;; This really should rerun the find command, but I don't ;; have time for that. (use-local-map (append (make-sparse-keymap) (current-local-map))) - (define-key (current-local-map) "g" 'undefined) + ;; (define-key (current-local-map) "g" 'undefined) + (set (make-local-variable 'revert-buffer-function) 'find-dired-revert) ;; Set subdir-alist so that Tree Dired will work: (if (fboundp 'dired-simple-subdir-alist) ;; will work even with nested dired format (dired-nstd.el,v 1.15