GNU logs - #80032, boring messages


Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#80032: 31.0.50; [Internals] tty frame visibility
Resent-From: Gerd =?UTF-8?Q?M=C3=B6llmann?= <gerd.moellmann@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Fri, 19 Dec 2025 06:10:02 +0000
Resent-Message-ID: <handler.80032.B.17661245954357 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: report 80032
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: 
To: 80032 <at> debbugs.gnu.org
Cc: Martin Rudalics <rudalics@HIDDEN>
X-Debbugs-Original-To: bug-gnu-emacs@HIDDEN
Received: via spool by submit <at> debbugs.gnu.org id=B.17661245954357
          (code B ref -1); Fri, 19 Dec 2025 06:10:02 +0000
Received: (at submit) by debbugs.gnu.org; 19 Dec 2025 06:09:55 +0000
Received: from localhost ([127.0.0.1]:33748 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1vWTgW-00018A-Ik
	for submit <at> debbugs.gnu.org; Fri, 19 Dec 2025 01:09:55 -0500
Received: from lists.gnu.org ([2001:470:142::17]:51276)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.84_2) (envelope-from <gerd.moellmann@HIDDEN>)
 id 1vWTgU-00017t-5R
 for submit <at> debbugs.gnu.org; Fri, 19 Dec 2025 01:09:50 -0500
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 <gerd.moellmann@HIDDEN>)
 id 1vWTgO-0001yo-Ry
 for bug-gnu-emacs@HIDDEN; Fri, 19 Dec 2025 01:09:44 -0500
Received: from mail-wr1-x436.google.com ([2a00:1450:4864:20::436])
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)
 (Exim 4.90_1) (envelope-from <gerd.moellmann@HIDDEN>)
 id 1vWTgN-0005k4-Ed
 for bug-gnu-emacs@HIDDEN; Fri, 19 Dec 2025 01:09:44 -0500
Received: by mail-wr1-x436.google.com with SMTP id
 ffacd0b85a97d-431048c4068so770658f8f.1
 for <bug-gnu-emacs@HIDDEN>; Thu, 18 Dec 2025 22:09:43 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20230601; t=1766124582; x=1766729382; darn=gnu.org;
 h=mime-version:message-id:date:subject:cc:to:from:from:to:cc:subject
 :date:message-id:reply-to;
 bh=PeR7OINNSqvGypAFYpeN3IV0b0/t6immMP4V0QLt9Lg=;
 b=hRUf3Pu2dsboZnqP6SoSp8Y8yjRkIYCW/eYYmdX3MUtdwib3CNl30Zy49LraCzdfh1
 4ym8NYXCh7jOQ51CHpxzAi7ekVMDJFb6L3TfiPLFdL36Fb4zxyUMdsKAfQRLPzW5KU18
 xnAZBjp3AB1b2pEiDs+b3Wm39sQ8P+y04NwCmMRQmUH8CafuWDKZOmUMfzpzVX7b/Ocy
 iSlPdU34SEUJyOpDh/77Tz19EHkIna3q+gETm6PgETsQlIea9gPf6iibcAHaPw7OmOoy
 mz89vf2sDe0TEIcTKCaZgn6lAurzEfTjO8M66NOSfe3N3cP/xVYJUBXD2AhG7LJaDEUf
 nscQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20230601; t=1766124582; x=1766729382;
 h=mime-version:message-id:date:subject:cc:to:from:x-gm-gg
 :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
 bh=PeR7OINNSqvGypAFYpeN3IV0b0/t6immMP4V0QLt9Lg=;
 b=qxvv2GT+USNTU2siw3+wGGqhOgfQxpiXGrYBWIa9oTEpnV5bvDY40kuxGHZsCH3nml
 HmkyArrIRmd/JG1rS4J2F6fzwQPM8yGBYx5LWagtVrafao/qvk9VT6WOGKXMTtquFO3g
 BdDbq05B9uvQLU8Ax+Ud6+OIc41DmQfvLK7TWRTBOeX46WRej2P1jsRiJ9MjmJ8D8aJF
 WdPqM/bNnjPNZ5HjXzTHudI38srcFt379x56YHnn1dSgwh1IRII3GfCNj1x/VC6kQZID
 bWgvk9IF8I9aAhgImth+swyBkGIk+SGrkMMybJADmsKROyEyjDlIhmF4tsjUdEiCHkvM
 2f7Q==
X-Gm-Message-State: AOJu0YzIVME0chaxze1eZ4w+d98PONZtuf9HjeF+Lg3CST2LHjlRM3gY
 AalzsQwIZDdb1HKI0XH4h2rKuUEJG6cwFxlrc6AeypdG2KeRBZ5BBJEbnhtjzvD1
X-Gm-Gg: AY/fxX4aGDqID73LCZ1apsRgIPnLRyk2mbtAwbX+NGievI1lEswdhpewwcUxgtwgmz5
 4nAWLAZuH/levf/v7ZUb6XV4MwnJnKe+nrHOiMUn7llr6Dz8m/w1OTmGq5LCMQWBDRqRwz1HKXQ
 eLxz/rARyqxFEin85KLuW/VVxdxLznZ3WyD4RUQDvUt6Z4kpyEqQQlC50X/Vwaca29rAMumBizM
 1XB2hnsV+lx/usFc/AKEiD0Ezol05rUKF1WCyViOdv2LLgkhtvq0puAIyChrySARR8txD2J8LsC
 55LOxUE9nc0yG7KUIg6IYBa08qdm2y3PJrUOXYkBhEoiYKV0//Y/tyty+L90jnOdOyDQYHBRGMf
 eBtS7sOCzRs/BgfGFF1CkDJwJ+zuLEn7GinS3hwnYm2OgXrzSsMnRms59Qpt4SxazhzZvYe2dgu
 LQhOZJsnpeIyVBoTKnGbdXDmnm6C+IKXSjgYd5Di7EJ8mbgnGRjMBBfLhpBeFbBhU26C4KgUdWW
 FLzRaI84uAKAWuNPs3ARiM=
X-Google-Smtp-Source: AGHT+IFr73NQR6pywaLZThj8Tp4G/suApzRhIdJUMHAUqO4qaybcvIsYLoGGrldBlGf5BIzsBcxulg==
X-Received: by 2002:a5d:64c7:0:b0:430:fcbc:dc51 with SMTP id
 ffacd0b85a97d-4324e417249mr1759119f8f.14.1766124581658; 
 Thu, 18 Dec 2025 22:09:41 -0800 (PST)
Received: from pro4 (p200300e0b709af00d025addc53273618.dip0.t-ipconnect.de.
 [2003:e0:b709:af00:d025:addc:5327:3618])
 by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-4324eab2ebfsm2965405f8f.40.2025.12.18.22.09.40
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 18 Dec 2025 22:09:41 -0800 (PST)
From: Gerd =?UTF-8?Q?M=C3=B6llmann?= <gerd.moellmann@HIDDEN>
Date: Fri, 19 Dec 2025 07:09:39 +0100
Message-ID: <m2sed7t330.fsf@HIDDEN>
MIME-Version: 1.0
Content-Type: text/plain
Received-SPF: pass client-ip=2a00:1450:4864:20::436;
 envelope-from=gerd.moellmann@HIDDEN; helo=mail-wr1-x436.google.com
X-Spam_score_int: -20
X-Spam_score: -2.1
X-Spam_bar: --
X-Spam_report: (-2.1 / 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, FREEMAIL_FROM=0.001,
 RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001,
 SPF_PASS=-0.001 autolearn=ham autolearn_force=no
X-Spam_action: no action
X-Spam-Score: 1.0 (+)
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 (/)

This is about unifying tty and GUI frame handling in Emacs internals, as
far as that is possible. Especially the handling of root frames on ttys
is currently very different, their notion of visibility, their handling
in do_switch_frame etc.

The following is a description of what I would do, as far as that is
clear to me, to get a discussion going.

My plan would be to simplify the handling of tty root frames so that the
visibility of a root frame on a terminal is identical to being the top
frame of a terminal. This is currently not the case. A root frame on a
terminal can be visible but not displayed because it's not the top frame
of the terminal.

I think this could be tackled in these steps:

1. Remove top_frame member and replace it with a function top_frame
   which finds a terminal's top frame by searching for its one visible
   root frame in the list of frames. This is a recommendation of the
   department of removing redundancies department. I don't think it's
   performance critical, and it removes the need to sync visibility
   and top-fraen info. This is basically the gist of it.

2. do_switch_frame must not change visibility of tty frames because
   that's not its business on GUIs either. (This came in in 2003 with a
   multi-tty commit, for unknown reasons.)

3. do_switch_frame also sets frames garbaged, as a consequence of
   changing the visibility of tty root frames. This is a thing for
   redisplay. That must be done where the visiblity of root frames is
   changed.

4. The whole special handling of tty frames in do_switch_frame can
   thus go.

5. make-frame-visible does what's necessary for changing the
   visibility of tty root frames (check there's only one visible,
   garbaging frames for thorough redisplay, which is currently in
   do_swith_frame, ... others?)

6. Likewise for make-frame-invisible. What are the semantics?

7. frame_redisplay_p can now be simplified and is equivalent to
   frame_ancestors_visible_p on ttys.

...




Message sent:


Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-Mailer: MIME-tools 5.505 (Entity 5.505)
Content-Type: text/plain; charset=utf-8
X-Loop: help-debbugs@HIDDEN
From: help-debbugs@HIDDEN (GNU bug Tracking System)
To: Gerd =?UTF-8?Q?M=C3=B6llmann?= <gerd.moellmann@HIDDEN>
Subject: bug#80032: Acknowledgement (31.0.50; [Internals] tty frame
 visibility)
Message-ID: <handler.80032.B.17661245954357.ack <at> debbugs.gnu.org>
References: <m2sed7t330.fsf@HIDDEN>
X-Gnu-PR-Message: ack 80032
X-Gnu-PR-Package: emacs
Reply-To: 80032 <at> debbugs.gnu.org
Date: Fri, 19 Dec 2025 06:10:03 +0000

Thank you for filing a new bug report with debbugs.gnu.org.

This is an automatically generated reply to let you know your message
has been received.

Your message is being forwarded to the package maintainers and other
interested parties for their attention; they will reply in due course.

Your message has been sent to the package maintainer(s):
 bug-gnu-emacs@HIDDEN

If you wish to submit further information on this problem, please
send it to 80032 <at> debbugs.gnu.org.

Please do not send mail to help-debbugs@HIDDEN unless you wish
to report a problem with the Bug-tracking system.

--=20
80032: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=3D80032
GNU Bug Tracking System
Contact help-debbugs@HIDDEN with problems


Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#80032: 31.0.50; [Internals] tty frame visibility
Resent-From: martin rudalics <rudalics@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Fri, 19 Dec 2025 08:57:02 +0000
Resent-Message-ID: <handler.80032.B.176613458518207 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 80032
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: 
To: gerd.moellmann@HIDDEN, 80032 <at> debbugs.gnu.org
X-Debbugs-Original-To: Gerd =?UTF-8?Q?M=C3=B6llmann?= <gerd.moellmann@HIDDEN>, bug-gnu-emacs@HIDDEN
Received: via spool by submit <at> debbugs.gnu.org id=B.176613458518207
          (code B ref -1); Fri, 19 Dec 2025 08:57:02 +0000
