[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] Changes to emacs/lisp/dired.el,v
From: |
Stefan Monnier |
Subject: |
[Emacs-diffs] Changes to emacs/lisp/dired.el,v |
Date: |
Tue, 29 Apr 2008 14:48:58 +0000 |
CVSROOT: /sources/emacs
Module name: emacs
Changes by: Stefan Monnier <monnier> 08/04/29 14:48:57
Index: dired.el
===================================================================
RCS file: /sources/emacs/emacs/lisp/dired.el,v
retrieving revision 1.388
retrieving revision 1.389
diff -u -b -r1.388 -r1.389
--- dired.el 27 Apr 2008 19:49:14 -0000 1.388
+++ dired.el 29 Apr 2008 14:48:57 -0000 1.389
@@ -594,12 +594,34 @@
;; If a dialog is about to be used, call read-directory-name so
;; the dialog code knows we want directories. Some dialogs can
;; only select directories or files when popped up, not both.
- (let ((default (and buffer-file-name
- (abbreviate-file-name buffer-file-name))))
- (minibuffer-with-setup-hook
- (lambda () (setq minibuffer-default default))
+ (if (next-read-file-uses-dialog-p)
(read-directory-name (format "Dired %s(directory): " str)
- nil default-directory nil))))))
+ nil default-directory nil)
+ (lexical-let ((default (and buffer-file-name
+ (abbreviate-file-name
buffer-file-name)))
+ (defdir default-directory))
+ (minibuffer-with-setup-hook
+ (lambda ()
+ (setq minibuffer-default default)
+ (setq default-directory defdir))
+ (completing-read
+ (format "Dired %s(directory): " str)
+ ;; We need a mix of read-file-name and read-directory-name
+ ;; so that completion to directories is preferred, but if
+ ;; the user wants to enter a global pattern, he can still
+ ;; use completion on filenames to help him write the
pattern.
+ ;; Essentially, we want to use
+ ;; (completion-table-with-predicate
+ ;; 'read-file-name-internal 'file-directory-p nil)
+ ;; but that doesn't work because read-file-name-internal
+ ;; does not obey its `predicate' argument.
+ (completion-table-in-turn
+ (lambda (str pred action)
+ (let ((read-file-name-predicate 'file-directory-p))
+ (complete-with-action
+ action 'read-file-name-internal str nil)))
+ 'read-file-name-internal)
+ nil nil (abbreviate-file-name defdir)
'file-name-history)))))))
;;;###autoload (define-key ctl-x-map "d" 'dired)
;;;###autoload
- [Emacs-diffs] Changes to emacs/lisp/dired.el,v, Miles Bader, 2008/04/05
- [Emacs-diffs] Changes to emacs/lisp/dired.el,v, Chong Yidong, 2008/04/06
- [Emacs-diffs] Changes to emacs/lisp/dired.el,v, Chong Yidong, 2008/04/06
- [Emacs-diffs] Changes to emacs/lisp/dired.el,v, Chong Yidong, 2008/04/06
- [Emacs-diffs] Changes to emacs/lisp/dired.el,v, Chong Yidong, 2008/04/06
- [Emacs-diffs] Changes to emacs/lisp/dired.el,v, Stefan Monnier, 2008/04/11
- [Emacs-diffs] Changes to emacs/lisp/dired.el,v, Miles Bader, 2008/04/17
- [Emacs-diffs] Changes to emacs/lisp/dired.el,v, Dan Nicolaescu, 2008/04/27
- [Emacs-diffs] Changes to emacs/lisp/dired.el,v,
Stefan Monnier <=
- [Emacs-diffs] Changes to emacs/lisp/dired.el,v, Stefan Monnier, 2008/04/29
- [Emacs-diffs] Changes to emacs/lisp/dired.el,v, Dan Nicolaescu, 2008/04/30