[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

address@hidden: [patch] 21.3 find-dired.el - Add 'g' key to repeat last

From: Richard Stallman
Subject: address@hidden: [patch] 21.3 find-dired.el - Add 'g' key to repeat last find command]
Date: Fri, 21 Jan 2005 21:52:54 -0500

Providing proper support for g is more filling a gap
than adding a feature, so would someone please install this and ack?

------- Start of forwarded message -------
From: address@hidden (Jari+mail.emacs)
To: address@hidden
Date: Fri, 21 Jan 2005 10:02:42 +0200
Subject: [patch] 21.3 find-dired.el - Add 'g' key to repeat last find command
Sender: address@hidden
X-Spam-Status: No, hits=-0.5 required=5.0
X-Spam-Checker-Version: SpamAssassin 2.55 (

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  <jari dot aalto A T cante dot net>

        * 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."))))
 (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

Bug-gnu-emacs mailing list
------- End of forwarded message -------

reply via email to

[Prev in Thread] Current Thread [Next in Thread]