Received: (at submit) by debbugs.gnu.org; 19 Dec 2025 08:56:25 +0000
Received: from localhost ([127.0.0.1]:35272 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1vWWHg-0004ja-U8
	for submit <at> debbugs.gnu.org; Fri, 19 Dec 2025 03:56:25 -0500
Received: from lists.gnu.org ([2001:470:142::17]:48622)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.84_2) (envelope-from <rudalics@HIDDEN>) id 1vWWHe-0004iz-ON
 for submit <at> debbugs.gnu.org; Fri, 19 Dec 2025 03:56:23 -0500
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 <rudalics@HIDDEN>) id 1vWWHW-0000u7-98
 for bug-gnu-emacs@HIDDEN; Fri, 19 Dec 2025 03:56:14 -0500
Received: from mout.gmx.net ([212.227.15.19])
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <rudalics@HIDDEN>) id 1vWWHT-0007n0-Rn
 for bug-gnu-emacs@HIDDEN; Fri, 19 Dec 2025 03:56:13 -0500
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmx.at;
 s=s31663417; t=1766134570; x=1766739370; i=rudalics@HIDDEN;
 bh=fzcHz/JeFJVbpqOUZZnFBSvP2oA+0HFv+227tlFBZmg=;
 h=X-UI-Sender-Class:Message-ID:Date:MIME-Version:Subject:To:
 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=Um5lHrXBlcU+wNI/KiKE2fRXpWmoASJ6GM25g+bvHcY75ASoM0D9o4SvTfV7HJW5
 qLJ+/igw4DLr2krFeDKq3lkOlKPiWZwZQYXJuElh+RiAetXJnIAZlaIaLtVVTLZTc
 81WrUa46WYTP12OEMkkAay5fEhnPIIu4rMr4v/axoI2cj8OXLQgwJfKB+FnYK6d+4
 PCXCegDES1GZmlmHUh50TpYtChGzIm0M6y5J8f9u7fb2oqtZ/fE0/1Bp4vqrE891u
 UeZOzL1Ly8ZD92DgVw1lHHUQJdJvfGRfkXcxhfkwANhLV5wWo0ld3CNo3/7pHZi6f
 OUd/DCbndROLZw9SKw==
X-UI-Sender-Class: 724b4f7f-cbec-4199-ad4e-598c01a50d3a
Received: from [192.168.31.113] ([46.124.134.126]) by mail.gmx.net (mrgmx005
 [212.227.17.190]) with ESMTPSA (Nemesis) id 1M3lY1-1vWn863FWV-007NYY; Fri, 19
 Dec 2025 09:56:09 +0100
Message-ID: <cb6eb3af-d985-40ec-a417-bbb17f1d8ac3@HIDDEN>
Date: Fri, 19 Dec 2025 09:56:08 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
References: <m2sed7t330.fsf@HIDDEN>
Content-Language: en-US
From: martin rudalics <rudalics@HIDDEN>
In-Reply-To: <m2sed7t330.fsf@HIDDEN>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-Provags-ID: V03:K1:+JbR5lO364zhbCXdW4Cjzn+jTUsXrWRejISxQ1Yczj8EZHXZtY4
 QQWOK4rjAUYRvjz7PdHn8S7d0unf4STD58cREkQCRZsKnncS8E0glR6D9G6w4afjvz2YwyL
 4YPxOGEIgDiwrLUtQ2lkMSS9GqMeLb0MOs7oyeBRwdqqvxUtRV5J73StZyIVMpTx4P3pmrN
 Mg2SzWTatfebJs/Lps7KA==
X-Spam-Flag: NO
UI-OutboundReport: notjunk:1;M01:P0:AUmV8pMcrXs=;04Xx9B7lyeysnH5fEnIzKEBTOf9
 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
 yc/p6Fy3r4F8VAIe0=
Received-SPF: pass client-ip=212.227.15.19; envelope-from=rudalics@HIDDEN;
 helo=mout.gmx.net
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, FREEMAIL_FROM=0.001,
 RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001,
 RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, RCVD_IN_VALIDITY_SAFE_BLOCKED=0.001,
 SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no
X-Spam_action: no action
X-Spam-Score: 0.0 (/)
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.0 (-)

 > My plan would be to simplify the handling of tty root frames so that the
 > visibility of a root frame on a terminal is identical to being the top
 > frame of a terminal. This is currently not the case. A root frame on a
 > terminal can be visible but not displayed because it's not the top frame
 > of the terminal.

If we say that on a tty there is always only one visible top/root frame,
'frame-visible-p' will return false for any other frame while on a GUI
such a frame may be considered visible.  This will create problems for
all functions that investigate the visibility property of frames - in
particular all functions calling candidate_frame in frame.c.  Then
'next-frame', 'previous-frame' or 'display-buffer-use-some-window' will
behave differently on ttys and GUIs.  We could try to handle this case
specially in candidate_frame but it's certainly not trivial.

 > 7. frame_redisplay_p can now be simplified and is equivalent to
 >     frame_ancestors_visible_p on ttys.

The frame_ancestors_visible_p thingy is mainly to make child frames
behave in a similar way on GUIs and ttys.  GUIs usually suppress the
display of a child frame when one of its ancestors is invisible.  On a
tty that would not hinder us to display the child frame (we might have
difficulties finding its correct position though).

I think we'd have to investigate 'raise-frame' (tty_raise_lower_frame)
and 'select-frame-set-input-focus' - a focus_frame_hook will be needed
for ttys.  Only these two should be allowed to pro-actively change the
top frame (to the root frame of a child frame when the child frame
should be raised and/or get focus) and no one else should be allowed to
do that.  Implicitly, the top frame will also change when the old top
frame is deleted, made invisible and (probably) lowered.

martin




Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#80032: 31.0.50; [Internals] tty frame visibility
Resent-From: Gerd =?UTF-8?Q?M=C3=B6llmann?= <gerd.moellmann@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Fri, 19 Dec 2025 09:37:01 +0000
Resent-Message-ID: <handler.80032.B.176613699232610 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 80032
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: 
To: martin rudalics <rudalics@HIDDEN>
Cc: 80032 <at> debbugs.gnu.org
X-Debbugs-Original-Cc: bug-gnu-emacs@HIDDEN
Received: via spool by submit <at> debbugs.gnu.org id=B.176613699232610
          (code B ref -1); Fri, 19 Dec 2025 09:37:01 +0000
Received: (at submit) by debbugs.gnu.org; 19 Dec 2025 09:36:32 +0000
Received: from localhost ([127.0.0.1]:35745 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1vWWuV-0008Tr-OT
	for submit <at> debbugs.gnu.org; Fri, 19 Dec 2025 04:36:32 -0500
Received: from lists.gnu.org ([2001:470:142::17]:42872)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.84_2) (envelope-from <gerd.moellmann@HIDDEN>)
 id 1vWWuS-0008T7-Vm
 for submit <at> debbugs.gnu.org; Fri, 19 Dec 2025 04:36:29 -0500
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 <gerd.moellmann@HIDDEN>)
 id 1vWWuK-0002Q5-2D
 for bug-gnu-emacs@HIDDEN; Fri, 19 Dec 2025 04:36:21 -0500
Received: from mail-ed1-x52f.google.com ([2a00:1450:4864:20::52f])
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)
 (Exim 4.90_1) (envelope-from <gerd.moellmann@HIDDEN>)
 id 1vWWuH-00020F-3z
 for bug-gnu-emacs@HIDDEN; Fri, 19 Dec 2025 04:36:18 -0500
Received: by mail-ed1-x52f.google.com with SMTP id
 4fb4d7f45d1cf-64ba1a1ea06so213384a12.2
 for <bug-gnu-emacs@HIDDEN>; Fri, 19 Dec 2025 01:36:12 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20230601; t=1766136970; x=1766741770; darn=gnu.org;
 h=mime-version:user-agent:message-id:date:references:in-reply-to
 :subject:cc:to:from:from:to:cc:subject:date:message-id:reply-to;
 bh=90t6yr1Bf1HUCKGgsY0LCT8kf8YEWKrcENS5oAbJzSA=;
 b=LJ2UDvfJaUQB4i6q2UMm5s1U2f5sRAHq0zrBRug/VLNeeiB2UPN8095WTtVzpFvVc4
 jHkDMw/R3MnhZUfGl9XHE1G0XwS/sSJEQBHn7rRiTzlib4+5yQfR6D/mk88c++op8ha+
 /eTQqwByolBva3T4M9Hdv1lUHt6g9q9h+yBmQb+FFKHMwlGwMQTMWqxVR7xLjv6SJmXh
 sNAnRN2kztbrKxe811HKPULqBIv4i4x9yEfMDgQMJr3KNOoTRiXLuWVBlekM9PkzaUTP
 cDV6S3U9dH6zlZW10rNABUHmlrMnTgUQH8TEWx/pSGBNGfth52N93A7CgG2FM6wlDaqF
 LTdA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20230601; t=1766136970; x=1766741770;
 h=mime-version:user-agent:message-id:date:references:in-reply-to
 :subject:cc:to:from:x-gm-gg:x-gm-message-state:from:to:cc:subject
 :date:message-id:reply-to;
 bh=90t6yr1Bf1HUCKGgsY0LCT8kf8YEWKrcENS5oAbJzSA=;
 b=Mb7AfbN6Ngr+5zOB/qUgWoBd89UMKB0sBLy74bcoMaYhC6PV3hlQwdB4wugZwKRQhc
 mMNdDG/Z/guatyMVYNEpzXP+tNdAK2TF4ma9qL6q0G2qDPM7GhWx3Ktg8eEQsRG85VdL
 BCaj6V+Lt7RMy06taGNRy3lCk+ma5mq7XlD9e+56I/DP3lfxLrvuMz3ZcMXZDlA2Urbl
 kAa/syvUzm4dVTbNEyDJZQK7ctkB/3QyS2XD+fJbXXRU06zQgWPntsiKbb3/rjruxYD9
 PiYK2y9dK2SsPbY3cmI1TS60XyQD01K/6md/Ils1n4hpOW1ek4UY6/L8HdIUyHTIVsGl
 HMbQ==
X-Gm-Message-State: AOJu0YxdyI2JHThYpngrpFRYv9xrOkNcpeuyymZmLqMvSdzkU1iRhUGU
 fEoWlyRF64ZnoXqgtkL6bq1jF55qKHc3MW6i0loWMyp/K8wOE8nehMAnYktnj6/V
X-Gm-Gg: AY/fxX65cGYsrKBJvbcTLSdIGueW+zU6fizjelC/DxwBTSjl9PRgvghYH+q0hcArm41
 JjmZjKvz+JLzCJ6c/2blyO8bsdJrn7MX0DQ0TDkD1om1N1sstD01sJ3BxmMugq7AHT+5fU3W729
 uOxoy2sARduY1TjjIqnrX2WofeRsX1bDYNCAPQLxNnrFF6avLuyFNYwa7PobAn5FV12JxVFakSf
 FiuWZr0/OmRxjFroiOOd6hfBsGaxflo+nB/fo5wdBZSyVv+VrM0abtxSYvFqRfn7NZHIcQIg/qX
 dDW21Gj2CC9HsN5vzih9zdZVrzGM34j99O9KKNA8x73pooK2anxZ0tlk91XGQFlSlC1LFuWWQP8
 tdsbzprJ8x8/9R7nQA9p2QWS6wsKUXhQ54TwHQdarFnjI7G9jw8iwuNa5mV9QU2QfuSI7dVq2SS
 X7/txk7GYdRzfDO6BgVtCTxQYbra5usF0MLGwHkpSFMn9bl5yX8DMtxn/Rs3FjYh9J33IWs/Jg6
 ETtN0+pFkkSzJGpRoUpFjg=
