diff --git a/lisp/window.el b/lisp/window.el index c047150413..2249b8d1d1 100644 --- a/lisp/window.el +++ b/lisp/window.el @@ -8590,15 +8590,18 @@ display-buffer-override-next-command (let* ((old-window (or (minibuffer-selected-window) (selected-window))) (new-window nil) (minibuffer-depth (minibuffer-depth)) + (clearfun (make-symbol "clear-display-buffer-overriding-action")) (action (lambda (buffer alist) (unless (> (minibuffer-depth) minibuffer-depth) (let* ((ret (funcall pre-function buffer alist)) (window (car ret)) (type (cdr ret))) (setq new-window (window--display-buffer buffer window - type alist)))))) + type alist)) + (funcall clearfun) + (setq post-function nil) + new-window)))) (command this-command) - (clearfun (make-symbol "clear-display-buffer-overriding-action")) (exitfun (lambda () (setq display-buffer-overriding-action diff --git a/lisp/vc/vc-dir.el b/lisp/vc/vc-dir.el index a86c37c24a..e9ec22c86e 100644 --- a/lisp/vc/vc-dir.el +++ b/lisp/vc/vc-dir.el @@ -1496,8 +1496,9 @@ vc-dir-bookmark-jump This implements the `handler' function interface for the record type returned by `vc-dir-bookmark-make-record'." (let* ((file (bookmark-prop-get bmk 'filename)) - (buf (save-window-excursion - (vc-dir file) (current-buffer)))) + (buf (progn + (vc-dir file) + (current-buffer)))) (bookmark-default-handler `("" (buffer . ,buf) . ,(bookmark-get-bookmark-record bmk)))))