GNU logs - #59862, boring messages


Message sent to bug-gnu-emacs@HIDDEN:


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.




Message sent:


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


Message sent to bug-gnu-emacs@HIDDEN:


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.




Message sent to bug-gnu-emacs@HIDDEN:


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--




Message sent to bug-gnu-emacs@HIDDEN:


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--




Message sent to bug-gnu-emacs@HIDDEN:


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--




Message sent to bug-gnu-emacs@HIDDEN:


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.




Message sent to bug-gnu-emacs@HIDDEN:


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.




Message sent to bug-gnu-emacs@HIDDEN:


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.




Message sent to bug-gnu-emacs@HIDDEN:


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




Message sent to bug-gnu-emacs@HIDDEN:


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'.




Message sent to bug-gnu-emacs@HIDDEN:


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




Message sent to bug-gnu-emacs@HIDDEN:


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))




Message sent to bug-gnu-emacs@HIDDEN:


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




Message sent to bug-gnu-emacs@HIDDEN:


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))




Message sent to bug-gnu-emacs@HIDDEN:


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




Message sent to bug-gnu-emacs@HIDDEN:


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--




Message sent to bug-gnu-emacs@HIDDEN:


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.




Message sent to bug-gnu-emacs@HIDDEN:


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





Last modified: Tue, 9 Jul 2024 09:00:01 UTC

GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997 nCipher Corporation Ltd, 1994-97 Ian Jackson.