X-Google-Smtp-Source: AGHT+IFRq4/53kQT09ljy55AVPwBR6pS7Y+EhCptDGYijy7RRT7xJt76363TyZo8QqQRwfMwXa6FzQ==
X-Received: by 2002:a17:907:7ea2:b0:b76:f090:777b with SMTP id
 a640c23a62f3a-b8036f13dfbmr211119066b.22.1766136969691; 
 Fri, 19 Dec 2025 01:36:09 -0800 (PST)
Received: from pro4 (p200300e0b709af00d025addc53273618.dip0.t-ipconnect.de.
 [2003:e0:b709:af00:d025:addc:5327:3618])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-b8037a5c4dfsm186145266b.14.2025.12.19.01.36.08
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 19 Dec 2025 01:36:09 -0800 (PST)
From: Gerd =?UTF-8?Q?M=C3=B6llmann?= <gerd.moellmann@HIDDEN>
In-Reply-To: <cb6eb3af-d985-40ec-a417-bbb17f1d8ac3@HIDDEN>
References: <m2sed7t330.fsf@HIDDEN>
 <cb6eb3af-d985-40ec-a417-bbb17f1d8ac3@HIDDEN>
Date: Fri, 19 Dec 2025 10:36:08 +0100
Message-ID: <m2o6nuu83b.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain
Received-SPF: pass client-ip=2a00:1450:4864:20::52f;
 envelope-from=gerd.moellmann@HIDDEN; helo=mail-ed1-x52f.google.com
X-Spam_score_int: -20
X-Spam_score: -2.1
X-Spam_bar: --
X-Spam_report: (-2.1 / 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, FREEMAIL_FROM=0.001,
 RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001,
 SPF_PASS=-0.001 autolearn=ham autolearn_force=no
X-Spam_action: no action
X-Spam-Score: 1.0 (+)
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 rudalics <rudalics@HIDDEN> writes:

>> My plan would be to simplify the handling of tty root frames so that the
>> visibility of a root frame on a terminal is identical to being the top
>> frame of a terminal. This is currently not the case. A root frame on a
>> terminal can be visible but not displayed because it's not the top frame
>> of the terminal.
>
> If we say that on a tty there is always only one visible top/root frame,
> 'frame-visible-p' will return false for any other frame while on a GUI
> such a frame may be considered visible.  This will create problems for
> all functions that investigate the visibility property of frames - in
> particular all functions calling candidate_frame in frame.c.  Then
> 'next-frame', 'previous-frame' or 'display-buffer-use-some-window' will
> behave differently on ttys and GUIs.  We could try to handle this case
> specially in candidate_frame but it's certainly not trivial.

Thanks for the pointer to candidate_frame. Do you think it would suffice
to change the FRAME_VISIBLE_P in candidate_frame to, in the tty case

  FRAME_VISIBLE_P (f) || is_tty_root_frame (f)

?

(BTW, multi-tty ignorant here, why is it checking the kboard here? 

  if ((!FRAME_TERMCAP_P (c) && !FRAME_TERMCAP_P (f)
       && FRAME_KBOARD (c) == FRAME_KBOARD (f))
      || (FRAME_TERMCAP_P (c) && FRAME_TERMCAP_P (f)
	  && FRAME_TTY (c) == FRAME_TTY (f)))

Is that the focus thing?
)

What do you think of the general idea? I have the feeling that it would
make things easier to understand, but maybe that's just me. And it's the
only idea I have at the moment, how to remove the tty stuff from
do_switch_frame, and have a chance of getting this to work again. But
please tell me what you think.

>
>> 7. frame_redisplay_p can now be simplified and is equivalent to
>>     frame_ancestors_visible_p on ttys.
>
> The frame_ancestors_visible_p thingy is mainly to make child frames
> behave in a similar way on GUIs and ttys.  GUIs usually suppress the
> display of a child frame when one of its ancestors is invisible.  On a
> tty that would not hinder us to display the child frame (we might have
> difficulties finding its correct position though).

Yeah, we can do whatever we want in combine_updates_for_frame. What's
currently there is what macOS does, on the same level, after producing
glyphs. Frame_redisplay_p basically optimizes producing glyphs that the
combined update doesn't display anyway.

>
> I think we'd have to investigate 'raise-frame' (tty_raise_lower_frame)

I've looked at tty_raise_frame. That one does nothing for root frames,
so that should be okay, I think.

> and 'select-frame-set-input-focus' - a focus_frame_hook will be needed
> for ttys.  Only these two should be allowed to pro-actively change the
> top frame (to the root frame of a child frame when the child frame
> should be raised and/or get focus) and no one else should be allowed to
> do that.  Implicitly, the top frame will also change when the old top
> frame is deleted, made invisible and (probably) lowered.
>

amke-frame-invisible is the case that uses next_frame which uses
candiate_frame. So that would need the change in candiate_frame, with
could be the is_tty_root_frame above. Right?

With the focus on ttys, I'm currently completely lost, I'm afraid,
especially in the multi-tty case.


> martin




Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#80032: 31.0.50; [Internals] tty frame visibility
Resent-From: Eli Zaretskii <eliz@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Fri, 19 Dec 2025 11:47:02 +0000
Resent-Message-ID: <handler.80032.B80032.1766144791862 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 80032
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: 
To: martin rudalics <rudalics@HIDDEN>
Cc: gerd.moellmann@HIDDEN, 80032 <at> debbugs.gnu.org
Received: via spool by 80032-submit <at> debbugs.gnu.org id=B80032.1766144791862
          (code B ref 80032); Fri, 19 Dec 2025 11:47:02 +0000
Received: (at 80032) by debbugs.gnu.org; 19 Dec 2025 11:46:31 +0000
Received: from localhost ([127.0.0.1]:37052 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1vWYwI-0000Dk-LC
	for submit <at> debbugs.gnu.org; Fri, 19 Dec 2025 06:46:30 -0500
Received: from eggs.gnu.org ([2001:470:142:3::10]:47970)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.84_2) (envelope-from <eliz@HIDDEN>) id 1vWYwF-0000DV-QC
 for 80032 <at> debbugs.gnu.org; Fri, 19 Dec 2025 06:46:28 -0500
Received: from fencepost.gnu.org ([2001:470:142:3::e])
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <eliz@HIDDEN>)
 id 1vWYwA-0002eQ-0Z; Fri, 19 Dec 2025 06:46:22 -0500
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org;
 s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date:
 mime-version; bh=mFElHupOnP83oUWqCj7oSar+FjOYmWdU37lt33Lub20=; b=pdw8q1VmQNTw
 pPPMqpC7Ve3rsNLATWQLGdohBIF4jbmlJLj4135STycgunhxeUtpHeMgLEymJJJXXRfY/WlgnjlOI
 zXUsqqAoctIjzaM4r+3vSG3haVs5rCGbTY2nXb8LHVVvEqQTp+INqHyGUzcSSL5JGHxDculxOE7ca
 BPos0RNNXSIjelgW42YQIkKg87LStM+mgNChxb8pV5jbiDFZnmj9U07vf1FS15alehCks46uJGSjs
 lP6sntK1QhMN6yW2miClpOEXgtOq9DtiTMkaMlPvvZWsrBbzE4woPea9Qy3QPjaVsLuRYU/Ft8OUP
 GndoqZQOFcUcnsdfayCnVQ==;
Date: Fri, 19 Dec 2025 13:46:18 +0200
Message-Id: <86ms3e1yph.fsf@HIDDEN>
From: Eli Zaretskii <eliz@HIDDEN>
In-Reply-To: <cb6eb3af-d985-40ec-a417-bbb17f1d8ac3@HIDDEN>
 (bug-gnu-emacs@HIDDEN)
References: <m2sed7t330.fsf@HIDDEN>
 <cb6eb3af-d985-40ec-a417-bbb17f1d8ac3@HIDDEN>
X-Spam-Score: -2.3 (--)
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: -3.3 (---)

> Date: Fri, 19 Dec 2025 09:56:08 +0100
> From:  martin rudalics via "Bug reports for GNU Emacs,
>  the Swiss army knife of text editors" <bug-gnu-emacs@HIDDEN>
> 
>  > My plan would be to simplify the handling of tty root frames so that the
>  > visibility of a root frame on a terminal is identical to being the top
>  > frame of a terminal. This is currently not the case. A root frame on a
>  > terminal can be visible but not displayed because it's not the top frame
>  > of the terminal.
> 
> If we say that on a tty there is always only one visible top/root frame,
> 'frame-visible-p' will return false for any other frame while on a GUI
> such a frame may be considered visible.  This will create problems for
> all functions that investigate the visibility property of frames - in
> particular all functions calling candidate_frame in frame.c.  Then
> 'next-frame', 'previous-frame' or 'display-buffer-use-some-window' will
> behave differently on ttys and GUIs.  We could try to handle this case
> specially in candidate_frame but it's certainly not trivial.

Exactly.

IMNSHO, it is conceptually wrong to consider non-top TTY frames to be
"invisible".  They should be considered as "obscured by other frames",
perhaps, but not invisible.  The invisible attribute of a GUI frame
means something that TTY frames simply don't support, and it is
interpreted by various parts of Emacs, including redisplay, in a
certain fashion that will cause us trouble on TTY frames.

There be dragons.




Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#80032: 31.0.50; [Internals] tty frame visibility
Resent-From: Eli Zaretskii <eliz@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Fri, 19 Dec 2025 11:57:02 +0000
Resent-Message-ID: <handler.80032.B80032.17661453663199 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 80032
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: 
To: Gerd =?UTF-8?Q?M=C3=B6llmann?= <gerd.moellmann@HIDDEN>
Cc: rudalics@HIDDEN, 80032 <at> debbugs.gnu.org
Received: via spool by 80032-submit <at> debbugs.gnu.org id=B80032.17661453663199
          (code B ref 80032); Fri, 19 Dec 2025 11:57:02 +0000
Received: (at 80032) by debbugs.gnu.org; 19 Dec 2025 11:56:06 +0000
Received: from localhost ([127.0.0.1]:37152 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1vWZ5Z-0000pR-I1
	for submit <at> debbugs.gnu.org; Fri, 19 Dec 2025 06:56:06 -0500
Received: from eggs.gnu.org ([2001:470:142:3::10]:46506)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.84_2) (envelope-from <eliz@HIDDEN>) id 1vWZ5V-0000oA-J4
 for 80032 <at> debbugs.gnu.org; Fri, 19 Dec 2025 06:56:04 -0500
