From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Juri Linkov Newsgroups: gmane.emacs.bugs Subject: bug#68235: 29.1.90; Switching tabs stops following process output in selected window Date: Tue, 20 Feb 2024 19:44:27 +0200 Organization: LINKOV.NET Message-ID: <86bk8bowsk.fsf@mail.linkov.net> References: <2f80855c-3bf9-4973-a484-059cdef3b8c7@gmx.at> <669371d8-7c65-4c5f-99a9-0d8298808d23@gmx.at> <86cyu5cc0p.fsf@mail.linkov.net> <868r4reoh3.fsf@mail.linkov.net> <0634c46f-db93-4492-be69-5ac6ca0102a8@gmx.at> <865xzuvdgu.fsf@mail.linkov.net> <86a5p5qv61.fsf@mail.linkov.net> <86edeg2ige.fsf@mail.linkov.net> <21dcf921-acc4-4f94-b383-8ad6d0a57c59@gmx.at> <86v87qpow0.fsf@mail.linkov.net> <4bc98faf-5ebe-4c22-8c9f-04755785fde5@gmx.at> <86wmrjl8m3.fsf@mail.linkov.net> <39fe71c5-db40-49d1-b22b-37b52ed13865@gmx.at> <86jzn6yzae.fsf@mail.linkov.net> <021bb8c2-3f2d-4746-8f04-49f43cf57d16@gmx.at> <86il2mxmxd.fsf@mail.linkov.net> <3fe7e4b4-bc9a-4303-a87f-a360765c597f@gmx.at> Mime-Version: 1.0 Content-Type: text/plain Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="14700"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/30.0.50 (x86_64-pc-linux-gnu) Cc: 68235@debbugs.gnu.org To: martin rudalics Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Tue Feb 20 18:45:57 2024 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1rcUBp-0003hZ-CW for geb-bug-gnu-emacs@m.gmane-mx.org; Tue, 20 Feb 2024 18:45:57 +0100 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1rcUBd-0005y2-UF; Tue, 20 Feb 2024 12:45:45 -0500 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1rcUBY-0005mt-Pz for bug-gnu-emacs@gnu.org; Tue, 20 Feb 2024 12:45:42 -0500 Original-Received: from debbugs.gnu.org ([2001:470:142:5::43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1rcUBY-0005gV-Gj for bug-gnu-emacs@gnu.org; Tue, 20 Feb 2024 12:45:40 -0500 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1rcUBt-0007s3-S9 for bug-gnu-emacs@gnu.org; Tue, 20 Feb 2024 12:46:01 -0500 X-Loop: help-debbugs@gnu.org Resent-From: Juri Linkov Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Tue, 20 Feb 2024 17:46:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 68235 X-GNU-PR-Package: emacs Original-Received: via spool by 68235-submit@debbugs.gnu.org id=B68235.170845115630244 (code B ref 68235); Tue, 20 Feb 2024 17:46:01 +0000 Original-Received: (at 68235) by debbugs.gnu.org; 20 Feb 2024 17:45:56 +0000 Original-Received: from localhost ([127.0.0.1]:46489 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rcUBo-0007rj-BF for submit@debbugs.gnu.org; Tue, 20 Feb 2024 12:45:56 -0500 Original-Received: from relay3-d.mail.gandi.net ([217.70.183.195]:54297) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rcUBj-0007rS-TZ for 68235@debbugs.gnu.org; Tue, 20 Feb 2024 12:45:55 -0500 Original-Received: by mail.gandi.net (Postfix) with ESMTPSA id 91BC460009; Tue, 20 Feb 2024 17:45:21 +0000 (UTC) In-Reply-To: <3fe7e4b4-bc9a-4303-a87f-a360765c597f@gmx.at> (martin rudalics's message of "Mon, 19 Feb 2024 10:42:09 +0100") X-GND-Sasl: juri@linkov.net X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Original-Sender: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Xref: news.gmane.io gmane.emacs.bugs:280346 Archived-At: > Patch attached. I now provide only one hook I called > 'window-kept-windows-functions' which is run by both > 'set-window-configuration' and 'window-state-put'. Thanks, it works nicely with (defun default-window-keep-windows (_frame windows) (dolist (quad windows) (unless (window-minibuffer-p (nth 0 quad)) (let* ((window (nth 0 quad)) (old-buffer (nth 1 quad)) (file (when (bufferp old-buffer) (buffer-file-name old-buffer))) (name (or file old-buffer)) (new-buffer (generate-new-buffer (format "*Old buffer %s*" name)))) (with-current-buffer new-buffer (set-auto-mode) (insert "This window displayed the " (if file "file" "buffer") (format " %s\n" name)) (when file (insert-button "[Restore]" 'action (lambda (_button) (set-window-buffer window (find-file-noselect file)) (set-window-point window (nth 3 quad)) (set-window-start window (nth 2 quad) t)))) (goto-char (point-min)) (setq buffer-read-only t) (set-window-buffer window new-buffer)))))) (add-hook 'window-kept-windows-functions 'default-window-keep-windows) that works even for (window-state-get nil 'writable). In this case only the old buffer name is displayed as a string. I guess there is no more data that could be extracted from buffer's writable state. > OK. But note that we now run this hook even if nothing in the window > configuration changes, typically, when calling 'read-minibuffer'. So > use it with due care Indeed, this required adding such guard: (unless (window-minibuffer-p (nth 0 quad)) > (for example, have the tab code bind it exclusively > around its calls of 'set-window-configuration'). Thanks for suggestion, will let-bind it in 'tab-bar-select-tab'.