changeset 102200:74dd2284ef3a

(dired-guess-shell-command): Use read-shell-command instead of read-from-minibuffer. (dired-read-shell-command): Add code that uses minibuffer-with-setup-hook to set minibuffer-default-add-function to minibuffer-default-add-dired-shell-commands exactly like `dired-read-shell-command' in dired-aux.el already does. Doc fix.
author Juri Linkov <juri@jurta.org>
date Sun, 22 Feb 2009 23:36:46 +0000
parents 6f66db4c1c98
children 143111f3fbb1
files lisp/dired-x.el
diffstat 1 files changed, 15 insertions(+), 11 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/dired-x.el	Sun Feb 22 21:56:25 2009 +0000
+++ b/lisp/dired-x.el	Sun Feb 22 23:36:46 2009 +0000
@@ -1187,7 +1187,7 @@
         default-list val)
     (if (null default)
         ;; Nothing to guess
-        (read-from-minibuffer prompt nil nil nil 'dired-shell-command-history)
+        (read-shell-command prompt nil 'dired-shell-command-history)
       (if (listp default)
           ;; More than one guess
           (setq default-list default
@@ -1200,24 +1200,28 @@
       ;; Put the first guess in the prompt but not in the initial value.
       (setq prompt (concat prompt (format "[%s] " default)))
       ;; All guesses can be retrieved with M-n
-      (setq val (read-from-minibuffer prompt nil nil nil
-                                      'dired-shell-command-history
-                                      default-list))
+      (setq val (read-shell-command prompt nil
+                                    'dired-shell-command-history
+                                    default-list))
       ;; If we got a return, then return default.
       (if (equal val "") default val))))
 
 ;; REDEFINE.
 ;; Redefine dired-aux.el's version:
 (defun dired-read-shell-command (prompt arg files)
-  "Read a dired shell command prompting with PROMPT (using read-string).
+  "Read a dired shell command prompting with PROMPT (using read-shell-command).
 ARG is the prefix arg and may be used to indicate in the prompt which
-  files are affected.
+FILES are affected.
 This is an extra function so that you can redefine it."
-  (dired-mark-pop-up
-   nil 'shell files
-   'dired-guess-shell-command
-   (format prompt (dired-mark-prompt arg files)) ; PROMPT
-   files))                                       ; FILES
+  (minibuffer-with-setup-hook
+      (lambda ()
+        (set (make-local-variable 'minibuffer-default-add-function)
+             'minibuffer-default-add-dired-shell-commands))
+    (dired-mark-pop-up
+     nil 'shell files
+     'dired-guess-shell-command
+     (format prompt (dired-mark-prompt arg files)) ; PROMPT
+     files)))                                      ; FILES
 
 
 ;;; RELATIVE SYMBOLIC LINKS.