[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] Changes to emacs/lisp/minibuffer.el,v
From: |
Stefan Monnier |
Subject: |
[Emacs-diffs] Changes to emacs/lisp/minibuffer.el,v |
Date: |
Wed, 23 Apr 2008 18:37:51 +0000 |
CVSROOT: /sources/emacs
Module name: emacs
Changes by: Stefan Monnier <monnier> 08/04/23 18:37:51
Index: minibuffer.el
===================================================================
RCS file: /sources/emacs/emacs/lisp/minibuffer.el,v
retrieving revision 1.24
retrieving revision 1.25
diff -u -b -r1.24 -r1.25
--- minibuffer.el 23 Apr 2008 18:19:54 -0000 1.24
+++ minibuffer.el 23 Apr 2008 18:37:50 -0000 1.25
@@ -834,7 +834,8 @@
;; If dir starts with user's homedir, change that to ~.
(setq dir (abbreviate-file-name dir))
;; Likewise for default-filename.
- (setq default-filename (abbreviate-file-name default-filename))
+ (if default-filename
+ (setq default-filename (abbreviate-file-name default-filename)))
(let ((insdef (cond
((and insert-default-directory (stringp dir))
(if initial
@@ -846,17 +847,25 @@
(if read-file-name-function
(funcall read-file-name-function
prompt dir default-filename mustmatch initial predicate)
- (let ((default-directory (file-name-as-directory (expand-file-name dir)))
- (completion-ignore-case read-file-name-completion-ignore-case)
+ (let ((completion-ignore-case read-file-name-completion-ignore-case)
(minibuffer-completing-file-name t)
(read-file-name-predicate (or predicate 'file-exists-p))
(add-to-history nil))
(let* ((val
(if (not (next-read-file-uses-dialog-p))
+ ;; We used to pass `dir' to `read-file-name-internal' by
+ ;; abusing the `predicate' argument. It's better to
+ ;; just use `default-directory', but in order to avoid
+ ;; changing `default-directory' in the current buffer,
+ ;; we don't let-bind it.
+ (lexical-let ((dir (file-name-as-directory
+ (expand-file-name dir))))
+ (minibuffer-with-setup-hook
+ (lambda () (setq default-directory dir))
(completing-read prompt 'read-file-name-internal
nil mustmatch insdef 'file-name-history
- default-filename)
+ default-filename)))
;; If DIR contains a file name, split it.
(let ((file (file-name-nondirectory dir)))
(when (and default-filename (not (zerop (length file))))
- [Emacs-diffs] Changes to emacs/lisp/minibuffer.el,v, (continued)
- [Emacs-diffs] Changes to emacs/lisp/minibuffer.el,v, Miles Bader, 2008/04/17
- [Emacs-diffs] Changes to emacs/lisp/minibuffer.el,v, Stefan Monnier, 2008/04/18
- [Emacs-diffs] Changes to emacs/lisp/minibuffer.el,v, Stefan Monnier, 2008/04/18
- [Emacs-diffs] Changes to emacs/lisp/minibuffer.el,v, Stefan Monnier, 2008/04/18
- [Emacs-diffs] Changes to emacs/lisp/minibuffer.el,v, Juanma Barranquero, 2008/04/20
- [Emacs-diffs] Changes to emacs/lisp/minibuffer.el,v, Stefan Monnier, 2008/04/21
- [Emacs-diffs] Changes to emacs/lisp/minibuffer.el,v, Stefan Monnier, 2008/04/21
- [Emacs-diffs] Changes to emacs/lisp/minibuffer.el,v, Juanma Barranquero, 2008/04/22
- [Emacs-diffs] Changes to emacs/lisp/minibuffer.el,v, Juri Linkov, 2008/04/22
- [Emacs-diffs] Changes to emacs/lisp/minibuffer.el,v, Stefan Monnier, 2008/04/23
- [Emacs-diffs] Changes to emacs/lisp/minibuffer.el,v,
Stefan Monnier <=
- [Emacs-diffs] Changes to emacs/lisp/minibuffer.el,v, Stefan Monnier, 2008/04/23
- [Emacs-diffs] Changes to emacs/lisp/minibuffer.el,v, Glenn Morris, 2008/04/24
- [Emacs-diffs] Changes to emacs/lisp/minibuffer.el,v, Stefan Monnier, 2008/04/25
- [Emacs-diffs] Changes to emacs/lisp/minibuffer.el,v, Juanma Barranquero, 2008/04/26
- [Emacs-diffs] Changes to emacs/lisp/minibuffer.el,v, Stefan Monnier, 2008/04/28
- [Emacs-diffs] Changes to emacs/lisp/minibuffer.el,v, Stefan Monnier, 2008/04/29
- [Emacs-diffs] Changes to emacs/lisp/minibuffer.el,v, Stefan Monnier, 2008/04/29
- [Emacs-diffs] Changes to emacs/lisp/minibuffer.el,v, Stefan Monnier, 2008/04/29
- [Emacs-diffs] Changes to emacs/lisp/minibuffer.el,v, Stefan Monnier, 2008/04/30