Received: from fencepost.gnu.org ([2001:470:142:3::e])
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <eliz@HIDDEN>)
 id 1vWZ5P-0004Ea-PE; Fri, 19 Dec 2025 06:55:55 -0500
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org;
 s=fencepost-gnu-org; h=MIME-version:References:Subject:In-Reply-To:To:From:
 Date; bh=PltC1gVfsn5rhKIG7VMxtANSBem4l3Z1kbFoAbq2W6A=; b=NonYKK6YdTMEjOIG+Gmz
 xCOvHPmmWEeQerUeTB5HJ0TsiRdAtL72A5o9ZqSRq0L3yRmELAc7Ik2m5momtWFo+Jf5f2N/+mMpE
 XwjWiutSCvF+ikJo64dgJIzptbbl7DFCKZ9/nVjQK2XdhmlVtIEoijRn9j34md3rnFRX6Md3k7q14
 mwVvv/cbJR1cq7Jy++gHv1Y+PKwpqBgIN+iwHL7mr+XyQvRMiLWdsQXmY8DhK2LOYttiuxXUTlBK6
 jM0D1u735CDf1g/9qdwFU1n7c9afWzvawp/foS3Fd/zDiwpWRcZ3OrWLGgruYum1k/oki5fR7eoZ4
 teZvSH/lDOtOyQ==;
Date: Fri, 19 Dec 2025 13:55:52 +0200
Message-Id: <86ldiy1y9j.fsf@HIDDEN>
From: Eli Zaretskii <eliz@HIDDEN>
In-Reply-To: <m2o6nuu83b.fsf@HIDDEN> (message from Gerd =?UTF-8?Q?M=C3=B6llmann?= on Fri, 19 Dec 2025 10:36:08 +0100)
References: <m2sed7t330.fsf@HIDDEN>
 <cb6eb3af-d985-40ec-a417-bbb17f1d8ac3@HIDDEN> <m2o6nuu83b.fsf@HIDDEN>
MIME-version: 1.0
Content-type: text/plain; charset=utf-8
Content-Transfer-Encoding: 8bit
X-Spam-Score: -2.3 (--)
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: -3.3 (---)

> Cc: 80032 <at> debbugs.gnu.org
> From: Gerd Möllmann <gerd.moellmann@HIDDEN>
> Date: Fri, 19 Dec 2025 10:36:08 +0100
> 
> > If we say that on a tty there is always only one visible top/root frame,
> > 'frame-visible-p' will return false for any other frame while on a GUI
> > such a frame may be considered visible.  This will create problems for
> > all functions that investigate the visibility property of frames - in
> > particular all functions calling candidate_frame in frame.c.  Then
> > 'next-frame', 'previous-frame' or 'display-buffer-use-some-window' will
> > behave differently on ttys and GUIs.  We could try to handle this case
> > specially in candidate_frame but it's certainly not trivial.
> 
> Thanks for the pointer to candidate_frame. Do you think it would suffice
> to change the FRAME_VISIBLE_P in candidate_frame to, in the tty case
> 
>   FRAME_VISIBLE_P (f) || is_tty_root_frame (f)
> 
> ?

If all TTY frames are visible, won't that addition change nothing at
all?

