Juri Linkov <juri@HIDDEN>
to control <at> debbugs.gnu.org.
Full text available.Received: (at 79640) by debbugs.gnu.org; 19 Oct 2025 17:59:15 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Sun Oct 19 13:59:15 2025 Received: from localhost ([127.0.0.1]:37425 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1vAXgY-0005KN-Vx for submit <at> debbugs.gnu.org; Sun, 19 Oct 2025 13:59:15 -0400 Received: from mout-p-201.mailbox.org ([2001:67c:2050:0:465::201]:38002) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from <juri@HIDDEN>) id 1vAXgV-0005Jq-02; Sun, 19 Oct 2025 13:59:12 -0400 Received: from smtp1.mailbox.org (smtp1.mailbox.org [10.196.197.1]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by mout-p-201.mailbox.org (Postfix) with ESMTPS id 4cqRBt6Ywqz9smC; Sun, 19 Oct 2025 19:59:02 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linkov.net; s=MBO0001; t=1760896742; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=0d++XlBzuakz6FTdneNQ+YRGqFdU18juWlQIbphnCmM=; b=cWjhxa3fxL5nS21mtRliyQMEmWQfPFSkK+u1PKfvUGNtsWlnwQK+zWmJyUwHwMGogPnyeS dhxP0eX0bE4r7XnwIz1Pja2V8iT30F7DYolapS8HwB2OmT+l7KCJ0qwRkl+Rf+ckLAUf3N r2xIXy0hbPH78/5ph6waOf3OgsopB2xrZg5WpkBwrFGOVKd9nAR+k5YDXH6su2LIGhxyqS CnPIebPNAGxNLgF8z0Ry7217XWYDxIebfhU0DAGpADpy9csbYq4ikeek9lxryxlJBkjwru M+llB6rP12RL0Q97AiMy1NIIDlQVa6fJB5OxZCYDRkATGRCZN/6AqXMkr4x00A== From: Juri Linkov <juri@HIDDEN> To: martin rudalics <rudalics@HIDDEN> Subject: Re: bug#79640: Buffer-local window-buffer-change-functions In-Reply-To: <7b01439f-9cc1-4f32-96c9-94017d412550@HIDDEN> Organization: LINKOV.NET References: <87ecr2n9ev.fsf@HIDDEN> <d8cff817-1f35-4b80-a312-a0f577009fee@HIDDEN> <87wm4sytdz.fsf@HIDDEN> <7b01439f-9cc1-4f32-96c9-94017d412550@HIDDEN> Date: Sun, 19 Oct 2025 20:56:55 +0300 Message-ID: <87zf9m7p5c.fsf@HIDDEN> MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 79640 Cc: 79640 <at> debbugs.gnu.org, Stefan Monnier <monnier@HIDDEN> X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.7 (-) close 79640 31.0.50 thanks >>>> (defun compilation--set-up-margin (w) >>>> "Setup the margin for \"=>\" in window W if it isn't already set up." >>>> - (set-window-margins w (+ (or (car (window-margins w)) 0) 2))) >>>> + (when (eq (window-buffer w) (current-buffer)) >>>> + (set-window-margins w (+ (or (car (window-margins w)) 0) 2)))) >>> >>> I'm not quite sure whether it does TRT when you show another buffer in >>> that window and the margin should be removed. And what if you then have >>> yet another mode enabled that wants margins? >> >> Do you agree that this patch fixes the bug for the case of the >> buffer-local 'window-buffer-change-functions'? > > FWIW, I agree. I don't know enough about compilation mode, but your > proposal should handle the case where a compilation window is made to > show an unrelated buffer, 'window-buffer-change-functions' eventually > kick in and set the margins of that other buffer. > >> It doesn't affect another buffer that is going to be displayed >> in the same window. When another buffer uses own margins, >> then they will be displayed anyway after switching buffers. > > Unless 'set-window-buffer' is called with KEEP-MARGINS non-nil, I > presume. IIRC we do that only when splitting windows so it hopefully > won't matter here. Ok, so now pushed the patch and closed this bug report. >> In bug#77313 we are creating a new function 'update-window-margins' that >> will call a new hook 'window-margin-functions' to sum all margin widths >> requested by different packages/modes, then just call 'set-window-margins' >> with the calculated values. > > Who would run 'window-margin-functions'? Wouldn't it be sufficient to > have set_window_buffer check a buffer local variable and calculate the > margins from that? In which case modes like 'compilation-mode' would > not need 'window-buffer-change-functions'. Setting that variable and > calling 'update-window-margins' when the mode is turned on or off would > be sufficient. And instead of 'update-window-margins' you could run the > entire logic within 'set-window-margins' (which 'update-window-margins' > would have to run anyway) with the 't' args I proposed earlier. > > But note the following small loophole: 'set-window-configuration' does > not run set_window_buffer when a window's buffer has changed within an > excursion and will merciless restore old margins. If it did not restore > margins, showing the previous buffer again would probably reuse the > margins shown within the excursion. This means that a mode turned > off/on within an excursion would lose its margin settings. OTOH we > probably cannot have 'set-window-configuration' run set_window_buffer > because we might not like any changes that come along with that. And > 'window-buffer-change-functions' might not catch this because the buffer > of the window will not have changed if the excursion happens within two > redisplays. So to be on the safe side 'set-window-configuration' will > have to update margins whenever a buffer has changed. There might be > similar cases too, you'd have to check all occurrences of wset_buffer in > our sources. Thanks for the explanations. Let's move the designing of this new feature to emacs-devel. I'll start a new thread there.
bug-gnu-emacs@HIDDEN:bug#79640; Package emacs.
Full text available.Received: (at 79640) by debbugs.gnu.org; 19 Oct 2025 09:08:00 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Sun Oct 19 05:08:00 2025 Received: from localhost ([127.0.0.1]:58037 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1vAPOR-0007yi-6Z for submit <at> debbugs.gnu.org; Sun, 19 Oct 2025 05:07:59 -0400 Received: from mout.gmx.net ([212.227.15.18]:38525) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from <rudalics@HIDDEN>) id 1vAPOO-0007xy-QI for 79640 <at> debbugs.gnu.org; Sun, 19 Oct 2025 05:07:57 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmx.at; s=s31663417; t=1760864870; x=1761469670; i=rudalics@HIDDEN; bh=Qd5JAqRfsexy94mIFm3v8+OkwXqqR4n7mpzjHpuLUNU=; h=X-UI-Sender-Class:Message-ID:Date:MIME-Version:Subject:To:Cc: References:From:In-Reply-To:Content-Type: Content-Transfer-Encoding:cc:content-transfer-encoding: content-type:date:from:message-id:mime-version:reply-to:subject: to; b=mz8yhHUGPq4s3h/DTuAn7IRkaY2qTPwZS4PBTx/C8XqY0DeIf3JkmX1s/2iv3Le0 26bV3CHndTASeUWR/ZDuPupB5mICHMhGNs1knA3XrpK2tn0VAJx2XSbnPPwRtNB3B fDiHZtYykjFP8Rng4OO7GSEBTZcGOOY3ysUR97se95jPYSH+PPLcX/HLIaxV0amWr QnUBcgisWIpjWqq4ziMnyJaqkViWUkSv93cW1SmN88OhYB8tbKzlDb07iryXE7Lvc YucLKBQoayvPLnDlcNROJq2dqWt/LgkF98j/8a0pSt5/fFBH6TLuj9zBMEf6MCLYC lq1HaDqlcvQfZiFErA== X-UI-Sender-Class: 724b4f7f-cbec-4199-ad4e-598c01a50d3a Received: from [192.168.31.113] ([213.162.86.250]) by mail.gmx.net (mrgmx005 [212.227.17.190]) with ESMTPSA (Nemesis) id 1MbRfv-1udXcF0iSH-00gcrT; Sun, 19 Oct 2025 11:07:50 +0200 Message-ID: <7b01439f-9cc1-4f32-96c9-94017d412550@HIDDEN> Date: Sun, 19 Oct 2025 11:07:47 +0200 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: bug#79640: Buffer-local window-buffer-change-functions To: Juri Linkov <juri@HIDDEN> References: <87ecr2n9ev.fsf@HIDDEN> <d8cff817-1f35-4b80-a312-a0f577009fee@HIDDEN> <87wm4sytdz.fsf@HIDDEN> Content-Language: en-US From: martin rudalics <rudalics@HIDDEN> In-Reply-To: <87wm4sytdz.fsf@HIDDEN> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Provags-ID: V03:K1:UKdroP1wlCDmk4TmL/VY+X92rSP7w6uRUUUpXkS4bQtThWhoTG3 S/3e9A3ipEvXdcSibfGQKjk+gzbVII5nbd+YJnI7cz6glXb1DejqDon1+tre1S25wlhaAzc CCASaZtqMT86ATAhQ7QPydEVLyVzxiVky4Jn2BmtNIj5ACm+kqco9VsqYdFNN1JJMDdxM04 VrVcScITJI5mHWcLucRZg== X-Spam-Flag: NO UI-OutboundReport: notjunk:1;M01:P0:WKv4gjC32sY=;dj7vXJJgGvfvkmEqE7myJ+HGsMH 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 oylP9YWRobAzMva2BBALlDlrdU= X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 79640 Cc: 79640 <at> debbugs.gnu.org, Stefan Monnier <monnier@HIDDEN> X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.7 (-) >>> (defun compilation--set-up-margin (w) >>> "Setup the margin for \"=>\" in window W if it isn't already set up." >>> - (set-window-margins w (+ (or (car (window-margins w)) 0) 2))) >>> + (when (eq (window-buffer w) (current-buffer)) >>> + (set-window-margins w (+ (or (car (window-margins w)) 0) 2)))) >> >> I'm not quite sure whether it does TRT when you show another buffer in >> that window and the margin should be removed. And what if you then have >> yet another mode enabled that wants margins? > > Do you agree that this patch fixes the bug for the case of the > buffer-local 'window-buffer-change-functions'? FWIW, I agree. I don't know enough about compilation mode, but your proposal should handle the case where a compilation window is made to show an unrelated buffer, 'window-buffer-change-functions' eventually kick in and set the margins of that other buffer. > It doesn't affect another buffer that is going to be displayed > in the same window. When another buffer uses own margins, > then they will be displayed anyway after switching buffers. Unless 'set-window-buffer' is called with KEEP-MARGINS non-nil, I presume. IIRC we do that only when splitting windows so it hopefully won't matter here. > In bug#77313 we are creating a new function 'update-window-margins' that > will call a new hook 'window-margin-functions' to sum all margin widths > requested by different packages/modes, then just call 'set-window-margins' > with the calculated values. Who would run 'window-margin-functions'? Wouldn't it be sufficient to have set_window_buffer check a buffer local variable and calculate the margins from that? In which case modes like 'compilation-mode' would not need 'window-buffer-change-functions'. Setting that variable and calling 'update-window-margins' when the mode is turned on or off would be sufficient. And instead of 'update-window-margins' you could run the entire logic within 'set-window-margins' (which 'update-window-margins' would have to run anyway) with the 't' args I proposed earlier. But note the following small loophole: 'set-window-configuration' does not run set_window_buffer when a window's buffer has changed within an excursion and will merciless restore old margins. If it did not restore margins, showing the previous buffer again would probably reuse the margins shown within the excursion. This means that a mode turned off/on within an excursion would lose its margin settings. OTOH we probably cannot have 'set-window-configuration' run set_window_buffer because we might not like any changes that come along with that. And 'window-buffer-change-functions' might not catch this because the buffer of the window will not have changed if the excursion happens within two redisplays. So to be on the safe side 'set-window-configuration' will have to update margins whenever a buffer has changed. There might be similar cases too, you'd have to check all occurrences of wset_buffer in our sources. martin
bug-gnu-emacs@HIDDEN:bug#79640; Package emacs.
Full text available.Received: (at 79640) by debbugs.gnu.org; 18 Oct 2025 18:11:03 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Sat Oct 18 14:11:02 2025 Received: from localhost ([127.0.0.1]:47246 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1vABOQ-0002Pw-1X for submit <at> debbugs.gnu.org; Sat, 18 Oct 2025 14:11:02 -0400 Received: from mout-p-103.mailbox.org ([80.241.56.161]:42196) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from <juri@HIDDEN>) id 1vABON-0002OK-1u for 79640 <at> debbugs.gnu.org; Sat, 18 Oct 2025 14:11:00 -0400 Received: from smtp202.mailbox.org (smtp202.mailbox.org [10.196.197.202]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by mout-p-103.mailbox.org (Postfix) with ESMTPS id 4cpqVw1h2bz9skp; Sat, 18 Oct 2025 20:10:48 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linkov.net; s=MBO0001; t=1760811048; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=WyI7k/aoEhdG7gN80I4IaXMwENkTnIEnVbKcXeamGgY=; b=QDmGa4gf26GcItskOU41fP3pR40FVP8fho9SHhpBU7zAwCTt1jFU4jLxgiWSnk9M7Mk1Pq BCDvT7zCdJW1WDV1aBiF4+zcCRvey0236dMHBtNzu0sK1Ljn+XSErLLd9Mbk1dYw4R4uVX rebzj6yCGrzRkAoxd2Xr6qKBKani9XM+1WeZPpjYkKFiudLPZACSYMx37ByLbgk1spO715 oytovyhF5jn5jmLAwMMUFjNl43h34ZFCjG2fK+wHPGL4j+IFEeePmmBkZwgm4bAFohJnpS vDEQI6MD+iirxNvzH0gAummQwBd189iXRC0+cLvYoK8pnC0afwkVQ7ddJqAbOQ== From: Juri Linkov <juri@HIDDEN> To: martin rudalics <rudalics@HIDDEN> Subject: Re: bug#79640: Buffer-local window-buffer-change-functions In-Reply-To: <d8cff817-1f35-4b80-a312-a0f577009fee@HIDDEN> Organization: LINKOV.NET References: <87ecr2n9ev.fsf@HIDDEN> <d8cff817-1f35-4b80-a312-a0f577009fee@HIDDEN> Date: Sat, 18 Oct 2025 21:08:56 +0300 Message-ID: <87wm4sytdz.fsf@HIDDEN> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 79640 Cc: 79640 <at> debbugs.gnu.org, Stefan Monnier <monnier@HIDDEN> X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.7 (-) >> Martin, do you think we need to add a warning to the documentation of >> 'window-buffer-change-functions' that for the case when a buffer >> is removed from the window, then the buffer-local hook should use >> something like this to detect the case that the buffer >> with the buffer-local hook is displayed: >> >> (eq (window-buffer w) (current-buffer)) > > I now tried to explain that in the Elisp manual. Thanks. >> (defun compilation--set-up-margin (w) >> "Setup the margin for \"=>\" in window W if it isn't already set up." >> - (set-window-margins w (+ (or (car (window-margins w)) 0) 2))) >> + (when (eq (window-buffer w) (current-buffer)) >> + (set-window-margins w (+ (or (car (window-margins w)) 0) 2)))) > > I'm not quite sure whether it does TRT when you show another buffer in > that window and the margin should be removed. And what if you then have > yet another mode enabled that wants margins? Do you agree that this patch fixes the bug for the case of the buffer-local 'window-buffer-change-functions'? It doesn't affect another buffer that is going to be displayed in the same window. When another buffer uses own margins, then they will be displayed anyway after switching buffers. > I think here and elsewhere we want something like the following: Reserve > two buffer-local variables, say 'requested-left-margin-width' and > 'requested-right-margin-width'. A mode like 'compilation-mode' sets up > or adds the number of columns it needs to either of these variables and > subtracts that number when it is disabled or another buffer is shown in > the window and then calls > > (set-window-margins > window requested-left-margin-width requested-right-margin-width) > > This means that whenever several modes simultaneously work on one and > the same window, they have to update these variables accordingly and get > margins of accumulated widths. > > We could also call > > (set-window-margins window t t) > > instead with the semantics that 'set-window-margins' takes the sizes of > the margins from these values and refuses a call with numeric widths > whenever either of the two variables was set to a non-nil, non-zero > value in the window's buffer. > > Finally, we could make these variables alists where the cdr is the width > and the car stands for a mode or whatever a caller wants to store there. > ‘set-window-margins’ with the t arguments could then collect the sizes > from the cdrs and modes could remove alist entries appropriately when > they are turned off or disappear from a window. > > And obviously, each mode should decide what to do in a window that is > not wide enough to show the margins. In bug#77313 we are creating a new function 'update-window-margins' that will call a new hook 'window-margin-functions' to sum all margin widths requested by different packages/modes, then just call 'set-window-margins' with the calculated values.
bug-gnu-emacs@HIDDEN:bug#79640; Package emacs.
Full text available.Received: (at 79640) by debbugs.gnu.org; 17 Oct 2025 09:14:03 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Fri Oct 17 05:14:03 2025 Received: from localhost ([127.0.0.1]:47296 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1v9gXC-0006ld-BI for submit <at> debbugs.gnu.org; Fri, 17 Oct 2025 05:14:02 -0400 Received: from mout.gmx.net ([212.227.15.18]:55751) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from <rudalics@HIDDEN>) id 1v9gWZ-0006hr-Na for 79640 <at> debbugs.gnu.org; Fri, 17 Oct 2025 05:13:25 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmx.at; s=s31663417; t=1760692384; x=1761297184; i=rudalics@HIDDEN; bh=05Eyx6K8qnWiDnUZ6p3QMt4CbKblH/5a62bNaPgN9/o=; h=X-UI-Sender-Class:Message-ID:Date:MIME-Version:Subject:To:Cc: References:From:In-Reply-To:Content-Type: Content-Transfer-Encoding:cc:content-transfer-encoding: content-type:date:from:message-id:mime-version:reply-to:subject: to; b=XLKg/mEv4ERqVhF2dgW2T+A/mGqv+4ynRoacJeq5AXkiT93Gdsx/T6VGtDOv+7oB lyiD5ufF8/WpwcyEBCYtE35onD5wNzHpYkCCWPO15TYUdFMuo629jXDp21lu2tHea w8OC028S/MKYluwibvyPZKwfJ3qoR3DwlSi5aP44bm1deeFQlTZIkMETFy3VbV0M3 1tQwkyxID62Cn07aNL573K+CrMipqYO5kQQjeEUIb5HpM4LR1pqkkq+B4sfpdL0MG gW60eRfME4SnA6fSPFMwZBhVffOshKndsFl7jNn6J6ori0CI4NxLbODa5j740Zxkh yrZoO3qMqX8MSz2Zsg== X-UI-Sender-Class: 724b4f7f-cbec-4199-ad4e-598c01a50d3a Received: from [192.168.31.113] ([213.162.84.91]) by mail.gmx.net (mrgmx004 [212.227.17.190]) with ESMTPSA (Nemesis) id 1N1Obh-1uCFT92GFP-016D9T; Fri, 17 Oct 2025 11:13:04 +0200 Message-ID: <d8cff817-1f35-4b80-a312-a0f577009fee@HIDDEN> Date: Fri, 17 Oct 2025 11:13:01 +0200 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: bug#79640: Buffer-local window-buffer-change-functions To: Juri Linkov <juri@HIDDEN>, 79640 <at> debbugs.gnu.org References: <87ecr2n9ev.fsf@HIDDEN> Content-Language: en-US From: martin rudalics <rudalics@HIDDEN> In-Reply-To: <87ecr2n9ev.fsf@HIDDEN> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: base64 X-Provags-ID: V03:K1:S5S46J011WKE2/w1Sh7q3hQU7dgUPzK3LDfT4OQQqRa3n8wHvvr xQuvYK6w/sZOAhj421z/WT8rd1iunUnhgTWEbRXAAIEBaHRe6t35wFjZewcTA6V36d7wQn2 SloutDqO1WQy6ko2BLpAEUnHuYC7Y/atffMBeDJQ3JyCdgGfCtjaG8cnW6dsxslzu7bP59H 0ARQt+GvAjmoz0qH6bEAg== X-Spam-Flag: NO UI-OutboundReport: notjunk:1;M01:P0:taoC6vUeDLU=;wb6KuvYdwJObZD7EpVUxWp23GCL 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 X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 79640 Cc: Stefan Monnier <monnier@HIDDEN> X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.7 (-) ID4gTWFydGluLCBkbyB5b3UgdGhpbmsgd2UgbmVlZCB0byBhZGQgYSB3YXJuaW5nIHRvIHRo ZSBkb2N1bWVudGF0aW9uIG9mDQogPiAnd2luZG93LWJ1ZmZlci1jaGFuZ2UtZnVuY3Rpb25z JyB0aGF0IGZvciB0aGUgY2FzZSB3aGVuIGEgYnVmZmVyDQogPiBpcyByZW1vdmVkIGZyb20g dGhlIHdpbmRvdywgdGhlbiB0aGUgYnVmZmVyLWxvY2FsIGhvb2sgc2hvdWxkIHVzZQ0KID4g c29tZXRoaW5nIGxpa2UgdGhpcyB0byBkZXRlY3QgdGhlIGNhc2UgdGhhdCB0aGUgYnVmZmVy DQogPiB3aXRoIHRoZSBidWZmZXItbG9jYWwgaG9vayBpcyBkaXNwbGF5ZWQ6DQogPg0KID4g ICAgKGVxICh3aW5kb3ctYnVmZmVyIHcpIChjdXJyZW50LWJ1ZmZlcikpDQoNCkkgbm93IHRy aWVkIHRvIGV4cGxhaW4gdGhhdCBpbiB0aGUgRWxpc3AgbWFudWFsLg0KDQogPiBCZWxvdyBp cyBhIHBhdGNoIHRoYXQgZml4ZXMgdGhlIGJ1ZyBpbiBjb21waWxhdGlvbi1tb2RlDQogPiBm b3Igc3VjaCB0ZXN0IGNhc2U6DQogPg0KID4gMS4gRGlzYWJsZSBmcmluZ2VzLg0KID4gMi4g U2V0IGNvbXBpbGF0aW9uLWNvbnRleHQtbGluZXMgdG8gdC4NCiA+IDMuIFZpc2l0IGEgY29t cGlsYXRpb24gZXJyb3IgdG8gcmVzaXplIHRoZSBtYXJnaW4uDQogPiA0LiBWaXNpdCBhbm90 aGVyIGJ1ZmZlci4NCiA+DQogPiBUaGUgbWFyZ2luIGlzIHJlc2l6ZWQgaW4gYW4gdW5yZWxh dGVkIGJ1ZmZlciB0aGF0IGRvZXNuJ3QgaGF2ZQ0KID4gYSBidWZmZXItbG9jYWwgaG9vay4g IEhlcmUgaXMgdGhlIGZpeDoNCiA+DQogPiBkaWZmIC0tZ2l0IGEvbGlzcC9wcm9nbW9kZXMv Y29tcGlsZS5lbCBiL2xpc3AvcHJvZ21vZGVzL2NvbXBpbGUuZWwNCiA+IGluZGV4IDhjZmE3 OTNjZmM2Li4wMTE1MjMyODU3NyAxMDA2NDQNCiA+IC0tLSBhL2xpc3AvcHJvZ21vZGVzL2Nv bXBpbGUuZWwNCiA+ICsrKyBiL2xpc3AvcHJvZ21vZGVzL2NvbXBpbGUuZWwNCiA+IEBAIC0z MDYyLDcgKzMwNjIsOCBAQCBjb21waWxhdGlvbi0tZHVtbXktc3RyaW5nDQogPg0KID4gICAo ZGVmdW4gY29tcGlsYXRpb24tLXNldC11cC1tYXJnaW4gKHcpDQogPiAgICAgIlNldHVwIHRo ZSBtYXJnaW4gZm9yIFwiPT5cIiBpbiB3aW5kb3cgVyBpZiBpdCBpc24ndCBhbHJlYWR5IHNl dCB1cC4iDQogPiAtICAoc2V0LXdpbmRvdy1tYXJnaW5zIHcgKCsgKG9yIChjYXIgKHdpbmRv dy1tYXJnaW5zIHcpKSAwKSAyKSkpDQogPiArICAod2hlbiAoZXEgKHdpbmRvdy1idWZmZXIg dykgKGN1cnJlbnQtYnVmZmVyKSkNCiA+ICsgICAgKHNldC13aW5kb3ctbWFyZ2lucyB3ICgr IChvciAoY2FyICh3aW5kb3ctbWFyZ2lucyB3KSkgMCkgMikpKSkNCiA+DQogPiAgIChkZWZ1 biBjb21waWxhdGlvbi0tdGVhci1kb3duLW1hcmdpbiAodykNCiA+ICAgICAiUmVtb3ZlIHRo ZSBtYXJnaW4gZm9yIFwiPT5cIiBpZiBpdCBpcyBzZXR1cCBpbiB3aW5kb3cgVy4iDQoNCkkn bSBub3QgcXVpdGUgc3VyZSB3aGV0aGVyIGl0IGRvZXMgVFJUIHdoZW4geW91IHNob3cgYW5v dGhlciBidWZmZXIgaW4NCnRoYXQgd2luZG93IGFuZCB0aGUgbWFyZ2luIHNob3VsZCBiZSBy ZW1vdmVkLiAgQW5kIHdoYXQgaWYgeW91IHRoZW4gaGF2ZQ0KeWV0IGFub3RoZXIgbW9kZSBl bmFibGVkIHRoYXQgd2FudHMgbWFyZ2lucz8NCg0KSSB0aGluayBoZXJlIGFuZCBlbHNld2hl cmUgd2Ugd2FudCBzb21ldGhpbmcgbGlrZSB0aGUgZm9sbG93aW5nOiBSZXNlcnZlDQp0d28g YnVmZmVyLWxvY2FsIHZhcmlhYmxlcywgc2F5ICdyZXF1ZXN0ZWQtbGVmdC1tYXJnaW4td2lk dGgnIGFuZA0KJ3JlcXVlc3RlZC1yaWdodC1tYXJnaW4td2lkdGgnLiAgQSBtb2RlIGxpa2Ug J2NvbXBpbGF0aW9uLW1vZGUnIHNldHMgdXANCm9yIGFkZHMgdGhlIG51bWJlciBvZiBjb2x1 bW5zIGl0IG5lZWRzIHRvIGVpdGhlciBvZiB0aGVzZSB2YXJpYWJsZXMgYW5kDQpzdWJ0cmFj dHMgdGhhdCBudW1iZXIgd2hlbiBpdCBpcyBkaXNhYmxlZCBvciBhbm90aGVyIGJ1ZmZlciBp cyBzaG93biBpbg0KdGhlIHdpbmRvdyBhbmQgdGhlbiBjYWxscw0KDQooc2V0LXdpbmRvdy1t YXJnaW5zDQogICAgd2luZG93IHJlcXVlc3RlZC1sZWZ0LW1hcmdpbi13aWR0aCByZXF1ZXN0 ZWQtcmlnaHQtbWFyZ2luLXdpZHRoKQ0KDQpUaGlzIG1lYW5zIHRoYXQgd2hlbmV2ZXIgc2V2 ZXJhbCBtb2RlcyBzaW11bHRhbmVvdXNseSB3b3JrIG9uIG9uZSBhbmQNCnRoZSBzYW1lIHdp bmRvdywgdGhleSBoYXZlIHRvIHVwZGF0ZSB0aGVzZSB2YXJpYWJsZXMgYWNjb3JkaW5nbHkg YW5kIGdldA0KbWFyZ2lucyBvZiBhY2N1bXVsYXRlZCB3aWR0aHMuDQoNCldlIGNvdWxkIGFs c28gY2FsbA0KDQooc2V0LXdpbmRvdy1tYXJnaW5zIHdpbmRvdyB0IHQpDQoNCmluc3RlYWQg d2l0aCB0aGUgc2VtYW50aWNzIHRoYXQgJ3NldC13aW5kb3ctbWFyZ2lucycgdGFrZXMgdGhl IHNpemVzIG9mDQp0aGUgbWFyZ2lucyBmcm9tIHRoZXNlIHZhbHVlcyBhbmQgcmVmdXNlcyBh IGNhbGwgd2l0aCBudW1lcmljIHdpZHRocw0Kd2hlbmV2ZXIgZWl0aGVyIG9mIHRoZSB0d28g dmFyaWFibGVzIHdhcyBzZXQgdG8gYSBub24tbmlsLCBub24temVybw0KdmFsdWUgaW4gdGhl IHdpbmRvdydzIGJ1ZmZlci4NCg0KRmluYWxseSwgd2UgY291bGQgbWFrZSB0aGVzZSB2YXJp YWJsZXMgYWxpc3RzIHdoZXJlIHRoZSBjZHIgaXMgdGhlIHdpZHRoDQphbmQgdGhlIGNhciBz dGFuZHMgZm9yIGEgbW9kZSBvciB3aGF0ZXZlciBhIGNhbGxlciB3YW50cyB0byBzdG9yZSB0 aGVyZS4NCuKAmHNldC13aW5kb3ctbWFyZ2luc+KAmSB3aXRoIHRoZSB0IGFyZ3VtZW50cyBj b3VsZCB0aGVuIGNvbGxlY3QgdGhlIHNpemVzDQpmcm9tIHRoZSBjZHJzIGFuZCBtb2RlcyBj b3VsZCByZW1vdmUgYWxpc3QgZW50cmllcyBhcHByb3ByaWF0ZWx5IHdoZW4NCnRoZXkgYXJl IHR1cm5lZCBvZmYgb3IgZGlzYXBwZWFyIGZyb20gYSB3aW5kb3cuDQoNCkFuZCBvYnZpb3Vz bHksIGVhY2ggbW9kZSBzaG91bGQgZGVjaWRlIHdoYXQgdG8gZG8gaW4gYSB3aW5kb3cgdGhh dCBpcw0Kbm90IHdpZGUgZW5vdWdoIHRvIHNob3cgdGhlIG1hcmdpbnMuDQoNCm1hcnRpbg0K
bug-gnu-emacs@HIDDEN:bug#79640; Package emacs.
Full text available.Received: (at 79640) by debbugs.gnu.org; 16 Oct 2025 18:33:54 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Thu Oct 16 14:33:54 2025 Received: from localhost ([127.0.0.1]:38038 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1v9SnM-0001Qx-Ba for submit <at> debbugs.gnu.org; Thu, 16 Oct 2025 14:33:54 -0400 Received: from mout.gmx.net ([212.227.17.22]:53193) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from <rudalics@HIDDEN>) id 1v9SnF-0001QY-TJ for 79640 <at> debbugs.gnu.org; Thu, 16 Oct 2025 14:33:43 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmx.at; s=s31663417; t=1760639604; x=1761244404; i=rudalics@HIDDEN; bh=WZaLWzA5mwxt6ol194IepZNYg1aVEnHHhQ6uqurjWPE=; h=X-UI-Sender-Class:Message-ID:Date:MIME-Version:Subject:To:Cc: References:From:In-Reply-To:Content-Type: Content-Transfer-Encoding:cc:content-transfer-encoding: content-type:date:from:message-id:mime-version:reply-to:subject: to; b=IqQ9FW1M8jWXPfA7hNznmY+vBTJZgoub0jExlYMnorb36qhwSS8UgdzazEZTQrT+ e8gG5GklJueCwhZevtA3EoFcf/Ucr9oeYYYaDCxrSlp2IVd6sUZmru4Y/Lm3MVq0Y mGg9SMCB0Dwf/TftN46qWcAAUvcJGFFt+2eNiI0nNtpGIaeuhu0yBh/fl7ZhjqXNl jJmIacH7K8bngJe2vHOa/P9GH6Nf2MlcKKSKdDOfWF8lAd8GX4iVf5ZSSP/F8g/rs Hc5/TOKkhO9C5nAOOXtARCkVFXnVnZN3h9OJ6FbPGTs0OUxD8W1pAUeK91JFupPcQ mB8Rs3r74qSTpWdKTg== X-UI-Sender-Class: 724b4f7f-cbec-4199-ad4e-598c01a50d3a Received: from [192.168.31.113] ([213.162.85.159]) by mail.gmx.net (mrgmx105 [212.227.17.168]) with ESMTPSA (Nemesis) id 1N5mGB-1u85UN05al-0182Qk; Thu, 16 Oct 2025 20:33:24 +0200 Message-ID: <3acce825-fa90-4f3d-98f7-e893980c0297@HIDDEN> Date: Thu, 16 Oct 2025 20:33:23 +0200 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: bug#79640: Buffer-local window-buffer-change-functions To: Juri Linkov <juri@HIDDEN>, 79640 <at> debbugs.gnu.org References: <87ecr2n9ev.fsf@HIDDEN> Content-Language: en-US From: martin rudalics <rudalics@HIDDEN> In-Reply-To: <87ecr2n9ev.fsf@HIDDEN> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Provags-ID: V03:K1:Rgdl5nTqg7hkEKhRnTTlhOxBRdabEIFm5tRWl5/8txWmAEhMCH/ 4safqCa6+taGwj0dYoEER0En6F98+FWz2hO/AiocJtHNwE3x+i5B0j9itJe7raLSuTE+Y90 Mk/M7LgC0x//8PUCs/dawn/OEqsDERz6C0KuvTasNCTDS3bZDmSb7veoBtSeDRHDltgV7J3 4+PjuETvkmh6gP/dFX+Og== X-Spam-Flag: NO UI-OutboundReport: notjunk:1;M01:P0:LE2Ni8FnZ1A=;1PZS+xOBAgjE9EMx6l2wMoc+1jO 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 X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 79640 Cc: Stefan Monnier <monnier@HIDDEN> X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.7 (-) > Martin, do you think we need to add a warning to the documentation of > 'window-buffer-change-functions' that for the case when a buffer > is removed from the window, then the buffer-local hook should use > something like this to detect the case that the buffer > with the buffer-local hook is displayed: > > (eq (window-buffer w) (current-buffer)) Maybe: The local version of 'window-buffer-change-functions' may be now called twice - once for the removed buffer and once for the buffer that is now displayed there. In the former case you probably want to check (eq (window-old-buffer w) (current-buffer)) and in the latter what you wrote above. I'll try to explain that. martin
bug-gnu-emacs@HIDDEN:bug#79640; Package emacs.
Full text available.Received: (at submit) by debbugs.gnu.org; 16 Oct 2025 15:47:22 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Thu Oct 16 11:47:22 2025 Received: from localhost ([127.0.0.1]:36699 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1v9QCI-0001SY-1K for submit <at> debbugs.gnu.org; Thu, 16 Oct 2025 11:47:22 -0400 Received: from lists.gnu.org ([2001:470:142::17]:50874) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from <juri@HIDDEN>) id 1v9QBj-0001PF-GN for submit <at> debbugs.gnu.org; Thu, 16 Oct 2025 11:46:48 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from <juri@HIDDEN>) id 1v9QBd-0003GJ-JY for bug-gnu-emacs@HIDDEN; Thu, 16 Oct 2025 11:46:41 -0400 Received: from mout-p-101.mailbox.org ([2001:67c:2050:0:465::101]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_CHACHA20_POLY1305:256) (Exim 4.90_1) (envelope-from <juri@HIDDEN>) id 1v9QBM-0007Qd-7m for bug-gnu-emacs@HIDDEN; Thu, 16 Oct 2025 11:46:38 -0400 Received: from smtp102.mailbox.org (smtp102.mailbox.org [IPv6:2001:67c:2050:b231:465::102]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by mout-p-101.mailbox.org (Postfix) with ESMTPS id 4cnXP56HhXz9tLJ for <bug-gnu-emacs@HIDDEN>; Thu, 16 Oct 2025 17:46:17 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linkov.net; s=MBO0001; t=1760629577; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type; bh=/TT+QeTAKxJcFDzgiahNI7Rf2ZPBP3G3nYZ2xUfIbxg=; b=2CPvNTI3zylcyveukqyRSVG8L54GNNp5Z0ZFUg5Bq8Jomr5K27yLH9XhV9lCeHtUR9aVHf CRmbIJAcENvJkAaNi9loaxKYupT+H90alMR+sYqBUjlFQxWuQ9ZU+qS7FnRiM0BPyO4feb 33hvQi2QywGoJ+rpaUPGKpyNGuWRHBGVRdBaVfZ4prPW0Af4RHbestOLsF4EdtpmdBtmKK kGKh77C3Ewoc8yOKOWBfR4HxZNCrfUFOiwBsNYM0RDM0fQTgf8R8grm2Q1v38SAKcgDL1b vbCCMCXTaVrqe1IZ1caiRyp2uc91g2M9oVshFCcAYizqkht3s1GIr9Ckuy1l8g== Authentication-Results: outgoing_mbo_mout; dkim=none; spf=pass (outgoing_mbo_mout: domain of juri@HIDDEN designates 2001:67c:2050:b231:465::102 as permitted sender) smtp.mailfrom=juri@HIDDEN From: Juri Linkov <juri@HIDDEN> To: bug-gnu-emacs@HIDDEN Subject: Buffer-local window-buffer-change-functions Organization: LINKOV.NET X-Debbugs-Cc: martin rudalics <rudalics@HIDDEN>, Stefan Monnier <monnier@HIDDEN> Date: Thu, 16 Oct 2025 18:45:04 +0300 Message-ID: <87ecr2n9ev.fsf@HIDDEN> MIME-Version: 1.0 Content-Type: text/plain X-Rspamd-Queue-Id: 4cnXP56HhXz9tLJ Received-SPF: pass client-ip=2001:67c:2050:0:465::101; envelope-from=juri@HIDDEN; helo=mout-p-101.mailbox.org X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_LOW=-0.7, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: 1.0 (+) X-Debbugs-Envelope-To: submit X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -0.0 (/) Martin, do you think we need to add a warning to the documentation of 'window-buffer-change-functions' that for the case when a buffer is removed from the window, then the buffer-local hook should use something like this to detect the case that the buffer with the buffer-local hook is displayed: (eq (window-buffer w) (current-buffer)) Below is a patch that fixes the bug in compilation-mode for such test case: 1. Disable fringes. 2. Set compilation-context-lines to t. 3. Visit a compilation error to resize the margin. 4. Visit another buffer. The margin is resized in an unrelated buffer that doesn't have a buffer-local hook. Here is the fix: diff --git a/lisp/progmodes/compile.el b/lisp/progmodes/compile.el index 8cfa793cfc6..01152328577 100644 --- a/lisp/progmodes/compile.el +++ b/lisp/progmodes/compile.el @@ -3062,7 +3062,8 @@ compilation--dummy-string (defun compilation--set-up-margin (w) "Setup the margin for \"=>\" in window W if it isn't already set up." - (set-window-margins w (+ (or (car (window-margins w)) 0) 2))) + (when (eq (window-buffer w) (current-buffer)) + (set-window-margins w (+ (or (car (window-margins w)) 0) 2)))) (defun compilation--tear-down-margin (w) "Remove the margin for \"=>\" if it is setup in window W."
Juri Linkov <juri@HIDDEN>:rudalics@HIDDEN, monnier@HIDDEN, bug-gnu-emacs@HIDDEN.
Full text available.rudalics@HIDDEN, monnier@HIDDEN, bug-gnu-emacs@HIDDEN:bug#79640; Package emacs.
Full text available.
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997 nCipher Corporation Ltd,
1994-97 Ian Jackson.