[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] Changes to emacs/lisp/files.el
From: |
Stefan Monnier |
Subject: |
[Emacs-diffs] Changes to emacs/lisp/files.el |
Date: |
Mon, 28 Mar 2005 14:58:59 -0500 |
Index: emacs/lisp/files.el
diff -c emacs/lisp/files.el:1.752 emacs/lisp/files.el:1.753
*** emacs/lisp/files.el:1.752 Sat Mar 26 16:47:13 2005
--- emacs/lisp/files.el Mon Mar 28 19:58:58 2005
***************
*** 928,947 ****
(defvar find-file-default nil
"Used within `find-file-read-args'.")
(defun find-file-read-args (prompt mustmatch)
(list (let ((find-file-default
(and buffer-file-name
! (abbreviate-file-name buffer-file-name)))
! (munge-default-fun
! (lambda ()
! (setq minibuffer-default find-file-default)
! ;; Clear out this hook so it does not interfere
! ;; with any recursive minibuffer usage.
! (pop minibuffer-setup-hook)))
! (minibuffer-setup-hook
! minibuffer-setup-hook))
! (add-hook 'minibuffer-setup-hook munge-default-fun)
! (read-file-name prompt nil default-directory mustmatch))
t))
(defun find-file (filename &optional wildcards)
--- 928,958 ----
(defvar find-file-default nil
"Used within `find-file-read-args'.")
+ (defmacro minibuffer-with-setup-hook (fun &rest body)
+ "Add FUN to `minibuffer-setup-hook' while executing BODY.
+ BODY should use the minibuffer at most once.
+ Recursive uses of the minibuffer will not be affected."
+ (declare (indent 1) (debug t))
+ (let ((hook (make-symbol "setup-hook")))
+ `(let ((,hook
+ (lambda ()
+ ;; Clear out this hook so it does not interfere
+ ;; with any recursive minibuffer usage.
+ (remove-hook 'minibuffer-setup-hook ,hook)
+ (,fun))))
+ (unwind-protect
+ (progn
+ (add-hook 'minibuffer-setup-hook ,hook)
+ ,@body)
+ (remove-hook 'minibuffer-setup-hook ,hook)))))
+
(defun find-file-read-args (prompt mustmatch)
(list (let ((find-file-default
(and buffer-file-name
! (abbreviate-file-name buffer-file-name))))
! (minibuffer-with-setup-hook
! (lambda () (setq minibuffer-default find-file-default))
! (read-file-name prompt nil default-directory mustmatch)))
t))
(defun find-file (filename &optional wildcards)
- [Emacs-diffs] Changes to emacs/lisp/files.el, David Ponce, 2005/03/18
- [Emacs-diffs] Changes to emacs/lisp/files.el, Eli Zaretskii, 2005/03/19
- [Emacs-diffs] Changes to emacs/lisp/files.el, Eli Zaretskii, 2005/03/19
- [Emacs-diffs] Changes to emacs/lisp/files.el, Eli Zaretskii, 2005/03/19
- [Emacs-diffs] Changes to emacs/lisp/files.el, Juri Linkov, 2005/03/19
- [Emacs-diffs] Changes to emacs/lisp/files.el, Thien-Thi Nguyen, 2005/03/25
- [Emacs-diffs] Changes to emacs/lisp/files.el, Eli Zaretskii, 2005/03/26
- [Emacs-diffs] Changes to emacs/lisp/files.el,
Stefan Monnier <=