> (BTW, multi-tty ignorant here, why is it checking the kboard here? 
> 
>   if ((!FRAME_TERMCAP_P (c) && !FRAME_TERMCAP_P (f)
>        && FRAME_KBOARD (c) == FRAME_KBOARD (f))
>       || (FRAME_TERMCAP_P (c) && FRAME_TERMCAP_P (f)
> 	  && FRAME_TTY (c) == FRAME_TTY (f)))
> 
> Is that the focus thing?

Same keyboard means the frames are on the same terminal, AFAIK.




Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#80032: 31.0.50; [Internals] tty frame visibility
Resent-From: Gerd =?UTF-8?Q?M=C3=B6llmann?= <gerd.moellmann@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Fri, 19 Dec 2025 12:53:01 +0000
Resent-Message-ID: <handler.80032.B80032.176614877928784 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 80032
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: 
To: Eli Zaretskii <eliz@HIDDEN>
Cc: martin rudalics <rudalics@HIDDEN>, 80032 <at> debbugs.gnu.org
Received: via spool by 80032-submit <at> debbugs.gnu.org id=B80032.176614877928784
          (code B ref 80032); Fri, 19 Dec 2025 12:53:01 +0000
Received: (at 80032) by debbugs.gnu.org; 19 Dec 2025 12:52:59 +0000
Received: from localhost ([127.0.0.1]:37797 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1vWZyd-0007UC-8O
	for submit <at> debbugs.gnu.org; Fri, 19 Dec 2025 07:52:59 -0500
Received: from mail-ed1-x529.google.com ([2a00:1450:4864:20::529]:50472)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)
 (Exim 4.84_2) (envelope-from <gerd.moellmann@HIDDEN>)
 id 1vWZya-0007Tt-LL
 for 80032 <at> debbugs.gnu.org; Fri, 19 Dec 2025 07:52:57 -0500
Received: by mail-ed1-x529.google.com with SMTP id
 4fb4d7f45d1cf-64b9b0b4d5dso1081301a12.1
 for <80032 <at> debbugs.gnu.org>; Fri, 19 Dec 2025 04:52:56 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20230601; t=1766148770; x=1766753570; darn=debbugs.gnu.org;
 h=mime-version:user-agent:message-id:date:references:in-reply-to
 :subject:cc:to:from:from:to:cc:subject:date:message-id:reply-to;
 bh=+i50oF2bi69gsMCgM0qTYw3rKLwUKV8+Jo/WZByzbTo=;
 b=YuYKF0oeevHsh38zKlNGIdXr396I71/y/XpliFWMrQEVx7HfGc0i7ADw3syqF5grlx
 P9cezLN8iK2QqwtFUTOEElF4kVd6qtRmd9DksHVbHkwXtMP0xcSf0P4dZuALW1ERKyJa
 DGkJZw6tXZIMwDfpIZU6VLWX9Pcp7Qn4WmJIrygdNrcMNmEAFNBP3EnG1WW6fpYoRCiZ
 rG2eJXhvHviCW1gfL+RQQLA1IIju1Ytk4iDI+METciUGnnQVqYNClk6j5Pyy1mTAJ+Zf
 0GiaVGqayZ+Wv5GwJhRQXYtMAXhwbxvICEuOIoE4uRK6NZ17xZnzITLnxTiHT2vqltSI
 7YIQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20230601; t=1766148770; x=1766753570;
 h=mime-version:user-agent:message-id:date:references:in-reply-to
 :subject:cc:to:from:x-gm-gg:x-gm-message-state:from:to:cc:subject
 :date:message-id:reply-to;
 bh=+i50oF2bi69gsMCgM0qTYw3rKLwUKV8+Jo/WZByzbTo=;
 b=Q8a8mauGS0K4S7ul/zDglvxdb0H9BaOSylb+JkOUnC5MkAe/XzDIGFDriK2slo0Sfb
 W76OnkbFBL4hNXQmBx7Ly8gTmdiet9vd9S4uLy3mYed4znaFaX7Ev2X5QxPPCZuFMW8v
 Vv2xO7dfGnK4LFIO1QdJTKGrf67oBjvqwD3cqil94HTv2NJWuKfY1GdtzbFp9djzN65L
 UZgXXiTNeA+5BmWSYj+zeFVdLVLwFziRtCDl7QNq6O/8AqatNrNOYciZagIsJtetMMk+
 73KYNTY0gK62uYBPPjKhuMUpqpwFwusgeNE1jEY3FJt3fJROzyqlGPBXYBGUhu2G6iAK
 YjCA==
X-Forwarded-Encrypted: i=1;
 AJvYcCVrgBZW5TORpB5yBuVdLYvy+ERZ3FmtCNpN7l+4sIIh+9HCpESw5EN3T7YZqfFnp9dH+M7raA==@debbugs.gnu.org
X-Gm-Message-State: AOJu0YxSzwgsRa2X19rbLaozgwJFQBbu9KsNuFTNejW1qFTwNXHFIJCP
 TbkDmxESLxBwscnSTk9Q9xN6j2gx+UGjFEe/4NcgknS6r6MOQyK0nJngaPaR5qPA
X-Gm-Gg: AY/fxX6Utm4Qbz6PRtg2/nPBk4Mepo7Wp7+PuFdGDfvxMMknEDvitRTtvhlWkfmtAP1
 DnGQiqbxLijNkmZZeaQ85InXEC9A7hyQwJPjNcEl3p+d/XGOkPSf9HYFM9q/GBnIXaQpB6xbhts
 vlm5vGKpV+Ch7UHc6JpoPo30FQnlLhgs0slQ+wuDa90bjeHfY9/+yUvLv7jOIkpZiRi8dEmlQW+
 FExvAst74vrGxsIfD7j35RwQpY6/ISpvZXi3iq/O8asLvszFQ7mKPlqTJKL7mIB5BbmeMo5TLpR
 33Kp2+Z91NlOxtoLdLzKrNjUA9ev9qxjasTSJmWx4mVKidb4bl/PHadrMYcpPUbLqQ/56uNvgjX
 FQglTDL/q3KFQyRsyVMPx/0lN877E34A0YDEtlwgg/5sSRt1JLKuyCPVhKETgKip84dEZPQvTiB
 TucHvP8JyYCYdMdEIaldG9knCN2GK/9d7p9ZRb4eyHXsN5CqtzqkvvjPmyEoBD82EpCbGSBkDyr
 I3zIcowAlftlidIidsULzY=
X-Google-Smtp-Source: AGHT+IG5BgwA441IJw9yToogJjPNbyxnKQEK0KuNL8nAKygjixnk6DztuU5rhl3SfeiorWz3SzQQ7A==
X-Received: by 2002:a17:907:3ccb:b0:b7a:1bde:a01b with SMTP id
 a640c23a62f3a-b80372182fcmr267744366b.63.1766148769529; 
 Fri, 19 Dec 2025 04:52:49 -0800 (PST)
Received: from pro4 (p200300e0b709af00d025addc53273618.dip0.t-ipconnect.de.
 [2003:e0:b709:af00:d025:addc:5327:3618])
 by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-64b91599844sm2106530a12.25.2025.12.19.04.52.47
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 19 Dec 2025 04:52:49 -0800 (PST)
From: Gerd =?UTF-8?Q?M=C3=B6llmann?= <gerd.moellmann@HIDDEN>
In-Reply-To: <86ms3e1yph.fsf@HIDDEN>
References: <m2sed7t330.fsf@HIDDEN>
 <cb6eb3af-d985-40ec-a417-bbb17f1d8ac3@HIDDEN> <86ms3e1yph.fsf@HIDDEN>
Date: Fri, 19 Dec 2025 13:52:47 +0100
Message-ID: <m2ecoqtyzk.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain
X-Spam-Score: 0.0 (/)
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.0 (-)

Eli Zaretskii <eliz@HIDDEN> writes:

>> Date: Fri, 19 Dec 2025 09:56:08 +0100
>> From:  martin rudalics via "Bug reports for GNU Emacs,
>>  the Swiss army knife of text editors" <bug-gnu-emacs@HIDDEN>
>> 
>>  > My plan would be to simplify the handling of tty root frames so that the
>>  > visibility of a root frame on a terminal is identical to being the top
>>  > frame of a terminal. This is currently not the case. A root frame on a
>>  > terminal can be visible but not displayed because it's not the top frame
>>  > of the terminal.
>> 
>> If we say that on a tty there is always only one visible top/root frame,
>> 'frame-visible-p' will return false for any other frame while on a GUI
>> such a frame may be considered visible.  This will create problems for
>> all functions that investigate the visibility property of frames - in
>> particular all functions calling candidate_frame in frame.c.  Then
>> 'next-frame', 'previous-frame' or 'display-buffer-use-some-window' will
>> behave differently on ttys and GUIs.  We could try to handle this case
>> specially in candidate_frame but it's certainly not trivial.
>
> Exactly.
>
> IMNSHO, it is conceptually wrong to consider non-top TTY frames to be
> "invisible".  They should be considered as "obscured by other frames",
> perhaps, but not invisible.  The invisible attribute of a GUI frame
> means something that TTY frames simply don't support, and it is
> interpreted by various parts of Emacs, including redisplay, in a
> certain fashion that will cause us trouble on TTY frames.

You mean tty root frames, right? It doesn't work for tty child frames as
Martin already explained in another thread:

  > Personally, I don't really understand the semantics of "invisible
  > frame" when applied to TTY frames.  There's no such thing,
  > conceptually; what we do have is a frame that is hidden behind another
  > one.  Which means that selecting a frame makes it "visible" even if we
  > made it invisible, since selecting a TTY frame also raises it.

  You cannot hide a child frame "behind" its parent.  A child frame must
  always be on top of its parent.  So the only way to hide a child frame
  with its parent the top tty frame is to make the child frame invisible.

For root frames, maybe, where "obscured" currently is "root frame !=
top_frame", and is exactly what we have and do.

It's not that I'm eager to change that, expecially since the "normal"
use cases like Posframe and Corfu work very well. It's only that
playing with the top frame and visibility in do_switch_frame is really
ugly, and using the visibiligy of root frames I think could simplify
things overall.

But it's fine if others disagree. Let me close this, then.




Message received at control <at> debbugs.gnu.org:


Received: (at control) by debbugs.gnu.org; 19 Dec 2025 12:53:15 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Fri Dec 19 07:53:15 2025
Received: from localhost ([127.0.0.1]:37801 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1vWZys-0007VB-Rs
	for submit <at> debbugs.gnu.org; Fri, 19 Dec 2025 07:53:15 -0500
Received: from mail-ed1-x52c.google.com ([2a00:1450:4864:20::52c]:43096)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)
 (Exim 4.84_2) (envelope-from <gerd.moellmann@HIDDEN>)
 id 1vWZyr-0007Ut-N6
 for control <at> debbugs.gnu.org; Fri, 19 Dec 2025 07:53:14 -0500
Received: by mail-ed1-x52c.google.com with SMTP id
 4fb4d7f45d1cf-64c893f3a94so193429a12.0
 for <control <at> debbugs.gnu.org>; Fri, 19 Dec 2025 04:53:13 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20230601; t=1766148787; x=1766753587; darn=debbugs.gnu.org;
 h=content-transfer-encoding:mime-version:subject:from:to:message-id
 :date:from:to:cc:subject:date:message-id:reply-to;
 bh=lARwGnf1/20gA93wVxkDDumyyzy7HskY+bYuvngvaLQ=;
 b=CRoSd1eufxVBlLPZXX+0MFCLB0ZBsOw+sbe/gjSH/OAb5s66XyPEOM429A+4qmi95R
 7cCZHh6xLLXe41R6FSExTds9RpO6ACl1pYvvJdXGP3+s8wdVSqjZR/bDEKfzLQKZnCm6
 nLXPsagRlHWHrFbhtI5n6HJuDx8FkFzRlD3Aru6BE2/lLcNlSmmkNNlZORfu+iqEKmQ4
 QKrrmElhHo4oK1swuJ9CvnrhoKbX3GFfvBkacT5zwFmRNcgAzMqOYQr2FwTgxJxLvAnv
 6ubboUhjQpgYo2M06laxNPUR6IVc39oBYUuG9FHqQhWq//jNgLkO6roGnHJ9bfU9UsN9
 664Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20230601; t=1766148787; x=1766753587;
 h=content-transfer-encoding:mime-version:subject:from:to:message-id
 :date:x-gm-gg:x-gm-message-state:from:to:cc:subject:date:message-id
 :reply-to;
 bh=lARwGnf1/20gA93wVxkDDumyyzy7HskY+bYuvngvaLQ=;
 b=CCHAFgyb1nglwv1swhac7nKL0wxk9NnnHQ4X7uCowJBIT7h1k5tzwZ/asKIrz58Un0
 PrCjoicBj4ryM27MtodPoAsG3TEhNQDwPc7Fl1ov4cNJxi2XQIYgJ/B04mDzddBpwruA
 H/F2WwTB/Pm13EHynDtfkEUmuL27lEi31T1nkYps7xsv3a7VVyTgiy6nwylPFHr6y3+G
 a0t74yXN0qeE3mQloamExf0YWmznYCsbqOgKCUbfffwh+mghOEZwN7nGBeStx17h5ZI0
 xI6wJfMVwGzPtz0GdBkZm1++4kkLzfM0Osn9fvGYl2C9N81lwDv6BblZhGte76SXpCxD
 ymmA==
X-Gm-Message-State: AOJu0YwD4sSgqPHbWnbAvD6+XYzRyvbR3rFe7L/7tZgxvXP3QVjIT3CD
 0JMjZv9bFlq3aMy6fn92OU+2DVc+ww0ivquMVDzznjp5WhflR1KbeHZ9+qjKnq/W
X-Gm-Gg: AY/fxX7uXFR5+DMxks6lj8b+dOgwIjG4CN1B2/PdC9EIMYBvVze+Zgkicjuj9cKmiyi
 IS0J7K2RM2rwmGFv+ClW0OdLDzgTHLK5pkFpRQk6908pOmz1gtO+16wzmA1+ziFT2EEgCOnoH6w
 Ria7G2c1l09mUyCzLME9BZPYMew7Q3QwCUSi9FGVPRZZf/O3J17pmbuCFVNlEW1xsjUkyzprdEq
 1jDTCe85Zk8fXrCGFzTe9gEL8hUP9dOMcgL6ONagCWXVRy84Z2LUp8TNaPMojEJ1yVvG3+kQAGN
 xAr5/CfanW4oWhoZv2BT4Vma/MjVuI9ynH0rb2Upivmw/JR8zr9O3NY1p2tkqssskMyLAVEjzrU
 8+6Qz3U+lu4O70noBh2a7fcFiSSzStPNzsxZuR0h8v/Ctu/8JnspSq8CiKqpQ7Lfmuj0VRvBErr
 97b0QSf2CIlF+IQcNe/pbOCLmf51wpHJPyaRCrEgj2amoPnmxGeZXltrgB90y8atRq3mHbYGgYV
 Nh58F+R8jDf0S9BQHLmbS0=
X-Google-Smtp-Source: AGHT+IEmXKtL+frUf6AS7r1GFBpMeMWOFBU2AeLudw+Bf1czTTDqV4vDGI2WvXNcYmD71qkUww3+QA==
X-Received: by 2002:aa7:c307:0:b0:647:a582:b883 with SMTP id
 4fb4d7f45d1cf-64b584ec73fmr4325715a12.16.1766148787197; 
 Fri, 19 Dec 2025 04:53:07 -0800 (PST)
Received: from pro4 (p200300e0b709af00d025addc53273618.dip0.t-ipconnect.de.
 [2003:e0:b709:af00:d025:addc:5327:3618])
 by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-64b9105b31esm2073416a12.13.2025.12.19.04.53.05
 for <control <at> debbugs.gnu.org>
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 19 Dec 2025 04:53:06 -0800 (PST)
Date: Fri, 19 Dec 2025 13:53:05 +0100
Message-Id: <m2cy4atyz2.fsf@HIDDEN>
To: control <at> debbugs.gnu.org
From: =?utf-8?Q?Gerd_M=C3=B6llmann?= <gerd.moellmann@HIDDEN>
Subject: control message for bug #80032
MIME-version: 1.0
Content-type: text/plain; charset=utf-8
Content-Transfer-Encoding: 8bit
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: control
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.0 (-)

close 80032 31.1
quit





Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#80032: 31.0.50; [Internals] tty frame visibility
Resent-From: Gerd =?UTF-8?Q?M=C3=B6llmann?= <gerd.moellmann@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Fri, 19 Dec 2025 13:05:02 +0000
Resent-Message-ID: <handler.80032.B80032.17661494669991 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 80032
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: 
To: Eli Zaretskii <eliz@HIDDEN>
Cc: rudalics@HIDDEN, 80032 <at> debbugs.gnu.org
Received: via spool by 80032-submit <at> debbugs.gnu.org id=B80032.17661494669991
          (code B ref 80032); Fri, 19 Dec 2025 13:05:02 +0000
Received: (at 80032) by debbugs.gnu.org; 19 Dec 2025 13:04:26 +0000
Received: from localhost ([127.0.0.1]:37966 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1vWa9h-0002b1-F6
	for submit <at> debbugs.gnu.org; Fri, 19 Dec 2025 08:04:26 -0500
Received: from mail-wr1-x42e.google.com ([2a00:1450:4864:20::42e]:45087)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)
 (Exim 4.84_2) (envelope-from <gerd.moellmann@HIDDEN>)
 id 1vWa9e-0002ad-5X
 for 80032 <at> debbugs.gnu.org; Fri, 19 Dec 2025 08:04:23 -0500
Received: by mail-wr1-x42e.google.com with SMTP id
 ffacd0b85a97d-4308d81fdf6so847598f8f.2
 for <80032 <at> debbugs.gnu.org>; Fri, 19 Dec 2025 05:04:22 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20230601; t=1766149455; x=1766754255; darn=debbugs.gnu.org;
 h=content-transfer-encoding:mime-version:user-agent:message-id:date
 :references:in-reply-to:subject:cc:to:from:from:to:cc:subject:date
 :message-id:reply-to;
 bh=JLJSKQTZXa/JFTikl7b5SealfE1vhj9rkkrGROZbBFM=;
 b=ZJOFSPvINCFvoyWAY5Tu69eSYADyRg4mW6Rmls9CDF96lvBfAPFo0JQBOvUd9HIx40
 1ovB9c2OmFAqfpEJfx2eSa9YgWeLUGDstfcXbfg60hSEaXBZrNeZujpiRlV2zWcgyFL8
 YobcwywSD+eiHnkum5izsZH1tvStg8hZQBxmX9N/awBD1cnjeX1L2cJgbVfoHxQ/4eA3
 dd8NP8tQz1KB+SdM2SBfwFyb1yxNp1k7ngE7VOnhBnZNICq+I3oprdm15PPWXfWN9I6H
 0lfenqO0W53aUIqHd7UrxFDGlJfuaWbibj0zpT5Qj3m6Qjjb0cBCqzfn/LXdJPMGS8QM
 Pnyw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20230601; t=1766149455; x=1766754255;
 h=content-transfer-encoding:mime-version:user-agent:message-id:date
 :references:in-reply-to:subject:cc:to:from:x-gm-gg
 :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
 bh=JLJSKQTZXa/JFTikl7b5SealfE1vhj9rkkrGROZbBFM=;
 b=ov1GTR3afktKT1Ju7Y9C2uLhcvyzOkhsLpHM53VUSqI7S3CxcsTzgICe8+36ZMuA9N
 Gx6CTaQ0SWs1Pac/GlGvT/g83JEnofEywwKVgT7dyCsUBgKlu/pDzCZjpRs09NqJdk3e
 d6tVw/VHFxcWf1c3GTlURC+4Rf94zUEqW2bdoprbh9bprGn6SlOfuvp84K6RLm2+osce
 vFgHk/rpTV2nZR9L2FFcUkYwhp3QjFbocykWPs9esX01fav8s5s2kwM0QGilAOackLnw
 FYiGj55tnqJFlRt/yZSgMTtqeIF73q+13ktUFaCTSzG0oVJpWoxpw5FjUIHZMmzM4wcd
 leWw==
X-Forwarded-Encrypted: i=1;
 AJvYcCVE2Hu91bHgZd6KA4uKvlJFCfWmOYIIVIOcDybt6hc4clJuIrwDV1VYGgv+Sm1GSbFFD/EH4A==@debbugs.gnu.org
X-Gm-Message-State: AOJu0Yw7Gb4SeB7fsB7Q8ZdHH/0P98/kvSI6RkJ7GxNg6z/YT4Dj9o7b
 q306LTBtBjuOFrk6VW2HtvZngEoqEapnOkOjpVc3leEm2sF2YmTSscHBOckOLALE
X-Gm-Gg: AY/fxX5ePOpOU+U/vt5JB7OmfbcRqFAXdZBLKm61h3qMZNHj2rLR5ftHmRpT2QqT6v4
 AQd8Xb1CVN8fcmE0sVYgZ2/lhxjPJUC4AoarMiRt46mJ0PKkZYBp0qC7k44oCeb1hzxPtSC4ey4
 wOVEh+1XlpF8GMaBFuUBlZn91KK3demZ8jUPqI+O6ySN/+48N4wlI1Zt/LO3uei2n1Ag3MgKK5L
 Ak2jVLHNivOwCRCRAZNte8cuRmeuz0k2HfW/C4SyMVsN7ViDhSgb55nsYDVH3fKVZhdkp7yeBrc
 wmxhNBxOnfspICZzRGZiYspp0q2k02sMykL+gxXI9ghhoE0Qmgk0CoFjVDOQlhzaoU6hJisHnMd
 UUvjSAUJEVSjcsnANbXjJXMCNWEGP42rJs0VY7U3wcGVzuSCxbUXLg0pG0zCZX0DA3HANEai+IO
 opFvSpnr+YftZpSq6Ydu+04c3qjLSCe8nTL6xtXfy1f9h76E+u8SplFJYCal6E6khdmxRSdr4+g
 29HNRDF7aZ3/r2FqXEbxFA=
X-Google-Smtp-Source: AGHT+IHycBrHqwsbaJuITGkZsa0ZH7uMlEkmRMI87+AEThw6pMpbHPBXTRnUw0DRocBrTx4Xshk0vw==
X-Received: by 2002:a05:6000:2601:b0:430:fd84:3174 with SMTP id
 ffacd0b85a97d-4324e50a4b5mr3474142f8f.46.1766149455223; 
 Fri, 19 Dec 2025 05:04:15 -0800 (PST)
Received: from pro4 (p200300e0b709af00d025addc53273618.dip0.t-ipconnect.de.
 [2003:e0:b709:af00:d025:addc:5327:3618])
 by smtp.gmail.com with ESMTPSA id
 ffacd0b85a97d-4324ea830fesm4854844f8f.20.2025.12.19.05.04.14
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 19 Dec 2025 05:04:14 -0800 (PST)
From: Gerd =?UTF-8?Q?M=C3=B6llmann?= <gerd.moellmann@HIDDEN>
In-Reply-To: <86ldiy1y9j.fsf@HIDDEN>
References: <m2sed7t330.fsf@HIDDEN>
 <cb6eb3af-d985-40ec-a417-bbb17f1d8ac3@HIDDEN>
 <m2o6nuu83b.fsf@HIDDEN> <86ldiy1y9j.fsf@HIDDEN>
Date: Fri, 19 Dec 2025 14:04:14 +0100
Message-ID: <m28qeytygh.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-Spam-Score: 0.0 (/)
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.0 (-)

Eli Zaretskii <eliz@HIDDEN> writes:

>> Cc: 80032 <at> debbugs.gnu.org
>> From: Gerd M=C3=B6llmann <gerd.moellmann@HIDDEN>
>> Date: Fri, 19 Dec 2025 10:36:08 +0100
>>=20
>> > If we say that on a tty there is always only one visible top/root fram=
e,
>> > 'frame-visible-p' will return false for any other frame while on a GUI
>> > such a frame may be considered visible.  This will create problems for
>> > all functions that investigate the visibility property of frames - in
>> > particular all functions calling candidate_frame in frame.c.  Then
>> > 'next-frame', 'previous-frame' or 'display-buffer-use-some-window' will
>> > behave differently on ttys and GUIs.  We could try to handle this case
>> > specially in candidate_frame but it's certainly not trivial.
>>=20
>> Thanks for the pointer to candidate_frame. Do you think it would suffice
>> to change the FRAME_VISIBLE_P in candidate_frame to, in the tty case
>>=20
>>   FRAME_VISIBLE_P (f) || is_tty_root_frame (f)
>>=20
>> ?
>
> If all TTY frames are visible, won't that addition change nothing at
> all?

Under the assumption that there were only one visible root frame (=3D=3D top
frame) on a terminal, that would make invisible root frames a candidate
for next_frame and prev_frame.

>
>> (BTW, multi-tty ignorant here, why is it checking the kboard here?=20
>>=20
>>   if ((!FRAME_TERMCAP_P (c) && !FRAME_TERMCAP_P (f)
>>        && FRAME_KBOARD (c) =3D=3D FRAME_KBOARD (f))
>>       || (FRAME_TERMCAP_P (c) && FRAME_TERMCAP_P (f)
>> 	  && FRAME_TTY (c) =3D=3D FRAME_TTY (f)))
>>=20
>> Is that the focus thing?
>
> Same keyboard means the frames are on the same terminal, AFAIK.

So it's redundant?




Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#80032: 31.0.50; [Internals] tty frame visibility
Resent-From: Eli Zaretskii <eliz@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Fri, 19 Dec 2025 13:14:02 +0000
Resent-Message-ID: <handler.80032.B80032.176615002412693 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 80032
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: 
To: Gerd =?UTF-8?Q?M=C3=B6llmann?= <gerd.moellmann@HIDDEN>
Cc: rudalics@HIDDEN, 80032 <at> debbugs.gnu.org
Received: via spool by 80032-submit <at> debbugs.gnu.org id=B80032.176615002412693
          (code B ref 80032); Fri, 19 Dec 2025 13:14:02 +0000
Received: (at 80032) by debbugs.gnu.org; 19 Dec 2025 13:13:44 +0000
Received: from localhost ([127.0.0.1]:38109 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1vWaIh-0003Ia-CO
	for submit <at> debbugs.gnu.org; Fri, 19 Dec 2025 08:13:43 -0500
Received: from eggs.gnu.org ([2001:470:142:3::10]:54258)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.84_2) (envelope-from <eliz@HIDDEN>) id 1vWaIZ-0003Gs-NH
 for 80032 <at> debbugs.gnu.org; Fri, 19 Dec 2025 08:13:40 -0500
Received: from fencepost.gnu.org ([2001:470:142:3::e])
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <eliz@HIDDEN>)
 id 1vWaIT-0002rl-Pe; Fri, 19 Dec 2025 08:13:29 -0500
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org;
 s=fencepost-gnu-org; h=MIME-version:References:Subject:In-Reply-To:To:From:
 Date; bh=bgyxK3hRDs4Y3KC6EelgmtjFDNym3TnKHnpa0AwXDuY=; b=fsNdset02wJBFz2R+Q2L
 0mrQNnhM/rLFaOI1klFaNetKfo/+m8nFelSDh4kkw0YTIemfwLPf7MsWqOZPmXrAy39Lmz8VjyMfj
 03hXPGAvkgVOFkoHSGtd8h4XVRIbQPII7tZz0RHQuO+5XlN61lKSXZLenP/MSIDReybpriapLkSOJ
 Er0XH0LF+rz1/mij6JS6HQmKKXJAQizeCwt7mANYNO5mhJifzTiALKBdBwM6a9dxZVKTJtKRmW/+X
 0whAeMyIsenjbFCfjP9MYd1ufqZpa3e6wISB4siHd30N6qFBz7ksnIlzIkvEdDelNZD71Bl6TfWIu
 Mztlq+y7oXB7pA==;
Date: Fri, 19 Dec 2025 15:13:05 +0200
Message-Id: <86jyyi1uou.fsf@HIDDEN>
From: Eli Zaretskii <eliz@HIDDEN>
In-Reply-To: <m2ecoqtyzk.fsf@HIDDEN> (message from Gerd =?UTF-8?Q?M=C3=B6llmann?= on Fri, 19 Dec 2025 13:52:47 +0100)
References: <m2sed7t330.fsf@HIDDEN>
 <cb6eb3af-d985-40ec-a417-bbb17f1d8ac3@HIDDEN> <86ms3e1yph.fsf@HIDDEN>
 <m2ecoqtyzk.fsf@HIDDEN>
MIME-version: 1.0
Content-type: text/plain; charset=utf-8
Content-Transfer-Encoding: 8bit
X-Spam-Score: -2.3 (--)
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: -3.3 (---)

> From: Gerd Möllmann <gerd.moellmann@HIDDEN>
> Cc: martin rudalics <rudalics@HIDDEN>,  80032 <at> debbugs.gnu.org
> Date: Fri, 19 Dec 2025 13:52:47 +0100
> 
> Eli Zaretskii <eliz@HIDDEN> writes:
> 
> > IMNSHO, it is conceptually wrong to consider non-top TTY frames to be
> > "invisible".  They should be considered as "obscured by other frames",
> > perhaps, but not invisible.  The invisible attribute of a GUI frame
> > means something that TTY frames simply don't support, and it is
> > interpreted by various parts of Emacs, including redisplay, in a
> > certain fashion that will cause us trouble on TTY frames.
> 
> You mean tty root frames, right? It doesn't work for tty child frames as
> Martin already explained in another thread:

Yes, I mean TTY root frames.  (I admit I don't understand well enough
the visibility concept of child frames.)

> For root frames, maybe, where "obscured" currently is "root frame !=
> top_frame", and is exactly what we have and do.

Then let's not consider non-top TTY frames "invisible".

> It's not that I'm eager to change that, expecially since the "normal"
> use cases like Posframe and Corfu work very well. It's only that
> playing with the top frame and visibility in do_switch_frame is really
> ugly, and using the visibiligy of root frames I think could simplify
> things overall.

If we want to make changes in this area, let's talk about "obscured
frames", and if necessary introduce a new frame attribute to support
that.  Overloading "frame invisibility" with this meaning will cause
us trouble, since that concept was traditionally used only for GUI
frames, and there it has well-understood effects that are entrenched
in Emacs for a long time.




Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#80032: 31.0.50; [Internals] tty frame visibility
Resent-From: Eli Zaretskii <eliz@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Fri, 19 Dec 2025 13:18:02 +0000
Resent-Message-ID: <handler.80032.B80032.176615026314062 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 80032
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: 
To: Gerd =?UTF-8?Q?M=C3=B6llmann?= <gerd.moellmann@HIDDEN>
Cc: rudalics@HIDDEN, 80032 <at> debbugs.gnu.org
Received: via spool by 80032-submit <at> debbugs.gnu.org id=B80032.176615026314062
          (code B ref 80032); Fri, 19 Dec 2025 13:18:02 +0000
Received: (at 80032) by debbugs.gnu.org; 19 Dec 2025 13:17:43 +0000
Received: from localhost ([127.0.0.1]:38193 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1vWaMY-0003ek-Og
	for submit <at> debbugs.gnu.org; Fri, 19 Dec 2025 08:17:43 -0500
Received: from eggs.gnu.org ([2001:470:142:3::10]:41336)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.84_2) (envelope-from <eliz@HIDDEN>) id 1vWaMW-0003e3-9u
 for 80032 <at> debbugs.gnu.org; Fri, 19 Dec 2025 08:17:41 -0500
Received: from fencepost.gnu.org ([2001:470:142:3::e])
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <eliz@HIDDEN>)
 id 1vWaMN-0003yb-DS; Fri, 19 Dec 2025 08:17:33 -0500
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org;
 s=fencepost-gnu-org; h=MIME-version:References:Subject:In-Reply-To:To:From:
 Date; bh=9eO0F9+J+1oNrydFi8nzx6QF1yQraZ51GsHDyjzMiq4=; b=hgjSm5wzEmb1idZLcWUQ
 7NFJQEz5qTPDf4XMalJwM054O8xRJn5VPz5h1Ue/t/exFM8R4KOhco0badKpqbVcNcx+k0UehFkFq
 P84xMALA455nQN/5qoqV8tdXh1DomIiAVZG3JLRGt3bkj4waeGHyWHCHJb7x/EruxhRvfo2eJ91lf
 2Lqtu8/Y7F6xUtpfjrQGyEO/A7aI55JnGYsvBiB9GUQhsOwm/PmC3N65ju2vvh6ZpCMiwEK6ai8b7
 Phv1t8JxJaVP8OltF2s7T7ii4dcs3RMfbyM7jfHPhJjLpNl6LNhQ4nxqWqFbNWB5BevWKqqlyC8lj
 UzCRbPcFsXqL8g==;
