* lisp/files.el (minibuffer-with-setup-hook): Evaluate the first arg eagerly.

This commit is contained in:
Stefan Monnier 2014-06-27 21:10:27 -04:00
parent 96ef7eb9eb
commit 8076b12438
2 changed files with 15 additions and 9 deletions

View file

@ -1,3 +1,7 @@
2014-06-28 Stefan Monnier <monnier@iro.umontreal.ca>
* files.el (minibuffer-with-setup-hook): Evaluate the first arg eagerly.
2014-06-26 Glenn Morris <rgm@gnu.org>
* Makefile.in (update-authors): Update for moved authors.el.
@ -15,8 +19,8 @@
2014-06-26 Daiki Ueno <ueno@gnu.org>
* emacs-lisp/package.el (package--check-signature): If
package-check-signature is allow-unsigned, don't signal error when
* emacs-lisp/package.el (package--check-signature):
If package-check-signature is allow-unsigned, don't signal error when
we can't verify signature because of missing public key
(bug#17625).
@ -34,8 +38,8 @@
* ruler-mode.el (ruler-mode-mouse-add-tab-stop)
(ruler-mode-ruler): Fix to work with nil tab-stop-list.
* progmodes/asm-mode.el (asm-calculate-indentation): Use
indent-next-tab-stop.
* progmodes/asm-mode.el (asm-calculate-indentation):
Use indent-next-tab-stop.
* indent.el (indent-accumulate-tab-stops): New function.
@ -114,8 +118,8 @@
(hif-parse-macro-arglist): Mostly new functions for supporting
argumented macro expansion.
(hif-string-concatenation, hif-stringify, hif-token-concat)
(hif-token-stringification, hif-token-concatenation): Stringification
and concatenation.
(hif-token-stringification, hif-token-concatenation):
Stringification and concatenation.
(hif-find-next-relevant): Fix comments.
(hif-ifdef-to-endif, hif-looking-at-elif, hif-hide-line): Bug fix for
some cases involving #elif.

View file

@ -1382,14 +1382,16 @@ called additional times).
This macro actually adds an auxiliary function that calls FUN,
rather than FUN itself, to `minibuffer-setup-hook'."
(declare (indent 1) (debug t))
(let ((hook (make-symbol "setup-hook")))
`(let (,hook)
(let ((hook (make-symbol "setup-hook"))
(funsym (make-symbol "fun")))
`(let ((,funsym ,fun)
,hook)
(setq ,hook
(lambda ()
;; Clear out this hook so it does not interfere
;; with any recursive minibuffer usage.
(remove-hook 'minibuffer-setup-hook ,hook)
(funcall ,fun)))
(funcall ,funsym)))
(unwind-protect
(progn
(add-hook 'minibuffer-setup-hook ,hook)