diff options
author | Juri Linkov <juri@linkov.net> | 2019-10-28 23:55:16 +0200 |
---|---|---|
committer | Juri Linkov <juri@linkov.net> | 2019-10-28 23:55:16 +0200 |
commit | 4e3676726a64018cd4688d2669657878a2975f2c (patch) | |
tree | 228c9585d1c491a30a035f15bd7eafba29fbaa2d | |
parent | 2aed0430c7cbcab793782c6e24623f9a0a23fafa (diff) | |
download | emacs-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.el | 26 |
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 |