Date: Fri, 19 Dec 2025 15:17:13 +0200
Message-Id: <86ike21uhy.fsf@HIDDEN>
From: Eli Zaretskii <eliz@HIDDEN>
In-Reply-To: <m28qeytygh.fsf@HIDDEN> (message from Gerd =?UTF-8?Q?M=C3=B6llmann?= on Fri, 19 Dec 2025 14:04:14 +0100)
References: <m2sed7t330.fsf@HIDDEN>
 <cb6eb3af-d985-40ec-a417-bbb17f1d8ac3@HIDDEN>
 <m2o6nuu83b.fsf@HIDDEN> <86ldiy1y9j.fsf@HIDDEN>
 <m28qeytygh.fsf@HIDDEN>
MIME-version: 1.0
Content-type: text/plain; charset=utf-8
Content-Transfer-Encoding: 8bit
X-Spam-Score: -2.3 (--)
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: -3.3 (---)

> From: Gerd Möllmann <gerd.moellmann@HIDDEN>
> Cc: rudalics@HIDDEN,  80032 <at> debbugs.gnu.org
> Date: Fri, 19 Dec 2025 14:04:14 +0100
> 
> Eli Zaretskii <eliz@HIDDEN> writes:
> 
> >> Thanks for the pointer to candidate_frame. Do you think it would suffice
> >> to change the FRAME_VISIBLE_P in candidate_frame to, in the tty case
> >> 
> >>   FRAME_VISIBLE_P (f) || is_tty_root_frame (f)
> >> 
> >> ?
> >
> > If all TTY frames are visible, won't that addition change nothing at
> > all?
> 
> Under the assumption that there were only one visible root frame (== top
> frame) on a terminal, that would make invisible root frames a candidate
> for next_frame and prev_frame.

