summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJuri Linkov <juri@linkov.net>2019-10-28 23:55:16 +0200
committerJuri Linkov <juri@linkov.net>2019-10-28 23:55:16 +0200
commit4e3676726a64018cd4688d2669657878a2975f2c (patch)
tree228c9585d1c491a30a035f15bd7eafba29fbaa2d
parent2aed0430c7cbcab793782c6e24623f9a0a23fafa (diff)
downloademacs-4e3676726a64018cd4688d2669657878a2975f2c.tar.gz
* lisp/tab-bar.el: Check for minibuffer-depth in tab-bar-history-mode.
* lisp/tab-bar.el (tab-bar-history--pre-change): Store also minibuffer-depth. (tab-bar-history-change): Check stored minibuffer-depth for zero. (tab-bar-history-mode): Use prefix -- for internal functions.
-rw-r--r--lisp/tab-bar.el26
1 files changed, 16 insertions, 10 deletions
diff --git a/lisp/tab-bar.el b/lisp/tab-bar.el
index 1151df923b7..c4763337a25 100644
--- a/lisp/tab-bar.el
+++ b/lisp/tab-bar.el
@@ -870,17 +870,23 @@ function `tab-bar-tab-name-function'."
(defvar tab-bar-history-forward (make-hash-table)
"History of forward changes in every tab per frame.")
-(defvar tab-bar-history-pre-change nil
- "Window configuration before the current command.")
+(defvar tab-bar-history--pre-change nil
+ "Window configuration and minibuffer depth before the current command.")
-(defun tab-bar-history-pre-change ()
- (setq tab-bar-history-pre-change (current-window-configuration)))
+(defun tab-bar-history--pre-change ()
+ (setq tab-bar-history--pre-change
+ (list (current-window-configuration)
+ (minibuffer-depth))))
-(defun tab-bar-history-change ()
+(defun tab-bar--history-change ()
(when (and (not tab-bar-history-omit)
+ tab-bar-history--pre-change
+ ;; Entering the minibuffer
+ (zerop (nth 1 tab-bar-history--pre-change))
+ ;; Exiting the minibuffer
(zerop (minibuffer-depth)))
(puthash (selected-frame)
- (cons tab-bar-history-pre-change
+ (cons (nth 0 tab-bar-history--pre-change)
(gethash (selected-frame) tab-bar-history-back))
tab-bar-history-back))
(when tab-bar-history-omit
@@ -934,10 +940,10 @@ function `tab-bar-tab-name-function'."
:ascent center))
tab-bar-forward-button))
- (add-hook 'pre-command-hook 'tab-bar-history-pre-change)
- (add-hook 'window-configuration-change-hook 'tab-bar-history-change))
- (remove-hook 'pre-command-hook 'tab-bar-history-pre-change)
- (remove-hook 'window-configuration-change-hook 'tab-bar-history-change)))
+ (add-hook 'pre-command-hook 'tab-bar-history--pre-change)
+ (add-hook 'window-configuration-change-hook 'tab-bar--history-change))
+ (remove-hook 'pre-command-hook 'tab-bar-history--pre-change)
+ (remove-hook 'window-configuration-change-hook 'tab-bar--history-change)))
;;; Short aliases