From: Juri Linkov Date: Tue, 24 Sep 2019 21:54:36 +0000 (+0300) Subject: Small fixes. Bind [tab-line mouse-1] to mouse-select-window. X-Git-Tag: emacs-27.0.90~1328^2~4 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=848e21b0491cb0b2f8e3a59e9f5cabd7210dca5e;p=emacs.git Small fixes. Bind [tab-line mouse-1] to mouse-select-window. --- diff --git a/lisp/mouse.el b/lisp/mouse.el index e947e16d47f..83738895ebd 100644 --- a/lisp/mouse.el +++ b/lisp/mouse.el @@ -2734,6 +2734,7 @@ is copied instead of being cut." ;; versions. (global-set-key [header-line down-mouse-1] 'mouse-drag-header-line) (global-set-key [header-line mouse-1] 'mouse-select-window) +(global-set-key [tab-line mouse-1] 'mouse-select-window) ;; (global-set-key [mode-line drag-mouse-1] 'mouse-select-window) (global-set-key [mode-line down-mouse-1] 'mouse-drag-mode-line) (global-set-key [mode-line mouse-1] 'mouse-select-window) diff --git a/lisp/tab-line.el b/lisp/tab-line.el index 169f7b82042..cbe418a5a2c 100644 --- a/lisp/tab-line.el +++ b/lisp/tab-line.el @@ -260,7 +260,8 @@ using the `previous-buffer' command." (dotimes (_ (1+ (seq-position prev-buffers buffer))) (switch-to-prev-buffer window))) (t - (switch-to-buffer buffer))))) + (with-selected-window window + (switch-to-buffer buffer)))))) (defun tab-line-switch-to-prev-tab (&optional e) "Switch to the previous tab." diff --git a/src/xdisp.c b/src/xdisp.c index 0fc387b8ffb..0e18c5adbc6 100644 --- a/src/xdisp.c +++ b/src/xdisp.c @@ -2957,7 +2957,11 @@ init_iterator (struct it *it, struct window *w, else if (base_face_id == TAB_LINE_FACE_ID) row = MATRIX_TAB_LINE_ROW (w->desired_matrix); else if (base_face_id == HEADER_LINE_FACE_ID) - row = MATRIX_HEADER_LINE_ROW (w->desired_matrix); + { + /* Header line row depends on whether tab line is enabled. */ + w->desired_matrix->tab_line_p = window_wants_tab_line (w); + row = MATRIX_HEADER_LINE_ROW (w->desired_matrix); + } } /* Clear IT, and set it->object and other IT's Lisp objects to Qnil.