From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Jim Porter Newsgroups: gmane.emacs.bugs Subject: bug#51993: 29.0.50; [PATCH] Killing emacsclient terminal with `server-stop-automatically' doesn't prompt to save files Date: Fri, 19 Nov 2021 20:29:43 -0800 Message-ID: <9e47c871-a2c3-d764-bec9-d87abf3efe83@gmail.com> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="------------C07135EFA8A344D076699CA3" Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="3998"; mail-complaints-to="usenet@ciao.gmane.io" To: 51993@debbugs.gnu.org Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Sat Nov 20 05:30:21 2021 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1moI17-0000rI-7a for geb-bug-gnu-emacs@m.gmane-mx.org; Sat, 20 Nov 2021 05:30:21 +0100 Original-Received: from localhost ([::1]:59850 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1moI15-00008F-NS for geb-bug-gnu-emacs@m.gmane-mx.org; Fri, 19 Nov 2021 23:30:19 -0500 Original-Received: from eggs.gnu.org ([209.51.188.92]:58054) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1moI0o-00007o-G2 for bug-gnu-emacs@gnu.org; Fri, 19 Nov 2021 23:30:02 -0500 Original-Received: from debbugs.gnu.org ([209.51.188.43]:57842) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1moI0o-0006mp-6G for bug-gnu-emacs@gnu.org; Fri, 19 Nov 2021 23:30:02 -0500 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1moI0o-0007hf-3l for bug-gnu-emacs@gnu.org; Fri, 19 Nov 2021 23:30:02 -0500 X-Loop: help-debbugs@gnu.org Resent-From: Jim Porter Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sat, 20 Nov 2021 04:30:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 51993 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch X-Debbugs-Original-To: bug-gnu-emacs@gnu.org Original-Received: via spool by submit@debbugs.gnu.org id=B.163738259329569 (code B ref -1); Sat, 20 Nov 2021 04:30:01 +0000 Original-Received: (at submit) by debbugs.gnu.org; 20 Nov 2021 04:29:53 +0000 Original-Received: from localhost ([127.0.0.1]:41155 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1moI0e-0007gp-VY for submit@debbugs.gnu.org; Fri, 19 Nov 2021 23:29:53 -0500 Original-Received: from lists.gnu.org ([209.51.188.17]:33270) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1moI0c-0007gh-E7 for submit@debbugs.gnu.org; Fri, 19 Nov 2021 23:29:51 -0500 Original-Received: from eggs.gnu.org ([209.51.188.92]:58010) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1moI0c-00005X-8K for bug-gnu-emacs@gnu.org; Fri, 19 Nov 2021 23:29:50 -0500 Original-Received: from [2a00:1450:4864:20::134] (port=42866 helo=mail-lf1-x134.google.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1moI0a-0006kT-9N for bug-gnu-emacs@gnu.org; Fri, 19 Nov 2021 23:29:50 -0500 Original-Received: by mail-lf1-x134.google.com with SMTP id t26so52359268lfk.9 for ; Fri, 19 Nov 2021 20:29:47 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:subject:to:message-id:date:mime-version:content-language; bh=igNvVT4lMd8Hby+IMUE6PwwIAF8alWg9+RKdHTVDdcc=; b=VcqgL/HGV4zPLYP+iPO4JDKyIoYvKtDAy9rH2f4jJmUWNiXeHomLNo43MxTXa7F92n WW1RgIm/7YEBxjUSJ3WtRjy5PTeo7K7ZuR/nopsEqgVZoXhN+02emMKA3WBGQ4c9vWI7 WyAv30nEWrukURi3asYuAfdnortxi1aUu70kvVTJxCYEzwW66WyGTfLufVcmKHetMeQE W85WQ+2Bo6fCDyE3WcNPlLoLGSjUdjOaB97mU4yxvsjWB6ixgXerPHpEIgPCMDsLgTqg B957cRzRxfK5wpbmxv6fYr//UNDQsHI498u8V6G1OqCmPnxUOIHL0wIwLdZ4WnXdjUZP St+Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:subject:to:message-id:date:mime-version :content-language; bh=igNvVT4lMd8Hby+IMUE6PwwIAF8alWg9+RKdHTVDdcc=; b=NJ3C8lsJTb10KCnDrSNqSC1sD3RYGGORbc59nfcIip4H4r8P/g86wXRQtXqDsEIxra AiF67JuLYfMpHqJZoEXw6u2pkkHbbUDNSDvsum3tugC8ANTWUCTMohbhQC2nVHBVO8aw +iBOz7rnP9RkXY/IkcIhyxbxavrmM98upDc1M0pg+FDI5/Bz4oipOkq05E104rx9NO2y g1MN0xX8TSWTPmulh6nQT0s7rr+KKckb7s/KvLyvVoHCIrvSi7+re3McZMyg48w+FztA AbuR+1KNqck7HQWaqccK+RoHishMN8WXDPLswt7tZI7mKonLcLuUsb46f2LiItMH+saG IsCg== X-Gm-Message-State: AOAM530L9zTi2qej7Xin+kKOQ5OLZ/QayoroMUCMJp0CM2lddRvYPUcn C9C9x8spboBERT9l0/vYXqyxjOOfP2s= X-Google-Smtp-Source: ABdhPJxktFswWtJ0Z/cA5qkBX+jmdoo5KzTWKE+EWCVCyM3WGuUc1+a9dOl53tBOK0VQbO6+Tx8enQ== X-Received: by 2002:ac2:5dc2:: with SMTP id x2mr38668739lfq.228.1637382585774; Fri, 19 Nov 2021 20:29:45 -0800 (PST) Original-Received: from [192.168.1.2] (cpe-76-168-148-233.socal.res.rr.com. [76.168.148.233]) by smtp.googlemail.com with ESMTPSA id v8sm196978lfi.43.2021.11.19.20.29.44 for (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Fri, 19 Nov 2021 20:29:44 -0800 (PST) X-Mozilla-News-Host: news://news.gmane.org:119 Content-Language: en-US X-Host-Lookup-Failed: Reverse DNS lookup failed for 2a00:1450:4864:20::134 (failed) Received-SPF: pass client-ip=2a00:1450:4864:20::134; envelope-from=jporterbugs@gmail.com; helo=mail-lf1-x134.google.com X-Spam_score_int: -12 X-Spam_score: -1.3 X-Spam_bar: - X-Spam_report: (-1.3 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, PDS_HP_HELO_NORDNS=0.001, RCVD_IN_DNSWL_NONE=-0.0001, RDNS_NONE=0.793, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=no autolearn_force=no X-Spam_action: no action X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Original-Sender: "bug-gnu-emacs" Xref: news.gmane.io gmane.emacs.bugs:220446 Archived-At: This is a multi-part message in MIME format. --------------C07135EFA8A344D076699CA3 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit When killing an emacsclient terminal via C-x C-c, it should prompt to save the files initially passed to emacsclient. To see this in action: $ emacs -Q --daemon $ emacsclient -a "" -c foo.txt $ emacsclient -a "" -c bar.txt ;; In the first client frame: foobar ;; Insert some text C-x C-c ;; Emacs prompts "Save file /path/to/foo.txt?..." Now try the above, but call `(server-stop-automatically 'delete-frame)' first (or replace `delete-frame' with `kill-terminal'; it doesn't matter). In this case, Emacs doesn't prompt to save the file. However, the docstring/comments in `server-save-buffers-kill-terminal' say that it should: "Offer to save each buffer, then kill the current client. ... Only files from emacsclient file list." Attached is a patch to restore this behavior when stopping the server automatically. This puts all of the logic into `server-save-buffers-kill-terminal', which allows `server-stop-automatically--handle-delete-frame' to be simpler. I've also added some more detailed comments explaining the logic here, since there are some pretty subtle aspects to it. There's a further subtlety that I should probably mention here though: when killing a nowait frame, it would kill Emacs entirely if that were the last frame (even in Emacs 28, and probably earlier). The only way (that I can think of) that this could come up would be to run: $ emacs -Q --eval '(start-server)' $ emacsclient -n C-x 5 0 ;; in the non-client frame C-x C-c ;; in the emacsclient frame However, when doing this with a regular (non-nowait) client, the last step would report the error "Attempt to delete the sole visible or iconified frame". Even more oddly, it would work the *second* time you tried to kill the client terminal, since `server-delete-client' would set the `client' frame-parameter to nil before deleting it; on the second attempt, Emacs thinks the frame is a non-client frame (even though it is). I've fixed this in the second patch by following the nowait behavior: if you kill a client and *all* the existing frames belong to that client, it kills Emacs entirely. I'm not sure this will come up often in practice, but it's a fairly simple change. Some tests would be nice to prevent this from regressing, but I'm not sure how to write a test that starts up a daemon and connects clients to it... --------------C07135EFA8A344D076699CA3 Content-Type: text/plain; charset=UTF-8; name="0001-Ensure-killing-an-emacsclient-terminal-prompts-to-sa.patch" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename*0="0001-Ensure-killing-an-emacsclient-terminal-prompts-to-sa.pa"; filename*1="tch" RnJvbSA1NjMwMzZlYWYwOTI0ZjQ3NzdmMjVlNzRlOWY2MTE0MTlmYzAzMWNmIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBKaW0gUG9ydGVyIDxqcG9ydGVyYnVnc0BnbWFpbC5j b20+CkRhdGU6IEZyaSwgMTkgTm92IDIwMjEgMTk6NDk6MzggLTA4MDAKU3ViamVjdDogW1BB VENIIDEvMl0gRW5zdXJlIGtpbGxpbmcgYW4gZW1hY3NjbGllbnQgdGVybWluYWwgcHJvbXB0 cyB0byBzYXZlCiBmaWxlcwoKUHJldmlvdXNseSwgd2hlbiB1c2luZyAnc2VydmVyLXN0b3At YXV0b21hdGljYWxseScsIGtpbGxpbmcgYW4KZW1hY3NjbGllbnQgdGVybWluYWwgd291bGRu J3QgcHJvbXB0IHRoZSB1c2VyIHRvIHNhdmUgdGhlIGZpbGVzCmluaXRpYWxseSBwYXNzZWQg dG8gZW1hY3NjbGllbnQgKHVubGVzcyBpdCB3YXMgdGhlIGxhc3QgY2xpZW50KS4KCiogbGlz cC9zZXJ2ZXIuZWwgKHNlcnZlci1zYXZlLWJ1ZmZlcnMta2lsbC10ZXJtaW5hbCk6IENoZWNr CidzZXJ2ZXItc3RvcC1hdXRvbWF0aWNhbGx5JyBhbmQgaGFuZGxlIGtpbGxpbmcgRW1hcyBh cyBuZWVkZWQuCihzZXJ2ZXItc3RvcC1hdXRvbWF0aWNhbGx5LS1oYW5kbGUtZGVsZXRlLWZy YW1lKTogUmVtb3ZlIGxvZ2ljCnNwZWNpZmljIHRvICdzYXZlLWJ1ZmZlcnMta2lsbC10ZXJt aW5hbCcuCi0tLQogbGlzcC9zZXJ2ZXIuZWwgfCA5NCArKysrKysrKysrKysrKysrKysrKysr KysrKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogMSBmaWxlIGNoYW5nZWQsIDUxIGluc2Vy dGlvbnMoKyksIDQzIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2xpc3Avc2VydmVyLmVs IGIvbGlzcC9zZXJ2ZXIuZWwKaW5kZXggMmYwMDNhMzgwYS4uZTJkMjBiMWIwMiAxMDA2NDQK LS0tIGEvbGlzcC9zZXJ2ZXIuZWwKKysrIGIvbGlzcC9zZXJ2ZXIuZWwKQEAgLTE3MjcsNTIg KzE3MjcsNjAgQEAgc2VydmVyLXNhdmUtYnVmZmVycy1raWxsLXRlcm1pbmFsCiAKIElmIGVt YWNzY2xpZW50IHdhcyBzdGFydGVkIHdpdGggYSBsaXN0IG9mIGZpbGVuYW1lcyB0byBlZGl0 LCB0aGVuCiBvbmx5IHRoZXNlIGZpbGVzIHdpbGwgYmUgYXNrZWQgdG8gYmUgc2F2ZWQuIgot ICAoaWYgc2VydmVyLXN0b3AtYXV0b21hdGljYWxseQotICAgICAgKHNlcnZlci1zdG9wLWF1 dG9tYXRpY2FsbHktLWhhbmRsZS1kZWxldGUtZnJhbWUgKHNlbGVjdGVkLWZyYW1lKSkKLSAg ICAobGV0ICgocHJvYyAoZnJhbWUtcGFyYW1ldGVyIG5pbCAnY2xpZW50KSkpCi0gICAgICAo Y29uZCAoKGVxIHByb2MgJ25vd2FpdCkKLQkgICAgIDs7IE5vd2FpdCBmcmFtZXMgaGF2ZSBu byBjbGllbnQgYnVmZmVyIGxpc3QuCi0JICAgICAoaWYgKGNkciAoZnJhbWUtbGlzdCkpCi0J ICAgICAgICAgKHByb2duIChzYXZlLXNvbWUtYnVmZmVycyBhcmcpCi0JCSAgICAgICAgKGRl bGV0ZS1mcmFtZSkpCi0JICAgICAgIDs7IElmIHdlJ3JlIHRoZSBsYXN0IGZyYW1lIHN0YW5k aW5nLCBraWxsIEVtYWNzLgotCSAgICAgICAoc2F2ZS1idWZmZXJzLWtpbGwtZW1hY3MgYXJn KSkpCi0JICAgICgocHJvY2Vzc3AgcHJvYykKLQkgICAgIChsZXQgKChidWZmZXJzIChwcm9j ZXNzLWdldCBwcm9jICdidWZmZXJzKSkpCi0JICAgICAgIChzYXZlLXNvbWUtYnVmZmVycwot CSAgICAgICAgYXJnIChpZiBidWZmZXJzCi0gICAgICAgICAgICAgICAgICAgICAgICA7OyBP bmx5IGZpbGVzIGZyb20gZW1hY3NjbGllbnQgZmlsZSBsaXN0LgotCQkgICAgICAgIChsYW1i ZGEgKCkgKG1lbXEgKGN1cnJlbnQtYnVmZmVyKSBidWZmZXJzKSkKLSAgICAgICAgICAgICAg ICAgICAgICA7OyBObyBlbWFjc2NsaWVudCBmaWxlIGxpc3Q6IGRvbid0IG92ZXJyaWRlCi0g ICAgICAgICAgICAgICAgICAgICAgOzsgYHNhdmUtc29tZS1idWZmZXJzLWRlZmF1bHQtcHJl ZGljYXRlJyAodW5sZXNzCi0gICAgICAgICAgICAgICAgICAgICAgOzsgQVJHIGlzIG5vbi1u aWwpLCBzaW5jZSB3ZSdyZSBub3Qga2lsbGluZwotICAgICAgICAgICAgICAgICAgICAgIDs7 IEVtYWNzICh1bmxpa2UgYHNhdmUtYnVmZmVycy1raWxsLWVtYWNzJykuCi0JCSAgICAgIChh bmQgYXJnIHQpKSkKLQkgICAgICAgKHNlcnZlci1kZWxldGUtY2xpZW50IHByb2MpKSkKLQkg ICAgKHQgKGVycm9yICJJbnZhbGlkIGNsaWVudCBmcmFtZSIpKSkpKSkKKyAgKGxldCAoKHBy b2MgKGZyYW1lLXBhcmFtZXRlciBuaWwgJ2NsaWVudCkpKQorICAgIChjb25kICgoZXEgcHJv YyAnbm93YWl0KQorICAgICAgICAgICA7OyBOb3dhaXQgZnJhbWVzIGhhdmUgbm8gY2xpZW50 IGJ1ZmZlciBsaXN0LgorICAgICAgICAgICAoaWYgKGlmIHNlcnZlci1zdG9wLWF1dG9tYXRp Y2FsbHkKKyAgICAgICAgICAgICAgICAgICAoY2RkciAoZnJhbWUtbGlzdCkpCisgICAgICAg ICAgICAgICAgIChjZHIgKGZyYW1lLWxpc3QpKSkKKyAgICAgICAgICAgICAgIDs7IElmIHRo ZXJlIGFyZSBhbnkgb3RoZXIgZnJhbWVzIChleGNsdWRpbmcgdGhlIGRhZW1vbgorICAgICAg ICAgICAgICAgOzsgZnJhbWUgd2hlbiBgc2VydmVyLXN0b3AtYXV0b21hdGljYWxseScgaXMg bm9uLW5pbCksCisgICAgICAgICAgICAgICA7OyBvbmx5IGRlbGV0ZSB0aGlzIGZyYW1lLiAg RklYTUU6IEl0IHdvdWxkIGJlIG5pY2UgdG8KKyAgICAgICAgICAgICAgIDs7IGRlbGV0ZSBh bnkgb3RoZXIgZnJhbWVzIGNyZWF0ZWQgYnkgdGhpcyBmcmFtZSAoYXMKKyAgICAgICAgICAg ICAgIDs7IHdoZW4ga2lsbGluZyB0aGUgdGVybWluYWwgb2YgYW4gb3JkaW5hcnkgY2xpZW50 CisgICAgICAgICAgICAgICA7OyBiZWxvdyksIGJ1dCB3ZSBjYW4ndCBkaXN0aW5ndWlzaCBz ZXBhcmF0ZSBncm91cHMgb2YKKyAgICAgICAgICAgICAgIDs7IG5vd2FpdCBmcmFtZXMgY3Vy cmVudGx5LgorICAgICAgICAgICAgICAgKHByb2duIChzYXZlLXNvbWUtYnVmZmVycyBhcmcp CisgICAgICAgICAgICAgICAgICAgICAgKGRlbGV0ZS1mcmFtZSkpCisgICAgICAgICAgICAg OzsgSWYgd2UncmUgdGhlIGxhc3QgZnJhbWUgc3RhbmRpbmcsIGtpbGwgRW1hY3MuCisgICAg ICAgICAgICAgKHNhdmUtYnVmZmVycy1raWxsLWVtYWNzIGFyZykpKQorICAgICAgICAgICgo cHJvY2Vzc3AgcHJvYykKKyAgICAgICAgICAgKGlmIChzZXEtc29tZQorICAgICAgICAgICAg ICAgIChsYW1iZGEgKGZyYW1lKQorICAgICAgICAgICAgICAgICAgKGxldCAoKHAgKGZyYW1l LXBhcmFtZXRlciBmcmFtZSAnY2xpZW50KSkpCisgICAgICAgICAgICAgICAgICAgICh1bmxl c3MgKGFuZCBzZXJ2ZXItc3RvcC1hdXRvbWF0aWNhbGx5IChudWxsIHApKQorICAgICAgICAg ICAgICAgICAgICAgIChub3QgKGVxdWFsIHByb2MgcCkpKSkpCisgICAgICAgICAgICAgICAg KGZyYW1lLWxpc3QpKQorICAgICAgICAgICAgICAgOzsgSWYgdGhlcmUgYXJlIGFueSBmcmFt ZXMgZnJvbSBvdGhlciBjbGllbnRzLCBvbmx5CisgICAgICAgICAgICAgICA7OyBkZWxldGUg dGhpcyBjbGllbnQuICBJZiBgc2VydmVyLXN0b3AtYXV0b21hdGljYWxseScKKyAgICAgICAg ICAgICAgIDs7IGlzIG5pbCwgY2hlY2sgZm9yIGZyYW1lcyBmcm9tIHRoZSBzZXJ2ZXIgcHJv Y2VzcyBhcworICAgICAgICAgICAgICAgOzsgd2VsbC4KKyAgICAgICAgICAgICAgIChsZXQg KChidWZmZXJzIChwcm9jZXNzLWdldCBwcm9jICdidWZmZXJzKSkpCisgICAgICAgICAgICAg ICAgIChzYXZlLXNvbWUtYnVmZmVycworICAgICAgICAgICAgICAgICAgYXJnIChpZiBidWZm ZXJzCisgICAgICAgICAgICAgICAgICAgICAgICAgIDs7IE9ubHkgZmlsZXMgZnJvbSBlbWFj c2NsaWVudCBmaWxlIGxpc3QuCisgICAgICAgICAgICAgICAgICAgICAgICAgIChsYW1iZGEg KCkgKG1lbXEgKGN1cnJlbnQtYnVmZmVyKSBidWZmZXJzKSkKKyAgICAgICAgICAgICAgICAg ICAgICAgIDs7IE5vIGVtYWNzY2xpZW50IGZpbGUgbGlzdDogZG9uJ3Qgb3ZlcnJpZGUKKyAg ICAgICAgICAgICAgICAgICAgICAgIDs7IGBzYXZlLXNvbWUtYnVmZmVycy1kZWZhdWx0LXBy ZWRpY2F0ZScKKyAgICAgICAgICAgICAgICAgICAgICAgIDs7ICh1bmxlc3MgQVJHIGlzIG5v bi1uaWwpLCBzaW5jZSB3ZSdyZSBub3QKKyAgICAgICAgICAgICAgICAgICAgICAgIDs7IGtp bGxpbmcgRW1hY3MgKHVubGlrZQorICAgICAgICAgICAgICAgICAgICAgICAgOzsgYHNhdmUt YnVmZmVycy1raWxsLWVtYWNzJykuCisgICAgICAgICAgICAgICAgICAgICAgICAoYW5kIGFy ZyB0KSkpCisgICAgICAgICAgICAgICAgIChzZXJ2ZXItZGVsZXRlLWNsaWVudCBwcm9jKSkK KyAgICAgICAgICAgICA7OyBJZiBhbGwgZnJhbWVzIGFyZSBmcm9tIHRoaXMgY2xpZW50LCBr aWxsIEVtYWNzLgorICAgICAgICAgICAgIChzYXZlLWJ1ZmZlcnMta2lsbC1lbWFjcyBhcmcp KSkKKyAgICAgICAgICAodCAoZXJyb3IgIkludmFsaWQgY2xpZW50IGZyYW1lIikpKSkpCiAK IChkZWZ1biBzZXJ2ZXItc3RvcC1hdXRvbWF0aWNhbGx5LS1oYW5kbGUtZGVsZXRlLWZyYW1l IChmcmFtZSkKICAgIkhhbmRsZSBkZWxldGlvbiBvZiBGUkFNRSB3aGVuIGBzZXJ2ZXItc3Rv cC1hdXRvbWF0aWNhbGx5JyBpcyB1c2VkLiIKLSAgKHdoZW4gc2VydmVyLXN0b3AtYXV0b21h dGljYWxseQotICAgIChpZiAoaWYgKGFuZCAocHJvY2Vzc3AgKGZyYW1lLXBhcmFtZXRlciBm cmFtZSAnY2xpZW50KSkKLQkJIChlcSB0aGlzLWNvbW1hbmQgJ3NhdmUtYnVmZmVycy1raWxs LXRlcm1pbmFsKSkKLQkgICAgKHByb2duCi0JICAgICAgKGRvbGlzdCAoZiAoZnJhbWUtbGlz dCkpCi0JCSh3aGVuIChhbmQgKGVxIChmcmFtZS1wYXJhbWV0ZXIgZnJhbWUgJ2NsaWVudCkK LQkJCSAgICAgICAoZnJhbWUtcGFyYW1ldGVyIGYgJ2NsaWVudCkpCi0JCQkgICAobm90IChl cSBmcmFtZSBmKSkpCi0JCSAgKHNldC1mcmFtZS1wYXJhbWV0ZXIgZiAnY2xpZW50IG5pbCkK LQkJICAobGV0ICgoc2VydmVyLXN0b3AtYXV0b21hdGljYWxseSBuaWwpKQotCQkgICAgKGRl bGV0ZS1mcmFtZSBmKSkpKQotCSAgICAgIChpZiAoY2RkciAoZnJhbWUtbGlzdCkpCi0JCSAg KGxldCAoKHNlcnZlci1zdG9wLWF1dG9tYXRpY2FsbHkgbmlsKSkKLQkJICAgIChkZWxldGUt ZnJhbWUgZnJhbWUpCi0JCSAgICBuaWwpCi0JCXQpKQotCSAgKG51bGwgKGNkZHIgKGZyYW1l LWxpc3QpKSkpCi0JKGxldCAoKHNlcnZlci1zdG9wLWF1dG9tYXRpY2FsbHkgbmlsKSkKLQkg IChzYXZlLWJ1ZmZlcnMta2lsbC1lbWFjcykKLQkgIChkZWxldGUtZnJhbWUgZnJhbWUpKSkp KQorICAod2hlbiAoYW5kIDs7IENoZWNrIHRoYXQgdGhlIGZyYW1lIGlzIGEgY2xpZW50IGZy YW1lLgorICAgICAgICAgICAgIDs7IE5vdGU6IGBzZXJ2ZXItZGVsZXRlLWNsaWVudCcgc2V0 cyBgY2xpZW50JyB0byBuaWwKKyAgICAgICAgICAgICA7OyBiZWZvcmUgY2FsbGluZyBgZGVs ZXRlLWZyYW1lJy4gVGhhdCdzIGdvb2QsIHNpbmNlIHdlCisgICAgICAgICAgICAgOzsgZG9u J3Qgd2FudCB0byBjYWxsIGBzYXZlLWJ1ZmZlcnMta2lsbC1lbWFjcycgaW4gdGhhdAorICAg ICAgICAgICAgIDs7IGNhc2UgYW55d2F5LgorICAgICAgICAgICAgIChmcmFtZS1wYXJhbWV0 ZXIgZnJhbWUgJ2NsaWVudCkKKyAgICAgICAgICAgICAobnVsbCAoY2RkciAoZnJhbWUtbGlz dCkpKSkKKyAgICAoc2F2ZS1idWZmZXJzLWtpbGwtZW1hY3MpKSkKIAogKGRlZnVuIHNlcnZl ci1zdG9wLWF1dG9tYXRpY2FsbHktLW1heWJlLWtpbGwtZW1hY3MgKCkKICAgIkhhbmRsZSBj bG9zaW5nIG9mIEVtYWNzIGRhZW1vbiB3aGVuIGBzZXJ2ZXItc3RvcC1hdXRvbWF0aWNhbGx5 JyBpcyB1c2VkLiIKLS0gCjIuMjUuMQoK --------------C07135EFA8A344D076699CA3 Content-Type: text/plain; charset=UTF-8; name="0002-Don-t-explicitly-delete-client-frames-when-killing-E.patch" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename*0="0002-Don-t-explicitly-delete-client-frames-when-killing-E.pa"; filename*1="tch" RnJvbSBjY2NiYTc3ODRkN2E1YWY0MWI2NTFhYjBjMjlkMjMzOWJlYmM2NzMyIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBKaW0gUG9ydGVyIDxqcG9ydGVyYnVnc0BnbWFpbC5j b20+CkRhdGU6IEZyaSwgMTkgTm92IDIwMjEgMjA6MTQ6MzMgLTA4MDAKU3ViamVjdDogW1BB VENIIDIvMl0gRG9uJ3QgZXhwbGljaXRseSBkZWxldGUgY2xpZW50IGZyYW1lcyB3aGVuIGtp bGxpbmcgRW1hY3MKIGFueXdheQoKVGhpcyByZXNvbHZlcyBhbiBvYnNjdXJlIGlzc3VlIHdo ZXJlIGtpbGxpbmcgYW4gZW1hY3NjbGllbnQgdGVybWluYWwKd2hlbiB0aGVyZSB3ZXJlIG5v IG90aGVyIGZyYW1lcyB3b3VsZCBmYWlsLiBOb3csIGtpbGxpbmcgdGhlIHRlcm1pbmFsCnBy b3Blcmx5IGtpbGxzIEVtYWNzLgoKKiBsaXNwL3NlcnZlciAoc2VydmVyLXN0YXJ0KTogQWRk ICdub2ZyYW1lJyBvcHRpb24gdG8gYXZvaWQgZGVsZXRpbmcKZnJhbWVzLgooc2VydmVyLWZv cmNlLXN0b3ApOiBQYXNzICdub2ZyYW1lJyB0byAnc2VydmVyLXN0b3AnLgotLS0KIGxpc3Av c2VydmVyLmVsIHwgMTAgKysrKysrKy0tLQogMSBmaWxlIGNoYW5nZWQsIDcgaW5zZXJ0aW9u cygrKSwgMyBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9saXNwL3NlcnZlci5lbCBiL2xp c3Avc2VydmVyLmVsCmluZGV4IGUyZDIwYjFiMDIuLmVjMzJkYTRmZGIgMTAwNjQ0Ci0tLSBh L2xpc3Avc2VydmVyLmVsCisrKyBiL2xpc3Avc2VydmVyLmVsCkBAIC02MDksNyArNjA5LDcg QEAgc2VydmVyLWdldC1hdXRoLWtleQogICAgIChzZXJ2ZXItZ2VuZXJhdGUta2V5KSkpCiAK IDs7OyMjI2F1dG9sb2FkCi0oZGVmdW4gc2VydmVyLXN0YXJ0ICgmb3B0aW9uYWwgbGVhdmUt ZGVhZCBpbmhpYml0LXByb21wdCkKKyhkZWZ1biBzZXJ2ZXItc3RhcnQgKCZvcHRpb25hbCBs ZWF2ZS1kZWFkIGluaGliaXQtcHJvbXB0IG5vZnJhbWUpCiAgICJBbGxvdyB0aGlzIEVtYWNz IHByb2Nlc3MgdG8gYmUgYSBzZXJ2ZXIgZm9yIGNsaWVudCBwcm9jZXNzZXMuCiBUaGlzIHN0 YXJ0cyBhIHNlcnZlciBjb21tdW5pY2F0aW9ucyBzdWJwcm9jZXNzIHRocm91Z2ggd2hpY2gg Y2xpZW50CiBcImVkaXRvcnNcIiBjYW4gc2VuZCB5b3VyIGVkaXRpbmcgY29tbWFuZHMgdG8g dGhpcyBFbWFjcyBqb2IuCkBAIC02MTksNiArNjE5LDEwIEBAIHNlcnZlci1zdGFydAogT3B0 aW9uYWwgYXJndW1lbnQgTEVBVkUtREVBRCAoaW50ZXJhY3RpdmVseSwgYSBwcmVmaXggYXJn KSBtZWFucyBqdXN0CiBraWxsIGFueSBleGlzdGluZyBzZXJ2ZXIgY29tbXVuaWNhdGlvbnMg c3VicHJvY2Vzcy4KIAorSWYgTk9GUkFNRSBpcyBub24tbmlsLCBsZXQgYW55IGV4aXN0aW5n IGZyYW1lcyBhc3NvY2lhdGVkIHdpdGggYQorY2xpZW50IHByb2Nlc3MgbGl2ZS4gIFRoaXMg aXMgdXNlZnVsLCBmb3IgZXhhbXBsZSwgd2hlbiBraWxsaW5nCitFbWFjcywgaW4gd2hpY2gg Y2FzZSB0aGUgZnJhbWVzIHdpbGwgZGllIGFueXdheS4KKwogSWYgYSBzZXJ2ZXIgaXMgYWxy ZWFkeSBydW5uaW5nLCByZXN0YXJ0IGl0LiAgSWYgY2xpZW50cyBhcmUKIHJ1bm5pbmcsIGFz ayB0aGUgdXNlciBmb3IgY29uZmlybWF0aW9uIGZpcnN0LCB1bmxlc3Mgb3B0aW9uYWwKIGFy Z3VtZW50IElOSElCSVQtUFJPTVBUIGlzIG5vbi1uaWwuCkBAIC02ODEsNyArNjg1LDcgQEAg c2VydmVyLXN0YXJ0CiAgICAgICAgICAoc2V0cSBsZWF2ZS1kZWFkIHQpKSkKICAgICAgIDs7 IElmIHRoaXMgRW1hY3MgYWxyZWFkeSBoYWQgYSBzZXJ2ZXIsIGNsZWFyIG91dCBhc3NvY2lh dGVkIHN0YXR1cy4KICAgICAgICh3aGlsZSBzZXJ2ZXItY2xpZW50cwotCShzZXJ2ZXItZGVs ZXRlLWNsaWVudCAoY2FyIHNlcnZlci1jbGllbnRzKSkpCisJKHNlcnZlci1kZWxldGUtY2xp ZW50IChjYXIgc2VydmVyLWNsaWVudHMpIG5vZnJhbWUpKQogICAgICAgOzsgTm93IGFueSBw cmV2aW91cyBzZXJ2ZXIgaXMgcHJvcGVybHkgc3RvcHBlZC4KICAgICAgIChpZiBsZWF2ZS1k ZWFkCiAJICAocHJvZ24KQEAgLTc0MCw3ICs3NDQsNyBAQCBzZXJ2ZXItc3RhcnQKIChkZWZ1 biBzZXJ2ZXItZm9yY2Utc3RvcCAoKQogICAiS2lsbCBhbGwgY29ubmVjdGlvbnMgdG8gdGhl IGN1cnJlbnQgc2VydmVyLgogVGhpcyBmdW5jdGlvbiBpcyBtZWFudCB0byBiZSBjYWxsZWQg ZnJvbSBga2lsbC1lbWFjcy1ob29rJy4iCi0gIChzZXJ2ZXItc3RhcnQgdCB0KSkKKyAgKHNl cnZlci1zdGFydCB0IHQgJ25vZnJhbWUpKQogCiA7OzsjIyNhdXRvbG9hZAogKGRlZnVuIHNl cnZlci1mb3JjZS1kZWxldGUgKCZvcHRpb25hbCBuYW1lKQotLSAKMi4yNS4xCgo= --------------C07135EFA8A344D076699CA3--