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#68235: 29.1.90; Switching tabs stops following process output in selected window Date: Mon, 19 Feb 2024 10:42:09 +0100 Message-ID: <3fe7e4b4-bc9a-4303-a87f-a360765c597f@gmx.at> References: <5e438b04-6fb7-4114-a5a8-61db9809b297@gmx.at> <86cyu7m4kc.fsf@mail.linkov.net> <2f80855c-3bf9-4973-a484-059cdef3b8c7@gmx.at> <669371d8-7c65-4c5f-99a9-0d8298808d23@gmx.at> <86cyu5cc0p.fsf@mail.linkov.net> <868r4reoh3.fsf@mail.linkov.net> <0634c46f-db93-4492-be69-5ac6ca0102a8@gmx.at> <865xzuvdgu.fsf@mail.linkov.net> <86a5p5qv61.fsf@mail.linkov.net> <86edeg2ige.fsf@mail.linkov.net> <21dcf921-acc4-4f94-b383-8ad6d0a57c59@gmx.at> <86v87qpow0.fsf@mail.linkov.net> <4bc98faf-5ebe-4c22-8c9f-04755785fde5@gmx.at> <86wmrjl8m3.fsf@mail.linkov.net> <39fe71c5-db40-49d1-b22b-37b52ed13865@gmx.at> <86jzn6yzae.fsf@mail.linkov.net> <021bb8c2-3f2d-4746-8f04-49f43cf57d16@gmx.at> <86il2mxmxd.fsf@mail.linkov.net> Reply-To: martin rudalics Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="------------SJqVpA7i8saaRdwjE11AmR0D" Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="24580"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Mozilla Thunderbird Cc: 68235@debbugs.gnu.org To: Juri Linkov Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Mon Feb 19 10:43:10 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 1rc0B4-0006Cw-1R for geb-bug-gnu-emacs@m.gmane-mx.org; Mon, 19 Feb 2024 10:43:10 +0100 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1rc0Ad-00025T-DT; Mon, 19 Feb 2024 04:42:43 -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 1rc0Ab-00023c-VL for bug-gnu-emacs@gnu.org; Mon, 19 Feb 2024 04:42:42 -0500 Original-Received: from debbugs.gnu.org ([2001:470:142:5::43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1rc0Ab-0006V5-N9 for bug-gnu-emacs@gnu.org; Mon, 19 Feb 2024 04:42:41 -0500 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1rc0Aw-0001wE-BG for bug-gnu-emacs@gnu.org; Mon, 19 Feb 2024 04:43: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: Mon, 19 Feb 2024 09:43:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 68235 X-GNU-PR-Package: emacs Original-Received: via spool by 68235-submit@debbugs.gnu.org id=B68235.17083357637421 (code B ref 68235); Mon, 19 Feb 2024 09:43:02 +0000 Original-Received: (at 68235) by debbugs.gnu.org; 19 Feb 2024 09:42:43 +0000 Original-Received: from localhost ([127.0.0.1]:40338 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rc0Ac-0001vc-Ro for submit@debbugs.gnu.org; Mon, 19 Feb 2024 04:42:43 -0500 Original-Received: from mout.gmx.net ([212.227.17.20]:38067) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rc0AZ-0001vN-Uv for 68235@debbugs.gnu.org; Mon, 19 Feb 2024 04:42:41 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.at; s=s31663417; t=1708335732; x=1708940532; i=rudalics@gmx.at; bh=Os1k2bUWrczp/DF3PyKRBhKdOKWEQEYM7zmBi3t+hok=; h=X-UI-Sender-Class:Date:Subject:To:Cc:References:From: In-Reply-To; b=Hpz4/pgVdibH70V60B3EllDv4d0ACQ42A1RPa1cBKm0i+ojB45p0QIEwK6SnMpR4 c3E/nnIE7pz3OwVbvjFh0SFrJIXENBf/M5nFXKda1+cs5NoPqy7Wzlx/6d3AdzW/U FGUT3QqwyjN4Sa2klzxhasmDy3mEHxwgWQiGe8D9HQEoptF/2de/gUx8RYjLQIfsF gpuxTy9C1VcQV1/6BSiyAhOWlGg8T1QRiXds1hQbV7xdosZhuZbJfCLVdcgqUK3m+ ZR+NOjxSCwG3d2f9BwSu1VPo0AeEm/oXHNAQbI378j1K0NrguZ6his4h0BypGZuhg N6jNRt6lm/yap05oKA== X-UI-Sender-Class: 724b4f7f-cbec-4199-ad4e-598c01a50d3a Original-Received: from [192.168.31.113] ([46.125.249.97]) by mail.gmx.net (mrgmx104 [212.227.17.168]) with ESMTPSA (Nemesis) id 1MYNJq-1rOIkb3kv4-00VPfg; Mon, 19 Feb 2024 10:42:12 +0100 Content-Language: en-US In-Reply-To: <86il2mxmxd.fsf@mail.linkov.net> X-Provags-ID: V03:K1:OmSMgAX2zYPBcKtty+7OremQVITreCGvtHc4dEZz6307awGRtmz bu+ngmZVIXEeopghWZwtVgjUIfUt47FnSv2ArQuYIUKtAk0T2cfHefJkzx3D9aFrLTLuVYU oe3ZP1W1Dj+u/iBBBCv1lr/RuSwz64eibv1H4F1/ZWJKg1S81edXVUkyR6phUPGqZGu+r2p 6Xqwn3F8BgGNzBCbOHO5Q== UI-OutboundReport: notjunk:1;M01:P0:2Wa2oTSXgb0=;PljAoEmkDphEvPLe/ELQoFHH+j4 QPIokprdyq+iveaLbMBLHGk+AeLZux5f5eb1OuSMrX+VE1+wCkvvC1b0woO2zxiT4XXRZ+ifB +aZWhIZ9dnAoMeAjA5l++HtGtyH6xXzInPrzDQDD27B/Vesccgn0LLpGIgqspDBwno+4lXgup zcWZdPH7qcmV+7MiWJoHb2VHa4qzXd8+N2Gdx0TlV8GlInaQqlqpjxBMImnubd3Mi3ymUYqmt XKRvRPZA7h9IWxu0upKuLTmYDRGgP02tv0HoTTct+c+7HqdYOhexxj9EPVi7qZq+NuSR7ZIr2 lvu1HjAdkJ8x/tHjkq5DeaYTliVn3hfh5YQOunmlM/6NDGOrxx+9k3EXOioNgFIFZFedKgnjN mG0dHr7HkXumSdOCrDSVaXCFnQ4Dlxvu4OihXLPgIynLfY76WHL1qFnc3zOI17+LXnxLOJoyc dk/pfL1rnGtC2nGxLw0aqCUNmY1K3iKqsZpgUUTvftKTbM1pIcW3XmvVkUrP3sEltIaQVbRG8 Ve8/dP5v87/KyoRegU3m48L4QXTXNLHd5RIO8jgB+mDcn8o+omjYdJsY8DULG4ZPE/Bln7BD6 PAoqBrZTZWGHoX7TuTE+pGwmFzYMYrRbfNFcA8Ny5zpt8ywxDxIGp6Gt4e30iK+6Ma7fSf6g1 v88Czvu8mdfk5E+/IPMe0VR8/tvkXBACBpd9BRjLN4SP2PN3R5ilY0hyRhe7+waHSpfp/r6RP lzb5TnuULPS3QMnWMW5FF32uWbtAoiBQ6HGjwdYEIa6541y6wAiO6GEyT6/3PXRKHDQvk4cB 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:280239 Archived-At: This is a multi-part message in MIME format. --------------SJqVpA7i8saaRdwjE11AmR0D Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit >> You mean to do away with the KEEP-WINDOWS argument and keep windows iff >> `window-state-put-keep-window-functions' is non-nil? > > Yes, I meant removing the KEEP-WINDOWS argument. Patch attached. I now provide only one hook I called 'window-kept-windows-functions' which is run by both 'set-window-configuration' and 'window-state-put'. Tested with (defun foo (frame windows) (while windows (let* ((quad (car windows)) (window (car quad)) (name (buffer-file-name (nth 1 quad))) (buffer (and name (find-file-noselect name)))) (when buffer (set-window-buffer window buffer) (set-window-point window (nth 3 quad)) (set-window-start window (nth 2 quad) t))) (setq windows (cdr windows)))) (add-hook 'window-kept-windows-functions 'foo) (let ((window (selected-window)) (buffer (pop-to-buffer (find-file-noselect "..."))) (window-1 (split-window)) (window-2 (split-window nil nil t)) configuration) (set-window-point window-1 5000) (set-window-point window-2 10000) (setq configuration (current-window-configuration)) (y-or-n-p "Configuration saved ...") (delete-other-windows window) (kill-buffer buffer) (y-or-n-p "Configuration reset ...") (set-window-configuration configuration) (message "Configuration restored")) (let ((window (selected-window)) (buffer (pop-to-buffer (find-file-noselect "..."))) (window-1 (split-window)) (window-2 (split-window nil nil t)) state) (set-window-point window-1 5000) (set-window-point window-2 10000) (setq state (window-state-get)) (y-or-n-p "State saved ...") (delete-other-windows window) (kill-buffer buffer) (y-or-n-p "State reset ...") (window-state-put state) (message "State restored")) >> This would be up to you to decide. Only some practice can tell what's >> better here. > > Otherwise users won't be able to use this hook for existing commands > that don't set the KEEP-WINDOWS argument. OK. But note that we now run this hook even if nothing in the window configuration changes, typically, when calling 'read-minibuffer'. So use it with due care (for example, have the tab code bind it exclusively around its calls of 'set-window-configuration'). martin --------------SJqVpA7i8saaRdwjE11AmR0D Content-Type: text/x-patch; charset=UTF-8; name="keep-windows.diff" Content-Disposition: attachment; filename="keep-windows.diff" Content-Transfer-Encoding: base64 ZGlmZiAtLWdpdCBhL2xpc3Avd2luZG93LmVsIGIvbGlzcC93aW5kb3cuZWwKaW5kZXggZTEw MGYyNTUyNmIuLjg2OGVlZjBiNjNjIDEwMDY0NAotLS0gYS9saXNwL3dpbmRvdy5lbAorKysg Yi9saXNwL3dpbmRvdy5lbApAQCAtNjE3NCw2ICs2MTc0LDkgQEAgd2luZG93LXN0YXRlLXB1 dC1saXN0CiAoZGVmdmFyIHdpbmRvdy1zdGF0ZS1wdXQtc3RhbGUtd2luZG93cyBuaWwKICAg IkhlbHBlciB2YXJpYWJsZSBmb3IgYHdpbmRvdy1zdGF0ZS1wdXQnLiIpCiAKKyhkZWZ2YXIg d2luZG93LXN0YXRlLXB1dC1rZXB0LXdpbmRvd3MgbmlsCisgICJIZWxwZXIgdmFyaWFibGUg Zm9yIGB3aW5kb3ctc3RhdGUtcHV0Jy4iKQorCiAoZGVmdW4gd2luZG93LS1zdGF0ZS1wdXQt MSAoc3RhdGUgJm9wdGlvbmFsIHdpbmRvdyBpZ25vcmUgdG90YWxzIHBpeGVsd2lzZSkKICAg IkhlbHBlciBmdW5jdGlvbiBmb3IgYHdpbmRvdy1zdGF0ZS1wdXQnLiIKICAgKGxldCAoKHR5 cGUgKGNhciBzdGF0ZSkpKQpAQCAtNjI3OCw5ICs2MjgxLDEwIEBAIHdpbmRvdy0tc3RhdGUt cHV0LTIKIAkgIChzZXQtd2luZG93LXBhcmFtZXRlciB3aW5kb3cgKGNhciBwYXJhbWV0ZXIp IChjZHIgcGFyYW1ldGVyKSkpKQogICAgICAgOzsgUHJvY2VzcyBidWZmZXIgcmVsYXRlZCBz dGF0ZS4KICAgICAgICh3aGVuIHN0YXRlCi0JKGxldCAoKGJ1ZmZlciAoZ2V0LWJ1ZmZlciAo Y2FyIHN0YXRlKSkpCi0JICAgICAgKHN0YXRlIChjZHIgc3RhdGUpKSkKLQkgIChpZiBidWZm ZXIKKwkobGV0KiAoKG9sZC1idWZmZXItb3ItbmFtZSAoY2FyIHN0YXRlKSkKKwkgICAgICAg KGJ1ZmZlciAoZ2V0LWJ1ZmZlciBvbGQtYnVmZmVyLW9yLW5hbWUpKQorCSAgICAgICAoc3Rh dGUgKGNkciBzdGF0ZSkpKQorCSAgKGlmIChidWZmZXItbGl2ZS1wIGJ1ZmZlcikKIAkgICAg ICAod2l0aC1jdXJyZW50LWJ1ZmZlciBidWZmZXIKIAkJKHNldC13aW5kb3ctYnVmZmVyIHdp bmRvdyBidWZmZXIpCiAJCShzZXQtd2luZG93LWhzY3JvbGwgd2luZG93IChjZHIgKGFzc3Eg J2hzY3JvbGwgc3RhdGUpKSkKQEAgLTYzNzUsNyArNjM3OSwyMCBAQCB3aW5kb3ctLXN0YXRl LXB1dC0yCiAJICAgIDs7IHNhdmUgdGhlIHdpbmRvdyB3aXRoIHRoZSBpbnRlbnRpb24gb2Yg ZGVsZXRpbmcgaXQgbGF0ZXIKIAkgICAgOzsgaWYgcG9zc2libGUuCiAJICAgIChzd2l0Y2gt dG8tcHJldi1idWZmZXIgd2luZG93KQotCSAgICAocHVzaCB3aW5kb3cgd2luZG93LXN0YXRl LXB1dC1zdGFsZS13aW5kb3dzKSkpKSkpKQorCSAgICAoaWYgd2luZG93LWtlcHQtd2luZG93 cy1mdW5jdGlvbnMKKwkJKGxldCogKChzdGFydCAoY2RyIChhc3NxICdzdGFydCBzdGF0ZSkp KQorCQkgICAgICAgOzsgSGFuZGxlIGJvdGggLSBtYXJrZXIgcG9zaXRpb25zIGZyb20gd3Jp dGFibGUKKwkJICAgICAgIDs7IHN0YXRlcyBhbmQgbWFya2VycyBmcm9tIG5vbi13cml0YWJs ZSBzdGF0ZXMuCisJCSAgICAgICAoc3RhcnQtcG9zIChpZiAobWFya2VycCBzdGFydCkKKwkJ CQkgICAgICAobWFya2VyLWxhc3QtcG9zaXRpb24gc3RhcnQpCisJCQkJICAgIHN0YXJ0KSkK KwkJICAgICAgIChwb2ludCAoY2RyIChhc3NxICdwb2ludCBzdGF0ZSkpKQorCQkgICAgICAg KHBvaW50LXBvcyAoaWYgKG1hcmtlcnAgcG9pbnQpCisJCQkJICAgICAgKG1hcmtlci1sYXN0 LXBvc2l0aW9uIHBvaW50KQorCQkJCSAgICBwb2ludCkpKQorCQkgIChwdXNoIChsaXN0IHdp bmRvdyBvbGQtYnVmZmVyLW9yLW5hbWUgc3RhcnQtcG9zIHBvaW50LXBvcykKKwkJCXdpbmRv dy1zdGF0ZS1wdXQta2VwdC13aW5kb3dzKSkKKwkgICAgICAocHVzaCB3aW5kb3cgd2luZG93 LXN0YXRlLXB1dC1zdGFsZS13aW5kb3dzKSkpKSkpKSkKIAogKGRlZnVuIHdpbmRvdy1zdGF0 ZS1wdXQgKHN0YXRlICZvcHRpb25hbCB3aW5kb3cgaWdub3JlKQogICAiUHV0IHdpbmRvdyBz dGF0ZSBTVEFURSBpbnRvIFdJTkRPVy4KQEAgLTYzODgsOCArNjQwNSwyMCBAQCB3aW5kb3ct c3RhdGUtcHV0CiBPcHRpb25hbCBhcmd1bWVudCBJR05PUkUgbm9uLW5pbCBtZWFucyBpZ25v cmUgbWluaW11bSB3aW5kb3cKIHNpemVzIGFuZCBmaXhlZCBzaXplIHJlc3RyaWN0aW9ucy4g IElHTk9SRSBlcXVhbCBgc2FmZScgbWVhbnMKIHdpbmRvd3MgY2FuIGdldCBhcyBzbWFsbCBh cyBgd2luZG93LXNhZmUtbWluLWhlaWdodCcgYW5kCi1gd2luZG93LXNhZmUtbWluLXdpZHRo Jy4iCitgd2luZG93LXNhZmUtbWluLXdpZHRoJy4KKworSWYgdGhlIGFibm9ybWFsIGhvb2sg YHdpbmRvdy1rZXB0LXdpbmRvd3MtZnVuY3Rpb25zJyBpcyBub24tbmlsLAorbmV2ZXIgZGVs ZXRlIGFueSB3aW5kb3dzIHNhdmVkIGJ5IFNUQVRFIHdob3NlIGJ1ZmZlcnMgd2VyZQorZGVs ZXRlZCBzaW5jZSBTVEFURSB3YXMgc2F2ZWQuICBSYXRoZXIgc2hvdyBzb21lIGxpdmUgYnVm ZmVyIGluCit0aGVtIGFuZCBjYWxsIGVhY2ggZnVuY3Rpb24gaW4gYHdpbmRvdy1rZXB0LXdp bmRvd3MtZnVuY3Rpb25zJword2l0aCBhIGxpc3Qgb2YgdHdvIGFyZ3VtZW50czogdGhlIGZy YW1lIHdoZXJlIFNUQVRFIHdhcyBwdXQgYW5kIGEKK2xpc3Qgb2YgZW50cmllcyBmb3IgZWFj aCBzdWNoIHdpbmRvdy4gIEVhY2ggZW50cnkgY29udGFpbnMgZm91cgorZWxlbWVudHMgLSB0 aGUgd2luZG93LCBpdHMgb2xkIGJ1ZmZlciBhbmQgdGhlIGxhc3QgcG9zaXRpb25zIG9mCitg d2luZG93LXN0YXJ0JyBhbmQgYHdpbmRvdy1wb2ludCcgZm9yIHRoZSBidWZmZXIgaW4gdGhh dCB3aW5kb3cuCitBbHdheXMgY2hlY2sgdGhlIHdpbmRvdyBmb3IgbGl2ZW5lc3MgYmVjYXVz ZSBhbm90aGVyIGZ1bmN0aW9uIHJ1bgorYnkgdGhpcyBob29rIG1heSBoYXZlIGRlbGV0ZWQg aXQuIgogICAoc2V0cSB3aW5kb3ctc3RhdGUtcHV0LXN0YWxlLXdpbmRvd3MgbmlsKQorICAo c2V0cSB3aW5kb3ctc3RhdGUtcHV0LWtlcHQtd2luZG93cyBuaWwpCiAKICAgOzsgV2hlbiBX SU5ET1cgaXMgaW50ZXJuYWwgb3IgbmlsLCByZWR1Y2UgaXQgdG8gYSBsaXZlIG9uZSwKICAg OzsgdGhlbiBjcmVhdGUgYSBuZXcgd2luZG93IG9uIHRoZSBzYW1lIGZyYW1lIHRvIHB1dCBT VEFURSBpbnRvLgpAQCAtNjQ5MiwxMiArNjUyMSwxNyBAQCB3aW5kb3ctc3RhdGUtcHV0CiAJ KHdpbmRvdy0tc3RhdGUtcHV0LTIgaWdub3JlIHBpeGVsd2lzZSkpCiAgICAgICAod2hpbGUg d2luZG93LXN0YXRlLXB1dC1zdGFsZS13aW5kb3dzCiAJKGxldCAoKHdpbmRvdyAocG9wIHdp bmRvdy1zdGF0ZS1wdXQtc3RhbGUtd2luZG93cykpKQotICAgICAgICAgIDs7IEF2b2lkIHRo YXQgJ3dpbmRvdy1kZWxldGFibGUtcCcgdGhyb3dzIGFuIGVycm9yIGlmIHdpbmRvdworCSAg OzsgQXZvaWQgdGhhdCAnd2luZG93LWRlbGV0YWJsZS1wJyB0aHJvd3MgYW4gZXJyb3IgaWYg d2luZG93CiAgICAgICAgICAgOzsgd2FzIGFscmVhZHkgZGVsZXRlZCB3aGVuIGV4aXRpbmcg J3dpdGgtdGVtcC1idWZmZXInIGFib3ZlCiAgICAgICAgICAgOzsgKEJ1ZyM1NDAyOCkuCiAJ ICAod2hlbiAoYW5kICh3aW5kb3ctdmFsaWQtcCB3aW5kb3cpCiAgICAgICAgICAgICAgICAg ICAgICAoZXEgKHdpbmRvdy1kZWxldGFibGUtcCB3aW5kb3cpIHQpKQogCSAgICAoZGVsZXRl LXdpbmRvdyB3aW5kb3cpKSkpCisgICAgICAod2hlbiB3aW5kb3cta2VwdC13aW5kb3dzLWZ1 bmN0aW9ucworCShydW4taG9vay13aXRoLWFyZ3MKKwkgJ3dpbmRvdy1rZXB0LXdpbmRvd3Mt ZnVuY3Rpb25zCisJIGZyYW1lIHdpbmRvdy1zdGF0ZS1wdXQta2VwdC13aW5kb3dzKQorCShz ZXRxIHdpbmRvdy1zdGF0ZS1wdXQta2VwdC13aW5kb3dzIG5pbCkpCiAgICAgICAod2luZG93 LS1jaGVjayBmcmFtZSkpKSkKIAogKGRlZnVuIHdpbmRvdy1zdGF0ZS1idWZmZXJzIChzdGF0 ZSkKZGlmZiAtLWdpdCBhL3NyYy9tYXJrZXIuYyBiL3NyYy9tYXJrZXIuYwppbmRleCAzNzdm NmZiZThkYi4uMTRiOWY2M2YwY2QgMTAwNjQ0Ci0tLSBhL3NyYy9tYXJrZXIuYworKysgYi9z cmMvbWFya2VyLmMKQEAgLTQ1OCw2ICs0NTgsMTggQEAgREVGVU4gKCJtYXJrZXItcG9zaXRp b24iLCBGbWFya2VyX3Bvc2l0aW9uLCBTbWFya2VyX3Bvc2l0aW9uLCAxLCAxLCAwLAogICBy ZXR1cm4gUW5pbDsKIH0KIAorREVGVU4gKCJtYXJrZXItbGFzdC1wb3NpdGlvbiIsIEZtYXJr ZXJfbGFzdF9wb3NpdGlvbiwgU21hcmtlcl9sYXN0X3Bvc2l0aW9uLCAxLCAxLCAwLAorICAg ICAgIGRvYzogLyogUmV0dXJuIGxhc3QgcG9zaXRpb24gb2YgTUFSS0VSIGluIGl0cyBidWZm ZXIuCitUaGlzIGlzIGxpa2UgYG1hcmtlci1wb3NpdGlvbicgd2l0aCBvbmUgZXhjZXB0aW9u OiAgSWYgdGhlIGJ1ZmZlciBvZgorTUFSS0VSIGlzIGRlYWQsIGl0IHJldHVybnMgdGhlIGxh c3QgcG9zaXRpb24gb2YgTUFSS0VSIGluIHRoYXQgYnVmZmVyCitiZWZvcmUgaXQgd2FzIGtp bGxlZC4gICovKQorICAoTGlzcF9PYmplY3QgbWFya2VyKQoreworICBDSEVDS19NQVJLRVIg KG1hcmtlcik7CisKKyAgcmV0dXJuIG1ha2VfZml4bnVtIChYTUFSS0VSIChtYXJrZXIpLT5j aGFycG9zKTsKK30KKwogLyogQ2hhbmdlIE0gc28gaXQgcG9pbnRzIHRvIEIgYXQgQ0hBUlBP UyBhbmQgQllURVBPUy4gICovCiAKIHN0YXRpYyB2b2lkCkBAIC04MjUsNiArODM3LDcgQEAg dmVyaWZ5X2J5dGVwb3MgKHB0cmRpZmZfdCBjaGFycG9zKQogc3ltc19vZl9tYXJrZXIgKHZv aWQpCiB7CiAgIGRlZnN1YnIgKCZTbWFya2VyX3Bvc2l0aW9uKTsKKyAgZGVmc3ViciAoJlNt YXJrZXJfbGFzdF9wb3NpdGlvbik7CiAgIGRlZnN1YnIgKCZTbWFya2VyX2J1ZmZlcik7CiAg IGRlZnN1YnIgKCZTc2V0X21hcmtlcik7CiAgIGRlZnN1YnIgKCZTY29weV9tYXJrZXIpOwpk aWZmIC0tZ2l0IGEvc3JjL3dpbmRvdy5jIGIvc3JjL3dpbmRvdy5jCmluZGV4IDNhNTRmN2Nl N2IxLi44ZTAwMmQ3MGRiNiAxMDA2NDQKLS0tIGEvc3JjL3dpbmRvdy5jCisrKyBiL3NyYy93 aW5kb3cuYwpAQCAtNzA5MCw2ICs3MDkwLDI0IEBAIERFRlVOICgic2V0LXdpbmRvdy1jb25m aWd1cmF0aW9uIiwgRnNldF93aW5kb3dfY29uZmlndXJhdGlvbiwKIHRoZSBtaW5pLXdpbmRv dyBvZiB0aGUgZnJhbWUgZG9lc24ndCBnZXQgc2V0IHRvIHRoZSBjb3JyZXNwb25kaW5nIGVs ZW1lbnQKIG9mIENPTkZJR1VSQVRJT04uCiAKK05vcm1hbGx5LCB0aGlzIGZ1bmN0aW9uIHdp bGwgdHJ5IHRvIGRlbGV0ZSBhbnkgZGVhZCB3aW5kb3cgaW4KK0NPTkZJR1VSQVRJT04gd2hv c2UgYnVmZmVyIGhhcyBiZWVuIGRlbGV0ZWQgc2luY2UgQ09ORklHVVJBVElPTiB3YXMKK21h ZGUuICBIb3dldmVyLCBpZiB0aGUgYWJub3JtYWwgaG9vayBgd2luZG93LWtlcHQtd2luZG93 cy1mdW5jdGlvbnMnIGlzCitub24tbmlsLCBpdCB3aWxsIHByZXNlcnZlIHN1Y2ggYSB3aW5k b3cgaW4gdGhlIHJlc3RvcmVkIGxheW91dCBhbmQgc2hvdworYW5vdGhlciBidWZmZXIgaW4g aXQuCisKK0FmdGVyIHJlc3RvcmluZyB0aGUgZnJhbWUgbGF5b3V0LCB0aGlzIGZ1bmN0aW9u IHJ1bnMgdGhlIGFibm9ybWFsIGhvb2sKK2B3aW5kb3cta2VwdC13aW5kb3dzLWZ1bmN0aW9u cycgd2l0aCB0d28gYXJndW1lbnRzIC0gdGhlIGZyYW1lIHdob3NlCitsYXlvdXQgaXQgaGFz IHJlc3RvcmVkIGFuZCBhIGxpc3Qgb2YgZW50cmllcyBmb3IgZWFjaCB3aW5kb3cgd2hvc2UK K2J1ZmZlciBoYXMgYmVlbiBmb3VuZCBkZWFkIHdoZW4gaXQgdHJpZWQgdG8gcmVzdG9yZSBD T05GSUdVUkFUSU9OOiBFYWNoCitlbnRyeSBpcyBhIGxpc3Qgb2YgZm91ciBlbGVtZW50cyA8 d2luZG93LCBidWZmZXIsIHN0YXJ0LCBwb2ludD4gd2hlcmUKK2B3aW5kb3cnIGRlbm90ZXMg dGhlIHdpbmRvdyB3aG9zZSBidWZmZXIgd2FzIGZvdW5kIGRlYWQsIGBidWZmZXInCitkZW5v dGVzIHRoZSBkZWFkIGJ1ZmZlciwgYW5kIGBzdGFydCcgYW5kIGBwb2ludCcgZGVub3RlIHRo ZSBsYXN0IGtub3duCitwb3NpdGlvbnMgb2YgYHdpbmRvdy1zdGFydCcgYW5kIGB3aW5kb3ct cG9pbnQnIG9mIHRoZSBidWZmZXIgaW4gdGhhdAord2luZG93LiAgQW55IGZ1bmN0aW9uIHJ1 biBieSB0aGlzIGhvb2sgc2hvdWxkIGNoZWNrIHRoZSB3aW5kb3cgZm9yCitsaXZlbmVzcyBi ZWNhdXNlIGFub3RoZXIgZnVuY3Rpb24gcnVuIGJ5IHRoaXMgaG9vayBtYXkgaGF2ZSBkZWxl dGVkIGl0CitpbiB0aGUgbWVhbnRpbWUuIgorCiBJZiBDT05GSUdVUkFUSU9OIHdhcyBtYWRl IGZyb20gYSBmcmFtZSB0aGF0IGlzIG5vdyBkZWxldGVkLAogb25seSBmcmFtZS1pbmRlcGVu ZGVudCB2YWx1ZXMgY2FuIGJlIHJlc3RvcmVkLiAgSW4gdGhpcyBjYXNlLAogdGhlIHJldHVy biB2YWx1ZSBpcyBuaWwuICBPdGhlcndpc2UgdGhlIHZhbHVlIGlzIHQuICAqLykKQEAgLTcx MDAsNiArNzExOCw3IEBAIERFRlVOICgic2V0LXdpbmRvdy1jb25maWd1cmF0aW9uIiwgRnNl dF93aW5kb3dfY29uZmlndXJhdGlvbiwKICAgc3RydWN0IExpc3BfVmVjdG9yICpzYXZlZF93 aW5kb3dzOwogICBMaXNwX09iamVjdCBuZXdfY3VycmVudF9idWZmZXI7CiAgIExpc3BfT2Jq ZWN0IGZyYW1lOworICBMaXNwX09iamVjdCBrZXB0X3dpbmRvd3MgPSBRbmlsOwogICBMaXNw X09iamVjdCBvbGRfZnJhbWUgPSBzZWxlY3RlZF9mcmFtZTsKICAgc3RydWN0IGZyYW1lICpm OwogICBwdHJkaWZmX3Qgb2xkX3BvaW50ID0gLTE7CkBAIC03MzQwLDYgKzczNTksMTEgQEAg REVGVU4gKCJzZXQtd2luZG93LWNvbmZpZ3VyYXRpb24iLCBGc2V0X3dpbmRvd19jb25maWd1 cmF0aW9uLAogCQkgICBCVUZfUFQgKFhCVUZGRVIgKHctPmNvbnRlbnRzKSksCiAJCSAgIEJV Rl9QVF9CWVRFIChYQlVGRkVSICh3LT5jb250ZW50cykpKTsKIAkgICAgICB3LT5zdGFydF9h dF9saW5lX2JlZyA9IHRydWU7CisJICAgICAgaWYgKCFOSUxQIChWd2luZG93X2tlcHRfd2lu ZG93c19mdW5jdGlvbnMpKQorCQlrZXB0X3dpbmRvd3MgPSBGY29ucyAobGlzdDQgKHdpbmRv dywgcC0+YnVmZmVyLAorCQkJCQkgICAgIEZtYXJrZXJfbGFzdF9wb3NpdGlvbiAocC0+c3Rh cnQpLAorCQkJCQkgICAgIEZtYXJrZXJfbGFzdF9wb3NpdGlvbiAocC0+cG9pbnRtKSksCisJ CQkJICAgICAga2VwdF93aW5kb3dzKTsKIAkgICAgfQogCSAgZWxzZSBpZiAoIU5JTFAgKHct PnN0YXJ0KSkKIAkgICAgLyogTGVhZiB3aW5kb3cgaGFzIG5vIGxpdmUgYnVmZmVyLCBnZXQg b25lLiAgKi8KQEAgLTczNjAsNiArNzM4NCwxMSBAQCBERUZVTiAoInNldC13aW5kb3ctY29u ZmlndXJhdGlvbiIsIEZzZXRfd2luZG93X2NvbmZpZ3VyYXRpb24sCiAJCWRlYWRfd2luZG93 cyA9IEZjb25zICh3aW5kb3csIGRlYWRfd2luZG93cyk7CiAJICAgICAgLyogTWFrZSBzdXJl IHdpbmRvdyBpcyBubyBtb3JlIGRlZGljYXRlZC4gICovCiAJICAgICAgd3NldF9kZWRpY2F0 ZWQgKHcsIFFuaWwpOworCSAgICAgIGlmICghTklMUCAoVndpbmRvd19rZXB0X3dpbmRvd3Nf ZnVuY3Rpb25zKSkKKwkJa2VwdF93aW5kb3dzID0gRmNvbnMgKGxpc3Q0ICh3aW5kb3csIHAt PmJ1ZmZlciwKKwkJCQkJICAgICBGbWFya2VyX2xhc3RfcG9zaXRpb24gKHAtPnN0YXJ0KSwK KwkJCQkJICAgICBGbWFya2VyX2xhc3RfcG9zaXRpb24gKHAtPnBvaW50bSkpLAorCQkJCSAg ICAgIGtlcHRfd2luZG93cyk7CiAJICAgIH0KIAl9CiAKQEAgLTc0MTEsMTIgKzc0NDAsMTMg QEAgREVGVU4gKCJzZXQtd2luZG93LWNvbmZpZ3VyYXRpb24iLCBGc2V0X3dpbmRvd19jb25m aWd1cmF0aW9uLAogICAgICAgdW5ibG9ja19pbnB1dCAoKTsKIAogICAgICAgLyogU2NhbiBk ZWFkIGJ1ZmZlciB3aW5kb3dzLiAgKi8KLSAgICAgIGZvciAoOyBDT05TUCAoZGVhZF93aW5k b3dzKTsgZGVhZF93aW5kb3dzID0gWENEUiAoZGVhZF93aW5kb3dzKSkKLQl7Ci0JICB3aW5k b3cgPSBYQ0FSIChkZWFkX3dpbmRvd3MpOwotCSAgaWYgKFdJTkRPV19MSVZFX1AgKHdpbmRv dykgJiYgIUVRICh3aW5kb3csIEZSQU1FX1JPT1RfV0lORE9XIChmKSkpCi0JICAgIGRlbGV0 ZV9kZWxldGFibGVfd2luZG93ICh3aW5kb3cpOwotCX0KKyAgICAgIGlmICghTklMUCAoVndp bmRvd19rZXB0X3dpbmRvd3NfZnVuY3Rpb25zKSkKKwlmb3IgKDsgQ09OU1AgKGRlYWRfd2lu ZG93cyk7IGRlYWRfd2luZG93cyA9IFhDRFIgKGRlYWRfd2luZG93cykpCisJICB7CisJICAg IHdpbmRvdyA9IFhDQVIgKGRlYWRfd2luZG93cyk7CisJICAgIGlmIChXSU5ET1dfTElWRV9Q ICh3aW5kb3cpICYmICFFUSAod2luZG93LCBGUkFNRV9ST09UX1dJTkRPVyAoZikpKQorCSAg ICAgIGRlbGV0ZV9kZWxldGFibGVfd2luZG93ICh3aW5kb3cpOworCSAgfQogCiAgICAgICAv KiBSZWNvcmQgdGhlIHNlbGVjdGVkIHdpbmRvdydzIGJ1ZmZlciBoZXJlLiAgVGhlIHdpbmRv dyBzaG91bGQKIAkgYWxyZWFkeSBiZSB0aGUgc2VsZWN0ZWQgb25lIGZyb20gdGhlIGNhbGwg YWJvdmUuICAqLwpAQCAtNzQ2Myw2ICs3NDkzLDExIEBAIERFRlVOICgic2V0LXdpbmRvdy1j b25maWd1cmF0aW9uIiwgRnNldF93aW5kb3dfY29uZmlndXJhdGlvbiwKICAgbWluaWJ1Zl9z ZWxlY3RlZF93aW5kb3cgPSBkYXRhLT5taW5pYnVmX3NlbGVjdGVkX3dpbmRvdzsKIAogICBT QUZFX0ZSRUUgKCk7CisKKyAgaWYgKCFOSUxQIChWcnVuX2hvb2tzKSAmJiAhTklMUCAoVndp bmRvd19rZXB0X3dpbmRvd3NfZnVuY3Rpb25zKSkKKyAgICBydW5faG9va193aXRoX2FyZ3Nf MiAoUXdpbmRvd19rZXB0X3dpbmRvd3NfZnVuY3Rpb25zLCBmcmFtZSwKKwkJCSAga2VwdF93 aW5kb3dzKTsKKwogICByZXR1cm4gRlJBTUVfTElWRV9QIChmKSA/IFF0IDogUW5pbDsKIH0K IApAQCAtODQ2MCw2ICs4NDk1LDggQEAgc3ltc19vZl93aW5kb3cgKHZvaWQpCiAgIERFRlNZ TSAoUWhlYWRlcl9saW5lX2Zvcm1hdCwgImhlYWRlci1saW5lLWZvcm1hdCIpOwogICBERUZT WU0gKFF0YWJfbGluZV9mb3JtYXQsICJ0YWItbGluZS1mb3JtYXQiKTsKICAgREVGU1lNIChR bm9fb3RoZXJfd2luZG93LCAibm8tb3RoZXItd2luZG93Iik7CisgIERFRlNZTSAoUXdpbmRv d19rZXB0X3dpbmRvd3NfZnVuY3Rpb25zLAorCSAgIndpbmRvdy1rZXB0LXdpbmRvd3MtZnVu Y3Rpb25zIik7CiAKICAgREVGVkFSX0xJU1AgKCJ0ZW1wLWJ1ZmZlci1zaG93LWZ1bmN0aW9u IiwgVnRlbXBfYnVmZmVyX3Nob3dfZnVuY3Rpb24sCiAJICAgICAgIGRvYzogLyogTm9uLW5p bCBtZWFucyBjYWxsIGFzIGZ1bmN0aW9uIHRvIGRpc3BsYXkgYSBoZWxwIGJ1ZmZlci4KQEAg LTg2MTcsNiArODY1NCwyOCBAQCBzeW1zX29mX3dpbmRvdyAodm9pZCkKIGNhbGwgaXMgcGVy Zm9ybWVkIHdpdGggdGhlIGZyYW1lIHRlbXBvcmFyaWx5IHNlbGVjdGVkLiAgKi8pOwogICBW d2luZG93X2NvbmZpZ3VyYXRpb25fY2hhbmdlX2hvb2sgPSBRbmlsOwogCisgIERFRlZBUl9M SVNQICgid2luZG93LWtlcHQtd2luZG93cy1mdW5jdGlvbnMiLAorCSAgICAgICBWd2luZG93 X2tlcHRfd2luZG93c19mdW5jdGlvbnMsCisJICAgICAgIGRvYzogLyogRnVuY3Rpb25zIHJ1 biBhZnRlciByZXN0b3JpbmcgYSB3aW5kb3cgY29uZmlndXJhdGlvbiBvciBzdGF0ZS4KK1Ro ZXNlIGZ1bmN0aW9ucyBhcmUgY2FsbGVkIGJ5IGBzZXQtd2luZG93LWNvbmZpZ3VyYXRpb24n IGFuZAorYHdpbmRvdy1zdGF0ZS1wdXQnLiAgV2hlbiB0aGUgdmFsdWUgb2YgdGhpcyB2YXJp YWJsZSBpcyBub24tbmlsLCB0aGVzZQorZnVuY3Rpb25zIHJlc3RvcmUgYW55IHdpbmRvdyB3 aG9zZSBidWZmZXIgaGFzIGJlZW4gZGVsZXRlZCBzaW5jZSB0aGUKK2NvcnJlc3BvbmRpbmcg Y29uZmlndXJhdGlvbiBvciBzdGF0ZSB3YXMgc2F2ZWQuICBSYXRoZXIgdGhhbiBkZWxldGlu Zworc3VjaCBhIHdpbmRvdywgYHNldC13aW5kb3ctY29uZmlndXJhdGlvbicgYW5kIGB3aW5k b3ctc3RhdGUtcHV0JyBzaG93Citzb21lIGxpdmUgYnVmZmVyIGluIGl0LgorCitUaGUgdmFs dWUgc2hvdWxkIGJlIGEgbGlzdCBvZiBmdW5jdGlvbnMgdGhhdCB0YWtlIHR3byBhcmd1bWVu dHMuICBUaGUKK2ZpcnN0IGFyZ3VtZW50IHNwZWNpZmllcyB0aGUgZnJhbWUgd2hvc2UgY29u ZmlndXJhdGlvbiBoYXMgYmVlbgorcmVzdG9yZWQuICBUaGUgc2Vjb25kIGFyZ3VtZW50LCBp ZiBub24tbmlsLCBzcGVjaWZpZXMgYSBsaXN0IG9mIGVudHJpZXMKK2ZvciBlYWNoIHdpbmRv dyB3aG9zZSBidWZmZXIgaGFzIGJlZW4gZm91bmQgZGVhZCBhdCB0aGUgdGltZQorJ3NldC13 aW5kb3ctY29uZmlndXJhdGlvbicgb3IgYHdpbmRvdy1zdGF0ZS1wdXQnIHRyaWVkIHRvIHJl c3RvcmUgaXQgaW4KK3RoYXQgd2luZG93LiAgRWFjaCBlbnRyeSBpcyBhIGxpc3Qgb2YgZm91 ciB2YWx1ZXMgLSB0aGUgd2luZG93IHdob3NlCitidWZmZXIgd2FzIGZvdW5kIGRlYWQsIHRo ZSBkZWFkIGJ1ZmZlciwgYW5kIHRoZSBwb3NpdGlvbnMgb2Ygc3RhcnQgYW5kCitwb2ludCBv ZiB0aGUgYnVmZmVyIGluIHRoYXQgd2luZG93LiAgTm90ZSB0aGF0IHRoZSB3aW5kb3cgbWF5 IGJlIGFscmVhZHkKK2RlYWQgc2luY2UgYW5vdGhlciBmdW5jdGlvbiBvbiB0aGlzIGxpc3Qg bWF5IGhhdmUgZGVsZXRlZCBpdCBpbiB0aGUKK21lYW50aW1lLiAgKi8pOworICBWd2luZG93 X2tlcHRfd2luZG93c19mdW5jdGlvbnMgPSBRbmlsOworCiAgIERFRlZBUl9MSVNQICgicmVj ZW50ZXItcmVkaXNwbGF5IiwgVnJlY2VudGVyX3JlZGlzcGxheSwKIAkgICAgICAgZG9jOiAv KiBOb24tbmlsIG1lYW5zIGByZWNlbnRlcicgcmVkcmF3cyBlbnRpcmUgZnJhbWUuCiBJZiB0 aGlzIG9wdGlvbiBpcyBub24tbmlsLCB0aGVuIHRoZSBgcmVjZW50ZXInIGNvbW1hbmQgd2l0 aCBhIG5pbAo= --------------SJqVpA7i8saaRdwjE11AmR0D--