GNU bug report logs - #80076
New defvar ns-inhibit-secondary-change-frame-size

Previous Next

Package: emacs;

Reported by: Stéphane Marks <shipmints <at> gmail.com>

Date: Sat, 27 Dec 2025 18:22:02 UTC

Severity: normal

To reply to this bug, email your comments to 80076 AT debbugs.gnu.org.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to bug-gnu-emacs <at> gnu.org:
bug#80076; Package emacs. (Sat, 27 Dec 2025 18:22:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Stéphane Marks <shipmints <at> gmail.com>:
New bug report received and forwarded. Copy sent to bug-gnu-emacs <at> gnu.org. (Sat, 27 Dec 2025 18:22:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Stéphane Marks <shipmints <at> gmail.com>
To: bug-gnu-emacs <at> gnu.org
Cc: martin rudalics <rudalics <at> gmx.at>, Alan Third <alan <at> idiocy.org>,
 Andrii Kolomoiets <andreyk.mad <at> gmail.com>,
 Aaron Jensen <aaronjensen <at> gmail.com>
Subject: New defvar ns-inhibit-secondary-change-frame-size
Date: Sat, 27 Dec 2025 13:20:37 -0500
[Message part 1 (text/plain, inline)]
Martin and I want to inhibit the secondary calls to 'change_frame_size'
from 'ns_set_window_size' and 'ns_set_window_size_and_position' via the
variable 'ns-inhibit-secondary-change-frame-size' which defaults to t. Set
this variable to nil to return to the original behavior.

These calls originated in commit 24cb6908d70c14792c686679cb08091447b9c3b1
"Fix NS frame resizing issues" made April 16, 2020 by Alan Third. These
additional calls to 'change_frame_size' are commented with "Usually it
seems safe to delay changing the frame size, but when a series of actions
are taken with no redisplay between them then we can end up using old
values so don't delay here."

It is not clear to us that these calls are needed any longer, so we're
boldly inhibiting them with an easy way to restore them.

That commit refers to these bugs:

https://debbugs.gnu.org/cgi/bugreport.cgi?bug=28872 reported by Aaron Jensen

https://debbugs.gnu.org/cgi/bugreport.cgi?bug=40200 reported by Andrii
Kolomoiets

Both of whom are cc'd here along with Alan.

Patch incoming once a bug number is assigned.

-Stéphane
[Message part 2 (text/html, inline)]

Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#80076; Package emacs. (Sat, 27 Dec 2025 18:29:01 GMT) Full text and rfc822 format available.

Message #8 received at submit <at> debbugs.gnu.org (full text, mbox):

From: "Aaron Jensen" <aaronjensen <at> gmail.com>
To: Stéphane Marks <shipmints <at> gmail.com>
Cc: martin rudalics <rudalics <at> gmx.at>, bug-gnu-emacs <at> gnu.org, Alan
 Third <alan <at> idiocy.org>, Andrii Kolomoiets <andreyk.mad <at> gmail.com>
Subject: Re: New defvar ns-inhibit-secondary-change-frame-size
Date: Sat, 27 Dec 2025 18:28:31 +0000
[Message part 1 (text/plain, inline)]
I can try to reproduce the original macOS defect once the patch is in place.

What's the rationale for inhibiting secondary calls?

Aaron

On Sat, Dec 27, 2025 at 10:20 AM, Stéphane Marks < shipmints <at> gmail.com > wrote:

> 
> Martin and I want to inhibit the secondary calls to 'change_frame_size'
> from 'ns_set_window_size' and 'ns_set_window_size_and_position' via the
> variable 'ns-inhibit-secondary-change-frame-size' which defaults to t. Set
> this variable to nil to return to the original behavior.
> 
> These calls originated in commit 24cb6908d70c14792c686679cb08091447b9c3b1
> "Fix NS frame resizing issues" made April 16, 2020 by Alan Third. These
> additional calls to 'change_frame_size' are commented with "Usually it
> seems safe to delay changing the frame size, but when a series of actions
> are taken with no redisplay between them then we can end up using old
> values so don't delay here."
> 
> 
> It is not clear to us that these calls are needed any longer, so we're
> boldly inhibiting them with an easy way to restore them.
> 
> That commit refers to these bugs:
> 
> https:/ / debbugs. gnu. org/ cgi/ bugreport. cgi?bug=28872 (
> https://debbugs.gnu.org/cgi/bugreport.cgi?bug=28872 ) reported by Aaron
> Jensen
> 
> 
> https:/ / debbugs. gnu. org/ cgi/ bugreport. cgi?bug=40200 (
> https://debbugs.gnu.org/cgi/bugreport.cgi?bug=40200 ) reported by Andrii
> Kolomoiets
> 
> 
> Both of whom are cc'd here along with Alan.
> 
> 
> 
> Patch incoming once a bug number is assigned.
> 
> 
> -Stéphane
>
[Message part 2 (text/html, inline)]

Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#80076; Package emacs. (Sat, 27 Dec 2025 18:29:02 GMT) Full text and rfc822 format available.

Message #11 received at 80076 <at> debbugs.gnu.org (full text, mbox):

From: Stéphane Marks <shipmints <at> gmail.com>
To: 80076 <at> debbugs.gnu.org
Cc: martin rudalics <rudalics <at> gmx.at>, Alan Third <alan <at> idiocy.org>,
 Aaron Jensen <aaronjensen <at> gmail.com>,
 Andrii Kolomoiets <andreyk.mad <at> gmail.com>
Subject: Re: bug#80076: New defvar ns-inhibit-secondary-change-frame-size
Date: Sat, 27 Dec 2025 13:28:07 -0500
[Message part 1 (text/plain, inline)]
On Sat, Dec 27, 2025 at 1:22 PM Stéphane Marks <shipmints <at> gmail.com> wrote:

> Martin and I want to inhibit the secondary calls to 'change_frame_size'
> from 'ns_set_window_size' and 'ns_set_window_size_and_position' via the
> variable 'ns-inhibit-secondary-change-frame-size' which defaults to t. Set
> this variable to nil to return to the original behavior.
>
> These calls originated in commit 24cb6908d70c14792c686679cb08091447b9c3b1
> "Fix NS frame resizing issues" made April 16, 2020 by Alan Third. These
> additional calls to 'change_frame_size' are commented with "Usually it
> seems safe to delay changing the frame size, but when a series of actions
> are taken with no redisplay between them then we can end up using old
> values so don't delay here."
>
> It is not clear to us that these calls are needed any longer, so we're
> boldly inhibiting them with an easy way to restore them.
>
> That commit refers to these bugs:
>
> https://debbugs.gnu.org/cgi/bugreport.cgi?bug=28872 reported by Aaron
> Jensen
>
> https://debbugs.gnu.org/cgi/bugreport.cgi?bug=40200 reported by Andrii
> Kolomoiets
>
> Both of whom are cc'd here along with Alan.
>
> Patch incoming once a bug number is assigned.
>

+patch
[Message part 2 (text/html, inline)]
[0001-Add-defvar-ns-inhibit-secondary-change-frame-size-bu.patch (application/octet-stream, attachment)]

Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#80076; Package emacs. (Sat, 27 Dec 2025 18:59:02 GMT) Full text and rfc822 format available.

Message #14 received at 80076 <at> debbugs.gnu.org (full text, mbox):

From: "Aaron Jensen" <aaronjensen <at> gmail.com>
To: Stéphane Marks <shipmints <at> gmail.com>
Cc: martin rudalics <rudalics <at> gmx.at>, Alan
 Third <alan <at> idiocy.org>, 80076 <at> debbugs.gnu.org,
 Andrii Kolomoiets <andreyk.mad <at> gmail.com>
Subject: Re: bug#80076: New defvar ns-inhibit-secondary-change-frame-size
Date: Sat, 27 Dec 2025 18:58:05 +0000
[Message part 1 (text/plain, inline)]
I can't reproduce either issue with the patch and ns-inhibit-secondary-change-frame-size set to t.

Aaron

On Sat, Dec 27, 2025 at 10:28 AM, Stéphane Marks < shipmints <at> gmail.com > wrote:

> 
> On Sat, Dec 27, 2025 at 1:22 PM Stéphane Marks < shipmints@ gmail. com (
> shipmints <at> gmail.com ) > wrote:
> 
>> Martin and I want to inhibit the secondary calls to 'change_frame_size'
>> from 'ns_set_window_size' and 'ns_set_window_size_and_position' via the
>> variable 'ns-inhibit-secondary-change-frame-size' which defaults to t. Set
>> this variable to nil to return to the original behavior.
>> 
>> These calls originated in commit 24cb6908d70c14792c686679cb08091447b9c3b1
>> "Fix NS frame resizing issues" made April 16, 2020 by Alan Third. These
>> additional calls to 'change_frame_size' are commented with "Usually it
>> seems safe to delay changing the frame size, but when a series of actions
>> are taken with no redisplay between them then we can end up using old
>> values so don't delay here."
>> 
>> 
>> It is not clear to us that these calls are needed any longer, so we're
>> boldly inhibiting them with an easy way to restore them.
>> 
>> That commit refers to these bugs:
>> 
>> https:/ / debbugs. gnu. org/ cgi/ bugreport. cgi?bug=28872 (
>> https://debbugs.gnu.org/cgi/bugreport.cgi?bug=28872 ) reported by Aaron
>> Jensen
>> 
>> 
>> https:/ / debbugs. gnu. org/ cgi/ bugreport. cgi?bug=40200 (
>> https://debbugs.gnu.org/cgi/bugreport.cgi?bug=40200 ) reported by Andrii
>> Kolomoiets
>> 
>> 
>> Both of whom are cc'd here along with Alan.
>> 
>> 
>> 
>> Patch incoming once a bug number is assigned.
>> 
>> 
> 
> 
> 
> +patch
>
[Message part 2 (text/html, inline)]

Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#80076; Package emacs. (Sat, 27 Dec 2025 19:05:02 GMT) Full text and rfc822 format available.

Message #17 received at 80076 <at> debbugs.gnu.org (full text, mbox):

From: Stéphane Marks <shipmints <at> gmail.com>
To: Aaron Jensen <aaronjensen <at> gmail.com>
Cc: rudalics <at> gmx.at, alan <at> idiocy.org, 80076 <at> debbugs.gnu.org,
 andreyk.mad <at> gmail.com
Subject: Re: bug#80076: New defvar ns-inhibit-secondary-change-frame-size
Date: Sat, 27 Dec 2025 14:04:20 -0500
[Message part 1 (text/plain, inline)]
On Sat, Dec 27, 2025 at 1:29 PM Aaron Jensen <aaronjensen <at> gmail.com> wrote:

> I can try to reproduce the original macOS defect once the patch is in
> place.
>
> What's the rationale for inhibiting secondary calls?
>

The mystery around them.  It's like an urban legend.
[Message part 2 (text/html, inline)]

Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#80076; Package emacs. (Sat, 27 Dec 2025 19:07:02 GMT) Full text and rfc822 format available.

Message #20 received at 80076 <at> debbugs.gnu.org (full text, mbox):

From: Stéphane Marks <shipmints <at> gmail.com>
To: Aaron Jensen <aaronjensen <at> gmail.com>
Cc: martin rudalics <rudalics <at> gmx.at>, Alan Third <alan <at> idiocy.org>,
 80076 <at> debbugs.gnu.org, Andrii Kolomoiets <andreyk.mad <at> gmail.com>
Subject: Re: bug#80076: New defvar ns-inhibit-secondary-change-frame-size
Date: Sat, 27 Dec 2025 14:06:04 -0500
[Message part 1 (text/plain, inline)]
On Sat, Dec 27, 2025 at 1:58 PM Aaron Jensen <aaronjensen <at> gmail.com> wrote:

> I can't reproduce either issue with the patch and ns-inhibit-secondary-change-frame-size
> set to t.
>

Good news.  Thank you for testing.  We'll keep our eyes open and
fingers crossed.  Someone just reported an issue with ns-auto-hide-menu-bar
and frame resizing so there's that which might be unrelated.

If you have macOS development experience the issue seems to be:

2025-12-27 13:44:43.684510-0500 emacs[47797:223183366] It's not legal to
call -layoutSubtreeIfNeeded on a view which is already being laid out.  If
you are implementing the view's -layout method, you can call -[super
layout] instead. Break on void _NSDetectedLayoutRecursion(void) to debug.
This will be logged only once.  This may break in the future.
[Message part 2 (text/html, inline)]

This bug report was last modified today.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.