Then let's test whether a frame is a top-frame, and consider it a
candidate only if it isn't.  Frame visibility is not the right
attribute to use here, IMO.

> >> (BTW, multi-tty ignorant here, why is it checking the kboard here? 
> >> 
> >>   if ((!FRAME_TERMCAP_P (c) && !FRAME_TERMCAP_P (f)
> >>        && FRAME_KBOARD (c) == FRAME_KBOARD (f))
> >>       || (FRAME_TERMCAP_P (c) && FRAME_TERMCAP_P (f)
> >> 	  && FRAME_TTY (c) == FRAME_TTY (f)))
> >> 
> >> Is that the focus thing?
> >
> > Same keyboard means the frames are on the same terminal, AFAIK.
> 
> So it's redundant?

For GUI frames, it isn't, AFAIU.  Note that the above only tests
FRAME_KBOARD for GUI frames.




Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#80032: 31.0.50; [Internals] tty frame visibility
Resent-From: Gerd =?UTF-8?Q?M=C3=B6llmann?= <gerd.moellmann@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Fri, 19 Dec 2025 13:21:02 +0000
Resent-Message-ID: <handler.80032.B80032.176615040814842 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 80032
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: 
To: Eli Zaretskii <eliz@HIDDEN>
Cc: rudalics@HIDDEN, 80032 <at> debbugs.gnu.org
Received: via spool by 80032-submit <at> debbugs.gnu.org id=B80032.176615040814842
          (code B ref 80032); Fri, 19 Dec 2025 13:21:02 +0000
Received: (at 80032) by debbugs.gnu.org; 19 Dec 2025 13:20:08 +0000
Received: from localhost ([127.0.0.1]:38253 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1vWaOt-0003qz-Ef
	for submit <at> debbugs.gnu.org; Fri, 19 Dec 2025 08:20:08 -0500
Received: from mail-ej1-x62f.google.com ([2a00:1450:4864:20::62f]:52348)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)
 (Exim 4.84_2) (envelope-from <gerd.moellmann@HIDDEN>)
 id 1vWaOr-0003nZ-Ag
 for 80032 <at> debbugs.gnu.org; Fri, 19 Dec 2025 08:20:05 -0500
Received: by mail-ej1-x62f.google.com with SMTP id
 a640c23a62f3a-b735487129fso309066166b.0
 for <80032 <at> debbugs.gnu.org>; Fri, 19 Dec 2025 05:20:05 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20230601; t=1766150399; x=1766755199; darn=debbugs.gnu.org;
 h=content-transfer-encoding:mime-version:user-agent:message-id:date
 :references:in-reply-to:subject:cc:to:from:from:to:cc:subject:date
 :message-id:reply-to;
 bh=vWQnV08z1Eg88nzmpschvLGDbd3BunmGln5MQwXuwsw=;
 b=Xdk1sJPDk2td7aYAkSbOBgeIY6AkKUjX8SC2jlTIYNz4xhQPJeDXZnPNBM2iHmrAhk
 PpNcblUijsKCwW9bhq+/i2zXC/zBsuJlP6564ZOz4+J9WROul3IHikXCSeVZnQaEbpGf
 +b+uFpW1kJea+nagSXscYTQumCpqVUOFh3Zxor2v6WIfRKYzpEMSAt8pum2fhlkek66m
 cEnF1gYiF4aNxdhbJ4gwCiJQhmBzd7RJsTqx+SAF4kav4eDHfNF6iw0g0p4tqRG8C/0a
 TtxbNkkN7lEXX7aBwts/Da8Z0zuCb6Ggu+3kQLslO5whMNdVMmNSG0oht3kRlkk904GB
 3gfQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20230601; t=1766150399; x=1766755199;
 h=content-transfer-encoding:mime-version:user-agent:message-id:date
 :references:in-reply-to:subject:cc:to:from:x-gm-gg
 :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
 bh=vWQnV08z1Eg88nzmpschvLGDbd3BunmGln5MQwXuwsw=;
 b=NlAkl87+zY1L2kMYA+kV2G0Q6dN9MJ+WHYBw9qa8pd3XxY7M5jlMc3+Z+DBW+6EnVv
 yy2H37UWNzecsGW2uscAQI7YLLGrFz/lctdz1xXvTBCizcjoItE+6Nzz1lEnoLQDKQAO
 ycX4hFKIGGTxbUU9YhfCIWcfNJ7Gq3Oymp03Lz+L9RX8bc4hXW3YIf3k5Opre6xj0LZM
 FiDNVY74PnA6Bl8R2VM9Hw6m5YoMsXz+ReR5e54KVz2L9g9MrCcfDEaU6/Uu6WJia29U
 hV+ttIDLBVcXoLGOlEdHOYgigT6IkvrJaDkkVZVPbAyY/rpzj1j3shUZmBtW8pwMu+OR
 BWGQ==
X-Forwarded-Encrypted: i=1;
 AJvYcCXT2rlBRSZJ0MIDJpbfLy7xU0Eic8N7tek4SgcH+td6laKCE1eIvEchXEaV0QxEUE6/N8LqPw==@debbugs.gnu.org
X-Gm-Message-State: AOJu0YxZ05bwLb+KrkTHWktY2ByEwd5eXrvF6/JTg7e0LEwq3I6+305y
 xY6c4bwiDR+Em/agnF5iKhSmunTS6Nso3riQg70I/dHXRuS5DL+nVZVonMvVJIHt
X-Gm-Gg: AY/fxX6CC8vtt4hZVK7Anc4XbiIYiax4sb5FEc/E17M+KxIyrUkuF93Y/aQRKR3h9EC
 4y8oBs448IXyO7K9dYnqySrmX0Hb9f6gVHwkGEhV3BJWGHLclHpoMe4qlIU51UV3SDyIv5B0exR
 mI+QVKsHPHMAcw9nE0L+yDlfB4SaDK/GN/HCnkraLvWmvvWnAHIzm1rBoco3TC11hva87sr+QmH
 lle6CiFNMecFLxatWi9oNqHIK8NdI6f3gJfXJPvZG+7iKHQevb2gZV1OgQvyvyr2JnTpG2KVPTu
 j4WjWrdlzaOGWoSKKOw0ocjoeCMwYn65q6MPzOYf07BnGB2DtzUM30iHz0dNawwvZ5nnqXTwf8p
 VL2r4PibpWLzTIxzi96ic3Nf+Vw80ODTG0N/MQL3vq4VZ2WtkU2oJdcVr/cTfs/wkFtYW4c/KJI
 PwHLYtyyMHzKgES5OJbCXzRZjy9+Sgui+7SQqeEaZ5Til9K+0mafMnTMYgBzoGpI+lWNdDSrphs
 agMiqhZswaG8wB0AInq4Xn0jb3kC0z3Mw==
X-Google-Smtp-Source: AGHT+IFRj75mVcAbcr1Km84OqmAQesHeUMMpCHoFe0sIyp4cloue4AXAhlWHOuFmWZF+VitE7vw1tQ==
X-Received: by 2002:a17:907:97c7:b0:b76:8164:88b5 with SMTP id
 a640c23a62f3a-b803719d432mr321020666b.46.1766150398608; 
 Fri, 19 Dec 2025 05:19:58 -0800 (PST)
Received: from pro4 (p200300e0b709af00d025addc53273618.dip0.t-ipconnect.de.
 [2003:e0:b709:af00:d025:addc:5327:3618])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-b8037f09149sm227469866b.47.2025.12.19.05.19.57
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 19 Dec 2025 05:19:58 -0800 (PST)
From: Gerd =?UTF-8?Q?M=C3=B6llmann?= <gerd.moellmann@HIDDEN>
In-Reply-To: <86ike21uhy.fsf@HIDDEN>
References: <m2sed7t330.fsf@HIDDEN>
 <cb6eb3af-d985-40ec-a417-bbb17f1d8ac3@HIDDEN>
 <m2o6nuu83b.fsf@HIDDEN> <86ldiy1y9j.fsf@HIDDEN>
 <m28qeytygh.fsf@HIDDEN> <86ike21uhy.fsf@HIDDEN>
Date: Fri, 19 Dec 2025 14:19:56 +0100
Message-ID: <m2y0mysj5v.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-Spam-Score: 1.0 (+)
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.0 (-)

Eli Zaretskii <eliz@HIDDEN> writes:

>> From: Gerd M=C3=B6llmann <gerd.moellmann@HIDDEN>
>> Cc: rudalics@HIDDEN,  80032 <at> debbugs.gnu.org
>> Date: Fri, 19 Dec 2025 14:04:14 +0100
>>=20
>> Eli Zaretskii <eliz@HIDDEN> writes:
>>=20
>> >> Thanks for the pointer to candidate_frame. Do you think it would suff=
ice
>> >> to change the FRAME_VISIBLE_P in candidate_frame to, in the tty case
>> >>=20
>> >>   FRAME_VISIBLE_P (f) || is_tty_root_frame (f)
>> >>=20
>> >> ?
>> >
>> > If all TTY frames are visible, won't that addition change nothing at
>> > all?
>>=20
>> Under the assumption that there were only one visible root frame (=3D=3D=
 top
>> frame) on a terminal, that would make invisible root frames a candidate
>> for next_frame and prev_frame.
>
> Then let's test whether a frame is a top-frame, and consider it a
> candidate only if it isn't.  Frame visibility is not the right
> attribute to use here, IMO.
>
>> >> (BTW, multi-tty ignorant here, why is it checking the kboard here?=20
>> >>=20
>> >>   if ((!FRAME_TERMCAP_P (c) && !FRAME_TERMCAP_P (f)
>> >>        && FRAME_KBOARD (c) =3D=3D FRAME_KBOARD (f))
>> >>       || (FRAME_TERMCAP_P (c) && FRAME_TERMCAP_P (f)
>> >> 	  && FRAME_TTY (c) =3D=3D FRAME_TTY (f)))
>> >>=20
>> >> Is that the focus thing?
>> >
>> > Same keyboard means the frames are on the same terminal, AFAIK.
>>=20
>> So it's redundant?
>
> For GUI frames, it isn't, AFAIU.  Note that the above only tests
> FRAME_KBOARD for GUI frames.

Duh, of course.




Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#80032: 31.0.50; [Internals] tty frame visibility
Resent-From: Gerd =?UTF-8?Q?M=C3=B6llmann?= <gerd.moellmann@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Fri, 19 Dec 2025 13:28:01 +0000
Resent-Message-ID: <handler.80032.B80032.176615083616375 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 80032
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: 
To: Eli Zaretskii <eliz@HIDDEN>
Cc: rudalics@HIDDEN, 80032 <at> debbugs.gnu.org
Received: via spool by 80032-submit <at> debbugs.gnu.org id=B80032.176615083616375
          (code B ref 80032); Fri, 19 Dec 2025 13:28:01 +0000
Received: (at 80032) by debbugs.gnu.org; 19 Dec 2025 13:27:16 +0000
Received: from localhost ([127.0.0.1]:38294 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1vWaVo-0004G1-2J
	for submit <at> debbugs.gnu.org; Fri, 19 Dec 2025 08:27:16 -0500
Received: from mail-wm1-x330.google.com ([2a00:1450:4864:20::330]:59449)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)
 (Exim 4.84_2) (envelope-from <gerd.moellmann@HIDDEN>)
 id 1vWaVl-0004Fc-Bp
 for 80032 <at> debbugs.gnu.org; Fri, 19 Dec 2025 08:27:13 -0500
Received: by mail-wm1-x330.google.com with SMTP id
 5b1f17b1804b1-4779adb38d3so12288025e9.2
 for <80032 <at> debbugs.gnu.org>; Fri, 19 Dec 2025 05:27:13 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20230601; t=1766150827; x=1766755627; darn=debbugs.gnu.org;
 h=content-transfer-encoding:mime-version:user-agent:message-id:date
 :references:in-reply-to:subject:cc:to:from:from:to:cc:subject:date
 :message-id:reply-to;
 bh=dKya1K+9Bbbukw4XvUMITOoeIMtAzaj/IaGsOCFMuKg=;
 b=X5qi//A0nDjI6TJSdMC6FmZLzqOmcNwl/CQZYsxY0cYl/atqdG642mkBkWa6O8i2wl
 3dTviAi851OC/E4/QWiXwaOn6ve/JtantMRIpmjJ3CA9VJ4blbMj0iLH0PIbf4pk3fln
 0TejD3JeQxxsyENiOw/GYC5vIJIrIsT1Dy3qYQpxQXeikXuR2JRtWm9scS9TW4YCpyxM
 ye8hyTnhRgHYavZtOmIu1G5uwq+wMtZzs1Vpd6lFWF6J7k9C3nqpIErxWc8eETiUwqFN
 29WRtdnx/JCBP3OfHKcK4y50LFiLAbNuh0tu3yhhKwDKrS1vhTe8gfsagthhopleJ4GU
 ci3g==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20230601; t=1766150827; x=1766755627;
 h=content-transfer-encoding:mime-version:user-agent:message-id:date
 :references:in-reply-to:subject:cc:to:from:x-gm-gg
 :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
 bh=dKya1K+9Bbbukw4XvUMITOoeIMtAzaj/IaGsOCFMuKg=;
 b=frPsUxd5QRtJaBXFc0PppZzsV1B3oYc+CyQiAkH9BtMZGxmS09WzcGKGe6oVex2CBV
 hx1DBdzIReqO0St7T0AWPRlKWwS/mbWcvF3IYm9oYZoFc6QKDskDdgvwXARoOgUDnJPx
 u6XkqDw488oj5C9QKw8SRVNdj/bCQ4B16gHR08MMjzwp3Eh1S39GE03msX+aHxRWuu68
 K611BLl9JS+RvkJgmQ0Dd4i7nOYh9ve4UcqEh0BbsPQss66S4CwIlNLgLKy/15f4rP7/
 gxdMVbnnE3+KlNPZ3EuQfaMFVJFAtbqja/n7oX0kFEd5vi1u4wTMFVlKAEtaAdWTcWGr
 QSyQ==
X-Forwarded-Encrypted: i=1;
 AJvYcCUY0M8GaAPZ+6nBueBO+TG/4igC+Bz6VCLQlpUspwXxrN/JKCX7HcdKZyqbzPkMdApJxZVHDA==@debbugs.gnu.org
X-Gm-Message-State: AOJu0YwGtOLKXNFp/xdzNfZt3nkkuLytUY35YO1Ntc4wpOM5yTm80ADH
 v1gXq81B3Yh8U3OzhI0iKevNWVoLoVl0I66rv6l6ntCoPoc2zucjUmNvRZb3lmDF
X-Gm-Gg: AY/fxX5bWYqfByDgsW+KhER7YfrV7H0wf/gqxLu7nunTa730QAM+8wVhoJY/576Ccwk
 Gaqm7OoZZoLFjlj+apb1IKsQsbssKdhiTKYjG26jtITwDbe0tGs8zlF9bS7z6FneC5DxVgBXvXM
 plRsA+OSr1YZlU5xQ/ixIQWK+njYUaSQ3Kyz1mfO/XU4WsML19oMgLxgiLUeCSt19hj9so+br0M
 viSExi7CmfTvrxmp/QLX1onTsOoBbuh39/Sigss+er5FlVkQY6l+gQRg1gWKU6KpuoFo90UPmWO
 HBlZ629Et2DQUy3n8AkAjZPfGYSINC2vquizGx7tigveKLk0o7kZCZnKc3sN1zBB4xOTA9RK12P
 Ap/wz7NbNFVdAiIU009ZCe/ZmNhPyNlSrQ5kVO8jf4aHP5eDWreZMqY7izTFVZW7W26JsWGJpzk
 QEiIECOmniAqOFF7xRdL2+5aVRkKy8CgziyULnhCO2h674LSkAiC9I8jAC7m1Z0L1O2BpxUOWs8
 3Cg/kN6lKTwzD0T8x6hP84=
X-Google-Smtp-Source: AGHT+IHgjLxXZefqmQWPQHibTOX+geowgyxGP7a5udEy4p3OenBWtoJ2tjsmEBjFhRQ6q0q3x56mMA==
X-Received: by 2002:a05:600c:4e42:b0:477:7d94:5d0e with SMTP id
 5b1f17b1804b1-47d1958fcbcmr23198965e9.27.1766150826851; 
 Fri, 19 Dec 2025 05:27:06 -0800 (PST)
Received: from pro4 (p200300e0b709af00d025addc53273618.dip0.t-ipconnect.de.
 [2003:e0:b709:af00:d025:addc:5327:3618])
 by smtp.gmail.com with ESMTPSA id
 5b1f17b1804b1-47d193cba81sm43748905e9.10.2025.12.19.05.27.05
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 19 Dec 2025 05:27:06 -0800 (PST)
From: Gerd =?UTF-8?Q?M=C3=B6llmann?= <gerd.moellmann@HIDDEN>
In-Reply-To: <86jyyi1uou.fsf@HIDDEN>
References: <m2sed7t330.fsf@HIDDEN>
 <cb6eb3af-d985-40ec-a417-bbb17f1d8ac3@HIDDEN> <86ms3e1yph.fsf@HIDDEN>
 <m2ecoqtyzk.fsf@HIDDEN> <86jyyi1uou.fsf@HIDDEN>
Date: Fri, 19 Dec 2025 14:27:05 +0100
Message-ID: <m2tsxmsity.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-Spam-Score: 0.0 (/)
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.0 (-)

Eli Zaretskii <eliz@HIDDEN> writes:

>> From: Gerd M=C3=B6llmann <gerd.moellmann@HIDDEN>
>> Cc: martin rudalics <rudalics@HIDDEN>,  80032 <at> debbugs.gnu.org
>> Date: Fri, 19 Dec 2025 13:52:47 +0100
>>=20
>> Eli Zaretskii <eliz@HIDDEN> writes:
>>=20
>> > IMNSHO, it is conceptually wrong to consider non-top TTY frames to be
>> > "invisible".  They should be considered as "obscured by other frames",
>> > perhaps, but not invisible.  The invisible attribute of a GUI frame
>> > means something that TTY frames simply don't support, and it is
>> > interpreted by various parts of Emacs, including redisplay, in a
>> > certain fashion that will cause us trouble on TTY frames.
>>=20
>> You mean tty root frames, right? It doesn't work for tty child frames as
>> Martin already explained in another thread:
>
> Yes, I mean TTY root frames.  (I admit I don't understand well enough
> the visibility concept of child frames.)

(That's easy: child frames are copied to the resulting frame matrix if
they themselves and all their ancestors are visible. That's the same as
what Cocoa does, for example.)





Last modified: Fri, 19 Dec 2025 13:30:02 UTC

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