[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[patch] 21.3 find-dired.el - Add 'g' key to repeat last find command
From: |
Jari+mail.emacs |
Subject: |
[patch] 21.3 find-dired.el - Add 'g' key to repeat last find command |
Date: |
Fri, 21 Jan 2005 10:02:42 +0200 |
User-agent: |
Gnus/5.110003 (No Gnus v0.3) Emacs/21.3 (windows-nt) |
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."))))
+
;;;###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
- [patch] 21.3 find-dired.el - Add 'g' key to repeat last find command,
Jari+mail.emacs <=