Merge remote-tracking branch 'origin/master' into feature/android

This commit is contained in:
Po Lu 2023-07-08 08:53:55 +08:00
commit dcf0fc2c43
2 changed files with 14 additions and 10 deletions

View file

@ -1128,7 +1128,8 @@ Each function's symbol gets added to `byte-compile-noruntime-functions'."
;; we arguably should add it to b-c-noruntime-functions,
;; but it's not clear it's worth the trouble
;; trying to recognize that case.
(unless (get f 'function-history)
(unless (or (get f 'function-history)
(assq f byte-compile-function-environment))
(push f byte-compile-noruntime-functions)))))))))))))
(defun byte-compile-eval-before-compile (form)

View file

@ -693,13 +693,18 @@ from all windows in the window configuration."
(defun tab-bar-tab-name-current ()
"Generate tab name from the buffer of the selected window."
(buffer-name (window-buffer (minibuffer-selected-window))))
;; `minibuffer-selected-window' loses its original window
;; after switching to another tab while the minibuffer was active,
;; so get the most recently used non-minibuffer window.
(buffer-name (window-buffer (or (minibuffer-selected-window)
(and (window-minibuffer-p)
(get-mru-window))))))
(defun tab-bar-tab-name-current-with-count ()
"Generate tab name from the buffer of the selected window.
Also add the number of windows in the window configuration."
(let ((count (length (window-list-1 nil 'nomini)))
(name (window-buffer (minibuffer-selected-window))))
(name (tab-bar-tab-name-current)))
(if (> count 1)
(format "%s (%d)" name count)
(format "%s" name))))
@ -726,7 +731,7 @@ to `tab-bar-tab-name-truncated'."
"Generate tab name from the buffer of the selected window.
Truncate it to the length specified by `tab-bar-tab-name-truncated-max'.
Append ellipsis `tab-bar-tab-name-ellipsis' in this case."
(let ((tab-name (buffer-name (window-buffer (minibuffer-selected-window)))))
(let ((tab-name (tab-bar-tab-name-current)))
(if (< (length tab-name) tab-bar-tab-name-truncated-max)
tab-name
(propertize (truncate-string-to-width
@ -1336,10 +1341,8 @@ inherits the current tab's `explicit-name' parameter."
This is necessary to prepare the same window configuration where
original windows were saved and will be restored. This function
is used only when `read-minibuffer-restore-windows' is non-nil."
(when (and read-minibuffer-restore-windows
tab-bar-minibuffer-restore-tab)
(tab-bar-select-tab tab-bar-minibuffer-restore-tab)
(setq tab-bar-minibuffer-restore-tab nil)))
(when tab-bar-minibuffer-restore-tab
(tab-bar-select-tab tab-bar-minibuffer-restore-tab)))
(defun tab-bar-select-tab (&optional tab-number)
"Switch to the tab by its absolute position TAB-NUMBER in the tab bar.
@ -1368,8 +1371,8 @@ Negative TAB-NUMBER counts tabs from the end of the tab bar."
(when (and read-minibuffer-restore-windows minibuffer-was-active
(not tab-bar-minibuffer-restore-tab))
(setq tab-bar-minibuffer-restore-tab (1+ from-index))
(add-hook 'minibuffer-exit-hook 'tab-bar-minibuffer-restore-tab))
(setq-local tab-bar-minibuffer-restore-tab (1+ from-index))
(add-hook 'minibuffer-exit-hook 'tab-bar-minibuffer-restore-tab nil t))
(unless (eq from-index to-index)
(let* ((from-tab (tab-bar--tab))