From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: martin rudalics via "Bug reports for GNU Emacs, the Swiss army knife of text editors" Newsgroups: gmane.emacs.bugs Subject: bug#69093: window-state-put doesn't update current buffer Date: Sun, 25 Feb 2024 10:17:24 +0100 Message-ID: References: <86il2s6cva.fsf@mail.linkov.net> <2387160a-717f-4164-a0ad-cd831cabd60f@gmx.at> <86cysy1c7e.fsf@mail.linkov.net> <9bc224fd-265b-42a6-9315-9e1caa9e7172@gmx.at> <86msryw7gy.fsf@mail.linkov.net> <86il2jhb7o.fsf@mail.linkov.net> <843eff0e-134a-4ade-8c9f-c49166f85241@gmx.at> <86y1bdviba.fsf@mail.linkov.net> <86sf1ks9oj.fsf@mail.linkov.net> <5307fa5c-725a-4d73-ae2f-07668e4bd5b3@gmx.at> <86o7c5epiv.fsf@mail.linkov.net> Reply-To: martin rudalics Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="------------aR0enOl28RnEkWC18jG0TQDX" Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="9102"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Mozilla Thunderbird Cc: 69093@debbugs.gnu.org To: Juri Linkov Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Sun Feb 25 10:19:04 2024 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1reAf2-000253-5k for geb-bug-gnu-emacs@m.gmane-mx.org; Sun, 25 Feb 2024 10:19:04 +0100 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1reAej-00085Z-9g; Sun, 25 Feb 2024 04:18:45 -0500 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1reAed-00083f-HG for bug-gnu-emacs@gnu.org; Sun, 25 Feb 2024 04:18:40 -0500 Original-Received: from debbugs.gnu.org ([2001:470:142:5::43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1reAeb-0002NN-OD for bug-gnu-emacs@gnu.org; Sun, 25 Feb 2024 04:18:39 -0500 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1reAf0-0005YZ-As for bug-gnu-emacs@gnu.org; Sun, 25 Feb 2024 04:19:02 -0500 X-Loop: help-debbugs@gnu.org Resent-From: martin rudalics Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sun, 25 Feb 2024 09:19:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 69093 X-GNU-PR-Package: emacs Original-Received: via spool by 69093-submit@debbugs.gnu.org id=B69093.170885268321187 (code B ref 69093); Sun, 25 Feb 2024 09:19:02 +0000 Original-Received: (at 69093) by debbugs.gnu.org; 25 Feb 2024 09:18:03 +0000 Original-Received: from localhost ([127.0.0.1]:57129 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1reAe1-0005Vc-S1 for submit@debbugs.gnu.org; Sun, 25 Feb 2024 04:18:03 -0500 Original-Received: from mout.gmx.net ([212.227.15.15]:50163) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1reAdy-0005Uz-W3 for 69093@debbugs.gnu.org; Sun, 25 Feb 2024 04:18:00 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.at; s=s31663417; t=1708852647; x=1709457447; i=rudalics@gmx.at; bh=npEoSttfwXtL0XKueR720EMHJlN89cxQZwN9qwbvGAg=; h=X-UI-Sender-Class:Date:Subject:To:Cc:References:From: In-Reply-To; b=X6IgNkRhPlN3NOYRtqWEFG1i/fxvxtCkWC35utyy751CARRuxCy3qHPYhqvDC5xd xa549PtmbjzNxVDTIzN0ebLQ6hneMuFWtDmgudcYalb56N6cLoxa8ACLSPfd9SkKF 4svVoFg0JWjRztWPtzjzkLJd4ZC1uG4lzNAD9vXIqoAqYD3dsuUxEtfVFXHttCWKc /K51X7e5OAVJ4YBBEcNQIcoNTk+TcTN8wnYaEOFZAFz7OvSHhnKqQIWZs4oAOR8Dq KqX14ys4pfRwXPonjSNN8hs8xnCDLFvwkBNhy59eaEssUvvidPGEx6xERm4WThNkN RZqR7s7BbzEGXMM+4w== X-UI-Sender-Class: 724b4f7f-cbec-4199-ad4e-598c01a50d3a Original-Received: from [192.168.31.113] ([212.95.5.120]) by mail.gmx.net (mrgmx005 [212.227.17.190]) with ESMTPSA (Nemesis) id 1M3DJv-1rcnak2m5d-003Zq6; Sun, 25 Feb 2024 10:17:27 +0100 Content-Language: en-US In-Reply-To: <86o7c5epiv.fsf@mail.linkov.net> X-Provags-ID: V03:K1:Oe5Xt5fG6MD7OtW61ZeCGoeXlBFjcieXVyOilvL7ZjSI0xeuZ7u QjRfqaayIOcjZejAIGykt71jmNK0/9vrUaG9muHs5neiE0ZOay4bQ0jolyuMrUgZCv73hT6 RzFgeIFYG/lki5A+aFBD+2Zcm1W228LSoAWXJEiaqu956epYKsa8Bv3PCqqGRyQptnqaEN5 GVpdlMS/g1X6K4DuH8RoQ== UI-OutboundReport: notjunk:1;M01:P0:Rx0Q5vcnFPo=;5RXqybw1T/JzoheD3A5kpI6Q6gR XO2Q+YIQHao8WmKWJ7iW1k7uELDxoAr3+0/aiTb+9eneBEPECpJ7WCeilNtbu+k1Zwf5QfoCk FUvABJFca3nFkCWqcq2hmAvhdx5xS6DQNb5p3pF/6VdfdrHfk6yDW8acWNAcRP+Llb51NyiFD pO44TKwDhXDt2Zs6VeiCCSQZb9NOpx9krAO3QEKRi/H1yQ3I8swe7IjFPEnJvHH4WNHEZGzF5 TfIQh/Y7PrLuAVKYliMb8Y71Uh7yFx1AhYiXIDVN5j1SQMxJ1+IVnadeApeBQALdlLFNYpiFF fkuQIqphxkaKjEwXtGKLB5puI0kbOHAAy6Lwb+THzSS2ZWXQEvicM5nkHMqeykFRYY73o3M+9 GbfQcEA0ISwuhxrHgkTT/V099Val7wWKNU416dC6YlV7LJn2vuF7n8mt34dMor7xRHQa43mZt CDsXVr02mqSypp/qvv06aJ3u7ZZGGTs07/GaAF+BvqnWtETRAIAW+/IhxINvh4mNtm1uwGcdI xcuNG9srgNYEdm7uvcGKd+WbnupBQuL4wGOQTq94PZ7PTSBNXeaSbi/i9dTA/XGt0o/S+3nET pfZSlW+EbeM6Ndpm5TmC2FuwpztfDyc4RDAxSYq/CETakFYuWzYh//QWJHerCnvM2r0dMo2Mg yzJNkS6X1t6WKQMhrJZVPpMjPzzWLonj1ZjNIVKbOsypQon5z+732nbtPr6NPlG+Ga8kq+QeN L+wq1A03Xvn+pNONYp5QzVSo2IUpMYCzxqnQnChqvXIjDRh6lusLJH0iAqbLXsjYZ+TIpqhv X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Original-Sender: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Xref: news.gmane.io gmane.emacs.bugs:280606 Archived-At: This is a multi-part message in MIME format. --------------aR0enOl28RnEkWC18jG0TQDX Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit > The problem is that afterwards the same function undoes the setting of > current buffer. In window--state-put-2, select-window is inside > with-current-buffer that undoes the current buffer selection: > > (with-current-buffer buffer > ... > ;; Select window if it's the selected one. > (when (cdr (assq 'selected state)) > (select-window window)) > > Also in window-state-put, with-temp-buffer undoes the current buffer: > > (with-temp-buffer > (set-window-buffer window (current-buffer)) > (window--state-put-1 state window nil totals pixelwise) > (window--state-put-2 ignore pixelwise)) Silly me. So far this apparently never caused any problems because command_loop_1 makes the buffer of the selected window current. But it will affect any code running after calling 'window-state-put' up to and including the next 'post-command-hook'. The attached patch (including the former changes) should fix it. I left the old 'select-window' call in just for the case that its effect is used elsewhere in a function called by 'window--state-put-2' later. Many thanks for the analysis, martin --------------aR0enOl28RnEkWC18jG0TQDX Content-Type: text/x-patch; charset=UTF-8; name="keep-windows.diff" Content-Disposition: attachment; filename="keep-windows.diff" Content-Transfer-Encoding: base64 ZGlmZiAtLWdpdCBhL2xpc3Avd2luZG93LmVsIGIvbGlzcC93aW5kb3cuZWwKaW5kZXggZTEw MGYyNTUyNmIuLjhlOTY2YjU5NGY4IDEwMDY0NAotLS0gYS9saXNwL3dpbmRvdy5lbAorKysg Yi9saXNwL3dpbmRvdy5lbApAQCAtNjE3NCw2ICs2MTc0LDEyIEBAIHdpbmRvdy1zdGF0ZS1w dXQtbGlzdAogKGRlZnZhciB3aW5kb3ctc3RhdGUtcHV0LXN0YWxlLXdpbmRvd3MgbmlsCiAg ICJIZWxwZXIgdmFyaWFibGUgZm9yIGB3aW5kb3ctc3RhdGUtcHV0Jy4iKQogCisoZGVmdmFy IHdpbmRvdy1zdGF0ZS1wdXQta2VwdC13aW5kb3dzIG5pbAorICAiSGVscGVyIHZhcmlhYmxl IGZvciBgd2luZG93LXN0YXRlLXB1dCcuIikKKworKGRlZnZhciB3aW5kb3ctc3RhdGUtcHV0 LXNlbGVjdGVkLXdpbmRvdyBuaWwKKyAgIkhlbHBlciB2YXJpYWJsZSBmb3IgYHdpbmRvdy1z dGF0ZS1wdXQnLiIpCisKIChkZWZ1biB3aW5kb3ctLXN0YXRlLXB1dC0xIChzdGF0ZSAmb3B0 aW9uYWwgd2luZG93IGlnbm9yZSB0b3RhbHMgcGl4ZWx3aXNlKQogICAiSGVscGVyIGZ1bmN0 aW9uIGZvciBgd2luZG93LXN0YXRlLXB1dCcuIgogICAobGV0ICgodHlwZSAoY2FyIHN0YXRl KSkpCkBAIC02Mjc4LDkgKzYyODQsMTAgQEAgd2luZG93LS1zdGF0ZS1wdXQtMgogCSAgKHNl dC13aW5kb3ctcGFyYW1ldGVyIHdpbmRvdyAoY2FyIHBhcmFtZXRlcikgKGNkciBwYXJhbWV0 ZXIpKSkpCiAgICAgICA7OyBQcm9jZXNzIGJ1ZmZlciByZWxhdGVkIHN0YXRlLgogICAgICAg KHdoZW4gc3RhdGUKLQkobGV0ICgoYnVmZmVyIChnZXQtYnVmZmVyIChjYXIgc3RhdGUpKSkK LQkgICAgICAoc3RhdGUgKGNkciBzdGF0ZSkpKQotCSAgKGlmIGJ1ZmZlcgorCShsZXQqICgo b2xkLWJ1ZmZlci1vci1uYW1lIChjYXIgc3RhdGUpKQorCSAgICAgICAoYnVmZmVyIChnZXQt YnVmZmVyIG9sZC1idWZmZXItb3ItbmFtZSkpCisJICAgICAgIChzdGF0ZSAoY2RyIHN0YXRl KSkpCisJICAoaWYgKGJ1ZmZlci1saXZlLXAgYnVmZmVyKQogCSAgICAgICh3aXRoLWN1cnJl bnQtYnVmZmVyIGJ1ZmZlcgogCQkoc2V0LXdpbmRvdy1idWZmZXIgd2luZG93IGJ1ZmZlcikK IAkJKHNldC13aW5kb3ctaHNjcm9sbCB3aW5kb3cgKGNkciAoYXNzcSAnaHNjcm9sbCBzdGF0 ZSkpKQpAQCAtNjM0OCw3ICs2MzU1LDE4IEBAIHdpbmRvdy0tc3RhdGUtcHV0LTIKIAkJICAo c2V0LXdpbmRvdy1wb2ludCB3aW5kb3cgKGNkciAoYXNzcSAncG9pbnQgc3RhdGUpKSkpCiAJ CTs7IFNlbGVjdCB3aW5kb3cgaWYgaXQncyB0aGUgc2VsZWN0ZWQgb25lLgogCQkod2hlbiAo Y2RyIChhc3NxICdzZWxlY3RlZCBzdGF0ZSkpCi0JCSAgKHNlbGVjdC13aW5kb3cgd2luZG93 KSkKKwkJICA7OyBUaGlzIHVzZWQgdG8gY2FsbCAnc2VsZWN0LXdpbmRvdycgd2hpY2gsIGhv d2V2ZXIsCisJCSAgOzsgY2FuIGJlIHBhcnRpYWxseSB1bmRvbmUgYmVjYXVzZSB0aGUgY3Vy cmVudCBidWZmZXIKKwkJICA7OyBtYXkgc3Vic2VxdWVudGx5IGNoYW5nZSB0d2ljZTogV2hl biBsZWF2aW5nIHRoZQorCQkgIDs7IHByZXNlbnQgJ3dpdGgtY3VycmVudC1idWZmZXInIGFu ZCB3aGVuIGxlYXZpbmcgdGhlCisJCSAgOzsgY29udGFpbmluZyAnd2l0aC10ZW1wLWJ1ZmZl cicgZm9ybSAoQnVnIzY5MDkzKS4KKwkJICA7OyAnd2luZG93LXN0YXRlLXB1dC1zZWxlY3Rl ZC13aW5kb3cnIHNob3VsZCBub3cgd29yaworCQkgIDs7IGFyb3VuZCB0aGF0IGJ1ZyBidXQg d2UgbGVhdmUgdGhpcyAnc2VsZWN0LXdpbmRvdycKKwkJICA7OyBpbiBzaW5jZSBzb21lIGNv ZGUgcnVuIGJlZm9yZSB0aGUgcGFydCB0aGF0IGZpeGVkCisJCSAgOzsgaXQgbWlnaHQgc3Rp bGwgcmVmZXIgdG8gdGhpcyB3aW5kb3cgYXMgdGhlIHNlbGVjdGVkCisJCSAgOzsgb25lLgor CQkgIChzZWxlY3Qtd2luZG93IHdpbmRvdykKKwkJICAoc2V0cSB3aW5kb3ctc3RhdGUtcHV0 LXNlbGVjdGVkLXdpbmRvdyB3aW5kb3cpKQogICAgICAgICAgICAgICAgIChzZXQtd2luZG93 LW5leHQtYnVmZmVycwogICAgICAgICAgICAgICAgICB3aW5kb3cKICAgICAgICAgICAgICAg ICAgKGRlbHEgbmlsIChtYXBjYXIgKGxhbWJkYSAoYnVmZmVyKQpAQCAtNjM3NSw3ICs2Mzkz LDIwIEBAIHdpbmRvdy0tc3RhdGUtcHV0LTIKIAkgICAgOzsgc2F2ZSB0aGUgd2luZG93IHdp dGggdGhlIGludGVudGlvbiBvZiBkZWxldGluZyBpdCBsYXRlcgogCSAgICA7OyBpZiBwb3Nz aWJsZS4KIAkgICAgKHN3aXRjaC10by1wcmV2LWJ1ZmZlciB3aW5kb3cpCi0JICAgIChwdXNo IHdpbmRvdyB3aW5kb3ctc3RhdGUtcHV0LXN0YWxlLXdpbmRvd3MpKSkpKSkpCisJICAgIChp ZiB3aW5kb3cta2VwdC13aW5kb3dzLWZ1bmN0aW9ucworCQkobGV0KiAoKHN0YXJ0IChjZHIg KGFzc3EgJ3N0YXJ0IHN0YXRlKSkpCisJCSAgICAgICA7OyBIYW5kbGUgYm90aCAtIG1hcmtl ciBwb3NpdGlvbnMgZnJvbSB3cml0YWJsZQorCQkgICAgICAgOzsgc3RhdGVzIGFuZCBtYXJr ZXJzIGZyb20gbm9uLXdyaXRhYmxlIHN0YXRlcy4KKwkJICAgICAgIChzdGFydC1wb3MgKGlm IChtYXJrZXJwIHN0YXJ0KQorCQkJCSAgICAgIChtYXJrZXItbGFzdC1wb3NpdGlvbiBzdGFy dCkKKwkJCQkgICAgc3RhcnQpKQorCQkgICAgICAgKHBvaW50IChjZHIgKGFzc3EgJ3BvaW50 IHN0YXRlKSkpCisJCSAgICAgICAocG9pbnQtcG9zIChpZiAobWFya2VycCBwb2ludCkKKwkJ CQkgICAgICAobWFya2VyLWxhc3QtcG9zaXRpb24gcG9pbnQpCisJCQkJICAgIHBvaW50KSkp CisJCSAgKHB1c2ggKGxpc3Qgd2luZG93IG9sZC1idWZmZXItb3ItbmFtZSBzdGFydC1wb3Mg cG9pbnQtcG9zKQorCQkJd2luZG93LXN0YXRlLXB1dC1rZXB0LXdpbmRvd3MpKQorCSAgICAg IChwdXNoIHdpbmRvdyB3aW5kb3ctc3RhdGUtcHV0LXN0YWxlLXdpbmRvd3MpKSkpKSkpKQog CiAoZGVmdW4gd2luZG93LXN0YXRlLXB1dCAoc3RhdGUgJm9wdGlvbmFsIHdpbmRvdyBpZ25v cmUpCiAgICJQdXQgd2luZG93IHN0YXRlIFNUQVRFIGludG8gV0lORE9XLgpAQCAtNjM4OCw4 ICs2NDE5LDIwIEBAIHdpbmRvdy1zdGF0ZS1wdXQKIE9wdGlvbmFsIGFyZ3VtZW50IElHTk9S RSBub24tbmlsIG1lYW5zIGlnbm9yZSBtaW5pbXVtIHdpbmRvdwogc2l6ZXMgYW5kIGZpeGVk IHNpemUgcmVzdHJpY3Rpb25zLiAgSUdOT1JFIGVxdWFsIGBzYWZlJyBtZWFucwogd2luZG93 cyBjYW4gZ2V0IGFzIHNtYWxsIGFzIGB3aW5kb3ctc2FmZS1taW4taGVpZ2h0JyBhbmQKLWB3 aW5kb3ctc2FmZS1taW4td2lkdGgnLiIKK2B3aW5kb3ctc2FmZS1taW4td2lkdGgnLgorCitJ ZiB0aGUgYWJub3JtYWwgaG9vayBgd2luZG93LWtlcHQtd2luZG93cy1mdW5jdGlvbnMnIGlz IG5vbi1uaWwsCituZXZlciBkZWxldGUgYW55IHdpbmRvd3Mgc2F2ZWQgYnkgU1RBVEUgd2hv c2UgYnVmZmVycyB3ZXJlCitkZWxldGVkIHNpbmNlIFNUQVRFIHdhcyBzYXZlZC4gIFJhdGhl ciBzaG93IHNvbWUgbGl2ZSBidWZmZXIgaW4KK3RoZW0gYW5kIGNhbGwgZWFjaCBmdW5jdGlv biBpbiBgd2luZG93LWtlcHQtd2luZG93cy1mdW5jdGlvbnMnCit3aXRoIGEgbGlzdCBvZiB0 d28gYXJndW1lbnRzOiB0aGUgZnJhbWUgd2hlcmUgU1RBVEUgd2FzIHB1dCBhbmQgYQorbGlz dCBvZiBlbnRyaWVzIGZvciBlYWNoIHN1Y2ggd2luZG93LiAgRWFjaCBlbnRyeSBjb250YWlu cyBmb3VyCitlbGVtZW50cyAtIHRoZSB3aW5kb3csIGl0cyBvbGQgYnVmZmVyIGFuZCB0aGUg bGFzdCBwb3NpdGlvbnMgb2YKK2B3aW5kb3ctc3RhcnQnIGFuZCBgd2luZG93LXBvaW50JyBm b3IgdGhlIGJ1ZmZlciBpbiB0aGF0IHdpbmRvdy4KK0Fsd2F5cyBjaGVjayB0aGUgd2luZG93 IGZvciBsaXZlbmVzcyBiZWNhdXNlIGFub3RoZXIgZnVuY3Rpb24gcnVuCitieSB0aGlzIGhv b2sgbWF5IGhhdmUgZGVsZXRlZCBpdC4iCiAgIChzZXRxIHdpbmRvdy1zdGF0ZS1wdXQtc3Rh bGUtd2luZG93cyBuaWwpCisgIChzZXRxIHdpbmRvdy1zdGF0ZS1wdXQta2VwdC13aW5kb3dz IG5pbCkKIAogICA7OyBXaGVuIFdJTkRPVyBpcyBpbnRlcm5hbCBvciBuaWwsIHJlZHVjZSBp dCB0byBhIGxpdmUgb25lLAogICA7OyB0aGVuIGNyZWF0ZSBhIG5ldyB3aW5kb3cgb24gdGhl IHNhbWUgZnJhbWUgdG8gcHV0IFNUQVRFIGludG8uCkBAIC02NDgyLDYgKzY1MjUsNyBAQCB3 aW5kb3ctc3RhdGUtcHV0CiAJKGVycm9yICJXaW5kb3cgJXMgdG9vIHNtYWxsIHRvIGFjY29t bW9kYXRlIHN0YXRlIiB3aW5kb3cpCiAgICAgICAoc2V0cSBzdGF0ZSAoY2RyIHN0YXRlKSkK ICAgICAgIChzZXRxIHdpbmRvdy1zdGF0ZS1wdXQtbGlzdCBuaWwpCisgICAgICAoc2V0cSB3 aW5kb3ctc3RhdGUtcHV0LXNlbGVjdGVkLXdpbmRvdyBuaWwpCiAgICAgICA7OyBXb3JrIG9u IHRoZSB3aW5kb3dzIG9mIGEgdGVtcG9yYXJ5IGJ1ZmZlciB0byBtYWtlIHN1cmUgdGhhdAog ICAgICAgOzsgc3BsaXR0aW5nIHByb2NlZWRzIHJlZ2FyZGxlc3Mgb2YgYW55IGJ1ZmZlciBs b2NhbCB2YWx1ZXMgb2YKICAgICAgIDs7IGB3aW5kb3ctc2l6ZS1maXhlZCcuICBSZWxlYXNl IHRoYXQgYnVmZmVyIGFmdGVyIHRoZSBidWZmZXJzIG9mCkBAIC02NDkwLDE0ICs2NTM0LDIx IEBAIHdpbmRvdy1zdGF0ZS1wdXQKIAkoc2V0LXdpbmRvdy1idWZmZXIgd2luZG93IChjdXJy ZW50LWJ1ZmZlcikpCiAJKHdpbmRvdy0tc3RhdGUtcHV0LTEgc3RhdGUgd2luZG93IG5pbCB0 b3RhbHMgcGl4ZWx3aXNlKQogCSh3aW5kb3ctLXN0YXRlLXB1dC0yIGlnbm9yZSBwaXhlbHdp c2UpKQorICAgICAgKHdoZW4gKHdpbmRvdy1saXZlLXAgd2luZG93LXN0YXRlLXB1dC1zZWxl Y3RlZC13aW5kb3cpCisJKHNlbGVjdC13aW5kb3cgd2luZG93LXN0YXRlLXB1dC1zZWxlY3Rl ZC13aW5kb3cpKQogICAgICAgKHdoaWxlIHdpbmRvdy1zdGF0ZS1wdXQtc3RhbGUtd2luZG93 cwogCShsZXQgKCh3aW5kb3cgKHBvcCB3aW5kb3ctc3RhdGUtcHV0LXN0YWxlLXdpbmRvd3Mp KSkKLSAgICAgICAgICA7OyBBdm9pZCB0aGF0ICd3aW5kb3ctZGVsZXRhYmxlLXAnIHRocm93 cyBhbiBlcnJvciBpZiB3aW5kb3cKKwkgIDs7IEF2b2lkIHRoYXQgJ3dpbmRvdy1kZWxldGFi bGUtcCcgdGhyb3dzIGFuIGVycm9yIGlmIHdpbmRvdwogICAgICAgICAgIDs7IHdhcyBhbHJl YWR5IGRlbGV0ZWQgd2hlbiBleGl0aW5nICd3aXRoLXRlbXAtYnVmZmVyJyBhYm92ZQogICAg ICAgICAgIDs7IChCdWcjNTQwMjgpLgogCSAgKHdoZW4gKGFuZCAod2luZG93LXZhbGlkLXAg d2luZG93KQogICAgICAgICAgICAgICAgICAgICAgKGVxICh3aW5kb3ctZGVsZXRhYmxlLXAg d2luZG93KSB0KSkKIAkgICAgKGRlbGV0ZS13aW5kb3cgd2luZG93KSkpKQorICAgICAgKHdo ZW4gd2luZG93LWtlcHQtd2luZG93cy1mdW5jdGlvbnMKKwkocnVuLWhvb2std2l0aC1hcmdz CisJICd3aW5kb3cta2VwdC13aW5kb3dzLWZ1bmN0aW9ucworCSBmcmFtZSB3aW5kb3ctc3Rh dGUtcHV0LWtlcHQtd2luZG93cykKKwkoc2V0cSB3aW5kb3ctc3RhdGUtcHV0LWtlcHQtd2lu ZG93cyBuaWwpKQogICAgICAgKHdpbmRvdy0tY2hlY2sgZnJhbWUpKSkpCiAKIChkZWZ1biB3 aW5kb3ctc3RhdGUtYnVmZmVycyAoc3RhdGUpCmRpZmYgLS1naXQgYS9zcmMvbWFya2VyLmMg Yi9zcmMvbWFya2VyLmMKaW5kZXggMzc3ZjZmYmU4ZGIuLjE0YjlmNjNmMGNkIDEwMDY0NAot LS0gYS9zcmMvbWFya2VyLmMKKysrIGIvc3JjL21hcmtlci5jCkBAIC00NTgsNiArNDU4LDE4 IEBAIERFRlVOICgibWFya2VyLXBvc2l0aW9uIiwgRm1hcmtlcl9wb3NpdGlvbiwgU21hcmtl cl9wb3NpdGlvbiwgMSwgMSwgMCwKICAgcmV0dXJuIFFuaWw7CiB9CiAKK0RFRlVOICgibWFy a2VyLWxhc3QtcG9zaXRpb24iLCBGbWFya2VyX2xhc3RfcG9zaXRpb24sIFNtYXJrZXJfbGFz dF9wb3NpdGlvbiwgMSwgMSwgMCwKKyAgICAgICBkb2M6IC8qIFJldHVybiBsYXN0IHBvc2l0 aW9uIG9mIE1BUktFUiBpbiBpdHMgYnVmZmVyLgorVGhpcyBpcyBsaWtlIGBtYXJrZXItcG9z aXRpb24nIHdpdGggb25lIGV4Y2VwdGlvbjogIElmIHRoZSBidWZmZXIgb2YKK01BUktFUiBp cyBkZWFkLCBpdCByZXR1cm5zIHRoZSBsYXN0IHBvc2l0aW9uIG9mIE1BUktFUiBpbiB0aGF0 IGJ1ZmZlcgorYmVmb3JlIGl0IHdhcyBraWxsZWQuICAqLykKKyAgKExpc3BfT2JqZWN0IG1h cmtlcikKK3sKKyAgQ0hFQ0tfTUFSS0VSIChtYXJrZXIpOworCisgIHJldHVybiBtYWtlX2Zp eG51bSAoWE1BUktFUiAobWFya2VyKS0+Y2hhcnBvcyk7Cit9CisKIC8qIENoYW5nZSBNIHNv IGl0IHBvaW50cyB0byBCIGF0IENIQVJQT1MgYW5kIEJZVEVQT1MuICAqLwogCiBzdGF0aWMg dm9pZApAQCAtODI1LDYgKzgzNyw3IEBAIHZlcmlmeV9ieXRlcG9zIChwdHJkaWZmX3QgY2hh cnBvcykKIHN5bXNfb2ZfbWFya2VyICh2b2lkKQogewogICBkZWZzdWJyICgmU21hcmtlcl9w b3NpdGlvbik7CisgIGRlZnN1YnIgKCZTbWFya2VyX2xhc3RfcG9zaXRpb24pOwogICBkZWZz dWJyICgmU21hcmtlcl9idWZmZXIpOwogICBkZWZzdWJyICgmU3NldF9tYXJrZXIpOwogICBk ZWZzdWJyICgmU2NvcHlfbWFya2VyKTsKZGlmZiAtLWdpdCBhL3NyYy93aW5kb3cuYyBiL3Ny Yy93aW5kb3cuYwppbmRleCAzYTU0ZjdjZTdiMS4uOGUwMDJkNzBkYjYgMTAwNjQ0Ci0tLSBh L3NyYy93aW5kb3cuYworKysgYi9zcmMvd2luZG93LmMKQEAgLTcwOTAsNiArNzA5MCwyNCBA QCBERUZVTiAoInNldC13aW5kb3ctY29uZmlndXJhdGlvbiIsIEZzZXRfd2luZG93X2NvbmZp Z3VyYXRpb24sCiB0aGUgbWluaS13aW5kb3cgb2YgdGhlIGZyYW1lIGRvZXNuJ3QgZ2V0IHNl dCB0byB0aGUgY29ycmVzcG9uZGluZyBlbGVtZW50CiBvZiBDT05GSUdVUkFUSU9OLgogCitO b3JtYWxseSwgdGhpcyBmdW5jdGlvbiB3aWxsIHRyeSB0byBkZWxldGUgYW55IGRlYWQgd2lu ZG93IGluCitDT05GSUdVUkFUSU9OIHdob3NlIGJ1ZmZlciBoYXMgYmVlbiBkZWxldGVkIHNp bmNlIENPTkZJR1VSQVRJT04gd2FzCittYWRlLiAgSG93ZXZlciwgaWYgdGhlIGFibm9ybWFs IGhvb2sgYHdpbmRvdy1rZXB0LXdpbmRvd3MtZnVuY3Rpb25zJyBpcworbm9uLW5pbCwgaXQg d2lsbCBwcmVzZXJ2ZSBzdWNoIGEgd2luZG93IGluIHRoZSByZXN0b3JlZCBsYXlvdXQgYW5k IHNob3cKK2Fub3RoZXIgYnVmZmVyIGluIGl0LgorCitBZnRlciByZXN0b3JpbmcgdGhlIGZy YW1lIGxheW91dCwgdGhpcyBmdW5jdGlvbiBydW5zIHRoZSBhYm5vcm1hbCBob29rCitgd2lu ZG93LWtlcHQtd2luZG93cy1mdW5jdGlvbnMnIHdpdGggdHdvIGFyZ3VtZW50cyAtIHRoZSBm cmFtZSB3aG9zZQorbGF5b3V0IGl0IGhhcyByZXN0b3JlZCBhbmQgYSBsaXN0IG9mIGVudHJp ZXMgZm9yIGVhY2ggd2luZG93IHdob3NlCitidWZmZXIgaGFzIGJlZW4gZm91bmQgZGVhZCB3 aGVuIGl0IHRyaWVkIHRvIHJlc3RvcmUgQ09ORklHVVJBVElPTjogRWFjaAorZW50cnkgaXMg YSBsaXN0IG9mIGZvdXIgZWxlbWVudHMgPHdpbmRvdywgYnVmZmVyLCBzdGFydCwgcG9pbnQ+ IHdoZXJlCitgd2luZG93JyBkZW5vdGVzIHRoZSB3aW5kb3cgd2hvc2UgYnVmZmVyIHdhcyBm b3VuZCBkZWFkLCBgYnVmZmVyJworZGVub3RlcyB0aGUgZGVhZCBidWZmZXIsIGFuZCBgc3Rh cnQnIGFuZCBgcG9pbnQnIGRlbm90ZSB0aGUgbGFzdCBrbm93bgorcG9zaXRpb25zIG9mIGB3 aW5kb3ctc3RhcnQnIGFuZCBgd2luZG93LXBvaW50JyBvZiB0aGUgYnVmZmVyIGluIHRoYXQK K3dpbmRvdy4gIEFueSBmdW5jdGlvbiBydW4gYnkgdGhpcyBob29rIHNob3VsZCBjaGVjayB0 aGUgd2luZG93IGZvcgorbGl2ZW5lc3MgYmVjYXVzZSBhbm90aGVyIGZ1bmN0aW9uIHJ1biBi eSB0aGlzIGhvb2sgbWF5IGhhdmUgZGVsZXRlZCBpdAoraW4gdGhlIG1lYW50aW1lLiIKKwog SWYgQ09ORklHVVJBVElPTiB3YXMgbWFkZSBmcm9tIGEgZnJhbWUgdGhhdCBpcyBub3cgZGVs ZXRlZCwKIG9ubHkgZnJhbWUtaW5kZXBlbmRlbnQgdmFsdWVzIGNhbiBiZSByZXN0b3JlZC4g IEluIHRoaXMgY2FzZSwKIHRoZSByZXR1cm4gdmFsdWUgaXMgbmlsLiAgT3RoZXJ3aXNlIHRo ZSB2YWx1ZSBpcyB0LiAgKi8pCkBAIC03MTAwLDYgKzcxMTgsNyBAQCBERUZVTiAoInNldC13 aW5kb3ctY29uZmlndXJhdGlvbiIsIEZzZXRfd2luZG93X2NvbmZpZ3VyYXRpb24sCiAgIHN0 cnVjdCBMaXNwX1ZlY3RvciAqc2F2ZWRfd2luZG93czsKICAgTGlzcF9PYmplY3QgbmV3X2N1 cnJlbnRfYnVmZmVyOwogICBMaXNwX09iamVjdCBmcmFtZTsKKyAgTGlzcF9PYmplY3Qga2Vw dF93aW5kb3dzID0gUW5pbDsKICAgTGlzcF9PYmplY3Qgb2xkX2ZyYW1lID0gc2VsZWN0ZWRf ZnJhbWU7CiAgIHN0cnVjdCBmcmFtZSAqZjsKICAgcHRyZGlmZl90IG9sZF9wb2ludCA9IC0x OwpAQCAtNzM0MCw2ICs3MzU5LDExIEBAIERFRlVOICgic2V0LXdpbmRvdy1jb25maWd1cmF0 aW9uIiwgRnNldF93aW5kb3dfY29uZmlndXJhdGlvbiwKIAkJICAgQlVGX1BUIChYQlVGRkVS ICh3LT5jb250ZW50cykpLAogCQkgICBCVUZfUFRfQllURSAoWEJVRkZFUiAody0+Y29udGVu dHMpKSk7CiAJICAgICAgdy0+c3RhcnRfYXRfbGluZV9iZWcgPSB0cnVlOworCSAgICAgIGlm ICghTklMUCAoVndpbmRvd19rZXB0X3dpbmRvd3NfZnVuY3Rpb25zKSkKKwkJa2VwdF93aW5k b3dzID0gRmNvbnMgKGxpc3Q0ICh3aW5kb3csIHAtPmJ1ZmZlciwKKwkJCQkJICAgICBGbWFy a2VyX2xhc3RfcG9zaXRpb24gKHAtPnN0YXJ0KSwKKwkJCQkJICAgICBGbWFya2VyX2xhc3Rf cG9zaXRpb24gKHAtPnBvaW50bSkpLAorCQkJCSAgICAgIGtlcHRfd2luZG93cyk7CiAJICAg IH0KIAkgIGVsc2UgaWYgKCFOSUxQICh3LT5zdGFydCkpCiAJICAgIC8qIExlYWYgd2luZG93 IGhhcyBubyBsaXZlIGJ1ZmZlciwgZ2V0IG9uZS4gICovCkBAIC03MzYwLDYgKzczODQsMTEg QEAgREVGVU4gKCJzZXQtd2luZG93LWNvbmZpZ3VyYXRpb24iLCBGc2V0X3dpbmRvd19jb25m aWd1cmF0aW9uLAogCQlkZWFkX3dpbmRvd3MgPSBGY29ucyAod2luZG93LCBkZWFkX3dpbmRv d3MpOwogCSAgICAgIC8qIE1ha2Ugc3VyZSB3aW5kb3cgaXMgbm8gbW9yZSBkZWRpY2F0ZWQu ICAqLwogCSAgICAgIHdzZXRfZGVkaWNhdGVkICh3LCBRbmlsKTsKKwkgICAgICBpZiAoIU5J TFAgKFZ3aW5kb3dfa2VwdF93aW5kb3dzX2Z1bmN0aW9ucykpCisJCWtlcHRfd2luZG93cyA9 IEZjb25zIChsaXN0NCAod2luZG93LCBwLT5idWZmZXIsCisJCQkJCSAgICAgRm1hcmtlcl9s YXN0X3Bvc2l0aW9uIChwLT5zdGFydCksCisJCQkJCSAgICAgRm1hcmtlcl9sYXN0X3Bvc2l0 aW9uIChwLT5wb2ludG0pKSwKKwkJCQkgICAgICBrZXB0X3dpbmRvd3MpOwogCSAgICB9CiAJ fQogCkBAIC03NDExLDEyICs3NDQwLDEzIEBAIERFRlVOICgic2V0LXdpbmRvdy1jb25maWd1 cmF0aW9uIiwgRnNldF93aW5kb3dfY29uZmlndXJhdGlvbiwKICAgICAgIHVuYmxvY2tfaW5w dXQgKCk7CiAKICAgICAgIC8qIFNjYW4gZGVhZCBidWZmZXIgd2luZG93cy4gICovCi0gICAg ICBmb3IgKDsgQ09OU1AgKGRlYWRfd2luZG93cyk7IGRlYWRfd2luZG93cyA9IFhDRFIgKGRl YWRfd2luZG93cykpCi0JewotCSAgd2luZG93ID0gWENBUiAoZGVhZF93aW5kb3dzKTsKLQkg IGlmIChXSU5ET1dfTElWRV9QICh3aW5kb3cpICYmICFFUSAod2luZG93LCBGUkFNRV9ST09U X1dJTkRPVyAoZikpKQotCSAgICBkZWxldGVfZGVsZXRhYmxlX3dpbmRvdyAod2luZG93KTsK LQl9CisgICAgICBpZiAoIU5JTFAgKFZ3aW5kb3dfa2VwdF93aW5kb3dzX2Z1bmN0aW9ucykp CisJZm9yICg7IENPTlNQIChkZWFkX3dpbmRvd3MpOyBkZWFkX3dpbmRvd3MgPSBYQ0RSIChk ZWFkX3dpbmRvd3MpKQorCSAgeworCSAgICB3aW5kb3cgPSBYQ0FSIChkZWFkX3dpbmRvd3Mp OworCSAgICBpZiAoV0lORE9XX0xJVkVfUCAod2luZG93KSAmJiAhRVEgKHdpbmRvdywgRlJB TUVfUk9PVF9XSU5ET1cgKGYpKSkKKwkgICAgICBkZWxldGVfZGVsZXRhYmxlX3dpbmRvdyAo d2luZG93KTsKKwkgIH0KIAogICAgICAgLyogUmVjb3JkIHRoZSBzZWxlY3RlZCB3aW5kb3cn cyBidWZmZXIgaGVyZS4gIFRoZSB3aW5kb3cgc2hvdWxkCiAJIGFscmVhZHkgYmUgdGhlIHNl bGVjdGVkIG9uZSBmcm9tIHRoZSBjYWxsIGFib3ZlLiAgKi8KQEAgLTc0NjMsNiArNzQ5Mywx MSBAQCBERUZVTiAoInNldC13aW5kb3ctY29uZmlndXJhdGlvbiIsIEZzZXRfd2luZG93X2Nv bmZpZ3VyYXRpb24sCiAgIG1pbmlidWZfc2VsZWN0ZWRfd2luZG93ID0gZGF0YS0+bWluaWJ1 Zl9zZWxlY3RlZF93aW5kb3c7CiAKICAgU0FGRV9GUkVFICgpOworCisgIGlmICghTklMUCAo VnJ1bl9ob29rcykgJiYgIU5JTFAgKFZ3aW5kb3dfa2VwdF93aW5kb3dzX2Z1bmN0aW9ucykp CisgICAgcnVuX2hvb2tfd2l0aF9hcmdzXzIgKFF3aW5kb3dfa2VwdF93aW5kb3dzX2Z1bmN0 aW9ucywgZnJhbWUsCisJCQkgIGtlcHRfd2luZG93cyk7CisKICAgcmV0dXJuIEZSQU1FX0xJ VkVfUCAoZikgPyBRdCA6IFFuaWw7CiB9CiAKQEAgLTg0NjAsNiArODQ5NSw4IEBAIHN5bXNf b2Zfd2luZG93ICh2b2lkKQogICBERUZTWU0gKFFoZWFkZXJfbGluZV9mb3JtYXQsICJoZWFk ZXItbGluZS1mb3JtYXQiKTsKICAgREVGU1lNIChRdGFiX2xpbmVfZm9ybWF0LCAidGFiLWxp bmUtZm9ybWF0Iik7CiAgIERFRlNZTSAoUW5vX290aGVyX3dpbmRvdywgIm5vLW90aGVyLXdp bmRvdyIpOworICBERUZTWU0gKFF3aW5kb3dfa2VwdF93aW5kb3dzX2Z1bmN0aW9ucywKKwkg ICJ3aW5kb3cta2VwdC13aW5kb3dzLWZ1bmN0aW9ucyIpOwogCiAgIERFRlZBUl9MSVNQICgi dGVtcC1idWZmZXItc2hvdy1mdW5jdGlvbiIsIFZ0ZW1wX2J1ZmZlcl9zaG93X2Z1bmN0aW9u LAogCSAgICAgICBkb2M6IC8qIE5vbi1uaWwgbWVhbnMgY2FsbCBhcyBmdW5jdGlvbiB0byBk aXNwbGF5IGEgaGVscCBidWZmZXIuCkBAIC04NjE3LDYgKzg2NTQsMjggQEAgc3ltc19vZl93 aW5kb3cgKHZvaWQpCiBjYWxsIGlzIHBlcmZvcm1lZCB3aXRoIHRoZSBmcmFtZSB0ZW1wb3Jh cmlseSBzZWxlY3RlZC4gICovKTsKICAgVndpbmRvd19jb25maWd1cmF0aW9uX2NoYW5nZV9o b29rID0gUW5pbDsKIAorICBERUZWQVJfTElTUCAoIndpbmRvdy1rZXB0LXdpbmRvd3MtZnVu Y3Rpb25zIiwKKwkgICAgICAgVndpbmRvd19rZXB0X3dpbmRvd3NfZnVuY3Rpb25zLAorCSAg ICAgICBkb2M6IC8qIEZ1bmN0aW9ucyBydW4gYWZ0ZXIgcmVzdG9yaW5nIGEgd2luZG93IGNv bmZpZ3VyYXRpb24gb3Igc3RhdGUuCitUaGVzZSBmdW5jdGlvbnMgYXJlIGNhbGxlZCBieSBg c2V0LXdpbmRvdy1jb25maWd1cmF0aW9uJyBhbmQKK2B3aW5kb3ctc3RhdGUtcHV0Jy4gIFdo ZW4gdGhlIHZhbHVlIG9mIHRoaXMgdmFyaWFibGUgaXMgbm9uLW5pbCwgdGhlc2UKK2Z1bmN0 aW9ucyByZXN0b3JlIGFueSB3aW5kb3cgd2hvc2UgYnVmZmVyIGhhcyBiZWVuIGRlbGV0ZWQg c2luY2UgdGhlCitjb3JyZXNwb25kaW5nIGNvbmZpZ3VyYXRpb24gb3Igc3RhdGUgd2FzIHNh dmVkLiAgUmF0aGVyIHRoYW4gZGVsZXRpbmcKK3N1Y2ggYSB3aW5kb3csIGBzZXQtd2luZG93 LWNvbmZpZ3VyYXRpb24nIGFuZCBgd2luZG93LXN0YXRlLXB1dCcgc2hvdworc29tZSBsaXZl IGJ1ZmZlciBpbiBpdC4KKworVGhlIHZhbHVlIHNob3VsZCBiZSBhIGxpc3Qgb2YgZnVuY3Rp b25zIHRoYXQgdGFrZSB0d28gYXJndW1lbnRzLiAgVGhlCitmaXJzdCBhcmd1bWVudCBzcGVj aWZpZXMgdGhlIGZyYW1lIHdob3NlIGNvbmZpZ3VyYXRpb24gaGFzIGJlZW4KK3Jlc3RvcmVk LiAgVGhlIHNlY29uZCBhcmd1bWVudCwgaWYgbm9uLW5pbCwgc3BlY2lmaWVzIGEgbGlzdCBv ZiBlbnRyaWVzCitmb3IgZWFjaCB3aW5kb3cgd2hvc2UgYnVmZmVyIGhhcyBiZWVuIGZvdW5k IGRlYWQgYXQgdGhlIHRpbWUKKydzZXQtd2luZG93LWNvbmZpZ3VyYXRpb24nIG9yIGB3aW5k b3ctc3RhdGUtcHV0JyB0cmllZCB0byByZXN0b3JlIGl0IGluCit0aGF0IHdpbmRvdy4gIEVh Y2ggZW50cnkgaXMgYSBsaXN0IG9mIGZvdXIgdmFsdWVzIC0gdGhlIHdpbmRvdyB3aG9zZQor YnVmZmVyIHdhcyBmb3VuZCBkZWFkLCB0aGUgZGVhZCBidWZmZXIsIGFuZCB0aGUgcG9zaXRp b25zIG9mIHN0YXJ0IGFuZAorcG9pbnQgb2YgdGhlIGJ1ZmZlciBpbiB0aGF0IHdpbmRvdy4g IE5vdGUgdGhhdCB0aGUgd2luZG93IG1heSBiZSBhbHJlYWR5CitkZWFkIHNpbmNlIGFub3Ro ZXIgZnVuY3Rpb24gb24gdGhpcyBsaXN0IG1heSBoYXZlIGRlbGV0ZWQgaXQgaW4gdGhlCitt ZWFudGltZS4gICovKTsKKyAgVndpbmRvd19rZXB0X3dpbmRvd3NfZnVuY3Rpb25zID0gUW5p bDsKKwogICBERUZWQVJfTElTUCAoInJlY2VudGVyLXJlZGlzcGxheSIsIFZyZWNlbnRlcl9y ZWRpc3BsYXksCiAJICAgICAgIGRvYzogLyogTm9uLW5pbCBtZWFucyBgcmVjZW50ZXInIHJl ZHJhd3MgZW50aXJlIGZyYW1lLgogSWYgdGhpcyBvcHRpb24gaXMgbm9uLW5pbCwgdGhlbiB0 aGUgYHJlY2VudGVyJyBjb21tYW5kIHdpdGggYSBuaWwK --------------aR0enOl28RnEkWC18jG0TQDX--