(dired-guess-shell-command): Use read-shell-command
authorJuri Linkov <juri@jurta.org>
Sun, 22 Feb 2009 23:36:46 +0000 (23:36 +0000)
committerJuri Linkov <juri@jurta.org>
Sun, 22 Feb 2009 23:36:46 +0000 (23:36 +0000)
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.

lisp/dired-x.el

index 9570ecd..4b80ff8 100644 (file)
@@ -1187,7 +1187,7 @@ See `dired-guess-shell-alist-user'."
         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 @@ See `dired-guess-shell-alist-user'."
       ;; 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
 
 \f
 ;;; RELATIVE SYMBOLIC LINKS.