commit b6d5f50bc2782829e896bfe1f9826afa6d904b48 (HEAD, refs/remotes/origin/master) Author: Juri Linkov Date: Tue May 27 21:11:22 2025 +0300 * lisp/tab-line.el: Make tab closing commands work without mouse. (tab-line--current-tab): New function. (tab-line-close-tab, tab-line-close-other-tabs): Use it when the 'event' arg doesn't originate from mouse. Suggested by pinmacs . diff --git a/lisp/tab-line.el b/lisp/tab-line.el index 0a1918a2427..5be5b921035 100644 --- a/lisp/tab-line.el +++ b/lisp/tab-line.el @@ -1083,6 +1083,13 @@ This option is useful when `tab-line-tabs-function' has the value :group 'tab-line :version "27.1") +(defun tab-line--current-tab () + "Return the current tab in the tab line." + (seq-find (lambda (tab) + (eq (if (bufferp tab) tab (alist-get 'buffer tab)) + (current-buffer))) + (funcall tab-line-tabs-function))) + (defun tab-line-close-tab (&optional event) "Close the selected tab. This command is usually invoked by clicking on the close button on the @@ -1093,7 +1100,9 @@ sight of the tab line." (let* ((posnp (and (listp event) (tab-line-event-start event))) (window (and posnp (posn-window posnp))) - (tab (tab-line--get-tab-property 'tab (car (posn-string posnp)))) + (tab (if posnp + (tab-line--get-tab-property 'tab (car (posn-string posnp))) + (tab-line--current-tab))) (buffer (if (bufferp tab) tab (cdr (assq 'buffer tab)))) (close-function (unless (bufferp tab) (cdr (assq 'close tab))))) (with-selected-window (or window (selected-window)) @@ -1119,7 +1128,9 @@ It preforms the same actions on the closed tabs as in `tab-line-close-tab'." (let* ((posnp (and (listp event) (tab-line-event-start event))) (window (and posnp (posn-window posnp))) - (keep-tab (tab-line--get-tab-property 'tab (car (posn-string posnp))))) + (keep-tab (if posnp + (tab-line--get-tab-property 'tab (car (posn-string posnp))) + (tab-line--current-tab)))) (with-selected-window (or window (selected-window)) (dolist (tab (delete keep-tab (funcall tab-line-tabs-function))) (let ((buffer (if (bufferp tab) tab (cdr (assq 'buffer tab)))) commit 5883ceedc85827041d4f1d64fd15f6b7a28d9221 Author: Eli Zaretskii Date: Tue May 27 13:50:12 2025 +0300 Fix exact matching of Ada tags by 'M-.' * lisp/progmodes/etags.el (tag-exact-match-p): Support Ada tags that have "/x" qualifiers appended to them. (Bug#78489) diff --git a/lisp/progmodes/etags.el b/lisp/progmodes/etags.el index 42057a3aacb..f14d91504af 100644 --- a/lisp/progmodes/etags.el +++ b/lisp/progmodes/etags.el @@ -1649,7 +1649,10 @@ Point should be just after a string that matches TAG." (or (and (eq (char-after (point)) ?\001) (eq (char-after (- (point) (length tag) 1)) ?\177)) ;; We are not on the explicit tag name, but perhaps it follows. - (looking-at (concat "[^\177\n]*\177" (regexp-quote tag) "\001")))) + (looking-at (concat "[^\177\n]*\177" + (regexp-quote tag) + ;; The optional "/x" part is for Ada tags. + "\\(/[fpsbtk]\\)?\001")))) ;; t if point is at a tag line that has an implicit name. ;; point should be just after a string that matches TAG. commit 93934b645bcda5cc07ead14c35615a44efae0681 Author: Martin Rudalics Date: Tue May 27 10:45:04 2025 +0200 Have 'delete-other-frames' only delete frames on same terminal (Bug#78583) * lisp/frame.el (delete-other-frames): Only delete frames on same terminal as FRAME's (Bug#78583). diff --git a/lisp/frame.el b/lisp/frame.el index 6a746023902..ec582096110 100644 --- a/lisp/frame.el +++ b/lisp/frame.el @@ -2837,12 +2837,14 @@ deleting them." (interactive "i\nP") (setq frame (window-normalize-frame frame)) (let ((minibuffer-frame (window-frame (minibuffer-window frame))) + (terminal (frame-terminal frame)) (parent (frame-parent frame)) (frames (frame-list))) ;; In a first round consider minibuffer-less frames only. (dolist (this frames) (unless (or (eq this frame) (eq this minibuffer-frame) + (not (eq (frame-terminal this) terminal)) (eq (window-frame (minibuffer-window this)) this) ;; When FRAME is a child frame, delete its siblings ;; only. @@ -2854,6 +2856,7 @@ deleting them." (dolist (this frames) (unless (or (eq this frame) (eq this minibuffer-frame) + (not (eq (frame-terminal this) terminal)) ;; When FRAME is a child frame, delete its siblings ;; only. (and parent (not (eq (frame-parent this) parent))) commit 42a002f31f0931c6ef2dedc55d20ab8ae046cbab Author: Michael Albinus Date: Tue May 27 09:20:54 2025 +0200 * test/infra/gitlab-ci.yml (.job-template): Fix config.log name. diff --git a/test/infra/gitlab-ci.yml b/test/infra/gitlab-ci.yml index 9e2868e6383..79255258aca 100644 --- a/test/infra/gitlab-ci.yml +++ b/test/infra/gitlab-ci.yml @@ -113,7 +113,7 @@ default: - 'test -n "$(docker ps -aq -f name=${test_name})" && docker cp ${test_name}:checkout/test ${test_name}' - 'test -n "$(docker ps -aq -f name=${test_name})" && - docker cp ${test_name}:checkout/configure.log ${test_name} || true' + docker cp ${test_name}:checkout/config.log ${test_name} || true' - 'test -n "$(docker ps -aq -f name=${test_name})" && docker cp ${test_name}:checkout/compatibility-report.html ${test_name} || true'