From unknown Sun Jun 22 22:48:10 2025 X-Loop: help-debbugs@gnu.org Subject: bug#24240: 25.1.50; window-state-put, image-mode and window scrolling Resent-From: Andreas Politz Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Mon, 15 Aug 2016 23:06:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 24240 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: 24240@debbugs.gnu.org X-Debbugs-Original-To: bug-gnu-emacs@gnu.org Received: via spool by submit@debbugs.gnu.org id=B.147130233918202 (code B ref -1); Mon, 15 Aug 2016 23:06:02 +0000 Received: (at submit) by debbugs.gnu.org; 15 Aug 2016 23:05:39 +0000 Received: from localhost ([127.0.0.1]:58644 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1bZQwt-0004jW-5T for submit@debbugs.gnu.org; Mon, 15 Aug 2016 19:05:39 -0400 Received: from eggs.gnu.org ([208.118.235.92]:60252) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1bZQwr-0004jI-5F for submit@debbugs.gnu.org; Mon, 15 Aug 2016 19:05:37 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1bZQwk-0002b8-TC for submit@debbugs.gnu.org; Mon, 15 Aug 2016 19:05:31 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=0.8 required=5.0 tests=BAYES_50,T_DKIM_INVALID autolearn=disabled version=3.3.2 Received: from lists.gnu.org ([2001:4830:134:3::11]:43123) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bZQwk-0002aT-Qp for submit@debbugs.gnu.org; Mon, 15 Aug 2016 19:05:30 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:51172) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bZQwi-0008Mq-K0 for bug-gnu-emacs@gnu.org; Mon, 15 Aug 2016 19:05:29 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1bZQwe-0002ZD-Bz for bug-gnu-emacs@gnu.org; Mon, 15 Aug 2016 19:05:27 -0400 Received: from gateway-a.fh-trier.de ([143.93.54.181]:59821) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bZQwe-0002Z3-24 for bug-gnu-emacs@gnu.org; Mon, 15 Aug 2016 19:05:24 -0400 X-Virus-Scanned: by Amavisd-new + McAfee uvscan + ClamAV [Rechenzentrum Hochschule Trier (RZ/HT)] Received: from localhost (ip5f5bdf4d.dynamic.kabel-deutschland.de [95.91.223.77]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) (Authenticated sender: politza) by gateway-a.fh-trier.de (Postfix) with ESMTPSA id 91FF21797D0F for ; Tue, 16 Aug 2016 01:05:11 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha1; c=simple/simple; d=hochschule-trier.de; s=default; t=1471302311; bh=H3/b0cN8hYRuRajMe51ybHbTJ4U=; h=From:To:Subject:Date:Message-ID:MIME-Version:Content-Type; b=oQDoAQDBeC78JsxQHBEz4+PPG487uy7+NmL249QJ5UVlx5Ig8YkmmMXCb7zc2Rph3 IU8Fx/DdMxUdNX9HXUjOgDsnqO+2b/dKxEBn26fJv6qWqMoWu7o7pJ50RdiRH7cMg3 25L712hbqAXWPmSqVztMy6qpSRQzzC4TIR/Pnyd4= From: Andreas Politz Date: Tue, 16 Aug 2016 01:05:11 +0200 Message-ID: <87bn0ttyzc.fsf@hochschule-trier.de> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.1.50 (gnu/linux) MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6.x X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6.x X-Received-From: 2001:4830:134:3::11 X-Spam-Score: -4.0 (----) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -4.0 (----) --=-=-= Content-Type: text/plain There is a conflict between window-state-put and image-mode and maybe other modes. The function image-mode-reapply-winprops gets called as soon as window-state-put displays the image buffer in some window via window-configuration-change-hook and applies the image's previously stored scroll-values. But window-state-put is not done yet and it has it's own understanding of how the window should be scrolled, thereby overriding images-mode's scrolling. I guess ideally window-state-put should be atomic in the sense that it delays these kinds of hooks until the window is completely restored. Below is a recipe and I attached a workaround. -ap -- Let's start with emacs -Q and find some image file: C-x C-f foo.png RET Maybe enlarge the image, such that it can be scrolled. Move the image (C-n), such that vscroll is greater 0. (window-vscroll) => 37 Save the window state, (setq wst (window-state-get)) and switch to the *scratch* buffer. (current-buffer) => # Now restore the previously saved window state (window-state-put wst) ,which should bring back the image buffer. But notice, how vscroll seems to be 0, i.e. display starts at the top of image. Finally evaluate any expression in the mini-buffer M-: t RET which triggers image-mode-reapply-winprops scrolling the image as expected. --=-=-= Content-Type: application/emacs-lisp Content-Disposition: attachment; filename=window-state-put-workaround.el Content-Transfer-Encoding: quoted-printable ;; Workaround 1 (does not work, why ?) (defun window-state-put-workaround (fn &rest args) (let (window-configuration-change-hook) (apply fn args)) (run-window-configuration-change-hook)) (advice-add 'window-state-put :around #'window-state-put-workaround) ;; Workaround 2 (does work) (defun window-state-put-workaround (&rest _args) (run-with-idle-timer 0 nil #'run-window-configuration-change-hook)) (advice-add 'window-state-put :after #'window-state-put-workaround) --=-=-=-- From unknown Sun Jun 22 22:48:10 2025 X-Loop: help-debbugs@gnu.org Subject: bug#24240: 25.1.50; window-state-put, image-mode and window scrolling Resent-From: martin rudalics Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Tue, 16 Aug 2016 11:01:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 24240 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Andreas Politz , 24240@debbugs.gnu.org Received: via spool by 24240-submit@debbugs.gnu.org id=B24240.147134524232284 (code B ref 24240); Tue, 16 Aug 2016 11:01:01 +0000 Received: (at 24240) by debbugs.gnu.org; 16 Aug 2016 11:00:42 +0000 Received: from localhost ([127.0.0.1]:58812 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1bZc6s-0008Od-6l for submit@debbugs.gnu.org; Tue, 16 Aug 2016 07:00:42 -0400 Received: from mout.gmx.net ([212.227.17.22]:64025) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1bZc6p-0008OP-Lm for 24240@debbugs.gnu.org; Tue, 16 Aug 2016 07:00:40 -0400 Received: from [192.168.1.100] ([212.95.7.73]) by mail.gmx.com (mrgmx103) with ESMTPSA (Nemesis) id 0MUYiV-1bi29j04gd-00RJPb; Tue, 16 Aug 2016 13:00:32 +0200 Message-ID: <57B2F247.9050601@gmx.at> Date: Tue, 16 Aug 2016 13:00:23 +0200 From: martin rudalics MIME-Version: 1.0 References: <87bn0ttyzc.fsf@hochschule-trier.de> In-Reply-To: <87bn0ttyzc.fsf@hochschule-trier.de> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: quoted-printable X-Provags-ID: V03:K0:NLr/NZDbKLWBWblvr+dl1dZD26Gd188RnYikNPS+HNOjzY9URN6 0IBZp+XzxoCWOW1//etF0KGOEFscYdcLWQ445+w5U0AN+cLKOiUJCkJNON7IA6yQUcfRBuJ s645D8pCDDpS2B2aHx+Dr6NqFE2c0h+tNILuICjFC20vOD8z1iHfIuyEKzIVbCn/WRvBa60 xrEMVtK78yVEiGKkOVqzA== X-UI-Out-Filterresults: notjunk:1;V01:K0:QPca5Hl7quw=:P7QvfdtqvREwQyUa3lAbsH K9AU8SvUZqr5PuiA8WBClHwVKTtDsOlW0ilFfbebMig4v+47PNIGmFPOat17z+ZDlsQmbZwQj EhgyoGOu0QAZwus91vq/dgKRRRvHmMsVGTkemLLONisJDMdWNooZq2j3crcsSDvY+nPWK+4hY KOvNveHX2dX73Gnx36x6rmct+0pbNlCYyboVJJRJjuVFLuBCEOm/r2ZoXlSYV0qbyVfDRaRtc V7y1qOllKyIIo6hH8h6XwC0PxxkWQit/kfN4Jjkv2AE/FuwiPydoy7CWPOQwXtBbhHf7joG8R PwIdPmCgMnABcF6wHWkYtarV5U9wM/OaRYjQl6ZPxljallbMhntS2jqm3lCaZxkX7CsrEshdN hPUPEGvAYYhLs/g41f8kaP9YNcq8eNASVXkM81Zd0ZjZXIN+M5qpKgo+cSqEpLPWx4bnw/W58 lTD2MRzkoEOalVw2st8sg7QS6UUjG9HxOICs5BnH0x/tfW/aPQQJYX8Lq8gSEj3zTuOT6Z7ni Nbr1XyM3qM+aeA7kN0rSAosWQpd76zxO+vB3+pfXbKO+PbNlAypaOQ687+Zp/pXYBFrBWCTB/ sakBcK+99uT635kkzHFchE18R860+u9ObbTU2qs/VUkB/RSaeG66SiGX8BHihjLO7Fkw9NbSv f2MzcF5Owhi5mrjnzhven0bGTvDGnRP3VFiz6DedKqfshpS/HLPireitu8x7KsH25AYK9mY7O zoIYjU19v6GX159AZOHDdib3SxHvGjU1e03IoAR+rscUNUKcvJ9JtSnLAKMMPdh8tUsJlJ/2Y y17txeHf6bQAf5FqYYc0SG1w6p+Dw== X-Spam-Score: -0.7 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) > I guess ideally window-state-put should be atomic in the sense > that it delays these kinds of hooks until the window is > completely restored. We'd need a variable, say =E2=80=98window-inhibit-configuration-change-ho= ok=E2=80=99. > ;; Workaround 1 (does not work, why ?) > > (defun window-state-put-workaround (fn &rest args) > (let (window-configuration-change-hook) > (apply fn args)) > (run-window-configuration-change-hook)) Can you run this under the debugger in order to see what happens? martin From unknown Sun Jun 22 22:48:10 2025 X-Loop: help-debbugs@gnu.org Subject: bug#24240: 25.1.50; window-state-put, image-mode and window scrolling Resent-From: Andreas Politz Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Tue, 16 Aug 2016 13:52:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 24240 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: martin rudalics Cc: 24240@debbugs.gnu.org Received: via spool by 24240-submit@debbugs.gnu.org id=B24240.147135548920902 (code B ref 24240); Tue, 16 Aug 2016 13:52:01 +0000 Received: (at 24240) by debbugs.gnu.org; 16 Aug 2016 13:51:29 +0000 Received: from localhost ([127.0.0.1]:58877 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1bZem8-0005R4-Rz for submit@debbugs.gnu.org; Tue, 16 Aug 2016 09:51:29 -0400 Received: from gateway-a.fh-trier.de ([143.93.54.181]:38534) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1bZem5-0005Qq-IA for 24240@debbugs.gnu.org; Tue, 16 Aug 2016 09:51:27 -0400 X-Virus-Scanned: by Amavisd-new + McAfee uvscan + ClamAV [Rechenzentrum Hochschule Trier (RZ/HT)] Received: from localhost (ip5f5bdf4d.dynamic.kabel-deutschland.de [95.91.223.77]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) (Authenticated sender: politza) by gateway-a.fh-trier.de (Postfix) with ESMTPSA id A6BDD1797615; Tue, 16 Aug 2016 15:51:09 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha1; c=simple/simple; d=hochschule-trier.de; s=default; t=1471355469; bh=RcX7yQILtMQAMZ/RsXi9+S2VsuM=; h=From:To:Cc:Subject:References:Date:In-Reply-To:Message-ID: MIME-Version:Content-Type:Content-Transfer-Encoding; b=qfDVvUf5EAABtDdDqnmyYDLodo79B8zyUT8WLQ9Yls3RjfgSbNPVK1GA/q9NxkM6z iWEVKLMhfvvObRFVUpsroThKFx66QyJOZlN2ghNJjTSqoiXqy3xAnUsQRrxQzMqtfY cQdv7FjiVMny+jdRkJH8HnbAWOwIO9q8F3nTy3xM= From: Andreas Politz References: <87bn0ttyzc.fsf@hochschule-trier.de> <57B2F247.9050601@gmx.at> Date: Tue, 16 Aug 2016 15:51:09 +0200 In-Reply-To: <57B2F247.9050601@gmx.at> (martin rudalics's message of "Tue, 16 Aug 2016 13:00:23 +0200") Message-ID: <8737m4u8j6.fsf@hochschule-trier.de> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.1.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.3 (--) martin rudalics writes: > We'd need a variable, say =E2=80=98window-inhibit-configuration-change-ho= ok=E2=80=99. inhibit-window-configuration-change-hook ? >> ;; Workaround 1 (does not work, why ?) > > Can you run this under the debugger in order to see what happens? > The problem is, that it does work when edebugging it. Anyway, I think I've found the problem: It's the call to set-window-start, which in my understanding forces the next redraw to scroll the window, thus negating image-modes work. -ap From unknown Sun Jun 22 22:48:10 2025 X-Loop: help-debbugs@gnu.org Subject: bug#24240: 25.1.50; window-state-put, image-mode and window scrolling Resent-From: martin rudalics Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Wed, 17 Aug 2016 08:31:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 24240 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Andreas Politz Cc: 24240@debbugs.gnu.org Received: via spool by 24240-submit@debbugs.gnu.org id=B24240.147142264425825 (code B ref 24240); Wed, 17 Aug 2016 08:31:01 +0000 Received: (at 24240) by debbugs.gnu.org; 17 Aug 2016 08:30:44 +0000 Received: from localhost ([127.0.0.1]:59733 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1bZwFI-0006iT-EL for submit@debbugs.gnu.org; Wed, 17 Aug 2016 04:30:44 -0400 Received: from mout.gmx.net ([212.227.15.18]:62900) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1bZwFG-0006iF-ID for 24240@debbugs.gnu.org; Wed, 17 Aug 2016 04:30:43 -0400 Received: from [192.168.1.100] ([212.95.7.77]) by mail.gmx.com (mrgmx002) with ESMTPSA (Nemesis) id 0MDyil-1bOfAK3DLD-00HSH0; Wed, 17 Aug 2016 10:30:35 +0200 Message-ID: <57B420A2.6020608@gmx.at> Date: Wed, 17 Aug 2016 10:30:26 +0200 From: martin rudalics MIME-Version: 1.0 References: <87bn0ttyzc.fsf@hochschule-trier.de> <57B2F247.9050601@gmx.at> <8737m4u8j6.fsf@hochschule-trier.de> In-Reply-To: <8737m4u8j6.fsf@hochschule-trier.de> Content-Type: multipart/mixed; boundary="------------020704060603090404010508" X-Provags-ID: V03:K0:T8R/qn3l+CcDLjzAyJhl7AhVMeM80KVSVhYDonJkikmUItPKwdb qb7dMRSJoNtnjcCHb6kYjI7tvNoWgRomUQ8tZi5zU7wY+jM2YX9qjaDws80YjiuYv3yqBk+ i3ifJDfb6In1QUxP8MJ28jicaPMw1P22zAz/OefT1aFp3U1RkEqto861CrSN5sQCgB5eWJb xJXZdt1RM4gtfY5FIfysA== X-UI-Out-Filterresults: notjunk:1;V01:K0:fUnUUB7RzYo=:Jp/20AQrAXkN8tm8QgpODa gcCOi0aZpNq792LbveKeCdIquKc3W4t3sAk+OOiiwdcAGelRhuF9Kb7RSVNUOl2MzISk0SiP+ GEdMZZ7R3AiIpL9vANbw8KND6hrOxY+TmUNW9o26bzgjSgmFpj0psP2ree6RxDq2uwCL0kctz cwm9rMbxDus9hw0yjjOSRQ0OQUpj9TOSCTmkDHwqWMIVi8l+IW923SuoiPWVuVji+clEUOYEc DbMhgdc5/W9dXhFN5XbXDmvIclmTk+MCk0MtFi5pxxjbZKq+J0NPtEjkMCzpl9H6JoUmMIaBp PklZk3qveAG0xAdejsQcFY9ArbL/iNtVStTOXLZcuCwPyGlIh01+B8oyNPKIxyKCe554gXCLB T+EIhHBGOXR06OMBREYt9mObOYIPBvhZKENlpppqwwjjQe3eOvfw4+KrL61XGMZD3bScdqi/V 4oRoYJyQyj3fvMylUDlW1f0HAezl72AOPnLwGM1rtni9doXRe540qKqr5YVzetE7ttgW4hqkf +oOC+MQnkrzpAauq8lYg+vceMN5QvIDQaeEFkLF0E4p8yD1F5LtSAHXRh+hioJDiGLwxBEXIN pIxMTFgZ4MpGA/baaKb4oU+7jJtGtZ4NLnAvgqxuGOjU+PIFzRKu1GZo+7EqJayT8bYX06fR9 DiFZ0OAge87/eG8Lzll1aATrSJ8eLBld8VJ8CpKDFnQ4mUAfjVnYdL7B0hEahW+PZeVLb97ea E/EANB9hnC4+oQ3pbtDg3rkHHIHS/JbgCrKgj6Nrh95lBOzXFHdEcgER2RmFbHZcbIL7mLjda ajOelFS X-Spam-Score: -0.1 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.1 (/) This is a multi-part message in MIME format. --------------020704060603090404010508 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: quoted-printable >> We'd need a variable, say =E2=80=98window-inhibit-configuration-chang= e-hook=E2=80=99. > > inhibit-window-configuration-change-hook ? We can abuse =E2=80=98frame-after-make-frame=E2=80=99. Try the attached,= completely untested patch. BTW I just noticed that we still run =E2=80=98window-configuration-change= -hook=E2=80=99 in far too many cases. I'll have to remove it from =E2=80=98window-resiz= e=E2=80=99, =E2=80=98window--resize-mini-window=E2=80=99, =E2=80=98adjust-window-trai= ling-edge=E2=80=99 and =E2=80=98balance-windows=E2=80=99. > The problem is, that it does work when edebugging it. Anyway, I think= I've > found the problem: It's the call to set-window-start, which in my > understanding forces the next redraw to scroll the window, thus > negating image-modes work. Would my patch work around that? martin --------------020704060603090404010508 Content-Type: text/plain; charset=windows-1252; name="inhibit-run-wcchh.diff" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="inhibit-run-wcchh.diff" LS0tIGEvbGlzcC93aW5kb3cuZWwKKysrIGIvbGlzcC93aW5kb3cuZWwKQEAgLTU2MjAsMjEg KzU2MjAsMjkgQEAgd2luZG93LXN0YXRlLXB1dAogCTs7IG1pbmltdW0gcG9zc2libGUgc3Rh dGUuICBCdXQgc3VjaCBjb25maWd1cmF0aW9ucyBoYXJkbHkgbWFrZQogCTs7IHNlbnNlIGFu eXdheS4KIAkoZXJyb3IgIldpbmRvdyAlcyB0b28gc21hbGwgdG8gYWNjb21tb2RhdGUgc3Rh dGUiIHdpbmRvdykKLSAgICAgIChzZXRxIHN0YXRlIChjZHIgc3RhdGUpKQotICAgICAgKHNl dHEgd2luZG93LXN0YXRlLXB1dC1saXN0IG5pbCkKLSAgICAgIDs7IFdvcmsgb24gdGhlIHdp bmRvd3Mgb2YgYSB0ZW1wb3JhcnkgYnVmZmVyIHRvIG1ha2Ugc3VyZSB0aGF0Ci0gICAgICA7 OyBzcGxpdHRpbmcgcHJvY2VlZHMgcmVnYXJkbGVzcyBvZiBhbnkgYnVmZmVyIGxvY2FsIHZh bHVlcyBvZgotICAgICAgOzsgYHdpbmRvdy1zaXplLWZpeGVkJy4gIFJlbGVhc2UgdGhhdCBi dWZmZXIgYWZ0ZXIgdGhlIGJ1ZmZlcnMgb2YKLSAgICAgIDs7IGFsbCBsaXZlIHdpbmRvd3Mg aGF2ZSBiZWVuIHNldCBieSBgd2luZG93LS1zdGF0ZS1wdXQtMicuCi0gICAgICAod2l0aC10 ZW1wLWJ1ZmZlcgotCShzZXQtd2luZG93LWJ1ZmZlciB3aW5kb3cgKGN1cnJlbnQtYnVmZmVy KSkKLQkod2luZG93LS1zdGF0ZS1wdXQtMSBzdGF0ZSB3aW5kb3cgbmlsIHRvdGFscyBwaXhl bHdpc2UpCi0JKHdpbmRvdy0tc3RhdGUtcHV0LTIgaWdub3JlIHBpeGVsd2lzZSkpCi0gICAg ICAod2hpbGUgd2luZG93LXN0YXRlLXB1dC1zdGFsZS13aW5kb3dzCi0JKGxldCAoKHdpbmRv dyAocG9wIHdpbmRvdy1zdGF0ZS1wdXQtc3RhbGUtd2luZG93cykpKQotCSAgKHdoZW4gKGVx ICh3aW5kb3ctZGVsZXRhYmxlLXAgd2luZG93KSB0KQotCSAgICAoZGVsZXRlLXdpbmRvdyB3 aW5kb3cpKSkpCi0gICAgICAod2luZG93LS1jaGVjayBmcmFtZSkpKSkKKworCisgICAgICAo dW53aW5kLXByb3RlY3QKKyAgICAgICAgICAocHJvZ24KKyAgICAgICAgICAgIChmcmFtZS1h ZnRlci1tYWtlLWZyYW1lIGZyYW1lIG5pbCkKKyAgICAgICAgICAgIChzZXRxIHN0YXRlIChj ZHIgc3RhdGUpKQorICAgICAgICAgICAgKHNldHEgd2luZG93LXN0YXRlLXB1dC1saXN0IG5p bCkKKyAgICAgICAgICAgIDs7IFdvcmsgb24gdGhlIHdpbmRvd3Mgb2YgYSB0ZW1wb3Jhcnkg YnVmZmVyIHRvIG1ha2Ugc3VyZSB0aGF0CisgICAgICAgICAgICA7OyBzcGxpdHRpbmcgcHJv Y2VlZHMgcmVnYXJkbGVzcyBvZiBhbnkgYnVmZmVyIGxvY2FsIHZhbHVlcyBvZgorICAgICAg ICAgICAgOzsgYHdpbmRvdy1zaXplLWZpeGVkJy4gIFJlbGVhc2UgdGhhdCBidWZmZXIgYWZ0 ZXIgdGhlIGJ1ZmZlcnMgb2YKKyAgICAgICAgICAgIDs7IGFsbCBsaXZlIHdpbmRvd3MgaGF2 ZSBiZWVuIHNldCBieSBgd2luZG93LS1zdGF0ZS1wdXQtMicuCisgICAgICAgICAgICAod2l0 aC10ZW1wLWJ1ZmZlcgorICAgICAgICAgICAgICAoc2V0LXdpbmRvdy1idWZmZXIgd2luZG93 IChjdXJyZW50LWJ1ZmZlcikpCisgICAgICAgICAgICAgICh3aW5kb3ctLXN0YXRlLXB1dC0x IHN0YXRlIHdpbmRvdyBuaWwgdG90YWxzIHBpeGVsd2lzZSkKKyAgICAgICAgICAgICAgKHdp bmRvdy0tc3RhdGUtcHV0LTIgaWdub3JlIHBpeGVsd2lzZSkpCisgICAgICAgICAgICAod2hp bGUgd2luZG93LXN0YXRlLXB1dC1zdGFsZS13aW5kb3dzCisgICAgICAgICAgICAgIChsZXQg KCh3aW5kb3cgKHBvcCB3aW5kb3ctc3RhdGUtcHV0LXN0YWxlLXdpbmRvd3MpKSkKKyAgICAg ICAgICAgICAgICAod2hlbiAoZXEgKHdpbmRvdy1kZWxldGFibGUtcCB3aW5kb3cpIHQpCisg ICAgICAgICAgICAgICAgICAoZGVsZXRlLXdpbmRvdyB3aW5kb3cpKSkpKQorICAgICAgICAo ZnJhbWUtYWZ0ZXItbWFrZS1mcmFtZSBmcmFtZSB0KQorICAgICAgICAocHJvZzEKKyAgICAg ICAgICAgICh3aW5kb3ctLWNoZWNrIGZyYW1lKQorICAgICAgICAgIChydW4td2luZG93LWNv bmZpZ3VyYXRpb24tY2hhbmdlLWhvb2sgZnJhbWUpKSkpKSkKIAwKIChkZWZ1biBkaXNwbGF5 LWJ1ZmZlci1yZWNvcmQtd2luZG93ICh0eXBlIHdpbmRvdyBidWZmZXIpCiAgICJSZWNvcmQg aW5mb3JtYXRpb24gZm9yIHdpbmRvdyB1c2VkIGJ5IGBkaXNwbGF5LWJ1ZmZlcicuCgo= --------------020704060603090404010508-- From unknown Sun Jun 22 22:48:10 2025 X-Loop: help-debbugs@gnu.org Subject: bug#24240: 25.1.50; window-state-put, image-mode and window scrolling Resent-From: Andreas Politz Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Wed, 17 Aug 2016 10:34:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 24240 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: martin rudalics Cc: 24240@debbugs.gnu.org Received: via spool by 24240-submit@debbugs.gnu.org id=B24240.147143001711200 (code B ref 24240); Wed, 17 Aug 2016 10:34:01 +0000 Received: (at 24240) by debbugs.gnu.org; 17 Aug 2016 10:33:37 +0000 Received: from localhost ([127.0.0.1]:59809 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1bZyAD-0002ua-LE for submit@debbugs.gnu.org; Wed, 17 Aug 2016 06:33:37 -0400 Received: from gateway-a.fh-trier.de ([143.93.54.181]:33169) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1bZyAB-0002uG-LG for 24240@debbugs.gnu.org; Wed, 17 Aug 2016 06:33:36 -0400 X-Virus-Scanned: by Amavisd-new + McAfee uvscan + ClamAV [Rechenzentrum Hochschule Trier (RZ/HT)] Received: from localhost (ip5f5bdf4d.dynamic.kabel-deutschland.de [95.91.223.77]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) (Authenticated sender: politza) by gateway-a.fh-trier.de (Postfix) with ESMTPSA id AFA76179883E; Wed, 17 Aug 2016 12:33:19 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha1; c=simple/simple; d=hochschule-trier.de; s=default; t=1471429999; bh=xeWWM/YO31XVHT5Aj6q3uLiHX6I=; h=From:To:Cc:Subject:References:Date:In-Reply-To:Message-ID: MIME-Version:Content-Type; b=fUy4iyY0vU1KHWTEh959/9xrcPXEugeWMg58rOZtJR01/cYb4HNEDY5ZQYQbA5FWQ xqyD+jGlXqDkGjT4B6bWZv1qzwm1y55dUcNEkiRg8P++ZxTHQm+qZzKBsLhMHsJsXY v/WUq0/31IW5hIfsj8Sty64hlltW9LRl/8jdfi7k= From: Andreas Politz References: <87bn0ttyzc.fsf@hochschule-trier.de> <57B2F247.9050601@gmx.at> <8737m4u8j6.fsf@hochschule-trier.de> <57B420A2.6020608@gmx.at> Date: Wed, 17 Aug 2016 12:33:19 +0200 In-Reply-To: <57B420A2.6020608@gmx.at> (martin rudalics's message of "Wed, 17 Aug 2016 10:30:26 +0200") Message-ID: <87mvkblm6o.fsf@hochschule-trier.de> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.1.50 (gnu/linux) MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.3 (--) --=-=-= Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable martin rudalics writes: > We can abuse =E2=80=98frame-after-make-frame=E2=80=99. Try the attached,= completely > untested patch. > > BTW I just noticed that we still run =E2=80=98window-configuration-change= -hook=E2=80=99 > in far too many cases. (defmacro with-inhibit-window-configuration-change-hook (frame &rest body) "Inhibit `window-configuration-change-hook' on FRAME in BODY." (declare (indent 1) (debug t)) (let ((frame-var (make-symbol "frame"))) `(let ((,frame-var (window-normalize-frame ,frame))) (unwind-protect (progn (frame-after-make-frame ,frame-var nil) ,@body) (frame-after-make-frame ,frame-var t))))) > Would my patch work around that? It seems to inhibit running the hook, but there is still the case of set-window-start in window--state-put-2. Using the NOFORCE works, but I don't know the implications of this in other cases. --=-=-= Content-Type: text/x-diff Content-Disposition: inline Content-Description: set-window-start.diff diff --git a/lisp/window.el b/lisp/window.el index 11d7a4e..d30819d 100644 --- a/lisp/window.el +++ b/lisp/window.el @@ -5497,7 +5497,7 @@ window--state-put-2 ;; Install positions (maybe we should do this after all ;; windows have been created and sized). (ignore-errors - (set-window-start window (cdr (assq 'start state))) + (set-window-start window (cdr (assq 'start state)) 'noforce) (set-window-point window (cdr (assq 'point state)))) ;; Select window if it's the selected one. (when (cdr (assq 'selected state)) --=-=-= Content-Type: text/plain -ap --=-=-=-- From unknown Sun Jun 22 22:48:10 2025 X-Loop: help-debbugs@gnu.org Subject: bug#24240: 25.1.50; window-state-put, image-mode and window scrolling Resent-From: martin rudalics Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Wed, 17 Aug 2016 15:48:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 24240 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Andreas Politz Cc: 24240@debbugs.gnu.org Received: via spool by 24240-submit@debbugs.gnu.org id=B24240.147144887315862 (code B ref 24240); Wed, 17 Aug 2016 15:48:01 +0000 Received: (at 24240) by debbugs.gnu.org; 17 Aug 2016 15:47:53 +0000 Received: from localhost ([127.0.0.1]:60430 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ba34K-00047l-Rg for submit@debbugs.gnu.org; Wed, 17 Aug 2016 11:47:53 -0400 Received: from mout.gmx.net ([212.227.15.18]:58045) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ba34I-00047V-Dm for 24240@debbugs.gnu.org; Wed, 17 Aug 2016 11:47:50 -0400 Received: from [192.168.1.100] ([212.95.7.77]) by mail.gmx.com (mrgmx002) with ESMTPSA (Nemesis) id 0LkxLZ-1azspm12dJ-00amhm; Wed, 17 Aug 2016 17:47:43 +0200 Message-ID: <57B48714.40406@gmx.at> Date: Wed, 17 Aug 2016 17:47:32 +0200 From: martin rudalics MIME-Version: 1.0 References: <87bn0ttyzc.fsf@hochschule-trier.de> <57B2F247.9050601@gmx.at> <8737m4u8j6.fsf@hochschule-trier.de> <57B420A2.6020608@gmx.at> <87mvkblm6o.fsf@hochschule-trier.de> In-Reply-To: <87mvkblm6o.fsf@hochschule-trier.de> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: quoted-printable X-Provags-ID: V03:K0:5U6BVUClLFQG1BL3iAw29uRYrL1zQmGAcslX2IGhsZ7Yc9grsuG lEQLFZVp4Q3vpiEOK9gQf9eDAwqHzyNcQ7spM6vv9dIJp5HviXZLiuXuN2g94jVIPyuqMrT NHcyBvPPj5XZdqGLfjf1buDwBQH0q78yA7hYSUIWnToF8IAKKJJ4BZxOoJU86v7dRs3p5x3 6eotefipnxrIHCk/63WRQ== X-UI-Out-Filterresults: notjunk:1;V01:K0:TUNAIfm1OZA=:L8UXy3MCGgnGNXZuVa7lGN vuzIy8URkQwLjffmToRV8EFxJl9zRmOFuToZGrAMLmqwY1DMPLiZBYfbOewQCiRG4m5MZHT5a fyQ4g3FlQR2reeuZep+AUMxXuLcSzPc/B8TpuKd7H7cKlvQQzmuzLiMCw4/YFCJyQ4Ks0YmG5 UkV9xNxt1gPqxaNfkYsIABa2b9MWtoQn6KPHDKEhP68xWzVOyqMCHBuKogDXcHl5I8AsUhHfq P8H6rzBhw+1v2Vs5jgClJTDLtAEqPBnThkVvuhJyF4uM6twEY1XZNhVU/ICKZ1cvRByyvnsKh 4NhoP3WqLZNVn3LqQGVyM36F3TChUougKxV+Jtm59vZpHUxGp1nixx/C0fQexchhRRAFYxm9Z TShNu0ufeFA9ufYJgg/VCaagW5F1dVxppbGCyBAANth+Xd/7M7Fx2UbyA6lwM2AU1cqssWAxw f30TmLYUnGVZ/0H7VPy49P08yEQbBWJXav1i9+0IjmlZzP1UPtcnFD7K+xGW3tjBv/yIHXRdQ NgjuzXcx61FkAGoAiEbiKjpHq5NgdYSUQH3aAoVSUtFGXhwM+BR+guhHF5bicdRWEekqDmMPJ +208hrZOoWTK4yyKqiF+0lNLRWTLe0PoLIOqs2UDrsHxAH8WWacb2WSsI0HaCnSnRy2+mOukq qrchjGVhZR7EHB2LThxqm8GbAkAEv3r41EuqN0jRM+YPT5SmP2rwY9CLE5dKUy0v6DNBkuzHv g1HE2/TUtolgP0Lq4QvsMa0qYfuPVZwTGX9TqA9d6jfDmqL4s7tRA5KuyHaITUYHiE2r1pfCr F7hxEBOTs4Vo2v8IgtSXjBeYKGQnA== X-Spam-Score: -0.1 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.1 (/) > (defmacro with-inhibit-window-configuration-change-hook (frame &rest b= ody) > "Inhibit `window-configuration-change-hook' on FRAME in BODY." > (declare (indent 1) (debug t)) > (let ((frame-var (make-symbol "frame"))) > `(let ((,frame-var (window-normalize-frame ,frame))) > (unwind-protect > (progn > (frame-after-make-frame ,frame-var nil) > ,@body) > (frame-after-make-frame ,frame-var t))))) Good. We can use that (if we still need it). >> Would my patch work around that? > > It seems to inhibit running the hook, but there is still the case of > set-window-start in window--state-put-2. Using the NOFORCE works, but= I > don't know the implications of this in other cases. It _should_ use NOFORCE anyway. Otherwise, when, for example, the size of the window we got the state from is much larger than the size of the window we put the state in, window-point will end up in the wrong place. And =E2=80=98window-point=E2=80=99 is definitively more important than =E2= =80=98window-start=E2=80=99. It should be fairly easy to construct such an example. But do you mean that setting NOFORCE alone will handle your bug already and we don't need =E2=80=98frame-after-make-frame=E2=80=99 after all? martin From unknown Sun Jun 22 22:48:10 2025 X-Loop: help-debbugs@gnu.org Subject: bug#24240: 25.1.50; window-state-put, image-mode and window scrolling Resent-From: Andreas Politz Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Wed, 17 Aug 2016 16:13:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 24240 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: martin rudalics Cc: 24240@debbugs.gnu.org Received: via spool by 24240-submit@debbugs.gnu.org id=B24240.147145037118142 (code B ref 24240); Wed, 17 Aug 2016 16:13:02 +0000 Received: (at 24240) by debbugs.gnu.org; 17 Aug 2016 16:12:51 +0000 Received: from localhost ([127.0.0.1]:60441 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ba3SU-0004iY-UZ for submit@debbugs.gnu.org; Wed, 17 Aug 2016 12:12:51 -0400 Received: from gateway-a.fh-trier.de ([143.93.54.181]:52356) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ba3SS-0004iK-7I for 24240@debbugs.gnu.org; Wed, 17 Aug 2016 12:12:49 -0400 X-Virus-Scanned: by Amavisd-new + McAfee uvscan + ClamAV [Rechenzentrum Hochschule Trier (RZ/HT)] Received: from localhost (ip5f5bdf4d.dynamic.kabel-deutschland.de [95.91.223.77]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) (Authenticated sender: politza) by gateway-a.fh-trier.de (Postfix) with ESMTPSA id 2DCF81798CEA; Wed, 17 Aug 2016 18:12:32 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha1; c=simple/simple; d=hochschule-trier.de; s=default; t=1471450352; bh=OZLBTRGlh1I5v8F7kKhW+kOs1ac=; h=From:To:Cc:Subject:References:Date:In-Reply-To:Message-ID: MIME-Version:Content-Type:Content-Transfer-Encoding; b=Ms7UYfm4evmjUkvu61nu9iSan8NfEjExuwHbMpWgcJNMCVVSolK0p+4NJSOZX6qEb xJ29E5hmcMnljHhwBI5VgHbGEZqQvG3gH9p4r9kc096WI1prg9USM03CxqNGHfh5sH vR3IVvANB+uFf7+O9QEPxACdQuOQLOFHXODP3eu8= From: Andreas Politz References: <87bn0ttyzc.fsf@hochschule-trier.de> <57B2F247.9050601@gmx.at> <8737m4u8j6.fsf@hochschule-trier.de> <57B420A2.6020608@gmx.at> <87mvkblm6o.fsf@hochschule-trier.de> <57B48714.40406@gmx.at> Date: Wed, 17 Aug 2016 18:12:31 +0200 In-Reply-To: <57B48714.40406@gmx.at> (martin rudalics's message of "Wed, 17 Aug 2016 17:47:32 +0200") Message-ID: <87inuzl6hc.fsf@hochschule-trier.de> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.1.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.3 (--) martin rudalics writes: > It _should_ use NOFORCE anyway. Ok. > But do you mean that setting NOFORCE alone will handle your bug already > and we don't need =E2=80=98frame-after-make-frame=E2=80=99 after all? Yes, it would. At least in the case of image-mode, it would actually be preferable to let window-state-put override image-mode-reapply-winprops's scrolling, because it has the correct value. I don't know how familiar you are with image-mode, but if it has no record for a particular window, it restores the value last set in any window. The difference would be visible in case the buffer is shown in more than one window (with different scroll values). -ap From unknown Sun Jun 22 22:48:10 2025 X-Loop: help-debbugs@gnu.org Subject: bug#24240: 25.1.50; window-state-put, image-mode and window scrolling Resent-From: martin rudalics Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 18 Aug 2016 08:43:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 24240 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Andreas Politz Cc: 24240@debbugs.gnu.org Received: via spool by 24240-submit@debbugs.gnu.org id=B24240.147150974520257 (code B ref 24240); Thu, 18 Aug 2016 08:43:01 +0000 Received: (at 24240) by debbugs.gnu.org; 18 Aug 2016 08:42:25 +0000 Received: from localhost ([127.0.0.1]:60787 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1baIu9-0005Gf-GA for submit@debbugs.gnu.org; Thu, 18 Aug 2016 04:42:25 -0400 Received: from mout.gmx.net ([212.227.15.15]:49540) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1baIu7-0005GM-7j for 24240@debbugs.gnu.org; Thu, 18 Aug 2016 04:42:23 -0400 Received: from [192.168.1.100] ([212.95.7.56]) by mail.gmx.com (mrgmx001) with ESMTPSA (Nemesis) id 0MQzUc-1bkek2019y-00UJbO; Thu, 18 Aug 2016 10:42:16 +0200 Message-ID: <57B574DE.2090004@gmx.at> Date: Thu, 18 Aug 2016 10:42:06 +0200 From: martin rudalics MIME-Version: 1.0 References: <87bn0ttyzc.fsf@hochschule-trier.de> <57B2F247.9050601@gmx.at> <8737m4u8j6.fsf@hochschule-trier.de> <57B420A2.6020608@gmx.at> <87mvkblm6o.fsf@hochschule-trier.de> <57B48714.40406@gmx.at> <87inuzl6hc.fsf@hochschule-trier.de> In-Reply-To: <87inuzl6hc.fsf@hochschule-trier.de> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: quoted-printable X-Provags-ID: V03:K0:NfOjKKAZqrm9DnJ6DwSCJSQSQgpImNxlPny1CzrcDXjSdVbL8c0 tsEWeMG+yFwe5BY/1RrbtOyjDriuWGuiT2VUZQjpkSsc+tNxG1sn8QoA+Mr2e4/zPH6tZav 5gQsOvphAe+6iH0jbHBCXUOg+GU1HuLg3y+Uhi2NvWxv7EPfhGX+1cIH9py2BGILZGZOen6 zH7zWDzUEtgxIXRWMP5Rg== X-UI-Out-Filterresults: notjunk:1;V01:K0:HhRx3vAh2nk=:N3uIf5x8K+v91UB4fi2zb2 OQoD8hD6TlNwaztlee0zwGdz+e9IWBpEWMM5iBUZDx5sEWti1ZREF1m9Z+SnHejvxLe2tXy/t pR7zV7dKAeUHH4nCdOucMO7MXPJVt53PzW5GrxDp5zFlRQc4JL/F18WaefVJDrqpG5QY6rm3r nYY2dswTLDNpNp2/EAhRdBJzUaLCx3T1XhxQ1353YyhlSRlhmpcOq8mxsSff4M8uqUibdstIX dKORvE9IpqsZFNM9klmXum4wWYifse8UVOvcieINHzi6nPIftd/ah4X75rZrFlqXZFC29ZRXx lSW6b34xbP1v7iuizoyi638WRVNaEN/xqDtI9sap/keyV15VJoogePIXW9T/+n1GemXx1/avr hh7VL1nBko1rv9KslawOFP4cBh2IOXH6TiPL0OIUYDTy70smmP7nPRcB/9RPJJzoq5wr1tyIO DcX0juDW/YZKJV8UXI95fDSITfcaV9nYs/fLUCB+7FcRTS5VhzWUfdXNJGq4Hsy3O1JDK+4J1 FCrT3yeZGqxD3WyYSUl3sKA8U9J3ZHKKOL2yGmL/GoNhjZM170+7deHQgzv8TDHX+gtJ7bI33 vtLY/50qPlsMyWKVM/lzqXkYCEqrayFsflBVPS4OXvQNSrU09QWug7Q/N4VICb1CVHmzD6NP0 q9bUb1+SlOQIp6WWqCBzb9sDbt/nPl+SOCrE6KhOFL38wBDI4fE/GiG6o+wNSutzliXBWSJVP G7SZQBxMJpd/ZuqshzLxSoOwvoCT8t5XfSQvbzR765c+UPo3pbTvCN9AT4PCMIWi4r3wrt9pi A2bUbwbgoMJumLP6PkZadtdixQ5tA== X-Spam-Score: -0.1 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.1 (/) >> But do you mean that setting NOFORCE alone will handle your bug alrea= dy >> and we don't need =E2=80=98frame-after-make-frame=E2=80=99 after all?= > > Yes, it would. OK. Pushed to master. In any case it fixes a scenario like the followin= g: (let (window state point start) (find-file "../lisp/window.el") (forward-line 30) (setq window (selected-window)) (setq state (window-state-get window)) (setq start (window-start window)) (setq point (window-point window)) (message "Before split - %s ... start: %s ... point: %s" window start= point) (sit-for 3) (split-window window) (message "After split - %s ... start: %s ... point: %s" window start = point) (sit-for 3) (window-state-put state window) (sit-for 0) (message "Final - %s ... start: %s -> %s ... point: %s -> %s" window start (window-start window) point (window-point window))) > At least in the case of image-mode, it would actually be preferable to= > let window-state-put override image-mode-reapply-winprops's scrolling,= > because it has the correct value. I don't know how familiar you are > with image-mode, Not at all. > but if it has no record for a particular window, it > restores the value last set in any window. The difference would be > visible in case the buffer is shown in more than one window (with > different scroll values). And you mean that the situation after your fix is as expected and the single, final call of =E2=80=98window-configuration-change-hook=E2=80=99 = I proposed earlier would spoil that? Technically spoken, it would fail because =E2=80=98window-state-put=E2=80=99 creates windows anew and for a new win= dow image-mode has no record of the previous position of the image in that window? Do you agree with that interpretation? martin From unknown Sun Jun 22 22:48:10 2025 MIME-Version: 1.0 X-Mailer: MIME-tools 5.505 (Entity 5.505) X-Loop: help-debbugs@gnu.org From: help-debbugs@gnu.org (GNU bug Tracking System) To: Andreas Politz Subject: bug#24240: closed (Re: bug#24240: 25.1.50; window-state-put, image-mode and window scrolling) Message-ID: References: <5815B391.4070706@gmx.at> <87bn0ttyzc.fsf@hochschule-trier.de> X-Gnu-PR-Message: they-closed 24240 X-Gnu-PR-Package: emacs Reply-To: 24240@debbugs.gnu.org Date: Sun, 30 Oct 2016 08:48:02 +0000 Content-Type: multipart/mixed; boundary="----------=_1477817282-11232-1" This is a multi-part message in MIME format... ------------=_1477817282-11232-1 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Your bug report #24240: 25.1.50; window-state-put, image-mode and window scrolling which was filed against the emacs package, has been closed. The explanation is attached below, along with your original report. If you require more details, please reply to 24240@debbugs.gnu.org. --=20 24240: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=3D24240 GNU Bug Tracking System Contact help-debbugs@gnu.org with problems ------------=_1477817282-11232-1 Content-Type: message/rfc822 Content-Disposition: inline Content-Transfer-Encoding: 7bit Received: (at 24240-done) by debbugs.gnu.org; 30 Oct 2016 08:47:28 +0000 Received: from localhost ([127.0.0.1]:36977 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1c0lm4-0002tg-AM for submit@debbugs.gnu.org; Sun, 30 Oct 2016 04:47:28 -0400 Received: from mout.gmx.net ([212.227.17.22]:58419) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1c0lm1-0002tL-T5 for 24240-done@debbugs.gnu.org; Sun, 30 Oct 2016 04:47:26 -0400 Received: from [192.168.1.100] ([212.95.7.5]) by mail.gmx.com (mrgmx103) with ESMTPSA (Nemesis) id 0LaXmV-1cjylE00NT-00mMrS; Sun, 30 Oct 2016 09:47:19 +0100 Message-ID: <5815B391.4070706@gmx.at> Date: Sun, 30 Oct 2016 09:47:13 +0100 From: martin rudalics MIME-Version: 1.0 To: Andreas Politz Subject: Re: bug#24240: 25.1.50; window-state-put, image-mode and window scrolling References: <87bn0ttyzc.fsf@hochschule-trier.de> <57B2F247.9050601@gmx.at> <8737m4u8j6.fsf@hochschule-trier.de> <57B420A2.6020608@gmx.at> <87mvkblm6o.fsf@hochschule-trier.de> <57B48714.40406@gmx.at> <87inuzl6hc.fsf@hochschule-trier.de> <57B574DE.2090004@gmx.at> In-Reply-To: <57B574DE.2090004@gmx.at> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Provags-ID: V03:K0:CpkcVQHSRIWuXxwrJZ29HkRu2el5fS/JZd4+ea6E/apf8kqXafj 6q4Q8Mpb8GdEJjS7wMbV+6Adqgct9c3sLXqA08rI1O8T+lioad0w0Qxw8uR9v8UZmT/1SCS fmveNvEI/0Qe5O5dW83lj1TjsWCPJ22+I5i4XeZKLz5povv/lYV3INPyC0pF0XPrLqxz14e 6CxmEC9LYOO7FwrlbwMbw== X-UI-Out-Filterresults: notjunk:1;V01:K0:Lk26FU4cpP4=:0odomzWdxLjxA1psd8ZG/t dFPZXVczMiiW9BbolBss+fvB0kdgYH7Lo2XeRDaseFLR4M0mJc1FVQcW74IxULo1tEx7izP8R 1obritLUJBFbV8+aacv6fYL/0rdxXO1EsGizerPNmCQmDxaQ2S5o91czFB0Z/7DbDiYSzYC0r jZ8dIK2vCSHbaBAot9zeznM5orVoip+TzHhqkLybxPwVxwbM2aJpQEegLV1HMMEjV6FOMmqaJ kl1Czh11XXIKXt1/ITBugp8hywai3085XUVC0+UPEQ/BCWj+5aD9iaDtsk4wupt0rquWuQTeH UX2gRxaV0czj1VOD8zN3UBYt0rJlRTIdSxJBi1OX1MEbqvQL5PVL3Cpmh/2eq7JwUoIar2PIq IWxMUJQ8bBokGpL7HBF0sh57bju35g3bGY1aR6EXHrfrOb7R+tX2BiuK+JMKCIFlSQD3FOT95 ljA3eR0c+KkF9b+VUfSSQTlm36UyiBVLmFxSZk82GFDA+jqUZWD0lOoWJM9vzZulnlLL4V2Sb a7udeebT/Tj0PGQUCWUXwjUvg1cB6gtFij5MRvVcEGf3P6knslk89cWvkxK7WBEpnl3K1CJ18 oSR4kLonFWBpDH8UxemtRRGUTGF1oc2Ox992t5AKEBIppcleX0YWqETrGalX81goWTjrvZnhL ybBsE4379mZL2PpV9jjFVRFflbfulqPKrVeTjtFfKV14R1d4SkHPKszDvMQ02hgfhxgikXtMe dlPqEYHRYKE0FUos7r/Qu/wjS/v7127CQKI6b6bp32ESVVS2LjU7Z/1sDZ6wCD+mAoQT83Nzx OR1r+fbMDIMtB3FjuLQ5/kOo0zzBA== X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 24240-done Cc: 24240-done@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) Bug closed. Please reopen it when any of the issues discussed here become virulent again. martin ------------=_1477817282-11232-1 Content-Type: message/rfc822 Content-Disposition: inline Content-Transfer-Encoding: 7bit Received: (at submit) by debbugs.gnu.org; 15 Aug 2016 23:05:39 +0000 Received: from localhost ([127.0.0.1]:58644 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1bZQwt-0004jW-5T for submit@debbugs.gnu.org; Mon, 15 Aug 2016 19:05:39 -0400 Received: from eggs.gnu.org ([208.118.235.92]:60252) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1bZQwr-0004jI-5F for submit@debbugs.gnu.org; Mon, 15 Aug 2016 19:05:37 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1bZQwk-0002b8-TC for submit@debbugs.gnu.org; Mon, 15 Aug 2016 19:05:31 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=0.8 required=5.0 tests=BAYES_50,T_DKIM_INVALID autolearn=disabled version=3.3.2 Received: from lists.gnu.org ([2001:4830:134:3::11]:43123) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bZQwk-0002aT-Qp for submit@debbugs.gnu.org; Mon, 15 Aug 2016 19:05:30 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:51172) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bZQwi-0008Mq-K0 for bug-gnu-emacs@gnu.org; Mon, 15 Aug 2016 19:05:29 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1bZQwe-0002ZD-Bz for bug-gnu-emacs@gnu.org; Mon, 15 Aug 2016 19:05:27 -0400 Received: from gateway-a.fh-trier.de ([143.93.54.181]:59821) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bZQwe-0002Z3-24 for bug-gnu-emacs@gnu.org; Mon, 15 Aug 2016 19:05:24 -0400 X-Virus-Scanned: by Amavisd-new + McAfee uvscan + ClamAV [Rechenzentrum Hochschule Trier (RZ/HT)] Received: from localhost (ip5f5bdf4d.dynamic.kabel-deutschland.de [95.91.223.77]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) (Authenticated sender: politza) by gateway-a.fh-trier.de (Postfix) with ESMTPSA id 91FF21797D0F for ; Tue, 16 Aug 2016 01:05:11 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha1; c=simple/simple; d=hochschule-trier.de; s=default; t=1471302311; bh=H3/b0cN8hYRuRajMe51ybHbTJ4U=; h=From:To:Subject:Date:Message-ID:MIME-Version:Content-Type; b=oQDoAQDBeC78JsxQHBEz4+PPG487uy7+NmL249QJ5UVlx5Ig8YkmmMXCb7zc2Rph3 IU8Fx/DdMxUdNX9HXUjOgDsnqO+2b/dKxEBn26fJv6qWqMoWu7o7pJ50RdiRH7cMg3 25L712hbqAXWPmSqVztMy6qpSRQzzC4TIR/Pnyd4= From: Andreas Politz To: bug-gnu-emacs@gnu.org Subject: 25.1.50; window-state-put, image-mode and window scrolling Date: Tue, 16 Aug 2016 01:05:11 +0200 Message-ID: <87bn0ttyzc.fsf@hochschule-trier.de> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.1.50 (gnu/linux) MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6.x X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6.x X-Received-From: 2001:4830:134:3::11 X-Spam-Score: -4.0 (----) X-Debbugs-Envelope-To: submit X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -4.0 (----) --=-=-= Content-Type: text/plain There is a conflict between window-state-put and image-mode and maybe other modes. The function image-mode-reapply-winprops gets called as soon as window-state-put displays the image buffer in some window via window-configuration-change-hook and applies the image's previously stored scroll-values. But window-state-put is not done yet and it has it's own understanding of how the window should be scrolled, thereby overriding images-mode's scrolling. I guess ideally window-state-put should be atomic in the sense that it delays these kinds of hooks until the window is completely restored. Below is a recipe and I attached a workaround. -ap -- Let's start with emacs -Q and find some image file: C-x C-f foo.png RET Maybe enlarge the image, such that it can be scrolled. Move the image (C-n), such that vscroll is greater 0. (window-vscroll) => 37 Save the window state, (setq wst (window-state-get)) and switch to the *scratch* buffer. (current-buffer) => # Now restore the previously saved window state (window-state-put wst) ,which should bring back the image buffer. But notice, how vscroll seems to be 0, i.e. display starts at the top of image. Finally evaluate any expression in the mini-buffer M-: t RET which triggers image-mode-reapply-winprops scrolling the image as expected. --=-=-= Content-Type: application/emacs-lisp Content-Disposition: attachment; filename=window-state-put-workaround.el Content-Transfer-Encoding: quoted-printable ;; Workaround 1 (does not work, why ?) (defun window-state-put-workaround (fn &rest args) (let (window-configuration-change-hook) (apply fn args)) (run-window-configuration-change-hook)) (advice-add 'window-state-put :around #'window-state-put-workaround) ;; Workaround 2 (does work) (defun window-state-put-workaround (&rest _args) (run-with-idle-timer 0 nil #'run-window-configuration-change-hook)) (advice-add 'window-state-put :after #'window-state-put-workaround) --=-=-=-- ------------=_1477817282-11232-1--