summaryrefslogtreecommitdiff
path: root/lisp/emerge.el
diff options
context:
space:
mode:
Diffstat (limited to 'lisp/emerge.el')
-rw-r--r--lisp/emerge.el23
1 files changed, 13 insertions, 10 deletions
diff --git a/lisp/emerge.el b/lisp/emerge.el
index 170a907afae..b3e411735e3 100644
--- a/lisp/emerge.el
+++ b/lisp/emerge.el
@@ -3106,18 +3106,21 @@ SPC, it is ignored; if it is anything else, it is processed as a command."
(setq name "Buffer has no file name."))
(save-window-excursion
(select-window (minibuffer-window))
- (erase-buffer)
- (insert name)
- (if (not (pos-visible-in-window-p))
- (let ((echo-keystrokes 0))
- (while (and (not (pos-visible-in-window-p))
- (> (1- (frame-height)) (window-height)))
- (enlarge-window 1))
- (let ((c (read-event)))
+ (unwind-protect
+ (progn
+ (erase-buffer)
+ (insert name)
+ (if (not (pos-visible-in-window-p))
+ (while (and (not (pos-visible-in-window-p))
+ (> (1- (frame-height)) (window-height)))
+ (enlarge-window 1)))
+ (let* ((echo-keystrokes 0)
+ (c (read-event)))
(if (not (eq c 32))
- (setq unread-command-events (list c)))))))))
+ (setq unread-command-events (list c)))))
+ (erase-buffer)))))
-;; Improved auto-save file names.
+;; Improved auto-save gfile names.
;; This function fixes many problems with the standard auto-save file names:
;; Auto-save files for non-file buffers get put in the default directory
;; for the buffer, whether that makes sense or not.