X-Loop: help-debbugs@HIDDEN Subject: bug#59862: quit-restore per window buffer Resent-From: Juri Linkov <juri@HIDDEN> Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> Resent-CC: bug-gnu-emacs@HIDDEN Resent-Date: Tue, 06 Dec 2022 17:35:02 +0000 Resent-Message-ID: <handler.59862.B.167034809723553 <at> debbugs.gnu.org> Resent-Sender: help-debbugs@HIDDEN X-GNU-PR-Message: report 59862 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: 59862 <at> debbugs.gnu.org X-Debbugs-Original-To: bug-gnu-emacs@HIDDEN Received: via spool by submit <at> debbugs.gnu.org id=B.167034809723553 (code B ref -1); Tue, 06 Dec 2022 17:35:02 +0000 Received: (at submit) by debbugs.gnu.org; 6 Dec 2022 17:34:57 +0000 Received: from localhost ([127.0.0.1]:44161 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1p2bqL-00067o-4w for submit <at> debbugs.gnu.org; Tue, 06 Dec 2022 12:34:57 -0500 Received: from lists.gnu.org ([209.51.188.17]:49600) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <juri@HIDDEN>) id 1p2bqK-00067i-0W for submit <at> debbugs.gnu.org; Tue, 06 Dec 2022 12:34:56 -0500 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 <juri@HIDDEN>) id 1p2bqD-0007nv-Kz for bug-gnu-emacs@HIDDEN; Tue, 06 Dec 2022 12:34:55 -0500 Received: from relay7-d.mail.gandi.net ([217.70.183.200]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from <juri@HIDDEN>) id 1p2bqB-0003Tk-3Z for bug-gnu-emacs@HIDDEN; Tue, 06 Dec 2022 12:34:49 -0500 Received: (Authenticated sender: juri@HIDDEN) by mail.gandi.net (Postfix) with ESMTPSA id D78822000A for <bug-gnu-emacs@HIDDEN>; Tue, 6 Dec 2022 17:34:42 +0000 (UTC) From: Juri Linkov <juri@HIDDEN> Organization: LINKOV.NET Date: Tue, 06 Dec 2022 19:32:05 +0200 Message-ID: <86fsds8mlm.fsf@HIDDEN> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/30.0.50 (x86_64-pc-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain Received-SPF: pass client-ip=217.70.183.200; envelope-from=juri@HIDDEN; helo=relay7-d.mail.gandi.net X-Spam_score_int: -25 X-Spam_score: -2.6 X-Spam_bar: -- X-Spam_report: (-2.6 / 5.0 requ) BAYES_00=-1.9, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H2=-0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: -1.6 (-) X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -2.6 (--) 1. C-x 4 d RET C-h C-t q q -- the bottom window is NOT deleted 2. C-x 4 d RET C-h C-t C-x k RET q -- the bottom window is deleted 3. C-x 4 d RET C-h C-n C-x k RET q -- the bottom window is NOT deleted The accidental difference between the last two is that the former uses `switch-to-buffer' whereas the latter uses `pop-to-buffer-same-window'. The root of the problem is that displaying a buffer in an existing window, or quitting a buffer in an existing window overwrites its window parameter `quit-restore', and thus invalidates the history of how the first window was displayed. A partial fix that solves only the first test case above is at least not to overwrite `quit-restore' on quitting other buffers in the same window: ``` diff --git a/lisp/window.el b/lisp/window.el index a11293d372a..e3b057599d5 100644 --- a/lisp/window.el +++ b/lisp/window.el @@ -5275,14 +5276,14 @@ quit-restore-window (set-window-prev-buffers window (append (window-prev-buffers window) (list entry)))) ;; Reset the quit-restore parameter. - (set-window-parameter window 'quit-restore nil) ;; Select old window. ;; If the previously selected window is still alive, select it. (window--quit-restore-select-window quit-restore-2)) (t ;; Show some other buffer in WINDOW and reset the quit-restore ;; parameter. - (set-window-parameter window 'quit-restore nil) ;; Make sure that WINDOW is no more dedicated. (set-window-dedicated-p window nil) ;; Try to switch to a previous buffer. Delete the window only if ``` But the proper fix for other problems would be to replace the window parameter `quit-restore' currently shared by all buffers in the same window by a stack where every window buffer should keep own quit-restore data. There is already such a stack in `window-prev-buffers', so a possible solution would be to add quit-restore data to each buffer in window-prev-buffers. Alternatively, it would be nice to have an option that would prevent overwriting the initial value of the window parameter `quit-restore', thus `quit-restore-window' could delete the window regardless of how many buffers were displayed in that window, like it does in case of dedicated windows.
Content-Disposition: inline Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-Mailer: MIME-tools 5.505 (Entity 5.505) Content-Type: text/plain; charset=utf-8 X-Loop: help-debbugs@HIDDEN From: help-debbugs@HIDDEN (GNU bug Tracking System) To: Juri Linkov <juri@HIDDEN> Subject: bug#59862: Acknowledgement (quit-restore per window buffer) Message-ID: <handler.59862.B.167034809723553.ack <at> debbugs.gnu.org> References: <86fsds8mlm.fsf@HIDDEN> X-Gnu-PR-Message: ack 59862 X-Gnu-PR-Package: emacs Reply-To: 59862 <at> debbugs.gnu.org Date: Tue, 06 Dec 2022 17:35:02 +0000 Thank you for filing a new bug report with debbugs.gnu.org. This is an automatically generated reply to let you know your message has been received. Your message is being forwarded to the package maintainers and other interested parties for their attention; they will reply in due course. Your message has been sent to the package maintainer(s): bug-gnu-emacs@HIDDEN If you wish to submit further information on this problem, please send it to 59862 <at> debbugs.gnu.org. Please do not send mail to help-debbugs@HIDDEN unless you wish to report a problem with the Bug-tracking system. --=20 59862: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=3D59862 GNU Bug Tracking System Contact help-debbugs@HIDDEN with problems
X-Loop: help-debbugs@HIDDEN Subject: bug#59862: quit-restore per window buffer Resent-From: Juri Linkov <juri@HIDDEN> Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> Resent-CC: bug-gnu-emacs@HIDDEN Resent-Date: Sun, 02 Jun 2024 06:52:01 +0000 Resent-Message-ID: <handler.59862.B59862.171731106430454 <at> debbugs.gnu.org> Resent-Sender: help-debbugs@HIDDEN X-GNU-PR-Message: followup 59862 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: 59862 <at> debbugs.gnu.org Cc: martin rudalics <rudalics@HIDDEN> Received: via spool by 59862-submit <at> debbugs.gnu.org id=B59862.171731106430454 (code B ref 59862); Sun, 02 Jun 2024 06:52:01 +0000 Received: (at 59862) by debbugs.gnu.org; 2 Jun 2024 06:51:04 +0000 Received: from localhost ([127.0.0.1]:57712 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1sDf3X-0007v8-GV for submit <at> debbugs.gnu.org; Sun, 02 Jun 2024 02:51:03 -0400 Received: from relay7-d.mail.gandi.net ([217.70.183.200]:52351) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <juri@HIDDEN>) id 1sDf3V-0007ua-8C for 59862 <at> debbugs.gnu.org; Sun, 02 Jun 2024 02:51:02 -0400 Received: by mail.gandi.net (Postfix) with ESMTPSA id F1B6C20003; Sun, 2 Jun 2024 06:50:41 +0000 (UTC) From: Juri Linkov <juri@HIDDEN> In-Reply-To: <86fsds8mlm.fsf@HIDDEN> (Juri Linkov's message of "Tue, 06 Dec 2022 19:32:05 +0200") Organization: LINKOV.NET References: <86fsds8mlm.fsf@HIDDEN> Date: Sun, 02 Jun 2024 09:45:02 +0300 Message-ID: <86ttibq1w1.fsf@HIDDEN> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/30.0.50 (x86_64-pc-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain X-GND-Sasl: juri@HIDDEN X-Spam-Score: -0.7 (/) X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.7 (-) Martin, do you agree with this? I tested this patch for a long time. > 1. C-x 4 d RET C-h C-t q q -- the bottom window is NOT deleted > 2. C-x 4 d RET C-h C-t C-x k RET q -- the bottom window is deleted > 3. C-x 4 d RET C-h C-n C-x k RET q -- the bottom window is NOT deleted > > The accidental difference between the last two is that the former uses > `switch-to-buffer' whereas the latter uses `pop-to-buffer-same-window'. > > The root of the problem is that displaying a buffer in an existing > window, or quitting a buffer in an existing window overwrites its > window parameter `quit-restore', and thus invalidates the history of > how the first window was displayed. > > A partial fix that solves only the first test case above is at least > not to overwrite `quit-restore' on quitting other buffers in the same > window: > > diff --git a/lisp/window.el b/lisp/window.el > index a11293d372a..e3b057599d5 100644 > --- a/lisp/window.el > +++ b/lisp/window.el > @@ -5275,14 +5276,14 @@ quit-restore-window > (set-window-prev-buffers > window (append (window-prev-buffers window) (list entry)))) > ;; Reset the quit-restore parameter. > - (set-window-parameter window 'quit-restore nil) > ;; Select old window. > ;; If the previously selected window is still alive, select it. > (window--quit-restore-select-window quit-restore-2)) > (t > ;; Show some other buffer in WINDOW and reset the quit-restore > ;; parameter. > - (set-window-parameter window 'quit-restore nil) > ;; Make sure that WINDOW is no more dedicated. > (set-window-dedicated-p window nil) > ;; Try to switch to a previous buffer. Delete the window only if > > But the proper fix for other problems would be to replace the window > parameter `quit-restore' currently shared by all buffers in the same window > by a stack where every window buffer should keep own quit-restore data. > There is already such a stack in `window-prev-buffers', so a possible > solution would be to add quit-restore data to each buffer > in window-prev-buffers. > > Alternatively, it would be nice to have an option that would prevent > overwriting the initial value of the window parameter `quit-restore', > thus `quit-restore-window' could delete the window regardless of > how many buffers were displayed in that window, like it does in case > of dedicated windows.
X-Loop: help-debbugs@HIDDEN Subject: bug#59862: quit-restore per window buffer Resent-From: martin rudalics <rudalics@HIDDEN> Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> Resent-CC: bug-gnu-emacs@HIDDEN Resent-Date: Mon, 03 Jun 2024 09:35:02 +0000 Resent-Message-ID: <handler.59862.B59862.171740730023964 <at> debbugs.gnu.org> Resent-Sender: help-debbugs@HIDDEN X-GNU-PR-Message: followup 59862 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Juri Linkov <juri@HIDDEN>, 59862 <at> debbugs.gnu.org Received: via spool by 59862-submit <at> debbugs.gnu.org id=B59862.171740730023964 (code B ref 59862); Mon, 03 Jun 2024 09:35:02 +0000 Received: (at 59862) by debbugs.gnu.org; 3 Jun 2024 09:35:00 +0000 Received: from localhost ([127.0.0.1]:59021 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1sE45i-0006ER-SF for submit <at> debbugs.gnu.org; Mon, 03 Jun 2024 05:34:59 -0400 Received: from mout.gmx.net ([212.227.15.15]:35363) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <rudalics@HIDDEN>) id 1sE45e-0006EB-9L for 59862 <at> debbugs.gnu.org; Mon, 03 Jun 2024 05:34:57 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmx.at; s=s31663417; t=1717407274; x=1718012074; i=rudalics@HIDDEN; bh=x7ngPJncLu2zWSPGzaonAK4KG8Qs1gRxAfZbMMlC9Ww=; h=X-UI-Sender-Class:Content-Type:Message-ID:Date:MIME-Version: Subject:To:References:From:In-Reply-To:cc: content-transfer-encoding:content-type:date:from:message-id: mime-version:reply-to:subject:to; b=io4ix7JpK3ec/Jm4EecxKDwGinyKl01/G9E9a53NMDY7v0/QSKFKUfdzrObF/ZzV Ch0mIzpyBB8duV3Ijg3zgSmgW4EovYXrxxIxEfw/ChpoKcZT43YARTYDs4wsY59nW HhmeiDOP52atsGugmYWclgIomZsBd3ncP8DZRI7EccApOpvU+d1V8AK1fThdFifh/ rCTDIyX2bagEh1A/x8Locs2S4CIHZsinFm6UNRKnIdz7qhRHGvl+wmsvuD61CcD9s IWSyOOuOHydO7bnswBlsabRfMBs69X+7YEocJL299A0zEqEsOngms7RLhlYU5OT04 yd6EGgkb+WvD1I8ALg== X-UI-Sender-Class: 724b4f7f-cbec-4199-ad4e-598c01a50d3a Received: from [192.168.31.113] ([212.95.5.29]) by mail.gmx.net (mrgmx004 [212.227.17.190]) with ESMTPSA (Nemesis) id 1MXGrE-1ryDmm0fr4-00VOJY; Mon, 03 Jun 2024 11:34:34 +0200 Content-Type: multipart/mixed; boundary="------------IC2I0Uy7drpTFuo2EwzOlvBQ" Message-ID: <8243325e-ed03-4e9e-b64f-c8225fb6dc60@HIDDEN> Date: Mon, 3 Jun 2024 11:34:33 +0200 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird References: <86fsds8mlm.fsf@HIDDEN> <86ttibq1w1.fsf@HIDDEN> Content-Language: en-US From: martin rudalics <rudalics@HIDDEN> In-Reply-To: <86ttibq1w1.fsf@HIDDEN> X-Provags-ID: V03:K1:grXd230jyaCkhefQ9m5UjFGXaqn4BtRnCTJQNy3OWT2ufg1CkzT 1A4ybSxmm1W+UzSYXwM8Oi2fc8vzqHi0mgASWuoPdV2jSiCDqKYxK6R3eVDJkggFDl6L83a g7u6XSIQ2euL51kbrRhdqB3d+9jPjEA3Zjev1wH5Zoo81Qq9qMtTBj3AgQWUkGDauC2EMqU TqayKgV3lV/vd5Me+ymkA== X-Spam-Flag: NO UI-OutboundReport: notjunk:1;M01:P0:JBgaVkSZWuY=;UtabX/FBvgBK+tgUdKmFpDcJjNa 2s0v7FYh8+6DS3593o2+wYJKG/AaTjMoAdEBwavWe1Pt6xlW+oYT07gDsl+5beiOpWijP8Dt9 tamm5coHSj6QZ393yx9l4wqoOYpzScaqXPHT6HpiKCuI06eSpnxqulSrDivfY6OVz7YcmHeZg nVbeMejbPH41Fo2rsDM67JIPUCFwJtGAz4YXgJCgKC4LYLRdHdtOaHW1Hmg+A0CkWsGbWROz1 HW4OFTIWoRrtTz+gXInFpF2OuBbblNkwKGelfcEccNUSm4C5vi6nVUtlbb6q1cGsWPCa/kXS4 52bo2QMBGAWMiMMooxd7uk9Hqg4Q73bGSwrhz5p1g8I2L8UMUYr3FozO3nUhvZxD5Dgn4C/bk 0Uki5ZbZmYc0vb4JgpImKa1FNDZsFURefQRU6kebhqEJ9QC427/kWGNPUZKrJwkM09zO+tpZC PTG16OrF2gIhcjxV+P7pbJOh0sG6f1xO38/ZWmEhtuD0vYblQQPOCtQ7k9mpCLPzu/tMMOjaj xIXD6/0SStOsnyK29VPFxeFQYMvrpyo1DDa8Qnf7dNMs0UwFegZpXpXcX4+PEb8FanQBV4jJG aKjtXtbuVtyMY+Hnz0Q3Cbkq6rTmMhSvejUXG8PQAJk3lLt7APsaCV702MWQNUodahIaOh82s hm6QQ0dCzv/ThzveDp5pdT0YgE76v1JSxa3Gr6S0qUPeV6O9gTMaD0GCpdUHjvsGP5Q4mZA9q NSim3VoULpVFX4u7tD1RMgWJrIfA2fiSbI5srkLpxuiwfSY49P0KivGiYW2aWQopqI+XjK8Nl sfYRuHFqeIs1AoMWifD265cNhKMPwp8ggbZiNdi60GhBU4GJlHNCHl4M1vddmednWy X-Spam-Score: 2.9 (++) X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: > Martin, do you agree with this? I tested this patch for a long time. > >> 1. C-x 4 d RET C-h C-t q q -- the bottom window is NOT deleted >> 2. C-x 4 d RET C-h C-t C-x k RET q -- the bottom window i [...] Content analysis details: (2.9 points, 10.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail provider (rudalics[at]gmx.at) -0.0 SPF_PASS SPF: sender matches SPF record 3.6 RCVD_IN_SBL_CSS RBL: Received via a relay in Spamhaus SBL-CSS [212.95.5.29 listed in zen.spamhaus.org] -0.7 RCVD_IN_DNSWL_LOW RBL: Sender listed at https://www.dnswl.org/, low trust [212.227.15.15 listed in list.dnswl.org] X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: 1.9 (+) X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: > Martin, do you agree with this? I tested this patch for a long time. > >> 1. C-x 4 d RET C-h C-t q q -- the bottom window is NOT deleted >> 2. C-x 4 d RET C-h C-t C-x k RET q -- the bottom window i [...] Content analysis details: (1.9 points, 10.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- 3.6 RCVD_IN_SBL_CSS RBL: Received via a relay in Spamhaus SBL-CSS [212.95.5.29 listed in zen.spamhaus.org] -0.7 RCVD_IN_DNSWL_LOW RBL: Sender listed at https://www.dnswl.org/, low trust [212.227.15.15 listed in list.dnswl.org] 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail provider (rudalics[at]gmx.at) -0.0 SPF_PASS SPF: sender matches SPF record -1.0 MAILING_LIST_MULTI Multiple indicators imply a widely-seen list manager This is a multi-part message in MIME format. --------------IC2I0Uy7drpTFuo2EwzOlvBQ Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit > Martin, do you agree with this? I tested this patch for a long time. > >> 1. C-x 4 d RET C-h C-t q q -- the bottom window is NOT deleted >> 2. C-x 4 d RET C-h C-t C-x k RET q -- the bottom window is deleted >> 3. C-x 4 d RET C-h C-n C-x k RET q -- the bottom window is NOT deleted >> >> The accidental difference between the last two is that the former uses >> `switch-to-buffer' whereas the latter uses `pop-to-buffer-same-window'. 'switch-to-buffer' leaves the 'quit-restore' parameter the way it was set up by C-x 4 d. 'pop-to-buffer-same-window' changes it to the 'reuse' type. So one fix is to have 'switch-to-buffer' record the window when it does not obey display actions and it gets the 'reuse' type as well. This way there are no more accidental differences when quitting the help buffer. >> The root of the problem is that displaying a buffer in an existing >> window, or quitting a buffer in an existing window overwrites its >> window parameter `quit-restore', and thus invalidates the history of >> how the first window was displayed. We could fix the former in 'display-buffer-record-window' by having it not overwrite an existing 'quit-restore' parameter when it displays another buffer. Then 'quit-window' would always delete the window in the scenarios above instead of showing the dir buffer. The backside is that additional information recorded by 'display-buffer-record-window' like the now selected window or window sizes would no more get recorded. >> A partial fix that solves only the first test case above is at least >> not to overwrite `quit-restore' on quitting other buffers in the same >> window: You cannot simply fix the third test in 'quit-restore-window' alone because C-x k leaves the 'quit-restore' parameter of the NEWS buffer unchanged. That's arguably a bug: When killing buffers and in some other cases we should remove the 'quit-restore' parameter. >> diff --git a/lisp/window.el b/lisp/window.el >> index a11293d372a..e3b057599d5 100644 >> --- a/lisp/window.el >> +++ b/lisp/window.el >> @@ -5275,14 +5276,14 @@ quit-restore-window >> (set-window-prev-buffers >> window (append (window-prev-buffers window) (list entry)))) >> ;; Reset the quit-restore parameter. >> - (set-window-parameter window 'quit-restore nil) Why keep it here? After all, this one has accomplished its mission so keeping it looks like an UXB to me. >> ;; Select old window. >> ;; If the previously selected window is still alive, select it. >> (window--quit-restore-select-window quit-restore-2)) >> (t >> ;; Show some other buffer in WINDOW and reset the quit-restore >> ;; parameter. >> - (set-window-parameter window 'quit-restore nil) Keeping this one looks OK. If the buffer shown in the window is not the one the parameter mentions, chances are that a 'quit-restore-window' can eventually use it in the future. >> But the proper fix for other problems would be to replace the window >> parameter `quit-restore' currently shared by all buffers in the same window >> by a stack where every window buffer should keep own quit-restore data. >> There is already such a stack in `window-prev-buffers', so a possible >> solution would be to add quit-restore data to each buffer >> in window-prev-buffers. And how would such a stack handle intertwined 'next-buffer' and 'prev-buffer' calls? Stacks are one of those things that set apart computers from human beings. >> Alternatively, it would be nice to have an option that would prevent >> overwriting the initial value of the window parameter `quit-restore', >> thus `quit-restore-window' could delete the window regardless of >> how many buffers were displayed in that window, like it does in case >> of dedicated windows. I attach a patch that tries to do that. Here it handles all scenarios you describe above. However, it's by no means trivial and requires at least _one month_ of testing on your side. I have not addressed the (eq (nth 1 quit-restore) 'tab) case in 'quit-restore-window'. You have to look into this yourself. And there might obviously be other cases missing. martin --------------IC2I0Uy7drpTFuo2EwzOlvBQ Content-Type: text/x-patch; charset=UTF-8; name="quit-restore.diff" Content-Disposition: attachment; filename="quit-restore.diff" Content-Transfer-Encoding: base64 ZGlmZiAtLWdpdCBhL2xpc3Avd2luZG93LmVsIGIvbGlzcC93aW5kb3cuZWwKaW5kZXggYjAx NGJlNmE3Y2YuLjhiNzlhODkyNzBiIDEwMDY0NAotLS0gYS9saXNwL3dpbmRvdy5lbAorKysg Yi9saXNwL3dpbmRvdy5lbApAQCAtNTEwOCw4ICs1MTA4LDggQEAgZGVsZXRlLXdpbmRvd3Mt b24KICAgKGxldCAoKGJ1ZmZlciAod2luZG93LW5vcm1hbGl6ZS1idWZmZXIgYnVmZmVyLW9y LW5hbWUpKQogCTs7IEhhbmRsZSB0aGUgImludmVydGVkIiBtZWFuaW5nIG9mIHRoZSBGUkFN RSBhcmd1bWVudCB3cnQgb3RoZXIKIAk7OyBgd2luZG93LWxpc3QtMScgYmFzZWQgZnVuY3Rp b24uCi0JKGFsbC1mcmFtZXMgKGNvbmQgKChub3QgZnJhbWUpIHQpICgoZXEgZnJhbWUgdCkg bmlsKSAodCBmcmFtZSkpKSkKLSAgICAoZG9saXN0ICh3aW5kb3cgKHdpbmRvdy1saXN0LTEg bmlsIG5pbCBhbGwtZnJhbWVzKSkKKwkoZnJhbWVzIChjb25kICgobm90IGZyYW1lKSB0KSAo KGVxIGZyYW1lIHQpIG5pbCkgKHQgZnJhbWUpKSkpCisgICAgKGRvbGlzdCAod2luZG93ICh3 aW5kb3ctbGlzdC0xIG5pbCAnbm9taW5pIGZyYW1lcykpCiAgICAgICAoaWYgKGVxICh3aW5k b3ctYnVmZmVyIHdpbmRvdykgYnVmZmVyKQogCSAgKGxldCAoKGRlbGV0YWJsZSAod2luZG93 LWRlbGV0YWJsZS1wIHdpbmRvdykpCiAgICAgICAgICAgICAgICAgKGRlZGljYXRlZCAod2lu ZG93LWRlZGljYXRlZC1wIHdpbmRvdykpKQpAQCAtNTEyMSwxMiArNTEyMSwxOCBAQCBkZWxl dGUtd2luZG93cy1vbgogCSAgICAgIDs7IERlbGV0ZSB3aW5kb3cuCiAJICAgICAgKGRlbGV0 ZS13aW5kb3cgd2luZG93KSkKIAkgICAgICh0Ci0JICAgICAgOzsgSW4gd2luZG93IHN3aXRj aCB0byBwcmV2aW91cyBidWZmZXIuCi0JICAgICAgKHNldC13aW5kb3ctZGVkaWNhdGVkLXAg d2luZG93IG5pbCkKLQkgICAgICAoc3dpdGNoLXRvLXByZXYtYnVmZmVyIHdpbmRvdyAnYnVy eSkKLSAgICAgICAgICAgICAgOzsgUmVzdG9yZSB0aGUgZGVkaWNhdGVkICdzaWRlJyBmbGFn LgotICAgICAgICAgICAgICAod2hlbiAoZXEgZGVkaWNhdGVkICdzaWRlKQotICAgICAgICAg ICAgICAgIChzZXQtd2luZG93LWRlZGljYXRlZC1wIHdpbmRvdyAnc2lkZSkpKSkpCisJICAg ICAgKHdoZW4gKGVxICh3aW5kb3ctYnVmZmVyIHdpbmRvdykgYnVmZmVyKQorCQkocXVpdC1y ZXN0b3JlLXdpbmRvdyB3aW5kb3cpKQorCSAgICAgIDs7IFJlbW92ZSBxdWl0LXJlc3RvcmUo LXByZXYpIGVudHJpZXMgdGhhdCBtZW50aW9uIEJVRkZFUi4KKwkgICAgICAobGV0ICgocXVp dC1yZXN0b3JlICh3aW5kb3ctcGFyYW1ldGVyIHdpbmRvdyAncXVpdC1yZXN0b3JlKSkKKwkJ ICAgIChxdWl0LXJlc3RvcmUtcHJldiAod2luZG93LXBhcmFtZXRlciB3aW5kb3cgJ3F1aXQt cmVzdG9yZS1wcmV2KSkpCisJCSh3aGVuIChlcSBidWZmZXIgKG50aCAzIHF1aXQtcmVzdG9y ZS1wcmV2KSkKKwkJICAoc2V0LXdpbmRvdy1wYXJhbWV0ZXIgd2luZG93ICdxdWl0LXJlc3Rv cmUtcHJldiBuaWwpKQorCQkod2hlbiAoZXEgYnVmZmVyIChudGggMyBxdWl0LXJlc3RvcmUp KQorCQkgIChzZXQtd2luZG93LXBhcmFtZXRlcgorCQkgICB3aW5kb3cgJ3F1aXQtcmVzdG9y ZSAod2luZG93LXBhcmFtZXRlciB3aW5kb3cgJ3F1aXQtcmVzdG9yZS1wcmV2KSkpKQorCSAg ICAgIDs7IFVucmVjb3JkIEJVRkZFUiBpbiB0aGlzIHdpbmRvdy4KKwkgICAgICAodW5yZWNv cmQtd2luZG93LWJ1ZmZlciB3aW5kb3cgYnVmZmVyKSkpKQogCTs7IElmIGEgd2luZG93IGRv ZXNuJ3Qgc2hvdyBCVUZGRVIsIHVucmVjb3JkIEJVRkZFUiBpbiBpdC4KIAkodW5yZWNvcmQt d2luZG93LWJ1ZmZlciB3aW5kb3cgYnVmZmVyKSkpKSkKIApAQCAtNTE0NiwxNyArNTE1Miwx OCBAQCByZXBsYWNlLWJ1ZmZlci1pbi13aW5kb3dzCiAgIChpbnRlcmFjdGl2ZSAiYkJ1ZmZl ciB0byByZXBsYWNlOiAiKQogICAobGV0ICgoYnVmZmVyICh3aW5kb3ctbm9ybWFsaXplLWJ1 ZmZlciBidWZmZXItb3ItbmFtZSkpKQogICAgIChkb2xpc3QgKHdpbmRvdyAod2luZG93LWxp c3QtMSBuaWwgbmlsIHQpKQotICAgICAgKGlmIChlcSAod2luZG93LWJ1ZmZlciB3aW5kb3cp IGJ1ZmZlcikKLSAgICAgICAgICA7OyBEZWxldGUgYSBkZWRpY2F0ZWQgd2luZG93IHVubGVz cyBpdCBpcyBhIHNpZGUgd2luZG93LgotICAgICAgICAgIChsZXQgKChkZWRpY2F0ZWQtc2lk ZSAoZXEgKHdpbmRvdy1kZWRpY2F0ZWQtcCB3aW5kb3cpICdzaWRlKSkpCi0gICAgICAgICAg ICAod2hlbiAob3IgZGVkaWNhdGVkLXNpZGUgKG5vdCAod2luZG93LS1kZWxldGUgd2luZG93 IHQgdCkpKQotICAgICAgICAgICAgICA7OyBTd2l0Y2ggdG8gYW5vdGhlciBidWZmZXIgaW4g dGhhdCB3aW5kb3cuCi0gICAgICAgICAgICAgIChzZXQtd2luZG93LWRlZGljYXRlZC1wIHdp bmRvdyBuaWwpCi0gICAgICAgICAgICAgIChpZiAoc3dpdGNoLXRvLXByZXYtYnVmZmVyIHdp bmRvdyAna2lsbCkKLSAgICAgICAgICAgICAgICAgIChhbmQgZGVkaWNhdGVkLXNpZGUgKHNl dC13aW5kb3ctZGVkaWNhdGVkLXAgd2luZG93ICdzaWRlKSkKLSAgICAgICAgICAgICAgICAo d2luZG93LS1kZWxldGUgd2luZG93IG5pbCAna2lsbCkpKSkKLQk7OyBVbnJlY29yZCBCVUZG RVIgaW4gV0lORE9XLgotCSh1bnJlY29yZC13aW5kb3ctYnVmZmVyIHdpbmRvdyBidWZmZXIp KSkpKQorICAgICAgKHdoZW4gKGVxICh3aW5kb3ctYnVmZmVyIHdpbmRvdykgYnVmZmVyKQor CShxdWl0LXJlc3RvcmUtd2luZG93IHdpbmRvdyAna2lsbCkpCisgICAgICA7OyBSZW1vdmUg cXVpdC1yZXN0b3JlKC1wcmV2KSBlbnRyaWVzIHRoYXQgbWVudGlvbiBCVUZGRVIuCisgICAg ICAobGV0ICgocXVpdC1yZXN0b3JlICh3aW5kb3ctcGFyYW1ldGVyIHdpbmRvdyAncXVpdC1y ZXN0b3JlKSkKKwkgICAgKHF1aXQtcmVzdG9yZS1wcmV2ICh3aW5kb3ctcGFyYW1ldGVyIHdp bmRvdyAncXVpdC1yZXN0b3JlLXByZXYpKSkKKwkod2hlbiAoZXEgYnVmZmVyIChudGggMyBx dWl0LXJlc3RvcmUtcHJldikpCisJICAoc2V0LXdpbmRvdy1wYXJhbWV0ZXIgd2luZG93ICdx dWl0LXJlc3RvcmUtcHJldiBuaWwpKQorCSh3aGVuIChlcSBidWZmZXIgKG50aCAzIHF1aXQt cmVzdG9yZSkpCisJICAoc2V0LXdpbmRvdy1wYXJhbWV0ZXIKKwkgICB3aW5kb3cgJ3F1aXQt cmVzdG9yZSAod2luZG93LXBhcmFtZXRlciB3aW5kb3cgJ3F1aXQtcmVzdG9yZS1wcmV2KSkp KQorICAgICAgOzsgVW5yZWNvcmQgQlVGRkVSIGluIHRoaXMgd2luZG93LgorICAgICAgKHVu cmVjb3JkLXdpbmRvdy1idWZmZXIgd2luZG93IGJ1ZmZlcikpKSkKIAogKGRlZmN1c3RvbSBx dWl0LXdpbmRvdy1ob29rIG5pbAogICAiSG9vayBydW4gYmVmb3JlIHBlcmZvcm1pbmcgYW55 IG90aGVyIGFjdGlvbnMgaW4gdGhlIGBxdWl0LXdpbmRvdycgY29tbWFuZC4iCkBAIC01MjEw LDEzICs1MjE3LDE1IEBAIHF1aXQtcmVzdG9yZS13aW5kb3cKICAgKHNldHEgd2luZG93ICh3 aW5kb3ctbm9ybWFsaXplLXdpbmRvdyB3aW5kb3cgdCkpCiAgIChsZXQqICgoYnVmZmVyICh3 aW5kb3ctYnVmZmVyIHdpbmRvdykpCiAJIChxdWl0LXJlc3RvcmUgKHdpbmRvdy1wYXJhbWV0 ZXIgd2luZG93ICdxdWl0LXJlc3RvcmUpKQorCSAocXVpdC1yZXN0b3JlLXByZXYgKHdpbmRv dy1wYXJhbWV0ZXIgd2luZG93ICdxdWl0LXJlc3RvcmUtcHJldikpCiAJIChxdWl0LXJlc3Rv cmUtMiAobnRoIDIgcXVpdC1yZXN0b3JlKSkKKwkgKHF1aXQtcmVzdG9yZS1wcmV2LTIgKG50 aCAyIHF1aXQtcmVzdG9yZS1wcmV2KSkKICAgICAgICAgIChwcmV2LWJ1ZmZlciAoY2F0Y2gg J3ByZXYtYnVmZmVyCiAgICAgICAgICAgICAgICAgICAgICAgICAoZG9saXN0IChidWYgKHdp bmRvdy1wcmV2LWJ1ZmZlcnMgd2luZG93KSkKICAgICAgICAgICAgICAgICAgICAgICAgICAg KHVubGVzcyAoZXEgKGNhciBidWYpIGJ1ZmZlcikKICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAodGhyb3cgJ3ByZXYtYnVmZmVyIChjYXIgYnVmKSkpKSkpCiAgICAgICAgICAoZGVk aWNhdGVkICh3aW5kb3ctZGVkaWNhdGVkLXAgd2luZG93KSkKLQkgcXVhZCBlbnRyeSkKKwkg cXVhZCBlbnRyeSByZXNldC1wcmV2KQogICAgIChjb25kCiAgICAgIDs7IEZpcnN0IHRyeSB0 byBkZWxldGUgZGVkaWNhdGVkIHdpbmRvd3MgdGhhdCBhcmUgbm90IHNpZGUgd2luZG93cy4K ICAgICAgKChhbmQgZGVkaWNhdGVkIChub3QgKGVxIGRlZGljYXRlZCAnc2lkZSkpCkBAIC01 MjMwLDIxICs1MjM5LDM1IEBAIHF1aXQtcmVzdG9yZS13aW5kb3cKICAgICAgIDs7IElmIHRo ZSBwcmV2aW91c2x5IHNlbGVjdGVkIHdpbmRvdyBpcyBzdGlsbCBhbGl2ZSwgc2VsZWN0IGl0 LgogICAgICAgKHdpbmRvdy0tcXVpdC1yZXN0b3JlLXNlbGVjdC13aW5kb3cgcXVpdC1yZXN0 b3JlLTIpKQogICAgICAoKGFuZCAobm90IHByZXYtYnVmZmVyKQotCSAgIChvciAoZXEgKG50 aCAxIHF1aXQtcmVzdG9yZSkgJ2ZyYW1lKQotCSAgICAgICAoYW5kIChlcSAobnRoIDEgcXVp dC1yZXN0b3JlKSAnd2luZG93KQotCQkgICAgOzsgSWYgdGhlIHdpbmRvdyBoYXMgYmVlbiBj cmVhdGVkIG9uIGFuIGV4aXN0aW5nCi0JCSAgICA7OyBmcmFtZSBhbmQgZW5kZWQgdXAgYXMg dGhlIHNvbGUgd2luZG93IG9uIHRoYXQKLQkJICAgIDs7IGZyYW1lLCBkbyBub3QgZGVsZXRl IGl0IChCdWcjMTI3NjQpLgotCQkgICAgKG5vdCAoZXEgd2luZG93IChmcmFtZS1yb290LXdp bmRvdyB3aW5kb3cpKSkpKQotCSAgIChlcSAobnRoIDMgcXVpdC1yZXN0b3JlKSBidWZmZXIp CisJICAgKG9yIChhbmQgKG9yIChlcSAobnRoIDEgcXVpdC1yZXN0b3JlKSAnZnJhbWUpCisJ CQkoYW5kIChlcSAobnRoIDEgcXVpdC1yZXN0b3JlKSAnd2luZG93KQorCQkJICAgICA7OyBJ ZiB0aGUgd2luZG93IGhhcyBiZWVuIGNyZWF0ZWQgb24gYW4KKwkJCSAgICAgOzsgZXhpc3Rp bmcgZnJhbWUgYW5kIGVuZGVkIHVwIGFzIHRoZSBzb2xlCisJCQkgICAgIDs7IHdpbmRvdyBv biB0aGF0IGZyYW1lLCBkbyBub3QgZGVsZXRlIGl0CisJCQkgICAgIDs7IChCdWcjMTI3NjQp LgorCQkJICAgICAobm90IChlcSB3aW5kb3cgKGZyYW1lLXJvb3Qtd2luZG93IHdpbmRvdykp KSkpCisJCSAgICAoZXEgKG50aCAzIHF1aXQtcmVzdG9yZSkgYnVmZmVyKSkKKwkgICAgICAg KGFuZCAob3IgKGVxIChudGggMSBxdWl0LXJlc3RvcmUtcHJldikgJ2ZyYW1lKQorCQkJKGFu ZCAoZXEgKG50aCAxIHF1aXQtcmVzdG9yZS1wcmV2KSAnd2luZG93KQorCQkJICAgICAobm90 IChlcSB3aW5kb3cgKGZyYW1lLXJvb3Qtd2luZG93IHdpbmRvdykpKSkpCisJCSAgICAoZXEg KG50aCAzIHF1aXQtcmVzdG9yZS1wcmV2KSBidWZmZXIpCisJCSAgICA7OyBVc2Ugc2VsZWN0 ZWQgd2luZG93IGZyb20gcXVpdC1yZXN0b3JlLXByZXYuCisJCSAgICAoc2V0cSBxdWl0LXJl c3RvcmUtMiBxdWl0LXJlc3RvcmUtcHJldi0yKSkpCiAJICAgOzsgRGVsZXRlIFdJTkRPVyBp ZiBwb3NzaWJsZS4KIAkgICAod2luZG93LS1kZWxldGUgd2luZG93IG5pbCAoZXEgYnVyeS1v ci1raWxsICdraWxsKSkpCiAgICAgICA7OyBJZiB0aGUgcHJldmlvdXNseSBzZWxlY3RlZCB3 aW5kb3cgaXMgc3RpbGwgYWxpdmUsIHNlbGVjdCBpdC4KICAgICAgICh3aW5kb3ctLXF1aXQt cmVzdG9yZS1zZWxlY3Qtd2luZG93IHF1aXQtcmVzdG9yZS0yKSkKLSAgICAgKChhbmQgKGxp c3RwIChzZXRxIHF1YWQgKG50aCAxIHF1aXQtcmVzdG9yZSkpKQotCSAgIChidWZmZXItbGl2 ZS1wIChjYXIgcXVhZCkpCi0JICAgKGVxIChudGggMyBxdWl0LXJlc3RvcmUpIGJ1ZmZlcikp Ci0gICAgICA7OyBTaG93IGFub3RoZXIgYnVmZmVyIHN0b3JlZCBpbiBxdWl0LXJlc3RvcmUg cGFyYW1ldGVyLgorICAgICAoKG9yIChhbmQgKGxpc3RwIChzZXRxIHF1YWQgKG50aCAxIHF1 aXQtcmVzdG9yZSkpKQorCSAgICAgICAoYnVmZmVyLWxpdmUtcCAoY2FyIHF1YWQpKQorCSAg ICAgICAoZXEgKG50aCAzIHF1aXQtcmVzdG9yZSkgYnVmZmVyKSkKKwkgIChhbmQgKGxpc3Rw IChzZXRxIHF1YWQgKG50aCAxIHF1aXQtcmVzdG9yZS1wcmV2KSkpCisJICAgICAgIChidWZm ZXItbGl2ZS1wIChjYXIgcXVhZCkpCisJICAgICAgIChlcSAobnRoIDMgcXVpdC1yZXN0b3Jl LXByZXYpIGJ1ZmZlcikKKwkgICAgICAgOzsgVXNlIHNlbGVjdGVkIHdpbmRvdyBmcm9tIHF1 aXQtcmVzdG9yZS1wcmV2LgorCSAgICAgICAoc2V0cSBxdWl0LXJlc3RvcmUtMiBxdWl0LXJl c3RvcmUtcHJldi0yKQorCSAgICAgICA7OyBXZSB3YW50IHRvIHJlc2V0IHF1aXQtcmVzdG9y ZS1wcmV2IG9ubHkuCisJICAgICAgIChzZXRxIHJlc2V0LXByZXYgdCkpKQorICAgICAgOzsg U2hvdyBhbm90aGVyIGJ1ZmZlciBzdG9yZWQgaW4gcXVpdC1yZXN0b3JlKC1wcmV2KSBwYXJh bWV0ZXIuCiAgICAgICAod2hlbiAoYW5kIChpbnRlZ2VycCAobnRoIDMgcXVhZCkpCiAJCSAo aWYgKHdpbmRvdy1jb21iaW5lZC1wIHdpbmRvdykKICAgICAgICAgICAgICAgICAgICAgICgv PSAobnRoIDMgcXVhZCkgKHdpbmRvdy10b3RhbC1oZWlnaHQgd2luZG93KSkKQEAgLTUyODEs MTUgKzUzMDQsMTUgQEAgcXVpdC1yZXN0b3JlLXdpbmRvdwogCTs7IGBkaXNwbGF5LWJ1ZmZl ci1pbi1wcmV2aW91cy13aW5kb3cnIGNhbiBuZXZlcnRoZWxlc3MgZmluZCBpdC4KIAkoc2V0 LXdpbmRvdy1wcmV2LWJ1ZmZlcnMKIAkgd2luZG93IChhcHBlbmQgKHdpbmRvdy1wcmV2LWJ1 ZmZlcnMgd2luZG93KSAobGlzdCBlbnRyeSkpKSkKLSAgICAgIDs7IFJlc2V0IHRoZSBxdWl0 LXJlc3RvcmUgcGFyYW1ldGVyLgotICAgICAgKHNldC13aW5kb3ctcGFyYW1ldGVyIHdpbmRv dyAncXVpdC1yZXN0b3JlIG5pbCkKKyAgICAgIDs7IFJlc2V0IHRoZSBxdWl0LXJlc3RvcmUo LXByZXYpIHBhcmFtZXRlci4KKyAgICAgIChzZXQtd2luZG93LXBhcmFtZXRlcgorICAgICAg IHdpbmRvdyAoaWYgcmVzZXQtcHJldiAncXVpdC1yZXN0b3JlLXByZXYgJ3F1aXQtcmVzdG9y ZSkgbmlsKQogICAgICAgOzsgU2VsZWN0IG9sZCB3aW5kb3cuCiAgICAgICA7OyBJZiB0aGUg cHJldmlvdXNseSBzZWxlY3RlZCB3aW5kb3cgaXMgc3RpbGwgYWxpdmUsIHNlbGVjdCBpdC4K ICAgICAgICh3aW5kb3ctLXF1aXQtcmVzdG9yZS1zZWxlY3Qtd2luZG93IHF1aXQtcmVzdG9y ZS0yKSkKICAgICAgKHQKLSAgICAgIDs7IFNob3cgc29tZSBvdGhlciBidWZmZXIgaW4gV0lO RE9XIGFuZCByZXNldCB0aGUgcXVpdC1yZXN0b3JlCi0gICAgICA7OyBwYXJhbWV0ZXIuCi0g ICAgICAoc2V0LXdpbmRvdy1wYXJhbWV0ZXIgd2luZG93ICdxdWl0LXJlc3RvcmUgbmlsKQor ICAgICAgOzsgU2hvdyBzb21lIG90aGVyIGJ1ZmZlciBpbiBXSU5ET1cgYW5kIGxlYXZlIHRo ZQorICAgICAgOzsgcXVpdC1yZXN0b3JlKC1wcmV2KSBwYXJhbWV0ZXJzIGFsb25lIChKdXJp J3MgaWRlYSkuCiAgICAgICA7OyBNYWtlIHN1cmUgdGhhdCBXSU5ET1cgaXMgbm8gbW9yZSBk ZWRpY2F0ZWQuCiAgICAgICAoc2V0LXdpbmRvdy1kZWRpY2F0ZWQtcCB3aW5kb3cgbmlsKQog ICAgICAgOzsgVHJ5IHRvIHN3aXRjaCB0byBhIHByZXZpb3VzIGJ1ZmZlci4gIERlbGV0ZSB0 aGUgd2luZG93IG9ubHkgaWYKQEAgLTUyOTcsMTAgKzUzMjAsNyBAQCBxdWl0LXJlc3RvcmUt d2luZG93CiAgICAgICAoaWYgKHN3aXRjaC10by1wcmV2LWJ1ZmZlciB3aW5kb3cgYnVyeS1v ci1raWxsKQogICAgICAgICAgICh3aGVuIChlcSBkZWRpY2F0ZWQgJ3NpZGUpCiAgICAgICAg ICAgICAoc2V0LXdpbmRvdy1kZWRpY2F0ZWQtcCB3aW5kb3cgJ3NpZGUpKQotICAgICAgICAo d2luZG93LS1kZWxldGUgd2luZG93IG5pbCAoZXEgYnVyeS1vci1raWxsICdraWxsKSkKLSAg ICAgIDs7IElmIHRoZSBwcmV2aW91c2x5IHNlbGVjdGVkIHdpbmRvdyBpcyBzdGlsbCBhbGl2 ZSwgc2VsZWN0IGl0LgotICAgICAgKHdpbmRvdy0tcXVpdC1yZXN0b3JlLXNlbGVjdC13aW5k b3cgcXVpdC1yZXN0b3JlLTIpKSkpCi0KKyAgICAgICAgKHdpbmRvdy0tZGVsZXRlIHdpbmRv dyBuaWwgKGVxIGJ1cnktb3Ita2lsbCAna2lsbCkpKSkpCiAgICAgOzsgRGVhbCB3aXRoIHRo ZSBidWZmZXIuCiAgICAgKGNvbmQKICAgICAgKChub3QgKGJ1ZmZlci1saXZlLXAgYnVmZmVy KSkpCkBAIC01MzQyLDEyICs1MzYyLDIwIEBAIHF1aXQtd2luZG93cy1vbgogICAobGV0ICgo YnVmZmVyICh3aW5kb3ctbm9ybWFsaXplLWJ1ZmZlciBidWZmZXItb3ItbmFtZSkpCiAJOzsg SGFuZGxlIHRoZSAiaW52ZXJ0ZWQiIG1lYW5pbmcgb2YgdGhlIEZSQU1FIGFyZ3VtZW50IHdy dCBvdGhlcgogCTs7IGB3aW5kb3ctbGlzdC0xJyBiYXNlZCBmdW5jdGlvbi4KLQkoYWxsLWZy YW1lcyAoY29uZCAoKG5vdCBmcmFtZSkgdCkgKChlcSBmcmFtZSB0KSBuaWwpICh0IGZyYW1l KSkpKQotICAgIChkb2xpc3QgKHdpbmRvdyAod2luZG93LWxpc3QtMSBuaWwgbmlsIGFsbC1m cmFtZXMpKQotICAgICAgKGlmIChlcSAod2luZG93LWJ1ZmZlciB3aW5kb3cpIGJ1ZmZlcikK LQkgIChxdWl0LXdpbmRvdyBraWxsIHdpbmRvdykKLQk7OyBJZiBhIHdpbmRvdyBkb2Vzbid0 IHNob3cgQlVGRkVSLCB1bnJlY29yZCBCVUZGRVIgaW4gaXQuCi0JKHVucmVjb3JkLXdpbmRv dy1idWZmZXIgd2luZG93IGJ1ZmZlcikpKSkpCisJKGZyYW1lcyAoY29uZCAoKG5vdCBmcmFt ZSkgdCkgKChlcSBmcmFtZSB0KSBuaWwpICh0IGZyYW1lKSkpKQorICAgIChkb2xpc3QgKHdp bmRvdyAod2luZG93LWxpc3QtMSBuaWwgbmlsIGZyYW1lcykpCisgICAgICAod2hlbiAoZXEg KHdpbmRvdy1idWZmZXIgd2luZG93KSBidWZmZXIpCisJKHF1aXQtcmVzdG9yZS13aW5kb3cg d2luZG93IGtpbGwpKQorICAgICAgOzsgUmVtb3ZlIHF1aXQtcmVzdG9yZSgtcHJldikgZW50 cmllcyB0aGF0IG1lbnRpb24gQlVGRkVSLgorICAgICAgKGxldCAoKHF1aXQtcmVzdG9yZSAo d2luZG93LXBhcmFtZXRlciB3aW5kb3cgJ3F1aXQtcmVzdG9yZSkpCisJICAgIChxdWl0LXJl c3RvcmUtcHJldiAod2luZG93LXBhcmFtZXRlciB3aW5kb3cgJ3F1aXQtcmVzdG9yZS1wcmV2 KSkpCisJKHdoZW4gKGVxIGJ1ZmZlciAobnRoIDMgcXVpdC1yZXN0b3JlLXByZXYpKQorCSAg KHNldC13aW5kb3ctcGFyYW1ldGVyIHdpbmRvdyAncXVpdC1yZXN0b3JlLXByZXYgbmlsKSkK Kwkod2hlbiAoZXEgYnVmZmVyIChudGggMyBxdWl0LXJlc3RvcmUpKQorCSAgKHNldC13aW5k b3ctcGFyYW1ldGVyCisJICAgd2luZG93ICdxdWl0LXJlc3RvcmUgKHdpbmRvdy1wYXJhbWV0 ZXIgd2luZG93ICdxdWl0LXJlc3RvcmUtcHJldikpKSkKKyAgICAgIDs7IFVucmVjb3JkIEJV RkZFUiBpbiB0aGlzIHdpbmRvdy4KKyAgICAgICh1bnJlY29yZC13aW5kb3ctYnVmZmVyIHdp bmRvdyBidWZmZXIpKSkpCiAMCiAoZGVmdW4gd2luZG93LS1jb21iaW5hdGlvbi1yZXNpemFi bGUgKHBhcmVudCAmb3B0aW9uYWwgaG9yaXpvbnRhbCkKICAgIlJldHVybiBudW1iZXIgb2Yg cGl4ZWxzIHJlY292ZXJhYmxlIGZyb20gaGVpZ2h0IG9mIHdpbmRvdyBQQVJFTlQuCkBAIC02 NjczLDcgKzY3MDEsNyBAQCBkaXNwbGF5LWJ1ZmZlci1yZWNvcmQtd2luZG93CiAgICAgICA7 OyBXSU5ET1cgc2hvd3MgYW5vdGhlciBidWZmZXIuCiAgICAgICAod2l0aC1jdXJyZW50LWJ1 ZmZlciAod2luZG93LWJ1ZmZlciB3aW5kb3cpCiAJKHNldC13aW5kb3ctcGFyYW1ldGVyCi0J IHdpbmRvdyAncXVpdC1yZXN0b3JlCisJIHdpbmRvdyAncXVpdC1yZXN0b3JlLXByZXYKIAkg KGxpc3QgJ290aGVyCiAJICAgICAgIDs7IEEgcXVhZHJ1cGxlIG9mIFdJTkRPVydzIGJ1ZmZl ciwgc3RhcnQsIHBvaW50IGFuZCBoZWlnaHQuCiAJICAgICAgIChsaXN0IChjdXJyZW50LWJ1 ZmZlcikgKHdpbmRvdy1zdGFydCB3aW5kb3cpCg== --------------IC2I0Uy7drpTFuo2EwzOlvBQ--
X-Loop: help-debbugs@HIDDEN Subject: bug#59862: quit-restore per window buffer Resent-From: martin rudalics <rudalics@HIDDEN> Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> Resent-CC: bug-gnu-emacs@HIDDEN Resent-Date: Mon, 03 Jun 2024 09:55:03 +0000 Resent-Message-ID: <handler.59862.B59862.171740844525766 <at> debbugs.gnu.org> Resent-Sender: help-debbugs@HIDDEN X-GNU-PR-Message: followup 59862 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Juri Linkov <juri@HIDDEN>, 59862 <at> debbugs.gnu.org Received: via spool by 59862-submit <at> debbugs.gnu.org id=B59862.171740844525766 (code B ref 59862); Mon, 03 Jun 2024 09:55:03 +0000 Received: (at 59862) by debbugs.gnu.org; 3 Jun 2024 09:54:05 +0000 Received: from localhost ([127.0.0.1]:59030 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1sE4OC-0006hV-HZ for submit <at> debbugs.gnu.org; Mon, 03 Jun 2024 05:54:05 -0400 Received: from mout.gmx.net ([212.227.15.19]:34885) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <rudalics@HIDDEN>) id 1sE4O7-0006gz-UM for 59862 <at> debbugs.gnu.org; Mon, 03 Jun 2024 05:54:03 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmx.at; s=s31663417; t=1717408420; x=1718013220; i=rudalics@HIDDEN; bh=J6RK1wMwEWlVp3K8WQgcImdOTbtpHBXoyYDN2GsswJg=; h=X-UI-Sender-Class:Content-Type:Message-ID:Date:MIME-Version: Subject:From:To:References:In-Reply-To:cc: content-transfer-encoding:content-type:date:from:message-id: mime-version:reply-to:subject:to; b=StO+6+YaaTtQIuRf/S7Ij5OqkKaEwAkhhEIKOYD6TSFFiVATyksEhED88t0kH3B8 9gi3YGu19rMzwUFMIFz8+0DEAtBBvsTsyLcn5DjfTCsafin4rvd8KS6Y9as1OFvIw okXmzOkV2ZUNlAoqAl/PIJiZzhJkZtn++nQ+B+KoBiHgi9PyKELH+jtm57+hZYuT5 0VoG1dYZPXQ3ztQM3iSzYQOPxdP40xW7bzewKK7FeVTrpTiTtdt3yBYkEKmVhpgYd XwDfbMUVbKDfQjZsF06eiT6ENaI/HNRfQEj0kPBMf+SVDkfYd04no8dbBRsAHA49p YuS4ONqFXZ9Ap1bz4Q== X-UI-Sender-Class: 724b4f7f-cbec-4199-ad4e-598c01a50d3a Received: from [192.168.31.113] ([212.95.5.29]) by mail.gmx.net (mrgmx004 [212.227.17.190]) with ESMTPSA (Nemesis) id 1MTAFh-1s2MPr0WWl-00RHjT; Mon, 03 Jun 2024 11:53:40 +0200 Content-Type: multipart/mixed; boundary="------------tmLxt90jOBkUU93V5IoK7Iy0" Message-ID: <18173da7-32e1-4f14-bbea-9a8fa66af7dd@HIDDEN> Date: Mon, 3 Jun 2024 11:53:39 +0200 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird From: martin rudalics <rudalics@HIDDEN> References: <86fsds8mlm.fsf@HIDDEN> <86ttibq1w1.fsf@HIDDEN> <8243325e-ed03-4e9e-b64f-c8225fb6dc60@HIDDEN> Content-Language: en-US In-Reply-To: <8243325e-ed03-4e9e-b64f-c8225fb6dc60@HIDDEN> X-Provags-ID: V03:K1:mKnE0wEV0VetjjH9QppUk0Ls2IMlOwqLpwbTnB1HWMvIrf7e9cj 9MU8iJJfihvv748fEErlO3iHFhtJ1iY+B7bmzc3l4BqRw+Q2VPE3BZnF593AS25UuhoBR7v 0S4+SEFwYvPkUsP4UeQGuH+YFUI83ygtRQL09uCWF729OZZKkLEDNu+ArRAnesUO2LMha1/ umN/Sx6xY7Jqzkcn7kRvg== X-Spam-Flag: NO UI-OutboundReport: notjunk:1;M01:P0:++0FRSCTpME=;GOVC76IGa8escn90+zkfe610i5Y UNVeK0zIZgqQM5Pwbyi9KhCfp0lPyDwX0FGfcfiTEMSP5/g19WU4qXTES8WIN/RFpW9nS8lgw 55JfWKBnkNd7JAL2XPiz07rcXJY8GHTTlyEHiXtbgE3FtrFj4MZxjm42tEHkaoILI5bT/lWgW bdo0m4Ud+48yWqWsOxE+AnJoG+oA3Hb1Oepx0QplY0sNVuVuBNb10Jj3oYE/OKCr5wd8QmFPA lW8IQJRHcPMe9MJr3cKCnxmsNkbFYJOE8ZTkcxsPc5knEvoDm00McY1/xsiAoqXreF+xInuFh MaUurBBZ0C0PgLex7iCXoWNob9pG6ZzL5yyoJx+uHugwhkoR0GJuwBBFBP2worGYHaJlOj7oX Ru2o2FD8oQg9g3Uw5fn3rsZWKajMCpnERwhxJp83NooT+8TFJl/PSzBajnBK/aTzLuzBM2ZMc f3cuGYiuQfWpQFi+jtimzaNuz+9nowLP1bYvQZckpv67snIHb5NmjabYGDyWvmjJGdcDwNQqE d7C+QZI4ytfHxv0RJZLFo1zt+Ay0N52f+T9uo9iXV+GETaRFGMa4xwI/uUXEkwJRmvXV+XxWQ 2fjZGa0wMkEwm/1dgUFPDKBFrUmz+y5z8s7jEtuCBUSJe3MtMPRzOv8hKPbxEuLY8h7s0BJ3E +smtAtVKpHprpQTMNjiVTfCYx/PHmMF5salZ/aECjg41Qh1v0IN3lPeyaSW9cPAFT13P9KCtX 7AT5Y28Ln2Lb2YrStw/V1/ItpGvgV2n7vMsIbBilH61Ii9cAJkkspAj/lZQEfw8CYquOqdt9A HDv/3BuC8kTqhD4RymS6N5scdKw0hWy5DTs8FYM09AtRS9RtwA7wu98o+et2S+WyUk X-Spam-Score: 2.9 (++) X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: The patch had an all to obvious bug when killing a buffer. Try the one attached here instead. But I have to think for a better solution in 'replace-buffer-in-windows'. martin diff --git a/lisp/window.el b/lisp/window.el index b014be6a7cf..ae30c50cddb 100644 --- a/lisp/window.el +++ b/lisp/window.el @@ -4522,10 +4522,11 @@ unrecord-window-buffer WINDOW." (let* ((wind [...] Content analysis details: (2.9 points, 10.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- 3.6 RCVD_IN_SBL_CSS RBL: Received via a relay in Spamhaus SBL-CSS [212.95.5.29 listed in zen.spamhaus.org] 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail provider (rudalics[at]gmx.at) -0.0 SPF_PASS SPF: sender matches SPF record -0.7 RCVD_IN_DNSWL_LOW RBL: Sender listed at https://www.dnswl.org/, low trust [212.227.15.19 listed in list.dnswl.org] X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: 1.9 (+) X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: The patch had an all to obvious bug when killing a buffer. Try the one attached here instead. But I have to think for a better solution in 'replace-buffer-in-windows'. martin diff --git a/lisp/window.el b/lisp/window.el index b014be6a7cf..ae30c50cddb 100644 --- a/lisp/window.el +++ b/lisp/window.el @@ -4522,10 +4522,11 @@ unrecord-window-buffer WINDOW." (let* ((wind [...] Content analysis details: (1.9 points, 10.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- 3.6 RCVD_IN_SBL_CSS RBL: Received via a relay in Spamhaus SBL-CSS [212.95.5.29 listed in zen.spamhaus.org] -0.7 RCVD_IN_DNSWL_LOW RBL: Sender listed at https://www.dnswl.org/, low trust [212.227.15.19 listed in list.dnswl.org] 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail provider (rudalics[at]gmx.at) -0.0 SPF_PASS SPF: sender matches SPF record -1.0 MAILING_LIST_MULTI Multiple indicators imply a widely-seen list manager This is a multi-part message in MIME format. --------------tmLxt90jOBkUU93V5IoK7Iy0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit The patch had an all to obvious bug when killing a buffer. Try the one attached here instead. But I have to think for a better solution in 'replace-buffer-in-windows'. martin --------------tmLxt90jOBkUU93V5IoK7Iy0 Content-Type: text/x-patch; charset=UTF-8; name="quit-restore.diff" Content-Disposition: attachment; filename="quit-restore.diff" Content-Transfer-Encoding: base64 ZGlmZiAtLWdpdCBhL2xpc3Avd2luZG93LmVsIGIvbGlzcC93aW5kb3cuZWwKaW5kZXggYjAx NGJlNmE3Y2YuLmFlMzBjNTBjZGRiIDEwMDY0NAotLS0gYS9saXNwL3dpbmRvdy5lbAorKysg Yi9saXNwL3dpbmRvdy5lbApAQCAtNDUyMiwxMCArNDUyMiwxMSBAQCB1bnJlY29yZC13aW5k b3ctYnVmZmVyCiBXSU5ET1cuIgogICAobGV0KiAoKHdpbmRvdyAod2luZG93LW5vcm1hbGl6 ZS13aW5kb3cgd2luZG93IHQpKQogCSAoYnVmZmVyIChvciBidWZmZXIgKHdpbmRvdy1idWZm ZXIgd2luZG93KSkpKQotICAgIChzZXQtd2luZG93LXByZXYtYnVmZmVycwotICAgICB3aW5k b3cgKGFzc3EtZGVsZXRlLWFsbCBidWZmZXIgKHdpbmRvdy1wcmV2LWJ1ZmZlcnMgd2luZG93 KSkpCi0gICAgKHNldC13aW5kb3ctbmV4dC1idWZmZXJzCi0gICAgIHdpbmRvdyAoZGVscSBi dWZmZXIgKHdpbmRvdy1uZXh0LWJ1ZmZlcnMgd2luZG93KSkpKSkKKyAgICAod2hlbiAoYnVm ZmVyLWxpdmUtcCBidWZmZXIpCisgICAgICAoc2V0LXdpbmRvdy1wcmV2LWJ1ZmZlcnMKKyAg ICAgICB3aW5kb3cgKGFzc3EtZGVsZXRlLWFsbCBidWZmZXIgKHdpbmRvdy1wcmV2LWJ1ZmZl cnMgd2luZG93KSkpCisgICAgICAoc2V0LXdpbmRvdy1uZXh0LWJ1ZmZlcnMKKyAgICAgICB3 aW5kb3cgKGRlbHEgYnVmZmVyICh3aW5kb3ctbmV4dC1idWZmZXJzIHdpbmRvdykpKSkpKQog CiAoZGVmdW4gc2V0LXdpbmRvdy1idWZmZXItc3RhcnQtYW5kLXBvaW50ICh3aW5kb3cgYnVm ZmVyICZvcHRpb25hbCBzdGFydCBwb2ludCkKICAgIlNldCBXSU5ET1cncyBidWZmZXIgdG8g QlVGRkVSLgpAQCAtNTEwOCw4ICs1MTA5LDggQEAgZGVsZXRlLXdpbmRvd3Mtb24KICAgKGxl dCAoKGJ1ZmZlciAod2luZG93LW5vcm1hbGl6ZS1idWZmZXIgYnVmZmVyLW9yLW5hbWUpKQog CTs7IEhhbmRsZSB0aGUgImludmVydGVkIiBtZWFuaW5nIG9mIHRoZSBGUkFNRSBhcmd1bWVu dCB3cnQgb3RoZXIKIAk7OyBgd2luZG93LWxpc3QtMScgYmFzZWQgZnVuY3Rpb24uCi0JKGFs bC1mcmFtZXMgKGNvbmQgKChub3QgZnJhbWUpIHQpICgoZXEgZnJhbWUgdCkgbmlsKSAodCBm cmFtZSkpKSkKLSAgICAoZG9saXN0ICh3aW5kb3cgKHdpbmRvdy1saXN0LTEgbmlsIG5pbCBh bGwtZnJhbWVzKSkKKwkoZnJhbWVzIChjb25kICgobm90IGZyYW1lKSB0KSAoKGVxIGZyYW1l IHQpIG5pbCkgKHQgZnJhbWUpKSkpCisgICAgKGRvbGlzdCAod2luZG93ICh3aW5kb3ctbGlz dC0xIG5pbCAnbm9taW5pIGZyYW1lcykpCiAgICAgICAoaWYgKGVxICh3aW5kb3ctYnVmZmVy IHdpbmRvdykgYnVmZmVyKQogCSAgKGxldCAoKGRlbGV0YWJsZSAod2luZG93LWRlbGV0YWJs ZS1wIHdpbmRvdykpCiAgICAgICAgICAgICAgICAgKGRlZGljYXRlZCAod2luZG93LWRlZGlj YXRlZC1wIHdpbmRvdykpKQpAQCAtNTEyMSwxMiArNTEyMiwxOCBAQCBkZWxldGUtd2luZG93 cy1vbgogCSAgICAgIDs7IERlbGV0ZSB3aW5kb3cuCiAJICAgICAgKGRlbGV0ZS13aW5kb3cg d2luZG93KSkKIAkgICAgICh0Ci0JICAgICAgOzsgSW4gd2luZG93IHN3aXRjaCB0byBwcmV2 aW91cyBidWZmZXIuCi0JICAgICAgKHNldC13aW5kb3ctZGVkaWNhdGVkLXAgd2luZG93IG5p bCkKLQkgICAgICAoc3dpdGNoLXRvLXByZXYtYnVmZmVyIHdpbmRvdyAnYnVyeSkKLSAgICAg ICAgICAgICAgOzsgUmVzdG9yZSB0aGUgZGVkaWNhdGVkICdzaWRlJyBmbGFnLgotICAgICAg ICAgICAgICAod2hlbiAoZXEgZGVkaWNhdGVkICdzaWRlKQotICAgICAgICAgICAgICAgIChz ZXQtd2luZG93LWRlZGljYXRlZC1wIHdpbmRvdyAnc2lkZSkpKSkpCisJICAgICAgKHdoZW4g KGVxICh3aW5kb3ctYnVmZmVyIHdpbmRvdykgYnVmZmVyKQorCQkocXVpdC1yZXN0b3JlLXdp bmRvdyB3aW5kb3cpKQorCSAgICAgIDs7IFJlbW92ZSBxdWl0LXJlc3RvcmUoLXByZXYpIGVu dHJpZXMgdGhhdCBtZW50aW9uIEJVRkZFUi4KKwkgICAgICAobGV0ICgocXVpdC1yZXN0b3Jl ICh3aW5kb3ctcGFyYW1ldGVyIHdpbmRvdyAncXVpdC1yZXN0b3JlKSkKKwkJICAgIChxdWl0 LXJlc3RvcmUtcHJldiAod2luZG93LXBhcmFtZXRlciB3aW5kb3cgJ3F1aXQtcmVzdG9yZS1w cmV2KSkpCisJCSh3aGVuIChlcSBidWZmZXIgKG50aCAzIHF1aXQtcmVzdG9yZS1wcmV2KSkK KwkJICAoc2V0LXdpbmRvdy1wYXJhbWV0ZXIgd2luZG93ICdxdWl0LXJlc3RvcmUtcHJldiBu aWwpKQorCQkod2hlbiAoZXEgYnVmZmVyIChudGggMyBxdWl0LXJlc3RvcmUpKQorCQkgIChz ZXQtd2luZG93LXBhcmFtZXRlcgorCQkgICB3aW5kb3cgJ3F1aXQtcmVzdG9yZSAod2luZG93 LXBhcmFtZXRlciB3aW5kb3cgJ3F1aXQtcmVzdG9yZS1wcmV2KSkpKQorCSAgICAgIDs7IFVu cmVjb3JkIEJVRkZFUiBpbiB0aGlzIHdpbmRvdy4KKwkgICAgICAodW5yZWNvcmQtd2luZG93 LWJ1ZmZlciB3aW5kb3cgYnVmZmVyKSkpKQogCTs7IElmIGEgd2luZG93IGRvZXNuJ3Qgc2hv dyBCVUZGRVIsIHVucmVjb3JkIEJVRkZFUiBpbiBpdC4KIAkodW5yZWNvcmQtd2luZG93LWJ1 ZmZlciB3aW5kb3cgYnVmZmVyKSkpKSkKIApAQCAtNTE0NiwxNyArNTE1MywxOCBAQCByZXBs YWNlLWJ1ZmZlci1pbi13aW5kb3dzCiAgIChpbnRlcmFjdGl2ZSAiYkJ1ZmZlciB0byByZXBs YWNlOiAiKQogICAobGV0ICgoYnVmZmVyICh3aW5kb3ctbm9ybWFsaXplLWJ1ZmZlciBidWZm ZXItb3ItbmFtZSkpKQogICAgIChkb2xpc3QgKHdpbmRvdyAod2luZG93LWxpc3QtMSBuaWwg bmlsIHQpKQotICAgICAgKGlmIChlcSAod2luZG93LWJ1ZmZlciB3aW5kb3cpIGJ1ZmZlcikK LSAgICAgICAgICA7OyBEZWxldGUgYSBkZWRpY2F0ZWQgd2luZG93IHVubGVzcyBpdCBpcyBh IHNpZGUgd2luZG93LgotICAgICAgICAgIChsZXQgKChkZWRpY2F0ZWQtc2lkZSAoZXEgKHdp bmRvdy1kZWRpY2F0ZWQtcCB3aW5kb3cpICdzaWRlKSkpCi0gICAgICAgICAgICAod2hlbiAo b3IgZGVkaWNhdGVkLXNpZGUgKG5vdCAod2luZG93LS1kZWxldGUgd2luZG93IHQgdCkpKQot ICAgICAgICAgICAgICA7OyBTd2l0Y2ggdG8gYW5vdGhlciBidWZmZXIgaW4gdGhhdCB3aW5k b3cuCi0gICAgICAgICAgICAgIChzZXQtd2luZG93LWRlZGljYXRlZC1wIHdpbmRvdyBuaWwp Ci0gICAgICAgICAgICAgIChpZiAoc3dpdGNoLXRvLXByZXYtYnVmZmVyIHdpbmRvdyAna2ls bCkKLSAgICAgICAgICAgICAgICAgIChhbmQgZGVkaWNhdGVkLXNpZGUgKHNldC13aW5kb3ct ZGVkaWNhdGVkLXAgd2luZG93ICdzaWRlKSkKLSAgICAgICAgICAgICAgICAod2luZG93LS1k ZWxldGUgd2luZG93IG5pbCAna2lsbCkpKSkKLQk7OyBVbnJlY29yZCBCVUZGRVIgaW4gV0lO RE9XLgotCSh1bnJlY29yZC13aW5kb3ctYnVmZmVyIHdpbmRvdyBidWZmZXIpKSkpKQorICAg ICAgKHdoZW4gKGVxICh3aW5kb3ctYnVmZmVyIHdpbmRvdykgYnVmZmVyKQorCShxdWl0LXJl c3RvcmUtd2luZG93IHdpbmRvdyAna2lsbCkpCisgICAgICA7OyBSZW1vdmUgcXVpdC1yZXN0 b3JlKC1wcmV2KSBlbnRyaWVzIHRoYXQgbWVudGlvbiBCVUZGRVIuCisgICAgICAobGV0ICgo cXVpdC1yZXN0b3JlICh3aW5kb3ctcGFyYW1ldGVyIHdpbmRvdyAncXVpdC1yZXN0b3JlKSkK KwkgICAgKHF1aXQtcmVzdG9yZS1wcmV2ICh3aW5kb3ctcGFyYW1ldGVyIHdpbmRvdyAncXVp dC1yZXN0b3JlLXByZXYpKSkKKwkod2hlbiAoZXEgYnVmZmVyIChudGggMyBxdWl0LXJlc3Rv cmUtcHJldikpCisJICAoc2V0LXdpbmRvdy1wYXJhbWV0ZXIgd2luZG93ICdxdWl0LXJlc3Rv cmUtcHJldiBuaWwpKQorCSh3aGVuIChlcSBidWZmZXIgKG50aCAzIHF1aXQtcmVzdG9yZSkp CisJICAoc2V0LXdpbmRvdy1wYXJhbWV0ZXIKKwkgICB3aW5kb3cgJ3F1aXQtcmVzdG9yZSAo d2luZG93LXBhcmFtZXRlciB3aW5kb3cgJ3F1aXQtcmVzdG9yZS1wcmV2KSkpKQorICAgICAg OzsgVW5yZWNvcmQgQlVGRkVSIGluIHRoaXMgd2luZG93LgorICAgICAgKHVucmVjb3JkLXdp bmRvdy1idWZmZXIgd2luZG93IGJ1ZmZlcikpKSkKIAogKGRlZmN1c3RvbSBxdWl0LXdpbmRv dy1ob29rIG5pbAogICAiSG9vayBydW4gYmVmb3JlIHBlcmZvcm1pbmcgYW55IG90aGVyIGFj dGlvbnMgaW4gdGhlIGBxdWl0LXdpbmRvdycgY29tbWFuZC4iCkBAIC01MjEwLDEzICs1MjE4 LDE1IEBAIHF1aXQtcmVzdG9yZS13aW5kb3cKICAgKHNldHEgd2luZG93ICh3aW5kb3ctbm9y bWFsaXplLXdpbmRvdyB3aW5kb3cgdCkpCiAgIChsZXQqICgoYnVmZmVyICh3aW5kb3ctYnVm ZmVyIHdpbmRvdykpCiAJIChxdWl0LXJlc3RvcmUgKHdpbmRvdy1wYXJhbWV0ZXIgd2luZG93 ICdxdWl0LXJlc3RvcmUpKQorCSAocXVpdC1yZXN0b3JlLXByZXYgKHdpbmRvdy1wYXJhbWV0 ZXIgd2luZG93ICdxdWl0LXJlc3RvcmUtcHJldikpCiAJIChxdWl0LXJlc3RvcmUtMiAobnRo IDIgcXVpdC1yZXN0b3JlKSkKKwkgKHF1aXQtcmVzdG9yZS1wcmV2LTIgKG50aCAyIHF1aXQt cmVzdG9yZS1wcmV2KSkKICAgICAgICAgIChwcmV2LWJ1ZmZlciAoY2F0Y2ggJ3ByZXYtYnVm ZmVyCiAgICAgICAgICAgICAgICAgICAgICAgICAoZG9saXN0IChidWYgKHdpbmRvdy1wcmV2 LWJ1ZmZlcnMgd2luZG93KSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgKHVubGVzcyAo ZXEgKGNhciBidWYpIGJ1ZmZlcikKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAodGhy b3cgJ3ByZXYtYnVmZmVyIChjYXIgYnVmKSkpKSkpCiAgICAgICAgICAoZGVkaWNhdGVkICh3 aW5kb3ctZGVkaWNhdGVkLXAgd2luZG93KSkKLQkgcXVhZCBlbnRyeSkKKwkgcXVhZCBlbnRy eSByZXNldC1wcmV2KQogICAgIChjb25kCiAgICAgIDs7IEZpcnN0IHRyeSB0byBkZWxldGUg ZGVkaWNhdGVkIHdpbmRvd3MgdGhhdCBhcmUgbm90IHNpZGUgd2luZG93cy4KICAgICAgKChh bmQgZGVkaWNhdGVkIChub3QgKGVxIGRlZGljYXRlZCAnc2lkZSkpCkBAIC01MjMwLDIxICs1 MjQwLDM1IEBAIHF1aXQtcmVzdG9yZS13aW5kb3cKICAgICAgIDs7IElmIHRoZSBwcmV2aW91 c2x5IHNlbGVjdGVkIHdpbmRvdyBpcyBzdGlsbCBhbGl2ZSwgc2VsZWN0IGl0LgogICAgICAg KHdpbmRvdy0tcXVpdC1yZXN0b3JlLXNlbGVjdC13aW5kb3cgcXVpdC1yZXN0b3JlLTIpKQog ICAgICAoKGFuZCAobm90IHByZXYtYnVmZmVyKQotCSAgIChvciAoZXEgKG50aCAxIHF1aXQt cmVzdG9yZSkgJ2ZyYW1lKQotCSAgICAgICAoYW5kIChlcSAobnRoIDEgcXVpdC1yZXN0b3Jl KSAnd2luZG93KQotCQkgICAgOzsgSWYgdGhlIHdpbmRvdyBoYXMgYmVlbiBjcmVhdGVkIG9u IGFuIGV4aXN0aW5nCi0JCSAgICA7OyBmcmFtZSBhbmQgZW5kZWQgdXAgYXMgdGhlIHNvbGUg d2luZG93IG9uIHRoYXQKLQkJICAgIDs7IGZyYW1lLCBkbyBub3QgZGVsZXRlIGl0IChCdWcj MTI3NjQpLgotCQkgICAgKG5vdCAoZXEgd2luZG93IChmcmFtZS1yb290LXdpbmRvdyB3aW5k b3cpKSkpKQotCSAgIChlcSAobnRoIDMgcXVpdC1yZXN0b3JlKSBidWZmZXIpCisJICAgKG9y IChhbmQgKG9yIChlcSAobnRoIDEgcXVpdC1yZXN0b3JlKSAnZnJhbWUpCisJCQkoYW5kIChl cSAobnRoIDEgcXVpdC1yZXN0b3JlKSAnd2luZG93KQorCQkJICAgICA7OyBJZiB0aGUgd2lu ZG93IGhhcyBiZWVuIGNyZWF0ZWQgb24gYW4KKwkJCSAgICAgOzsgZXhpc3RpbmcgZnJhbWUg YW5kIGVuZGVkIHVwIGFzIHRoZSBzb2xlCisJCQkgICAgIDs7IHdpbmRvdyBvbiB0aGF0IGZy YW1lLCBkbyBub3QgZGVsZXRlIGl0CisJCQkgICAgIDs7IChCdWcjMTI3NjQpLgorCQkJICAg ICAobm90IChlcSB3aW5kb3cgKGZyYW1lLXJvb3Qtd2luZG93IHdpbmRvdykpKSkpCisJCSAg ICAoZXEgKG50aCAzIHF1aXQtcmVzdG9yZSkgYnVmZmVyKSkKKwkgICAgICAgKGFuZCAob3Ig KGVxIChudGggMSBxdWl0LXJlc3RvcmUtcHJldikgJ2ZyYW1lKQorCQkJKGFuZCAoZXEgKG50 aCAxIHF1aXQtcmVzdG9yZS1wcmV2KSAnd2luZG93KQorCQkJICAgICAobm90IChlcSB3aW5k b3cgKGZyYW1lLXJvb3Qtd2luZG93IHdpbmRvdykpKSkpCisJCSAgICAoZXEgKG50aCAzIHF1 aXQtcmVzdG9yZS1wcmV2KSBidWZmZXIpCisJCSAgICA7OyBVc2Ugc2VsZWN0ZWQgd2luZG93 IGZyb20gcXVpdC1yZXN0b3JlLXByZXYuCisJCSAgICAoc2V0cSBxdWl0LXJlc3RvcmUtMiBx dWl0LXJlc3RvcmUtcHJldi0yKSkpCiAJICAgOzsgRGVsZXRlIFdJTkRPVyBpZiBwb3NzaWJs ZS4KIAkgICAod2luZG93LS1kZWxldGUgd2luZG93IG5pbCAoZXEgYnVyeS1vci1raWxsICdr aWxsKSkpCiAgICAgICA7OyBJZiB0aGUgcHJldmlvdXNseSBzZWxlY3RlZCB3aW5kb3cgaXMg c3RpbGwgYWxpdmUsIHNlbGVjdCBpdC4KICAgICAgICh3aW5kb3ctLXF1aXQtcmVzdG9yZS1z ZWxlY3Qtd2luZG93IHF1aXQtcmVzdG9yZS0yKSkKLSAgICAgKChhbmQgKGxpc3RwIChzZXRx IHF1YWQgKG50aCAxIHF1aXQtcmVzdG9yZSkpKQotCSAgIChidWZmZXItbGl2ZS1wIChjYXIg cXVhZCkpCi0JICAgKGVxIChudGggMyBxdWl0LXJlc3RvcmUpIGJ1ZmZlcikpCi0gICAgICA7 OyBTaG93IGFub3RoZXIgYnVmZmVyIHN0b3JlZCBpbiBxdWl0LXJlc3RvcmUgcGFyYW1ldGVy LgorICAgICAoKG9yIChhbmQgKGxpc3RwIChzZXRxIHF1YWQgKG50aCAxIHF1aXQtcmVzdG9y ZSkpKQorCSAgICAgICAoYnVmZmVyLWxpdmUtcCAoY2FyIHF1YWQpKQorCSAgICAgICAoZXEg KG50aCAzIHF1aXQtcmVzdG9yZSkgYnVmZmVyKSkKKwkgIChhbmQgKGxpc3RwIChzZXRxIHF1 YWQgKG50aCAxIHF1aXQtcmVzdG9yZS1wcmV2KSkpCisJICAgICAgIChidWZmZXItbGl2ZS1w IChjYXIgcXVhZCkpCisJICAgICAgIChlcSAobnRoIDMgcXVpdC1yZXN0b3JlLXByZXYpIGJ1 ZmZlcikKKwkgICAgICAgOzsgVXNlIHNlbGVjdGVkIHdpbmRvdyBmcm9tIHF1aXQtcmVzdG9y ZS1wcmV2LgorCSAgICAgICAoc2V0cSBxdWl0LXJlc3RvcmUtMiBxdWl0LXJlc3RvcmUtcHJl di0yKQorCSAgICAgICA7OyBXZSB3YW50IHRvIHJlc2V0IHF1aXQtcmVzdG9yZS1wcmV2IG9u bHkuCisJICAgICAgIChzZXRxIHJlc2V0LXByZXYgdCkpKQorICAgICAgOzsgU2hvdyBhbm90 aGVyIGJ1ZmZlciBzdG9yZWQgaW4gcXVpdC1yZXN0b3JlKC1wcmV2KSBwYXJhbWV0ZXIuCiAg ICAgICAod2hlbiAoYW5kIChpbnRlZ2VycCAobnRoIDMgcXVhZCkpCiAJCSAoaWYgKHdpbmRv dy1jb21iaW5lZC1wIHdpbmRvdykKICAgICAgICAgICAgICAgICAgICAgICgvPSAobnRoIDMg cXVhZCkgKHdpbmRvdy10b3RhbC1oZWlnaHQgd2luZG93KSkKQEAgLTUyODEsMTUgKzUzMDUs MTUgQEAgcXVpdC1yZXN0b3JlLXdpbmRvdwogCTs7IGBkaXNwbGF5LWJ1ZmZlci1pbi1wcmV2 aW91cy13aW5kb3cnIGNhbiBuZXZlcnRoZWxlc3MgZmluZCBpdC4KIAkoc2V0LXdpbmRvdy1w cmV2LWJ1ZmZlcnMKIAkgd2luZG93IChhcHBlbmQgKHdpbmRvdy1wcmV2LWJ1ZmZlcnMgd2lu ZG93KSAobGlzdCBlbnRyeSkpKSkKLSAgICAgIDs7IFJlc2V0IHRoZSBxdWl0LXJlc3RvcmUg cGFyYW1ldGVyLgotICAgICAgKHNldC13aW5kb3ctcGFyYW1ldGVyIHdpbmRvdyAncXVpdC1y ZXN0b3JlIG5pbCkKKyAgICAgIDs7IFJlc2V0IHRoZSBxdWl0LXJlc3RvcmUoLXByZXYpIHBh cmFtZXRlci4KKyAgICAgIChzZXQtd2luZG93LXBhcmFtZXRlcgorICAgICAgIHdpbmRvdyAo aWYgcmVzZXQtcHJldiAncXVpdC1yZXN0b3JlLXByZXYgJ3F1aXQtcmVzdG9yZSkgbmlsKQog ICAgICAgOzsgU2VsZWN0IG9sZCB3aW5kb3cuCiAgICAgICA7OyBJZiB0aGUgcHJldmlvdXNs eSBzZWxlY3RlZCB3aW5kb3cgaXMgc3RpbGwgYWxpdmUsIHNlbGVjdCBpdC4KICAgICAgICh3 aW5kb3ctLXF1aXQtcmVzdG9yZS1zZWxlY3Qtd2luZG93IHF1aXQtcmVzdG9yZS0yKSkKICAg ICAgKHQKLSAgICAgIDs7IFNob3cgc29tZSBvdGhlciBidWZmZXIgaW4gV0lORE9XIGFuZCBy ZXNldCB0aGUgcXVpdC1yZXN0b3JlCi0gICAgICA7OyBwYXJhbWV0ZXIuCi0gICAgICAoc2V0 LXdpbmRvdy1wYXJhbWV0ZXIgd2luZG93ICdxdWl0LXJlc3RvcmUgbmlsKQorICAgICAgOzsg U2hvdyBzb21lIG90aGVyIGJ1ZmZlciBpbiBXSU5ET1cgYW5kIGxlYXZlIHRoZQorICAgICAg OzsgcXVpdC1yZXN0b3JlKC1wcmV2KSBwYXJhbWV0ZXJzIGFsb25lIChKdXJpJ3MgaWRlYSku CiAgICAgICA7OyBNYWtlIHN1cmUgdGhhdCBXSU5ET1cgaXMgbm8gbW9yZSBkZWRpY2F0ZWQu CiAgICAgICAoc2V0LXdpbmRvdy1kZWRpY2F0ZWQtcCB3aW5kb3cgbmlsKQogICAgICAgOzsg VHJ5IHRvIHN3aXRjaCB0byBhIHByZXZpb3VzIGJ1ZmZlci4gIERlbGV0ZSB0aGUgd2luZG93 IG9ubHkgaWYKQEAgLTUyOTcsMTAgKzUzMjEsNyBAQCBxdWl0LXJlc3RvcmUtd2luZG93CiAg ICAgICAoaWYgKHN3aXRjaC10by1wcmV2LWJ1ZmZlciB3aW5kb3cgYnVyeS1vci1raWxsKQog ICAgICAgICAgICh3aGVuIChlcSBkZWRpY2F0ZWQgJ3NpZGUpCiAgICAgICAgICAgICAoc2V0 LXdpbmRvdy1kZWRpY2F0ZWQtcCB3aW5kb3cgJ3NpZGUpKQotICAgICAgICAod2luZG93LS1k ZWxldGUgd2luZG93IG5pbCAoZXEgYnVyeS1vci1raWxsICdraWxsKSkKLSAgICAgIDs7IElm IHRoZSBwcmV2aW91c2x5IHNlbGVjdGVkIHdpbmRvdyBpcyBzdGlsbCBhbGl2ZSwgc2VsZWN0 IGl0LgotICAgICAgKHdpbmRvdy0tcXVpdC1yZXN0b3JlLXNlbGVjdC13aW5kb3cgcXVpdC1y ZXN0b3JlLTIpKSkpCi0KKyAgICAgICAgKHdpbmRvdy0tZGVsZXRlIHdpbmRvdyBuaWwgKGVx IGJ1cnktb3Ita2lsbCAna2lsbCkpKSkpCiAgICAgOzsgRGVhbCB3aXRoIHRoZSBidWZmZXIu CiAgICAgKGNvbmQKICAgICAgKChub3QgKGJ1ZmZlci1saXZlLXAgYnVmZmVyKSkpCkBAIC01 MzQyLDEyICs1MzYzLDIwIEBAIHF1aXQtd2luZG93cy1vbgogICAobGV0ICgoYnVmZmVyICh3 aW5kb3ctbm9ybWFsaXplLWJ1ZmZlciBidWZmZXItb3ItbmFtZSkpCiAJOzsgSGFuZGxlIHRo ZSAiaW52ZXJ0ZWQiIG1lYW5pbmcgb2YgdGhlIEZSQU1FIGFyZ3VtZW50IHdydCBvdGhlcgog CTs7IGB3aW5kb3ctbGlzdC0xJyBiYXNlZCBmdW5jdGlvbi4KLQkoYWxsLWZyYW1lcyAoY29u ZCAoKG5vdCBmcmFtZSkgdCkgKChlcSBmcmFtZSB0KSBuaWwpICh0IGZyYW1lKSkpKQotICAg IChkb2xpc3QgKHdpbmRvdyAod2luZG93LWxpc3QtMSBuaWwgbmlsIGFsbC1mcmFtZXMpKQot ICAgICAgKGlmIChlcSAod2luZG93LWJ1ZmZlciB3aW5kb3cpIGJ1ZmZlcikKLQkgIChxdWl0 LXdpbmRvdyBraWxsIHdpbmRvdykKLQk7OyBJZiBhIHdpbmRvdyBkb2Vzbid0IHNob3cgQlVG RkVSLCB1bnJlY29yZCBCVUZGRVIgaW4gaXQuCi0JKHVucmVjb3JkLXdpbmRvdy1idWZmZXIg d2luZG93IGJ1ZmZlcikpKSkpCisJKGZyYW1lcyAoY29uZCAoKG5vdCBmcmFtZSkgdCkgKChl cSBmcmFtZSB0KSBuaWwpICh0IGZyYW1lKSkpKQorICAgIChkb2xpc3QgKHdpbmRvdyAod2lu ZG93LWxpc3QtMSBuaWwgbmlsIGZyYW1lcykpCisgICAgICAod2hlbiAoZXEgKHdpbmRvdy1i dWZmZXIgd2luZG93KSBidWZmZXIpCisJKHF1aXQtcmVzdG9yZS13aW5kb3cgd2luZG93IGtp bGwpKQorICAgICAgOzsgUmVtb3ZlIHF1aXQtcmVzdG9yZSgtcHJldikgZW50cmllcyB0aGF0 IG1lbnRpb24gQlVGRkVSLgorICAgICAgKGxldCAoKHF1aXQtcmVzdG9yZSAod2luZG93LXBh cmFtZXRlciB3aW5kb3cgJ3F1aXQtcmVzdG9yZSkpCisJICAgIChxdWl0LXJlc3RvcmUtcHJl diAod2luZG93LXBhcmFtZXRlciB3aW5kb3cgJ3F1aXQtcmVzdG9yZS1wcmV2KSkpCisJKHdo ZW4gKGVxIGJ1ZmZlciAobnRoIDMgcXVpdC1yZXN0b3JlLXByZXYpKQorCSAgKHNldC13aW5k b3ctcGFyYW1ldGVyIHdpbmRvdyAncXVpdC1yZXN0b3JlLXByZXYgbmlsKSkKKwkod2hlbiAo ZXEgYnVmZmVyIChudGggMyBxdWl0LXJlc3RvcmUpKQorCSAgKHNldC13aW5kb3ctcGFyYW1l dGVyCisJICAgd2luZG93ICdxdWl0LXJlc3RvcmUgKHdpbmRvdy1wYXJhbWV0ZXIgd2luZG93 ICdxdWl0LXJlc3RvcmUtcHJldikpKSkKKyAgICAgIDs7IFVucmVjb3JkIEJVRkZFUiBpbiB0 aGlzIHdpbmRvdy4KKyAgICAgICh1bnJlY29yZC13aW5kb3ctYnVmZmVyIHdpbmRvdyBidWZm ZXIpKSkpCiAMCiAoZGVmdW4gd2luZG93LS1jb21iaW5hdGlvbi1yZXNpemFibGUgKHBhcmVu dCAmb3B0aW9uYWwgaG9yaXpvbnRhbCkKICAgIlJldHVybiBudW1iZXIgb2YgcGl4ZWxzIHJl Y292ZXJhYmxlIGZyb20gaGVpZ2h0IG9mIHdpbmRvdyBQQVJFTlQuCkBAIC02NjczLDcgKzY3 MDIsNyBAQCBkaXNwbGF5LWJ1ZmZlci1yZWNvcmQtd2luZG93CiAgICAgICA7OyBXSU5ET1cg c2hvd3MgYW5vdGhlciBidWZmZXIuCiAgICAgICAod2l0aC1jdXJyZW50LWJ1ZmZlciAod2lu ZG93LWJ1ZmZlciB3aW5kb3cpCiAJKHNldC13aW5kb3ctcGFyYW1ldGVyCi0JIHdpbmRvdyAn cXVpdC1yZXN0b3JlCisJIHdpbmRvdyAncXVpdC1yZXN0b3JlLXByZXYKIAkgKGxpc3QgJ290 aGVyCiAJICAgICAgIDs7IEEgcXVhZHJ1cGxlIG9mIFdJTkRPVydzIGJ1ZmZlciwgc3RhcnQs IHBvaW50IGFuZCBoZWlnaHQuCiAJICAgICAgIChsaXN0IChjdXJyZW50LWJ1ZmZlcikgKHdp bmRvdy1zdGFydCB3aW5kb3cpCg== --------------tmLxt90jOBkUU93V5IoK7Iy0--
X-Loop: help-debbugs@HIDDEN Subject: bug#59862: quit-restore per window buffer Resent-From: martin rudalics <rudalics@HIDDEN> Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> Resent-CC: bug-gnu-emacs@HIDDEN Resent-Date: Mon, 03 Jun 2024 16:11:01 +0000 Resent-Message-ID: <handler.59862.B59862.17174310215349 <at> debbugs.gnu.org> Resent-Sender: help-debbugs@HIDDEN X-GNU-PR-Message: followup 59862 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Juri Linkov <juri@HIDDEN>, 59862 <at> debbugs.gnu.org Received: via spool by 59862-submit <at> debbugs.gnu.org id=B59862.17174310215349 (code B ref 59862); Mon, 03 Jun 2024 16:11:01 +0000 Received: (at 59862) by debbugs.gnu.org; 3 Jun 2024 16:10:21 +0000 Received: from localhost ([127.0.0.1]:46206 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1sEAGG-0001O0-QU for submit <at> debbugs.gnu.org; Mon, 03 Jun 2024 12:10:21 -0400 Received: from mout.gmx.net ([212.227.15.19]:56935) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <rudalics@HIDDEN>) id 1sEAGD-0001NH-I1 for 59862 <at> debbugs.gnu.org; Mon, 03 Jun 2024 12:10:15 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmx.at; s=s31663417; t=1717430994; x=1718035794; i=rudalics@HIDDEN; bh=/RdQP2TzPs3VPreHlsvtQCroeznDfrKeThLsYoikeqs=; h=X-UI-Sender-Class:Content-Type:Message-ID:Date:MIME-Version: Subject:From:To:References:In-Reply-To:cc: content-transfer-encoding:content-type:date:from:message-id: mime-version:reply-to:subject:to; b=QcVPjjBPnIF01D2tvqx+roU5aSBvpgSNA6eSMdB3mwtN0lAVQLaLqaCeAk3wuigS G5oW2dG60eoGupGqj4Das0K+m9QGhoyoAD7dTOMYvvUu16zG6nZhrX8nMp+O0IlP6 kpTi/nioJNDWQPVpKUCoBeaKbFit9WxtAf0MczPp5LgLB/CwORswgdQSXwl2hrB8N SxPRLNTP1TzawR6g1ZQz50BrWRyYbdNanDD0PZdO743ZiHd+9GEbwFjO+zodHirRW Cf7/0Ig1sZq2SrDWNxWliHOgSVJtSbSkDi++0F2bQWioiQsNIC8KGB4MB1EkVzIAd Wa4cUbfDA7r6ZbXmiQ== X-UI-Sender-Class: 724b4f7f-cbec-4199-ad4e-598c01a50d3a Received: from [192.168.31.113] ([213.142.97.31]) by mail.gmx.net (mrgmx005 [212.227.17.190]) with ESMTPSA (Nemesis) id 1N79yQ-1sWdQ52IW4-017Y0n; Mon, 03 Jun 2024 18:09:53 +0200 Content-Type: multipart/mixed; boundary="------------xIisI0wIMSyB0RW73pBjpgJU" Message-ID: <f9eb9bae-6275-4448-9590-e72a56064220@HIDDEN> Date: Mon, 3 Jun 2024 18:09:52 +0200 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird From: martin rudalics <rudalics@HIDDEN> References: <86fsds8mlm.fsf@HIDDEN> <86ttibq1w1.fsf@HIDDEN> <8243325e-ed03-4e9e-b64f-c8225fb6dc60@HIDDEN> <18173da7-32e1-4f14-bbea-9a8fa66af7dd@HIDDEN> Content-Language: en-US In-Reply-To: <18173da7-32e1-4f14-bbea-9a8fa66af7dd@HIDDEN> X-Provags-ID: V03:K1:3pTaVu3ij+ch9p1LwDs2O7nabtI7OBxMB63/gJ6cXGex3JUtmW0 Q594xfzZ4haiKpD3Hnji9YItkw9zpe/aPs0tEp7P4euOg4yYchqeEhgvY5/QPSdn72FJ25q IqcM8wXRrz+4pxu+H1xjcYq2+XaG2QIB/qBgcYHwLbTurAWNfMv3LMTie/SmqOmggv0+qeR zCRU7oT+ZvYET1mHkEYDQ== X-Spam-Flag: NO UI-OutboundReport: notjunk:1;M01:P0:FUnA26ER+CU=;vZ1M2glfBAEP19mUDrpPd84vDzk fh9lCYPkHkthf67V9qr2lRdcuWCsRnHfW9Pcb/TCZLR5wq0lQ1uCIWK3v86lGP0IJx4wcYcVL AkWcnSppsqJ/nnT0yy7cO9xpzuQkpkacpoXRmiVZQBwPkDK/bLob3JoC29Mld8ejIhd/1nfSk bbppmjdqfAi1kgpOg4c37dY2TUurvhp0sK/aP7tsg32j5mjWXHFYXDvqWN1GUtdMQDI4hzHy1 TurxPp5FRda5f6QKyIzQgiQmIxoOU+AUXjlzaE7fwtzm31kcpOrWNrjPW9FEnI22BJjxCkf5V if61zjnhopi+iP/+J9ma6v2r5yVIHOG9BLoSC5wX2IouuEW9MHut6pdhgknTHHopNyBuwuuDd 5xkMuSR7rIupaU8bwjTTLhp25vAS5CGaJ+gtCimjVd5ICc42iKh17MLVEacMlecd5WXC5/w8t JpL5JcPlW3boOtpXbztKC1cQseJ6Wc/NJcKWWqYvYVpOGYWPM+6/pXcC5+UT6gY75kqe4r9fC bKhocxlDt/xUooDAIKPtnL8Rn0R/0gGegzXS0UKFzZJpiOvSPYdMkmmNmWjEWWIq3IeUVJgH0 8YYufZCd/koUXkrepyPx8m++sDjsMZ21ircpKDQwpm+52AglhKX23ExdF70/P+gyiVkmnMzZY QEooU1smp4/90KGkiLkfQahhKQ1gHdbbDQI7gSMQmS7BMb0ftyyndOHNz8YJoHF/Lx6tqwpIQ u0PVpRyT81YVQ5yFZunO2KwKgPNR0EjgMsewVCN2r8pVzbTKtcFdAFCibHKhYUQtjtRM4FuRV BoDmGJmFSxfSBWe0BaKx4SfyidOx+UA6A4u1XwpHHHkXY= X-Spam-Score: 2.9 (++) X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: I revisited it once more and attach my last patch. It also seems to DTRT with C-x 4 d RET C-h C-t C-h C-n q q q but would still require a longer period of testing. martin diff --git a/lisp/window.el b/lisp/window.el index b014be6a7cf..dcfc578ffd8 100644 --- a/lisp/window.el +++ b/lisp/window.el @@ -4519,13 +4519,33 @@ unrecord-window-buffer "Unrecord BUFFER in W [...] Content analysis details: (2.9 points, 10.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- 3.6 RCVD_IN_SBL_CSS RBL: Received via a relay in Spamhaus SBL-CSS [213.142.97.31 listed in zen.spamhaus.org] -0.7 RCVD_IN_DNSWL_LOW RBL: Sender listed at https://www.dnswl.org/, low trust [212.227.15.19 listed in list.dnswl.org] 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail provider (rudalics[at]gmx.at) -0.0 SPF_PASS SPF: sender matches SPF record X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: 1.9 (+) X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: I revisited it once more and attach my last patch. It also seems to DTRT with C-x 4 d RET C-h C-t C-h C-n q q q but would still require a longer period of testing. martin diff --git a/lisp/window.el b/lisp/window.el index b014be6a7cf..dcfc578ffd8 100644 --- a/lisp/window.el +++ b/lisp/window.el @@ -4519,13 +4519,33 @@ unrecord-window-buffer "Unrecord BUFFER in W [...] Content analysis details: (1.9 points, 10.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- 3.6 RCVD_IN_SBL_CSS RBL: Received via a relay in Spamhaus SBL-CSS [213.142.97.31 listed in zen.spamhaus.org] -0.7 RCVD_IN_DNSWL_LOW RBL: Sender listed at https://www.dnswl.org/, low trust [212.227.15.19 listed in list.dnswl.org] 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail provider (rudalics[at]gmx.at) -0.0 SPF_PASS SPF: sender matches SPF record -1.0 MAILING_LIST_MULTI Multiple indicators imply a widely-seen list manager This is a multi-part message in MIME format. --------------xIisI0wIMSyB0RW73pBjpgJU Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit I revisited it once more and attach my last patch. It also seems to DTRT with C-x 4 d RET C-h C-t C-h C-n q q q but would still require a longer period of testing. martin --------------xIisI0wIMSyB0RW73pBjpgJU Content-Type: text/x-patch; charset=UTF-8; name="quit-restore.diff" Content-Disposition: attachment; filename="quit-restore.diff" Content-Transfer-Encoding: base64 ZGlmZiAtLWdpdCBhL2xpc3Avd2luZG93LmVsIGIvbGlzcC93aW5kb3cuZWwKaW5kZXggYjAx NGJlNmE3Y2YuLmRjZmM1NzhmZmQ4IDEwMDY0NAotLS0gYS9saXNwL3dpbmRvdy5lbAorKysg Yi9saXNwL3dpbmRvdy5lbApAQCAtNDUxOSwxMyArNDUxOSwzMyBAQCB1bnJlY29yZC13aW5k b3ctYnVmZmVyCiAgICJVbnJlY29yZCBCVUZGRVIgaW4gV0lORE9XLgogV0lORE9XIG11c3Qg YmUgYSBsaXZlIHdpbmRvdyBhbmQgZGVmYXVsdHMgdG8gdGhlIHNlbGVjdGVkIG9uZS4KIEJV RkZFUiBtdXN0IGJlIGEgbGl2ZSBidWZmZXIgYW5kIGRlZmF1bHRzIHRvIHRoZSBidWZmZXIg b2YKLVdJTkRPVy4iCitXSU5ET1cuCisKK01ha2UgQlVGRkVSIGRpc2FwcGVhciBmcm9tIGFs bCB2YXJpYWJsZXMgbWVudGlvbmVkIGJ5IHRoZSBvYmplY3Qgb2YKK1dJTkRPVy4gIFRoaXMg aW5jbHVkZXMgdGhlIGJ1ZmZlcnMgcHJldmlvdXNseSBzaHdvbiBpbiBXSU5ET1cgYXMgd2Vs bCBhcworYW55IGJ1ZmZlcnMgbWVudGlvbmVkIGJ5IFdJTkRPVydzIGBxdWl0LXJlc3RvcmUn IGFuZCBgcXVpdC1yZXN0b3JlLXByZXYnCitwYXJhbWV0ZXJzLiIKICAgKGxldCogKCh3aW5k b3cgKHdpbmRvdy1ub3JtYWxpemUtd2luZG93IHdpbmRvdyB0KSkKLQkgKGJ1ZmZlciAob3Ig YnVmZmVyICh3aW5kb3ctYnVmZmVyIHdpbmRvdykpKSkKLSAgICAoc2V0LXdpbmRvdy1wcmV2 LWJ1ZmZlcnMKLSAgICAgd2luZG93IChhc3NxLWRlbGV0ZS1hbGwgYnVmZmVyICh3aW5kb3ct cHJldi1idWZmZXJzIHdpbmRvdykpKQotICAgIChzZXQtd2luZG93LW5leHQtYnVmZmVycwot ICAgICB3aW5kb3cgKGRlbHEgYnVmZmVyICh3aW5kb3ctbmV4dC1idWZmZXJzIHdpbmRvdykp KSkpCisJIChidWZmZXIgKG9yIGJ1ZmZlciAod2luZG93LWJ1ZmZlciB3aW5kb3cpKSkKKwkg KHF1aXQtcmVzdG9yZSAod2luZG93LXBhcmFtZXRlciB3aW5kb3cgJ3F1aXQtcmVzdG9yZSkp CisJIChxdWl0LXJlc3RvcmUtcHJldiAod2luZG93LXBhcmFtZXRlciB3aW5kb3cgJ3F1aXQt cmVzdG9yZS1wcmV2KSkKKwkgcXVhZCkKKyAgICAod2hlbiAoYnVmZmVyLWxpdmUtcCBidWZm ZXIpCisgICAgICAoc2V0LXdpbmRvdy1wcmV2LWJ1ZmZlcnMKKyAgICAgICB3aW5kb3cgKGFz c3EtZGVsZXRlLWFsbCBidWZmZXIgKHdpbmRvdy1wcmV2LWJ1ZmZlcnMgd2luZG93KSkpCisg ICAgICAoc2V0LXdpbmRvdy1uZXh0LWJ1ZmZlcnMKKyAgICAgICB3aW5kb3cgKGRlbHEgYnVm ZmVyICh3aW5kb3ctbmV4dC1idWZmZXJzIHdpbmRvdykpKQorCisgICAgICAod2hlbiAob3Ig KGVxIGJ1ZmZlciAobnRoIDMgcXVpdC1yZXN0b3JlLXByZXYpKQorCQkoYW5kIChsaXN0cCAo c2V0cSBxdWFkIChudGggMSBxdWl0LXJlc3RvcmUtcHJldikpKQorCQkgICAgIChlcSAoY2Fy IHF1YWQpIGJ1ZmZlcikpKQorCShzZXQtd2luZG93LXBhcmFtZXRlciB3aW5kb3cgJ3F1aXQt cmVzdG9yZS1wcmV2IG5pbCkpCisKKyAgICAgICh3aGVuIChvciAoZXEgYnVmZmVyIChudGgg MyBxdWl0LXJlc3RvcmUpKQorCQkoYW5kIChsaXN0cCAoc2V0cSBxdWFkIChudGggMSBxdWl0 LXJlc3RvcmUpKSkKKwkJICAgICAoZXEgKGNhciBxdWFkKSBidWZmZXIpKSkKKwkoc2V0LXdp bmRvdy1wYXJhbWV0ZXIKKwkgd2luZG93ICdxdWl0LXJlc3RvcmUgKHdpbmRvdy1wYXJhbWV0 ZXIgd2luZG93ICdxdWl0LXJlc3RvcmUtcHJldikpKSkpKQogCiAoZGVmdW4gc2V0LXdpbmRv dy1idWZmZXItc3RhcnQtYW5kLXBvaW50ICh3aW5kb3cgYnVmZmVyICZvcHRpb25hbCBzdGFy dCBwb2ludCkKICAgIlNldCBXSU5ET1cncyBidWZmZXIgdG8gQlVGRkVSLgpAQCAtNTA3NSwy MSArNTA5NSwyMCBAQCBkZWxldGUtd2luZG93cy1vbgogdXNlIFxcW3VuaXZlcnNhbC1hcmd1 bWVudF0gMCB0byBzcGVjaWZ5IGFsbCB3aW5kb3dzIG9ubHkgb24KIHRoZSBjdXJyZW50IHRl cm1pbmFsJ3MgZnJhbWVzLgogCi1JZiBhIGZyYW1lJ3Mgcm9vdCB3aW5kb3cgc2hvd3MgdGhl IGJ1ZmZlciBzcGVjaWZpZWQgYnkKLUJVRkZFUi1PUi1OQU1FIGFuZCBpcyBkZWRpY2F0ZWQg dG8gdGhhdCBidWZmZXIgYW5kIHRoYXQgZnJhbWUKLWRvZXMgbm90IGhvc3QgdGhlIGFjdGl2 ZSBtaW5pYnVmZmVyIHdpbmRvdyBhbmQgdGhlcmUgaXMgYXQgbGVhc3QKLW9uZSBvdGhlciBm cmFtZSBvbiB0aGF0IGZyYW1lJ3MgdGVybWluYWwsIGRlbGV0ZSB0aGF0IGZyYW1lLgotT3Ro ZXJ3aXNlLCBkbyBub3QgZGVsZXRlIGEgZnJhbWUncyByb290IHdpbmRvdyBpZiBpdCBzaG93 cyB0aGUKLWJ1ZmZlciBzcGVjaWZpZWQgYnkgQlVGRkVSLU9SLU5BTUUgYW5kIGRvIG5vdCBk ZWxldGUgYW55IGZyYW1lJ3MKLW1haW4gd2luZG93IHNob3dpbmcgdGhhdCBidWZmZXIgZWl0 aGVyLiAgUmF0aGVyLCBpbiBhbnkgc3VjaAotY2FzZSwgY2FsbCBgc3dpdGNoLXRvLXByZXYt YnVmZmVyJyB0byBzaG93IGFub3RoZXIgYnVmZmVyIGluIHRoYXQKLXdpbmRvdyBhbmQgbWFr ZSBzdXJlIHRoZSB3aW5kb3cgaXMgbm8gbW9yZSBkZWRpY2F0ZWQgdG8gaXRzCi1idWZmZXIu Ci0KLUlmIHRoZSBidWZmZXIgc3BlY2lmaWVkIGJ5IEJVRkZFUi1PUi1OQU1FIGlzIHNob3du IGluIGEKLW1pbmlidWZmZXIgd2luZG93LCBkbyBub3RoaW5nIGZvciB0aGF0IHdpbmRvdy4g IEZvciBhbnkgd2luZG93Ci10aGF0IGRvZXMgbm90IHNob3cgdGhhdCBidWZmZXIsIHJlbW92 ZSB0aGUgYnVmZmVyIGZyb20gdGhhdAotd2luZG93J3MgbGlzdHMgb2YgcHJldmlvdXMgYW5k IG5leHQgYnVmZmVycy4iCitJZiBhIGZyYW1lJ3Mgcm9vdCB3aW5kb3cgc2hvd3MgdGhlIGJ1 ZmZlciBzcGVjaWZpZWQgYnkgQlVGRkVSLU9SLU5BTUUKK2FuZCBpcyBkZWRpY2F0ZWQgdG8g dGhhdCBidWZmZXIgYW5kIHRoYXQgZnJhbWUgZG9lcyBub3QgaG9zdCB0aGUgYWN0aXZlCitt aW5pYnVmZmVyIHdpbmRvdyBhbmQgdGhlcmUgaXMgYXQgbGVhc3Qgb25lIG90aGVyIGZyYW1l IG9uIHRoYXQgZnJhbWUncwordGVybWluYWwsIGRlbGV0ZSB0aGF0IGZyYW1lLiAgT3RoZXJ3 aXNlLCBkbyBub3QgZGVsZXRlIGEgZnJhbWUncyByb290Cit3aW5kb3cgaWYgaXQgc2hvd3Mg dGhlIGJ1ZmZlciBzcGVjaWZpZWQgYnkgQlVGRkVSLU9SLU5BTUUgYW5kIGRvIG5vdAorZGVs ZXRlIGFueSBmcmFtZSdzIG1haW4gd2luZG93IHNob3dpbmcgdGhhdCBidWZmZXIgZWl0aGVy LiAgUmF0aGVyLCBpbgorYW55IHN1Y2ggY2FzZSwgY2FsbCBgcXVpdC1yZXN0b3JlLXdpbmRv dycgdG8gc2hvdyBhbm90aGVyIGJ1ZmZlciBpbiB0aGF0Cit3aW5kb3cgYW5kIG1ha2Ugc3Vy ZSB0aGUgd2luZG93IGlzIG5vIG1vcmUgZGVkaWNhdGVkIHRvIGl0cyBidWZmZXIuCisKK0lm IHRoZSBidWZmZXIgc3BlY2lmaWVkIGJ5IEJVRkZFUi1PUi1OQU1FIGlzIHNob3duIGluIGEg bWluaWJ1ZmZlcgord2luZG93LCBkbyBub3RoaW5nIGZvciB0aGF0IHdpbmRvdy4gIEZvciBh bnkgd2luZG93IHRoYXQgZG9lcyBub3Qgc2hvdwordGhhdCBidWZmZXIsIHJlbW92ZSB0aGUg YnVmZmVyIGZyb20gdGhhdCB3aW5kb3cncyBsaXN0cyBvZiBwcmV2aW91cyBhbmQKK25leHQg YnVmZmVycyBhbmQgcmVtb3ZlIGFueSBgcXVpdC1yZXN0b3JlJyBhbmQgYHF1aXQtcmVzdG9y ZS1wcmV2JworcGFyYW1ldGVycyBuYW1pbmcgaXQuIgogICAoaW50ZXJhY3RpdmUKICAgIChs ZXQgKChmcmFtZSAoY29uZAogICAgICAgICAgICAgICAgICAoKGFuZCAobnVtYmVycCBjdXJy ZW50LXByZWZpeC1hcmcpCkBAIC01MTA3LDkgKzUxMjYsOSBAQCBkZWxldGUtd2luZG93cy1v bgogICAgICAgICAgICBmcmFtZSkpKQogICAobGV0ICgoYnVmZmVyICh3aW5kb3ctbm9ybWFs aXplLWJ1ZmZlciBidWZmZXItb3ItbmFtZSkpCiAJOzsgSGFuZGxlIHRoZSAiaW52ZXJ0ZWQi IG1lYW5pbmcgb2YgdGhlIEZSQU1FIGFyZ3VtZW50IHdydCBvdGhlcgotCTs7IGB3aW5kb3ct bGlzdC0xJyBiYXNlZCBmdW5jdGlvbi4KLQkoYWxsLWZyYW1lcyAoY29uZCAoKG5vdCBmcmFt ZSkgdCkgKChlcSBmcmFtZSB0KSBuaWwpICh0IGZyYW1lKSkpKQotICAgIChkb2xpc3QgKHdp bmRvdyAod2luZG93LWxpc3QtMSBuaWwgbmlsIGFsbC1mcmFtZXMpKQorCTs7IGB3aW5kb3ct bGlzdC0xJyBiYXNlZCBmdW5jdGlvbnMuCisJKGZyYW1lcyAoY29uZCAoKG5vdCBmcmFtZSkg dCkgKChlcSBmcmFtZSB0KSBuaWwpICh0IGZyYW1lKSkpKQorICAgIChkb2xpc3QgKHdpbmRv dyAod2luZG93LWxpc3QtMSBuaWwgJ25vbWluaSBmcmFtZXMpKQogICAgICAgKGlmIChlcSAo d2luZG93LWJ1ZmZlciB3aW5kb3cpIGJ1ZmZlcikKIAkgIChsZXQgKChkZWxldGFibGUgKHdp bmRvdy1kZWxldGFibGUtcCB3aW5kb3cpKQogICAgICAgICAgICAgICAgIChkZWRpY2F0ZWQg KHdpbmRvdy1kZWRpY2F0ZWQtcCB3aW5kb3cpKSkKQEAgLTUxMjEsMTkgKzUxNDAsMTkgQEAg ZGVsZXRlLXdpbmRvd3Mtb24KIAkgICAgICA7OyBEZWxldGUgd2luZG93LgogCSAgICAgIChk ZWxldGUtd2luZG93IHdpbmRvdykpCiAJICAgICAodAotCSAgICAgIDs7IEluIHdpbmRvdyBz d2l0Y2ggdG8gcHJldmlvdXMgYnVmZmVyLgotCSAgICAgIChzZXQtd2luZG93LWRlZGljYXRl ZC1wIHdpbmRvdyBuaWwpCi0JICAgICAgKHN3aXRjaC10by1wcmV2LWJ1ZmZlciB3aW5kb3cg J2J1cnkpCi0gICAgICAgICAgICAgIDs7IFJlc3RvcmUgdGhlIGRlZGljYXRlZCAnc2lkZScg ZmxhZy4KLSAgICAgICAgICAgICAgKHdoZW4gKGVxIGRlZGljYXRlZCAnc2lkZSkKLSAgICAg ICAgICAgICAgICAoc2V0LXdpbmRvdy1kZWRpY2F0ZWQtcCB3aW5kb3cgJ3NpZGUpKSkpKQor CSAgICAgICh3aGVuIChlcSAod2luZG93LWJ1ZmZlciB3aW5kb3cpIGJ1ZmZlcikKKwkJKHF1 aXQtcmVzdG9yZS13aW5kb3cgd2luZG93ICdidXJ5KSkKKwkgICAgICAod2hlbiAod2luZG93 LWxpdmUtcCB3aW5kb3cpCisJCTs7IFVucmVjb3JkIEJVRkZFUiBpbiB0aGlzIHdpbmRvdy4K KwkJKHVucmVjb3JkLXdpbmRvdy1idWZmZXIgd2luZG93IGJ1ZmZlcikpKSkpCiAJOzsgSWYg YSB3aW5kb3cgZG9lc24ndCBzaG93IEJVRkZFUiwgdW5yZWNvcmQgQlVGRkVSIGluIGl0Lgog CSh1bnJlY29yZC13aW5kb3ctYnVmZmVyIHdpbmRvdyBidWZmZXIpKSkpKQogCiAoZGVmdW4g cmVwbGFjZS1idWZmZXItaW4td2luZG93cyAoJm9wdGlvbmFsIGJ1ZmZlci1vci1uYW1lKQog ICAiUmVwbGFjZSBCVUZGRVItT1ItTkFNRSB3aXRoIHNvbWUgb3RoZXIgYnVmZmVyIGluIGFs bCB3aW5kb3dzIHNob3dpbmcgaXQuCiBCVUZGRVItT1ItTkFNRSBtYXkgYmUgYSBidWZmZXIg b3IgdGhlIG5hbWUgb2YgYW4gZXhpc3RpbmcgYnVmZmVyCi1hbmQgZGVmYXVsdHMgdG8gdGhl IGN1cnJlbnQgYnVmZmVyLgorYW5kIGRlZmF1bHRzIHRvIHRoZSBjdXJyZW50IGJ1ZmZlci4g IE1pbmlidWZmZXIgd2luZG93cyBhcmUgbm90Citjb25zaWRlcmVkLgogCiBXaXRoIHRoZSBl eGNlcHRpb24gb2Ygc2lkZSB3aW5kb3dzLCB3aGVuIGEgd2luZG93IHNob3dpbmcgQlVGRkVS LU9SLU5BTUUKIGlzIGRlZGljYXRlZCwgdGhhdCB3aW5kb3cgaXMgZGVsZXRlZC4gIElmIHRo YXQgd2luZG93IGlzIHRoZSBvbmx5IHdpbmRvdwpAQCAtNTE0MSwyMSArNTE2MCwxOCBAQCBy ZXBsYWNlLWJ1ZmZlci1pbi13aW5kb3dzCiBJZiB0aGVyZSBhcmUgbm8gb3RoZXIgZnJhbWVz IGxlZnQsIHNvbWUgb3RoZXIgYnVmZmVyIGlzIGRpc3BsYXllZCBpbiB0aGF0CiB3aW5kb3cu CiAKLVRoaXMgZnVuY3Rpb24gcmVtb3ZlcyB0aGUgYnVmZmVyIGRlbm90ZWQgYnkgQlVGRkVS LU9SLU5BTUUgZnJvbQotYWxsIHdpbmRvdy1sb2NhbCBidWZmZXIgbGlzdHMuIgorVGhpcyBm dW5jdGlvbiByZW1vdmVzIHRoZSBidWZmZXIgZGVub3RlZCBieSBCVUZGRVItT1ItTkFNRSBm cm9tIGFsbAord2luZG93LWxvY2FsIGJ1ZmZlciBsaXN0cyBhbmQgcmVtb3ZlcyBhbnkgYHF1 aXQtcmVzdG9yZScgb3IKK2BxdWl0LXJlc3RvcmUtcHJldicgcGFyYW1ldGVycyBtZW50aW9u aW5nIGl0LiIKICAgKGludGVyYWN0aXZlICJiQnVmZmVyIHRvIHJlcGxhY2U6ICIpCiAgIChs ZXQgKChidWZmZXIgKHdpbmRvdy1ub3JtYWxpemUtYnVmZmVyIGJ1ZmZlci1vci1uYW1lKSkp CisgICAgOzsgU2NhbiBhbGwgd2luZG93cy4gIFdlIGhhdmUgdG8gdW5yZWNvcmQgQlVGRkVS IGluIHRob3NlIG5vdAorICAgIDs7IHNob3dpbmcgaXQuCiAgICAgKGRvbGlzdCAod2luZG93 ICh3aW5kb3ctbGlzdC0xIG5pbCBuaWwgdCkpCi0gICAgICAoaWYgKGVxICh3aW5kb3ctYnVm ZmVyIHdpbmRvdykgYnVmZmVyKQotICAgICAgICAgIDs7IERlbGV0ZSBhIGRlZGljYXRlZCB3 aW5kb3cgdW5sZXNzIGl0IGlzIGEgc2lkZSB3aW5kb3cuCi0gICAgICAgICAgKGxldCAoKGRl ZGljYXRlZC1zaWRlIChlcSAod2luZG93LWRlZGljYXRlZC1wIHdpbmRvdykgJ3NpZGUpKSkK LSAgICAgICAgICAgICh3aGVuIChvciBkZWRpY2F0ZWQtc2lkZSAobm90ICh3aW5kb3ctLWRl bGV0ZSB3aW5kb3cgdCB0KSkpCi0gICAgICAgICAgICAgIDs7IFN3aXRjaCB0byBhbm90aGVy IGJ1ZmZlciBpbiB0aGF0IHdpbmRvdy4KLSAgICAgICAgICAgICAgKHNldC13aW5kb3ctZGVk aWNhdGVkLXAgd2luZG93IG5pbCkKLSAgICAgICAgICAgICAgKGlmIChzd2l0Y2gtdG8tcHJl di1idWZmZXIgd2luZG93ICdraWxsKQotICAgICAgICAgICAgICAgICAgKGFuZCBkZWRpY2F0 ZWQtc2lkZSAoc2V0LXdpbmRvdy1kZWRpY2F0ZWQtcCB3aW5kb3cgJ3NpZGUpKQotICAgICAg ICAgICAgICAgICh3aW5kb3ctLWRlbGV0ZSB3aW5kb3cgbmlsICdraWxsKSkpKQotCTs7IFVu cmVjb3JkIEJVRkZFUiBpbiBXSU5ET1cuCisgICAgICAod2hlbiAoZXEgKHdpbmRvdy1idWZm ZXIgd2luZG93KSBidWZmZXIpCisJKHF1aXQtcmVzdG9yZS13aW5kb3cgd2luZG93KSkKKyAg ICAgICh3aGVuICh3aW5kb3ctbGl2ZS1wIHdpbmRvdykKKwk7OyBVbnJlY29yZCBCVUZGRVIg aW4gdGhpcyB3aW5kb3cuCiAJKHVucmVjb3JkLXdpbmRvdy1idWZmZXIgd2luZG93IGJ1ZmZl cikpKSkpCiAKIChkZWZjdXN0b20gcXVpdC13aW5kb3ctaG9vayBuaWwKQEAgLTUxNzYsMTMg KzUxOTIsMTMgQEAgcXVpdC1yZXN0b3JlLXdpbmRvdwogICAiUXVpdCBXSU5ET1cgYW5kIGRl YWwgd2l0aCBpdHMgYnVmZmVyLgogV0lORE9XIG11c3QgYmUgYSBsaXZlIHdpbmRvdyBhbmQg ZGVmYXVsdHMgdG8gdGhlIHNlbGVjdGVkIG9uZS4KIAotQWNjb3JkaW5nIHRvIGluZm9ybWF0 aW9uIHN0b3JlZCBpbiBXSU5ET1cncyBgcXVpdC1yZXN0b3JlJyB3aW5kb3cKLXBhcmFtZXRl ciBlaXRoZXIgKDEpIGRlbGV0ZSBXSU5ET1cgYW5kIGl0cyBmcmFtZSwgKDIpIGRlbGV0ZQot V0lORE9XIGJ1dCBsZWF2ZSBpdHMgZnJhbWUgYWxvbmUsICgzKSByZXN0b3JlIHRoZSBidWZm ZXIKLXByZXZpb3VzbHkgc2hvd24gaW4gV0lORE9XLCBvciAoNCkgbWFrZSBXSU5ET1cgZGlz cGxheSBzb21lIG90aGVyCi1idWZmZXIuICBJZiBXSU5ET1cgaXMgbm90IGRlbGV0ZWQsIHJl c2V0IGl0cyBgcXVpdC1yZXN0b3JlJwotcGFyYW1ldGVyIHRvIG5pbC4gIFNlZSBJbmZvIG5v ZGUgYChlbGlzcCkgUXVpdHRpbmcgV2luZG93cycgZm9yCi1tb3JlIGRldGFpbHMuCitBY2Nv cmRpbmcgdG8gaW5mb3JtYXRpb24gc3RvcmVkIGluIFdJTkRPVydzIGBxdWl0LXJlc3RvcmUn IGFuZAorYHF1aXQtcmVzdG9yZS1wcmV2JyB3aW5kb3cgcGFyYW1ldGVycyBlaXRoZXIgKDEp IGRlbGV0ZSBXSU5ET1cgYW5kIGl0cworZnJhbWUsICgyKSBkZWxldGUgV0lORE9XIGJ1dCBs ZWF2ZSBpdHMgZnJhbWUgYWxvbmUsICgzKSByZXN0b3JlIHRoZQorYnVmZmVyIHByZXZpb3Vz bHkgc2hvd24gaW4gV0lORE9XLCBvciAoNCkgbWFrZSBXSU5ET1cgZGlzcGxheSBzb21lIG90 aGVyCitidWZmZXIuICBJbiBjYXNlICgzKSBzZXQgYW55IG9mIHRoZXNlIHBhcmFtZXRlcnMg dG8gbmlsIGlmIGl0IGhhcyBiZWVuCit1c2VkIHRvIHJlc3RvcmUgdGhlIHByZXZpb3VzbHkg c2hvd24gYnVmZmVyLiAgU2VlIEluZm8gbm9kZSBgKGVsaXNwKQorUXVpdHRpbmcgV2luZG93 cycgZm9yIG1vcmUgZGV0YWlscy4KIAogSWYgV0lORE9XJ3MgZGVkaWNhdGVkIGZsYWcgaXMg dCwgdHJ5IHRvIGRlbGV0ZSBXSU5ET1cuICBJZiBpdAogZXF1YWxzIHRoZSB2YWx1ZSBgc2lk ZScsIHJlc3RvcmUgdGhhdCB2YWx1ZSB3aGVuIFdJTkRPVyBpcyBub3QKQEAgLTUyMTAsMTMg KzUyMjYsMTUgQEAgcXVpdC1yZXN0b3JlLXdpbmRvdwogICAoc2V0cSB3aW5kb3cgKHdpbmRv dy1ub3JtYWxpemUtd2luZG93IHdpbmRvdyB0KSkKICAgKGxldCogKChidWZmZXIgKHdpbmRv dy1idWZmZXIgd2luZG93KSkKIAkgKHF1aXQtcmVzdG9yZSAod2luZG93LXBhcmFtZXRlciB3 aW5kb3cgJ3F1aXQtcmVzdG9yZSkpCisJIChxdWl0LXJlc3RvcmUtcHJldiAod2luZG93LXBh cmFtZXRlciB3aW5kb3cgJ3F1aXQtcmVzdG9yZS1wcmV2KSkKIAkgKHF1aXQtcmVzdG9yZS0y IChudGggMiBxdWl0LXJlc3RvcmUpKQorCSAocXVpdC1yZXN0b3JlLXByZXYtMiAobnRoIDIg cXVpdC1yZXN0b3JlLXByZXYpKQogICAgICAgICAgKHByZXYtYnVmZmVyIChjYXRjaCAncHJl di1idWZmZXIKICAgICAgICAgICAgICAgICAgICAgICAgIChkb2xpc3QgKGJ1ZiAod2luZG93 LXByZXYtYnVmZmVycyB3aW5kb3cpKQogICAgICAgICAgICAgICAgICAgICAgICAgICAodW5s ZXNzIChlcSAoY2FyIGJ1ZikgYnVmZmVyKQogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICh0aHJvdyAncHJldi1idWZmZXIgKGNhciBidWYpKSkpKSkKICAgICAgICAgIChkZWRpY2F0 ZWQgKHdpbmRvdy1kZWRpY2F0ZWQtcCB3aW5kb3cpKQotCSBxdWFkIGVudHJ5KQorCSBxdWFk IGVudHJ5IHJlc2V0LXByZXYpCiAgICAgKGNvbmQKICAgICAgOzsgRmlyc3QgdHJ5IHRvIGRl bGV0ZSBkZWRpY2F0ZWQgd2luZG93cyB0aGF0IGFyZSBub3Qgc2lkZSB3aW5kb3dzLgogICAg ICAoKGFuZCBkZWRpY2F0ZWQgKG5vdCAoZXEgZGVkaWNhdGVkICdzaWRlKSkKQEAgLTUyMzAs MjEgKzUyNDgsMzUgQEAgcXVpdC1yZXN0b3JlLXdpbmRvdwogICAgICAgOzsgSWYgdGhlIHBy ZXZpb3VzbHkgc2VsZWN0ZWQgd2luZG93IGlzIHN0aWxsIGFsaXZlLCBzZWxlY3QgaXQuCiAg ICAgICAod2luZG93LS1xdWl0LXJlc3RvcmUtc2VsZWN0LXdpbmRvdyBxdWl0LXJlc3RvcmUt MikpCiAgICAgICgoYW5kIChub3QgcHJldi1idWZmZXIpCi0JICAgKG9yIChlcSAobnRoIDEg cXVpdC1yZXN0b3JlKSAnZnJhbWUpCi0JICAgICAgIChhbmQgKGVxIChudGggMSBxdWl0LXJl c3RvcmUpICd3aW5kb3cpCi0JCSAgICA7OyBJZiB0aGUgd2luZG93IGhhcyBiZWVuIGNyZWF0 ZWQgb24gYW4gZXhpc3RpbmcKLQkJICAgIDs7IGZyYW1lIGFuZCBlbmRlZCB1cCBhcyB0aGUg c29sZSB3aW5kb3cgb24gdGhhdAotCQkgICAgOzsgZnJhbWUsIGRvIG5vdCBkZWxldGUgaXQg KEJ1ZyMxMjc2NCkuCi0JCSAgICAobm90IChlcSB3aW5kb3cgKGZyYW1lLXJvb3Qtd2luZG93 IHdpbmRvdykpKSkpCi0JICAgKGVxIChudGggMyBxdWl0LXJlc3RvcmUpIGJ1ZmZlcikKKwkg ICAob3IgKGFuZCAob3IgKGVxIChudGggMSBxdWl0LXJlc3RvcmUpICdmcmFtZSkKKwkJCShh bmQgKGVxIChudGggMSBxdWl0LXJlc3RvcmUpICd3aW5kb3cpCisJCQkgICAgIDs7IElmIHRo ZSB3aW5kb3cgaGFzIGJlZW4gY3JlYXRlZCBvbiBhbgorCQkJICAgICA7OyBleGlzdGluZyBm cmFtZSBhbmQgZW5kZWQgdXAgYXMgdGhlIHNvbGUKKwkJCSAgICAgOzsgd2luZG93IG9uIHRo YXQgZnJhbWUsIGRvIG5vdCBkZWxldGUgaXQKKwkJCSAgICAgOzsgKEJ1ZyMxMjc2NCkuCisJ CQkgICAgIChub3QgKGVxIHdpbmRvdyAoZnJhbWUtcm9vdC13aW5kb3cgd2luZG93KSkpKSkK KwkJICAgIChlcSAobnRoIDMgcXVpdC1yZXN0b3JlKSBidWZmZXIpKQorCSAgICAgICAoYW5k IChvciAoZXEgKG50aCAxIHF1aXQtcmVzdG9yZS1wcmV2KSAnZnJhbWUpCisJCQkoYW5kIChl cSAobnRoIDEgcXVpdC1yZXN0b3JlLXByZXYpICd3aW5kb3cpCisJCQkgICAgIChub3QgKGVx IHdpbmRvdyAoZnJhbWUtcm9vdC13aW5kb3cgd2luZG93KSkpKSkKKwkJICAgIChlcSAobnRo IDMgcXVpdC1yZXN0b3JlLXByZXYpIGJ1ZmZlcikKKwkJICAgIDs7IFVzZSBzZWxlY3RlZCB3 aW5kb3cgZnJvbSBxdWl0LXJlc3RvcmUtcHJldi4KKwkJICAgIChzZXRxIHF1aXQtcmVzdG9y ZS0yIHF1aXQtcmVzdG9yZS1wcmV2LTIpKSkKIAkgICA7OyBEZWxldGUgV0lORE9XIGlmIHBv c3NpYmxlLgogCSAgICh3aW5kb3ctLWRlbGV0ZSB3aW5kb3cgbmlsIChlcSBidXJ5LW9yLWtp bGwgJ2tpbGwpKSkKICAgICAgIDs7IElmIHRoZSBwcmV2aW91c2x5IHNlbGVjdGVkIHdpbmRv dyBpcyBzdGlsbCBhbGl2ZSwgc2VsZWN0IGl0LgogICAgICAgKHdpbmRvdy0tcXVpdC1yZXN0 b3JlLXNlbGVjdC13aW5kb3cgcXVpdC1yZXN0b3JlLTIpKQotICAgICAoKGFuZCAobGlzdHAg KHNldHEgcXVhZCAobnRoIDEgcXVpdC1yZXN0b3JlKSkpCi0JICAgKGJ1ZmZlci1saXZlLXAg KGNhciBxdWFkKSkKLQkgICAoZXEgKG50aCAzIHF1aXQtcmVzdG9yZSkgYnVmZmVyKSkKLSAg ICAgIDs7IFNob3cgYW5vdGhlciBidWZmZXIgc3RvcmVkIGluIHF1aXQtcmVzdG9yZSBwYXJh bWV0ZXIuCisgICAgICgob3IgKGFuZCAobGlzdHAgKHNldHEgcXVhZCAobnRoIDEgcXVpdC1y ZXN0b3JlLXByZXYpKSkKKwkgICAgICAgKGJ1ZmZlci1saXZlLXAgKGNhciBxdWFkKSkKKwkg ICAgICAgKGVxIChudGggMyBxdWl0LXJlc3RvcmUtcHJldikgYnVmZmVyKQorCSAgICAgICA7 OyBVc2Ugc2VsZWN0ZWQgd2luZG93IGZyb20gcXVpdC1yZXN0b3JlLXByZXYuCisJICAgICAg IChzZXRxIHF1aXQtcmVzdG9yZS0yIHF1aXQtcmVzdG9yZS1wcmV2LTIpCisJICAgICAgIDs7 IFdlIHdhbnQgdG8gcmVzZXQgcXVpdC1yZXN0b3JlLXByZXYgb25seS4KKwkgICAgICAgKHNl dHEgcmVzZXQtcHJldiB0KSkKKwkgIChhbmQgKGxpc3RwIChzZXRxIHF1YWQgKG50aCAxIHF1 aXQtcmVzdG9yZSkpKQorCSAgICAgICAoYnVmZmVyLWxpdmUtcCAoY2FyIHF1YWQpKQorCSAg ICAgICAoZXEgKG50aCAzIHF1aXQtcmVzdG9yZSkgYnVmZmVyKSkpCisgICAgICA7OyBTaG93 IGFub3RoZXIgYnVmZmVyIHN0b3JlZCBpbiBxdWl0LXJlc3RvcmUoLXByZXYpIHBhcmFtZXRl ci4KICAgICAgICh3aGVuIChhbmQgKGludGVnZXJwIChudGggMyBxdWFkKSkKIAkJIChpZiAo d2luZG93LWNvbWJpbmVkLXAgd2luZG93KQogICAgICAgICAgICAgICAgICAgICAgKC89IChu dGggMyBxdWFkKSAod2luZG93LXRvdGFsLWhlaWdodCB3aW5kb3cpKQpAQCAtNTI4MSwxNSAr NTMxMywxOCBAQCBxdWl0LXJlc3RvcmUtd2luZG93CiAJOzsgYGRpc3BsYXktYnVmZmVyLWlu LXByZXZpb3VzLXdpbmRvdycgY2FuIG5ldmVydGhlbGVzcyBmaW5kIGl0LgogCShzZXQtd2lu ZG93LXByZXYtYnVmZmVycwogCSB3aW5kb3cgKGFwcGVuZCAod2luZG93LXByZXYtYnVmZmVy cyB3aW5kb3cpIChsaXN0IGVudHJ5KSkpKQotICAgICAgOzsgUmVzZXQgdGhlIHF1aXQtcmVz dG9yZSBwYXJhbWV0ZXIuCi0gICAgICAoc2V0LXdpbmRvdy1wYXJhbWV0ZXIgd2luZG93ICdx dWl0LXJlc3RvcmUgbmlsKQorICAgICAgOzsgUmVzZXQgdGhlIHF1aXQtcmVzdG9yZSgtcHJl dikgcGFyYW1ldGVyLgorICAgICAgKHNldC13aW5kb3ctcGFyYW1ldGVyIHdpbmRvdyAncXVp dC1yZXN0b3JlLXByZXYgbmlsKQorICAgICAgKHVubGVzcyByZXNldC1wcmV2CisJOzsgSWYg cXVpdC1yZXN0b3JlLXByZXYgd2FzIG5vdCB1c2VkLCByZXNldCB0aGUgcXVpdC1yZXN0b3Jl CisJOzsgcGFyYW1ldGVyCisJKHNldC13aW5kb3ctcGFyYW1ldGVyIHdpbmRvdyAncXVpdC1y ZXN0b3JlIG5pbCkpCiAgICAgICA7OyBTZWxlY3Qgb2xkIHdpbmRvdy4KICAgICAgIDs7IElm IHRoZSBwcmV2aW91c2x5IHNlbGVjdGVkIHdpbmRvdyBpcyBzdGlsbCBhbGl2ZSwgc2VsZWN0 IGl0LgogICAgICAgKHdpbmRvdy0tcXVpdC1yZXN0b3JlLXNlbGVjdC13aW5kb3cgcXVpdC1y ZXN0b3JlLTIpKQogICAgICAodAotICAgICAgOzsgU2hvdyBzb21lIG90aGVyIGJ1ZmZlciBp biBXSU5ET1cgYW5kIHJlc2V0IHRoZSBxdWl0LXJlc3RvcmUKLSAgICAgIDs7IHBhcmFtZXRl ci4KLSAgICAgIChzZXQtd2luZG93LXBhcmFtZXRlciB3aW5kb3cgJ3F1aXQtcmVzdG9yZSBu aWwpCisgICAgICA7OyBTaG93IHNvbWUgb3RoZXIgYnVmZmVyIGluIFdJTkRPVyBhbmQgbGVh dmUgdGhlCisgICAgICA7OyBxdWl0LXJlc3RvcmUoLXByZXYpIHBhcmFtZXRlcnMgYWxvbmUg KEp1cmkncyBpZGVhKS4KICAgICAgIDs7IE1ha2Ugc3VyZSB0aGF0IFdJTkRPVyBpcyBubyBt b3JlIGRlZGljYXRlZC4KICAgICAgIChzZXQtd2luZG93LWRlZGljYXRlZC1wIHdpbmRvdyBu aWwpCiAgICAgICA7OyBUcnkgdG8gc3dpdGNoIHRvIGEgcHJldmlvdXMgYnVmZmVyLiAgRGVs ZXRlIHRoZSB3aW5kb3cgb25seSBpZgpAQCAtNTI5NywxMCArNTMzMiw3IEBAIHF1aXQtcmVz dG9yZS13aW5kb3cKICAgICAgIChpZiAoc3dpdGNoLXRvLXByZXYtYnVmZmVyIHdpbmRvdyBi dXJ5LW9yLWtpbGwpCiAgICAgICAgICAgKHdoZW4gKGVxIGRlZGljYXRlZCAnc2lkZSkKICAg ICAgICAgICAgIChzZXQtd2luZG93LWRlZGljYXRlZC1wIHdpbmRvdyAnc2lkZSkpCi0gICAg ICAgICh3aW5kb3ctLWRlbGV0ZSB3aW5kb3cgbmlsIChlcSBidXJ5LW9yLWtpbGwgJ2tpbGwp KQotICAgICAgOzsgSWYgdGhlIHByZXZpb3VzbHkgc2VsZWN0ZWQgd2luZG93IGlzIHN0aWxs IGFsaXZlLCBzZWxlY3QgaXQuCi0gICAgICAod2luZG93LS1xdWl0LXJlc3RvcmUtc2VsZWN0 LXdpbmRvdyBxdWl0LXJlc3RvcmUtMikpKSkKLQorICAgICAgICAod2luZG93LS1kZWxldGUg d2luZG93IG5pbCAoZXEgYnVyeS1vci1raWxsICdraWxsKSkpKSkKICAgICA7OyBEZWFsIHdp dGggdGhlIGJ1ZmZlci4KICAgICAoY29uZAogICAgICAoKG5vdCAoYnVmZmVyLWxpdmUtcCBi dWZmZXIpKSkKQEAgLTUzMzYsMTcgKzUzNjgsMjEgQEAgcXVpdC13aW5kb3dzLW9uCiBCVUZG RVItT1ItTkFNRS4gIE9wdGlvbmFsIGFyZ3VtZW50IEZSQU1FIGlzIGhhbmRsZWQgYXMgYnkK IGBkZWxldGUtd2luZG93cy1vbicuCiAKLVRoaXMgZnVuY3Rpb24gY2FsbHMgYHF1aXQtd2lu ZG93JyBvbiBhbGwgY2FuZGlkYXRlIHdpbmRvd3MKLXNob3dpbmcgQlVGRkVSLU9SLU5BTUUu IgorVGhpcyBmdW5jdGlvbiBjYWxscyBgcXVpdC1yZXN0b3JlLXdpbmRvdycgb24gYWxsIGNh bmRpZGF0ZSB3aW5kb3dzCitzaG93aW5nIEJVRkZFUi1PUi1OQU1FLiAgSW4gYWRkaXRpb24s IGl0IHJlbW92ZXMgdGhlIGJ1ZmZlciBkZW5vdGVkIGJ5CitCVUZGRVItT1ItTkFNRSBmcm9t IGFsbCB3aW5kb3ctbG9jYWwgYnVmZmVyIGxpc3RzIGFuZCByZW1vdmVzIGFueQorYHF1aXQt cmVzdG9yZScgb3IgYHF1aXQtcmVzdG9yZS1wcmV2JyBwYXJhbWV0ZXJzIG1lbnRpb25pbmcg aXQuIgogICAoaW50ZXJhY3RpdmUgImJRdWl0IHdpbmRvd3Mgb24gKGJ1ZmZlcik6XG5QIikK ICAgKGxldCAoKGJ1ZmZlciAod2luZG93LW5vcm1hbGl6ZS1idWZmZXIgYnVmZmVyLW9yLW5h bWUpKQogCTs7IEhhbmRsZSB0aGUgImludmVydGVkIiBtZWFuaW5nIG9mIHRoZSBGUkFNRSBh cmd1bWVudCB3cnQgb3RoZXIKLQk7OyBgd2luZG93LWxpc3QtMScgYmFzZWQgZnVuY3Rpb24u Ci0JKGFsbC1mcmFtZXMgKGNvbmQgKChub3QgZnJhbWUpIHQpICgoZXEgZnJhbWUgdCkgbmls KSAodCBmcmFtZSkpKSkKLSAgICAoZG9saXN0ICh3aW5kb3cgKHdpbmRvdy1saXN0LTEgbmls IG5pbCBhbGwtZnJhbWVzKSkKLSAgICAgIChpZiAoZXEgKHdpbmRvdy1idWZmZXIgd2luZG93 KSBidWZmZXIpCi0JICAocXVpdC13aW5kb3cga2lsbCB3aW5kb3cpCi0JOzsgSWYgYSB3aW5k b3cgZG9lc24ndCBzaG93IEJVRkZFUiwgdW5yZWNvcmQgQlVGRkVSIGluIGl0LgorCTs7IGB3 aW5kb3ctbGlzdCcgYmFzZWQgZnVuY3Rpb24uCisJKGZyYW1lcyAoY29uZCAoKG5vdCBmcmFt ZSkgdCkgKChlcSBmcmFtZSB0KSBuaWwpICh0IGZyYW1lKSkpKQorICAgIChkb2xpc3QgKHdp bmRvdyAod2luZG93LWxpc3QtMSBuaWwgbmlsIGZyYW1lcykpCisgICAgICAod2hlbiAoZXEg KHdpbmRvdy1idWZmZXIgd2luZG93KSBidWZmZXIpCisJKHF1aXQtcmVzdG9yZS13aW5kb3cg d2luZG93IGtpbGwpKQorCisgICAgICAod2hlbiAod2luZG93LWxpdmUtcCB3aW5kb3cpCisJ OzsgVW5yZWNvcmQgQlVGRkVSIGluIHRoaXMgd2luZG93LgogCSh1bnJlY29yZC13aW5kb3ct YnVmZmVyIHdpbmRvdyBidWZmZXIpKSkpKQogDAogKGRlZnVuIHdpbmRvdy0tY29tYmluYXRp b24tcmVzaXphYmxlIChwYXJlbnQgJm9wdGlvbmFsIGhvcml6b250YWwpCkBAIC02NjU2LDcg KzY2OTIsMTMgQEAgZGlzcGxheS1idWZmZXItcmVjb3JkLXdpbmRvdwogcHJldmlvdXNseSBz aG93biBpbiB0aGUgd2luZG93LCB0aGF0IGJ1ZmZlcidzIHdpbmRvdyBzdGFydCBhbmQKIHdp bmRvdyBwb2ludCwgYW5kIHRoZSB3aW5kb3cncyBoZWlnaHQuICBUaGUgdGhpcmQgZWxlbWVu dCBpcyB0aGUKIHdpbmRvdyBzZWxlY3RlZCBhdCB0aGUgdGltZSB0aGUgcGFyYW1ldGVyIHdh cyBjcmVhdGVkLiAgVGhlCi1mb3VydGggZWxlbWVudCBpcyBCVUZGRVIuIgorZm91cnRoIGVs ZW1lbnQgaXMgQlVGRkVSLgorCitJZiBUWVBFIGlzIGByZXVzZScsIEJVRkZFUiBpcyBkaWZm ZXJlbnQgZnJvbSB0aGUgb25lIGN1cnJlbnRseSBkaXNwbGF5ZWQKK2luIFdJTkRPVywgYW5k IFdJTkRPVyBhbHJlYWR5IGhhcyBhIGBxdWl0LXJlc3RvcmUnIHBhcmFtZXRlciwgaW5zdGFs bCBvcgordXBkYXRlIGEgYHF1aXQtcmVzdG9yZS1wcmV2JyBwYXJhbWV0ZXIgZm9yIHRoaXMg d2luZG93IHRoYXQgYWxsb3dzIHRvCitxdWl0IFdJTkRPVyBpbiBhIHNpbWlsYXIgZmFzaGlv biBidXQgcmVtZW1iZXJzIHRoZSB2ZXJ5IGZpcnN0IGluIGEKK3NlcmllcyBvZiBidWZmZXIg ZGlzcGxheSBvcGVyYXRpb25zIGZvciB0aGlzIHdpbmRvdy4iCiAgIChjb25kCiAgICAoKGVx IHR5cGUgJ3JldXNlKQogICAgIChpZiAoZXEgKHdpbmRvdy1idWZmZXIgd2luZG93KSBidWZm ZXIpCkBAIC02NjczLDcgKzY3MTUsNyBAQCBkaXNwbGF5LWJ1ZmZlci1yZWNvcmQtd2luZG93 CiAgICAgICA7OyBXSU5ET1cgc2hvd3MgYW5vdGhlciBidWZmZXIuCiAgICAgICAod2l0aC1j dXJyZW50LWJ1ZmZlciAod2luZG93LWJ1ZmZlciB3aW5kb3cpCiAJKHNldC13aW5kb3ctcGFy YW1ldGVyCi0JIHdpbmRvdyAncXVpdC1yZXN0b3JlCisJIHdpbmRvdyAncXVpdC1yZXN0b3Jl LXByZXYKIAkgKGxpc3QgJ290aGVyCiAJICAgICAgIDs7IEEgcXVhZHJ1cGxlIG9mIFdJTkRP VydzIGJ1ZmZlciwgc3RhcnQsIHBvaW50IGFuZCBoZWlnaHQuCiAJICAgICAgIChsaXN0IChj dXJyZW50LWJ1ZmZlcikgKHdpbmRvdy1zdGFydCB3aW5kb3cpCkBAIC05MTAzLDYgKzkxNDUs OSBAQCBzd2l0Y2gtdG8tYnVmZmVyCiBhcyBwcmVzY3JpYmVkIGJ5IHRoZSBvcHRpb24gYHN3 aXRjaC10by1idWZmZXItcHJlc2VydmUtd2luZG93LXBvaW50Jy4KIE90aGVyd2lzZSwgdGhl c2UgYXJlIGxlZnQgYWxvbmUuCiAKK0luIGVpdGhlciBjYXNlLCBjYWxsIGBkaXNwbGF5LWJ1 ZmZlci1yZWNvcmQtd2luZG93JyB0byBhdm9pZCBkaXNydXB0aW5nCithIHNlcXVlbmNlIG9m IGBkaXNwbGF5LWJ1ZmZlcicgb3BlcmF0aW9ucyB1c2luZyB0aGlzIHdpbmRvdy4KKwogUmV0 dXJuIHRoZSBidWZmZXIgc3dpdGNoZWQgdG8uIgogICAoaW50ZXJhY3RpdmUKICAgIChsZXQg KChmb3JjZS1zYW1lLXdpbmRvdwpAQCAtOTE1OCw2ICs5MjAzLDExIEBAIHN3aXRjaC10by1i dWZmZXIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJ1ZmZlcikpCiAJ ICAgICAgIChkaXNwbGF5ZWQgKGFuZCAoZXEgcHJlc2VydmUtd2luLXBvaW50ICdhbHJlYWR5 LWRpc3BsYXllZCkKIAkJCSAgICAgICAoZ2V0LWJ1ZmZlci13aW5kb3cgYnVmZmVyIDApKSkp CisKKwkgIDs7IE1ha2Ugc3VyZSBxdWl0dGluZyB0aGUgd2luZG93IHdvcmtzLgorCSAgKHVu bGVzcyBzd2l0Y2gtdG8tYnVmZmVyLW9iZXktZGlzcGxheS1hY3Rpb25zCisJICAgIChkaXNw bGF5LWJ1ZmZlci1yZWNvcmQtd2luZG93ICdyZXVzZSAoc2VsZWN0ZWQtd2luZG93KSBidWZm ZXIpKQorCiAJICAoc2V0LXdpbmRvdy1idWZmZXIgbmlsIGJ1ZmZlcikKIAkgICh3aGVuIChh bmQgZW50cnkgKG9yIChlcSBwcmVzZXJ2ZS13aW4tcG9pbnQgdCkgZGlzcGxheWVkKSkKIAkg ICAgOzsgVHJ5IHRvIHJlc3RvcmUgc3RhcnQgYW5kIHBvaW50IG9mIGJ1ZmZlciBpbiB0aGUg c2VsZWN0ZWQK --------------xIisI0wIMSyB0RW73pBjpgJU--
X-Loop: help-debbugs@HIDDEN Subject: bug#59862: quit-restore per window buffer Resent-From: Juri Linkov <juri@HIDDEN> Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> Resent-CC: bug-gnu-emacs@HIDDEN Resent-Date: Tue, 04 Jun 2024 06:55:02 +0000 Resent-Message-ID: <handler.59862.B59862.171748408532127 <at> debbugs.gnu.org> Resent-Sender: help-debbugs@HIDDEN X-GNU-PR-Message: followup 59862 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: martin rudalics <rudalics@HIDDEN> Cc: 59862 <at> debbugs.gnu.org Received: via spool by 59862-submit <at> debbugs.gnu.org id=B59862.171748408532127 (code B ref 59862); Tue, 04 Jun 2024 06:55:02 +0000 Received: (at 59862) by debbugs.gnu.org; 4 Jun 2024 06:54:45 +0000 Received: from localhost ([127.0.0.1]:56223 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1sEO4C-0008M7-NE for submit <at> debbugs.gnu.org; Tue, 04 Jun 2024 02:54:45 -0400 Received: from relay5-d.mail.gandi.net ([217.70.183.197]:37379) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <juri@HIDDEN>) id 1sEO49-0008Ls-M9 for 59862 <at> debbugs.gnu.org; Tue, 04 Jun 2024 02:54:43 -0400 Received: by mail.gandi.net (Postfix) with ESMTPSA id 737E71C0005; Tue, 4 Jun 2024 06:54:01 +0000 (UTC) From: Juri Linkov <juri@HIDDEN> In-Reply-To: <f9eb9bae-6275-4448-9590-e72a56064220@HIDDEN> (martin rudalics's message of "Mon, 3 Jun 2024 18:09:52 +0200") Organization: LINKOV.NET References: <86fsds8mlm.fsf@HIDDEN> <86ttibq1w1.fsf@HIDDEN> <8243325e-ed03-4e9e-b64f-c8225fb6dc60@HIDDEN> <18173da7-32e1-4f14-bbea-9a8fa66af7dd@HIDDEN> <f9eb9bae-6275-4448-9590-e72a56064220@HIDDEN> Date: Tue, 04 Jun 2024 09:53:14 +0300 Message-ID: <86plsxmc6d.fsf@HIDDEN> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/30.0.50 (x86_64-pc-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain X-GND-Sasl: juri@HIDDEN X-Spam-Score: -0.7 (/) X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.7 (-) > I revisited it once more and attach my last patch. It also seems to > DTRT with C-x 4 d RET C-h C-t C-h C-n q q q but would still require a > longer period of testing. Thanks, I started testing.
X-Loop: help-debbugs@HIDDEN Subject: bug#59862: quit-restore per window buffer Resent-From: Juri Linkov <juri@HIDDEN> Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> Resent-CC: bug-gnu-emacs@HIDDEN Resent-Date: Wed, 05 Jun 2024 17:54:01 +0000 Resent-Message-ID: <handler.59862.B59862.171760998729370 <at> debbugs.gnu.org> Resent-Sender: help-debbugs@HIDDEN X-GNU-PR-Message: followup 59862 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: martin rudalics <rudalics@HIDDEN> Cc: 59862 <at> debbugs.gnu.org Received: via spool by 59862-submit <at> debbugs.gnu.org id=B59862.171760998729370 (code B ref 59862); Wed, 05 Jun 2024 17:54:01 +0000 Received: (at 59862) by debbugs.gnu.org; 5 Jun 2024 17:53:07 +0000 Received: from localhost ([127.0.0.1]:52950 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1sEuot-0007dc-Ey for submit <at> debbugs.gnu.org; Wed, 05 Jun 2024 13:53:07 -0400 Received: from mslow1.mail.gandi.net ([217.70.178.240]:52337) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <juri@HIDDEN>) id 1sEuor-0007dE-4J for 59862 <at> debbugs.gnu.org; Wed, 05 Jun 2024 13:53:06 -0400 Received: from relay3-d.mail.gandi.net (unknown [IPv6:2001:4b98:dc4:8::223]) by mslow1.mail.gandi.net (Postfix) with ESMTP id 5E36FC5B66 for <59862 <at> debbugs.gnu.org>; Wed, 5 Jun 2024 17:12:07 +0000 (UTC) Received: by mail.gandi.net (Postfix) with ESMTPSA id 3FB8560003; Wed, 5 Jun 2024 17:11:45 +0000 (UTC) From: Juri Linkov <juri@HIDDEN> In-Reply-To: <86plsxmc6d.fsf@HIDDEN> (Juri Linkov's message of "Tue, 04 Jun 2024 09:53:14 +0300") Organization: LINKOV.NET References: <86fsds8mlm.fsf@HIDDEN> <86ttibq1w1.fsf@HIDDEN> <8243325e-ed03-4e9e-b64f-c8225fb6dc60@HIDDEN> <18173da7-32e1-4f14-bbea-9a8fa66af7dd@HIDDEN> <f9eb9bae-6275-4448-9590-e72a56064220@HIDDEN> <86plsxmc6d.fsf@HIDDEN> Date: Wed, 05 Jun 2024 19:56:14 +0300 Message-ID: <86le3jbrs1.fsf@HIDDEN> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/30.0.50 (x86_64-pc-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain X-GND-Sasl: juri@HIDDEN X-Spam-Score: -0.7 (/) X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.7 (-) >> I revisited it once more and attach my last patch. It also seems to >> DTRT with C-x 4 d RET C-h C-t C-h C-n q q q but would still require a >> longer period of testing. > > Thanks, I started testing. The testing showed that now quit-restore works much better, and even supports tabs. Thank you very much.
X-Loop: help-debbugs@HIDDEN Subject: bug#59862: quit-restore per window buffer Resent-From: Juri Linkov <juri@HIDDEN> Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> Resent-CC: bug-gnu-emacs@HIDDEN Resent-Date: Tue, 11 Jun 2024 15:55:02 +0000 Resent-Message-ID: <handler.59862.B59862.17181212672991 <at> debbugs.gnu.org> Resent-Sender: help-debbugs@HIDDEN X-GNU-PR-Message: followup 59862 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: martin rudalics <rudalics@HIDDEN> Cc: 59862 <at> debbugs.gnu.org Received: via spool by 59862-submit <at> debbugs.gnu.org id=B59862.17181212672991 (code B ref 59862); Tue, 11 Jun 2024 15:55:02 +0000 Received: (at 59862) by debbugs.gnu.org; 11 Jun 2024 15:54:27 +0000 Received: from localhost ([127.0.0.1]:35836 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1sH3pL-0000mB-FO for submit <at> debbugs.gnu.org; Tue, 11 Jun 2024 11:54:27 -0400 Received: from mslow1.mail.gandi.net ([217.70.178.240]:43917) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <juri@HIDDEN>) id 1sH3pJ-0000lz-Dz for 59862 <at> debbugs.gnu.org; Tue, 11 Jun 2024 11:54:26 -0400 Received: from relay2-d.mail.gandi.net (unknown [IPv6:2001:4b98:dc4:8::222]) by mslow1.mail.gandi.net (Postfix) with ESMTP id 15773C4DD7 for <59862 <at> debbugs.gnu.org>; Tue, 11 Jun 2024 07:11:49 +0000 (UTC) Received: by mail.gandi.net (Postfix) with ESMTPSA id 91E9540008; Tue, 11 Jun 2024 07:11:40 +0000 (UTC) From: Juri Linkov <juri@HIDDEN> In-Reply-To: <86plsxmc6d.fsf@HIDDEN> (Juri Linkov's message of "Tue, 04 Jun 2024 09:53:14 +0300") Organization: LINKOV.NET References: <86fsds8mlm.fsf@HIDDEN> <86ttibq1w1.fsf@HIDDEN> <8243325e-ed03-4e9e-b64f-c8225fb6dc60@HIDDEN> <18173da7-32e1-4f14-bbea-9a8fa66af7dd@HIDDEN> <f9eb9bae-6275-4448-9590-e72a56064220@HIDDEN> <86plsxmc6d.fsf@HIDDEN> Date: Tue, 11 Jun 2024 09:52:07 +0300 Message-ID: <86r0d4ezdc.fsf@HIDDEN> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/30.0.50 (x86_64-pc-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain X-GND-Sasl: juri@HIDDEN X-Spam-Score: -0.7 (/) X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.7 (-) >> I revisited it once more and attach my last patch. It also seems to >> DTRT with C-x 4 d RET C-h C-t C-h C-n q q q but would still require a >> longer period of testing. > > Thanks, I started testing. I found one difference between frames and tabs: C-x 5 5 ;; other-frame-prefix C-h i ;; info q ;; quit-window This deletes the frame. C-x 5 5 ;; other-frame-prefix C-h i ;; info C-h e ;; view-echo-area-messages q ;; quit-window This doesn't delete the frame because another buffer was used. So frames are handled correctly. But not tabs: C-x t t ;; other-tab-prefix C-h i ;; info q ;; quit-window This correctly closes the tab. C-x 5 5 ;; other-tab-prefix C-h i ;; info C-h e ;; view-echo-area-messages q ;; quit-window But this also closes the tab, this is a destructive operation, because the user has another buffer shown in the tab.
X-Loop: help-debbugs@HIDDEN Subject: bug#59862: quit-restore per window buffer Resent-From: martin rudalics <rudalics@HIDDEN> Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> Resent-CC: bug-gnu-emacs@HIDDEN Resent-Date: Wed, 12 Jun 2024 08:58:01 +0000 Resent-Message-ID: <handler.59862.B59862.171818266624646 <at> debbugs.gnu.org> Resent-Sender: help-debbugs@HIDDEN X-GNU-PR-Message: followup 59862 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Juri Linkov <juri@HIDDEN> Cc: 59862 <at> debbugs.gnu.org Received: via spool by 59862-submit <at> debbugs.gnu.org id=B59862.171818266624646 (code B ref 59862); Wed, 12 Jun 2024 08:58:01 +0000 Received: (at 59862) by debbugs.gnu.org; 12 Jun 2024 08:57:46 +0000 Received: from localhost ([127.0.0.1]:37522 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1sHJnd-0006PS-NA for submit <at> debbugs.gnu.org; Wed, 12 Jun 2024 04:57:45 -0400 Received: from mout.gmx.net ([212.227.17.22]:50695) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <rudalics@HIDDEN>) id 1sHJna-0006PB-MM for 59862 <at> debbugs.gnu.org; Wed, 12 Jun 2024 04:57:44 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmx.at; s=s31663417; t=1718182655; x=1718787455; i=rudalics@HIDDEN; bh=B2UgbEoqPcQ6bdIvScqnZJS20Kuiq5tCZO5nyKjOpzI=; h=X-UI-Sender-Class:Message-ID:Date:MIME-Version:Subject:To:Cc: References:From:In-Reply-To:Content-Type: Content-Transfer-Encoding:cc:content-transfer-encoding: content-type:date:from:message-id:mime-version:reply-to:subject: to; b=SEoYcNwVmdLMq92xDaG+QoyvbaWnLhyjZ7/CCH40FYqXM5cMsnAc1zcPLGAKNEoV 54nEP1DglMbldahgLJAFBD06dmETnBsMOEZ14Ew3FuyuiCziN92CWv/DmojxgVTWn oNtfao8r+igra1QcBkRZk2t9BkDfQC3A4mZlpJDHW9AlcpWKd1qLxpxoNirFLxmZa YsssBrGZz11FPnRrJu7j1RTFcJBFdGZnsDzZC1S4xRVfVRofF+mrDQMvL+24c4tr6 my2i+U743kN71q05QVZGI3nspTztMCiv5ZQQ3UJAZBow8E4BHDMnnTpnObWizCxm6 eINVN5v18U60yFKTeQ== X-UI-Sender-Class: 724b4f7f-cbec-4199-ad4e-598c01a50d3a Received: from [192.168.31.113] ([46.125.249.118]) by mail.gmx.net (mrgmx104 [212.227.17.168]) with ESMTPSA (Nemesis) id 1N5VD8-1sSvNl0exG-014L3F; Wed, 12 Jun 2024 10:57:35 +0200 Message-ID: <0d01a044-d7d6-456a-9ba9-d987faad4332@HIDDEN> Date: Wed, 12 Jun 2024 10:57:34 +0200 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird References: <86fsds8mlm.fsf@HIDDEN> <86ttibq1w1.fsf@HIDDEN> <8243325e-ed03-4e9e-b64f-c8225fb6dc60@HIDDEN> <18173da7-32e1-4f14-bbea-9a8fa66af7dd@HIDDEN> <f9eb9bae-6275-4448-9590-e72a56064220@HIDDEN> <86plsxmc6d.fsf@HIDDEN> <86r0d4ezdc.fsf@HIDDEN> Content-Language: en-US From: martin rudalics <rudalics@HIDDEN> In-Reply-To: <86r0d4ezdc.fsf@HIDDEN> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Provags-ID: V03:K1:2IYKbBrjWiRJRO3M3f527O9Q4YaWLYOhFIotzxW/aMyhmgoRXUb ZbLEnBQxGTR1+MEzVSxyVQftpae80+UGpweoN26+4AHcAwa8EziTZxkPLJus2tC2YzdS358 ScYth4WnjfCB3W3l+KVgp1bHmfHt68GZbg9qxSYTVtwYhtLg8cM3i1QoPI7DBxLqTWlIROk UjSQdtmGXLgUePWilt1tg== X-Spam-Flag: NO UI-OutboundReport: notjunk:1;M01:P0:XD+XCXa0mxQ=;K+aT9cvG/XgRVIx62oaHAikKIdw Vrcx4gwGJ9coZCZfJgITM5zsFxj7CGkh9sqKndbu11fhrmIn5miH4KXgnFKKuUtArxbEzacpN BFE0rZ98tNGsIIPuqhpPzlavMxAqHLTILA+Fx4K91uX1gUPusJWXOFCm6UQlyzFtWh2ciTsL0 pI18/yFjk5WoNNFEs/EnHfQw33F9XOpXUSij0WvE0bikbQs5514UWrKNVB3521dkkeMJqOLZW Bhc5wxp2RY82uNyJeA7qu9C/9Es9KixhDE2GUtamycAaMk/BiUyxSBGIJvopB/rsdoJnnbDOf FUttIr3ETNRYsM7Dqx1h3wYsLKe6UxJMtYY1BS1rDuxmfcf/i4EihiV1r+Tz/r3P/C+nL7A8T cyKWmEUcue0atA+6b2RZaa8u86pZUcTfgE2xaJ9aUOn5D6MiHnVlTYYYsXeQr1JXAlAclBHbK Q+yELFQzfiElgQFhNRsPjWROKOwQsxIPL/P1CXKIZaANlFGoRakddrAXurgyWoocgwNd+ar8S 9Bs6HnzZA5JMFCaJuCHiFAgBYrACMM7hI8JvtOda4bfgYh1GpiVFWKf49z2KtwgGNPuCJmrZf zTi+yottIpUcTBkYPShYAcKtXcwgUip0MvhBPvaEUdsWQY20HktksCje1Dq+62riusiicEGje WTzpTi0qCz/2JbQAg1KZnC+pkTkel5FBM1riqnHQkNrt1qHS9MNZxFVpnlnmIGO6Tr0bQQd+y HUfBAjH5l9TgZ5nCU/7BFCRxpW7TOiN6WmPUw6Jemu/u61D3RJPBDBaQD2CpZEFwBJK5N9v+q ryshxSJUyrsxltv2RFHKpjOrfYC8FghaF0QJamfflci8o= X-Spam-Score: -0.7 (/) X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.7 (-) > C-x 5 5 ;; other-frame-prefix > C-h i ;; info > q ;; quit-window > This deletes the frame. > > C-x 5 5 ;; other-frame-prefix > C-h i ;; info > C-h e ;; view-echo-area-messages > q ;; quit-window > This doesn't delete the frame because another buffer was used. Here it doesn't delete the frame because it contains two windows. 'quit-window' deletes the *info* window and the *Messages* window remains. When I do C-x o q q instead it first shows the *info* window only and then deletes the frame just as I would expect. BTW 'view-echo-area-messages' has a bug: The 'goto-char' moves point in the *Messages* buffer in an undocumented manner. It should be written as: (defun view-echo-area-messages () "View the log of recent echo-area messages: the `*Messages*' buffer. The number of messages retained in that buffer is specified by the variable `message-log-max'." (interactive) (when-let ((win (display-buffer (messages-buffer)))) (set-window-point win (point-max)) win)) > So frames are handled correctly. But not tabs: > > C-x t t ;; other-tab-prefix > C-h i ;; info > q ;; quit-window > This correctly closes the tab. > > C-x 5 5 ;; other-tab-prefix I suppose you mean C-x t t here. > C-h i ;; info > C-h e ;; view-echo-area-messages > q ;; quit-window > But this also closes the tab, this is a destructive operation, > because the user has another buffer shown in the tab. Here I get two windows. The 'quit-restore' parameter of the *info* window is (tab tab #<window 7 on *info*> #<buffer *info*>) that of the *Messages* window is (window window #<window 7 on *info*> #<buffer *Messages*>). So if I now do q in the *info* window, it will run 'tab-bar-close-tab'. It's up to that function to DTRT here. martin
X-Loop: help-debbugs@HIDDEN Subject: bug#59862: quit-restore per window buffer Resent-From: Juri Linkov <juri@HIDDEN> Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> Resent-CC: bug-gnu-emacs@HIDDEN Resent-Date: Thu, 13 Jun 2024 07:14:02 +0000 Resent-Message-ID: <handler.59862.B59862.171826282013561 <at> debbugs.gnu.org> Resent-Sender: help-debbugs@HIDDEN X-GNU-PR-Message: followup 59862 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: martin rudalics <rudalics@HIDDEN> Cc: 59862 <at> debbugs.gnu.org Received: via spool by 59862-submit <at> debbugs.gnu.org id=B59862.171826282013561 (code B ref 59862); Thu, 13 Jun 2024 07:14:02 +0000 Received: (at 59862) by debbugs.gnu.org; 13 Jun 2024 07:13:40 +0000 Received: from localhost ([127.0.0.1]:57865 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1sHeeR-0003We-Rb for submit <at> debbugs.gnu.org; Thu, 13 Jun 2024 03:13:40 -0400 Received: from relay3-d.mail.gandi.net ([217.70.183.195]:52213) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <juri@HIDDEN>) id 1sHeeQ-0003W7-GS for 59862 <at> debbugs.gnu.org; Thu, 13 Jun 2024 03:13:39 -0400 Received: by mail.gandi.net (Postfix) with ESMTPSA id 4D66660008; Thu, 13 Jun 2024 07:13:10 +0000 (UTC) From: Juri Linkov <juri@HIDDEN> In-Reply-To: <0d01a044-d7d6-456a-9ba9-d987faad4332@HIDDEN> (martin rudalics's message of "Wed, 12 Jun 2024 10:57:34 +0200") Organization: LINKOV.NET References: <86fsds8mlm.fsf@HIDDEN> <86ttibq1w1.fsf@HIDDEN> <8243325e-ed03-4e9e-b64f-c8225fb6dc60@HIDDEN> <18173da7-32e1-4f14-bbea-9a8fa66af7dd@HIDDEN> <f9eb9bae-6275-4448-9590-e72a56064220@HIDDEN> <86plsxmc6d.fsf@HIDDEN> <86r0d4ezdc.fsf@HIDDEN> <0d01a044-d7d6-456a-9ba9-d987faad4332@HIDDEN> Date: Thu, 13 Jun 2024 09:47:09 +0300 Message-ID: <86frthjq4y.fsf@HIDDEN> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/30.0.50 (x86_64-pc-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain X-GND-Sasl: juri@HIDDEN X-Spam-Score: -0.7 (/) X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.7 (-) >> C-x 5 5 ;; other-frame-prefix >> C-h i ;; info >> q ;; quit-window >> This deletes the frame. >> >> C-x 5 5 ;; other-frame-prefix >> C-h i ;; info >> C-h e ;; view-echo-area-messages >> q ;; quit-window >> This doesn't delete the frame because another buffer was used. > > Here it doesn't delete the frame because it contains two windows. > 'quit-window' deletes the *info* window and the *Messages* window > remains. When I do C-x o q q instead it first shows the *info* window > only and then deletes the frame just as I would expect. The current behavior for frames looks correct. > BTW 'view-echo-area-messages' has a bug: The 'goto-char' moves point in > the *Messages* buffer in an undocumented manner. It should be written > as: > > (defun view-echo-area-messages () > "View the log of recent echo-area messages: the `*Messages*' buffer. > The number of messages retained in that buffer is specified by > the variable `message-log-max'." > (interactive) > (when-let ((win (display-buffer (messages-buffer)))) > (set-window-point win (point-max)) > win)) Agreed. >> So frames are handled correctly. But not tabs: >> >> C-x t t ;; other-tab-prefix >> C-h i ;; info >> q ;; quit-window >> This correctly closes the tab. >> >> C-x t t ;; other-tab-prefix >> C-h i ;; info >> C-h e ;; view-echo-area-messages >> q ;; quit-window >> But this also closes the tab, this is a destructive operation, >> because the user has another buffer shown in the tab. > > Here I get two windows. The 'quit-restore' parameter of the *info* > window is > > (tab tab #<window 7 on *info*> #<buffer *info*>) > > that of the *Messages* window is > > (window window #<window 7 on *info*> #<buffer *Messages*>). > > So if I now do q in the *info* window, it will run 'tab-bar-close-tab'. > It's up to that function to DTRT here. Could you show how the frame function corresponding to 'tab-bar-close-tab' (I suppose it's 'delete-frame'?) detects that where are more than 1 window on the frame, then it refuses to delete the frame. Then same code could be used in 'tab-bar-close-tab'.
X-Loop: help-debbugs@HIDDEN Subject: bug#59862: quit-restore per window buffer Resent-From: martin rudalics <rudalics@HIDDEN> Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> Resent-CC: bug-gnu-emacs@HIDDEN Resent-Date: Thu, 13 Jun 2024 08:22:01 +0000 Resent-Message-ID: <handler.59862.B59862.171826690224498 <at> debbugs.gnu.org> Resent-Sender: help-debbugs@HIDDEN X-GNU-PR-Message: followup 59862 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Juri Linkov <juri@HIDDEN> Cc: 59862 <at> debbugs.gnu.org Received: via spool by 59862-submit <at> debbugs.gnu.org id=B59862.171826690224498 (code B ref 59862); Thu, 13 Jun 2024 08:22:01 +0000 Received: (at 59862) by debbugs.gnu.org; 13 Jun 2024 08:21:42 +0000 Received: from localhost ([127.0.0.1]:33723 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1sHfiI-0006N4-A2 for submit <at> debbugs.gnu.org; Thu, 13 Jun 2024 04:21:42 -0400 Received: from mout.gmx.net ([212.227.17.21]:42647) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <rudalics@HIDDEN>) id 1sHfiF-0006Mf-NV for 59862 <at> debbugs.gnu.org; Thu, 13 Jun 2024 04:21:41 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmx.at; s=s31663417; t=1718266893; x=1718871693; i=rudalics@HIDDEN; bh=2Sx3CD79szLSKbii9c4kiPuvypBruMepOkceYeyl5+k=; h=X-UI-Sender-Class:Message-ID:Date:MIME-Version:Subject:To:Cc: References:From:In-Reply-To:Content-Type: Content-Transfer-Encoding:cc:content-transfer-encoding: content-type:date:from:message-id:mime-version:reply-to:subject: to; b=SRTHHBKw2mPon4NRexZl9k7ViXy/OGs/j0ufELhaE8xPFZ0FjQ4k1kT5wb8DJkVM C27HaA/clMkR5tZUiW05pMm6dhckuFKHP9Zmgoa+c4DZ6yqCz5wXlKjjr6Q+QzsBq bvvWSlMi1kmmVMinZNJA3WteBsJzrP8ThM9N6qjquv0MR/MJwVfBIfHefupTgBp0K rGzgIKqxbQTiOVXhGF266xzMjEPRzsDiq2v7tN5/ZnbmcKQsBJA22ocijhwiQU3zo 4iS+BWFQHluM1JSKxN2Zs/J1WUu2naQSOtGGyN1HkqUeze1lMSp3v4twJ/QNMZZpt zF+2I5Wy6IiGrmi0bw== X-UI-Sender-Class: 724b4f7f-cbec-4199-ad4e-598c01a50d3a Received: from [192.168.31.113] ([212.95.5.56]) by mail.gmx.net (mrgmx104 [212.227.17.168]) with ESMTPSA (Nemesis) id 1MG9g4-1sC8sT1kR2-00FGdo; Thu, 13 Jun 2024 10:21:33 +0200 Message-ID: <743dc4dd-cf09-4c5e-9209-b63a47480e0b@HIDDEN> Date: Thu, 13 Jun 2024 10:21:32 +0200 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird References: <86fsds8mlm.fsf@HIDDEN> <86ttibq1w1.fsf@HIDDEN> <8243325e-ed03-4e9e-b64f-c8225fb6dc60@HIDDEN> <18173da7-32e1-4f14-bbea-9a8fa66af7dd@HIDDEN> <f9eb9bae-6275-4448-9590-e72a56064220@HIDDEN> <86plsxmc6d.fsf@HIDDEN> <86r0d4ezdc.fsf@HIDDEN> <0d01a044-d7d6-456a-9ba9-d987faad4332@HIDDEN> <86frthjq4y.fsf@HIDDEN> Content-Language: en-US From: martin rudalics <rudalics@HIDDEN> In-Reply-To: <86frthjq4y.fsf@HIDDEN> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Provags-ID: V03:K1:CkIHOv7ZZiR53yQ9JMBmlYzUJB4zEvWz1X+vPIDrPwIPyMdnVP5 xaPVE7KqrmG/kp8OJdFGJXbaaR7FS42HFrnvisrGQjtPgAJWqtAJXxIudcELze7pFwyfbW7 0fLUdPcN6XD1xqke1aTUTT98QnF4wYZ2CTZj2S2Lkr14tmlDJww7F7rumkpenAQBHNwI6Uw t/ztiWdkOGmLhTWjwuqFA== X-Spam-Flag: NO UI-OutboundReport: notjunk:1;M01:P0:yR7OIn5/FX8=;1vZzJp4n1ivcaHE43HaumQirdEF hT3N4S7ucCi26QYdT5qa3Qu21IEgT1YNdY1NzoCavdd39PS682iNc0J456Wo0gtFAZzwc5Y6m gXOAil3zeAlFXEFwb3LWvuZQUZNlWT6gulwHZ+zho25bhs7KvdHMPNhQLHAJ9eZqHymHoS9Lk ucsNNzMTL2rG8lkbmb9N4ZOr0RRN30HQrgLEGTxWnXcTGo6s9Fgk/BSww9SH4dz9E1IZBDIwy YvFqPOwoOs/fZftXjJNJztmFI8tNVJLI3XMTlVjwILdHq6H3F59JwHvrJaVSX9JaoXEOi8eFt yZ8yK1Ef2x8vgK01jmYBpqD+dooNcphXhgH7eT2Q2cY2GwBZonluMP26Z0plTecSbtWk8Tr+c DbucMLue6bRmIV32ED4bFZgoe9YT99+BxE+dgsb3q+1MgzWvAI0B6rOZL1yKJXTlQmjGccknq Q+acdGZw2I9ChPLxXUfy/Xm5dLVAcTPM+8ge+4z47xNGBoVhm2uVe4TfK8pGYDtNXJOXQ/FPk jMBHgR36/SyKV2Wnjcs+c6yLvV/ZkBatxsExVppIJeggQPcf+lRsLCRH2wGjM1VJ1JV8Q1829 Gx5PlSvjy7zVLXLsfyAyB1r4ZLyDY15tFRXJwpPieumCnyrGCpIvZ72phs2P9fdHoJV3sKByb jOhB8FO9pCVcF9PjOpJLGUzNHYDEHmN/sVwdnL1BZh9J2ahoP+xNZ5pvecR7a18Na71AbjOqA 8+CMdcP2106TZ5wjcuKo+3fM1nYYXayMvunFoveubadU5mRtI3l2zXQTu/4O+ohsf6OqaIzo1 9L9tVXpfvE8yEE29gilXvmAaTn0xUKJAYhVbAOWwqLwNY= X-Spam-Score: -0.7 (/) X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.7 (-) > Could you show how the frame function corresponding to 'tab-bar-close-tab' > (I suppose it's 'delete-frame'?) Hardly. 'delete-frame' unconditionally deletes a frame regardless of how many windows it displays unless it is the last frame, a surrogate minibuffer frame or some other special condition holds. > detects that where are more than 1 window > on the frame, then it refuses to delete the frame. Then same code could be > used in 'tab-bar-close-tab'. The check is in 'window-deletable-p' which may return 'frame' iff WINDOW is its frame's root window. Maybe you also want to check whether the second element of 'quit-restore' is 'frame' but that I cannot tell. Note in this context that 'window-deletable-p' does not cover all special cases handled by 'delete-frame' - things like the 'delete-before' parameter or the 'delete-frame-functions' hook. So far, this apparently has not caused any problems though. martin
X-Loop: help-debbugs@HIDDEN Subject: bug#59862: quit-restore per window buffer Resent-From: Juri Linkov <juri@HIDDEN> Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> Resent-CC: bug-gnu-emacs@HIDDEN Resent-Date: Fri, 14 Jun 2024 18:05:01 +0000 Resent-Message-ID: <handler.59862.B59862.171838828917755 <at> debbugs.gnu.org> Resent-Sender: help-debbugs@HIDDEN X-GNU-PR-Message: followup 59862 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: martin rudalics <rudalics@HIDDEN> Cc: 59862 <at> debbugs.gnu.org Received: via spool by 59862-submit <at> debbugs.gnu.org id=B59862.171838828917755 (code B ref 59862); Fri, 14 Jun 2024 18:05:01 +0000 Received: (at 59862) by debbugs.gnu.org; 14 Jun 2024 18:04:49 +0000 Received: from localhost ([127.0.0.1]:40891 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1sIBI8-0004cJ-Mp for submit <at> debbugs.gnu.org; Fri, 14 Jun 2024 14:04:48 -0400 Received: from relay8-d.mail.gandi.net ([217.70.183.201]:49399) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <juri@HIDDEN>) id 1sIBI3-0004bz-Sq for 59862 <at> debbugs.gnu.org; Fri, 14 Jun 2024 14:04:47 -0400 Received: by mail.gandi.net (Postfix) with ESMTPSA id 35BDD1BF203; Fri, 14 Jun 2024 18:04:13 +0000 (UTC) From: Juri Linkov <juri@HIDDEN> In-Reply-To: <743dc4dd-cf09-4c5e-9209-b63a47480e0b@HIDDEN> (martin rudalics's message of "Thu, 13 Jun 2024 10:21:32 +0200") Organization: LINKOV.NET References: <86fsds8mlm.fsf@HIDDEN> <86ttibq1w1.fsf@HIDDEN> <8243325e-ed03-4e9e-b64f-c8225fb6dc60@HIDDEN> <18173da7-32e1-4f14-bbea-9a8fa66af7dd@HIDDEN> <f9eb9bae-6275-4448-9590-e72a56064220@HIDDEN> <86plsxmc6d.fsf@HIDDEN> <86r0d4ezdc.fsf@HIDDEN> <0d01a044-d7d6-456a-9ba9-d987faad4332@HIDDEN> <86frthjq4y.fsf@HIDDEN> <743dc4dd-cf09-4c5e-9209-b63a47480e0b@HIDDEN> Date: Fri, 14 Jun 2024 20:35:30 +0300 Message-ID: <86msnne7ut.fsf@HIDDEN> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/30.0.50 (x86_64-pc-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain X-GND-Sasl: juri@HIDDEN X-Spam-Score: -0.7 (/) X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.7 (-) > The check is in 'window-deletable-p' which may return 'frame' iff WINDOW > is its frame's root window. Maybe you also want to check whether the > second element of 'quit-restore' is 'frame' but that I cannot tell. Ok, so here is the corresponding fix for the case: C-x t t ;; other-tab-prefix C-h i ;; info C-h e ;; view-echo-area-messages q ;; quit-window diff --git a/lisp/window.el b/lisp/window.el index b7bd59bc813..f206153e017 100644 --- a/lisp/window.el +++ b/lisp/window.el @@ -5243,7 +5258,10 @@ quit-restore-window (window--quit-restore-select-window quit-restore-2)) ((and (not prev-buffer) (eq (nth 1 quit-restore) 'tab) - (eq (nth 3 quit-restore) buffer)) + (eq (nth 3 quit-restore) buffer) + (< (seq-count (lambda (w) (window-parameter w 'quit-restore)) + (window-list-1 nil 'nomini)) + 2)) (tab-bar-close-tab) ;; If the previously selected window is still alive, select it. (window--quit-restore-select-window quit-restore-2))
X-Loop: help-debbugs@HIDDEN Subject: bug#59862: quit-restore per window buffer Resent-From: martin rudalics <rudalics@HIDDEN> Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> Resent-CC: bug-gnu-emacs@HIDDEN Resent-Date: Sat, 15 Jun 2024 08:43:02 +0000 Resent-Message-ID: <handler.59862.B59862.171844092820360 <at> debbugs.gnu.org> Resent-Sender: help-debbugs@HIDDEN X-GNU-PR-Message: followup 59862 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Juri Linkov <juri@HIDDEN> Cc: 59862 <at> debbugs.gnu.org Received: via spool by 59862-submit <at> debbugs.gnu.org id=B59862.171844092820360 (code B ref 59862); Sat, 15 Jun 2024 08:43:02 +0000 Received: (at 59862) by debbugs.gnu.org; 15 Jun 2024 08:42:08 +0000 Received: from localhost ([127.0.0.1]:54685 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1sIOz9-0005IJ-Jh for submit <at> debbugs.gnu.org; Sat, 15 Jun 2024 04:42:07 -0400 Received: from mout.gmx.net ([212.227.17.22]:43285) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <rudalics@HIDDEN>) id 1sIOz7-0005Gj-7O for 59862 <at> debbugs.gnu.org; Sat, 15 Jun 2024 04:42:06 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmx.at; s=s31663417; t=1718440915; x=1719045715; i=rudalics@HIDDEN; bh=fBRDwDHzR88tBG0X0pnmIKdcyWjOQsM3pUotVEeD2Yk=; h=X-UI-Sender-Class:Message-ID:Date:MIME-Version:Subject:To:Cc: References:From:In-Reply-To:Content-Type: Content-Transfer-Encoding:cc:content-transfer-encoding: content-type:date:from:message-id:mime-version:reply-to:subject: to; b=SnmnSsdDeGsdY63T0gdYzlmHDaht/uNqHBR2KtnQ1ZkHxdPD6GzYrqY1+YPkTgY3 RGYjvTdRN7QKLx0p6jrUhtoA2HrO2HRuOJJStCfZ5Q55JDnbnPS8925F1pPXLdccV baAGJDZp6mkBwZ+ocpWDjm+OgD9GN0/frEnLxmZ0gqR8SEB4JuDCsUiP41ZdXGB/n 7Wh675HN86hh6xCftl1aCnIyw5AFOrNSmoRCx5ZaEMj5pXZqcJ3hYhhM8gd7P9Uf0 /e1rWJLuNdwKRUsTDZtTFrAB229zOrcuAM7lqVCjSLWK53Ssv8yR0Z5U+QF5ecyyi wuJsyw4JrTGNuFAWTA== X-UI-Sender-Class: 724b4f7f-cbec-4199-ad4e-598c01a50d3a Received: from [192.168.31.113] ([212.95.5.155]) by mail.gmx.net (mrgmx104 [212.227.17.168]) with ESMTPSA (Nemesis) id 1MUowb-1rrh222IPR-00TNtx; Sat, 15 Jun 2024 10:41:55 +0200 Message-ID: <ad0bfe5d-817b-4d11-b82f-90c5a76b4c81@HIDDEN> Date: Sat, 15 Jun 2024 10:41:54 +0200 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird References: <86fsds8mlm.fsf@HIDDEN> <86ttibq1w1.fsf@HIDDEN> <8243325e-ed03-4e9e-b64f-c8225fb6dc60@HIDDEN> <18173da7-32e1-4f14-bbea-9a8fa66af7dd@HIDDEN> <f9eb9bae-6275-4448-9590-e72a56064220@HIDDEN> <86plsxmc6d.fsf@HIDDEN> <86r0d4ezdc.fsf@HIDDEN> <0d01a044-d7d6-456a-9ba9-d987faad4332@HIDDEN> <86frthjq4y.fsf@HIDDEN> <743dc4dd-cf09-4c5e-9209-b63a47480e0b@HIDDEN> <86msnne7ut.fsf@HIDDEN> Content-Language: en-US From: martin rudalics <rudalics@HIDDEN> In-Reply-To: <86msnne7ut.fsf@HIDDEN> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Provags-ID: V03:K1:UTS+swE3zZIxt3/+2rDzfSZAUgzVI7AMRO/6QgjprYsH96EpdYN 3av2HA+zD7XmsYt21MYrLMAuPDlaaCfWqZIEZisH1+DQ+YFp2MMx8KB0rkrTGfWHplwHA5J czEtKo+XIl8BVAJ8yYoy9l52HscA+MEZGYs2h0z/KVRS22NJhmjbKopu+vw5kdhpNj6IzEY fLynPpKr1HN5mBuJvsRjg== X-Spam-Flag: NO UI-OutboundReport: notjunk:1;M01:P0:t7px0/0KyE0=;0HvSNCzHWu0IYgJ9jGcZ13wT+QV 2TJJzJb5zb+BiyKCriLBb91iWQ4n2spzfi1d+Kwc1U8Pr+afe/dzbiLDS+/y1GDd0Sol6nNhy GYtKSgOEQ890eV1PNQ3keGFBFWKwBgBavPnnvKTswAJ0eF/Ev4lJTkJX+hPuAmMqERSr23v9s QZPuwA4/Ecc2BeIAwi9yGn5fbuVdjzKtDGIHP1wT+fU4bFYJWTe2CvJ9lIF1vtxdiGvcquopY hj/JxFyHPCkW8RE1OW4B5DsD1R4TLgD8Ef8CYWHwW+6kWIk38roAQROgaqmb4O0jLwPuWd/H3 1jfSryAk2szZLCjyGxctcosphswKaQorx3Hf/71QDLxAd3lJowFHY8wjqubPmWRXVSwPPyeE7 DPfxFiIyV9Wq5UPEj26pb88B2UlTH4xPGsHP8hrPvJWlphvM7hPZD0Q4TFaxlDkF775hnYEW/ 2kw+p1KRs1YcVRDwHbEfoDrDBNuAH0vpG7rXoUMm44h9zvwE7zllLxTadFaT5BYPBx0l2ZYu7 p7Vdnia+Ms5Fe6bolUFxs9J5rcYmzVftkcKJkKolXLm5bWaqivh5QtvqEfkBhE6oUZUg34dA1 1vNr98TnIcJALvRagoX9f4ZSfcQuPCqLCHgwpo/vze5U6Y7amB3/aTiNLZfG0B/pDwbJhzo2I e82thsgCYT8VcyzAxV0mWttm4fhFpGLfyYIKsTy+ujBI4Hp9nFkEW/dmYA4bLeOlv/dr/2BeP LKs0Z2vrQPRuRhBdGRw+u2/9bv/T245ndMVdI9HAP5Hl6N/1gh0zTXZsgT5KkTZeic74lCx3H 1g+8RNa58VZlE4sbzJ9maE+MjRUtoktzXN3qop2fRTPx0= X-Spam-Score: 2.9 (++) X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: + (< (seq-count (lambda (w) (window-parameter w 'quit-restore)) The entire clause in 'quit-restore-window' governed by (eq (nth 1 quit-restore) 'tab) Content analysis details: (2.9 points, 10.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- 3.6 RCVD_IN_SBL_CSS RBL: Received via a relay in Spamhaus SBL-CSS [212.95.5.155 listed in zen.spamhaus.org] 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail provider (rudalics[at]gmx.at) -0.0 SPF_PASS SPF: sender matches SPF record 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record -0.7 RCVD_IN_DNSWL_LOW RBL: Sender listed at https://www.dnswl.org/, low trust [212.227.17.22 listed in list.dnswl.org] 0.0 RCVD_IN_MSPIKE_H3 RBL: Good reputation (+3) [212.227.17.22 listed in wl.mailspike.net] -0.0 T_SCC_BODY_TEXT_LINE No description available. 0.0 RCVD_IN_MSPIKE_WL Mailspike good senders X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: 1.9 (+) X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: + (< (seq-count (lambda (w) (window-parameter w 'quit-restore)) The entire clause in 'quit-restore-window' governed by (eq (nth 1 quit-restore) 'tab) Content analysis details: (1.9 points, 10.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- 3.6 RCVD_IN_SBL_CSS RBL: Received via a relay in Spamhaus SBL-CSS [212.95.5.155 listed in zen.spamhaus.org] -0.7 RCVD_IN_DNSWL_LOW RBL: Sender listed at https://www.dnswl.org/, low trust [212.227.17.22 listed in list.dnswl.org] 0.0 RCVD_IN_MSPIKE_H3 RBL: Good reputation (+3) [212.227.17.22 listed in wl.mailspike.net] 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail provider (rudalics[at]gmx.at) -0.0 SPF_PASS SPF: sender matches SPF record 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record -0.0 T_SCC_BODY_TEXT_LINE No description available. 0.0 RCVD_IN_MSPIKE_WL Mailspike good senders -1.0 MAILING_LIST_MULTI Multiple indicators imply a widely-seen list manager + (< (seq-count (lambda (w) (window-parameter w 'quit-restore)) The entire clause in 'quit-restore-window' governed by (eq (nth 1 quit-restore) 'tab) needs a comment on what it is supposed to restore. Basically, you check here whether WINDOW is the only window with a 'quit-restore' parameter. Is it that what you really want? If a window has a 'quit-restore' parameter whose second element is 'tab' does that mean that all other windows on the same frame must also have such a parameter? What happens if there are other windows without a 'quit-restore' parameter? As designed, the 'quit-restore' parameter can cause the deletion of its window only if there are other windows on the same frame. It can cause the deletion of its frame only if there is no other window on its frame. Are these principles preserved by your patch? > + (window-list-1 nil 'nomini)) I suppose that nil is not correct here when WINDOW is not on the selected frame. I'd rather use that window instead here. > + 2)) > (tab-bar-close-tab) > ;; If the previously selected window is still alive, select it. > (window--quit-restore-select-window quit-restore-2)) martin
X-Loop: help-debbugs@HIDDEN Subject: bug#59862: quit-restore per window buffer Resent-From: Juri Linkov <juri@HIDDEN> Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> Resent-CC: bug-gnu-emacs@HIDDEN Resent-Date: Sun, 16 Jun 2024 16:54:02 +0000 Resent-Message-ID: <handler.59862.B59862.17185568329519 <at> debbugs.gnu.org> Resent-Sender: help-debbugs@HIDDEN X-GNU-PR-Message: followup 59862 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: martin rudalics <rudalics@HIDDEN> Cc: 59862 <at> debbugs.gnu.org Received: via spool by 59862-submit <at> debbugs.gnu.org id=B59862.17185568329519 (code B ref 59862); Sun, 16 Jun 2024 16:54:02 +0000 Received: (at 59862) by debbugs.gnu.org; 16 Jun 2024 16:53:52 +0000 Received: from localhost ([127.0.0.1]:43625 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1sIt8a-0002TS-3h for submit <at> debbugs.gnu.org; Sun, 16 Jun 2024 12:53:52 -0400 Received: from relay9-d.mail.gandi.net ([217.70.183.199]:33775) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <juri@HIDDEN>) id 1sIt8Y-0002Su-KN for 59862 <at> debbugs.gnu.org; Sun, 16 Jun 2024 12:53:51 -0400 Received: by mail.gandi.net (Postfix) with ESMTPSA id A173EFF802; Sun, 16 Jun 2024 16:53:39 +0000 (UTC) From: Juri Linkov <juri@HIDDEN> In-Reply-To: <ad0bfe5d-817b-4d11-b82f-90c5a76b4c81@HIDDEN> (martin rudalics's message of "Sat, 15 Jun 2024 10:41:54 +0200") Organization: LINKOV.NET References: <86fsds8mlm.fsf@HIDDEN> <86ttibq1w1.fsf@HIDDEN> <8243325e-ed03-4e9e-b64f-c8225fb6dc60@HIDDEN> <18173da7-32e1-4f14-bbea-9a8fa66af7dd@HIDDEN> <f9eb9bae-6275-4448-9590-e72a56064220@HIDDEN> <86plsxmc6d.fsf@HIDDEN> <86r0d4ezdc.fsf@HIDDEN> <0d01a044-d7d6-456a-9ba9-d987faad4332@HIDDEN> <86frthjq4y.fsf@HIDDEN> <743dc4dd-cf09-4c5e-9209-b63a47480e0b@HIDDEN> <86msnne7ut.fsf@HIDDEN> <ad0bfe5d-817b-4d11-b82f-90c5a76b4c81@HIDDEN> Date: Sun, 16 Jun 2024 19:50:29 +0300 Message-ID: <86plsgrfvu.fsf@HIDDEN> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/30.0.50 (x86_64-pc-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain X-GND-Sasl: juri@HIDDEN X-Spam-Score: -0.7 (/) X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.7 (-) > + (< (seq-count (lambda (w) (window-parameter w 'quit-restore)) > > The entire clause in 'quit-restore-window' governed by > > (eq (nth 1 quit-restore) 'tab) > > needs a comment on what it is supposed to restore. So here is a comment: diff --git a/lisp/window.el b/lisp/window.el index b7bd59bc813..5b782c93098 100644 --- a/lisp/window.el +++ b/lisp/window.el @@ -5241,9 +5246,13 @@ quit-restore-window (window--delete window 'dedicated (eq bury-or-kill 'kill))) ;; If the previously selected window is still alive, select it. (window--quit-restore-select-window quit-restore-2)) + ;; Close the tab if it doesn't contain more explicitly created windows. ((and (not prev-buffer) (eq (nth 1 quit-restore) 'tab) - (eq (nth 3 quit-restore) buffer)) + (eq (nth 3 quit-restore) buffer) + (< (seq-count (lambda (w) (window-parameter w 'quit-restore)) + (window-list-1 nil 'nomini)) + 2)) (tab-bar-close-tab) ;; If the previously selected window is still alive, select it. (window--quit-restore-select-window quit-restore-2)) > Basically, you check > here whether WINDOW is the only window with a 'quit-restore' parameter. > Is it that what you really want? If a window has a 'quit-restore' > parameter whose second element is 'tab' does that mean that all other > windows on the same frame must also have such a parameter? What happens > if there are other windows without a 'quit-restore' parameter? If there are other windows without a 'quit-restore' parameter, this means that they were created implicitly without a direct user action. So the tab can be closed in this case. There are not many commands that create windows without a 'quit-restore' parameter. For example, Gnus creates several windows, and the tab should be closed when the user closes the first window. > As designed, the 'quit-restore' parameter can cause the deletion of its > window only if there are other windows on the same frame. It can cause > the deletion of its frame only if there is no other window on its frame. > Are these principles preserved by your patch? Yes, the patch closes the tab only if there is no other window on the tab explicitly created by user. >> + (window-list-1 nil 'nomini)) > > I suppose that nil is not correct here when WINDOW is not on the > selected frame. I'd rather use that window instead here. The current code doesn't support non-selected frames as 'tab-bar-close-tab' below shows without a frame argument: >> + 2)) >> (tab-bar-close-tab) >> ;; If the previously selected window is still alive, select it. >> (window--quit-restore-select-window quit-restore-2))
X-Loop: help-debbugs@HIDDEN Subject: bug#59862: quit-restore per window buffer Resent-From: martin rudalics <rudalics@HIDDEN> Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> Resent-CC: bug-gnu-emacs@HIDDEN Resent-Date: Mon, 17 Jun 2024 14:49:01 +0000 Resent-Message-ID: <handler.59862.B59862.171863570931313 <at> debbugs.gnu.org> Resent-Sender: help-debbugs@HIDDEN X-GNU-PR-Message: followup 59862 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Juri Linkov <juri@HIDDEN> Cc: 59862 <at> debbugs.gnu.org Received: via spool by 59862-submit <at> debbugs.gnu.org id=B59862.171863570931313 (code B ref 59862); Mon, 17 Jun 2024 14:49:01 +0000 Received: (at 59862) by debbugs.gnu.org; 17 Jun 2024 14:48:29 +0000 Received: from localhost ([127.0.0.1]:34970 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1sJDen-00088z-Fk for submit <at> debbugs.gnu.org; Mon, 17 Jun 2024 10:48:29 -0400 Received: from mout.gmx.net ([212.227.17.22]:45757) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <rudalics@HIDDEN>) id 1sJDel-00088k-L2 for 59862 <at> debbugs.gnu.org; Mon, 17 Jun 2024 10:48:28 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmx.at; s=s31663417; t=1718635697; x=1719240497; i=rudalics@HIDDEN; bh=VvZwhhMaEkBr7O4LoZR0BLe7Mx2Av+JYYpb5mQhA4/c=; h=X-UI-Sender-Class:Message-ID:Date:MIME-Version:Subject:To:Cc: References:From:In-Reply-To:Content-Type: Content-Transfer-Encoding:cc:content-transfer-encoding: content-type:date:from:message-id:mime-version:reply-to:subject: to; b=NvIXMgsjr+N2qH//zfuuhg6V4OctbOMgbsnCA3uQbNIIFOu6KfH1ZURG2iWJtFjD d3LMSKuDzXrCmh4xM6RjTCSmR+k8NZlteoB0T2ZOFNOplymg2PPSxa/geeZY35Ypc SyuRH5ic8XhcW+q9J1Cg9ZFWPPPOx98HfYummc9fRmFiH0Cj2NIM8lxFlyayAbRqA eh2tojVZ2McLYOg0nW+dw4wDzXqCYAFc+uScx4M4BIw9veDyH1clFXjLqu7gfAlM+ hpW4CmgpcwAyvlHCaTlPk4tboeAcX31ayx5ASCYQHWj1wHcwyqZ+VFpMF41qcl7oF +AXdo6wGrKyLP06GBA== X-UI-Sender-Class: 724b4f7f-cbec-4199-ad4e-598c01a50d3a Received: from [192.168.31.113] ([212.95.5.42]) by mail.gmx.net (mrgmx105 [212.227.17.168]) with ESMTPSA (Nemesis) id 1Mwfac-1sZFOt0HIw-010mid; Mon, 17 Jun 2024 16:48:17 +0200 Message-ID: <3e839dd9-e1fc-445c-9170-5d48add5dfaf@HIDDEN> Date: Mon, 17 Jun 2024 16:48:16 +0200 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird References: <86fsds8mlm.fsf@HIDDEN> <86ttibq1w1.fsf@HIDDEN> <8243325e-ed03-4e9e-b64f-c8225fb6dc60@HIDDEN> <18173da7-32e1-4f14-bbea-9a8fa66af7dd@HIDDEN> <f9eb9bae-6275-4448-9590-e72a56064220@HIDDEN> <86plsxmc6d.fsf@HIDDEN> <86r0d4ezdc.fsf@HIDDEN> <0d01a044-d7d6-456a-9ba9-d987faad4332@HIDDEN> <86frthjq4y.fsf@HIDDEN> <743dc4dd-cf09-4c5e-9209-b63a47480e0b@HIDDEN> <86msnne7ut.fsf@HIDDEN> <ad0bfe5d-817b-4d11-b82f-90c5a76b4c81@HIDDEN> <86plsgrfvu.fsf@HIDDEN> Content-Language: en-US From: martin rudalics <rudalics@HIDDEN> In-Reply-To: <86plsgrfvu.fsf@HIDDEN> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Provags-ID: V03:K1:YFBfXm29KDK6/ZMrtftVvIXjmIgJ75sR3olLOIpTElQztWZEsEb 4JYxK9zqW04iadv50hltESJJnaXfG+gp8/awhJxAisPJsDRTDMygIvicIppCNArHDR9FUYg KF+coQ4rdTtfnkGZofIRScbSfD2DGTdNkZM5YWk72VzUT3tXU0gb5BqDLDJqcd1D4HJRexh vnmlrSvzEYZwUn9vGDKJQ== X-Spam-Flag: NO UI-OutboundReport: notjunk:1;M01:P0:Eqh0JJr6YDY=;mviVtWaddLOz58uZBtSN5TboMWX 52DMK6vakjNi4FNnQoiiFO1Eii3YvFyR3j5Z49ZEwekCxzdatTSujuihDlWf6W1aXxiUvrGJp 3Ok3uDHDbWq6g2aYhrcBPHU0ddxWpCw7qPp6/6KFwmyRO0inZk91twOcq4w5l7cAtvgaa271X zSXyaahP8bm7X6L8uVrq4Vm4O22RKpOlolpSSdisBkfzSEgsHcDoFGXZ4mVdUF0Vz1TAROuh2 4G0xLmmg6Wph55rj0+TM6fUkT1sQEZJD/AyD/dEP2h1VtVDm3otedceJuPaunQHps5cOIDyzN YQfKFsrOaLgmGH1lAb0RVwryJtuTLcOc/mYtHYOTtxuLQ20vx909m43IOqmI8H5xqzCrrtQIj /MM9WIMxEudpjAApvIeRXM3qmZfgQaQGtVb+j2xsRMd7mdizJ8v89+jqcGSpTyQrzw7NwfWGL i1iq6unh3YvJH43xWlIhEr20RGf0f293HQX6v9TdDqySTqpQeqCM2Em/d+y6TE3tTgnpQ5ASA kozZaG4URyxOOU3J44x+M99Lt5n0BdwQflBvXYM7UDncyckEUrN44Tj7TmJ8EVZCffFuz3D7s 4YJQzSW3Co5ggubI8low3FUloL9yf/IJcYlwE3jzF3KznLDKUwS/KcnHQ6kizxXOVWYsWk9gL 1j1vrtcQfMrUJjqrjNVeiaadLleGX53YrIPaO52/98/jFqodAeTBx6B9DbCWcHTrI1Uv/BO+o tyEvQt5nWbZZsJEd4y13xkk3riOE/otKvZ7Bikk23ElXswmqro6QS9YXliSM3kRACRFP9cGDl YLPym0Kza+DMpSciO1st2VJiXDWQOkmbY4RrIDa+WJp9s= X-Spam-Score: 2.9 (++) X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: > + (< (seq-count (lambda (w) (window-parameter w 'quit-restore)) > + (window-list-1 nil 'nomini)) As I said before nil as argument for 'window-list-1' is not correct. 'window--delete' can be called by 'quit-windows-on' which has to work for quitting any window on any frame. Content analysis details: (2.9 points, 10.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- 3.6 RCVD_IN_SBL_CSS RBL: Received via a relay in Spamhaus SBL-CSS [212.95.5.42 listed in zen.spamhaus.org] 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail provider (rudalics[at]gmx.at) -0.0 SPF_PASS SPF: sender matches SPF record 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record -0.7 RCVD_IN_DNSWL_LOW RBL: Sender listed at https://www.dnswl.org/, low trust [212.227.17.22 listed in list.dnswl.org] 0.0 RCVD_IN_MSPIKE_H3 RBL: Good reputation (+3) [212.227.17.22 listed in wl.mailspike.net] -0.0 T_SCC_BODY_TEXT_LINE No description available. 0.0 RCVD_IN_MSPIKE_WL Mailspike good senders X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: 1.9 (+) X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: > + (< (seq-count (lambda (w) (window-parameter w 'quit-restore)) > + (window-list-1 nil 'nomini)) As I said before nil as argument for 'window-list-1' is not correct. 'window--delete' can be called by 'quit-windows-on' which has to work for quitting any window on any frame. Content analysis details: (1.9 points, 10.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- 3.6 RCVD_IN_SBL_CSS RBL: Received via a relay in Spamhaus SBL-CSS [212.95.5.42 listed in zen.spamhaus.org] -0.7 RCVD_IN_DNSWL_LOW RBL: Sender listed at https://www.dnswl.org/, low trust [212.227.17.22 listed in list.dnswl.org] 0.0 RCVD_IN_MSPIKE_H3 RBL: Good reputation (+3) [212.227.17.22 listed in wl.mailspike.net] 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail provider (rudalics[at]gmx.at) -0.0 SPF_PASS SPF: sender matches SPF record 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record -0.0 T_SCC_BODY_TEXT_LINE No description available. 0.0 RCVD_IN_MSPIKE_WL Mailspike good senders -1.0 MAILING_LIST_MULTI Multiple indicators imply a widely-seen list manager > + (< (seq-count (lambda (w) (window-parameter w 'quit-restore)) > + (window-list-1 nil 'nomini)) As I said before nil as argument for 'window-list-1' is not correct. 'window--delete' can be called by 'quit-windows-on' which has to work for quitting any window on any frame. >>> + (window-list-1 nil 'nomini)) >> >> I suppose that nil is not correct here when WINDOW is not on the >> selected frame. I'd rather use that window instead here. > > The current code doesn't support non-selected frames > as 'tab-bar-close-tab' below shows without a frame argument: Then we can't use it. Please have a look at the patch I sent earlier. The tab-bar code would have to add a function to 'window-deletable-functions' provided some tab-bar option says to do that. Thanks, martin
X-Loop: help-debbugs@HIDDEN Subject: bug#59862: quit-restore per window buffer Resent-From: martin rudalics <rudalics@HIDDEN> Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> Resent-CC: bug-gnu-emacs@HIDDEN Resent-Date: Mon, 08 Jul 2024 16:51:01 +0000 Resent-Message-ID: <handler.59862.B59862.17204574116926 <at> debbugs.gnu.org> Resent-Sender: help-debbugs@HIDDEN X-GNU-PR-Message: followup 59862 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Juri Linkov <juri@HIDDEN> Cc: 59862 <at> debbugs.gnu.org Received: via spool by 59862-submit <at> debbugs.gnu.org id=B59862.17204574116926 (code B ref 59862); Mon, 08 Jul 2024 16:51:01 +0000 Received: (at 59862) by debbugs.gnu.org; 8 Jul 2024 16:50:11 +0000 Received: from localhost ([127.0.0.1]:51377 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1sQrZ3-0001nd-No for submit <at> debbugs.gnu.org; Mon, 08 Jul 2024 12:50:11 -0400 Received: from mout.gmx.net ([212.227.17.20]:45199) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <rudalics@HIDDEN>) id 1sQrYz-0001mw-Ug for 59862 <at> debbugs.gnu.org; Mon, 08 Jul 2024 12:50:07 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmx.at; s=s31663417; t=1720457393; x=1721062193; i=rudalics@HIDDEN; bh=FBNap9ctbV82IG6GZWIU5J5XfgR7r4lTqpm9nE/Ws2A=; h=X-UI-Sender-Class:Content-Type:Message-ID:Date:MIME-Version: Subject:To:Cc:References:From:In-Reply-To:cc: content-transfer-encoding:content-type:date:from:message-id: mime-version:reply-to:subject:to; b=TGBMcQNqqzCVbhCuQGulfUnaXxm2hDrHwYqBAxPEqUHuyOrF1wLcxEUOsHJEU2nE G553CoYgDV01WaqauCrXM5sZd2oEfNMPAtVGeOp3sfth3rujwhQYOl+lR/8SFaXQk 9OIEkVrIweHTUneeEQnn102xRspnRVZohCX1WV81TcnBKlzHSYjmiVEiexj3rWsel lCxFaVns6Qt+X/NeQTYILKL+Jx2VVVvRIFTcdqlso+iis6J63yDjgwcCTtlrv673q e1h3VC7tkxDaYedYS64Odj8It0USPSIzKubkIRl7jEPWu9RC5FSEIOM/rweQd7PNh 9aKgRq2dQvBvtDddiA== X-UI-Sender-Class: 724b4f7f-cbec-4199-ad4e-598c01a50d3a Received: from [192.168.31.113] ([213.142.96.136]) by mail.gmx.net (mrgmx105 [212.227.17.168]) with ESMTPSA (Nemesis) id 1MQv8x-1sme6I2IXX-00T70h; Mon, 08 Jul 2024 18:49:53 +0200 Content-Type: multipart/mixed; boundary="------------LljYayqEV1Ur0nfWMbfh90n8" Message-ID: <ca1388d2-3481-49c4-8721-42792a399340@HIDDEN> Date: Mon, 8 Jul 2024 18:49:52 +0200 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird References: <86fsds8mlm.fsf@HIDDEN> <86ttibq1w1.fsf@HIDDEN> <8243325e-ed03-4e9e-b64f-c8225fb6dc60@HIDDEN> <18173da7-32e1-4f14-bbea-9a8fa66af7dd@HIDDEN> <f9eb9bae-6275-4448-9590-e72a56064220@HIDDEN> <86plsxmc6d.fsf@HIDDEN> <86r0d4ezdc.fsf@HIDDEN> <0d01a044-d7d6-456a-9ba9-d987faad4332@HIDDEN> <86frthjq4y.fsf@HIDDEN> <743dc4dd-cf09-4c5e-9209-b63a47480e0b@HIDDEN> <86msnne7ut.fsf@HIDDEN> <ad0bfe5d-817b-4d11-b82f-90c5a76b4c81@HIDDEN> <86plsgrfvu.fsf@HIDDEN> Content-Language: en-US From: martin rudalics <rudalics@HIDDEN> In-Reply-To: <86plsgrfvu.fsf@HIDDEN> X-Provags-ID: V03:K1:Vtd2K3RtoMN3dOzca5pGWX/9apTNSZTjBq1FZi9g0BM0xU26Evl NpF3ecVxs3F8xEhtZq38FTEzaH0BFjnKxEGulX/cDIuOsFntTn1rsROJWkMbfcJm9rAFUvc qlGUqmUPfuV7jsCLD9hTHhZikhnJWRTd6SRweywgohEZ1M3sUdxoq8YRFcVpk0wr6UYarfW ONeZYxIzRfW5cTlDdSwgg== X-Spam-Flag: NO UI-OutboundReport: notjunk:1;M01:P0:4Eb8diwgEFc=;xa2bCXnvr4d3rw5gQVefMm24ZeG MlWW9RnHgLww7KxA08jKS16K/SC0QFJOCrLioD7OLD7PCotk2i0DNaPfPOFXkdiDeVJ0CbaYa nhyxttjKO6iPvC5jrvQQDDhKuPqayuiazUpJ5yhaI5GjJnxzo5+gKlXcGVn8NX1LRrMq6KbLE 1PlDWLAJTa0J/1CYjoXJ27xnNl3Y83sI9lMhUIbbI4XrbFWpD2XU4RUSGpQ3svc8u60iQByg2 9SreZGJuEx7KZ+eBKrfgQFSXfym3BJlxJD2G1e7HTTo36iijsXz7RG705NdIO4DzV1aap9ezA Xj3DMpx4EBl1zSm2GBZyYw6Qkv6uirKy5wpcHZh9rjePamTHlGbEziFWzI3rWxbRA8nLhwL53 PS1DSmXeZQULEj0Cs+ChOQ8gQrlru825LQIV66zJ4H0p4mp06AHnmFqMwP5B4m+W5upvBGHS7 DW8KdIpsGHk8jpr3Xg6TNbQ/UyPsNU3XWtfB0IQZwEc8vtEXpQmpduG5sIO6ivcjMEMln/jF4 DckCk62juYRtc/QxiKom/zy5H7CeZiV5yXRUtP7kB2C7MtzqQz+9yNopqOEOFuMJRXI6Nm9RS YD3KjWgGcCDNuASldnCYUBiHHTfocfMAOBPsQVwR6/zf5I147YdEfKJZvQ3aKVsJj+Gyp8w/f glqDVrsUis7+xU+NO53j5NbyDm225Pu2wlN+MdvoF2+ywvIFlCadJxmtApXZEopwjr6/i7uER C4qCWjsQ1GrRC4yTwPIVVot9pp1RjLQPtPxI4fOPA+NeC75zMJTkIvJznJWaXM+D/RWn9pgfP vPkj0Xz+qNexQXeHK56rZMEQje6I1C8Fi345yTb74gikA= X-Spam-Score: 2.9 (++) X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: It took me some time to rewrite the code for this since I found a couple of leaks in the window handling code which I tried to plug now. In a nutshell, the new patch is supposed to fix the following i [...] Content analysis details: (2.9 points, 10.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- 3.6 RCVD_IN_SBL_CSS RBL: Received via a relay in Spamhaus SBL-CSS [213.142.96.136 listed in zen.spamhaus.org] -0.7 RCVD_IN_DNSWL_LOW RBL: Sender listed at https://www.dnswl.org/, low trust [212.227.17.20 listed in list.dnswl.org] -0.0 SPF_PASS SPF: sender matches SPF record 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail provider (rudalics[at]gmx.at) 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: 1.9 (+) X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: It took me some time to rewrite the code for this since I found a couple of leaks in the window handling code which I tried to plug now. In a nutshell, the new patch is supposed to fix the following i [...] Content analysis details: (1.9 points, 10.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- -0.7 RCVD_IN_DNSWL_LOW RBL: Sender listed at https://www.dnswl.org/, low trust [212.227.17.20 listed in list.dnswl.org] 3.6 RCVD_IN_SBL_CSS RBL: Received via a relay in Spamhaus SBL-CSS [213.142.96.136 listed in zen.spamhaus.org] -0.0 SPF_PASS SPF: sender matches SPF record 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail provider (rudalics[at]gmx.at) 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record -1.0 MAILING_LIST_MULTI Multiple indicators imply a widely-seen list manager This is a multi-part message in MIME format. --------------LljYayqEV1Ur0nfWMbfh90n8 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit It took me some time to rewrite the code for this since I found a couple of leaks in the window handling code which I tried to plug now. In a nutshell, the new patch is supposed to fix the following issues. - I introduced a new variable called 'kill-buffer-quit-windows'. If non-nil, it makes killing a buffer call 'quit-restore-window' for each window showing the buffer thus implementing the behavior you want. If nil, killing a buffer works as before apart from the fixes I added below. - The new window parameter type 'quit-restore-prev' that was already in the previous patch handles most scenarios of traversing an entire chain of buffer display operations back to the one that initially created a window or a frame. The only thing it does not handle is to restore the previously selected window for all but the first and last such operation. - As in the previous patch I remove a buffer from all live windows' previous/next buffers and quit-restore(-prev) parameters when killing it. In the present patch I remove it also from dead windows (windows presumably stored in window configurations if they survived at least one collection cycle after their deletion). This should eliminate the necessity to scan these lists separately in the mark phase of the collector. - The old code erroneously has an internal window share the lists of previous/next buffers of a live window whenever that internal window is created by splitting the live window. If the live window is subsequently deleted but the internal window persists, these lists will continue to exist until the internal window is deleted. Since you cannot switch buffers in internal windows, these lists are completely useless while increasing memory overhead. The patch fixes this leak. Dead windows are kept in a weak hash table, adding a window when it is deleted and removing it when restoring it from a saved window configuration. The collector is supposed to remove all dead windows whose configurations have died in its finalization phase. For testing purposes, this hash table is accessible from Lisp via the variable 'window-dead-windows-table'. In earlier versions of Emacs, window configurations were mostly used to handle window excursions and were consequently rather short-lived. Your tab bar code has changed that. Hence we should try to avoid any leaks introduced by long-lived configurations. The hash table based code should also work for the incremental (MPS based) collector once it is capable of handling weak hash tables correctly. The present approach to emulate the above mentioned separate mark steps in Elisp is completely inadequate in this regard since it cannot identify dead windows. Please test the patch intensively and report any problems you see. I used the forms below to test the various features of the patch. martin (display-buffer (get-buffer-create "*foo*")) (display-buffer (get-buffer-create "*bar*")) (setq kill-buffer-quit-windows t) (kill-buffer "*bar*") (kill-buffer "*foo*") (setq foo (current-window-configuration)) (set-window-configuration foo) (setq foo nil) ; To reclaim all dead windows of foo (garbage-collect) (hash-table-count window-dead-windows-table) --------------LljYayqEV1Ur0nfWMbfh90n8 Content-Type: text/x-patch; charset=UTF-8; name="windows-and-buffers.diff" Content-Disposition: attachment; filename="windows-and-buffers.diff" Content-Transfer-Encoding: base64 ZGlmZiAtLWdpdCBhL2xpc3Avd2luZG93LmVsIGIvbGlzcC93aW5kb3cuZWwKaW5kZXggOWZj MmU1ZDY1ZTguLjBhODJhYTk5ODlkIDEwMDY0NAotLS0gYS9saXNwL3dpbmRvdy5lbAorKysg Yi9saXNwL3dpbmRvdy5lbApAQCAtNDU0MiwxNCArNDU0MiwxOCBAQCByZWNvcmQtd2luZG93 LWJ1ZmZlcgogICAgICAgKHB1c2gtd2luZG93LWJ1ZmZlci1vbnRvLXByZXYgd2luZG93KQog ICAgICAgKHJ1bi1ob29rcyAnYnVmZmVyLWxpc3QtdXBkYXRlLWhvb2spKSkpCiAKKzs7IEEg dmVyc2lvbiBpbiBDIHRoYXQgaGFuZGxlcyBkZWFkIHdpbmRvd3MgKHRoYXQgcHJlc3VtYWJs eSBhcmUgcGFydCBvZgorOzsgYSBzYXZlZCB3aW5kb3cgY29uZmlndXJhdGlvbikgbGl2ZXMg aW4gd2luZG93LmMgYW5kIGlzIGNhbGxlZAorOzsgd2luZG93X2Rpc2NhcmRfYnVmZmVyX2Zy b21fZGVhZF93aW5kb3cuICBXZSBjb3VsZCBjYWxsIHRoYXQgZnJvbSBoZXJlCis7OyBidXQg aXQgc2VlbXMgbW9yZSBwcmFjdGljYWwgdG8gaGFuZGxlIGxpdmUgd2luZG93cyBlbnRpcmVs eSBpbiBFbGlzcC4KIChkZWZ1biB1bnJlY29yZC13aW5kb3ctYnVmZmVyICgmb3B0aW9uYWwg d2luZG93IGJ1ZmZlcikKICAgIlVucmVjb3JkIEJVRkZFUiBpbiBXSU5ET1cuCi1XSU5ET1cg bXVzdCBiZSBhIGxpdmUgd2luZG93IGFuZCBkZWZhdWx0cyB0byB0aGUgc2VsZWN0ZWQgb25l LgotQlVGRkVSIG11c3QgYmUgYSBsaXZlIGJ1ZmZlciBhbmQgZGVmYXVsdHMgdG8gdGhlIGJ1 ZmZlciBvZgotV0lORE9XLgorV0lORE9XIG11c3QgYmUgYSBsaXZlIHdpbmRvdyBhbmQgZGVm YXVsdHMgdG8gdGhlIHNlbGVjdGVkIG9uZS4gIEJVRkZFUgorbXVzdCBiZSBhIGxpdmUgYnVm ZmVyIGFuZCBkZWZhdWx0cyB0byB0aGUgYnVmZmVyIG9mIFdJTkRPVyAoYWx0aG91Z2gKK3Ro YXQgZGVmYXVsdCBoYXJkbHkgbWFrZXMgYW55IHNlbnNlKS4KIAotTWFrZSBCVUZGRVIgZGlz YXBwZWFyIGZyb20gYWxsIHZhcmlhYmxlcyBtZW50aW9uZWQgYnkgdGhlIG9iamVjdCBvZgot V0lORE9XLiAgVGhpcyBpbmNsdWRlcyB0aGUgYnVmZmVycyBwcmV2aW91c2x5IHNod29uIGlu IFdJTkRPVyBhcyB3ZWxsIGFzCitNYWtlIEJVRkZFUiBkaXNhcHBlYXIgZnJvbSBtb3N0IGNv bXBvbmVudHMgc3BlY2lmaWVkIGJ5IHRoZSBvYmplY3Qgb2YKK1dJTkRPVy4gIFRoaXMgaW5j bHVkZXMgdGhlIGJ1ZmZlcnMgcHJldmlvdXNseSBzaG93biBpbiBXSU5ET1cgYXMgd2VsbCBh cwogYW55IGJ1ZmZlcnMgbWVudGlvbmVkIGJ5IFdJTkRPVydzIGBxdWl0LXJlc3RvcmUnIGFu ZCBgcXVpdC1yZXN0b3JlLXByZXYnCiBwYXJhbWV0ZXJzLiIKICAgKGxldCogKCh3aW5kb3cg KHdpbmRvdy1ub3JtYWxpemUtd2luZG93IHdpbmRvdyB0KSkKQEAgLTQ1NjIsNyArNDU2Niwx MyBAQCB1bnJlY29yZC13aW5kb3ctYnVmZmVyCiAgICAgICAgd2luZG93IChhc3NxLWRlbGV0 ZS1hbGwgYnVmZmVyICh3aW5kb3ctcHJldi1idWZmZXJzIHdpbmRvdykpKQogICAgICAgKHNl dC13aW5kb3ctbmV4dC1idWZmZXJzCiAgICAgICAgd2luZG93IChkZWxxIGJ1ZmZlciAod2lu ZG93LW5leHQtYnVmZmVycyB3aW5kb3cpKSkKLQorICAgICAgOzsgSWYgdGhlIGZvdXJ0aCBl bGVtZW50cyBvZiB0aGUgJ3F1aXQtcmVzdG9yZScgb3IKKyAgICAgIDs7ICdxdWl0LXJlc3Rv cmUtcHJldicgcGFyYW1ldGVycyBlcXVhbCBCVUZGRVIsIHRoZXNlIHBhcmFtZXRlcnMKKyAg ICAgIDs7IGJlY29tZSB1c2VsZXNzIC0gaW4gJ3F1aXQtcmVzdG9yZS13aW5kb3cnIHRoZSBm b3VydGggZWxlbWVudAorICAgICAgOzsgbXVzdCBlcXVhbCB0aGUgYnVmZmVyIG9mIFdJTkRP VyBpbiBvcmRlciB0byB1c2UgdGhhdCBwYXJhbWV0ZXIuCisgICAgICA7OyBJZiBCVUZGRVIg aXMgbWVudGlvbmVkIGluIHRoZSBzZWNvbmQgZWxlbWVudCBvZiB0aGUgcGFyYW1ldGVyLAor ICAgICAgOzsgJ3F1aXQtcmVzdG9yZS13aW5kb3cnIGNhbm5vdCBwb3NzaWJseSBzaG93IEJV RkZFUiBpbnN0ZWFkOyBzbworICAgICAgOzsgdGhpcyBwYXJhbWV0ZXIgYmVjb21lcyB1c2Vs ZXNzIHRvby4KICAgICAgICh3aGVuIChvciAoZXEgYnVmZmVyIChudGggMyBxdWl0LXJlc3Rv cmUtcHJldikpCiAJCShhbmQgKGxpc3RwIChzZXRxIHF1YWQgKG50aCAxIHF1aXQtcmVzdG9y ZS1wcmV2KSkpCiAJCSAgICAgKGVxIChjYXIgcXVhZCkgYnVmZmVyKSkpCkBAIC00NTcyLDcg KzQ1ODIsOCBAQCB1bnJlY29yZC13aW5kb3ctYnVmZmVyCiAJCShhbmQgKGxpc3RwIChzZXRx IHF1YWQgKG50aCAxIHF1aXQtcmVzdG9yZSkpKQogCQkgICAgIChlcSAoY2FyIHF1YWQpIGJ1 ZmZlcikpKQogCShzZXQtd2luZG93LXBhcmFtZXRlcgotCSB3aW5kb3cgJ3F1aXQtcmVzdG9y ZSAod2luZG93LXBhcmFtZXRlciB3aW5kb3cgJ3F1aXQtcmVzdG9yZS1wcmV2KSkpKSkpCisJ IHdpbmRvdyAncXVpdC1yZXN0b3JlICh3aW5kb3ctcGFyYW1ldGVyIHdpbmRvdyAncXVpdC1y ZXN0b3JlLXByZXYpKQorCShzZXQtd2luZG93LXBhcmFtZXRlciB3aW5kb3cgJ3F1aXQtcmVz dG9yZS1wcmV2IG5pbCkpKSkpCiAKIChkZWZ1biBzZXQtd2luZG93LWJ1ZmZlci1zdGFydC1h bmQtcG9pbnQgKHdpbmRvdyBidWZmZXIgJm9wdGlvbmFsIHN0YXJ0IHBvaW50KQogICAiU2V0 IFdJTkRPVydzIGJ1ZmZlciB0byBCVUZGRVIuCkBAIC01MDkxLDYgKzUxMDIsMTggQEAgcHJl dmlvdXMtYnVmZmVyCiAgICAgICAgICAgICAgICAgIChub3QgKG9yIGV4ZWN1dGluZy1rYmQt bWFjcm8gbm9uaW50ZXJhY3RpdmUpKSkKICAgICAgICAgKHVzZXItZXJyb3IgIk5vIHByZXZp b3VzIGJ1ZmZlciIpKSkpKSkKIAorKGRlZmN1c3RvbSBraWxsLWJ1ZmZlci1xdWl0LXdpbmRv d3MgbmlsCisgICJOb24tbmlsIG1lYW5zIGtpbGxpbmcgYnVmZmVycyBzaGFsbCBxdWl0IHdp bmRvd3MuCitJZiB0aGlzIGlzIG5pbCwga2lsbGluZyBhIGJ1ZmZlciBtYXkgZGVsZXRlIGRl ZGljYXRlZCB3aW5kb3dzIG9ubHkuICBJZgordGhpcyBpcyBub24tbmlsLCBga2lsbC1idWZm ZXInIChhbmQgYHJlcGxhY2UtYnVmZmVyLWluLXdpbmRvd3MnIGluCitjb25zZXF1ZW5jZSkg aGF2ZSBgcXVpdC1yZXN0b3JlLXdpbmRvdycgZGVhbCB3aXRoIGFueSB3aW5kb3cgc2hvd2lu ZyB0aGUKK2J1ZmZlciB0byBiZSBraWxsZWQgd2hpY2ggbWF5IGRlbGV0ZSB0aGUgd2luZG93 IGlmIGl0J3Mgbm90IGRlZGljYXRlZCB0bworaXRzIGJ1ZmZlci4gIEFsc28sIGBkZWxldGUt d2luZG93cy1vbicgd2lsbCB1c2UgYHF1aXQtcmVzdG9yZS13aW5kb3cnIGFzCitmYWxsYmFj ayB3aGVuIGEgd2luZG93IGNhbm5vdCBiZSBkZWxldGVkIG90aGVyd2lzZS4iCisgIDp0eXBl ICdib29sZWFuCisgIDp2ZXJzaW9uICIzMS4xIgorICA6Z3JvdXAgJ3dpbmRvd3MpCisKIChk ZWZ1biBkZWxldGUtd2luZG93cy1vbiAoJm9wdGlvbmFsIGJ1ZmZlci1vci1uYW1lIGZyYW1l KQogICAiRGVsZXRlIGFsbCB3aW5kb3dzIHNob3dpbmcgQlVGRkVSLU9SLU5BTUUuCiBCVUZG RVItT1ItTkFNRSBtYXkgYmUgYSBidWZmZXIgb3IgdGhlIG5hbWUgb2YgYW4gZXhpc3Rpbmcg YnVmZmVyCkBAIC01MTI4LDggKzUxNTEsMTAgQEAgZGVsZXRlLXdpbmRvd3Mtb24KIHRlcm1p bmFsLCBkZWxldGUgdGhhdCBmcmFtZS4gIE90aGVyd2lzZSwgZG8gbm90IGRlbGV0ZSBhIGZy YW1lJ3Mgcm9vdAogd2luZG93IGlmIGl0IHNob3dzIHRoZSBidWZmZXIgc3BlY2lmaWVkIGJ5 IEJVRkZFUi1PUi1OQU1FIGFuZCBkbyBub3QKIGRlbGV0ZSBhbnkgZnJhbWUncyBtYWluIHdp bmRvdyBzaG93aW5nIHRoYXQgYnVmZmVyIGVpdGhlci4gIFJhdGhlciwgaW4KLWFueSBzdWNo IGNhc2UsIGNhbGwgYHF1aXQtcmVzdG9yZS13aW5kb3cnIHRvIHNob3cgYW5vdGhlciBidWZm ZXIgaW4gdGhhdAotd2luZG93IGFuZCBtYWtlIHN1cmUgdGhlIHdpbmRvdyBpcyBubyBtb3Jl IGRlZGljYXRlZCB0byBpdHMgYnVmZmVyLgorYW55IHN1Y2ggY2FzZSwgY2FsbCBlaXRoZXIg YHF1aXQtcmVzdG9yZS13aW5kb3cnIChwcm92aWRlZAorYGtpbGwtYnVmZmVyLXF1aXQtd2lu ZG93cycgaXMgbm9uLW5pbCkgb3IgYHN3aXRjaC10by1wcmV2LWJ1ZmZlcicgdG8KK3Nob3cg YW5vdGhlciBidWZmZXIgaW4gdGhhdCB3aW5kb3cgYW5kIG1ha2Ugc3VyZSB0aGUgd2luZG93 IGlzIG5vIG1vcmUKK2RlZGljYXRlZCB0byBpdHMgYnVmZmVyLgogCiBJZiB0aGUgYnVmZmVy IHNwZWNpZmllZCBieSBCVUZGRVItT1ItTkFNRSBpcyBzaG93biBpbiBhIG1pbmlidWZmZXIK IHdpbmRvdywgZG8gbm90aGluZyBmb3IgdGhhdCB3aW5kb3cuICBGb3IgYW55IHdpbmRvdyB0 aGF0IGRvZXMgbm90IHNob3cKQEAgLTUxNjYsOSArNTE5MSwxOCBAQCBkZWxldGUtd2luZG93 cy1vbgogCSAgICAgKChlcSBkZWxldGFibGUgdCkKIAkgICAgICA7OyBEZWxldGUgd2luZG93 LgogCSAgICAgIChkZWxldGUtd2luZG93IHdpbmRvdykpCisJICAgICAoa2lsbC1idWZmZXIt cXVpdC13aW5kb3dzCisJICAgICAgKHF1aXQtcmVzdG9yZS13aW5kb3cgd2luZG93ICdidXJ5 KQorCSAgICAgICh3aGVuICh3aW5kb3ctbGl2ZS1wIHdpbmRvdykKKwkJOzsgVW5yZWNvcmQg QlVGRkVSIGluIHRoaXMgd2luZG93LgorCQkodW5yZWNvcmQtd2luZG93LWJ1ZmZlciB3aW5k b3cgYnVmZmVyKSkpCiAJICAgICAodAotCSAgICAgICh3aGVuIChlcSAod2luZG93LWJ1ZmZl ciB3aW5kb3cpIGJ1ZmZlcikKLQkJKHF1aXQtcmVzdG9yZS13aW5kb3cgd2luZG93ICdidXJ5 KSkKKwkgICAgICA7OyBJbiB3aW5kb3cgc3dpdGNoIHRvIHByZXZpb3VzIGJ1ZmZlci4KKwkg ICAgICAoc2V0LXdpbmRvdy1kZWRpY2F0ZWQtcCB3aW5kb3cgbmlsKQorCSAgICAgIChzd2l0 Y2gtdG8tcHJldi1idWZmZXIgd2luZG93ICdidXJ5KQorCSAgICAgIDs7IFJlc3RvcmUgdGhl IGRlZGljYXRlZCAnc2lkZScgZmxhZy4KKwkgICAgICAod2hlbiAoZXEgZGVkaWNhdGVkICdz aWRlKQorICAgICAgICAgICAgICAgIChzZXQtd2luZG93LWRlZGljYXRlZC1wIHdpbmRvdyAn c2lkZSkpCiAJICAgICAgKHdoZW4gKHdpbmRvdy1saXZlLXAgd2luZG93KQogCQk7OyBVbnJl Y29yZCBCVUZGRVIgaW4gdGhpcyB3aW5kb3cuCiAJCSh1bnJlY29yZC13aW5kb3ctYnVmZmVy IHdpbmRvdyBidWZmZXIpKSkpKQpAQCAtNTE3NywyOSArNTIxMSw0NiBAQCBkZWxldGUtd2lu ZG93cy1vbgogCiAoZGVmdW4gcmVwbGFjZS1idWZmZXItaW4td2luZG93cyAoJm9wdGlvbmFs IGJ1ZmZlci1vci1uYW1lKQogICAiUmVwbGFjZSBCVUZGRVItT1ItTkFNRSB3aXRoIHNvbWUg b3RoZXIgYnVmZmVyIGluIGFsbCB3aW5kb3dzIHNob3dpbmcgaXQuCi1CVUZGRVItT1ItTkFN RSBtYXkgYmUgYSBidWZmZXIgb3IgdGhlIG5hbWUgb2YgYW4gZXhpc3RpbmcgYnVmZmVyCi1h bmQgZGVmYXVsdHMgdG8gdGhlIGN1cnJlbnQgYnVmZmVyLiAgTWluaWJ1ZmZlciB3aW5kb3dz IGFyZSBub3QKLWNvbnNpZGVyZWQuCi0KLVdpdGggdGhlIGV4Y2VwdGlvbiBvZiBzaWRlIHdp bmRvd3MsIHdoZW4gYSB3aW5kb3cgc2hvd2luZyBCVUZGRVItT1ItTkFNRQotaXMgZGVkaWNh dGVkLCB0aGF0IHdpbmRvdyBpcyBkZWxldGVkLiAgSWYgdGhhdCB3aW5kb3cgaXMgdGhlIG9u bHkgd2luZG93Ci1vbiBpdHMgZnJhbWUsIHRoZSBmcmFtZSBpcyBkZWxldGVkIHRvbyB3aGVu IHRoZXJlIGFyZSBvdGhlciBmcmFtZXMgbGVmdC4KLUlmIHRoZXJlIGFyZSBubyBvdGhlciBm cmFtZXMgbGVmdCwgc29tZSBvdGhlciBidWZmZXIgaXMgZGlzcGxheWVkIGluIHRoYXQKK0JV RkZFUi1PUi1OQU1FIG1heSBiZSBhIGJ1ZmZlciBvciB0aGUgbmFtZSBvZiBhbiBleGlzdGlu ZyBidWZmZXIgYW5kCitkZWZhdWx0cyB0byB0aGUgY3VycmVudCBidWZmZXIuICBNaW5pYnVm ZmVyIHdpbmRvd3MgYXJlIG5vdCBjb25zaWRlcmVkLgorCitJZiB0aGUgb3B0aW9uIGBraWxs LWJ1ZmZlci1xdWl0LXdpbmRvd3MnIGlzIG5pbCwgYmVoYXZlIGFzIGZvbGxvd3M6IFdpdGgK K3RoZSBleGNlcHRpb24gb2Ygc2lkZSB3aW5kb3dzLCB3aGVuIGEgd2luZG93IHNob3dpbmcg QlVGRkVSLU9SLU5BTUUgaXMKK2RlZGljYXRlZCwgZGVsZXRlIHRoYXQgd2luZG93LiAgSWYg dGhhdCB3aW5kb3cgaXMgdGhlIG9ubHkgd2luZG93IG9uIGl0cworZnJhbWUsIGRlbGV0ZSBp dHMgZnJhbWUgd2hlbiB0aGVyZSBhcmUgb3RoZXIgZnJhbWVzIGxlZnQuICBJbiBhbnkgb3Ro ZXIKK2Nhc2UsIGNhbGwgYHN3aXRjaC10by1wcmV2LWJ1ZmZlcicgdG8gZGlzcGxheSBzb21l IG90aGVyIGJ1ZmZlciBpbiB0aGF0CiB3aW5kb3cuCiAKLVRoaXMgZnVuY3Rpb24gcmVtb3Zl cyB0aGUgYnVmZmVyIGRlbm90ZWQgYnkgQlVGRkVSLU9SLU5BTUUgZnJvbSBhbGwKLXdpbmRv dy1sb2NhbCBidWZmZXIgbGlzdHMgYW5kIHJlbW92ZXMgYW55IGBxdWl0LXJlc3RvcmUnIG9y Ci1gcXVpdC1yZXN0b3JlLXByZXYnIHBhcmFtZXRlcnMgbWVudGlvbmluZyBpdC4iCitJZiBg a2lsbC1idWZmZXItcXVpdC13aW5kb3dzJyBpcyBub24tbmlsLCBjYWxsIGBxdWl0LXJlc3Rv cmUtd2luZG93JyBmb3IKK2FueSB3aW5kb3cgc2hvd2luZyBCVUZGRVItT1ItTkFNRSB3aXRo IHRoZSBhcmd1bWVudCBCVVJZLU9SLUtJTEwgc2V0IHRvCitga2lsbGluZycgdG8gYXZvaWQg dGhhdCB0aGUgbGF0dGVyIGtpbGxzIHRoZSBidWZmZXIgcHJlbWF0dXJlbHkuCisKK0luIGVp dGhlciBjYXNlLCByZW1vdmUgdGhlIGJ1ZmZlciBkZW5vdGVkIGJ5IEJVRkZFUi1PUi1OQU1F IGZyb20gdGhlCitsaXN0cyBvZiBwcmV2aW91cyBhbmQgbmV4dCBidWZmZXJzIG9mIGFsbCB3 aW5kb3dzIGFuZCByZW1vdmUgYW55CitgcXVpdC1yZXN0b3JlJyBvciBgcXVpdC1yZXN0b3Jl LXByZXYnIHBhcmFtZXRlcnMgbWVudGlvbmluZyBpdC4KKworVGhpcyBmdW5jdGlvbiBpcyBj YWxsZWQgYnkgYGtpbGwtYnVmZmVyJyB3aGljaCBraWxscyB0aGUgYnVmZmVyCitzcGVjaWZp ZWQgYnkgYGJ1ZmZlci1vci1uYW1lJyBhZnRlcndhcmRzLiAgSXQgbmV2ZXIga2lsbHMgYSBi dWZmZXIgYnkKK2l0c2VsZi4iCiAgIChpbnRlcmFjdGl2ZSAiYkJ1ZmZlciB0byByZXBsYWNl OiAiKQogICAobGV0ICgoYnVmZmVyICh3aW5kb3ctbm9ybWFsaXplLWJ1ZmZlciBidWZmZXIt b3ItbmFtZSkpKQotICAgIDs7IFNjYW4gYWxsIHdpbmRvd3MuICBXZSBoYXZlIHRvIHVucmVj b3JkIEJVRkZFUiBpbiB0aG9zZSBub3QKLSAgICA7OyBzaG93aW5nIGl0LgorICAgIDs7IFNj YW4gYWxsIHdpbmRvd3MuICBXZSBoYXZlIHRvIHVucmVjb3JkIEJVRkZFUi1PUi1OQU1FIGlu IHRob3NlCisgICAgOzsgbm90IHNob3dpbmcgaXQuCiAgICAgKGRvbGlzdCAod2luZG93ICh3 aW5kb3ctbGlzdC0xIG5pbCBuaWwgdCkpCiAgICAgICAod2hlbiAoZXEgKHdpbmRvdy1idWZm ZXIgd2luZG93KSBidWZmZXIpCi0JKHF1aXQtcmVzdG9yZS13aW5kb3cgd2luZG93KSkKLSAg ICAgICh3aGVuICh3aW5kb3ctbGl2ZS1wIHdpbmRvdykKLQk7OyBVbnJlY29yZCBCVUZGRVIg aW4gdGhpcyB3aW5kb3cuCi0JKHVucmVjb3JkLXdpbmRvdy1idWZmZXIgd2luZG93IGJ1ZmZl cikpKSkpCisJKGlmIGtpbGwtYnVmZmVyLXF1aXQtd2luZG93cworCSAgICAocXVpdC1yZXN0 b3JlLXdpbmRvdyB3aW5kb3cgJ2tpbGxpbmcpCisJICAobGV0ICgoZGVkaWNhdGVkLXNpZGUg KGVxICh3aW5kb3ctZGVkaWNhdGVkLXAgd2luZG93KSAnc2lkZSkpKQorICAgICAgICAgICAg KHdoZW4gKG9yIGRlZGljYXRlZC1zaWRlIChub3QgKHdpbmRvdy0tZGVsZXRlIHdpbmRvdyB0 ICdraWxsKSkpCisJICAgICAgOzsgU3dpdGNoIHRvIGFub3RoZXIgYnVmZmVyIGluIHRoYXQg d2luZG93LgorCSAgICAgIChzZXQtd2luZG93LWRlZGljYXRlZC1wIHdpbmRvdyBuaWwpCisJ ICAgICAgKGlmIChzd2l0Y2gtdG8tcHJldi1idWZmZXIgd2luZG93ICdraWxsKQorICAgICAg ICAgICAgICAgICAgKGFuZCBkZWRpY2F0ZWQtc2lkZSAoc2V0LXdpbmRvdy1kZWRpY2F0ZWQt cCB3aW5kb3cgJ3NpZGUpKQorCQkod2luZG93LS1kZWxldGUgd2luZG93IG5pbCAna2lsbCkp KSkpKQorCisJKHdoZW4gKHdpbmRvdy1saXZlLXAgd2luZG93KQorCSAgOzsgVW5yZWNvcmQg QlVGRkVSIGluIHRoaXMgd2luZG93LgorCSAgKHVucmVjb3JkLXdpbmRvdy1idWZmZXIgd2lu ZG93IGJ1ZmZlcikpKSkpCiAKIChkZWZjdXN0b20gcXVpdC13aW5kb3ctaG9vayBuaWwKICAg Ikhvb2sgcnVuIGJlZm9yZSBwZXJmb3JtaW5nIGFueSBvdGhlciBhY3Rpb25zIGluIHRoZSBg cXVpdC13aW5kb3cnIGNvbW1hbmQuIgpAQCAtNTI0OSw3ICs1MzAwLDE0IEBAIHF1aXQtcmVz dG9yZS13aW5kb3cKICAgbW9zdCByZWxpYWJsZSByZW1lZHkgdG8gbm90IGhhdmUgYHN3aXRj aC10by1wcmV2LWJ1ZmZlcicgc3dpdGNoCiAgIHRvIHRoaXMgYnVmZmVyIGFnYWluIHdpdGhv dXQga2lsbGluZyB0aGUgYnVmZmVyLgogCi1ga2lsbCcgbWVhbnMgdG8ga2lsbCBXSU5ET1cn cyBidWZmZXIuIgorYGtpbGwnIG1lYW5zIHRvIGtpbGwgV0lORE9XJ3MgYnVmZmVyLgorCitg a2lsbGluZycgaXMgbGlrZSBga2lsbCcgYnV0IG1lYW5zIHRoYXQgV0lORE9XJ3MgYnVmZmVy IHdpbGwgZ2V0IGtpbGxlZAorZWxzZXdoZXJlLiAgVGhpcyB2YWx1ZSBpcyB1c2VkIGJ5IGBy ZXBsYWNlLWJ1ZmZlci1pbi13aW5kb3dzJyBhbmQKK2BxdWl0LXdpbmRvd3Mtb24nLgorCitg YnVyeWluZycgaXMgbGlrZSBgYnVyeScgYnV0IG1lYW5zIHRoYXQgV0lORE9XJ3MgYnVmZmVy IHdpbGwgZ2V0IGJ1cmllZAorZWxzZXdoZXJlLiAgVGhpcyB2YWx1ZSBpcyB1c2VkIGJ5IGBx dWl0LXdpbmRvd3Mtb24nLiIKICAgKHNldHEgd2luZG93ICh3aW5kb3ctbm9ybWFsaXplLXdp bmRvdyB3aW5kb3cgdCkpCiAgIChsZXQqICgoYnVmZmVyICh3aW5kb3ctYnVmZmVyIHdpbmRv dykpCiAJIChxdWl0LXJlc3RvcmUgKHdpbmRvdy1wYXJhbWV0ZXIgd2luZG93ICdxdWl0LXJl c3RvcmUpKQpAQCAtNTI2NSwzMiArNTMyMywzMCBAQCBxdWl0LXJlc3RvcmUtd2luZG93CiAg ICAgKGNvbmQKICAgICAgOzsgRmlyc3QgdHJ5IHRvIGRlbGV0ZSBkZWRpY2F0ZWQgd2luZG93 cyB0aGF0IGFyZSBub3Qgc2lkZSB3aW5kb3dzLgogICAgICAoKGFuZCBkZWRpY2F0ZWQgKG5v dCAoZXEgZGVkaWNhdGVkICdzaWRlKSkKLSAgICAgICAgICAgKHdpbmRvdy0tZGVsZXRlIHdp bmRvdyAnZGVkaWNhdGVkIChlcSBidXJ5LW9yLWtpbGwgJ2tpbGwpKSkKKyAgICAgICAgICAg KHdpbmRvdy0tZGVsZXRlCisJICAgIHdpbmRvdyAnZGVkaWNhdGVkIChtZW1xIGJ1cnktb3It a2lsbCAnKGtpbGwga2lsbGluZykpKSkKICAgICAgIDs7IElmIHRoZSBwcmV2aW91c2x5IHNl bGVjdGVkIHdpbmRvdyBpcyBzdGlsbCBhbGl2ZSwgc2VsZWN0IGl0LgogICAgICAgKHdpbmRv dy0tcXVpdC1yZXN0b3JlLXNlbGVjdC13aW5kb3cgcXVpdC1yZXN0b3JlLTIpKQogICAgICAo KGFuZCAobm90IHByZXYtYnVmZmVyKQogCSAgIChlcSAobnRoIDEgcXVpdC1yZXN0b3JlKSAn dGFiKQotCSAgIChlcSAobnRoIDMgcXVpdC1yZXN0b3JlKSBidWZmZXIpKQorCSAgIChlcSAo bnRoIDMgcXVpdC1yZXN0b3JlKSBidWZmZXIpCisJICAgKDwgKHNlcS1jb3VudCAobGFtYmRh ICh3KSAod2luZG93LXBhcmFtZXRlciB3ICdxdWl0LXJlc3RvcmUpKQorCQkgICAgICAgICAo d2luZG93LWxpc3QtMSBuaWwgJ25vbWluaSkpCisgICAgICAgICAgICAgIDIpKQogICAgICAg KHRhYi1iYXItY2xvc2UtdGFiKQogICAgICAgOzsgSWYgdGhlIHByZXZpb3VzbHkgc2VsZWN0 ZWQgd2luZG93IGlzIHN0aWxsIGFsaXZlLCBzZWxlY3QgaXQuCiAgICAgICAod2luZG93LS1x dWl0LXJlc3RvcmUtc2VsZWN0LXdpbmRvdyBxdWl0LXJlc3RvcmUtMikpCiAgICAgICgoYW5k IChub3QgcHJldi1idWZmZXIpCi0JICAgKG9yIChhbmQgKG9yIChlcSAobnRoIDEgcXVpdC1y ZXN0b3JlKSAnZnJhbWUpCi0JCQkoYW5kIChlcSAobnRoIDEgcXVpdC1yZXN0b3JlKSAnd2lu ZG93KQotCQkJICAgICA7OyBJZiB0aGUgd2luZG93IGhhcyBiZWVuIGNyZWF0ZWQgb24gYW4K LQkJCSAgICAgOzsgZXhpc3RpbmcgZnJhbWUgYW5kIGVuZGVkIHVwIGFzIHRoZSBzb2xlCi0J CQkgICAgIDs7IHdpbmRvdyBvbiB0aGF0IGZyYW1lLCBkbyBub3QgZGVsZXRlIGl0Ci0JCQkg ICAgIDs7IChCdWcjMTI3NjQpLgotCQkJICAgICAobm90IChlcSB3aW5kb3cgKGZyYW1lLXJv b3Qtd2luZG93IHdpbmRvdykpKSkpCi0JCSAgICAoZXEgKG50aCAzIHF1aXQtcmVzdG9yZSkg YnVmZmVyKSkKLQkgICAgICAgKGFuZCAob3IgKGVxIChudGggMSBxdWl0LXJlc3RvcmUtcHJl dikgJ2ZyYW1lKQotCQkJKGFuZCAoZXEgKG50aCAxIHF1aXQtcmVzdG9yZS1wcmV2KSAnd2lu ZG93KQotCQkJICAgICAobm90IChlcSB3aW5kb3cgKGZyYW1lLXJvb3Qtd2luZG93IHdpbmRv dykpKSkpCi0JCSAgICAoZXEgKG50aCAzIHF1aXQtcmVzdG9yZS1wcmV2KSBidWZmZXIpCi0J CSAgICA7OyBVc2Ugc2VsZWN0ZWQgd2luZG93IGZyb20gcXVpdC1yZXN0b3JlLXByZXYuCi0J CSAgICAoc2V0cSBxdWl0LXJlc3RvcmUtMiBxdWl0LXJlc3RvcmUtcHJldi0yKSkpCisJICAg KG9yIChlcSAobnRoIDEgcXVpdC1yZXN0b3JlKSAnZnJhbWUpCisJICAgICAgIChhbmQgKGVx IChudGggMSBxdWl0LXJlc3RvcmUpICd3aW5kb3cpCisJCSAgICA7OyBJZiB0aGUgd2luZG93 IGhhcyBiZWVuIGNyZWF0ZWQgb24gYW4gZXhpc3RpbmcKKwkJICAgIDs7IGZyYW1lIGFuZCBl bmRlZCB1cCBhcyB0aGUgc29sZSB3aW5kb3cgb24gdGhhdAorCQkgICAgOzsgZnJhbWUsIGRv IG5vdCBkZWxldGUgaXQgKEJ1ZyMxMjc2NCkuCisJCSAgICAobm90IChlcSB3aW5kb3cgKGZy YW1lLXJvb3Qtd2luZG93IHdpbmRvdykpKSkpCisJICAgKGVxIChudGggMyBxdWl0LXJlc3Rv cmUpIGJ1ZmZlcikKIAkgICA7OyBEZWxldGUgV0lORE9XIGlmIHBvc3NpYmxlLgotCSAgICh3 aW5kb3ctLWRlbGV0ZSB3aW5kb3cgbmlsIChlcSBidXJ5LW9yLWtpbGwgJ2tpbGwpKSkKKwkg ICAod2luZG93LS1kZWxldGUKKwkgICAgd2luZG93IG5pbCAobWVtcSBidXJ5LW9yLWtpbGwg JyhraWxsIGtpbGxpbmcpKSkpCiAgICAgICA7OyBJZiB0aGUgcHJldmlvdXNseSBzZWxlY3Rl ZCB3aW5kb3cgaXMgc3RpbGwgYWxpdmUsIHNlbGVjdCBpdC4KICAgICAgICh3aW5kb3ctLXF1 aXQtcmVzdG9yZS1zZWxlY3Qtd2luZG93IHF1aXQtcmVzdG9yZS0yKSkKICAgICAgKChvciAo YW5kIChsaXN0cCAoc2V0cSBxdWFkIChudGggMSBxdWl0LXJlc3RvcmUtcHJldikpKQpAQCAt NTMyOCw3ICs1Mzg0LDcgQEAgcXVpdC1yZXN0b3JlLXdpbmRvdwogICAgICAgOzsgRGVhbCB3 aXRoIHRoZSBidWZmZXIgd2UganVzdCByZW1vdmVkIGZyb20gV0lORE9XLgogICAgICAgKHNl dHEgZW50cnkgKGFuZCAoZXEgYnVyeS1vci1raWxsICdhcHBlbmQpCiAJCSAgICAgICAoYXNz cSBidWZmZXIgKHdpbmRvdy1wcmV2LWJ1ZmZlcnMgd2luZG93KSkpKQotICAgICAgKHdoZW4g YnVyeS1vci1raWxsCisgICAgICAod2hlbiAobWVtcSBidXJ5LW9yLWtpbGwgJyhidXJ5IGJ1 cnlpbmcga2lsbCBraWxsaW5nKSkKIAk7OyBSZW1vdmUgYnVmZmVyIGZyb20gV0lORE9XJ3Mg cHJldmlvdXMgYW5kIG5leHQgYnVmZmVycy4KIAkoc2V0LXdpbmRvdy1wcmV2LWJ1ZmZlcnMK IAkgd2luZG93IChhc3NxLWRlbGV0ZS1hbGwgYnVmZmVyICh3aW5kb3ctcHJldi1idWZmZXJz IHdpbmRvdykpKQpAQCAtNTM1OSwxMyArNTQxNSwxNCBAQCBxdWl0LXJlc3RvcmUtd2luZG93 CiAgICAgICAoaWYgKHN3aXRjaC10by1wcmV2LWJ1ZmZlciB3aW5kb3cgYnVyeS1vci1raWxs KQogICAgICAgICAgICh3aGVuIChlcSBkZWRpY2F0ZWQgJ3NpZGUpCiAgICAgICAgICAgICAo c2V0LXdpbmRvdy1kZWRpY2F0ZWQtcCB3aW5kb3cgJ3NpZGUpKQotICAgICAgICAod2luZG93 LS1kZWxldGUgd2luZG93IG5pbCAoZXEgYnVyeS1vci1raWxsICdraWxsKSkpKSkKKyAgICAg ICAgKHdpbmRvdy0tZGVsZXRlCisJIHdpbmRvdyBuaWwgKG1lbXEgYnVyeS1vci1raWxsICco a2lsbCBraWxsaW5nKSkpKSkpCiAgICAgOzsgRGVhbCB3aXRoIHRoZSBidWZmZXIuCiAgICAg KGNvbmQKICAgICAgKChub3QgKGJ1ZmZlci1saXZlLXAgYnVmZmVyKSkpCiAgICAgICgoZXEg YnVyeS1vci1raWxsICdraWxsKQogICAgICAgKGtpbGwtYnVmZmVyIGJ1ZmZlcikpCi0gICAg IChidXJ5LW9yLWtpbGwKKyAgICAgKChlcSBidXJ5LW9yLWtpbGwgJ2J1cnkpCiAgICAgICAo YnVyeS1idWZmZXItaW50ZXJuYWwgYnVmZmVyKSkpKSkKIAogKGRlZnVuIHF1aXQtd2luZG93 ICgmb3B0aW9uYWwga2lsbCB3aW5kb3cpCkBAIC01NDA2LDExICs1NDYzLDE4IEBAIHF1aXQt d2luZG93cy1vbgogCShmcmFtZXMgKGNvbmQgKChub3QgZnJhbWUpIHQpICgoZXEgZnJhbWUg dCkgbmlsKSAodCBmcmFtZSkpKSkKICAgICAoZG9saXN0ICh3aW5kb3cgKHdpbmRvdy1saXN0 LTEgbmlsIG5pbCBmcmFtZXMpKQogICAgICAgKHdoZW4gKGVxICh3aW5kb3ctYnVmZmVyIHdp bmRvdykgYnVmZmVyKQotCShxdWl0LXJlc3RvcmUtd2luZG93IHdpbmRvdyBraWxsKSkKKwko cXVpdC1yZXN0b3JlLXdpbmRvdworCSB3aW5kb3cgKGlmIGtpbGwgJ2tpbGxpbmcgJ2J1cnlp bmcpKSkKIAogICAgICAgKHdoZW4gKHdpbmRvdy1saXZlLXAgd2luZG93KQogCTs7IFVucmVj b3JkIEJVRkZFUiBpbiB0aGlzIHdpbmRvdy4KLQkodW5yZWNvcmQtd2luZG93LWJ1ZmZlciB3 aW5kb3cgYnVmZmVyKSkpKSkKKwkodW5yZWNvcmQtd2luZG93LWJ1ZmZlciB3aW5kb3cgYnVm ZmVyKSkpCisKKyAgICA7OyBEZWFsIHdpdGggQlVGRkVSLU9SLU5BTUUuCisgICAgKGNvbmQK KyAgICAgKChub3QgKGJ1ZmZlci1saXZlLXAgYnVmZmVyKSkpCisgICAgIChraWxsIChraWxs LWJ1ZmZlciBidWZmZXIpKQorICAgICAodCAoYnVyeS1idWZmZXItaW50ZXJuYWwgYnVmZmVy KSkpKSkKIAwKIChkZWZ1biB3aW5kb3ctLWNvbWJpbmF0aW9uLXJlc2l6YWJsZSAocGFyZW50 ICZvcHRpb25hbCBob3Jpem9udGFsKQogICAiUmV0dXJuIG51bWJlciBvZiBwaXhlbHMgcmVj b3ZlcmFibGUgZnJvbSBoZWlnaHQgb2Ygd2luZG93IFBBUkVOVC4KQEAgLTY3MjMsOSArNjc4 NywxMSBAQCBkaXNwbGF5LWJ1ZmZlci1yZWNvcmQtd2luZG93CiAKIElmIFRZUEUgaXMgYHJl dXNlJywgQlVGRkVSIGlzIGRpZmZlcmVudCBmcm9tIHRoZSBvbmUgY3VycmVudGx5IGRpc3Bs YXllZAogaW4gV0lORE9XLCBhbmQgV0lORE9XIGFscmVhZHkgaGFzIGEgYHF1aXQtcmVzdG9y ZScgcGFyYW1ldGVyLCBpbnN0YWxsIG9yCi11cGRhdGUgYSBgcXVpdC1yZXN0b3JlLXByZXYn IHBhcmFtZXRlciBmb3IgdGhpcyB3aW5kb3cgdGhhdCBhbGxvd3MgdG8KLXF1aXQgV0lORE9X IGluIGEgc2ltaWxhciBmYXNoaW9uIGJ1dCByZW1lbWJlcnMgdGhlIHZlcnkgZmlyc3QgaW4g YQotc2VyaWVzIG9mIGJ1ZmZlciBkaXNwbGF5IG9wZXJhdGlvbnMgZm9yIHRoaXMgd2luZG93 LiIKK3VwZGF0ZSBhIGBxdWl0LXJlc3RvcmUtcHJldicgcGFyYW1ldGVyIGZvciB0aGlzIHdp bmRvdy4gIFRoaXMgYWxsb3dzIGZvcgorcXVpdHRpbmcgV0lORE9XIGluIGEgc2ltaWxhciBm YXNoaW9uIGJ1dCBhbHNvIGtlZXBzIHRoZSB2ZXJ5IGZpcnN0CitgcXVpdC1yZXN0b3JlJyBw YXJhbWV0ZXIgc3RvcmVkIGZvciB0aGlzIHdpbmRvdyBhcm91bmQuICBDb25zZXF1ZW50bHks CitXSU5ET1cgKG9yIGl0cyBmcmFtZSkgY2FuIGJlIGV2ZW50dWFsbHkgZGVsZXRlZCBieSBg cXVpdC1yZXN0b3JlLXdpZG93JworaWYgdGhhdCBwYXJhbWV0ZXIncyBmb3VydGggZWxlbWVu dCBlcXVhbHMgV0lORE9XJ3MgYnVmZmVyLiIKICAgKGNvbmQKICAgICgoZXEgdHlwZSAncmV1 c2UpCiAgICAgKGlmIChlcSAod2luZG93LWJ1ZmZlciB3aW5kb3cpIGJ1ZmZlcikKZGlmZiAt LWdpdCBhL3NyYy9hbGxvYy5jIGIvc3JjL2FsbG9jLmMKaW5kZXggNjY2Zjc3YmZjZTEuLmI5 NTU2NTFmNWMwIDEwMDY0NAotLS0gYS9zcmMvYWxsb2MuYworKysgYi9zcmMvYWxsb2MuYwpA QCAtNjk5OCwzMyArNjk5OCw2IEBAIG1hcmtfZmFjZV9jYWNoZSAoc3RydWN0IGZhY2VfY2Fj aGUgKmMpCiAgICAgfQogfQogCi0vKiBSZW1vdmUga2lsbGVkIGJ1ZmZlcnMgb3IgaXRlbXMg d2hvc2UgY2FyIGlzIGEga2lsbGVkIGJ1ZmZlciBmcm9tCi0gICBMSVNULCBhbmQgbWFyayBv dGhlciBpdGVtcy4gIFJldHVybiBjaGFuZ2VkIExJU1QsIHdoaWNoIGlzIG1hcmtlZC4gICov Ci0KLXN0YXRpYyBMaXNwX09iamVjdAotbWFya19kaXNjYXJkX2tpbGxlZF9idWZmZXJzIChM aXNwX09iamVjdCBsaXN0KQotewotICBMaXNwX09iamVjdCB0YWlsLCAqcHJldiA9ICZsaXN0 OwotCi0gIGZvciAodGFpbCA9IGxpc3Q7IENPTlNQICh0YWlsKSAmJiAhY29uc19tYXJrZWRf cCAoWENPTlMgKHRhaWwpKTsKLSAgICAgICB0YWlsID0gWENEUiAodGFpbCkpCi0gICAgewot ICAgICAgTGlzcF9PYmplY3QgdGVtID0gWENBUiAodGFpbCk7Ci0gICAgICBpZiAoQ09OU1Ag KHRlbSkpCi0JdGVtID0gWENBUiAodGVtKTsKLSAgICAgIGlmIChCVUZGRVJQICh0ZW0pICYm ICFCVUZGRVJfTElWRV9QIChYQlVGRkVSICh0ZW0pKSkKLQkqcHJldiA9IFhDRFIgKHRhaWwp OwotICAgICAgZWxzZQotCXsKLQkgIHNldF9jb25zX21hcmtlZCAoWENPTlMgKHRhaWwpKTsK LQkgIG1hcmtfb2JqZWN0IChYQ0FSICh0YWlsKSk7Ci0JICBwcmV2ID0geGNkcl9hZGRyICh0 YWlsKTsKLQl9Ci0gICAgfQotICBtYXJrX29iamVjdCAodGFpbCk7Ci0gIHJldHVybiBsaXN0 OwotfQotCiBzdGF0aWMgdm9pZAogbWFya19mcmFtZSAoc3RydWN0IExpc3BfVmVjdG9yICpw dHIpCiB7CkBAIC03MDc5LDE1ICs3MDUyLDYgQEAgbWFya193aW5kb3cgKHN0cnVjdCBMaXNw X1ZlY3RvciAqcHRyKQogICAgICAgbWFya19nbHlwaF9tYXRyaXggKHctPmN1cnJlbnRfbWF0 cml4KTsKICAgICAgIG1hcmtfZ2x5cGhfbWF0cml4ICh3LT5kZXNpcmVkX21hdHJpeCk7CiAg ICAgfQotCi0gIC8qIEZpbHRlciBvdXQga2lsbGVkIGJ1ZmZlcnMgZnJvbSBib3RoIGJ1ZmZl ciBsaXN0cwotICAgICBpbiBhdHRlbXB0IHRvIGhlbHAgR0MgdG8gcmVjbGFpbSBraWxsZWQg YnVmZmVycyBmYXN0ZXIuCi0gICAgIFdlIGNhbiBkbyBpdCBlbHNld2hlcmUgZm9yIGxpdmUg d2luZG93cywgYnV0IHRoaXMgaXMgdGhlCi0gICAgIGJlc3QgcGxhY2UgdG8gZG8gaXQgZm9y IGRlYWQgd2luZG93cy4gICovCi0gIHdzZXRfcHJldl9idWZmZXJzCi0gICAgKHcsIG1hcmtf ZGlzY2FyZF9raWxsZWRfYnVmZmVycyAody0+cHJldl9idWZmZXJzKSk7Ci0gIHdzZXRfbmV4 dF9idWZmZXJzCi0gICAgKHcsIG1hcmtfZGlzY2FyZF9raWxsZWRfYnVmZmVycyAody0+bmV4 dF9idWZmZXJzKSk7CiB9CiAKIC8qIEVudHJ5IG9mIHRoZSBtYXJrIHN0YWNrLiAgKi8KZGlm ZiAtLWdpdCBhL3NyYy9idWZmZXIuYyBiL3NyYy9idWZmZXIuYwppbmRleCA3NDRiMGVmNTU0 OC4uNmVjNDBhZmY2NDYgMTAwNjQ0Ci0tLSBhL3NyYy9idWZmZXIuYworKysgYi9zcmMvYnVm ZmVyLmMKQEAgLTIwMTIsNiArMjAxMiwxMyBAQCBERUZVTiAoImtpbGwtYnVmZmVyIiwgRmtp bGxfYnVmZmVyLCBTa2lsbF9idWZmZXIsIDAsIDEsICJiS2lsbCBidWZmZXI6ICIsCiAgICAg IGJ1ZmZlciAoYnVnIzEwMTE0KS4gICovCiAgIHJlcGxhY2VfYnVmZmVyX2luX3dpbmRvd3Mg KGJ1ZmZlcik7CiAKKyAgLyogRm9yIGRlYWQgd2luZG93cyB0aGF0IGhhdmUgbm90IGJlZW4g Y29sbGVjdGVkIHlldCwgcmVtb3ZlIHRoaXMKKyAgICAgYnVmZmVyIGZyb20gdGhvc2Ugd2lu ZG93cycgbGlzdHMgb2YgcHJldmlvdXNseSBhbmQgbmV4dCBzaG93bgorICAgICBidWZmZXJz IGFuZCByZW1vdmUgYW55ICdxdWl0LXJlc3RvcmUnIG9yICdxdWl0LXJlc3RvcmUtcHJldicK KyAgICAgcGFyYW1ldGVycyBtZW50aW9uaW5nIHRoZSBidWZmZXIuICAqLworICBpZiAoWEZJ WE5VTSAoQlZBUiAoYiwgZGlzcGxheV9jb3VudCkpID4gMCkKKyAgICB3aW5kb3dfZGlzY2Fy ZF9idWZmZXJfZnJvbV9kZWFkX3dpbmRvd3MgKGJ1ZmZlcik7CisKICAgLyogRXhpdCBpZiBy ZXBsYWNpbmcgdGhlIGJ1ZmZlciBpbiB3aW5kb3dzIGhhcyBraWxsZWQgb3VyIGJ1ZmZlci4g ICovCiAgIGlmICghQlVGRkVSX0xJVkVfUCAoYikpCiAgICAgcmV0dXJuIFF0OwpkaWZmIC0t Z2l0IGEvc3JjL3dpbmRvdy5jIGIvc3JjL3dpbmRvdy5jCmluZGV4IGZmMjhiYWM1MzA2Li5k ZDBhYmU4NGZkZiAxMDA2NDQKLS0tIGEvc3JjL3dpbmRvdy5jCisrKyBiL3NyYy93aW5kb3cu YwpAQCAtMzI3Nyw2ICszMjc3LDkwIEBAIHdpbmRvd19waXhlbF90b190b3RhbCAoTGlzcF9P YmplY3QgZnJhbWUsIExpc3BfT2JqZWN0IGhvcml6b250YWwpCiB9CiAKIAorLyogUmVtb3Zl IGZpcnN0IG9jY3VycmVuY2Ugb2YgZWxlbWVudCB3aG9zZSBjYXIgaXMgQlVGRkVSIGZyb20g QUxJU1QuCisgICBSZXR1cm4gY2hhbmdlZCBBTElTVC4gICovCitzdGF0aWMgTGlzcF9PYmpl Y3QKK3dpbmRvd19kaXNjYXJkX2J1ZmZlcl9mcm9tX2FsaXN0IChMaXNwX09iamVjdCBidWZm ZXIsIExpc3BfT2JqZWN0IGFsaXN0KQoreworICBMaXNwX09iamVjdCB0YWlsLCAqcHJldiA9 ICZhbGlzdDsKKworICBmb3IgKHRhaWwgPSBhbGlzdDsgQ09OU1AgKHRhaWwpOyB0YWlsID0g WENEUiAodGFpbCkpCisgICAgeworICAgICAgTGlzcF9PYmplY3QgdGVtID0gWENBUiAodGFp bCk7CisKKyAgICAgIHRlbSA9IFhDQVIgKHRlbSk7CisKKyAgICAgIGlmIChFUSAodGVtLCBi dWZmZXIpKQorCXsKKwkgICpwcmV2ID0gWENEUiAodGFpbCk7CisJICBicmVhazsKKwl9Cisg ICAgICBlbHNlCisJcHJldiA9IHhjZHJfYWRkciAodGFpbCk7CisgICAgfQorCisgIHJldHVy biBhbGlzdDsKK30KKworLyogUmVtb3ZlIGZpcnN0IG9jY3VycmVuY2Ugb2YgQlVGRkVSIGZy b20gTElTVC4gIFJldHVybiBjaGFuZ2VkCisgICBMSVNULiAgKi8KK3N0YXRpYyBMaXNwX09i amVjdAord2luZG93X2Rpc2NhcmRfYnVmZmVyX2Zyb21fbGlzdCAoTGlzcF9PYmplY3QgYnVm ZmVyLCBMaXNwX09iamVjdCBsaXN0KQoreworICBMaXNwX09iamVjdCB0YWlsLCAqcHJldiA9 ICZsaXN0OworCisgIGZvciAodGFpbCA9IGxpc3Q7IENPTlNQICh0YWlsKTsgdGFpbCA9IFhD RFIgKHRhaWwpKQorICAgIHsKKyAgICAgIGlmIChFUSAoWENBUiAodGFpbCksIGJ1ZmZlcikp CisJeworCSAgKnByZXYgPSBYQ0RSICh0YWlsKTsKKwkgIGJyZWFrOworCX0KKyAgICAgIGVs c2UKKwlwcmV2ID0geGNkcl9hZGRyICh0YWlsKTsKKyAgICB9CisKKyAgcmV0dXJuIGxpc3Q7 Cit9CisKK3N0YXRpYyB2b2lkCit3aW5kb3dfZGlzY2FyZF9idWZmZXJfZnJvbV9kZWFkX3dp bmRvdyAoTGlzcF9PYmplY3QgYnVmZmVyLCBMaXNwX09iamVjdCB3aW5kb3cpCit7CisgIHN0 cnVjdCB3aW5kb3cgKncgPSBYV0lORE9XICh3aW5kb3cpOworICBMaXNwX09iamVjdCBxdWl0 X3Jlc3RvcmUgPSB3aW5kb3dfcGFyYW1ldGVyICh3LCBRcXVpdF9yZXN0b3JlKTsKKyAgTGlz cF9PYmplY3QgcXVpdF9yZXN0b3JlX3ByZXYgPSB3aW5kb3dfcGFyYW1ldGVyICh3LCBRcXVp dF9yZXN0b3JlX3ByZXYpOworICBMaXNwX09iamVjdCBxdWFkOworCisgIHdzZXRfcHJldl9i dWZmZXJzCisgICAgKHcsIHdpbmRvd19kaXNjYXJkX2J1ZmZlcl9mcm9tX2FsaXN0IChidWZm ZXIsIHctPnByZXZfYnVmZmVycykpOworICB3c2V0X25leHRfYnVmZmVycworICAgICh3LCB3 aW5kb3dfZGlzY2FyZF9idWZmZXJfZnJvbV9saXN0IChidWZmZXIsIHctPm5leHRfYnVmZmVy cykpOworCisgIGlmIChFUSAoYnVmZmVyLCBGbnRoIChtYWtlX2ZpeG51bSAoMyksIHF1aXRf cmVzdG9yZV9wcmV2KSkKKyAgICAgIHx8IChDT05TUCAocXVhZCA9IEZjYXIgKEZjZHIgKHF1 aXRfcmVzdG9yZV9wcmV2KSkpCisJICAmJiBFUSAoRmNhciAocXVhZCksIGJ1ZmZlcikpKQor ICAgIEZzZXRfd2luZG93X3BhcmFtZXRlciAod2luZG93LCBRcXVpdF9yZXN0b3JlX3ByZXYs IFFuaWwpOworCisgIGlmIChFUSAoYnVmZmVyLCBGbnRoIChtYWtlX2ZpeG51bSAoMyksIHF1 aXRfcmVzdG9yZSkpCisgICAgICB8fCAoQ09OU1AgKHF1YWQgPSBGY2FyIChGY2RyIChxdWl0 X3Jlc3RvcmUpKSkKKwkgICYmIEVRIChGY2FyIChxdWFkKSwgYnVmZmVyKSkpCisgICAgewor ICAgICAgRnNldF93aW5kb3dfcGFyYW1ldGVyICh3aW5kb3csIFFxdWl0X3Jlc3RvcmUsCisJ CQkgICAgIHdpbmRvd19wYXJhbWV0ZXIgKHcsIFFxdWl0X3Jlc3RvcmVfcHJldikpOworICAg ICAgRnNldF93aW5kb3dfcGFyYW1ldGVyICh3aW5kb3csIFFxdWl0X3Jlc3RvcmVfcHJldiwg UW5pbCk7CisgICAgfQorfQorCit2b2lkCit3aW5kb3dfZGlzY2FyZF9idWZmZXJfZnJvbV9k ZWFkX3dpbmRvd3MgKExpc3BfT2JqZWN0IGJ1ZmZlcikKK3sKKyAgc3RydWN0IExpc3BfSGFz aF9UYWJsZSAqaCA9IFhIQVNIX1RBQkxFICh3aW5kb3dfZGVhZF93aW5kb3dzX3RhYmxlKTsK KworICBET0hBU0ggKGgsIGssIHYpCisgICAgd2luZG93X2Rpc2NhcmRfYnVmZmVyX2Zyb21f ZGVhZF93aW5kb3cgKGJ1ZmZlciwgdik7Cit9CisKKwogREVGVU4gKCJkZWxldGUtb3RoZXIt d2luZG93cy1pbnRlcm5hbCIsIEZkZWxldGVfb3RoZXJfd2luZG93c19pbnRlcm5hbCwKICAg ICAgICBTZGVsZXRlX290aGVyX3dpbmRvd3NfaW50ZXJuYWwsIDAsIDIsICIiLAogICAgICAg IGRvYzogLyogTWFrZSBXSU5ET1cgZmlsbCBpdHMgZnJhbWUuCkBAIC00NDAyLDYgKzQ0ODYs MTAgQEAgbWFrZV9wYXJlbnRfd2luZG93IChMaXNwX09iamVjdCB3aW5kb3csIGJvb2wgaG9y ZmxhZykKICAgd3NldF9idWZmZXIgKHAsIFFuaWwpOwogICB3c2V0X2NvbWJpbmF0aW9uIChw LCBob3JmbGFnLCB3aW5kb3cpOwogICB3c2V0X2NvbWJpbmF0aW9uX2xpbWl0IChwLCBRbmls KTsKKyAgLyogUmVzZXQgYW55IHByZXZpb3VzIGFuZCBuZXh0IGJ1ZmZlcnMgb2YgcCB3aGlj aCBoYXZlIGJlZW4gaW5zdGFsbGVkCisgICAgIGJ5IHRoZSBtZW1jcHkgYWJvdmUuICAqLwor ICB3c2V0X3ByZXZfYnVmZmVycyAocCwgUW5pbCk7CisgIHdzZXRfbmV4dF9idWZmZXJzIChw LCBRbmlsKTsKICAgd3NldF93aW5kb3dfcGFyYW1ldGVycyAocCwgUW5pbCk7CiB9CiAKQEAg LTQ0MjYsMTAgKzQ1MTQsNiBAQCBtYWtlX3dpbmRvdyAodm9pZCkKICAgd3NldF92ZXJ0aWNh bF9zY3JvbGxfYmFyX3R5cGUgKHcsIFF0KTsKICAgd3NldF9ob3Jpem9udGFsX3Njcm9sbF9i YXJfdHlwZSAodywgUXQpOwogICB3c2V0X2N1cnNvcl90eXBlICh3LCBRdCk7Ci0gIC8qIFRo ZXNlIExpc3AgZmllbGRzIGFyZSBtYXJrZWQgc3BlY2lhbGx5IHNvIHRoZXkncmUgbm90IHNl dCB0byBuaWwgYnkKLSAgICAgYWxsb2NhdGVfd2luZG93LiAgKi8KLSAgd3NldF9wcmV2X2J1 ZmZlcnMgKHcsIFFuaWwpOwotICB3c2V0X25leHRfYnVmZmVycyAodywgUW5pbCk7CiAKICAg LyogSW5pdGlhbGl6ZSBub24tTGlzcCBkYXRhLiAgTm90ZSB0aGF0IGFsbG9jYXRlX3dpbmRv dyB6ZXJvZXMgb3V0IGFsbAogICAgICBub24tTGlzcCBkYXRhLCBzbyBkbyBpdCBvbmx5IGZv ciBzbG90cyB3aGljaCBzaG91bGQgbm90IGJlIHplcm8uICAqLwpAQCAtNTI1Miw2ICs1MzM2 LDExIEBAIERFRlVOICgiZGVsZXRlLXdpbmRvdy1pbnRlcm5hbCIsIEZkZWxldGVfd2luZG93 X2ludGVybmFsLCBTZGVsZXRlX3dpbmRvd19pbnRlcm5hCiAJICB1bmNoYWluX21hcmtlciAo WE1BUktFUiAody0+b2xkX3BvaW50bSkpOwogCSAgdW5jaGFpbl9tYXJrZXIgKFhNQVJLRVIg KHctPnN0YXJ0KSk7CiAJICB3c2V0X2J1ZmZlciAodywgUW5pbCk7CisJICAvKiBBZGQgV0lO RE9XIHRvIHRhYmxlIG9mIGRlYWQgd2luZG93cyBzbyB3aGVuIGtpbGxpbmcgYSBidWZmZXIK KwkgICAgIFdJTkRPVyBtZW50aW9ucywgYWxsIHJlZmVyZW5jZXMgdG8gdGhhdCBidWZmZXIg Y2FuIGJlIHJlbW92ZWQKKwkgICAgIGFuZCB0aGUgYnVmZmVyIGJlIGNvbGxlY3RlZC4gICov CisJICBGcHV0aGFzaCAobWFrZV9maXhudW0gKHctPnNlcXVlbmNlX251bWJlciksCisJCSAg ICB3aW5kb3csIHdpbmRvd19kZWFkX3dpbmRvd3NfdGFibGUpOwogCX0KIAogICAgICAgaWYg KE5JTFAgKHMtPnByZXYpICYmIE5JTFAgKHMtPm5leHQpKQpAQCAtNzM1Niw2ICs3NDQ1LDEw IEBAIERFRlVOICgic2V0LXdpbmRvdy1jb25maWd1cmF0aW9uIiwgRnNldF93aW5kb3dfY29u ZmlndXJhdGlvbiwKIAkJfQogCSAgICB9CiAKKwkgIC8qIFJlbW92ZSB3aW5kb3cgZnJvbSB0 aGUgdGFibGUgb2YgZGVhZCB3aW5kb3dzLiAgKi8KKwkgIEZyZW1oYXNoIChtYWtlX2ZpeG51 bSAody0+c2VxdWVuY2VfbnVtYmVyKSwKKwkJICAgIHdpbmRvd19kZWFkX3dpbmRvd3NfdGFi bGUpOworCiAJICBpZiAoKE5JTFAgKGRvbnRfc2V0X21pbml3aW5kb3cpIHx8ICFNSU5JX1dJ TkRPV19QICh3KSkKIAkgICAgICAmJiBCVUZGRVJQIChwLT5idWZmZXIpICYmIEJVRkZFUl9M SVZFX1AgKFhCVUZGRVIgKHAtPmJ1ZmZlcikpKQogCSAgICAvKiBJZiBzYXZlZCBidWZmZXIg aXMgYWxpdmUsIGluc3RhbGwgaXQsIHVubGVzcyBpdCdzIGEKQEAgLTc1ODUsNiArNzY3OCwx MSBAQCBkZWxldGVfYWxsX2NoaWxkX3dpbmRvd3MgKExpc3BfT2JqZWN0IHdpbmRvdykKIAkg cG9zc2libGUgcmVzdXJyZWN0aW9uIGluIEZzZXRfd2luZG93X2NvbmZpZ3VyYXRpb24uICAq LwogICAgICAgd3NldF9jb21iaW5hdGlvbl9saW1pdCAodywgdy0+Y29udGVudHMpOwogICAg ICAgd3NldF9idWZmZXIgKHcsIFFuaWwpOworICAgICAgLyogQWRkIFdJTkRPVyB0byB0YWJs ZSBvZiBkZWFkIHdpbmRvd3Mgc28gd2hlbiBraWxsaW5nIGEgYnVmZmVyCisJIFdJTkRPVyBt ZW50aW9ucywgYWxsIHJlZmVyZW5jZXMgdG8gdGhhdCBidWZmZXIgY2FuIGJlIHJlbW92ZWQK KwkgYW5kIHRoZSBidWZmZXIgYmUgY29sbGVjdGVkLiAgKi8KKyAgICAgIEZwdXRoYXNoICht YWtlX2ZpeG51bSAody0+c2VxdWVuY2VfbnVtYmVyKSwKKwkJd2luZG93LCB3aW5kb3dfZGVh ZF93aW5kb3dzX3RhYmxlKTsKICAgICB9CiAKICAgVndpbmRvd19saXN0ID0gUW5pbDsKQEAg LTg1OTQsNiArODY5Miw4IEBAIHN5bXNfb2Zfd2luZG93ICh2b2lkKQogICBERUZTWU0gKFFj b25maWd1cmF0aW9uLCAiY29uZmlndXJhdGlvbiIpOwogICBERUZTWU0gKFFkZWxldGUsICJk ZWxldGUiKTsKICAgREVGU1lNIChRZGVkaWNhdGVkLCAiZGVkaWNhdGVkIik7CisgIERFRlNZ TSAoUXF1aXRfcmVzdG9yZSwgInF1aXQtcmVzdG9yZSIpOworICBERUZTWU0gKFFxdWl0X3Jl c3RvcmVfcHJldiwgInF1aXQtcmVzdG9yZS1wcmV2Iik7CiAKICAgREVGVkFSX0xJU1AgKCJ0 ZW1wLWJ1ZmZlci1zaG93LWZ1bmN0aW9uIiwgVnRlbXBfYnVmZmVyX3Nob3dfZnVuY3Rpb24s CiAJICAgICAgIGRvYzogLyogTm9uLW5pbCBtZWFucyBjYWxsIGFzIGZ1bmN0aW9uIHRvIGRp c3BsYXkgYSBoZWxwIGJ1ZmZlci4KQEAgLTg5MTcsNiArOTAxNywxNyBAQCBzeW1zX29mX3dp bmRvdyAodm9pZCkKIGRpc3BsYXllZCBhZnRlciBhIHNjcm9sbGluZyBvcGVyYXRpb24gdG8g YmUgc29tZXdoYXQgaW5hY2N1cmF0ZS4gICovKTsKICAgZmFzdF9idXRfaW1wcmVjaXNlX3Nj cm9sbGluZyA9IGZhbHNlOwogCisgIERFRlZBUl9MSVNQICgid2luZG93LWRlYWQtd2luZG93 cy10YWJsZSIsIHdpbmRvd19kZWFkX3dpbmRvd3NfdGFibGUsCisgICAgZG9jOiAvKiBIYXNo IHRhYmxlIG9mIGRlYWQgd2luZG93cy4KK0VhY2ggZW50cnkgaW4gdGhpcyB0YWJsZSBtYXBz IGEgd2luZG93IG51bWJlciB0byBhIHdpbmRvdyBvYmplY3QuCitFbnRyaWVzIGFyZSBhZGRl ZCBieSBgZGVsZXRlLXdpbmRvdy1pbnRlcm5hbCcgYW5kIGFyZSByZW1vdmVkIGJ5IHRoZQor Z2FyYmFnZSBjb2xsZWN0b3IuCisKK1RoaXMgdGFibGUgaXMgbWFpbnRhaW5lZCBieSBjb2Rl IGluIHdpbmRvdy5jIGFuZCBpcyBtYWRlIHZpc2libGUgaW4KK0VsaXNwIGZvciB0ZXN0aW5n IHB1cnBvc2VzIG9ubHkuICAqLyk7CisgIHdpbmRvd19kZWFkX3dpbmRvd3NfdGFibGUKKyAg ICA9IENBTExOIChGbWFrZV9oYXNoX3RhYmxlLCBRQ3dlYWtuZXNzLCBRdCk7CisKICAgZGVm c3ViciAoJlNzZWxlY3RlZF93aW5kb3cpOwogICBkZWZzdWJyICgmU29sZF9zZWxlY3RlZF93 aW5kb3cpOwogICBkZWZzdWJyICgmU21pbmlidWZmZXJfd2luZG93KTsKZGlmZiAtLWdpdCBh L3NyYy93aW5kb3cuaCBiL3NyYy93aW5kb3cuaAppbmRleCA4NjkzMjE4MTI1Mi4uMzM1ZTBh MzQ1M2UgMTAwNjQ0Ci0tLSBhL3NyYy93aW5kb3cuaAorKysgYi9zcmMvd2luZG93LmgKQEAg LTE0Miw2ICsxNDIsMTIgQEAgI2RlZmluZSBXSU5ET1dfSF9JTkNMVURFRAogICAgICAgIGFz IHdlbGwuICAqLwogICAgIExpc3BfT2JqZWN0IGNvbnRlbnRzOwogCisgICAgLyogQSBsaXN0 IG9mIDxidWZmZXIsIHdpbmRvdy1zdGFydCwgd2luZG93LXBvaW50PiB0cmlwbGVzIGxpc3Rp bmcKKyAgICAgICBidWZmZXJzIHByZXZpb3VzbHkgc2hvd24gaW4gdGhpcyB3aW5kb3cuICAq LworICAgIExpc3BfT2JqZWN0IHByZXZfYnVmZmVyczsKKyAgICAvKiBMaXN0IG9mIGJ1ZmZl cnMgcmUtc2hvd24gaW4gdGhpcyB3aW5kb3cuICAqLworICAgIExpc3BfT2JqZWN0IG5leHRf YnVmZmVyczsKKwogICAgIC8qIFRoZSBvbGQgYnVmZmVyIG9mIHRoaXMgd2luZG93LCBzZXQg dG8gdGhpcyB3aW5kb3cncyBidWZmZXIgYnkKICAgICAgICBydW5fd2luZG93X2NoYW5nZV9m dW5jdGlvbnMgZXZlcnkgdGltZSBpdCBzZWVzIHRoaXMgd2luZG93LgogICAgICAgIFVudXNl ZCBmb3IgaW50ZXJuYWwgd2luZG93cy4gICovCkBAIC0yMTgsMTQgKzIyNCw2IEBAICNkZWZp bmUgV0lORE9XX0hfSU5DTFVERUQKICAgICBzdHJ1Y3QgZ2x5cGhfbWF0cml4ICpjdXJyZW50 X21hdHJpeDsKICAgICBzdHJ1Y3QgZ2x5cGhfbWF0cml4ICpkZXNpcmVkX21hdHJpeDsKIAot ICAgIC8qIFRoZSB0d28gTGlzcF9PYmplY3QgZmllbGRzIGJlbG93IGFyZSBtYXJrZWQgaW4g YSBzcGVjaWFsIHdheSwKLSAgICAgICB3aGljaCBpcyB3aHkgdGhleSdyZSBwbGFjZWQgYWZ0 ZXIgYGN1cnJlbnRfbWF0cml4Jy4gICovCi0gICAgLyogQSBsaXN0IG9mIDxidWZmZXIsIHdp bmRvdy1zdGFydCwgd2luZG93LXBvaW50PiB0cmlwbGVzIGxpc3RpbmcKLSAgICAgICBidWZm ZXJzIHByZXZpb3VzbHkgc2hvd24gaW4gdGhpcyB3aW5kb3cuICAqLwotICAgIExpc3BfT2Jq ZWN0IHByZXZfYnVmZmVyczsKLSAgICAvKiBMaXN0IG9mIGJ1ZmZlcnMgcmUtc2hvd24gaW4g dGhpcyB3aW5kb3cuICAqLwotICAgIExpc3BfT2JqZWN0IG5leHRfYnVmZmVyczsKLQogICAg IC8qIE51bWJlciBzYXlpbmcgaG93IHJlY2VudGx5IHdpbmRvdyB3YXMgc2VsZWN0ZWQuICAq LwogICAgIEVNQUNTX0lOVCB1c2VfdGltZTsKIApAQCAtMTIyOCw2ICsxMjI2LDcgQEAgI2Rl ZmluZSBDSEVDS19MSVZFX1dJTkRPVyhXSU5ET1cpCQkJCVwKIGV4dGVybiB2b2lkIHdzZXRf YnVmZmVyIChzdHJ1Y3Qgd2luZG93ICosIExpc3BfT2JqZWN0KTsKIGV4dGVybiBib29sIHdp bmRvd19vdXRkYXRlZCAoc3RydWN0IHdpbmRvdyAqKTsKIGV4dGVybiBwdHJkaWZmX3Qgd2lu ZG93X3BvaW50IChzdHJ1Y3Qgd2luZG93ICp3KTsKK2V4dGVybiB2b2lkIHdpbmRvd19kaXNj YXJkX2J1ZmZlcl9mcm9tX2RlYWRfd2luZG93cyAoTGlzcF9PYmplY3QpOwogZXh0ZXJuIHZv aWQgaW5pdF93aW5kb3dfb25jZSAodm9pZCk7CiBleHRlcm4gdm9pZCBpbml0X3dpbmRvdyAo dm9pZCk7CiBleHRlcm4gdm9pZCBzeW1zX29mX3dpbmRvdyAodm9pZCk7Cg== --------------LljYayqEV1Ur0nfWMbfh90n8--
X-Loop: help-debbugs@HIDDEN Subject: bug#59862: quit-restore per window buffer Resent-From: Juri Linkov <juri@HIDDEN> Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> Resent-CC: bug-gnu-emacs@HIDDEN Resent-Date: Tue, 09 Jul 2024 07:00:02 +0000 Resent-Message-ID: <handler.59862.B59862.17205083714350 <at> debbugs.gnu.org> Resent-Sender: help-debbugs@HIDDEN X-GNU-PR-Message: followup 59862 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: martin rudalics <rudalics@HIDDEN> Cc: 59862 <at> debbugs.gnu.org Received: via spool by 59862-submit <at> debbugs.gnu.org id=B59862.17205083714350 (code B ref 59862); Tue, 09 Jul 2024 07:00:02 +0000 Received: (at 59862) by debbugs.gnu.org; 9 Jul 2024 06:59:31 +0000 Received: from localhost ([127.0.0.1]:52018 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1sR4p0-000185-KG for submit <at> debbugs.gnu.org; Tue, 09 Jul 2024 02:59:31 -0400 Received: from relay4-d.mail.gandi.net ([217.70.183.196]:38985) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <juri@HIDDEN>) id 1sR4oy-00017r-2e for 59862 <at> debbugs.gnu.org; Tue, 09 Jul 2024 02:59:29 -0400 Received: by mail.gandi.net (Postfix) with ESMTPSA id B13BEE0007; Tue, 9 Jul 2024 06:58:55 +0000 (UTC) From: Juri Linkov <juri@HIDDEN> In-Reply-To: <ca1388d2-3481-49c4-8721-42792a399340@HIDDEN> (martin rudalics's message of "Mon, 8 Jul 2024 18:49:52 +0200") Organization: LINKOV.NET References: <86fsds8mlm.fsf@HIDDEN> <86ttibq1w1.fsf@HIDDEN> <8243325e-ed03-4e9e-b64f-c8225fb6dc60@HIDDEN> <18173da7-32e1-4f14-bbea-9a8fa66af7dd@HIDDEN> <f9eb9bae-6275-4448-9590-e72a56064220@HIDDEN> <86plsxmc6d.fsf@HIDDEN> <86r0d4ezdc.fsf@HIDDEN> <0d01a044-d7d6-456a-9ba9-d987faad4332@HIDDEN> <86frthjq4y.fsf@HIDDEN> <743dc4dd-cf09-4c5e-9209-b63a47480e0b@HIDDEN> <86msnne7ut.fsf@HIDDEN> <ad0bfe5d-817b-4d11-b82f-90c5a76b4c81@HIDDEN> <86plsgrfvu.fsf@HIDDEN> <ca1388d2-3481-49c4-8721-42792a399340@HIDDEN> Date: Tue, 09 Jul 2024 09:58:49 +0300 Message-ID: <86le2b12ni.fsf@HIDDEN> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/31.0.50 (x86_64-pc-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain X-GND-Sasl: juri@HIDDEN X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.7 (-) > It took me some time to rewrite the code for this since I found a couple > of leaks in the window handling code which I tried to plug now. In a > nutshell, the new patch is supposed to fix the following issues. > > - I introduced a new variable called 'kill-buffer-quit-windows'. If > non-nil, it makes killing a buffer call 'quit-restore-window' for each > window showing the buffer thus implementing the behavior you want. If > nil, killing a buffer works as before apart from the fixes I added > below. Thanks, I hope it will help to replace such configurations: (defun quit-window-kill-buffer () "Quit WINDOW and kill its buffer." (interactive) (quit-window 1)) (define-key special-mode-map "q" 'quit-window-kill-buffer) (define-key image-mode-map "q" 'quit-window-kill-buffer) (define-key global-map "\C-q" 'quit-window-kill-buffer) (define-key dired-mode-map "q" 'quit-window-kill-buffer) (define-key archive-mode-map "q" 'quit-window-kill-buffer) (define-key tar-mode-map "q" 'quit-window-kill-buffer) ... I suppose it will affect only interactive uses of 'kill-buffer'. > In earlier versions of Emacs, window configurations were mostly used to > handle window excursions and were consequently rather short-lived. Your > tab bar code has changed that. Hence we should try to avoid any leaks > introduced by long-lived configurations. Indeed now window configurations are long-lived, so tab-bar uses (split-window) followed by (delete-window) to create a new window different from the window saved in a window configuration. > Please test the patch intensively and report any problems you see. I > used the forms below to test the various features of the patch. I have used your previous patch for a long time, and it worked perfectly. I hope your new patch will be as good as the old one. PS: I noticed one difference between handling of frames and tabs: C-x 5 5 ;; other-frame-prefix C-h i ;; info C-h e ;; view-echo-area-messages q ;; quit-window This deletes the Info window, and doesn't delete the frame. Everything is correct. C-x t t ;; other-tab-prefix C-h i ;; info C-h e ;; view-echo-area-messages q ;; quit-window This doesn't close the tab (correct), but doesn't delete the Info window. This differs from the frame case that keeps only the Messages window on the frame.
X-Loop: help-debbugs@HIDDEN Subject: bug#59862: quit-restore per window buffer Resent-From: martin rudalics <rudalics@HIDDEN> Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> Resent-CC: bug-gnu-emacs@HIDDEN Resent-Date: Tue, 09 Jul 2024 08:53:02 +0000 Resent-Message-ID: <handler.59862.B59862.172051514115349 <at> debbugs.gnu.org> Resent-Sender: help-debbugs@HIDDEN X-GNU-PR-Message: followup 59862 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Juri Linkov <juri@HIDDEN> Cc: 59862 <at> debbugs.gnu.org Received: via spool by 59862-submit <at> debbugs.gnu.org id=B59862.172051514115349 (code B ref 59862); Tue, 09 Jul 2024 08:53:02 +0000 Received: (at 59862) by debbugs.gnu.org; 9 Jul 2024 08:52:21 +0000 Received: from localhost ([127.0.0.1]:52117 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1sR6aD-0003zU-Gp for submit <at> debbugs.gnu.org; Tue, 09 Jul 2024 04:52:21 -0400 Received: from mout.gmx.net ([212.227.17.20]:44043) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <rudalics@HIDDEN>) id 1sR6aB-0003zG-42 for 59862 <at> debbugs.gnu.org; Tue, 09 Jul 2024 04:52:20 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmx.at; s=s31663417; t=1720515127; x=1721119927; i=rudalics@HIDDEN; bh=EHgvQDcOqjrJiPQOpIx77zzL4evUofoAwj3FniKinU4=; h=X-UI-Sender-Class:Message-ID:Date:MIME-Version:Subject:To:Cc: References:From:In-Reply-To:Content-Type: Content-Transfer-Encoding:cc:content-transfer-encoding: content-type:date:from:message-id:mime-version:reply-to:subject: to; b=eMJWD5QkSlFxzcp6/D1fQQRE8LhYtHXZ+rxiJYMJRwGEK5jmhvy/M2GJU88AdvpK OzTg9zEqwotdiEIqaESaWfIoZG88TQDPwvJ4uK9IoJ2jcjEpjmaSvThjjf9edPqsu dwh9GYxsdSlG+BLcwn82FAGijMImi3jq/qIuMNj3B650bdcDHyGdHIEMXoDM4CqQo 82RUifmHn/z5e1NqikfYcYhBqjsPtKO/+K3TpGnVQ3ogXI/0csEPGF3xPt69ZkcC5 +b+FBJy0M/UtH7azkQ+aZ4DWyGc+AN3nZ1KM/WEUBMB2jWNxDIj1w2Fk1g3ZrlNY+ GiGfD3vidD7pFieqOQ== X-UI-Sender-Class: 724b4f7f-cbec-4199-ad4e-598c01a50d3a Received: from [192.168.31.113] ([213.142.97.150]) by mail.gmx.net (mrgmx105 [212.227.17.168]) with ESMTPSA (Nemesis) id 1MNt0C-1skoFq49Q8-00SHnU; Tue, 09 Jul 2024 10:52:07 +0200 Message-ID: <a972688e-01f6-428e-9dc0-67a45bc9a770@HIDDEN> Date: Tue, 9 Jul 2024 10:52:03 +0200 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird References: <86fsds8mlm.fsf@HIDDEN> <86ttibq1w1.fsf@HIDDEN> <8243325e-ed03-4e9e-b64f-c8225fb6dc60@HIDDEN> <18173da7-32e1-4f14-bbea-9a8fa66af7dd@HIDDEN> <f9eb9bae-6275-4448-9590-e72a56064220@HIDDEN> <86plsxmc6d.fsf@HIDDEN> <86r0d4ezdc.fsf@HIDDEN> <0d01a044-d7d6-456a-9ba9-d987faad4332@HIDDEN> <86frthjq4y.fsf@HIDDEN> <743dc4dd-cf09-4c5e-9209-b63a47480e0b@HIDDEN> <86msnne7ut.fsf@HIDDEN> <ad0bfe5d-817b-4d11-b82f-90c5a76b4c81@HIDDEN> <86plsgrfvu.fsf@HIDDEN> <ca1388d2-3481-49c4-8721-42792a399340@HIDDEN> <86le2b12ni.fsf@HIDDEN> Content-Language: en-US From: martin rudalics <rudalics@HIDDEN> In-Reply-To: <86le2b12ni.fsf@HIDDEN> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Provags-ID: V03:K1:3p17tgocLDQzym3lw6RuAXvyNdu4S8UG8xeMwCCJz4v3TrI3mAi XohZPnmZCQb3Lg4aV09nNUaCmsJBueGJTj/QgVsAVjFwYzDWDlDqmr+YZef0zNTIHmXbZLj sNsWC55yCQHeV//tmI4I9uawuYfHLro6rHTL7JqfZncU9oShn/qNGij/Qk6FajbxHQV2GuE qK3b8laxTULTXmsabIe0A== X-Spam-Flag: NO UI-OutboundReport: notjunk:1;M01:P0:twvukzr3B4w=;JHCo683RM02fWgkgLciYfb5HdI/ DR72UqjDK4H/ikf/al88uBa0SoJ54shetzsk7Xq9d+0fVcqw66rlyN6Tv482q57rLeYBe2g1c rRd1UU1JWi/uHrB2Rj8drSVl4MSj8FvHydkaxU1eIy9eVrndxI8KOlW9xr006u/+I7kwDKeJQ wO9naWQ1vbVWbYupzw1yazRK6a4Nh8YuB4+i0IpN4n+sRoOrpxHBLQjP21zzzcm3ETE+EaCKN BoE9LBRQ8zfUR6/e4bjO4SdyiwQR/9R+qIctSFgQKqhEgMFVyPq7/U9sjzpIb+5KOos9ui5ET IDKFnYw4qanNrl7LBXT+Uk57+AGaCTkJGWCMAMUHe9BR9gM0kZyHZq2mNWVoQ0p5TRsKuZ1gA WhvB4aWG2KtjyXysyH6cBBVf1GNzY4wFDONMSwdBMhJzzkrzGeJiFRer38S4ad/lynt3esPF5 RmNYNDfWDAFzWk4nIW2Q9GVB0P8cu91EjVENHj85N3VN01T17uJHEmV5EDwr3teM6sTfXhr0r BHKrWq8V7v75oKZ4XF+k/zi1vdudVf8FQz1whMfKj+dO952Vw5W91xwHo1YAMX+NTq/tsuGPT 2AnFDpr/z1FG3ljKjLQMslTLGRneOCIwd0fB2OLY2ngdAZ7o4B9bkisVGyqnkWlvVm9QoAgZu +KqG7ryTSJfjaS5Q0VXmIK0oKu4bhdgMBycSdhEkEu8sZaJj3FznOPhu2r6dFD7JUS7DUX7q2 3bbmjTr29rxHsFUV5Iywx/bpA/Rk/Prh+PIj2TWnTbH407QFJ1RbYGSOPyH/IzigexJVySZB1 4dCJfBLbIp2eg+2sfm2qnZbnOjX0CuGul+8HXrsl/Ux3s= X-Spam-Score: -0.7 (/) X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.7 (-) > I suppose it will affect only interactive uses of 'kill-buffer'. Why? It affects all uses of 'kill-buffer'. > PS: I noticed one difference between handling of frames and tabs: > > C-x 5 5 ;; other-frame-prefix > C-h i ;; info > C-h e ;; view-echo-area-messages > q ;; quit-window > This deletes the Info window, and doesn't delete the frame. > Everything is correct. > > C-x t t ;; other-tab-prefix > C-h i ;; info > C-h e ;; view-echo-area-messages > q ;; quit-window > This doesn't close the tab (correct), > but doesn't delete the Info window. > This differs from the frame case that keeps > only the Messages window on the frame. Suppose you do C-h i ;; info C-h e ;; view-echo-area-messages q ;; quit-window Then the difference is obvious. The C-h i reuses the one existing window showing *scratch*. 'display-buffer-record-window' cannot tell this case apart from the one where a user does want to show *scratch* again in that window after being done with *info*. If we wanted a behavior that deleted the *info* window in this case (it could do that only if there is another window on that frame), the caller could add an alist entry, say 'delete-reused-window-if-possible', and add something like (when (and (eq type 'reuse) (assq 'delete-reused-window-if-possible alist)) (setq type 'window)) immediately before the (display-buffer-record-window type window buffer) call in 'window--display-buffer'. But you pass 'tab' as TYPE argument to 'window--display-buffer' and that would have to be handled in a maybe similar but still different way. martin
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997 nCipher Corporation Ltd,
1994-97 Ian Jackson.