Gerd Möllmann <gerd.moellmann@HIDDEN>
to control <at> debbugs.gnu.org.
Full text available.Received: (at 80020) by debbugs.gnu.org; 19 Dec 2025 13:18:05 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Fri Dec 19 08:18:05 2025 Received: from localhost ([127.0.0.1]:38204 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1vWaMv-0003gI-AK for submit <at> debbugs.gnu.org; Fri, 19 Dec 2025 08:18:05 -0500 Received: from mail-wr1-x42d.google.com ([2a00:1450:4864:20::42d]:58829) 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 1vWaMt-0003fW-Az for 80020 <at> debbugs.gnu.org; Fri, 19 Dec 2025 08:18:03 -0500 Received: by mail-wr1-x42d.google.com with SMTP id ffacd0b85a97d-42e2e628f8aso750375f8f.1 for <80020 <at> debbugs.gnu.org>; Fri, 19 Dec 2025 05:18:03 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1766150277; x=1766755077; 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=8GvDGwzHzCZeTl9UHzF78Adl/xHSTiePQ3dO1Je8uU0=; b=FuD1omvfHTvljYZDPvSzmKN1oyxHrYhqtoklm7/EVVt0fqaLJ24Z6InDl8cUl6gOMT HJD36QNoPWOWdcLHUIqX7MBwF3v6xMFXHUok0sQQp4Wv5dkolRwCgN6CzY67vUtHwVQo UoGw5v32OO9N4OTbk1mzlLuk2r/1c/avSw6FeHNb4zSge8DlH0vznPBz8Ue2fNScyXdc WeQqEJKOgdwfRpHjneDBMmwGJIH+TAvkwAxZZEknlWPrK2J7c57g5aannZlS8Fe7hbWL +LS39YE1AC/D0SOwD/xXq4wogClbY30ENMyWo1h59+pDZP/W6qGs55ORDQiEz+l6yYHf JKFw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1766150277; x=1766755077; 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=8GvDGwzHzCZeTl9UHzF78Adl/xHSTiePQ3dO1Je8uU0=; b=mUX+IESAws2KE0MywW04d86gkluWRNzaGj36bHfiFCImcY2kDyuC8p11e8qOVHQeX4 hto5Csi2CSjIThgcTRDuJQy9+r3J0qbO4Lqb3HnsBE1yvJS2idjfSZ7hfw2oPnD6VFTM v4reqgkvsCFG9WyaQw3zJPcTqbFlzP31GvSb81dh/ulVGJWlqIftpMw/TBsJaB8inbU5 Ppfxx/eVQjwyIpVeNCHbmoBG+w4yT4XtsVL9yodsS9N0vbbYE73Y28qfQXiaN1L7B6g9 ANHXg9oseH4mpAONpY1IBNHhs7b8Ul3P7afH09SWWBkS4RX81PzrA/c1F5ct5mSD59YS JRtw== X-Forwarded-Encrypted: i=1; AJvYcCVbwZ2CzvnY6ziTMHJgwalpH9MMKdMFdcFz998UF39wgnPPE4xv3vutCtNXiVGqT7xRda642g==@debbugs.gnu.org X-Gm-Message-State: AOJu0YxdjBKCcre9dj4KUHAbUhEB5w20now9XPqpBWmH35RR+ojPGNpw l+RCZixX5o/MOx8xm/v5+wMKd65AJjcbK41Iux9ixPFYxqs+WeD5N4oFcUAHXaCg X-Gm-Gg: AY/fxX6ASF9Oc0W1k8Df2Gego5Yri9rxue7qYpkFiO1498zoZiBFmJQezzxEuOn4+uA 2j3SZ/VxXVUJ1JI4vux+FFwut4n3LDpeAl/cQuRTckJVnIFgFpYsWL2Lpeh5zMWeEzPzZp/5j3M 0d4dT0imEVh3N0XXYg7l361ln/96IyJ6YLF8ZflDtZGgjpuGOZsegU8yb6hd0fzAZzuHjciuOK3 4fuusLYK+ZmgTTOfKgc7ENTkO5wnf57AKwCteHlnDTBfY1pIEO31TxExVD1a7k+5zkGiitEsDTk P5MyiqjH41MJFYRmT8llIpGdW1jubJ5BEHJemRX0/8AOMYTwimqfEj+GrfsWW5oR3+zbGIJk1OB 2uqOOeAAoU//dVJ2I9NZ4tNZsHP5p7TRajNFmnP6Q+UFul1Lc8eS29FJzJJD28QoYjBArbyQ5YC yClMRTNdzSoMyhp/cGkBdLIctdgSdJS8qes3sbUWGZi/UWnKOGHy6mQmm9Bo9MYCBIwECooGMQo aN4V0p3B3aDfz+viBqqy1N5FC8401cEYg== X-Google-Smtp-Source: AGHT+IGqUZ82KogRyTnUOo3nrIMC0S3CmNaqjvkxAPvC3fCIh0YPo/Y6f6LHLDh/a0iw0ipchoIhiQ== X-Received: by 2002:a05:6000:26cf:b0:42f:b649:6dc9 with SMTP id ffacd0b85a97d-4324e70997cmr3513467f8f.58.1766150276542; Fri, 19 Dec 2025 05:17:56 -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-4324ea2ce09sm4864172f8f.19.2025.12.19.05.17.55 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 19 Dec 2025 05:17:56 -0800 (PST) From: =?utf-8?Q?Gerd_M=C3=B6llmann?= <gerd.moellmann@HIDDEN> To: Yuwei Tian <fishtai0@HIDDEN> Subject: Re: bug#80020: 31.0.50; winner-mode prevents make-frame-invisible from hiding TTY child frames In-Reply-To: <m2pl8c1cyf.fsf@HIDDEN> References: <CAC9=AikfbSxmLmvj+3LY8S9rjcXJtWq36XNBVnmDt=myuF5g-Q@HIDDEN> <86v7i544cb.fsf@HIDDEN> <m2ms3hrww4.fsf@HIDDEN> <CAC9=Ai=7ag_BDJ9S4_CbzuSDbtw+OqGD-H0wsTnY7dDxyZTdNA@HIDDEN> <m2fr99rogd.fsf@HIDDEN> <m2pl8c1cyf.fsf@HIDDEN> Date: Fri, 19 Dec 2025 14:17:55 +0100 Message-ID: <m24ipmtxto.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-Debbugs-Envelope-To: 80020 Cc: martin rudalics <rudalics@HIDDEN>, Eli Zaretskii <eliz@HIDDEN>, 80020 <at> debbugs.gnu.org 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 (-) Gerd M=C3=B6llmann <gerd.moellmann@HIDDEN> writes: > Works well for me (Corfu, Posframe for Vertico, Transient and so on). > Patch attached for what I'm now using in cl-packages.. I've pushed the fix to master now. Thanks for reporting this, Yuwei Tian. And closing.
bug-gnu-emacs@HIDDEN:bug#80020; Package emacs.
Full text available.Received: (at 80020) by debbugs.gnu.org; 18 Dec 2025 17:08:56 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Thu Dec 18 12:08:56 2025 Received: from localhost ([127.0.0.1]:55750 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1vWHUl-0003db-W0 for submit <at> debbugs.gnu.org; Thu, 18 Dec 2025 12:08:56 -0500 Received: from mail-wr1-x433.google.com ([2a00:1450:4864:20::433]:44095) 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 1vWHUi-0003dJ-Cu for 80020 <at> debbugs.gnu.org; Thu, 18 Dec 2025 12:08:53 -0500 Received: by mail-wr1-x433.google.com with SMTP id ffacd0b85a97d-42f9ece6387so314374f8f.0 for <80020 <at> debbugs.gnu.org>; Thu, 18 Dec 2025 09:08:52 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1766077726; x=1766682526; 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=7UzYPqb1qFO26xyOqSaTITYkLHWHgLj89lGJbmVKiZw=; b=jsc+SyxKbVXC1cMDwO4f/1tVLQh9RW9HoF9yQP3L6OyxAXkFDuDpwnYU2lvpCAruCd QisAc+vct4DtraLWWdVuRbhIRdKadyHT0j0s7LbDKWO3EfXSrEx3JQnmSlVnAlouQ4SW AHq1MAlkTKmOKPgiJPrBdDZrQ1AvbJWkGBylrIT+kw9aV9XOap3WyLahxnYLAlwYNiTL 07/DAZ85SkMCfQitqb3rFm4CPyPMi2knJ6Unz3d/EsprJVEbPcgPIBoYFWFNg056sWLF DkiQphJd63OCise2rTgGwAMLGJ8LayDN3M7ySNXraJlDwLICWImMkdrPBDnsd55F59to +qrQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1766077726; x=1766682526; 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=7UzYPqb1qFO26xyOqSaTITYkLHWHgLj89lGJbmVKiZw=; b=abDgWPKWIiJKPnABG/vgC7LzZ4XJoYB53ctdy39Ie2ILAF96aAuPbfjifVfh/qLOlX Rwpijc4oQK9jLGn2cAwUXxR1XJuS9mcLtMqtsKhkjtHSqD/jZoF8OhnPjtYVB45q5suU BSJ7w6y7njF2oc6PYhl7CRfHlcFIe0adFuBfOCyVAHMs0KRb0gt1n9Rsdr/AA/lF9RP8 B4Zw+J0lUyIUEU3Fo+qhzMj1yT9TIlvSVivMtwUiLRSbglK45c7gfAReRp3qF0MDuGxT fh5HXA9JeeLZou1iWDKg62HpPydBRk8ppJsxcmtDBBw2wqbN4SE1YE6pN0xNDJQ8FtIb W6Ww== X-Forwarded-Encrypted: i=1; AJvYcCW9LZFucvkwXYqw3rq0FeLCrLC1Qu0gh6yf0I4/P+/OOotfH2k5qkafDMxD0cOCLcjlkmdBOg==@debbugs.gnu.org X-Gm-Message-State: AOJu0YzbLdpPjlPAqcUszSeJ6kcnmybYEBUPOqL01EORenX762BxFX0I H7XPJhY5mYKD4iwKU1k6TZ5/7zinmVT444cXd3aN3ET4jQh9OGMLF9nki9S+Vex3 X-Gm-Gg: AY/fxX7ITvgBRLUVrbORGdBaFNuEq54iT6dBXqqm/QBEr3dc8Qc8DZwhRMXoWIIJsxo itycRoJ51F+BLdYb9FAAS/M2eyb2k2MIaVeUdMQ8WPOWfAMo4vM2QqDE+hiEphF701RmFMw34OC /sHbznYtljrwcOAVJfl00NN6RznHgtIAnHA3MlJzpzYbc/C4+NaBqRiKl/qp7hSj0aBkMzwNd73 zGhFSyc9L6gkvCZlnVDoRJ9tS+vG3kWBN8cIIgHli62mGTNRVcgE6Nqv70LL2YAdBAsO0IbABZ6 DqYqp5xgVaeJLUNvNIgAU1hqOmKPME3hs3Z0odJKovWclSLxwmOJOJJ0eE1FlNtKQZe3RbKC5un TwugwxcBRkg7d6qtFb32T1tvXBv1phu/fqLfEYf1ldGgfl5/HlqRJ6QKNad0DJiEx4Ki+6MLruT JDts+eRrNeXnoSXMJkCzHF9PHmb74cFo+lv+judp4jQNNC/ABNC9OCcNylB/NzA+DwSpomAkKPe 1y++6SNSOBoVPiYELUG7q8= X-Google-Smtp-Source: AGHT+IEtIvXp0bjRLWZL1LCr/xNbbxFrJb3Ch5mx5OBdg/TNPtEPQRRGAeOld+eQ9xL3quZu+03vIQ== X-Received: by 2002:a05:6000:604:b0:431:a63:d3d3 with SMTP id ffacd0b85a97d-4324e4ca048mr250264f8f.24.1766077725597; Thu, 18 Dec 2025 09:08:45 -0800 (PST) Received: from pro4 (p200300e0b719450045484c7f44b23013.dip0.t-ipconnect.de. [2003:e0:b719:4500:4548:4c7f:44b2:3013]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-43244999336sm5983214f8f.36.2025.12.18.09.08.44 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 18 Dec 2025 09:08:45 -0800 (PST) From: =?utf-8?Q?Gerd_M=C3=B6llmann?= <gerd.moellmann@HIDDEN> To: martin rudalics <rudalics@HIDDEN> Subject: Re: bug#80020: 31.0.50; winner-mode prevents make-frame-invisible from hiding TTY child frames In-Reply-To: <1812f564-5725-4d2c-9e4c-f14451fbba3f@HIDDEN> References: <CAC9=AikfbSxmLmvj+3LY8S9rjcXJtWq36XNBVnmDt=myuF5g-Q@HIDDEN> <86v7i544cb.fsf@HIDDEN> <m2ms3hrww4.fsf@HIDDEN> <CAC9=Ai=7ag_BDJ9S4_CbzuSDbtw+OqGD-H0wsTnY7dDxyZTdNA@HIDDEN> <m2fr99rogd.fsf@HIDDEN> <m2pl8c1cyf.fsf@HIDDEN> <a062e15c-3246-42d2-94bf-65067e6a78fe@HIDDEN> <m2ecos17e9.fsf@HIDDEN> <60f94d51-c062-40ba-bcd6-78a5820d9fb4@HIDDEN> <m25xa4147b.fsf@HIDDEN> <77a95a22-c4dc-49eb-9d9b-7d1253dadfcb@HIDDEN> <m21pks11ov.fsf@HIDDEN> <m25xa3uc87.fsf@HIDDEN> <1812f564-5725-4d2c-9e4c-f14451fbba3f@HIDDEN> Date: Thu, 18 Dec 2025 18:08:44 +0100 Message-ID: <m2v7i3u38j.fsf@HIDDEN> User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 80020 Cc: 80020 <at> debbugs.gnu.org, Eli Zaretskii <eliz@HIDDEN>, Yuwei Tian <fishtai0@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.0 (-) martin rudalics <rudalics@HIDDEN> writes: >> Hm, also I seem to get a visible child on F2 in master and with my >> patch. Hm. > > The worst thing is that I can't even debug it. When I step through > do_switch_frame with GDB after the fourth call induced by the initial > > (defvar frame (make-frame)) > > and get back to the tty frame, it has already switched to F2 just as if > this were a GUI session. So the behavior under the debugger differs > from the behavior without. > Nightmare :-(
bug-gnu-emacs@HIDDEN:bug#80020; Package emacs.
Full text available.Received: (at 80020) by debbugs.gnu.org; 18 Dec 2025 14:43:51 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Thu Dec 18 09:43:51 2025 Received: from localhost ([127.0.0.1]:52997 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1vWFEM-0001YK-Ua for submit <at> debbugs.gnu.org; Thu, 18 Dec 2025 09:43:51 -0500 Received: from mout.gmx.net ([212.227.15.19]:47685) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from <rudalics@HIDDEN>) id 1vWFED-0001XW-L6 for 80020 <at> debbugs.gnu.org; Thu, 18 Dec 2025 09:43:46 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmx.at; s=s31663417; t=1766068995; x=1766673795; i=rudalics@HIDDEN; bh=j3jy2oPG2RI/qhtI/8DqyKSxbnHsIF3pmmsqVfhX5Kk=; 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=Ic6Bjfe+Um5bKMEmr/l+KFPQu4h2EF2r2PuC66DdM0SRTZJmvho+gOL9VLpHV0c+ JMuV2vJYL71YHPia7pJsGGfEQTAX0I2+aWCQxX0ogfAAPtQanDeBW0PIblETJemEm cpox24oMPiokjCT4p7sI2gjV1JQZmDnaLy+oMBa3AZgDbViFnzKxE0Ll+WHneVvi5 C8FrGz7kq+uX2PiF9xQiQoISUe7z6/0xlTtAY4cN6cqrkWyX/uplxrpcUskaqPxWn 3VjovFpJnJc/3w0RjhNixL16GzSs7ds+csw9npHYxJs+qw30tGRVdr+Q39awlP1bn iy2LUR8bc5maK5s/uw== X-UI-Sender-Class: 724b4f7f-cbec-4199-ad4e-598c01a50d3a Received: from [192.168.31.113] ([46.124.142.85]) by mail.gmx.net (mrgmx005 [212.227.17.190]) with ESMTPSA (Nemesis) id 1MsHs0-1vqo4v1uKQ-00w2QT; Thu, 18 Dec 2025 15:43:15 +0100 Message-ID: <1812f564-5725-4d2c-9e4c-f14451fbba3f@HIDDEN> Date: Thu, 18 Dec 2025 15:43:13 +0100 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: bug#80020: 31.0.50; winner-mode prevents make-frame-invisible from hiding TTY child frames To: =?UTF-8?Q?Gerd_M=C3=B6llmann?= <gerd.moellmann@HIDDEN> References: <CAC9=AikfbSxmLmvj+3LY8S9rjcXJtWq36XNBVnmDt=myuF5g-Q@HIDDEN> <86v7i544cb.fsf@HIDDEN> <m2ms3hrww4.fsf@HIDDEN> <CAC9=Ai=7ag_BDJ9S4_CbzuSDbtw+OqGD-H0wsTnY7dDxyZTdNA@HIDDEN> <m2fr99rogd.fsf@HIDDEN> <m2pl8c1cyf.fsf@HIDDEN> <a062e15c-3246-42d2-94bf-65067e6a78fe@HIDDEN> <m2ecos17e9.fsf@HIDDEN> <60f94d51-c062-40ba-bcd6-78a5820d9fb4@HIDDEN> <m25xa4147b.fsf@HIDDEN> <77a95a22-c4dc-49eb-9d9b-7d1253dadfcb@HIDDEN> <m21pks11ov.fsf@HIDDEN> <m25xa3uc87.fsf@HIDDEN> Content-Language: en-US From: martin rudalics <rudalics@HIDDEN> In-Reply-To: <m25xa3uc87.fsf@HIDDEN> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Provags-ID: V03:K1:5jO1jSqA5XnTilfffM6QSyTokMi29DwLs8U8sXIww1reaLvBqkI oizQ3K+DG3H9eOfhrCki4pLEhpmD+tFRICOZ2CsPRbx2Jyi4R1RsPGQfu811ycpNYMlI7YX Lmn2w44qSCGGXDtZkVnPCB7t4r9OolsIY9KhvthneqcR/RWfg07HEeLjgpicfqUFQIn44cb h3kgioEHK0v6SgLdcOMcg== X-Spam-Flag: NO UI-OutboundReport: notjunk:1;M01:P0:3BoOIYM3RT4=;23ROme65cyuY0sGiLFkcW5GzTHD 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 PWZi0qsE= X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 80020 Cc: 80020 <at> debbugs.gnu.org, Eli Zaretskii <eliz@HIDDEN>, Yuwei Tian <fishtai0@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 (-) > Hm, also I seem to get a visible child on F2 in master and with my > patch. Hm. The worst thing is that I can't even debug it. When I step through do_switch_frame with GDB after the fourth call induced by the initial (defvar frame (make-frame)) and get back to the tty frame, it has already switched to F2 just as if this were a GUI session. So the behavior under the debugger differs from the behavior without. martin
bug-gnu-emacs@HIDDEN:bug#80020; Package emacs.
Full text available.Received: (at 80020) by debbugs.gnu.org; 18 Dec 2025 13:54:42 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Thu Dec 18 08:54:42 2025 Received: from localhost ([127.0.0.1]:52303 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1vWESo-0005sy-ES for submit <at> debbugs.gnu.org; Thu, 18 Dec 2025 08:54:42 -0500 Received: from mail-ej1-x62a.google.com ([2a00:1450:4864:20::62a]:54693) 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 1vWESm-0005sh-1R for 80020 <at> debbugs.gnu.org; Thu, 18 Dec 2025 08:54:40 -0500 Received: by mail-ej1-x62a.google.com with SMTP id a640c23a62f3a-b8018eba13cso97858766b.1 for <80020 <at> debbugs.gnu.org>; Thu, 18 Dec 2025 05:54:40 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1766066074; x=1766670874; 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=/aDwTfgbXk9YbG6Xax8zCcFdM6zsbXZZtMQM0nO7Oxc=; b=glzG3MR7I7GAwsL6ZvUrR+zAf3u3hrD3Ivik9nsJILVUR1RQutWIWSEwP6kbCj/8fC gjrXwNTGoAYTujba9oUlERSKP3WwRe98Awsm9IJlnnwOpal+Zsv3LEvW7FUR05Qinfxi 29uc63tYedY0LQsdBUcSOspg8IO3EvjBFiqOXoLB2w2ojAqbvwhYe3/oH4qYveMK/zXt ZedBjehIVME3OlQKITZnCI2CfUXjw9AI6wf4ZpDN/p8mfg6+8F5ZhSbgXS60+UsO7cdG upYkVIjGb3dqgIXy1uuHaX3skhN1ypPIYO8XvErux9puvfwBoSflNuFaCzpOx+bKpvOo IunQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1766066074; x=1766670874; 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=/aDwTfgbXk9YbG6Xax8zCcFdM6zsbXZZtMQM0nO7Oxc=; b=MCnBFQV7TZOkM2oGJOaWNu21Rzl0lOR+VToTfSU/VwkmLP1qpA2NXSXa4xPNgECBSD x45Q+8lYp533rohNO0qmoWq1PwK8Ttjuz9KAxvfMV23yoT+aiKt3/Sl2UmdefbNJbxS/ 9KLkyWUcQ3LsVQzd83kiMmwTQHtiUQCq4/2Nqo+srp3G+D9jD8iBuloU7mg6yFZ7GBZ1 9k29LOCftkjDer57s5SqXjn1krF1KVwdFpLguPNFUR3wBEMc2Lzig9byEC3iNgYltWVO S2rON28V5CLEyrjcM9FBIsvLg9jNg5QQLd023Wf2A8dmevM08cf6vXnLcvVxLmHbEQGQ BapA== X-Forwarded-Encrypted: i=1; AJvYcCVa263S4nPf2wHHHGZrBn06Cqp1zN8LHP6l2pictX3PGlWygiH9S9FDUHJOpQ8Zj8O2hldSig==@debbugs.gnu.org X-Gm-Message-State: AOJu0Yxa2SX6WYAdpEpHQe8AB1xBnkImz/Z1NjRNzvSQEY1uQJOIkcNh 8LBeINPGV+zh6hrVkAgYLU40it0wd/YtI0YhJmqGB4pSAkLduZxxmZgBjLuwUP0n X-Gm-Gg: AY/fxX6x2CZhl2NOZbxRsnLW9Gg2L3Sv4egfczlKV/IZ5Ha899eRwFSpBqOILzNaAh+ u8b30GdqhBVfx8+WQf5kVaVwGd87WldLwBFHxmckiZREdh5roj5hHy0sR5su0+lduPNCUkpIhhq nvANgt71duqtgkG5zqecX1zK2aY4wDj4C5Pjp/DrMoSrF+mHEPuXFFsmwnmQTV/oH9NuRmacRh+ XAnr+Tlt6mN8/x1ukhjZyNiUd/lM6SfLBaSEP9GozbVCYf6lTPUTTYfowo/0zcnrsi4EeNUTk7R z0ORr3cbRf4eMX00U0LN/Py4DoMq5/j0Q/rqGrMJTJkJXJT4s2ByoYYdt5t3QuAvZ83cwqKFlFF c7S1wcnj0K7A1kYLfsr9rAD/QmXEZsSmNxEt5JjJzv2xBvO0k2QkJlwfV67d23c+yrSRKNysCQ1 ppAiM+tinCOOveevl1+KGAzUtPgld7wwVTO/3ElmRMIoQIqD8Ov6EFren0HGgqFUjHowdc6gM4W 1NiBBrMYQCNCnDUhxTSW2Q= X-Google-Smtp-Source: AGHT+IGhM06dSVJ+yjbR0fAr3dNrhwZXdEXOOofy8zYgiLzIbHfM/c8K5huGHLa8e0NwG6PuenBalg== X-Received: by 2002:a17:906:c148:b0:b70:aa96:6023 with SMTP id a640c23a62f3a-b7d236e0348mr2210339566b.24.1766066073433; Thu, 18 Dec 2025 05:54:33 -0800 (PST) Received: from pro4 (p200300e0b719450045484c7f44b23013.dip0.t-ipconnect.de. [2003:e0:b719:4500:4548:4c7f:44b2:3013]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-b80230dc084sm246195666b.28.2025.12.18.05.54.32 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 18 Dec 2025 05:54:32 -0800 (PST) From: =?utf-8?Q?Gerd_M=C3=B6llmann?= <gerd.moellmann@HIDDEN> To: martin rudalics <rudalics@HIDDEN> Subject: Re: bug#80020: 31.0.50; winner-mode prevents make-frame-invisible from hiding TTY child frames In-Reply-To: <m21pks11ov.fsf@HIDDEN> References: <CAC9=AikfbSxmLmvj+3LY8S9rjcXJtWq36XNBVnmDt=myuF5g-Q@HIDDEN> <86v7i544cb.fsf@HIDDEN> <m2ms3hrww4.fsf@HIDDEN> <CAC9=Ai=7ag_BDJ9S4_CbzuSDbtw+OqGD-H0wsTnY7dDxyZTdNA@HIDDEN> <m2fr99rogd.fsf@HIDDEN> <m2pl8c1cyf.fsf@HIDDEN> <a062e15c-3246-42d2-94bf-65067e6a78fe@HIDDEN> <m2ecos17e9.fsf@HIDDEN> <60f94d51-c062-40ba-bcd6-78a5820d9fb4@HIDDEN> <m25xa4147b.fsf@HIDDEN> <77a95a22-c4dc-49eb-9d9b-7d1253dadfcb@HIDDEN> <m21pks11ov.fsf@HIDDEN> Date: Thu, 18 Dec 2025 14:54:32 +0100 Message-ID: <m25xa3uc87.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-Debbugs-Envelope-To: 80020 Cc: 80020 <at> debbugs.gnu.org, Eli Zaretskii <eliz@HIDDEN>, Yuwei Tian <fishtai0@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.0 (-) Gerd M=C3=B6llmann <gerd.moellmann@HIDDEN> writes: > martin rudalics <rudalics@HIDDEN> writes: > >>>> That might be the problem. IIUC the following seems already broken now >>>> on a tty without your patch: >>>> >>>> (defvar frame (make-frame)) >>>> (defvar child (make-frame `((parent-frame . ,frame) >>>> (width . 20) >>>> (height . 10) >>>> (left . 40) >>>> (top . 40)))) >>>> (make-frame-invisible frame) >>>> (select-frame child) >>> >>> Right. The SET_FRAME_VISIBLE in do_switch_frame currently undoes the >>> make-frame-invisible. >> >> But it does not make 'frame' the top frame so display is broken. Why >> does it want to show 'frame' as the top frame here? The two screenshots >> show the state before and after the =E2=80=98select-frame=E2=80=99 call = where F1 is the >> original frame and F2 is 'frame'. > > I think I've misread the code above as "(make-frame-invisible child)". > So please scratch what I said. Sorry for that. > > And I suspect I'm not getting something. For example that you are > describing a bug with the patch? Or without? What should (selected-frame > child) have done? Hm, also I seem to get a visible child on F2 in master and with my patch. Hm.
bug-gnu-emacs@HIDDEN:bug#80020; Package emacs.
Full text available.Received: (at 80020) by debbugs.gnu.org; 18 Dec 2025 11:15:07 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Thu Dec 18 06:15:06 2025 Received: from localhost ([127.0.0.1]:50740 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1vWByM-0001LS-GE for submit <at> debbugs.gnu.org; Thu, 18 Dec 2025 06:15:06 -0500 Received: from mail-wr1-x42a.google.com ([2a00:1450:4864:20::42a]:58458) 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 1vWByK-0001KW-13 for 80020 <at> debbugs.gnu.org; Thu, 18 Dec 2025 06:15:04 -0500 Received: by mail-wr1-x42a.google.com with SMTP id ffacd0b85a97d-42fb2314f52so280579f8f.0 for <80020 <at> debbugs.gnu.org>; Thu, 18 Dec 2025 03:15:03 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1766056497; x=1766661297; 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=Cspexp1GVlC1AlsvoczG2+6jGrT7yhZVQZ4kQJ/II14=; b=XA0oMCedHzVQmtrjN6+S1lCgIvtygz2sdBLI0TFixCReUBDIqHUvwNPe+Emmd0mdbM JIP5hd+ydFe9cOKDN6supktFdcbPQ25UL33ogCn3xu6JlRpvx3HXSvxg7FuBci8gKoRf Pq8oPzxDjNjsZeFVI6E9IqIVqw3Ok1VvBOnsQlB8mY66yEKEZuQxGlSs6AtTcMRhPvDO 1ZKNpYHYWjbdGm1CRPykemH6grr6tV1YnahICkwYS7D1SCPNUb3/QlqoGbQFQbT5Xy20 yNNKv9bwGaCDWWhXOj52QwPEkIxo5CdnvnOMzS/bJCj7vmyfXpAJ9IUmRLIdwIPbTyRi ahJQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1766056497; x=1766661297; 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=Cspexp1GVlC1AlsvoczG2+6jGrT7yhZVQZ4kQJ/II14=; b=i2+yqjHeAvn6i4y8RIVRUY6iLFTM+RIUV/4exGS1Uyaru7MAB1kBp34x3EnrJuCPQV edv1yxkZ3Kfmwi0WO+BguCuwqrvj5z5VTIRSw1zlJuyKqFktgbUk2N062UKjmlQNJUpV OcmhZBOYkjRqkU32CfxnO2Aisc5RNJDVdl6nXnKOevDomZ3tkqfypJLNBahy65UYy3ZJ zH6dKdbBWqjtWnKmVSD58zNFGs9Qq75ggs28BGXDGdx9pc2MuTH308HGSfOf9/Jl+OIJ Kavt/TNrAE9gkpJvz5AM7WTt2oFD/2PCTwYn4q9Byxgntc97XhkYTltratJxYG6Hyf4M dl8g== X-Forwarded-Encrypted: i=1; AJvYcCUueTVf8y+8Hevd1bCrkyRYT13AWaI/Lr/iKbY85la/OgQurBn7K2AIuhZRNqhmjZ2muskunA==@debbugs.gnu.org X-Gm-Message-State: AOJu0YwsMll/pP7CgYqmzcwngH1esqt4DICYKn3RE+awRkAOY73xKZQN +IaSaggTC+V4p2bctlcl2F9fxCLJb40nrO1NWNBDB2NVBVwQ9VHVUzcHwzWy2QYN X-Gm-Gg: AY/fxX7d86gbbx/eOpIhPQXElIJtQI+cfciWsTJTdoGJz2NXG6R3qF/n/veWZczWLiF nK6aVrUqMBppoyVHoCedlHdFGVV4XnKEY03xVQStAU+ENAEfrM2UsCDLI5max52MhSycgOCYv6U 6E1loTwDgZI8iNRyscxRfcozEsITx2qpe1lIc9qtU5iHp9s1dTKCPrjPSuJ1MB253ViA20jKtxj ef+GaZiBXYmmcnHRJ5aTPE8rOPcEOxALfE5yJvdTf5qTxmRJ5T3cHlbdjEmr3IG9bOjcCtTN3Cm tjhDjx6TvWHr5ktITduu/rYWSFV3HnZiPDAVsUaKaQDLL1MsDP2sIgeOC7cvJDPuYEDdFH8NsvE +xRCZqzeY0PIcs40Cd3ffayx+fsZAu5QFNluOIdrbdd+kLLGIUpWPniQw9oCbiv0q9izdpMgMzG 8ds2ME7ziXAYSCiko+DXX7t23uQa/TLYTlefdcygMrJX96YPh2+roTTfZidMoUfBRIHRmAMdfXM J8CePsXQyfqOd7+/yrl8Mg= X-Google-Smtp-Source: AGHT+IEwWtCKK2xXKzNnFu75YXtstfu/QOBK10ipqOVWX9HA8glC7SPFe2RhjEibKYKUIJxXS6gnIg== X-Received: by 2002:a05:6000:2384:b0:431:7a0:dbc2 with SMTP id ffacd0b85a97d-43107a0df48mr8503246f8f.31.1766056497366; Thu, 18 Dec 2025 03:14:57 -0800 (PST) Received: from pro4 (p200300e0b71945007c742d22b8f893e5.dip0.t-ipconnect.de. [2003:e0:b719:4500:7c74:2d22:b8f8:93e5]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-43244934cd4sm4387660f8f.7.2025.12.18.03.14.56 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 18 Dec 2025 03:14:56 -0800 (PST) From: =?utf-8?Q?Gerd_M=C3=B6llmann?= <gerd.moellmann@HIDDEN> To: martin rudalics <rudalics@HIDDEN> Subject: Re: bug#80020: 31.0.50; winner-mode prevents make-frame-invisible from hiding TTY child frames In-Reply-To: <77a95a22-c4dc-49eb-9d9b-7d1253dadfcb@HIDDEN> References: <CAC9=AikfbSxmLmvj+3LY8S9rjcXJtWq36XNBVnmDt=myuF5g-Q@HIDDEN> <86v7i544cb.fsf@HIDDEN> <m2ms3hrww4.fsf@HIDDEN> <CAC9=Ai=7ag_BDJ9S4_CbzuSDbtw+OqGD-H0wsTnY7dDxyZTdNA@HIDDEN> <m2fr99rogd.fsf@HIDDEN> <m2pl8c1cyf.fsf@HIDDEN> <a062e15c-3246-42d2-94bf-65067e6a78fe@HIDDEN> <m2ecos17e9.fsf@HIDDEN> <60f94d51-c062-40ba-bcd6-78a5820d9fb4@HIDDEN> <m25xa4147b.fsf@HIDDEN> <77a95a22-c4dc-49eb-9d9b-7d1253dadfcb@HIDDEN> Date: Thu, 18 Dec 2025 12:14:56 +0100 Message-ID: <m21pks11ov.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-Debbugs-Envelope-To: 80020 Cc: 80020 <at> debbugs.gnu.org, Eli Zaretskii <eliz@HIDDEN>, Yuwei Tian <fishtai0@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.0 (-) martin rudalics <rudalics@HIDDEN> writes: >>> That might be the problem. IIUC the following seems already broken now >>> on a tty without your patch: >>> >>> (defvar frame (make-frame)) >>> (defvar child (make-frame `((parent-frame . ,frame) >>> (width . 20) >>> (height . 10) >>> (left . 40) >>> (top . 40)))) >>> (make-frame-invisible frame) >>> (select-frame child) >> >> Right. The SET_FRAME_VISIBLE in do_switch_frame currently undoes the >> make-frame-invisible. > > But it does not make 'frame' the top frame so display is broken. Why > does it want to show 'frame' as the top frame here? The two screenshots > show the state before and after the =E2=80=98select-frame=E2=80=99 call w= here F1 is the > original frame and F2 is 'frame'. I think I've misread the code above as "(make-frame-invisible child)". So please scratch what I said. Sorry for that. And I suspect I'm not getting something. For example that you are describing a bug with the patch? Or without? What should (selected-frame child) have done?
bug-gnu-emacs@HIDDEN:bug#80020; Package emacs.
Full text available.Received: (at 80020) by debbugs.gnu.org; 18 Dec 2025 10:43:02 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Thu Dec 18 05:43:02 2025 Received: from localhost ([127.0.0.1]:50506 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1vWBTJ-00080E-RF for submit <at> debbugs.gnu.org; Thu, 18 Dec 2025 05:43:01 -0500 Received: from mout.gmx.net ([212.227.17.22]:38843) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from <rudalics@HIDDEN>) id 1vWBTH-0007zu-H3 for 80020 <at> debbugs.gnu.org; Thu, 18 Dec 2025 05:43:00 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmx.at; s=s31663417; t=1766054568; x=1766659368; i=rudalics@HIDDEN; bh=HoM5zdtcu/TJzRZ+SMNsnkVBGEAJJWhzRToI/XBNNLc=; h=X-UI-Sender-Class:Content-Type:Message-ID:Date:MIME-Version: Subject:To:Cc:References:From:In-Reply-To:cc: content-transfer-encoding:content-type:date:from:message-id: mime-version:reply-to:subject:to; b=JN/p8HMw+srIVKLr5hE4PIc6hy6CKzrzSRAD7P51fq+im8zjT/pmKKFwbx9IYLjJ HaRC9Ztr6LICPl7UMlYbU83Rl7RmnjJeHCaE5oK2G0L2aM74FHZOyTwSIha1wz+Vy No/l4oPU4zgwFWziEY5+QfikK9OEwRxcjXj+bP2mMrF8WekqLRMF5J7e4kzTZykeO BKR2vo73Rbg9wvNrQ0o14U3hTAa6Ix/lPsHIZ/q/T1vxRTY1B5zKxJJy1/oDTdmug graxqcF/OFzz/FwN6JXrsZ+ZhHC8y5/gFxeFKNOXrZF1UBUzNEUsKbcUydzzQl4Am JVCg/GGYN94fvYzGkg== X-UI-Sender-Class: 724b4f7f-cbec-4199-ad4e-598c01a50d3a Received: from [192.168.31.113] ([46.124.142.85]) by mail.gmx.net (mrgmx105 [212.227.17.168]) with ESMTPSA (Nemesis) id 1MMXQF-1vEnL619sN-00M2XU; Thu, 18 Dec 2025 11:42:47 +0100 Content-Type: multipart/mixed; boundary="------------PTd6M110wsmuCUVvd8FkHKoy" Message-ID: <77a95a22-c4dc-49eb-9d9b-7d1253dadfcb@HIDDEN> Date: Thu, 18 Dec 2025 11:42:45 +0100 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: bug#80020: 31.0.50; winner-mode prevents make-frame-invisible from hiding TTY child frames To: =?UTF-8?Q?Gerd_M=C3=B6llmann?= <gerd.moellmann@HIDDEN> References: <CAC9=AikfbSxmLmvj+3LY8S9rjcXJtWq36XNBVnmDt=myuF5g-Q@HIDDEN> <86v7i544cb.fsf@HIDDEN> <m2ms3hrww4.fsf@HIDDEN> <CAC9=Ai=7ag_BDJ9S4_CbzuSDbtw+OqGD-H0wsTnY7dDxyZTdNA@HIDDEN> <m2fr99rogd.fsf@HIDDEN> <m2pl8c1cyf.fsf@HIDDEN> <a062e15c-3246-42d2-94bf-65067e6a78fe@HIDDEN> <m2ecos17e9.fsf@HIDDEN> <60f94d51-c062-40ba-bcd6-78a5820d9fb4@HIDDEN> <m25xa4147b.fsf@HIDDEN> Content-Language: en-US From: martin rudalics <rudalics@HIDDEN> In-Reply-To: <m25xa4147b.fsf@HIDDEN> X-Provags-ID: V03:K1:T4xUbBz4QoRq6XIGrL8IeYtU0Fx1GDhXFwvHCyyi2kk5ICKD2q8 Ok21H7l3KUSLb4aMYRy8zcNBZ+FwsponSlCZGJFE/YVBpwALJ35dt3g3Icwj3QX3LuvV8bl Loe5tf6c7/4i5ryDujljiYzUJln7GXDkWZ0GDPKK4wKcpI89oK1wA5x2zVPSmknZb3MAckK Sjornjf3btv7SJOv5z+fQ== X-Spam-Flag: NO UI-OutboundReport: notjunk:1;M01:P0:sXarjgEQp8c=;iya1El+yQHAr16tSDJnzJnMguYg 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 X-Debbugs-Envelope-To: 80020 Cc: 80020 <at> debbugs.gnu.org, Eli Zaretskii <eliz@HIDDEN>, Yuwei Tian <fishtai0@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> This is a multi-part message in MIME format. --------------PTd6M110wsmuCUVvd8FkHKoy Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: base64 ID4+IFRoYXQgbWlnaHQgYmUgdGhlIHByb2JsZW0uICBJSVVDIHRoZSBmb2xsb3dpbmcgc2Vl bXMgYWxyZWFkeSBicm9rZW4gbm93DQogPj4gb24gYSB0dHkgd2l0aG91dCB5b3VyIHBhdGNo Og0KID4+DQogPj4gKGRlZnZhciBmcmFtZSAobWFrZS1mcmFtZSkpDQogPj4gKGRlZnZhciBj aGlsZCAobWFrZS1mcmFtZSBgKChwYXJlbnQtZnJhbWUgLiAsZnJhbWUpDQogPj4gCQkJICAg ICAod2lkdGggLiAyMCkNCiA+PiAJCQkgICAgIChoZWlnaHQgLiAxMCkNCiA+PiAJCQkgICAg IChsZWZ0IC4gNDApDQogPj4gCQkJICAgICAodG9wIC4gNDApKSkpDQogPj4gKG1ha2UtZnJh bWUtaW52aXNpYmxlIGZyYW1lKQ0KID4+IChzZWxlY3QtZnJhbWUgY2hpbGQpDQogPg0KID4g UmlnaHQuIFRoZSBTRVRfRlJBTUVfVklTSUJMRSBpbiBkb19zd2l0Y2hfZnJhbWUgY3VycmVu dGx5IHVuZG9lcyB0aGUNCiA+IG1ha2UtZnJhbWUtaW52aXNpYmxlLg0KDQpCdXQgaXQgZG9l cyBub3QgbWFrZSAnZnJhbWUnIHRoZSB0b3AgZnJhbWUgc28gZGlzcGxheSBpcyBicm9rZW4u ICBXaHkNCmRvZXMgaXQgd2FudCB0byBzaG93ICdmcmFtZScgYXMgdGhlIHRvcCBmcmFtZSBo ZXJlPyAgVGhlIHR3byBzY3JlZW5zaG90cw0Kc2hvdyB0aGUgc3RhdGUgYmVmb3JlIGFuZCBh ZnRlciB0aGUg4oCYc2VsZWN0LWZyYW1l4oCZIGNhbGwgd2hlcmUgRjEgaXMgdGhlDQpvcmln aW5hbCBmcmFtZSBhbmQgRjIgaXMgJ2ZyYW1lJy4NCg0KbWFydGluDQo= --------------PTd6M110wsmuCUVvd8FkHKoy Content-Type: image/png; name="before-select-frame.png" Content-Disposition: attachment; filename="before-select-frame.png" Content-Transfer-Encoding: base64 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 ysvdGvCIwY4gCIIgCIIgCM1aWVkZJrMZs9ns1oCnzgkKGqq0tJSAgAD8/Pwc1uXk5KDT6Wyf /f39adeunaeT4FFms5ljx46RlJSERuM4M0R9+W2JLrb8usNkMnHs2DEqKytJSUkhMjKyUeGE KhdSvyGOj5btYqjfC+l4EwTh4lE90KlWPeAJCQ52OalBvYOd7du3s2XLFqfrbrzxRhISEuyW VVRUkJSURPv27dmxY4fDNu+88w6fffYZRUVFmEwm2rdvz7Fjx+pNoCe4m4+acnNz6dq1K4sW LeK6666zW+cqv95gMpn49ttv2bVrF6GhoYwdO5b+/fs3yb59kV9PqtkOVCoVMTExpKam0rZt 20bH/dFHH/Hoo49iNBpRqVSo1WoKCwsJCAhoULjm5vTp0yxevLjO9WFhYUyZMsUr+/ZVv1Fc XMxXX33FuHHjaN26tcvwzfX4yMnJ4eeff3ZYHhERwa233uqDFF2Ymmv9Lly4kHbt2jF06FC7 5fPnz+eSSy6hX79+bsXnq+NNEAShLrUHOtXkDnjqHeysWLGC5557zum3OoMHD3YYJPj7+zN0 6FDat2/vNL5XX32VV199FYAZM2awatWq+nbvMe7mQy5X+a322muvkZGRwXvvvdeg/VQrLS1l +PDhHDp0iH/84x8UFBTw8ssv89prr/HEE080OF656ZOb3+ZqxYoVvPTSS3Tq1AmLxcKZM2co Li7m1ltvZeHChQ2e7rCyspLHHnuM8ePH8+mnnxIUFMTZs2cdBjBywzVHp06d4u2337Z9Tk9P R6vV2u5KJSUleW2w46t+Izc3l4ceeogOHTrIGuw01+OjoqKCrVu3kpOTw5o1a2jVqhV9+vSh d+/ejYrXU/2ar13o/d9zzz3Hdddd5zDYeeyxx3jyySfdHuz46ngTBEFwRpIkAgICGnWt5PIx tuDgYNnf6qhUKpYuXSo7bFNyJx9yyc3vzp07MTsZkbprzpw5pKWlsXfvXtvdiDfffJNZs2Yx fvx4Onbs2KB45abPnfptrhITE9m/fz9QdQD93//9H7Nnz2bKlCmMGDGiQXHm5ORQXl7OhAkT CAoKAiA2NrbB4ZqjYcOG2R0/0dHRTJ8+nZdffrlJ09HU/YY7muvx0a5dOxYuXAhAeHg4U6dO 5YUXXmh0vJ7q13ztYur/3NWcjzdBEC4OCoUCtbpxb9145J2dVatW8euvv9o+t23blscff7xR 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 JLfdWywWcnNzbY+eVIetzRvlJ4fcduBOe5HTb3grvxs3buSnn36y+6s9GJZzfLiTPneOXzn0 ej1Hjx61/ZhuZmZmo+9au+o3PN2ek5OTWb16NSdPniQ/P59FixY5ffR00qRJREZGMnHiRFau XElmZib79u1j3rx5DcoH+Kb/8zR3zqtyjjfwfDsVBEGoKTMzS3bYjPrCupqNLSQkxOXMCddc c40EOP2744473A4nSZK0bNkyqUePHrb1CoVC6t+/v3T06FG3Z3aYM2dOnfvdsGGDLZzRaJTu u+8+Sa1WS4AUHh4u/fDDD1JERITdLFzu5EOSJCk3N1e67LLLJKVSacvLxo0b3c6HJEnSggUL pOjoaNv+rrjiCik9Pd0uzKhRo6SbbrpJmjFjhm2fCQkJ0tKlS53G6Sp97uT33XfflWJiYmzr BwwYIO3Zs8chfaNGjbJbptfrJUCaO3eubdm2bduklJQUu/0NHTrUbvYfd9RuB1qtVho2bJi0 Zs0au3B5eXnS5ZdfbgsXGxsrLV68WIqKivLqbGyS5Lrdm81mWz3V/ps9e7ZdXJ4uv5rqm41N kuS1A7nh5LY/T+e3ejY2V/2Gp9Pn7vHrSvVMX7X/unTp4rBfOcdlNTn9mifb84EDB6SuXbva 1vfq1UvasGGDBEiHDh2yC7tjxw5pwIABdvH16tXLafk01/5PrpSUFGnmzJkOy0NCQuxmY5Mk eedVufn1dDsVBEGQJPvZ2F565d/Scy++JOtvzr//U+dsbIrYXmOkSS8u5dWR5VQLDtE4zOTi KwUFBeh0OuLi4hr8HL+79Ho9+fn5tGrVyqMvuVZWVpKTk0N0dHSjfnRNkiSysrIICwsjLCzM Yf3o0aPx8/NjyZIltpl5kpOTXU4s4an0WSwWsrKyCAkJISoqqsHxVCssLESn0xETE2P30q23 6XQ6ioqKZJWdp3my3fuq/OS2g5bSXuRylb6GHr++Iqff8GR7zs3NRZIkEhISXIYtLCykuLiY 6Ohop31lTc21//MGT9THhdZOBUG4MCgUCnZsXo8iQMMvS9ybmfW6sdfSpXMn2+cnVwbz3fPX up6NzdeioqKa/IQRGhrqlV+ADgwMbNTLw9UUCoXLX9quHqyGh4fLfobfU+lTqVQencUuMjKS yMhIj8Unl1artc2C19Q82e59VX5y20FLaS9yyUlfQ45fX5HTb3iyPcfHx8sO605baK79nzd4 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 zRqbunJzczV+/HhJUnx8vDIyMqzPryUzZsxQdna23nvvPfXr16/KemdnZwUGBiojI0OS9Npr ryk7O1tvvfWWBgwYoObNm1dbb3x8vDw9PdWrVy/t2rWrQfsAAABwKcIODCM8PFwnT56sdz1j xozR+vXrFRISopCQEElSRUWFTp8+rQEDBljDjlF06dJFf/zjHzV48GCVl5fLycmpShkPDw85 OTmpvLxcPXv21MSJE3X77berrKxMpaWlNY7cpKWlSZLCwsIIOwAA4Koj7MAw/P39dezYsXrV 4ebmptDQUI0dO1Zjxoypsr5ly5b1qv9a9M4772jZsmXWKWrVOXfunMxms3x9fTV//nzFxcXp +++/lyR5e3vr9OnT1b4uLy9PkmzubwQAAHC1EHZgGIWFhfLx8alXHWazWWazWa+++qpmz57t oJZdu3r27KkhQ4aoZcuW2r17tyRZzyVatWqVEhISrBd8SElJ0bPPPquOHTuqa9eu1jo6dOig 7777rtr6K0OOyWRqyG4AAABUi7ADw8jIyFDnzp3rVYfFYtGOHTsUGxvr8LBTVlZ2TV2UQJLS 09P19NNP2yyLiIhQp06dtHr1aiUlJVmXb9y4URMmTNDMmTOVkpIiSYqKilL79u0VHx9fbf1h YWGSVOPIDwAAQEPiamwwjF27dqlHjx7y9PSssYy3t7ciIiIUHBwsDw8PRUZGVhkNmjlzpgYO HKgFCxaoQ4cO8vX1Vbdu3fTMM8+oW7dudW5fUlKSBg0apMGDB8vLy0utWrWSr69vnesLCgpS WlpavW5UeubMGc2bN8/m8dlnn0mSFi9erOXLl1vLvvPOOzKbzQoPD1f37t01aNAgLV++XFu2 bNGePXuqrT86OlolJSXat29fndsIAABQV4QdGMbatWvl7u6uoUOHVrt+zZo1Kigo0PHjxzV2 7FiFh4fr6NGjys/P1+LFi63l1q1bp9GjR+uWW27RL7/8IpPJpMTERI0dO1ZlZWV1bt+sWbO0 a9curV+/XkVFRUpNTVVUVFSd63N3d1ezZs2u2o1K9+/fr4cfflh33HGHEhMTtWnTJqWnp1d7 blOlESNGaP369fXabwAAAHXlFNJjpOX+mWs0Z1ixdaFX02trqg1gr3Xr1qm0tFSjRo1ySH1B QUHy8/NTZmamioqKHFJnkyZNFBoaqrNnz6qgoKBedfn5+amgoOCq3pjU1dVVYWFhys3Nvexl viMiInTs2DGNHj263vc+AgAA14c92zbLycNbX8atuXLhi9w1epQ6d+poff7CWi+teGUU5+zA WJ5//nlt3bpV0dHR2rp1a73ry87OVnZ2tgNa9l8lJSXWc17qqzFO/DebzUpNTb1iudmzZ2vD hg2Gu1Q3AAD47WAaGwxl7969GjdunCIjIxu7Kdc1f39/paam6tFHH5XFYmns5gAAgOsUIzsw nE8//bSxm3Ddy8vL04svvtjYzQAAANc5RnYAAAAAGBJhBwAAAIAhEXYAAAAAGBJhBwAAAIAh EXYAAAAAGBJhBwAAAIAhEXYAAAAAGBJhB4YzePBg3XXXXY3djGvOXXfdpenTpysgIKDKOmdn Z40ZM0Zz5szRjBkzFBUVVW0dvr6+mjJlioKDgy+7rcYqBwAAcDHCDgylbdu2iouLU3l5eY1l nnvuOc2fP/8qtqrxtWvXTp988olee+01BQUF2axzdXXVd999pyVLlqhPnz66//77tXfvXj3w wANV6snPz9dtt92m999//7Lba6xyAAAAFyPswFDmzJmjhIQExcXF1VjmhhtuUGho6FVsVeOb P3++tmzZUu26Rx55RDfffLP69u2r2NhYRUVFKT09XQsWLFDTpk2rlH/++ed19913KyYm5rLb bKxyAAAAlVwbuwGAo7Rs2VL33HOPxo0bV2Wdl5eXHn/8cYWFhWnQoEEqLi7WggULrOuffPJJ VVRUWJ+Hh4friSeeUFRUlAoKChQXF6eVK1fKYrFYy0yePFmpqanKzc3VpEmTFBgYqB07dmje vHkqKCho2M7Wwt13363o6Gg9+OCDGjZsWJX1999/vz7//HMdPHhQkjRhwgQFBATI1dVVw4cP 1//93//ZlE9KSlJ8fLymTJmi9evX17jdxioHAABQiZEdGMaIESPk7Oysr7/+uso6Dw8P9erV S82aNZOLi4tcXV3l7e1tfVysc+fO2rdvn26//XYlJCTIZDJp0aJFWrZsmU25O+64Q7Nnz9bH H3+stLQ0HT58WE899ZR++OEHubm5NWhf7eXl5aV58+bp5ZdfVm5ubrVlevfure3bt0uSAgMD NWvWLM2aNUuJiYnq3bt3ta+Ji4vT8OHDr9jPxioHAAAgMbIDA+nXr5+SkpKUn59fZV1ubq7G jx8vSYqPj1dGRob1+aXmzp2r9PR09evXTyUlJZKk77//Xl9++aU+/vhjffPNN9ay3bt3V8eO HXX8+HFJ0qeffqqdO3fq/vvv13/+8x/HdrAOZsyYoezsbL333nvq169flfXOzs4KDAxURkaG JOm1115Tdna23nrrLQ0YMEDNmzevtt74+Hh5enqqV69e2rVrV43bb6xyAAAAEiM7MJDw8HCd PHmyXnW4ubkpNjZWixcvtgYdSVq9erVOnTqlUaNG2ZTft2+fNehI0q5du5SSkqLBgwfXqx2O 0KVLF/3xj3/U5MmTVV5eLicnpyplPDw85OTkpPLycvXs2VMTJ07Uk08+qbKyMpWWltY4gpKW liZJCgsLu2wbGqscAACARNiBgfj7+ysvL69edQQHB8vV1VWpqalV1qWmpqply5Y2y86cOVOl XGZmpkJCQurVDkd45513tGzZMusUteqcO3dOZrNZvr6+mj9/vuLi4vT9999Lkry9vasdJZNk 3c9+fn6XbUNjlQMAAJCYxgYDKSwslI+PT73rkKr/Me3n51clBFVXzsfHxzoC0Vh69uypIUOG qGXLltq9e7ckWc9NWrVqlRISEqwXckhJSdGzzz6rjh07qmvXrtY6OnTooO+++67a+iv7bTKZ LtuOxioHAAAgEXZgIBkZGercufMVy5WVlVW5KEGlgoICHTlyRDExMfroo4+sy0NDQ9WpUyct WrTIpnz37t3VpEkT65S3gIAAtW/fXitXrqxHT+ovPT1dTz/9tM2yiIgIderUSatXr1ZSUpJ1 +caNGzVhwgTNnDlTKSkpkqSoqCi1b99e8fHx1dZfOY3s9OnTl21HY5UDAACQmMYGA9m1a5d6 9OghT0/Py5ZLSkrSoEGDNHjwYHl5ealVq1by9fW1rn/jjTc0ZswYPfnkkwoODlbnzp21bNky 5ebmaunSpTZ1eXl56e2331ZYWJjatGmjhQsXSlK9Lk4QFBSktLS0et349MyZM5o3b57N47PP PpMkLV68WMuXL7eWfeedd2Q2mxUeHq7u3btr0KBBWr58ubZs2aI9e/ZUW390dLRKSkq0b9++ y7ajscoBAABIhB0YyNq1a+Xu7q6hQ4dettysWbO0a9curV+/XkVFRUpNTVVUVJR1/aJFi/T0 009r+vTpysrK0uHDh+Xt7a3Y2FidPXvWpq5Vq1apvLxcJ0+e1IkTJzRw4EDde++9OnHiRJ37 4e7urmbNml21G5/u379fDz/8sO644w4lJiZq06ZNSk9P15gxY2p8zYgRI7R+/XqVlZVdtu7G KgcAACAxjQ0G8vPPP+uHH37QE088Ue29diplZmbqlltuUZMmTRQaGqqzZ89WuQno/Pnz9e67 7yosLExFRUXKzs6uti5PT09NnjxZf/7zn+Xv76+0tDSVl5fXqx/p6elq3ry5w29MGh8fX+0V 2SRpxYoV+vzzzxUWFqbc3NwaL0wgXZgOd+utt2r06NGX3V5jlQMAAKhE2IGhPP/889q6daui o6O1devWy5YtKSmxnqNSncoRm8upDA95eXn1vhLcxRrjBHyz2VztVeguNXv2bG3YsMHmfkPX UjkAAIBKTGODoezdu1fjxo1TZGRkYzfFkPz9/ZWamqpHH31UFovlmisHAABwMUZ2YDiffvrp VdlOWlqazGbzVdnWtSIvL08vvvjiNVsOAADgYoQdoI4mTJjQ2E0AAADAZTCNDQAAAIAhEXYA AAAAGBJhBwAAAIAhEXYAAAAAGBJhBwAAAIAhXZNXY/P29lZ4eLiOHTum8+fPN1o73NzcFBkZ qSZNmig1NVU5OTmN1paG5u3trdLS0qu+vx293cvVFx4eroqKCp0+ffqydYSGhsrPz8/6vKys TMePH3dI+2rjevr8AQAANIRajewMHjxYd911V0O1xerWW2/V4cOHFRYW1uDbqsnEiRNlMpmU mJio7du3Ky0tTR4eHo3Wnobk6empU6dOafv27b/p7V6pvg8//FD//Oc/r1jPU089pU2bNunA gQM6fPiw1q5d65D21cZv/fPn6+urKVOmKDg4uLGbAgAArmN2h522bdsqLi5O5eXlDdmea0KT Jk00d+5crV69Wj4+PvLw8FBERIRKS0sbu2kNoqysTPHx8YqPj/9Nb9dR9b3wwgtq3ry53N3d tXDhQoe0rTaM8PnLz8/Xbbfdpvfff7+xmwIAAK5jdk9jmzNnjhISEhQXF9eQ7bkmhIaGysvL S59//rnOnTsnSTpz5kwjt6rhlJeXa9SoUb/57dpTn8ViqXWdV5tRPn/PP/+8Dh48qJiYGK1f v76xmwMAAK5DdoWdli1b6p577tG4ceOqrGvdurXGjx+vjRs3asqUKdqzZ4+WLl2q119/XZI0 bdo0nT17VpLk7Oys2NhYDR8+XO3atVNhYaE2bdqkxYsXX/GcjYCAAM2YMUN79uzRsmXLrMub Nm2qxx57TDfffLPc3Ny0YcMGLVy4sE5HwR999FGFhoaqXbt21udDhgyRJK1du1ZfffWVpAvT nDp06CBJSklJ0cKFCzVjxgx169ZNqampmjZtmoqLi+3qb232n6P7GxsbqzvvvNP6PCUlRf/4 xz+qlJs8ebKOHTumzMxMTZo0SWFhYTp69Kjmzp2rU6dOSbrwGfnzn/+sd999V4cOHbJ5/dSp U+Xs7Ky33367VtuVpODgYE2cOFG9evWSh4eHTpw4oc8++0xbtmypdT+kC+ElOjpaEydOVGBg oHbu3Km33npLhYWFV9pd1eLzV3N/k5KSFB8frylTphB2AABAo7BrGtuIESPk7Oysr7/+usq6 kJAQzZgxQ3PnzlVFRYXmzJmjjRs3ysnJSSNHjtT06dOtZYOCgrR06VIFBARo586dysrK0ptv vqmPPvrostv39PRUXFycYmNjbdrg5+en7du367nnnlNycrKSkpL00ksvadWqVfb230bfvn3V sWNHBQQESLowncjb21ve3t4250tkZGSosLBQPXv21NSpU7VkyRINHTpUx48fV4sWLVRcXGx3 f2uz/xzd39zcXJ05c0bl5eUaMWKE7rvvvmrL3XHHHXr55ZcVFxenoqIi7d69W/fcc49++ukn eXt7S5LS09M1atQoTZw40ea13t7eeuONN+Tm5lbr7To5OWnTpk0aN26cjh49qoSEBLVo0UID Bw6sUz8kqU+fPvryyy+VmZmpI0eO6Omnn9b69ett2mcvPn9X7m9cXJyGDx9ep/0LAABQbyE9 RlqeXFVhKS4qtD4k2Tw++OADy4EDB6osl2S58cYbLRaLxXLvvfdaJFmys7MtP/zwg0WS5e9/ /7tlw4YNNuVdXV1tnj/44IOWiooKi5eXl3XZXXfdZbFYLJY2bdpYXFxcLKtXr7akpKRYWrZs afPaefPmWTIzMy0hISHWZT169LBUVFRYRhmuXvoAACAASURBVI4cWW177XlERkZaLBaLZdSo UZctN2nSJIvFYrF8//33FhcXl2rLXKm/tdl/DdVfSZYVK1ZYtm/fXu267777zmKxWCw9e/a0 LhswYIDFYrHYbPe1116zZGRk2OyLBx980GI2my2hoaG13m7btm0tFovFMmLECIf2o0+fPtZl AwcOtFgsFsvDDz9c7WsWLFhgSU5OrnYdn78r9zc6OtpisVgsffv2rdfnkwcPHjx48OBxfTz2 bNts2bt3r2XGzL/U6rF3716bPPPkqgpLSI+RFrtGdsLDw3Xy5MnLltm/f78kKTMzUzt37pQk 5eTk2FzCV5LMZrOcnZ0VFhamHj16qLy8XE5OTgoPD69SZ0lJif71r3+pX79+GjZsWJVLBo8Z M0br169XSEiIunfvru7du1svLTxgwAB7uuYQr7/+eo3ndtjbX3v2X2P29/Dhw9Y2ShemKEmy 6cfSpUvVvHlzDR061Lrs/vvv1/fff6/09PRabzM9PV2pqamaNWuW+vfvX4/W/9e+ffu0Z88e 6/MtW7bo5MmTGjx4cK3r4vN35f6mpaVJUqNeWREAAFy/7Dpnx9/fX8eOHbtsGZPJJEmqqKiw +bez83/zlKenp+bOnauHH35YFotFGRkZ1hPGLy5XafLkyfrDH/6g+Pj4Kvc5cXNzU2hoqMaO HasxY8ZUeW3Lli1tns+bN0+PPfaYzbKBAwcqISHhsv2yx6XnqFSqTX+vtP8au7+XBk2z2Vyl H0ePHtW2bdv04IMPat26dQoICNCwYcP00EMP1WmbpaWlio6O1rx58xQfH6/t27frb3/7m1av Xl2n+iRZzzG62OnTpxUSElKremr7fjSka/HzVykvL0+Sqhz0AAAAuBrsCjuFhYXy8fG5bJmK igrrv2s6yvzmm29q1KhRiomJ0Y4dOyRJXbt2tY4SXOqBBx5QTEyMvvzyS73yyiuaMWOGdZ3Z bJbZbNarr76q2bNnX7EPixYt0saNG22WpaSkXPF19qjp4gq16e+V9l9j97cy3FzJkiVL9Le/ /U2TJk3S73//exUVFVlPrK+L06dPa8yYMYqMjNSzzz6rL774Qm+99ZamTZtWp/qq+xz7+PhY RyDsVdv3oyFdi5+/SpUhpzJAAQAAXE12TWPLyMhwyJHqQYMG6ZNPPrH+8JKknj171lj+3nvv 1Y8//qjJkyfrpZdeUkxMjHWdxWLRjh07FBsba9e29+/fry+//NLmUXnUuaHUtr+X81vorySt XLlSHh4euv322/XAAw9oxYoVDrk/THJysiZNmqSPPvpIY8eOrXM9vXr1kqenp/V5YGCgIiMj lZiYWKt6avt+NIbG/PxVqpy+dunIIAAAwNVgV9jZtWuXevToYfMjsS7S0tIUExOjtm3bKjg4 WHfffbf++te/1lg+Pz9fkrRs2TJ98skn+vjjj9WiRQvr+pkzZ2rgwIFasGCBOnToIF9fX3Xr 1k3PPPOMunXrVq+2Xo6Li4tatGhhDYCV275Ubft7JQ3RXx8fH0VERMjf319eXl5q3779FUfx LicvL09fffWVnnrqKQ0ZMkRLliyp83ZvvPFGTZgwQW3atJG3t7e6deum/v376+eff65zP7y9 vfWvf/1LrVq1UuvWrfX++++rvLxcS5curVIuIiJCwcHB8vDwUGRkZJX6+Pxdub/R0dEqKSnR vn376rxdAACAurIr7Kxdu1bu7u42J57XxbRp0+Tl5aWUlBRlZWXp1Vdftft8jsmTJ6ugoEAf f/yx9TyCdevWafTo0brlllv0yy+/yGQyKTExUWPHjlVZWVm92loTFxcXlZWVKT09XS+//LIk aefOnTKZTHrjjTdsytanv9VxdH/XrFmj/Px8HT9+XMOHD1dUVJSSk5OVn5+vxYsX17mdS5Ys 0cCBA/XLL7/YjCrUZbsvvfSSTpw4oYKCAh08eFAmk0mTJk2qc31vvvmmnJ2ddeLECaWmpqp/ //665557lJqaalNfQUGBjh8/rrFjxyo8PFxHjx6tUh+fvyv3d8SIEVq/fn2D7Q8AAIDLcQrp MdJy/8w1mjOs2LrQq6l3lYLr1q1TaWmpQ+5436JFCzk5OdXpCl01CQoKkp+fnzIzM1VUVOSw eh3heuuvowUGBsrPz09ZWVl1vvnnpfz9/eXv76+TJ0/anK9SV9fy+9FYn7+IiAgdO3ZMo0eP rvYeXQAAAJfas22znDy89WXcmlq97q7Ro9S5U0fr8xfWemnFK6Psu0CBJD3//PPaunWroqOj tXXr1lpt/FIZGRn1en11srOzlZ2d7fB6HeF666+j5eTkKCcnx6F15uXlOfQcpmv5/Wisz9/s 2bO1YcMGffPNNw7fPgAAgD3smsYmSXv37tW4ceMUGRnZkO0BYAD+/v5KTU3Vo48+ar3cNQAA wNVm98iOJH366acN1Q4ABpKXl6cXX3yxsZsBAACuc3aP7AAAAADAb0mNIzv2Tj1xcnJyWGOA xnbngj12lVs9pU8DtwQAAAD1xcgOAAAAAEMi7AAAAAAwJMIOAAAAAEMi7AAAAAAwpFpdevpq CQ0NlZ+fn/V5WVmZjh8/3ogtcgw3NzdFRkaqSZMmSk1NdfiNMn8rwsPDJUmnTp2y+zXe3t4q LS3V+fPnq6yrz+fF1dVVkZGROnXqlAoLC+1uDwAAAK59tRrZOfhrgXYcd9xd52vy1FNPadOm TTpw4IAOHz6stWvXNvg2G9rEiRNlMpmUmJio7du3Ky0tTR4eHo3drEbx4Ycf6sMPP7S7vKen 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 Lisru+JFCfbv368vv/zS5pGX17A3XB00aJA++eQTa9CRpJ49e9apLke/H1Lt9/PVlJ2drYyM DPXt29dm+cXnMFUnqOmF6Wv2fv4BAABw7bAr7HQI8dKJs+dUZq7+0ss33nijJkyYoDZt2sjb 21vdunVT//799fPPP9uUmzlzpgYOHKgFCxaoQ4cO8vX1Vbdu3fTMM8+oW7duNmW9vb0VERGh 4OBgeXh4KDIyssqogb31rVixQjk5OVq5cqWGDRum8PBwRUVFadKkSdX2JykpSYMGDdLgwYPl 5eWlVq1ayde3+ivROYKLi4tatGhhnTpW2ZdLpaWlKSYmRm3btlVwcLDuvvtu/fWvf63zdmvz ftijtvvZHj4+PoqIiJC/v7+8vLzUvn37akeP7Pm8fPjhh7r//vv1yCOPKCAgQP369dPLL798 2e13btFUZeUVSjnLxQkAAAB+a+wKO71a+cpcYdGBX2u+18hLL72kEydOqKCgQAcPHpTJZKry I3fdunUaPXq0brnlFv3yyy8ymUxKTEzU2LFjbc7zWLNmjQoKCnT8+HGNHTtW4eHhOnr0qPLz 823ui2JvfVlZWYqNjdW5c+f0/fffKy0tTQcOHNATTzxRbV9mzZqlXbt2af369SoqKlJqaqqi oqLs2VW15uLiorKyMqWnp1t/eO/cuVMmk0lvvPGGTdlp06bJy8tLKSkpysrK0quvvqqHHnqo ztu2d//Zq7b7+UrWrFmj/Px8HT9+XMOHD1dUVJSSk5OrfA7s/bz85S9/0aJFi/Thhx8qJydH 3377raZPn67c3Nwa23BDG18dOFUgc7mlTn0AAABA43EK6THScv/MNZoz7L9Hrr2aeltPfK/0 yldH5ebsrOmj2ttW4PTf+48EBgbKz89PWVlZKiwsvOyGg4KC5Ofnp8zMTBUVFdW7I/bWFxgY KH9/f509e1b5+fmXrbNJkyYKDQ3V2bNnVVBw7dxUskWLFnJyclJ6errD6nT0+1Gb/Xy1+fj4 KDg4WL/++muVUHfngj3Wfzf3ddfCh7tr9ppj2p1qsim3esrlp78BAACg9vZs2ywnD299GVf1 di2Xc9foUercqaP1+QtrvbTilVH2XaBAksb1D9MLXxzRzxlF6tyiabVlcnJylJOTY1d92dnZ ys7OtnfzDquvNm0sKSlx2EUHHCkjI8PhdTr6/ajNfr7aCgoK7AqvD/ULU+KpAu25JOgAAADg t8GuaWyS1L6Zl/54a1ulm0obsj3ANaGph4vOFJRq/o+pYgIbAADAb1OtbmoyIDKgodoBXFOK Ssv1n22nG7sZAAAAqAe7R3YAAAAA4LekxpGdiy88AFwvuPAAAACAcTCyAwAAAMCQCDsAAAAA DImwAwAAAMCQCDsAAAAADImwAwAAAMCQCDsAAAAADImwAwAAAMCQCDsAAAAADImwAwAAAMCQ CDsAAAAADImwAwAAAMCQCDsAAAAADImwAwAAAMCQCDsAAAAADImwAwAAAMCQCDsAAAAADImw AwAAAMCQCDsAAAAADImwAwAAAMCQCDsAAAAADImwAwAAAMCQCDsAAAAADImwAwAAAMCQCDsA AAAADImwAwAAAMCQCDsAAAAADImwAwAAAMCQCDsAAAAADImwAwAAAMCQCDsAAAAADImwAwAA AMCQCDsAAAAADImwAwAAAMCQCDsAAAAADImwAwAAAMCQCDsAAAAADImwAwAAAMCQCDsAAAAA DImwAwAAAMCQCDsAAAAADImwAwAAAMCQCDsAAAAADImwAwAAAMCQCDsAAAAADImwAwAAAMCQ CDsAAAAADImwAwAAAMCQCDsAAAAADImwAwAAAMCQCDsAAAAADImwAwAAAMCQCDsAAAAADImw AwAAAMCQCDsAAAAADImwAwAAAMCQCDsAAAAADImwAwAAAMCQCDsAAAAADImwAwAAAMCQCDsA AAAADImwAwAAAMCQCDsAAAAADImwAwAAAMCQCDsAAAAADImwAwAAAMCQCDsAAAAADImwAwAA AMCQCDsAAAAADImwAwAAAMCQCDsAAAAADImwAwAAAMCQCDsAAAAADImwAwAAAMCQCDsAAAAA DImwAwAAAMCQCDsAAAAADImwAwAAAMCQCDsAAAAADImwAwAAAMCQCDsAAAAADImwAwAAAMCQ CDsAAAAADImwAwAAAMCQCDsAAAAADImwAwAAAMCQCDsAAAAADImwAwAAAMCQCDsAAAAADImw AwAAAMCQCDsAAAAADImwAwAAAMCQCDsAAAAADImwAwAAAMCQCDsAAAAADImwAwAAAMCQCDsA AAAADImwAwAAAMCQCDsAAAAADImwAwAAAMCQCDsAAAAADImwAwAAAMCQCDsAAAAADImwAwAA AMCQCDsAAAAADImwAwAAAMCQCDsAAAAADImwAwAAAMCQCDsAAAAADImwAwAAAMCQCDsAAAAA DImwAwAAAMCQCDsAAAAADImwAwAAAMCQCDsAAAAADImwAwAAAMCQCDsAAAAADImwAwAAAMCQ CDsAAAAADImwAwAAAMCQCDsAAAAADImwAwAAAMCQCDsAAAAADImwAwAAAMCQCDsAAAAADImw AwAAAMCQCDsAAAAADImwAwAAAMCQCDsAAAAADImwAwAAAMCQCDsAAAAADImwAwAAAMCQCDsA AAAADImwAwAAAMCQCDsAAAAADImwAwAAAMCQCDsAAAAADImwAwAAAMCQCDsAAAAADImwAwAA AMCQCDsAAAAADImwAwAAAMCQCDsAAAAADImwAwAAAMCQCDsAAAAADImwAwAAAMCQCDsAAAAA DImwAwAAAMCQCDsAAAAADImwAwAAAMCQCDsAAAAADImwAwAAAMCQCDsAAAAADImwAwAAAMCQ CDsAAAAADImwAwAAAMCQCDsAAAAADImwAwAAAMCQCDsAAAAADImwAwAAAMCQCDsAAAAADImw AwAAAMCQCDsAAAAADImwAwAAAMCQCDsAAAAADImwAwAAAMCQCDsAAAAADImwAwAAAMCQCDsA AAAADImwAwAAAMCQCDsAAAAADImwAwAAAMCQCDsAAAAADImwAwAAAMCQCDsAAAAADImwAwAA AMCQCDsAAAAADImwAwAAAMCQCDsAAAAADImwAwAAAMCQCDsAAAAADImwAwAAAMCQCDsAAAAA DImwAwAAAMCQCDsAAAAADImwAwAAAMCQCDsAAAAADImwAwAAAMCQCDsAAAAADImwAwAAAMCQ CDsAAAAADImwAwAAAMCQCDsAAAAADImwAwAAAMCQCDsAAAAADImwAwAAAMCQCDsAAAAADImw AwAAAMCQCDsAAAAADImwAwAAAMCQCDsAAAAADImwAwAAAMCQCDsAAAAADImwAwAAAMCQCDsA AAAADImwAwAAAMCQCDsAAAAADImwAwAAAMCQCDsAAAAADImwAwAAAMCQCDsAAAAADImwAwAA AMCQCDsAAAAADImwAwAAAMCQCDsAAAAADImwAwAAAMCQCDsAAAAADImwAwAAAMCQCDsAAAAA DImwAwAAAMCQCDsAAAAADImwAwAAAMCQCDsAAAAADImwAwAAAMCQCDsAAAAADImwAwAAAMCQ CDsAAAAADImwAwAAAMCQCDsAAAAADImwAwAAAMCQXGtasWHDhqvZDgAAAADXsSFDhji8TkZ2 AAAAABgSYQcAAACAIRF2AAAAABgSYQcAAACAIdV4gQKgOiUlJXJxcZGbm1tjN6VRVVRUyGQy SZJ8fX3l4uJi1+vYf7WXnZ2toqIi63M3NzeFhobWuRyuH+fOnZObm5tcXflTZ0S/5feX7yvg 6nHIN8TatWsVGhqqqKgom+Vr1qxRhw4d1KlTpwYpVxdPPfWUbr/9dg0bNswh5RzhyJEjOnTo ULXrBg0apKCgoCrLd+zYoZycHI0YMaKhm2d17tw5LVq0SG3bttXIkSOv2navRUVFRVq+fLkk 6d5771VISMgVX8P+q57ZbNZnn32mdu3a6Xe/+12V9V988YW+/fZbFRYWymw2q2XLlvr444/r XK6xFBYWat26dRowYIBdnxfJ/v/njfF90FD27dunwsJC3XzzzTbLa7v/SktLdd9996lly5Z6 //33G6q5tZadna3NmzdXWe7j46Nbb721EVr023Stvr/2/j239/tq7dq1KioqkpOTk3x8fNS+ fXu1bdu2IbtgVVxcrO+//15Dhw6Vn5/fVdkm0BAcEnb+/e9/6+abb64STt555x39z//8jzWc OLpcXbi7u6tJkyYOK+cIO3fu1KJFi6o9qtOtWzebsLNjxw4tWrRIR44cUUBAwFX5cVNRUSFn Z2d5enpKkry8vCRJ5eXldo9oXEs2bNigEydO6O6775a/v3+Db89o+8/R9u7dq/fff7/GP/aP P/64Hn/8cUnSW2+9pd27d1dbj73lGktOTo7++c9/Kiws7Io/1u39f94Y3wcNKSMjQ3/+8581 ffr0Kutqs/+kC0fKo6Ki1LJly4Zoap2VlZXp559/VnZ2thISEhQcHKzIyEhFRkbWq94VK1bo zJkzevLJJx3U0sZhbz+u1ffX3r/n9n5f/fvf/9a5c+cUGBiovLw85eXlqXfv3nrppZeqPRDq SF5eXtq5c6cSEhL0l7/8pUG3BTSk397Ybx1s2bJFe/bsUa9eveTq6qrs7GytXLlSu3fv1qxZ s+Th4VGrcg3Bw8PjikehDx48qOnTp+u2225Tr169tHbt2gZrz8W2bdumlJQUhYeHy8XFRTk5 OVqzZo1Onz6te+65p8G/cB0tIyND586dU0VFhUPqc3a+/KlvRtt/jrZ582Z17dpVhw4d0rFj x9S+ffsay15pX9e23LXI3v/njfV90JDef/99dejQQdHR0fWuy9nZWX/9618d0CrHCg0N1Ysv vihJGjVqlEaMGKHx48fXu95ffvlF5eXl9a6nsdnbj2v1/ZXs+3t+sSt9X8XGxmrKlCmSLvy/ nz17tp577jn961//avApfBMnTtSjjz6qvXv36oYbbmjQbQENxRBhx2w26+2331ZUVFS10878 /f3l7u6udevWafv27UpKSlLv3r3Vvn17lZaWWkOMveUaS/fu3bVixQoFBQVp5cqVV227TZs2 lY+Pj1JSUlReXq6MjAwFBASoZcuWVf4oHT16VD///LNMJpNcXV3l7e2tVq1aqXPnzjb7r7S0 VAkJCUpLS7Pu2+bNm+vGG2+0jnysXbtWJSUlkqSAgAD1799f27ZtU1pamlxcXDRs2DAFBAQo NzdXhw8f1pkzZ1RUVCQPDw8FBwerV69e1pEbs9msX375RRkZGcrLy5N0YYSn8tyZrl272hxZ tad9F5f94YcflJmZKU9PT3Xu3Fldu3at0/673lRUVOinn37So48+quLiYm3atOmyYed6YO// 88b6PmgoldO7KoNAXe3evVs//fST9XloaKjGjBlTbVmTyaS4uDglJyfr/PnzatGihW655Rb1 6NHDWmb16tVq3ry5fHx89NVXXyk/P19dunTRvffeW+W7wJFWr16tli1bKiAgQF999ZXOnj2r 8PBw3XfffWrWrJmkC989cXFxOnv2rA4cOCAPDw+9/fbb1jqefPJJOTk5WZ+XlJTo66+/VmJi osxms3r37q077rjD5hzCL774QqdOnZJ0Yd/dcccdWrJkiU6cOKHmzZvriSeekIeHhywWi3bv 3q1du3bp9OnT8vT0VM+ePXXbbbdVpgumcwAAFMxJREFU+wN869atio+PV05OjgICAtSnTx/F xMTIycmpVv2ozfublZWl1atXKyUlRZ6enoqOjtaQIUNs9ok9+/la0r17d7322muaMGGC1q1b ZzOaa09/K13u/bhY27ZtFRUVpVWrVhF28JtliLBz9uxZrVmzRmlpadWGnaioKEVFRWnBggWK jo7WwYMHNWbMGHXr1q1O5RpT5SiAo0Yl7NGrVy91795dX3zxhZycnFRcXKwuXbqoV69eNuWS k5O1bt06m2U5OTk6ffq0zY//srIyff7559YT/Cvl5ubaHNHNzMxUQUGBpAujMSaTSSdPnpQk ubq6ysfHx1pu3759ki4cITOZTDpz5oyOHj2qsWPHytfXVwUFBdq4caPN9jIzM63/bt26da3b V+mHH36wnmhqMpmUkZEhNzc3dejQoVb773q0f/9+mUwmRUdH68yZM9q8ebP+93//t7Gb1ejs /X/eGN8HDWXHjh2qqKhQ//7961WPj4+PAgICZDKZtG3bNvn7+1f7Y9hiseipp55SeXm5brnl Frm4uOjkyZNKTEy0CTs//fSTcnJyVFRUpJiYGAUEBOiLL77Qtm3bNH/+/AY7sv7TTz/p3Llz yszM1ODBg9WpUyd988032rRpkxYvXixPT0+VlZUpOTlZ0oVpseXl5Tp37ly19RUVFWnq1KnK z8/X8OHD5eTkpGXLlmnXrl2aM2eOtVxgYKCys7N18OBBbdu2TUlJScrMzFS3bt2UlZVlPWhl Mpn0+uuvq1+/furSpYvy8vK0cOFCJSYmVgmsc+fOVVxcnG688UZFREQoLy9PX375pfUcpdr0 w9739+TJk5o6daqaNWumAQMGyGQy6Y033tDWrVttpknas5+vNZGRkerYsaN++ukna9ixt7/S ld+PS0VHR2vx4sUym82/yYtBAIb41LZo0UKzZ89Wq1ataiyzceNGrV69WkuXLtW3336rV155 RR988IECAgLqVM7RLBaLsrKybJY5OzvXOMXJYrE0aHsutXnzZmVnZ2vUqFE6cOCAtm3bppCQ EJv50mlpaZIu/LG8++67VVFRoZycHOsVcyodOHBAJpNJzs7OGjRokFq3bq3S0lIVFhbafJE+ 9NBDysnJ0cqVK2U2m3Xy5ElFRUWpefPmcnJyspbt2LGjXFxcFBYWJi8vLxUVFWnVqlXKz89X cnKybrjhBvn6+mrMmDEqKCjQt99+K0m67bbb5OvrK+nC6Ett21fJ09NTd955p6QLF9HIz8/X sWPHrGHH3v13Pdq8ebM6deqk4OBgDRgwQB9//LFSU1PVpk2bxm7aNcHe/+dX+/ugIRw6dEgR ERH1Hi3p1KmT9bzO3NxcZWRkVFsuMzNTqampmjNnTrUXxrhYSkqKli1bZj0PY/DgwXriiSf0 448/NuhFbA4ePKgPP/zQOtrZp08fTZ06VQcOHNDvfvc7+fj46IUXXpAkTZ06VYGBgdbnl1q0 aJFyc3O1aNEi64j30KFD9dhjj2nHjh3WfTBkyBANGTJEX331ld566y21atVK7777bpWpVv7+ /vr8889tzjvs1KmTXn/9df3pT3+yhqKDBw8qLi5OkydP1n333Vdt22rTD3vf33fffVdBQUF6 99135e7uLknq27evpk+frtjYWJv3/Er7ubbOnz+vN99802ZZkyZNNHXq1FrXVZM2bdooJSXF +tze/trzflwqKipKpaWlSk5OVufOnR3WB+BqMUTYkXTFOd433HCDXnjhBYWGhmrs2LEKCQmp 9uR0e8s5WmlpaZWjU02bNtWaNWsafNv26N69u9zc3NS6dWs1bdpUfn5+VYb4K4NDbm6uNm7c qK5duyo8PLzKsHhlKGrXrp11xMfb27tKsHNycrIJIVFRURo4cGCVtjk7O6t169bKyspSamqq ysvLrX9oK48Ouri4KDg42OYPs7+/vwIDA6vUZ2/7Kl08XS4iIkL79+9XYWGhTRl79t/1xmKx aMuWLdag2LlzZwUGBmrTpk0aN25cI7cOV1tWVpbdV6lzhKCgIDVv3lwfffSRvL29LzuCHxkZ aXPCeefOnRUaGqp9+/Y1aNhp06aNzbTOyqtwXXpgzB4bN25Unz59lJubq9zcXEkXvmODgoKU mJhY44/6hx56qMZzSlxcXGSxWJSdna38/Hw5OztbD9yFh4dLujBi5+7urrvvvrvWba4rs9ms 3bt36/HHH7f+8JekAQMGqFmzZtq2bZtNfx25n6UL322X/g0wm811qqsmrq6u1mnetelvXd6P yr9VZ8+edWAPgKvnimFnwYIF+vrrr22W/fOf/7Q5al3dfNDq1jm6XG34+voqJiZG0oUQMWrU qHqVs2e/1IaHh4fee+89m2XX0knWISEh1h8iQUFB1YaO3r17q7i4WElJSTp27JiOHTsmf39/ xcTEqHnz5tZyxcXFklTr0bKLp5pd7Oeff9aWLVt0/vx5SbL+wZXqdsS7tu2rnE4nyTryc+l2 7dl/15tDhw4pOztb69at07Zt2yRdCP2bN28m7FyHCgsLr+pIp5ubm9555x0tWLBAU6dOVdeu XfXAAw9owIABVcpW910QEBBgPf+voVx6gKXyYE1tpy2azWZlZ2frxx9/1IYNG6qsz87OrvG1 NY2ylpaW6t1339XatWvl5OSkwMBA69/ni9uXnZ2toKCgqzr9yWQyqby83ObvTqXmzZtX+dHu qP1cyd3dXTNnzqzTa+2Vm5trvRx0bfpbl/fD29tbkmzuC1QX9v5uohzlHO2Kn/YRI0ZUObfg 0ksqenh4KD8/32ZZaWmpSkpKbC7f7Ohyjcme/VIbTk5OioiIqG+zGpWzs7MGDhyo3r17Kykp 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 DHU9u2X6L2EvgFOpQ7txAAAAAElFTkSuQmCC --------------PTd6M110wsmuCUVvd8FkHKoy Content-Type: image/png; name="after-select-frame.png" Content-Disposition: attachment; filename="after-select-frame.png" Content-Transfer-Encoding: base64 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 SVJ0dLSSkpIsr28n48ePV0pKij777DN17Nix2HJHR0d5eXkpKSlJkvThhx8qJSVFM2fOVJcu XVSvXr0S642Ojparq6vatm2rnTt3VmofAAAArkfYgWkEBgbq9OnTFa4nPDxcGzdulK+vr3x9 fSVJhYWFOnv2rLp06WIJO2Zx33336bXXXlP37t1VUFAgBweHYmVcXFzk4OCggoICtWnTRsOH D9djjz2mvLw85ebm3vDMTUJCgiQpICCAsAMAAG45wg5Mw9PTUydOnKhQHc7OzvL391dERITC w8OLLa9fv36F6r8dffrpp1q0aJHlErWSXL58Wfn5+apdu7ZmzZqlqKgorV27VpLk7u6us2fP lvi+tLQ0SbJ6vhEAAMCtQtiBaWRlZalWrVoVqiM/P1/5+fmaMGGCJk+ebKeW3b7atGmjHj16 qH79+tq1a5ckWe4l+u6777R3717LgA9xcXF688031axZM7Vs2dJSR9OmTbVmzZoS6y8KOenp 6ZXZDQAAgBIRdmAaSUlJatGiRYXqMAxDO3bsUGhoqN3DTl5e3m01KIEkJSYm6vXXX7ea16hR IzVv3lwrV65UbGysZf7mzZs1bNgwTZw4UXFxcZKkkJAQNWnSRNHR0SXWHxAQIEk3PPMDAABQ mRiNDaaxc+dOtW7dWq6urjcs4+7urkaNGsnHx0cuLi4KCgoqdjZo4sSJ6tq1q2bPnq2mTZuq du3aCg4O1htvvKHg4OByty82NlbdunVT9+7d5ebmpnvuuUe1a9cud33e3t5KSEio0INKz58/ r8jISKtp+fLlkqT58+dryZIllrKffvqp8vPzFRgYqFatWqlbt25asmSJtm7dqt27d5dYf+fO nZWTk6N9+/aVu40AAADlRdiBaaxbt07Vq1dXz549S1y+atUqZWZm6uTJk4qIiFBgYKCOHTum jIwMzZ8/31Ju/fr16tevnx566CEdPXpU6enpOnjwoCIiIpSXl1fu9k2aNEk7d+7Uxo0bdenS JcXHxyskJKTc9VWvXl1169a9ZQ8q3b9/v5599ln1799fBw8e1JYtW5SYmFjivU1F+vTpo40b N1ZouwEAAJSXg2/rvsaQias09ZFsy0y3mrfXpTaArdavX6/c3FyFhYXZpT5vb295eHjo3Llz unTpkl3qrFGjhvz9/XXhwgVlZmZWqC4PDw9lZmbe0geTOjk5KSAgQKmpqaUO892oUSOdOHFC /fr1q/CzjwAAwN1h97b/ysHFXSuiVt288DUG9AtTi+bNLK/fWeempX8N454dmMvbb7+tn3/+ WZ07d9bPP/9c4fpSUlKUkpJih5b9T05OjuWel4qqihv/8/PzFR8ff9NykydP1qZNm0w3VDcA ALhzcBkbTGXPnj0aOnSogoKCqropdzVPT0/Fx8frhRdekGEYVd0cAABwl+LMDkzn66+/ruom 3PXS0tL07rvvVnUzAADAXY4zOwAAAABMibADAAAAwJQIOwAAAABMibADAAAAwJQIOwAAAABM ibADAAAAwJQIOwAAAABMibAD0+nevbsGDBhQ1c247QwYMEDvvfee6tSpU2yZo6OjwsPDNXXq VI0fP14hISEl1lG7dm2NGjVKPj4+pa6rqsoBAABci7ADU2nYsKGioqJUUFBwwzJvvfWWZs2a dQtbVfUaN26sxYsX68MPP5S3t7fVMicnJ61Zs0YLFixQ+/btNWTIEO3Zs0dPPfVUsXoyMjL0 6KOP6osvvih1fVVVDgAA4FqEHZjK1KlTtXfvXkVFRd2wzO9+9zv5+/vfwlZVvVmzZmnr1q0l Lnvuuef04IMP6v7771doaKhCQkKUmJio2bNnq2bNmsXKv/322xo4cKB69epV6jqrqhwAAEAR p6puAGAv9evX16BBgzR06NBiy9zc3PTyyy8rICBA3bp1U3Z2tmbPnm1ZPnr0aBUWFlpeBwYG 6pVXXlFISIgyMzMVFRWlZcuWyTAMS5mRI0cqPj5eqampGjFihLy8vLRjxw5FRkYqMzOzcjtb BgMHDlTnzp319NNP65FHHim2fMiQIfrmm2906NAhSdKwYcNUp04dOTk5qXfv3vp//+//WZWP jY1VdHS0Ro0apY0bN95wvVVVDgAAoAhndmAaffr0kaOjo3744Ydiy1xcXNS2bVvVrVtX1apV k5OTk9zd3S3TtVq0aKF9+/bpscce0969e5Wenq558+Zp0aJFVuX69++vyZMn66uvvlJCQoIO Hz6sMWPGaMOGDXJ2dq7UvtrKzc1NkZGRev/995WamlpimXbt2mn79u2SJC8vL02aNEmTJk3S wYMH1a5duxLfExUVpd69e9+0n1VVDgAAQOLMDkykY8eOio2NVUZGRrFlqampev755yVJ0dHR SkpKsry+3owZM5SYmKiOHTsqJydHkrR27VqtWLFCX331lVavXm0p26pVKzVr1kwnT56UJH39 9deKiYnRkCFD9O9//9u+HSyH8ePHKyUlRZ999pk6duxYbLmjo6O8vLyUlJQkSfrwww+VkpKi mTNnqkuXLqpXr16J9UZHR8vV1VVt27bVzp07b7j+qioHAAAgcWYHJhIYGKjTp09XqA5nZ2eF hoZq/vz5lqAjSStXrtSZM2cUFhZmVX7fvn2WoCNJO3fuVFxcnLp3716hdtjDfffdp9dee00j R45UQUGBHBwcipVxcXGRg4ODCgoK1KZNGw0fPlyjR49WXl6ecnNzb3gGJSEhQZIUEBBQahuq qhwAAIBE2IGJeHp6Ki0trUJ1+Pj4yMnJSfHx8cWWxcfHq379+lbzzp8/X6zcuXPn5OvrW6F2 2MOnn36qRYsWWS5RK8nly5eVn5+v2rVra9asWYqKitLatWslSe7u7iWeJZNk2c4eHh6ltqGq ygEAAEhcxgYTycrKUq1atSpch1Tyj2kPD49iIaikcrVq1bKcgagqbdq0UY8ePVS/fn3t2rVL kiz3Jn333Xfau3evZSCHuLg4vfnmm2rWrJlatmxpqaNp06Zas2ZNifUX9Ts9Pb3UdlRVOQAA AImwAxNJSkpSixYtblouLy+v2KAERTIzM3XkyBH16tVLX375pWW+v7+/mjdvrnnz5lmVb9Wq lWrUqGG55K1OnTpq0qSJli1bVoGeVFxiYqJef/11q3mNGjVS8+bNtXLlSsXGxlrmb968WcOG DdPEiRMVFxcnSQoJCVGTJk0UHR1dYv1Fl5GdPXu21HZUVTkAAACJy9hgIjt37lTr1q3l6upa arnY2Fh169ZN3bt3l5ubm+655x7Vrl3bsnzatGkKDw/X6NGj5ePjoxYtWmjRokVKTU3VwoUL repyc3PTJ598ooCAADVo0EBz5syRpAoNTuDt7a2EhIQKPfj0/PnzioyMtJqWL18uSZo/f76W LFliKfvpp58qPz9fgYGBatWqlbp166YlS5Zo69at2r17d4n1d+7cWTk5Odq3b1+p7aiqcgAA ABJhByaybt06Va9eXT179iy13KRJk7Rz505t3LhRly5dUnx8vEJCQizL582bp9dff13vvfee kpOTdfjwYbm7uys0NFQXLlywquu7775TQUGBTp8+rVOnTqlr164aPHiwTp06Ve5+VK9eXXXr 1r1lDz7dv3+/nn32WfXv318HDx7Uli1blJiYqPDw8Bu+p0+fPtq4caPy8vJKrbuqygEAAEhc xgYT+fXXX7Vhwwa98sorJT5rp8i5c+f00EMPqUaNGvL399eFCxeKPQR01qxZ+sc//qGAgABd unRJKSkpJdbl6uqqkSNH6i9/+Ys8PT2VkJCggoKCCvUjMTFR9erVs/uDSaOjo0sckU2Sli5d qm+++UYBAQFKTU294cAE0tXL4R5++GH169ev1PVVVTkAAIAihB2Yyttvv62ff/5ZnTt31s8/ /1xq2ZycHMs9KiUpOmNTmqLwkJaWVuGR4K5VFTfg5+fnlzgK3fUmT56sTZs2WT1v6HYqBwAA UITL2GAqe/bs0dChQxUUFFTVTTElT09PxcfH64UXXpBhGLddOQAAgGtxZgem8/XXX9+S9SQk JCg/P/+WrOt2kZaWpnffffe2LQcAAHAtwg5QTsOGDavqJgAAAKAUNww7j88uecjZ660c1d5u jQFwZ+N7AwAA3E64ZwcAAACAKRF2AAAAAJgSYQcAAACAKRF2AAAAAJjSbTkam7u7uwIDA3Xi xAlduXKlytrh7OysoKAg1ahRQ/Hx8bp48WKVtaWyubu7Kzc395Zvb3uvt7T6AgMDVVhYqLNn z5Zah7+/vzw8PCyv8/LydPLkSbu0ryzups8fAABAZSjTmZ1WAbX0+8aeldUWi4cffliHDx9W QEBApa/rRoYPH6709HQdPHhQ27dvV0JCglxcXKqsPZXJ1dVVZ86c0fbt2+/o9d6svrlz5+r/ /u//blrPmDFjtGXLFh04cECHDx/WunXr7NK+srjTP39u1avpsZC6ql3jtjyeAgAA7hI2hx3f WtX13mNNVFho/qeX16hRQzNmzNDKlStVq1Ytubi4qFGjRsrNza3qplWKvLw8RUdHKzo6+o5e r73qe+edd1SvXj1Vr15dc+bMsUvbysIMn7/svAK1a1BbI3vcW9VNAQAAdzGbD7sO7RSgk8nZ 2nkqvTLbc1vw9/eXm5ubvvnmG12+fFmSdP78+SpuVeUpKChQWFjYHb9eW+ozjLKF9YKCgoo0 qVzM8vlb+PNv+r+nWqp1YC0dOJNZ1c0BAAB3IZvCjldNZ3Vq4qnIDaeKLbv33nv1/PPPa/Pm zRo1apR2796thQsXasqUKZKksWPH6sKFC5IkR0dHhYaGqnfv3mrcuLGysrK0ZcsWzZ8//6b3 bNSpU0fjx4/X7t27tWjRIsv8mjVr6qWXXtKDDz4oZ2dnbdq0SXPmzCnXUfAXXnhB/v7+aty4 seV1jx49JEnr1q3T999/L+nqZU5NmzaVJMXFxWnOnDkaP368goODFR8fr7Fjxyo7O9um/pZl +9m7v6GhoXr88cctr+Pi4vTxxx8XKzdy5EidOHFC586d04gRIxQQEKBjx45pxowZOnPmjCSp fv36+stf/qJ//OMf+uWXX6ze/+qrr8rR0VGffPJJmdYrST4+Pho+fLjatm0rFxcXnTp1SsuX L9fWrVvL3A/panjp3Lmzhg8fLi8vL8XExGjmzJnKysq62eYqEZ+/G/f39MUcHU7M0mMhdQk7 AACgSth0GdvvGtSWo4ODdsdnFFvm6+ur8ePHa8aMGSosLNTUqVO1efNmOTg4qG/fvnrvvfcs Zb29vbVw4ULVqVNHMTExSk5O1vTp0/Xll1+Wun5XV1dFRUUpNDRUP/zwg2W+h4eHtm/frrfe ekvHjx9XbGysxo0bp++++87W/lu5//771axZM9WpU0fS1cuJ3N3d5e7ubnW/RFJSkrKystSm TRu9+uqrWrBggXr27KmTJ0/Kz89P2dnZNve3LNvP3v1NTU3V+fPnVVBQoD59+ujJJ58ssVz/ /v31/vvvKyoqSpcuXdKuXbs0aNAg/fTTT3J3d5ckJSYmKiwsTMOHD7d6r7u7u6ZNmyZnZ+cy r9fBwUFbtmzR0KFDdezYMe3du1d+fn7q2rVrufohSe3bt9eKFSt07tw5HTlyRK+//ro2btxo 1T5b8fm7eX9jTqWr3b21Vc3RoVzbBAAAoEJ8W/c1Rn9XaGRfyrJMkozHZ++2TOtik41TF7Kt 5hVNHTp0MAzDMAYPHmxIMlJSUowNGzYYkoyPPvrI2LRpkyHJMjk5OVm9fvrpp43CwkLDzc3N Mm/AgAGGYRhGgwYNjGrVqhkrV6404uLijB71/tYAACAASURBVPr161u9NzIy0jh37pzh6+tr mde6dWujsLDQ6Nu3r1XZskxBQUGGYRhGWFhYqeVGjBhhGIZhrF271qhWrVqJZW7W37Jsv8rq ryRj6dKlxvbt20tctmbNGsMwDKNNmzaWeV26dDEMw7Ba74cffmgkJSVZbYunn37ayM/PN/z9 /cu83oYNGxqGYRh9+vSxaz/at29vmde1a1fDMAzj2WefLfE9s2fPNo4fP17iMj5/xft7/ffD 29/8ahiGYbz59WGr+RX5rDIxMTExMTGZd9q97b/Gnj17jPETPyjTtGfPHqs8M/q7QsO3dV/D pjM73u7VlZyVV2qZ/fv3S5LOnTunmJgYSdLFixethvCVpPz8fDk6OiogIECtW7dWQUGBHBwc FBgYWKzOnJwcff755+rYsaMeeeSRYkMGh4eHa+PGjfL19VWrVq3UqlUry9DCXbp0saVrdjFl ypQb3ttha39t2X5V2d/Dhw9b2ihJsbGxkmTVj4ULF6pevXrq2bOnZd6QIUO0du1aJSYmlnmd iYmJio+P16RJk9SpU6cKtP5/9u3bp927d1teb926VadPn1b37t3LXBefv5v390LW1cvlvNyr V7ifAAAAZWXTPTs1XaopKb30exDS068OXFBYWGj1b0fH/+UpV1dXzZgxQ88++6wMw1BSUpLl hvFryxUZOXKk/vjHPyo6OrrYc06cnZ3l7++viIgIhYeHF3tv/fr1rV5HRkbqpZdesprXtWtX 7d27t9R+2eL6e1SKlKW/N9t+Vd3f64Nmfn5+sX4cO3ZM27Zt09NPP63169erTp06euSRR/TM M8+Ua525ubnq3LmzIiMjFR0dre3bt+vvf/+7Vq5cWa76JFnuMbrW2bNn5evrW6Z6yro/KtPt +Pkrcin3agirWb1aOXoGAABQMTaFnZy8Qrk6l/5jpbCw0PLvGx1lnj59usLCwtSrVy/t2LFD ktSyZUvLWYLrPfXUU+rVq5dWrFihv/71rxo/frxlWX5+vvLz8zVhwgRNnjz5pn2YN2+eNm/e bDUvLi7upu+zxY0GVyhLf2+2/aq6v0Xh5mYWLFigv//97xoxYoSeeOIJXbp0yXJjfXmcPXtW 4eHhCgoK0ptvvqlvv/1WM2fO1NixY8tVX61atUqcl5CQUKZ6yro/KtPt+Pkr4uZyNSxdyrv1 o9oBAADYdBlbWvYVedUs+w3c1+vWrZsWL15s+eElSW3atLlh+cGDB+vHH3/UyJEjNW7cOPXq 1cuyzDAM7dixQ6GhoTate//+/VqxYoXVlJaWVv7O2KCs/S3NndBfSVq2bJlcXFz02GOP6amn ntLSpUvt8nyY48ePa8SIEfryyy8VERFR7nratm0rV1dXy2svLy8FBQXp4MGDZaqnrPujKlTl 56+Id82rl69dvFT6aIsAAACVwaawc+x8thp6u6q6k83PIC1RQkKCevXqpYYNG8rHx0cDBw7U 3/72txuWz8i4OvrbokWLtHjxYn311Vfy8/OzLJ84caK6du2q2bNnq2nTpqpdu7aCg4P1xhtv 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 yqSmpur8+fMqKChQnz599OSTT5a7XZL0yCOP6KefftIDDzygmJgYeXh4aPny5aW+JyoqSr17 95azs3OF1g0AAIAq4Nu6rzH6u0Ij+1KWZZJkNf3zn/80Dhw4UGx+0dSwYUPDMAyjT58+Nywj yYiMjDTOnTtn+Pr6Wua1bt3aKCwsNPr27Vvie2bPnm0cP368QvV16dLFMAzD+POf/1xq+4qm 6Oho45tvvrGprC1TUFCQYRiGERYWVmq5ESNGGIZhGGvXrjWqVatWYhknJyer108//bRRWFho uLm5GZKMDh06GIZhGIMHDzYkGSkpKcaGDRsMScZHH31kbNq0qUL7o7TJ1u28Zs0awzAMo0eP HpZ5ffv2NQzDMEJDQ0t8z9KlS43t27fftA2lfV5iYmKMY8eOGTVq1LDaBoZhGAMGDCjxPZ07 dzYMwzDuv/9+u30emJiYmJiYmJiYSp52b/uvsWfPHmP8xA/KNO3Zs8cqz4z+rtDwbd3XsOnM TmBgoE6fPn3D5YmJiYqPj9ekSZPUqVOnG5YLDw/Xxo0b5evrq1atWqlVq1YqLCzU2bNn1aVL F1uaUq76+vTpo5ycHKvL0m5nU6ZMueG9J/n5+XJ0dFRAQIBat26tgoICOTg4WIZzLrJ//35J 0rlz5xQTEyNJunjxotUQzfbeH2XZzseOHdOmTZssr3fs2CFJatCgQZnXaws3Nze1b99eS5Ys UU5OjmV+0aWEN5KQkCBJCggIqJR2AQAAoPLYdM+Op6enTpw4ccPlubm56ty5syIjIxUdHa3t 27fr73//u1auXGkp4+zsLH9/f0VERCg8PLxYHfXr1y9Tw8tSn7+/v86ePau8vLwyraM0kZGR eumll6zmde3aVXv37q1w3b/88kuJ811dXTVjxgw9++yzMgxDSUlJMgxDkuToaJ1b09PTJUmF hYVW/y4qZ+/9IZVtO18fnovuEbLnwBDX8vLykqOjY7H1lhbiJSktLU2SrEIiAAAA7gw2/bLM yspSrVq1Si1z9uxZhYeHKygoSG+++aa+/fZbzZw5U2PHjpV09YxEfn6+JkyYoMmTJ1e44WWp 78qVKzdtf1nNmzdPmzdvtpoXFxdnl7pLenCmJE2fPl1hYWHq1auX5UxIy5YtFRsbW6zs9YMB XM/e+6Oo3bZu5/z8fLus01ZFo+C5urpazb/ZvThFIacoMAIAAODOYdNlbElJSTYf6T9+/LhG jBihL7/8UhEREZb5hmFox44dCg0NLV9Lr1OW+mJjY1W3bl3dd999NtWdl5d300EJ9u/frxUr VlhNRWcBKku3bt20ePFiS9CRpDZt2pSrLnvvD6ns2/lWSklJUVJSku6//36r+e3bty/1fUWX r509e7bS2gYAAIDKYVPY2blzp1q3bl3sqHiRDh06aNiwYWrQoIHc3d0VHBysTp066ddff7Uq N3HiRHXt2lWzZ89W06ZNVbt2bQUHB+uNN95QcHCwVVl3d3c1atRIPj4+cnFxUVBQULGzBrbW t3TpUl28eFHLli3TI488osDAQIWEhGjEiBEl9ic2NlbdunVT9+7d5ebmpnvuuUe1a9e2ZVOV S7Vq1eTn52cJlEV9uV5CQoJ69eqlhg0bysfHRwMHDtTf/va3cq+3LPvDFmXdzraoVauWGjVq JE9PT7m5ualJkyYlnj2y5fMyd+5cDRkyRM8995zq1Kmjjh076v333y91/Z07d1ZOTo727dtX 7j4AAACgatgUdtatW6fq1aurZ8+eNywzbtw4nTp1SpmZmTp06JDS09OL/chdv369+vXrp4ce ekhHjx5Venq6Dh48qIiICKv7PFatWqXMzEydPHlSERERCgwM1LFjx5SRkWH1XBRb60tOTlZo aKguX76stWvXKiEhQQcOHNArr7xSYl8mTZqknTt3auPGjbp06ZLi4+MVEhJiy6Yqs2rVqikv L0+JiYmWH94xMTFKT0/XtGnTrMqOHTtWbm5uiouLU3JysiZMmKBnnnmm3Ou2dfvZqqzb+WZW rVqljIwMnTx5Ur1791ZISIiOHz9e7HNg6+flgw8+0Lx58zR37lxdvHhR//nPf/Tee+8pNTX1 hm3o06ePZYhsAAAA3FkcfFv3NYZMXKWpj2RbZrrVLH4J1/r165Wbm1vqk+y9vLzk4eGh5ORk ZWVllbpib29veXh46Ny5c7p06VL5e1DG+ry8vOTp6akLFy4oIyOj1Dpr1Kghf39/XbhwQZmZ mRVuo734+fnJwcFBiYmJdqvT3vujLNv5VqtVq5Z8fHz022+/lRpiGjVqpBMnTqhfv343fMYU AAAA7Gf3tv/KwcVdK6JWlel9A/qFqUXzZpbX76xz09K/htk2QIEkvf322/r555/VuXNn/fzz zyWWuXjxoi5evGhTfSkpKUpJSbF19XarryxtzMnJsdugA/aUlJRk9zrtvT/Ksp1vtczMTJvC 6+TJk7Vp0yatXr36FrQKAAAA9mbTZWyStGfPHg0dOlRBQUGV2R7gtuDp6an4+Hi98MILluG9 AQAAcGcp00NNvv7668pqB3BbSUtL07vvvlvVzQAAAEAF2HxmBwAAAADuJIQdAAAAAKZE2AEA AABgSoQdAAAAAKZE2AEAAABgSoQdAAAAAKZE2AEAAABgSoQdAAAAAKZE2AEAAABgSoQdAAAA AKZE2AEAAABgSoQdAAAAAKZE2AEAAABgSoQdAAAAAKZE2AEAAABgSoQdAAAAAKZE2AEAAABg SoQdAAAAAKZE2AEAAABgSoQdAAAAAKZE2AEAAABgSoQdAAAAAKZE2AEAAABgSoQdAAAAAKZE 2AEAAABgSoQdAAAAAKZE2AEAAABgSoQdAAAAAKZE2AEAAABgSoQdAAAAAKZE2AEAAABgSoQd AAAAAKZE2AEAAABgSoQdAAAAAKZE2AEAAABgSoQdAAAAAKZE2AEAAABgSoQdAAAAAKZE2AEA AABgSoQdAAAAAKZE2AEAAABgSoQdAAAAAKZE2AEAAABgSoQdAAAAAKZE2AEAAABgSoQdAAAA AKZE2AEAAABgSoQdAAAAAKZE2AEAAABgSoQdAAAAAKZE2AEAAABgSoQdAAAAAKZE2AEAAABg SoQdAAAAAKZE2AEAAABgSoQdAAAAAKZE2AEAAABgSoQdAAAAAKZE2AEAAABgSoQdAAAAAKZE 2AEAAABgSoQdAAAAAKZE2AEAAABgSoQdAAAAAKZE2AEAAABgSoQdAAAAAKZE2AEAAABgSoQd AAAAAKZE2AEAAABgSoQdAAAAAKZE2AEAAABgSoQdAAAAAKZE2AEAAABgSoQdAAAAAKZE2AEA AABgSoQdAAAAAKZE2AEAAABgSoQdAAAAAKZE2AEAAABgSoQdAAAAAKZE2AEAAABgSoQdAAAA AKZE2AEAAABgSoQdAAAAAKZE2AEAAABgSoQdAAAAAKZE2AEAAABgSoQdAAAAAKZE2AEAAABg SoQdAAAAAKZE2AEAAABgSoQdAAAAAKZE2AEAAABgSoQdAAAAAKZE2AEAAABgSoQdAAAAAKZE 2AEAAABgSoQdAAAAAKZE2AEAAABgSoQdAAAAAKZE2AEAAABgSoQdAAAAAKZE2AEAAABgSoQd AAAAAKZE2AEAAABgSoQdAAAAAKZE2AEAAABgSoQdAAAAAKZE2AEAAABgSoQdAAAAAKZE2AEA AABgSoQdAAAAAKZE2AEAAABgSoQdAAAAAKZE2AEAAABgSoQdAAAAAKZE2AEAAABgSoQdAAAA AKZE2AEAAABgSoQdAAAAAKZE2AEAAABgSoQdAAAAAKZE2AEAAABgSoQdAAAAAKZE2AEAAABg SoQdAAAAAKZE2AEAAABgSoQdAAAAAKZE2AEAAABgSoQdAAAAAKZE2AEAAABgSoQdAAAAAKZE 2AEAAABgSoQdAAAAAKZE2AEAAABgSoQdAAAAAKZE2AEAAABgSoQdAAAAAKZE2AEAAABgSoQd AAAAAKZE2AEAAABgSoQdAAAAAKZE2AEAAABgSoQdAAAAAKZE2AEAAABgSoQdAAAAAKZE2AEA AABgSoQdAAAAAKZE2AEAAABgSoQdAAAAAKZE2AEAAABgSoQdAAAAAKZE2AEAAABgSoQdAAAA AKZE2AEAAABgSoQdAAAAAKZE2AEAAABgSoQdAAAAAKZE2AEAAABgSoQdAAAAAKZE2AEAAABg SoQdAAAAAKZE2AEAAABgSoQdAAAAAKZE2AEAAABgSoQdAAAAAKZE2AEAAABgSoQdAAAAAKZE 2AEAAABgSoQdAAAAAKZE2AEAAABgSoQdAAAAAKZE2AEAAABgSoQdAAAAAKZE2AEAAABgSoQd AAAAAKZE2AEAAABgSoQdAAAAAKZE2AEAAABgSoQdAAAAAKZE2AEAAABgSoQdAAAAAKZE2AEA AABgSoQdAAAAAKZE2AEAAABgSoQdAAAAAKZE2AEAAABgSoQdAAAAAKZE2AEAAABgSoQdAAAA AKZE2AEAAABgSoQdAAAAAKZE2AEAAABgSoQdAAAAAKZE2AEAAABgSoQdAAAAAKZE2AEAAABg SoQdAAAAAKZE2AEAAABgSoQdAAAAAKZE2AEAAABgSoQdAAAAAKZE2AEAAABgSoQdAAAAAKZE 2AEAAABgSoQdAAAAAKZE2AEAAABgSoQdAAAAAKZE2AEAAABgSoQdAAAAAKZE2AEAAABgSoQd AAAAAKZE2AEAAABgSoQdAAAAAKZE2AEAAABgSoQdAAAAAKZE2AEAAABgSoQdAAAAAKZE2AEA AABgSoQdAAAAAKZE2AEAAABgSoQdAAAAAKZE2AEAAABgSoQdAAAAAKZE2AEAAABgSoQdAAAA AKZE2AEAAABgSoQdAAAAAKZE2AEAAABgSoQdAAAAAKZE2AEAAABgSoQdAAAAAKZE2AEAAABg SoQdAAAAAKZE2AEAAABgSoQdAAAAAKbkVNUNwJ3D0dFRXl5eysvLU0ZGRlU3p0o5OzurSZMm kqRTp04pJyfnpu9h+5WPv7+/PDw8LK/z8vJ08uTJcpfD3cPd3V25ubm6cuVKVTcFleBO3r98 XwG3jl3CztChQ3Xy5ElFR0dbzX/55Ze1Z88e7dq1q1LKlceWLVs0d+5c/fvf/7ZLOXvo0KGD OnbsWOKyb7/9VomJiZbXdevW1eDBg9W4cWMlJydr1apV+uWXXyq9jZLk7e2t8+fPKyoqSv37 978l67xdBQQE6PDhw5Kk+++/36bPJNuvZM7Ozvrzn/+sgwcPavXq1cWWjxkzRi+88ILq1Kkj Z2dnnThxQkFBQeUuV1U8PT31zDPP6Pvvv9fp06dvWK569ep6+eWXi80/cuSI1q9fX5lNvC10 795dnp6eWrFihdV8W7dfEVdXV505c0YnTpxQ+/btK6u5Zebv769BgwYVm5+amqqvvvqqClp0 Z7pd96+tf89t/b4aOnSoateuLcMwdPHiRR04cECxsbGV2ocitWvX1tChQ7V06VJduHDhlqwT qAx2CTsffPCBVqxYUSyczJgxQ1OnTrX8ELR3ufLIzc1Vdna23crZw6OPPqoPPvigxKM627Zt s3w5RkREaM6cObp8+bIOHDigxo0ba8qUKXruuecq9Y9k9erVlZeXp5SUFBUWFurcuXOSJBcX F125ckWFhYWVtu7KMHfuXIWFhemhhx7SkSNHKn19Ztt+9tarVy9NnTpVJ06cKDHsvPPOO3rn nXckSZ999plCQ0NLrMfWclXFz89Ps2bN0vHjx0v9se7v769Zs2YpISFBeXl5lvkrVqwwfdhp 2LChoqKi9Ic//KHYMlu3X5G8vDxFR0frxIkTldHUcnN1ddUDDzwgf39/9ejRQ7/99pv27dun /fv3V6jet956S/fcc49effVVO7W0atjaj9t1/9r699zW76sPPvhA7u7uSkpKUt26deXr66sf f/xRzzzzjNWB0MqQkZGhRx99VD179tQTTzxRqesCKtNdcRnbwIED9fDDD2vz5s3Ky8uTv7+/ 3nzzTYWGhmrgwIGWUGNrucqQnZ1906PQJ06c0JQpUzRz5kzl5+fLwcFBS5cu1YwZMyo17Eyb Nk39+/fXxo0bdeXKFbVs2VI//PCDunfvro4dO+rgwYOVtu7K0KVLF9WrV0/Ozs52qe9mYcVs 28/eBg0apO3bt6tjx45q06ZNqT/6CgoKbKrT1nK3o7p160qSunXrplOnTlVtY26xqVOnau/e vYqKiqpwXQUFBQoLC7NDq+zr5MmTGjp0qCQpLS1N8+bN04QJEypc7+9+9zs5Od35f9Jt7cft un8l2/6eX+tm31eLFi3Sa6+9Junq369FixZpzZo16tChQ6Vfwvf222/r0KFD6tWrlzZu3Fip 6wIqy53/zairR85nz56trVu3lnjZWXJysnJycvTss8/qscceU6dOnbRp0yYdOHBArq6ulhBj a7mqsmvXLquzWoZhaPXq1QoPD1edOnWUmppaKev97bffdOrUKT3++ONycXFR586d9csvv2jz 5s1ydXW1KjtkyBC9+OKLaty4sXJycpSQkKD169frX//6l9LS0izlvLy8NHbsWIWGhsrLy0sX L15UTEyMJk2apLNnz0qSvv76a3l5eUmSYmNj9e6772ratGkKDQ1VTk6OnnrqKR0+fFj33Xef XnzxRf3+97+Xv7+/0tLStGfPHn300Uc6duyYJMnNzU1/+MMf1KlTJzVt2lSS9M9//lOXLl2S JH3++edavnx5mdpXxNPTU4sWLdLvf/97nT9/XvPnz9c///nPcm2/u021atX0+OOPa/z48apV q5YGDx5c4SPcd7qisJOUlFTFLbm16tevr0GDBlmCQHmFhobq8ccft7yOi4vTxx9/XGJZHx8f DR8+XG3btpWLi4tOnTql5cuXa+vWrZYyI0eOVHx8vFJTUzVixAh5eXlpx44dioyMVGZmZoXa WpqRI0fqxIkTOnfunEaMGKGAgAAd/KyZ0wAAFF5JREFUO3ZMM2bM0JkzZyRd/V57+eWXFRAQ oG7duik7O1uzZ8+21DF69GirgzE1a9bUSy+9pAcffFDOzs7atGmT5syZo9zcXEuZMWPGWL4j 4+LiNGfOHI0fP17BwcGKj4/X2LFjlZ2dLUdHR4WGhqp3795q3LixsrKytGXLFs2fP7/EH+D9 +vXTgAED5Ofnp/Pnz2vDhg1asmSJCgsLy9SPsuzfwMBAvfLKKwoJCVFmZqaioqK0bNkyGYZR pu18O/npp580cOBA7d27V88884zmzZtnWWZLf4uUtj+uFRsbq+joaI0aNYqwgzuWKcJO/fr1 NWzYMDVr1qzEsBMdHa3o6GhFRkbq+++/V5cuXfTxxx9r27Zt5Sp3O7n33nuVk5Oj9PT0SlvH Rx99pE8//VTbt29Xfn6+6tevr3nz5umjjz6yKhcREaElS5ZYzQsODlbXrl01d+5cyzwPDw9t 27ZNzZo1s8xr1KiRWrRoobFjx1rmPfDAA2rQoIEkqWPHjgoKClLfvn0lSZcvX7Yc9e7UqZPe fPNNSdKVK1cUFBSkDh066A9/+IPatGmjkydP6t5777UKIEV1FlmzZk2Z21dk4cKFCggIkCQF BQWpc+fOyszM1NKlS8u0/e5G3bp1k4+Pj6KionTvvfdq0KBBev/996u6WVWqbt26SktLs2nQ CzPp06ePHB0d9cMPP1SontTUVJ0/f17e3t4KCwtTcnJyiT+GHRwctGXLFjk5Oenbb7/VlStX dN9996lr165WYad///7y8/OTh4eHFi9erHPnzmnMmDEKCwvTgw8+WGlH1vv37y93d3c1aNBA X3/9tXbt2qUXX3xRgwYNUnBwsLKysuTi4qK2bdtKunrgwMnJSe7u7iXW5+HhoejoaHl5eWnh woUqLCzUuHHj1Lt3b8v3qnQ1ZPv7+6tLly4KCwtTp06d1KBBA23btk0BAQGWg37e3t5auHCh Vq9erZiYGNWtW1fTp09X165diwXWOXPmaPjw4Vq/fr0OHTqkunXr6k9/+pPlioSy9MPW/dui RQtFR0frzJkzWrlyperWrat58+apX79+evrpp8u0nW83+/bt0+7du/X4449bwo6t/ZVuvj+u FxUVpQkTJsjZ2fmOHAwCMEXYKTpqXtr9F08++aRGjhyp5s2b68UXX9S3336rdu3aWe6fKGs5 e3NwcFBgYKDVvMLCwmJnEa5Vs2ZNDR8+XMuXL6/0+z5mz56t1q1bq0+fPhozZoymTp2qHTt2 WP0o6N27tyTp0KFD6tatm5ydnRUcHCxfX1+r0cdGjx6tZs2aKT8/X3/605+0Zs0a1alTR4GB gZYzLdLVgNG6dWvt27dPNWvW1KOPPqrZs2drx44dKiws1OXLlyVdPcWfk5OjH3/8UUlJSQoI CNCWLVvUpEkTDRkyRFOmTFFcXJzatWunhg0b6rvvvpMkDR482HK992+//Vbm9hVJTk5Wjx49 5OjoqP/85z9q1KiRwsPDLWHH1u13Nxo0aJB27dql3377TStXrtS7776r++67zzL4w93Ix8dH 7u7uunjxojw9PZWYmKhly5Zp/Pjxt+UPL3vp2LGjYmNjKzxS4bVnwOvVq6eGDRuWWK5BgwZq 2bKl+vbtq//85z+l1tmqVSs1a9bMch/G119/rZiYGA0ZMqRSB7Hp0qWL2rZtaznbuWHDBkVH R6tbt25avXq1UlNT9fzzz0u6erAuKSnJ8vp6EydOlK+vr0JCQnT+/HlJ0rJly7Rv3z717dvX cr/csmXLtGzZMo0YMUKfffaZjhw5oo4dOxa71Co5OVkBAQHKz8+3zNu1a5f+/e9/a8SIEZZQ 1KVLFw0fPlxvvPGGZsyYUWLbytIPW/fvjBkzlJiYqI4dO1oOHKxdu1YrVqzQV199ZXV/4M22 c1m5uLhYHeCTrl7aNnr06DLXdSOHDx9Wq1atLK9t7a8t++N60dHRcnV1Vdu2bbVz50679QG4 VUwRdiTp+++/L3X5jz/+qOeff15xcXH66KOPlJCQoOTk5HKXszc3NzclJCRYzUtPT5enp2eJ 5R0cHPSvf/1Lrq6uGjduXKW37/PPP1d2drbWrFmjxMREHT16tNjlRkXBITg4WHPmzNHcuXO1 YcOGYqfQH3nkEUlXR6b54osvJEmnT58uVp9hGFYhZPbs2RozZkyxtuXl5Wn16tXq0KGD+vTp I1dXV8slc0WXBOXm5mrfvn1WR8uPHDmiQ4cOFavP1vYV+fjjjy2Xy61cuVKvvfZaseBqy/a7 2zg4OGjgwIH67LPPJEkxMTFKSkrS4MGD9eGHH1Zx66rO3LlzlZCQoLi4ODk6Oqpnz556//33 1aJFC6sj8GYTGBho08AD9pKYmKj4+HhNmjRJaWlppZ7B37dvn9UN5zt37lRcXJy6d+9eqWHn 8OHDVt8TRaNwXf/9Yovw8HBt3LhRvr6+8vX1lfS/A2pdunS54Y/6KVOm3PCekvz8fDk6Osrf 31/e3t4qKCiwHLg7evSopKtn7HJycqwuS6tszs7OCg0N1TvvvGP1nb9y5UqdOXNGYWFhVv21 53aWrn63Xf+32173iBbJy8uTm5ubpW5b+1ue/VH02yQgIICwgzvSTR8qGhkZqaysLKupXbt2 VmVKuh60pGX2LlcWKSkpWrx4saSrIeKLL74o8WyIreVs2S5lcfnyZYWEhFhNnTp1umH5yMhI 9e/fX08++WSxkFQZYmJiLKPj7N+/X2PGjCl2BHbatGmaPXu2CgoKFB4ernXr1unw4cPFhuH0 8/OTpDIfvV+3bl2J859//nmre4NmzpxpuSTCwcGhTOsoT/uuvYm86MyPo6P1fy1btt/dplOn Tqpfv76eeeYZbd++Xdu2bZOrq2uJw/LeTTIyMrR8+XLt2rVLMTExmjp1qt577z316dNHzZs3 r+rmVRpPT0+r+/oqW25urjp37qwTJ04oOjpaP/30k9W9INcqOhNyrXPnzllCQ2W5/sx+0VmU 679fbsbZ2Vn+/v6KiIjQvn37rCY/Pz/Vr1//hu+90aMNXF1d9dlnnykjI0O//vqrvv32W33w wQfF2ufv76+zZ89ajSxY2Xx8fOTk5KT4+Phiy+Lj44v1117buUhOTo4GDx5sNT333HPlqutG 6tWrZxkOuiz9Lc/+KPp/ee1zgcrD1t9NlKOcvd30zM68efO0efNmq3lxcXFWr7Ozs+Xt7W01 z9XVVTVr1rS67Mfe5aqSLdulLAoLC0s8y1CSGTNmaPjw4XriiSf0448/lnud9pafn69XX31V 06dP14gRIzRs2DA1b95cP/74o5o0aWIZJrPoyFPRWRdblbTvXV1d9fnnn6t69ep69913NWvW LF26dEmLFy/WU089Va5+lLV9d9u9FfYyaNAg/fbbb1aX+x04cEDDhg1TkyZNbrshZatS0VmH e++995YMl14VsrKyVKtWrVu6zrNnzyo8PFxBQUF688039e2332rmzJnF7s0r6UderVq1Kv1A 07WXiFW0nvz8fE2YMEGTJ08u03tvdI/G9OnTFRYWpl69emnHjh2SpJYtWxZ7BsyVK1du+X4t utyzpP3m4eFRLBTYazvfKkUD3SxYsEBS2fpbnv1RVG9F7w229XcT5ShnbzcNO/v377/p5TbH jh2zunZUkuX1tX+Y7V2uKtmyXSrDJ598omHDhql///43PNNRVXr37q2DBw/q9OnT+stf/qLF ixfr4MGDcnV1VatWrSxhZ//+/WrVqpWGDBmiyMhIHT9+XNLVhwn+/PPPZTri1LBhQ1WvXl2S tHz5cl26dEmenp7q0qVLieVTUlIs/27Tpk2JAdOe7cONPfHEE1q6dKnVsLvVq1dXRESEBg8e rGnTplVd424zLVu2lKRbepnXrZaUlKQWLVpUybqPHz+uESNGyMHBQREREcXCTqtWrVSjRg3L gY06deqoSZMmWrZsWVU0t0R5eXk3vKnfMAzt2LFDoaGhZQ47N9KtWzctXrzYEnSkq9+p14uN jdXw4cNtvhevtH7YKjMzU0eOHFGvXr305ZdfWub7+/urefPmViOY3Yn++te/ysPDQ//6178k la2/Zd0fkiwD8JR2D7EtbP3dRDnK2Vv5ztFeZ9GiRWrbtq3+9re/qWXLlnrwwQf16aef6vTp 01ZnHuxdroi3t7cSEhL0ySef2KM7t63IyEiNHj1an376qRwdHfXoo49aptvhCdKvv/66zpw5 o6SkJO3Zs8cyTGV+fr7VpRCzZs1SQUGBvL29dfjwYR09elQXLlzQpk2bLMHlvvvu05dffqn/ /ve/lvctWLBAS5YsUc+ePS3zTp8+bbkRduvWrVq1apWOHj1q+XK+XnJysiUwz58/X/v379fR o0et7hGxpX2omPbt26thw4ZauXKl1fy8vDytWbOm2KVs7u7uatSokXx8fOTi4qKgoKASj07a Wq4qPfjgg8Uucbn2TPa4ceM0ePBgtWzZUsHBwRo+fLg++ugjrVmz5rY52FMZdu7cqdatW990 OPabbT/p6lmXRo0aydPTU/+/vfuJiSJN4zj+awpcbLrpDiCIjdD+wSWiHAg7GwWNQcOBkXWN ifGCiQcSLnoxMRLJbtwYkYvRxBgvJsYYo1xm4+KG6EXHhImOElmj4sGMDrMmIooRmIVF+tnD LD1poaH5M3SL30/ynt6nqp63qro6T6reKrfbrVWrVo07D8rKylRXV6eCggJ5PB4VFxdrw4YN 6urqGrdNt9ut06dPKxAIqKCgQOfOnZOkGc/X8Xq9WrNmjRzHUU5OjvLy8mY9p+Px48favHmz tmzZIrfbreXLlys9PT3cf/ToUW3atElnzpxRYWGh0tPTVVxcrIMHD6q4uDgc5zhOxKNtY7Gf 6u7u1tatWxUMBpWVlaWdO3eqqalpXNyVK1f07t07Xb16VVVVVcrLy9P69etVX18/o3FIsR3f 5uZm7d69WwcOHFBWVpaKiop06dIl9fX16eLFi7Hv2BlwHCfi/3msfTqPJ9brVV5eniorK1Vb W6tr166poaFBhw8fjvhGW6zjne7xkKSNGzdqaGhIDx8+nIO9A8RBdkm1HfgmZD8PDoSbpGm3 I0eO2IcPH2zMgwcPbN26db95nCTLzc21oaEha2lpmVHu8W6NjY02MDD1fn/x4oVF09bWFvdx NDU1RRwzM7Ouri7btWvXuNgdO3bYs2fPwnGhUMhu3bplixYtMkm2Z8+eqGM9ceJExLpqa2ut v7/fzMxGRkbs/PnzVldXZ2Zmp06dGrft0tJS6+zsDK9vdHTUDh06NK38gsFguK+srCy83LFj x8zM7P79+3E/Honcjh8/br29veY4zri+sWNfUFBgkqy1tTXquXDhwoXwcrHGxasVFRVFza+i oiIc19DQYH19feG+gYEBO3nypHm93riPYT72z9dffz2r/RfreVBWVjbumnrnzh1buXJlxHbb 2tqspaXFzp49a6Ojo2Zm9urVq6h5TtXKy8snzO3p06fjtvvpdd3j8ZiZWX19/bj15uTk2O3b t8M5hkIhKy8vj4iprq62R48ehbcZCoXs3r17VlhYaJLMcZzw8p9qbm6OWNfatWvtyZMn4f7O zk6rqKgwM7OioqKI2NLSUrt7927E+jo7OyfcP1ONYzq/8/3791tPT0+4/+7du1ZSUjKr/TxV a2xsjJrfTM7TsXM0FApZb2+vXb9+3aqqqibcdizjne7xkGQ3btyw1tbWuF8jaF9Oe/Ddt9bR 0WF/Ofq3abWOjo6IeubANyHLLqk2V3ZJte052qoTVb9+MNOdNrNbyCkpKVq2bJkGBwfDE+fm I0765ZnS/v7+3/wVzJic4zjKzs7W4sWL1dvbO+Uk/CVLlsjr9aqnp2dWr9VNTk5WIBDQ27dv Y16Pz+dTZmamXr9+HXUu2FzlB0xHUlKSsrOz5XK5wo9/fglu3ryp4eFhbd++fd62mZGRIZ/P pzdv3kz4G29ra9PIyIhqamrk9/vl9/vV3d095Vfv4yU1NVW5ubnq7e2N+tHTzMxM+Xy+Sa99 sVq6dGnM52lGRob8fn9M/w2xjCMWjuMoEAhocHAw4jHmhWo6443leKxYsULPnz9XTU3NrL+B BcTqwXffyvU7j/7+j9ZpLffnmu0q+v2v30g8fMOtK3/drjktdgAAmKnS0lK1t7ersrJS7e3t 8U5H0i/FzsePH+e1AAMSxeXLl5WTk6Nt27bN+G24wHTNdbEzJ3N2AACYrY6ODu3du1erV6+O dyrAF8/v9+vly5fat28fhQ4+awvmo6IAgM9fS0tLvFOI0N3d/dm9mhiYC+/fv1dDQ0O80wBm jWIHAIAo6urq4p0CAGAWeIwNAAAAwIJEsQMAAABgQaLYAQAAALAgUewAAAAAWJAodgAAAAAs SBQ7AAAAABJKcnLsL41OSUmJ2kexAwAAACCheL3emGM9Hk/UPoodAAAAAAlleSAQe2xe9FiK HQAAAAAJpSA/X7709CnjfD6fgvn5UfspdgAAAAAkFMdJ0oY/fiW/zxc1xufzacNXf1BSUvSS JvaZPwAAAAAwT1JTU7W5olwvfvxRP/30b/UPDEiSvB6P8vICCubnT1roSBQ7AAAAABJUUlKS VgaDWhkMzmz5uU0HAAAAABIDxQ4AAACABYliBwAAAMCCxJwdAAAAAAnHzDQ6OjppjOM4crlc UfspdgAAAAAkHJfLpeHhYY18/Dhhf3JystLc7knXwWNsAAAAABJSWlqaUpLH358ZK3Qmu6sj UewAAAAASGCfFjyxFjoSxQ4AAACABDdW8Eyn0JGYswMAAADgM+D+//ycWAsdiWIHAAAAwGdg OkXOGB5jAwAAALAgUewAAAAAWJAmfIzt58GB+c4DAAAAAOYUd3YAAAAALEhJkvTf//THOw8A AAAAmBNj9U2yJP3wfasOuv6klNS0uCYFAAAAALMxMjSoH75vlSS5JCm7pNrimhEAAAAAzKGe f/3T9T8VVT+BFj/GgwAAAABJRU5ErkJggg== --------------PTd6M110wsmuCUVvd8FkHKoy--
bug-gnu-emacs@HIDDEN:bug#80020; Package emacs.
Full text available.Received: (at 80020) by debbugs.gnu.org; 18 Dec 2025 10:20:50 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Thu Dec 18 05:20:50 2025 Received: from localhost ([127.0.0.1]:50393 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1vWB7q-0006nH-CR for submit <at> debbugs.gnu.org; Thu, 18 Dec 2025 05:20:50 -0500 Received: from mail-wm1-x32c.google.com ([2a00:1450:4864:20::32c]:52332) 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 1vWB7o-0006n4-Oc for 80020 <at> debbugs.gnu.org; Thu, 18 Dec 2025 05:20:49 -0500 Received: by mail-wm1-x32c.google.com with SMTP id 5b1f17b1804b1-477b91680f8so4123215e9.0 for <80020 <at> debbugs.gnu.org>; Thu, 18 Dec 2025 02:20:48 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1766053242; x=1766658042; 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=OlgSwW1KUPTXm4aHyMOvb3NNWrF8VrI0EBH5BWqtayY=; b=HhQCWBmChnzZcowiwG2YOwJp10sZ2S8ZN3sJG7Xh8VTA52Fx9r44BGyuKJxZa6LgCn 31F4a2W8+Pkg/hng6k7RYH7GKkR2jFGH5h09goD4gkdoEZIQwqH/ZTFhAFoldZ05LO5i wt9semOl+mP2XPfLfDKej2dLcGR9mvHtu/FXlXUvMycmpr+kR2Sn2FmKjLXskNz3HR8Z HF+MEvfrt/75fNdghXXsXxYn0XyMKH1pvlor9IFxvWBrjTVeNWEfF7qlSxkvtCnVx3I7 /Hz9EABoM2lqE6OrF/VuZz/SqjvugN47/bvvxJeuvKfmtG3+LJ50sckJvBFXn4RvIjPC infA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1766053242; x=1766658042; 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=OlgSwW1KUPTXm4aHyMOvb3NNWrF8VrI0EBH5BWqtayY=; b=ogLDLvrr9jMmsuF6/sjMC9sN0Z/jbC0u7xXXmWgELV+ATHSVfPqyAeyaU7MXBDqf4x oS+2ly0xzs+2ou/dvwfLoGyVFUwDiTbnV72Wb94skQ3Ds+v0t7GoKvOXAaUBCvFdPGwx FfgR8vFfcLOnp7XMQKmGw/nUhx70jR01CqEIC8nwmdaySwyZMFgWrjYwlNnloAmZ3YHB EmsmN6tId6JOOhJs6CqEPM67YNY3w8BxHQRq5EGqSvfPV6tHIQDberryc6BHQ0FWT9vY YZBy9kQ50Ykti1UTIb7tFpTBBvpEqYlakdkPS12MHBOaAf1YNgsj0cfHrR2FY+/cZDyP Mn1g== X-Forwarded-Encrypted: i=1; AJvYcCWXOeUjSmoZGkeZRySXQOqNU1nVprjlgD+3ORFySpaiToRrave46u/z+8NCpl8gf0vZInxNTQ==@debbugs.gnu.org X-Gm-Message-State: AOJu0YwYLzi7n0U25Ze7zZXzXv659jYl4gtQRZSehKBMUvPKLvSAwdwd qvJnlW7/IHfJqQuezcoA4BhUjcY7dQr1wcwAC8ihKinojXdGmpSeE07cASqcR0hg X-Gm-Gg: AY/fxX6TD2yxPUB99YTezBex3ZPf24SLz8r13i2Gk6xw+viw4WHS1hz6XOfyM2LlqWt Bw4CptfEaYgIX6+Qb+LmBWysC0LuWRoRcjA4A2V4H94iYChO+WYjqD5R9BAINhg8xv1afi4fy0N YppNz7ZWgBqKjhx2kTMDmrnqYl40kSJ+UODl7Y4N+uMZf5P+dGMFZBmR4564D2EWNTI4PyH9cl4 xW7yuD+dTs3YsE+TPjsPG1gOOUM6Z0PrL7eG+I5EizFLYWE3UCb4Ivu23EsyZbjld2KVSyziiAS boh23VUjKs2rPcQpGxT5q0gJPcP2nsXhVBpsstmvGtdqTvSlHc8Lvo2c+NxFc6TE5Lgb5rhToMO JYRg+Hk4rnsQmUJ3WNgsLpm50tRqWjrEqAgRqwL060Jt8WHkH/jKnxiSO0Y1zh2GD4Bq3Ocu3GL yfDDJQzercVe1dN/XtJ9k5GHqLyB3hYv44PSa+Xw+yv5A+Uok6JG5fXz0cYRDbHQTOVg27NSDHB vLieD7magoKaltJhk5OaIw3YVRX4UrIGw== X-Google-Smtp-Source: AGHT+IEHpPIyyNOQ27cxCUgW2splEob0/k8fxjS9tINz37vrSjhyKnUZynYCYMVBYx15xB9fdHR/aQ== X-Received: by 2002:a05:600c:4e05:b0:479:1a0a:ebbe with SMTP id 5b1f17b1804b1-47a8f8c11famr200170185e9.14.1766053241643; Thu, 18 Dec 2025 02:20:41 -0800 (PST) Received: from pro4 (p200300e0b71945007c742d22b8f893e5.dip0.t-ipconnect.de. [2003:e0:b719:4500:7c74:2d22:b8f8:93e5]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-47be272e46fsm35380305e9.4.2025.12.18.02.20.40 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 18 Dec 2025 02:20:41 -0800 (PST) From: =?utf-8?Q?Gerd_M=C3=B6llmann?= <gerd.moellmann@HIDDEN> To: martin rudalics <rudalics@HIDDEN> Subject: Re: bug#80020: 31.0.50; winner-mode prevents make-frame-invisible from hiding TTY child frames In-Reply-To: <60f94d51-c062-40ba-bcd6-78a5820d9fb4@HIDDEN> References: <CAC9=AikfbSxmLmvj+3LY8S9rjcXJtWq36XNBVnmDt=myuF5g-Q@HIDDEN> <86v7i544cb.fsf@HIDDEN> <m2ms3hrww4.fsf@HIDDEN> <CAC9=Ai=7ag_BDJ9S4_CbzuSDbtw+OqGD-H0wsTnY7dDxyZTdNA@HIDDEN> <m2fr99rogd.fsf@HIDDEN> <m2pl8c1cyf.fsf@HIDDEN> <a062e15c-3246-42d2-94bf-65067e6a78fe@HIDDEN> <m2ecos17e9.fsf@HIDDEN> <60f94d51-c062-40ba-bcd6-78a5820d9fb4@HIDDEN> Date: Thu, 18 Dec 2025 11:20:40 +0100 Message-ID: <m25xa4147b.fsf@HIDDEN> User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 80020 Cc: 80020 <at> debbugs.gnu.org, Eli Zaretskii <eliz@HIDDEN>, Yuwei Tian <fishtai0@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.0 (-) martin rudalics <rudalics@HIDDEN> writes: >> which means that a child frame is only displayed if it is itself visible >> and all its ancestors are. > > That might be the problem. IIUC the following seems already broken now > on a tty without your patch: > > (defvar frame (make-frame)) > (defvar child (make-frame `((parent-frame . ,frame) > (width . 20) > (height . 10) > (left . 40) > (top . 40)))) > (make-frame-invisible frame) > (select-frame child) Right. The SET_FRAME_VISIBLE in do_switch_frame currently undoes the make-frame-invisible. > >> So the question is if we need to SET_FRAME_VISIBLE ancestors at all. I >> can't see that being done for GUIs either, but I might be wrong. Do you >> have an overview? > > It's not done. Probably all applications using child frames on a GUI > always try to find a visible parent. Very good, so that looks correct to me then. >> >> +1, but the multi-tty heritage makes me a bit nervous :-). Maybe we can >> do that in a second step. > > Agreed. Objections to pushing what I have so far, anyone? I guess one could make a wishlist ticket in debuugs for the root frame visibility thing, then, or what was the procedure again?
bug-gnu-emacs@HIDDEN:bug#80020; Package emacs.
Full text available.Received: (at 80020) by debbugs.gnu.org; 18 Dec 2025 09:50:39 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Thu Dec 18 04:50:39 2025 Received: from localhost ([127.0.0.1]:50242 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1vWAec-0005A6-O0 for submit <at> debbugs.gnu.org; Thu, 18 Dec 2025 04:50:39 -0500 Received: from mout.gmx.net ([212.227.17.20]:56989) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from <rudalics@HIDDEN>) id 1vWAeb-00059s-7n for 80020 <at> debbugs.gnu.org; Thu, 18 Dec 2025 04:50:37 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmx.at; s=s31663417; t=1766051427; x=1766656227; i=rudalics@HIDDEN; bh=tltkaV9WkfaVP1A1gXe87YVQyUQy0h4qKaKBSqTKmXU=; 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=sNN/bU/9tjN9cLDArBfhj/S8sofjZWz3DIcFDbe2JaocQBXeqQxbIfvaF1E72cQ7 k5PYQtlsw1vIKzWYtVoBPfBXsVgNP4+YbmbAqtVN3chHht6SmI0CjvHi4R/T2pLFc PaaKDDpbj9QeadmCVneUtdNhn65EVefVCxxSTnErcst4i+ZK7iuw0jCGfJBCKrQRy GSdOVgQ9jykT8wrNZnCsif69g5UEYpsyNlvyo2wF+oCmWqRidXGdH8aEqflIi30la doTYMCBYOUW8f2jRLOcgIh2J9oLAEz7FQW5EJOjfU+lb4UOItrxbj9GEYHc2lvi1k 3187e6zXQdejWBu+qA== X-UI-Sender-Class: 724b4f7f-cbec-4199-ad4e-598c01a50d3a Received: from [192.168.31.113] ([46.124.142.85]) by mail.gmx.net (mrgmx104 [212.227.17.168]) with ESMTPSA (Nemesis) id 1MwQXN-1voNxX24aD-00txUA; Thu, 18 Dec 2025 10:50:26 +0100 Message-ID: <60f94d51-c062-40ba-bcd6-78a5820d9fb4@HIDDEN> Date: Thu, 18 Dec 2025 10:50:25 +0100 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: bug#80020: 31.0.50; winner-mode prevents make-frame-invisible from hiding TTY child frames To: =?UTF-8?Q?Gerd_M=C3=B6llmann?= <gerd.moellmann@HIDDEN> References: <CAC9=AikfbSxmLmvj+3LY8S9rjcXJtWq36XNBVnmDt=myuF5g-Q@HIDDEN> <86v7i544cb.fsf@HIDDEN> <m2ms3hrww4.fsf@HIDDEN> <CAC9=Ai=7ag_BDJ9S4_CbzuSDbtw+OqGD-H0wsTnY7dDxyZTdNA@HIDDEN> <m2fr99rogd.fsf@HIDDEN> <m2pl8c1cyf.fsf@HIDDEN> <a062e15c-3246-42d2-94bf-65067e6a78fe@HIDDEN> <m2ecos17e9.fsf@HIDDEN> Content-Language: en-US From: martin rudalics <rudalics@HIDDEN> In-Reply-To: <m2ecos17e9.fsf@HIDDEN> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Provags-ID: V03:K1:NSqK7arwUUVvK/aeIzZM4t2ByocOvhEh1Fec8PJpL1NrnBbBWj+ j30RkCKh0yt5AUVPIc0pI3AIClSAqvGORA93vRwBGX1uOfXNRbYAML1/ewBK7fPjeBgzfAM qgm6pVPZ1P89n/SKybKOoAm2DY+cHzEWLVOiUDS4PzSCn4i/eZEU0NSg6HmrcSbsZ56ltq2 /TzQgHUZ/PF4na1L0zDPA== X-Spam-Flag: NO UI-OutboundReport: notjunk:1;M01:P0:0yd9g1gSt8w=;2iDeaQ1Ss06xXxbFFKbUVK4PKTi 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 DNmMRRDVSLLPdXz+hB0YRJqd7EMNO X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 80020 Cc: 80020 <at> debbugs.gnu.org, Eli Zaretskii <eliz@HIDDEN>, Yuwei Tian <fishtai0@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 (-) > which means that a child frame is only displayed if it is itself visible > and all its ancestors are. That might be the problem. IIUC the following seems already broken now on a tty without your patch: (defvar frame (make-frame)) (defvar child (make-frame `((parent-frame . ,frame) (width . 20) (height . 10) (left . 40) (top . 40)))) (make-frame-invisible frame) (select-frame child) > So the question is if we need to SET_FRAME_VISIBLE ancestors at all. I > can't see that being done for GUIs either, but I might be wrong. Do you > have an overview? It's not done. Probably all applications using child frames on a GUI always try to find a visible parent. >> Ceterum censeo do_switch_frame should not deal with frame visibility - >> not even that of a tty's root frame. >> >> martin > > +1, but the multi-tty heritage makes me a bit nervous :-). Maybe we can > do that in a second step. Agreed. martin
bug-gnu-emacs@HIDDEN:bug#80020; Package emacs.
Full text available.Received: (at 80020) by debbugs.gnu.org; 18 Dec 2025 09:13:32 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Thu Dec 18 04:13:32 2025 Received: from localhost ([127.0.0.1]:50045 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1vWA4i-00036E-AV for submit <at> debbugs.gnu.org; Thu, 18 Dec 2025 04:13:32 -0500 Received: from mail-wr1-x42d.google.com ([2a00:1450:4864:20::42d]:54687) 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 1vWA4g-000361-CO for 80020 <at> debbugs.gnu.org; Thu, 18 Dec 2025 04:13:30 -0500 Received: by mail-wr1-x42d.google.com with SMTP id ffacd0b85a97d-42fb0fc5aa9so153148f8f.1 for <80020 <at> debbugs.gnu.org>; Thu, 18 Dec 2025 01:13:30 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1766049204; x=1766654004; 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=O4XBcnLTMTN9WQ+Yobq8cVuOcxjuHEjkrB2F/gl6z4Y=; b=S1PhFtTFnnFpQru4EVNJZ5FZ3qnmXZz4fTXaWdu1iUs+Tj6sT0nFuu/kSl3JMbWckl mkyAV3bpPtVS52j8yOPN55d4Fh/zs4EOe3F2JkWV8JRBuYXzaifW7Pm8Wmv1TX22iMdN 4BGwgn9axPBJpVx+kyW7zErLnEyQ5aW6H7UOBZUDh3l+qlJ/SuGV+oFHf84nZWMq3lCe 7b1agJmZG1DQDmYl2yym9Losdr6+nXfhohiZmVoZdBmKli0V/a1O4y73KcpXz/H9l5dl i4ITSslXQt8L4KeSaAsgGu7HM5LFoaoeBN7tKZAk1t6biCdPLWlGHoCW2wY7a/f1ckG2 JCnw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1766049204; x=1766654004; 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=O4XBcnLTMTN9WQ+Yobq8cVuOcxjuHEjkrB2F/gl6z4Y=; b=JpJ44Z8zfmCReinfmRWelL8JmwKTxrwRTJ7X3iSFFI1CcwftTWKoa3WrZ8K3gRwdHQ 3FTTivyPs5XQxrmAomLEWUoCoLUBZNQYxmzUNmZmrJPRmD6N43JCWtppxw6aFhi+iBJC Q78LeLdF4V3VUJ4eBrHYtPRVEzn54qWAnI0plSUJaVxSb6mz627FwS0OXQpTBOTHRfey 3PNEqDACZprqMnpWwofAeY8Xl1lqaG0y3hw199JsFQt4ABei2JyoPc0K6W0iT2oBwEOM sMuxHZ4ZvdtvnET7Rt0g/xw3M+72dMRpajFX1MQJfqw03i7bi1o7w6zxPkrwkwlhXsfB gZ3A== X-Forwarded-Encrypted: i=1; AJvYcCXSkvC7ia8dW/fTSy0GYKqVBtRIvOUFgJ21pFYw6Im+z9XcyGGG+Ny20+D4wJ5JGcQL1KMFTA==@debbugs.gnu.org X-Gm-Message-State: AOJu0Yy6hlqt1ywkkT73f5VOTCwgGCaGqsC7Id6fkDol9IkD8X7etP9V yYh6agKmkwT4rczVLdnDBylgCsTOQxn+jtx8FFjX+Nil3nnX0Za5TUn6YkurpKGD X-Gm-Gg: AY/fxX6Gn1rgC5FndKXaLRAVTqpXCkTyL9PERmHGqK3TSFDWCmp+cB7r3ho1LoBl4yC pgHYNUItYSDCmLKAdw34MXvOVaqxZWaxDS+um54qcA0VST9HBcVflXIMUmPwrNRP7ILGZ56FAPx 8mwMizHEMdtuiGDkMxqRKZPztAkDZ7jhSmapAk77tfl7/pmjSyM2EazOzgg4JsVS/J2jDmiin25 DgYIoriyBoZ+TAD4/ssVy+ZophIzmkNpx61w0LGWN59ElKrhNL8gdm8RapBHnxQpfxy1ZKe51Tb 0WgJEO2tdxTm4wm/YZOgbyNwXwSmEaCt0B23UPUtQSXkznVLmcCvfX7KQdP2xOG4V95edLX4c+p 6G7ooiyDTPxF9rEFBfM2kBCyZO6g7oenZOX0B3pjK8TKaxNpLlijp6kditCjdY18OKZyHFsgDSZ kvzux3tn5kRhEgCcTzcy93IRh3QZ46OplGSIZskKG9YX0M+gmxwg5U8WLBd5HLveweA0goYXV7d 1evXc7eqyNnUX2hz3SSdU4= X-Google-Smtp-Source: AGHT+IHz0pk/LaJV7JQ6/mEy0SgzAOkV+TvjL7XFjQq+UXUy7Z8kCxtH+7jMVHz2/RWFakbVtMLalg== X-Received: by 2002:a05:6000:1a8d:b0:430:f742:fbc7 with SMTP id ffacd0b85a97d-430f742fdaamr14002209f8f.14.1766049203728; Thu, 18 Dec 2025 01:13:23 -0800 (PST) Received: from pro4 (p200300e0b71945007c742d22b8f893e5.dip0.t-ipconnect.de. [2003:e0:b719:4500:7c74:2d22:b8f8:93e5]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-4324498f910sm3727745f8f.23.2025.12.18.01.13.22 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 18 Dec 2025 01:13:23 -0800 (PST) From: =?utf-8?Q?Gerd_M=C3=B6llmann?= <gerd.moellmann@HIDDEN> To: martin rudalics <rudalics@HIDDEN> Subject: Re: bug#80020: 31.0.50; winner-mode prevents make-frame-invisible from hiding TTY child frames In-Reply-To: <ca396331-21a9-4e7b-bd50-696a1c30df74@HIDDEN> References: <CAC9=AikfbSxmLmvj+3LY8S9rjcXJtWq36XNBVnmDt=myuF5g-Q@HIDDEN> <86v7i544cb.fsf@HIDDEN> <m2ms3hrww4.fsf@HIDDEN> <CAC9=Ai=7ag_BDJ9S4_CbzuSDbtw+OqGD-H0wsTnY7dDxyZTdNA@HIDDEN> <m2fr99rogd.fsf@HIDDEN> <m2pl8c1cyf.fsf@HIDDEN> <86h5to2p0j.fsf@HIDDEN> <ca396331-21a9-4e7b-bd50-696a1c30df74@HIDDEN> Date: Thu, 18 Dec 2025 10:13:22 +0100 Message-ID: <m2a4zg17bh.fsf@HIDDEN> User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 80020 Cc: 80020 <at> debbugs.gnu.org, Eli Zaretskii <eliz@HIDDEN>, fishtai0@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.0 (-) martin rudalics <rudalics@HIDDEN> writes: >> Does that make sure the top-frame of a terminal is visible? Since the >> patch basically removes all the calls to SET_FRAME_VISIBLE, I wonder >> what happens with the top-frame, which must be visible. > > We should not rely on do_switch_frame to guarantee that - who knows > whether it gets called reliably. Both 'make-frame-invisible' and > 'delete-frame' must guarantee that on a tty the top frame always remains > visible. That would be the right thing. I agree.
bug-gnu-emacs@HIDDEN:bug#80020; Package emacs.
Full text available.
Received: (at 80020) by debbugs.gnu.org; 18 Dec 2025 09:11:53 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Thu Dec 18 04:11:53 2025
Received: from localhost ([127.0.0.1]:50038 helo=debbugs.gnu.org)
by debbugs.gnu.org with esmtp (Exim 4.84_2)
(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
id 1vWA36-00032y-IQ
for submit <at> debbugs.gnu.org; Thu, 18 Dec 2025 04:11:52 -0500
Received: from mail-wm1-x333.google.com ([2a00:1450:4864:20::333]:46161)
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 1vWA34-00032g-J3
for 80020 <at> debbugs.gnu.org; Thu, 18 Dec 2025 04:11:51 -0500
Received: by mail-wm1-x333.google.com with SMTP id
5b1f17b1804b1-4779cb0a33fso4266595e9.0
for <80020 <at> debbugs.gnu.org>; Thu, 18 Dec 2025 01:11:50 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=gmail.com; s=20230601; t=1766049104; x=1766653904; 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=zP7PoOKeSzXaBdcApG8LnSayigVlaPmqyPavX+RsWaY=;
b=H+CJ5jXaosAuR9WcJUI/FgmbDaGWwj07BoGCQPQuZllQHwZgyriKxL4R5C589XmPSX
rkGwatdiIG0Q31Mguh9HtarUPVxdjwjJ2UF37ACJvYltGGFOJnkrHbb2udWhcuBBKFym
isoBloJgSBNqprAf+UiG43rrQPg9l4lfPZBLuuHVlG3CUmzfbeb5n/x4kkZBC/Ati96D
ididLZk50wyc3yZ3ilkgA7Q2M98MVI2CE5p/H2buqiQ1q5J1qhIUCcodz+XTmFrRy2RC
2Tt3fNtNiGs1mulcYsGFAxzS9WZfYboXuD2DzCJGGFXZw6lUac7xdlfVFJCBXnasmBPj
p/EA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1766049104; x=1766653904;
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=zP7PoOKeSzXaBdcApG8LnSayigVlaPmqyPavX+RsWaY=;
b=wPaQYkspYIXRDzUIXs2LOn56Lwady7vS2mUknQYnbQs5KeBNtQjlM6F3/5OXY8Qu5/
xUqwr44ls9xkgiFtI76bfdOwZfby9op/jLFnT85AaDFra8jj/BG24ENY7SckDRYuVUlR
dDTXma2vZCVmPYVfAV/Dd8ZzfgIxdtrDhD//SgbbbxVU4XP1tLuQMKfa8ochCeW9Phnm
7778zrW1tcGL255bLVxzoqF/IjJCUjUowfRJAmGP7PoNX3gtn+Rr8kHuv/wzBeVAOaEs
KMWq/qTZmL8OZbBlceDc8g0QvVHhrXttt7LCRAnqYusK4b2EK9zfUqrH831ReAbEqvLX
kpqA==
X-Forwarded-Encrypted: i=1;
AJvYcCWzAxZSgivkYlqxr6tSG3Lme/UTt8Ix/CbyxjBxDFrlVW1mj/vthxout+2ndRQSE4nCeoNYKg==@debbugs.gnu.org
X-Gm-Message-State: AOJu0Yxc94O1AM9Zwm6zfhIipAC5iZChmOiMcJEw3oHbgN3e94btmm+K
NLxfRB3LSk74fRDQsjJ0tJ4p0OrbKmb1Fy9KEO1RQTlHh4i0rst7Uqt02StpwhaE
X-Gm-Gg: AY/fxX7YNlhcx9ms1tCumdFR8p48uRZUx2AND8HuzJGY12HrtyVCgRFa2kbxKhwH3KR
S9Q0oCWW0LG5VAVRSSoK077Y8lC2oClmY+6lmSYHII8P51rpFmcFD5R4ZJ822TzMNCoaKWNj4vT
KjKLasQNRzzDHl1f3Wd/y0RSy2VZKpT8VzDHEmhtQYRE4zkXp/Lb78MEtmlJfJhRNWpFC4bkOsT
OTu6fP7rkGop4xxTIZi8qdavvLqpPgcKLZwnxG+TJQPxCZ/ySqFso3bWWNqCTh/6IF3dYhR29/b
KxzoqLHRQIGKzKVsZWTWMjfJfnAMHQRhXx2jZGTTCGfihxfMtKwiFFeR0MFwRHbkM5JOqU+jl+0
5edncs2wZMi8vCz0MF4VkkE/kynQ9nyMz7fFfup2mnZNRh0iS64rdC/7GHKJ66kcMvEcNfeQnV2
6kOoEa7KrHyfZZOPu03RH+wK4HamgvaVvcTWMBXnP/inQoDMncXzxnD6X81r0eSh1HUR1VFVk7A
iNA9gu59t8LKBBylwZfrGe10c4lBbdDeg==
X-Google-Smtp-Source: AGHT+IEPNET6Mrji2FqpMc8wM3SnbGSEIVigXVIH5UxCzcgNjVaZbEbEUgcRMkVs9ubfenEXEkCLKw==
X-Received: by 2002:a05:600c:a46:b0:47a:80f8:82ac with SMTP id
5b1f17b1804b1-47a8f90c7b6mr225427465e9.26.1766049103963;
Thu, 18 Dec 2025 01:11:43 -0800 (PST)
Received: from pro4 (p200300e0b71945007c742d22b8f893e5.dip0.t-ipconnect.de.
[2003:e0:b719:4500:7c74:2d22:b8f8:93e5])
by smtp.gmail.com with ESMTPSA id
5b1f17b1804b1-47be3ac4c1esm9634855e9.14.2025.12.18.01.11.42
(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
Thu, 18 Dec 2025 01:11:43 -0800 (PST)
From: =?utf-8?Q?Gerd_M=C3=B6llmann?= <gerd.moellmann@HIDDEN>
To: martin rudalics <rudalics@HIDDEN>
Subject: Re: bug#80020: 31.0.50; winner-mode prevents make-frame-invisible
from hiding TTY child frames
In-Reply-To: <a062e15c-3246-42d2-94bf-65067e6a78fe@HIDDEN>
References: <CAC9=AikfbSxmLmvj+3LY8S9rjcXJtWq36XNBVnmDt=myuF5g-Q@HIDDEN>
<86v7i544cb.fsf@HIDDEN> <m2ms3hrww4.fsf@HIDDEN>
<CAC9=Ai=7ag_BDJ9S4_CbzuSDbtw+OqGD-H0wsTnY7dDxyZTdNA@HIDDEN>
<m2fr99rogd.fsf@HIDDEN> <m2pl8c1cyf.fsf@HIDDEN>
<a062e15c-3246-42d2-94bf-65067e6a78fe@HIDDEN>
Date: Thu, 18 Dec 2025 10:11:42 +0100
Message-ID: <m2ecos17e9.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 80020
Cc: 80020 <at> debbugs.gnu.org, Eli Zaretskii <eliz@HIDDEN>,
Yuwei Tian <fishtai0@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.0 (-)
martin rudalics <rudalics@HIDDEN> writes:
>> Works well for me (Corfu, Posframe for Vertico, Transient and so on).
>> Patch attached for what I'm now using in cl-packages..
>
> I suppose the crucial point is then 'raise-frame' and it's possible that
> tty_raise_lower_frame with RAISE true will have to make all ancestors of
> F visible just as we did for do_switch_frame till now. The doc-string
> of 'raise-frame'
Maybe not, at least not as far as redisplay is concerned. I don't know
for sure what the GUI(s) do, but I think it works. At least it looks the
same here with 'mac' GUI and on a tty.
The reason is that combine_updates_for_frame does
dispnew.c:
4066 Lisp_Object z_order = frames_in_reverse_z_order (root, true);
4067 if (NILP (z_order))
4068 {
4069 Lisp_Object root_frame;
4070 XSETFRAME (root_frame, root);
4071 z_order = Fcons (root_frame, Qnil);
4072 }
and frames_in_reverse_z_order uses
dispnew.c:
3420 static Lisp_Object
3421 frames_with_root (struct frame *root, bool visible_only)
3422 {
3423 Lisp_Object list = Qnil;
3424 Lisp_Object tail, frame;
3425 FOR_EACH_FRAME (tail, frame)
3426 {
3427 struct frame *f = XFRAME (frame);
3428
3429 if (root_frame (f) == root
3430 && (!visible_only || frame_ancestors_visible_p (f)))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
3431 list = Fcons (frame, list);
3432 }
3433 return list;
3434 }
which means that a child frame is only displayed if it is itself visible
and all its ancestors are.
So the question is if we need to SET_FRAME_VISIBLE ancestors at all. I
can't see that being done for GUIs either, but I might be wrong. Do you
have an overview?
>
> If Emacs is displaying on an ordinary terminal or some other device which
> doesn't support multiple overlapping frames, this function selects
> FRAME.
Yes, missed that. I've removed the sentence here.
>
> may have to be amended too. But note that on a GUI
>
>
> (setq frame (make-frame))
> (setq child (make-frame `((parent-frame . ,frame)
> (width . 20)
> (height . 10)
> (left . 40)
> (top . 40))))
> (make-frame-invisible frame)
> (select-frame-set-input-focus child)
>
>
> does not make child visible either, so I'm not entirely sure about what
> we should do here. Make frame visible when we raise child? Are there
> additional twists on a tty?
Not that I know of, except what I wrote above.
>
> Ceterum censeo do_switch_frame should not deal with frame visibility -
> not even that of a tty's root frame.
>
> martin
+1, but the multi-tty heritage makes me a bit nervous :-). Maybe we can
do that in a second step.
bug-gnu-emacs@HIDDEN:bug#80020; Package emacs.
Full text available.Received: (at 80020) by debbugs.gnu.org; 18 Dec 2025 08:35:18 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Thu Dec 18 03:35:17 2025 Received: from localhost ([127.0.0.1]:49800 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1vW9Th-000151-Dm for submit <at> debbugs.gnu.org; Thu, 18 Dec 2025 03:35:17 -0500 Received: from mout.gmx.net ([212.227.15.19]:38353) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from <rudalics@HIDDEN>) id 1vW9Tf-00012X-B2 for 80020 <at> debbugs.gnu.org; Thu, 18 Dec 2025 03:35:15 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmx.at; s=s31663417; t=1766046904; x=1766651704; i=rudalics@HIDDEN; bh=OKG7CVPxEpOVc78R0Tjv/zR05Q/5L6VCkPhXgVQqXl0=; 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=GpD7fgJJBE4aX+hrfpXzcyU0Uw3Unr0W4fHMZ03VDgrKkhehh1cAmNX3YwBlxGaF 08qHUr3G5EHWxc++3t1JbZEr07+XB1gAIqyq2UmlxoNG9gzKYAJKUAwjdXqeUMEhh kRziVx23tIIa0E3XKnEONaYIyhc4D9L+/XatMZ+ujYTIk+wac4okXYcnXQnpv/h14 KLtL9O9/MUNKK2STwK7Rr0BZOWDaHyFMxBLT84akwuGjgey+3T1uQqHE66WHiWr9O FBeN5+Zb2VHnF0ZQBEUsWdjoNWpsNpdnSYiAK2VBGDNji2d8tg7rNrL65nQxETviA K8jCidm5i26urTJrbQ== X-UI-Sender-Class: 724b4f7f-cbec-4199-ad4e-598c01a50d3a Received: from [192.168.31.113] ([46.124.142.85]) by mail.gmx.net (mrgmx004 [212.227.17.190]) with ESMTPSA (Nemesis) id 1McpJg-1w4fDB42Es-00f24D; Thu, 18 Dec 2025 09:35:04 +0100 Message-ID: <ca396331-21a9-4e7b-bd50-696a1c30df74@HIDDEN> Date: Thu, 18 Dec 2025 09:35:02 +0100 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: bug#80020: 31.0.50; winner-mode prevents make-frame-invisible from hiding TTY child frames To: Eli Zaretskii <eliz@HIDDEN>, =?UTF-8?Q?Gerd_M=C3=B6llmann?= <gerd.moellmann@HIDDEN> References: <CAC9=AikfbSxmLmvj+3LY8S9rjcXJtWq36XNBVnmDt=myuF5g-Q@HIDDEN> <86v7i544cb.fsf@HIDDEN> <m2ms3hrww4.fsf@HIDDEN> <CAC9=Ai=7ag_BDJ9S4_CbzuSDbtw+OqGD-H0wsTnY7dDxyZTdNA@HIDDEN> <m2fr99rogd.fsf@HIDDEN> <m2pl8c1cyf.fsf@HIDDEN> <86h5to2p0j.fsf@HIDDEN> Content-Language: en-US From: martin rudalics <rudalics@HIDDEN> In-Reply-To: <86h5to2p0j.fsf@HIDDEN> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Provags-ID: V03:K1:5JmQFKVGmueuuo1o+CkOUkNTlBJN6+XIn99ZK/Gz8tCrxQvaEg2 fixEE+PDbIGD16g9bCRl/YRuVPTk/Q+VGW/VrkdkZCSFR7tIz6daoen+5qSEBK+bJYChVqz Ugy2vQ5NPBdfXefcnRcvEHD7WMXy3kpSpDrgK/Fq3DJUs/7vtjfCBBYXISWTgcQ45fgpoZG 7tbX2Tnd5/ERhnbeNo7dA== X-Spam-Flag: NO UI-OutboundReport: notjunk:1;M01:P0:zKZE5kLKj3A=;Zti1/NkPyQZ+gjbtuqEb3GpbPA5 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 X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 80020 Cc: 80020 <at> debbugs.gnu.org, fishtai0@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 (-) > Does that make sure the top-frame of a terminal is visible? Since the > patch basically removes all the calls to SET_FRAME_VISIBLE, I wonder > what happens with the top-frame, which must be visible. We should not rely on do_switch_frame to guarantee that - who knows whether it gets called reliably. Both 'make-frame-invisible' and 'delete-frame' must guarantee that on a tty the top frame always remains visible. > Can we add an assertion that we don't end up with a top-frame that is > not visible? We should add that to the two functions above. martin
bug-gnu-emacs@HIDDEN:bug#80020; Package emacs.
Full text available.Received: (at 80020) by debbugs.gnu.org; 18 Dec 2025 08:26:43 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Thu Dec 18 03:26:43 2025 Received: from localhost ([127.0.0.1]:49779 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1vW9LO-0000bu-ID for submit <at> debbugs.gnu.org; Thu, 18 Dec 2025 03:26:42 -0500 Received: from mout.gmx.net ([212.227.15.18]:39975) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from <rudalics@HIDDEN>) id 1vW9LM-0000bh-Do for 80020 <at> debbugs.gnu.org; Thu, 18 Dec 2025 03:26:41 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmx.at; s=s31663417; t=1766046394; x=1766651194; i=rudalics@HIDDEN; bh=UUwJmIhVazQSbynvzcROR7h0Hgu7omHaN6BUzc8oEqc=; 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=SofTahz6INoeyo29sgqqC0SwtWHp/kFavs5sUQN6/Mjf11VrURH5z9MJcuXxZYz4 9QJ6Aao+tkILat/wY2j9eq0LKLziZqfcLGBd5ktM4yda22UrCb4gPWwHYFi3Njduf +z3cXqMQ0C/4e1oD+Uj/z9SloyQXERPko2daf9z1EfIq6Kg8CkG9y9Ok/D0IpyZ5x pk7O7RanY/RN970GolnDN0u/TOh94VTPJ6wWuL4iwNy5vtKxl+D8DaBUA8Adca0zU D62NVlb765iQ+Ed+pB4o3XxCx9r1xcufh0I7un79CeOPR5GDvZt1+f2YhGMP+oxk1 +tjA7RJCS6pGPWS67Q== X-UI-Sender-Class: 724b4f7f-cbec-4199-ad4e-598c01a50d3a Received: from [192.168.31.113] ([46.124.142.85]) by mail.gmx.net (mrgmx005 [212.227.17.190]) with ESMTPSA (Nemesis) id 1MBUmD-1vhNsE3xDr-00F7FT; Thu, 18 Dec 2025 09:26:34 +0100 Message-ID: <a062e15c-3246-42d2-94bf-65067e6a78fe@HIDDEN> Date: Thu, 18 Dec 2025 09:26:32 +0100 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: bug#80020: 31.0.50; winner-mode prevents make-frame-invisible from hiding TTY child frames To: =?UTF-8?Q?Gerd_M=C3=B6llmann?= <gerd.moellmann@HIDDEN>, Yuwei Tian <fishtai0@HIDDEN> References: <CAC9=AikfbSxmLmvj+3LY8S9rjcXJtWq36XNBVnmDt=myuF5g-Q@HIDDEN> <86v7i544cb.fsf@HIDDEN> <m2ms3hrww4.fsf@HIDDEN> <CAC9=Ai=7ag_BDJ9S4_CbzuSDbtw+OqGD-H0wsTnY7dDxyZTdNA@HIDDEN> <m2fr99rogd.fsf@HIDDEN> <m2pl8c1cyf.fsf@HIDDEN> Content-Language: en-US From: martin rudalics <rudalics@HIDDEN> In-Reply-To: <m2pl8c1cyf.fsf@HIDDEN> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Provags-ID: V03:K1:14mvdwCybgFqcRfnvHYyAfQ+SInS8E9pg9fKqDDNqswLqoIp+j8 qK7BA1yTAvMr5fp5gUYdn/CjmiWbcXDbvP7hR5yaTeIHmT5QnrSk4BrUN4RUQ6ZuSGGUbUU z6wAJCKawKgqZ4DHGwHDIE4PuoyZAHYnefjvq0vsu5g0lcHHYzXErd3xi1Wnf1WOr68mc4Q sBYXV8QtN+hopNZXLChCQ== X-Spam-Flag: NO UI-OutboundReport: notjunk:1;M01:P0:2iHzNRTNVzI=;I998qpvu7CWdJb3GkQ01+GuIoin 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 X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 80020 Cc: 80020 <at> debbugs.gnu.org, Eli Zaretskii <eliz@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 (-) > Works well for me (Corfu, Posframe for Vertico, Transient and so on). > Patch attached for what I'm now using in cl-packages.. I suppose the crucial point is then 'raise-frame' and it's possible that tty_raise_lower_frame with RAISE true will have to make all ancestors of F visible just as we did for do_switch_frame till now. The doc-string of 'raise-frame' If Emacs is displaying on an ordinary terminal or some other device which doesn't support multiple overlapping frames, this function selects FRAME. may have to be amended too. But note that on a GUI (setq frame (make-frame)) (setq child (make-frame `((parent-frame . ,frame) (width . 20) (height . 10) (left . 40) (top . 40)))) (make-frame-invisible frame) (select-frame-set-input-focus child) does not make child visible either, so I'm not entirely sure about what we should do here. Make frame visible when we raise child? Are there additional twists on a tty? Ceterum censeo do_switch_frame should not deal with frame visibility - not even that of a tty's root frame. martin
bug-gnu-emacs@HIDDEN:bug#80020; Package emacs.
Full text available.
Received: (at 80020) by debbugs.gnu.org; 18 Dec 2025 08:14:56 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Thu Dec 18 03:14:56 2025
Received: from localhost ([127.0.0.1]:49735 helo=debbugs.gnu.org)
by debbugs.gnu.org with esmtp (Exim 4.84_2)
(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
id 1vW9A0-0008Nw-BN
for submit <at> debbugs.gnu.org; Thu, 18 Dec 2025 03:14:56 -0500
Received: from mail-ej1-x636.google.com ([2a00:1450:4864:20::636]:58374)
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 1vW99y-0008Ng-0R
for 80020 <at> debbugs.gnu.org; Thu, 18 Dec 2025 03:14:54 -0500
Received: by mail-ej1-x636.google.com with SMTP id
a640c23a62f3a-b735e278fa1so63936266b.0
for <80020 <at> debbugs.gnu.org>; Thu, 18 Dec 2025 00:14:53 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=gmail.com; s=20230601; t=1766045687; x=1766650487; 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=Il+I00oLP/8NPLS/uoh7HL/3ASYjLgLFtfSRu7U6Xcs=;
b=eMrICP3TvibbAUShd8s8tDVq98RrhpRw3lK+4ezf010HOp53Nj+h3NLOiJzH0QD/gN
wYSqlaWBAVh/5K8sVH513h3xYacqZLcClrAYf0PjQPs4OyDSI9TvZF8zaJOacMerTfn+
lNjltrGwVObNN5OA417IDrKqkQ28SHuwP5odZQzB6JbFHhDtzlK5sZYBCaTzIKleTlnS
iF4ffkPgLMzN98Wdgl22eY8rUDa2CJ0aQZdSXk0ttOadsArrDWvUoiabsk4Oq/0/N4yB
ncq86HQa60sL0ghO8EQuUOr3KOdo2yeJwXEZSWMO4pFy8AS1bjAbLatuDw5lh+JPfoCj
MTSw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1766045687; x=1766650487;
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=Il+I00oLP/8NPLS/uoh7HL/3ASYjLgLFtfSRu7U6Xcs=;
b=X5mQEysGNVbnN+wdqspQRn4oikFk5dHl93HpQCuZD1+h4No02eSsLRxHvjup57pXrS
EY86B8GEpA69OkSmFAwIoeKlRxWYYbIsr83D6LQhDfEj3la5v+XW3zx5ZoK41pZSvcZF
FCbF8Z/5CsNep1bTf8B7ZQQPVLDZFj7MLgHZNX2EcO4gpq/bpz93qhDcDLJZkQtn1+QL
RENeEzIDLZi8xbUZiaASVdAuLk7/rxYUguLY3aKc2M89YzMhpRGnTf70ZswIjkoxv2K4
tnXFqmqKWU1AqzbXcDNDzAo9+DBcnzfZ4uyLkhfZsTx9M6HIY1s+51Fbqiy2pmAJqUuo
Hpdg==
X-Forwarded-Encrypted: i=1;
AJvYcCVm/UiFhxOGcW8Z/CBIj5vckA8OfvrVp/6JVd3zMQCI2gHgD419sS6FyPEd2bGJMaU/B2CAyA==@debbugs.gnu.org
X-Gm-Message-State: AOJu0YwRVpZmyevjRE5NTJMgkpbTPC3wCrx+Nt22qkNRXoMuKSrJtj4K
n4Hn58q1lo3ArZgx9uq2RIkYd1yajWju6rbSmZixK19cwuIF3YG+SN66ik2KTd5o
X-Gm-Gg: AY/fxX7agbaQdmt2G+qPGwuFwO/WIapPRds1ZIQaoP0EBmv7W5GlrENALBt4VRamzzy
bOcQUm2xa2mwFdlVC5H+P2aMC1C8BmBDJ/2jaUSog2rVbn4cBfWhwyB9Oxn3RlTiZUgic4+YNRL
tSIO/qHqMCFGwSGEuMbOWIsPTxikBRxeI8rxsDAFyf6OW7s+KBIF9ibP0qNzkWaFImC7krv2Bo7
9mQ+HjUz3lOyOzDhzuHVpAws5ZY2H/U43V0Y0grQNAvlsuGXbiP8ghWPGIpxa0UdoIaN/lfqotP
eIOuIyl7sIhIF0cbXGNmACXVfOezpWRDPcq12xkoDCgQnYxkg3HzGB/7Q2vZGkMO7tYHwVf2ngE
RVZMqWcI0OxNORwOuXDom1h+a8btrNj8eHJm8MsKQk7MTmEHtHbZg1A0FpeGXa7cjJjDoc5JRBm
dcS5vgtmD0COq7vb/43V2DnJ1mePx+6PbbXCcPGnSDoVUxmwMbANBR/9MZ4ZFkg9XevvKkcxJua
3Nu5cAujzgHWY2bQxUV8y6Cz2Q6eo/+dQ==
X-Google-Smtp-Source: AGHT+IGQvr1su0yKdswWQweq32K/F5/kj7kG7DlDv59HUPN6+xFlN/EzmCYPopLdTKB/Oo4CkpFE9w==
X-Received: by 2002:a17:907:1c0b:b0:b7a:1be1:822 with SMTP id
a640c23a62f3a-b7d23aac78emr2106257966b.63.1766045687099;
Thu, 18 Dec 2025 00:14:47 -0800 (PST)
Received: from pro4 (p200300e0b71945007c742d22b8f893e5.dip0.t-ipconnect.de.
[2003:e0:b719:4500:7c74:2d22:b8f8:93e5])
by smtp.gmail.com with ESMTPSA id
4fb4d7f45d1cf-64b588b0b3asm1777060a12.35.2025.12.18.00.14.46
(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
Thu, 18 Dec 2025 00:14:46 -0800 (PST)
From: =?utf-8?Q?Gerd_M=C3=B6llmann?= <gerd.moellmann@HIDDEN>
To: Eli Zaretskii <eliz@HIDDEN>
Subject: Re: bug#80020: 31.0.50; winner-mode prevents make-frame-invisible
from hiding TTY child frames
In-Reply-To: <86h5to2p0j.fsf@HIDDEN>
References: <CAC9=AikfbSxmLmvj+3LY8S9rjcXJtWq36XNBVnmDt=myuF5g-Q@HIDDEN>
<86v7i544cb.fsf@HIDDEN> <m2ms3hrww4.fsf@HIDDEN>
<CAC9=Ai=7ag_BDJ9S4_CbzuSDbtw+OqGD-H0wsTnY7dDxyZTdNA@HIDDEN>
<m2fr99rogd.fsf@HIDDEN> <m2pl8c1cyf.fsf@HIDDEN>
<86h5to2p0j.fsf@HIDDEN>
Date: Thu, 18 Dec 2025 09:14:45 +0100
Message-ID: <m2ldj01a16.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-Debbugs-Envelope-To: 80020
Cc: rudalics@HIDDEN, fishtai0@HIDDEN, 80020 <at> debbugs.gnu.org
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: Eli Zaretskii <eliz@HIDDEN>, martin rudalics <rudalics@HIDDEN>,
>> 80020 <at> debbugs.gnu.org
>> Date: Thu, 18 Dec 2025 08:11:36 +0100
>>=20
>> > Summa summarum, I think the below makes sense. WDYT?
>>=20
>> Works well for me (Corfu, Posframe for Vertico, Transient and so on).
>> Patch attached for what I'm now using in cl-packages..
>
> Does that make sure the top-frame of a terminal is visible? Since the
> patch basically removes all the calls to SET_FRAME_VISIBLE, I wonder
> what happens with the top-frame, which must be visible.
>
> Can we add an assertion that we don't end up with a top-frame that is
> not visible?
Yes, the top-frame is always visible, that's unchanged.
modified src/frame.c
@@ -1922,18 +1922,16 @@ do_switch_frame (Lisp_Object frame, int track, int =
for_deletion, Lisp_Object nor
=20
XSETFRAME (top_frame, root_frame (f));
tty->top_frame =3D top_frame;
+ SET_FRAME_VISIBLE (root_frame (f), true);
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
No assertion needed because it's now done unconditionally, while it
was a bit "hidden" in the logic before.
=20
bug-gnu-emacs@HIDDEN:bug#80020; Package emacs.
Full text available.Received: (at 80020) by debbugs.gnu.org; 18 Dec 2025 08:05:59 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Thu Dec 18 03:05:58 2025 Received: from localhost ([127.0.0.1]:49687 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1vW91K-0007yk-If for submit <at> debbugs.gnu.org; Thu, 18 Dec 2025 03:05:58 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:39890) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from <eliz@HIDDEN>) id 1vW91I-0007yG-LJ for 80020 <at> debbugs.gnu.org; Thu, 18 Dec 2025 03:05:57 -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 1vW91C-0001Yl-OD; Thu, 18 Dec 2025 03:05:50 -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=G5IAXrxxO90DSwSKTIAUJC7ya5Mv4RDQBoxXDTgWMOE=; b=QeJMwNqHcr1PC7zEZk3i E3H5C3ACmas4s3ULKrm6lDmMWoati69nQZzCqjaOgl7B/1OM/wUEIsWAwOjzChPt1PyVzzJ1Q3NWO CzOuORhPV3Q0lde4ER8A8U1fIlrfE5LwhAD+3iPJNdAF0W2RdtHehfMxE0eBukr7uqSuCanUkfEWh tky3+uKNiCU2WFEz1H+v1+OB/a6tyOP74NECgnOk4ygR9J7P4isunn2iUPrN6IURs2JL2jbrrBQqv Dn0Ie+6KNEeybCnDtP0wZIL004oh3ajcCqQ9rHchTsfgzzZdVSdsvLbwhNHSYCvTgwI/bEaqHEpr9 HF8/TUpqTOLAsg==; Date: Thu, 18 Dec 2025 10:05:48 +0200 Message-Id: <86h5to2p0j.fsf@HIDDEN> From: Eli Zaretskii <eliz@HIDDEN> To: Gerd =?utf-8?Q?M=C3=B6llmann?= <gerd.moellmann@HIDDEN> In-Reply-To: <m2pl8c1cyf.fsf@HIDDEN> (message from Gerd =?utf-8?Q?M?= =?utf-8?Q?=C3=B6llmann?= on Thu, 18 Dec 2025 08:11:36 +0100) Subject: Re: bug#80020: 31.0.50; winner-mode prevents make-frame-invisible from hiding TTY child frames References: <CAC9=AikfbSxmLmvj+3LY8S9rjcXJtWq36XNBVnmDt=myuF5g-Q@HIDDEN> <86v7i544cb.fsf@HIDDEN> <m2ms3hrww4.fsf@HIDDEN> <CAC9=Ai=7ag_BDJ9S4_CbzuSDbtw+OqGD-H0wsTnY7dDxyZTdNA@HIDDEN> <m2fr99rogd.fsf@HIDDEN> <m2pl8c1cyf.fsf@HIDDEN> MIME-version: 1.0 Content-type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 80020 Cc: rudalics@HIDDEN, fishtai0@HIDDEN, 80020 <at> debbugs.gnu.org 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: Eli Zaretskii <eliz@HIDDEN>, martin rudalics <rudalics@HIDDEN>, > 80020 <at> debbugs.gnu.org > Date: Thu, 18 Dec 2025 08:11:36 +0100 > > > Summa summarum, I think the below makes sense. WDYT? > > Works well for me (Corfu, Posframe for Vertico, Transient and so on). > Patch attached for what I'm now using in cl-packages.. Does that make sure the top-frame of a terminal is visible? Since the patch basically removes all the calls to SET_FRAME_VISIBLE, I wonder what happens with the top-frame, which must be visible. Can we add an assertion that we don't end up with a top-frame that is not visible?
bug-gnu-emacs@HIDDEN:bug#80020; Package emacs.
Full text available.
Received: (at 80020) by debbugs.gnu.org; 18 Dec 2025 07:11:48 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Thu Dec 18 02:11:47 2025
Received: from localhost ([127.0.0.1]:49404 helo=debbugs.gnu.org)
by debbugs.gnu.org with esmtp (Exim 4.84_2)
(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
id 1vW8At-00052L-Bi
for submit <at> debbugs.gnu.org; Thu, 18 Dec 2025 02:11:47 -0500
Received: from mail-ed1-x52d.google.com ([2a00:1450:4864:20::52d]:42007)
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 1vW8Ar-00051u-6P
for 80020 <at> debbugs.gnu.org; Thu, 18 Dec 2025 02:11:46 -0500
Received: by mail-ed1-x52d.google.com with SMTP id
4fb4d7f45d1cf-6492e25cd7eso439594a12.0
for <80020 <at> debbugs.gnu.org>; Wed, 17 Dec 2025 23:11:45 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=gmail.com; s=20230601; t=1766041899; x=1766646699; 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=jOhVpt3WrnZwA9yTW6pUswTmMZfmO33zMvVovmKqA6w=;
b=Z1UlVgKkZlabfThWQ/umSYBTB413W5NXUEZHkAT4ZzR3vZC7LdPBHYaCIxHZQbB36S
Fb32zmL1hdnx3LxTaSxf21T4Kaq8tcO8MsW437fea1A/ErIARrqUFvNmamNonJcsUI1y
oimGXv4IjL1r6l8WxK9Pxtk8y1KW+919JugG9o1/6eYKEITkEaofj1PZihdiE6gwtd/Q
a5fpgz/mxDOPlf4NiZpeoHdLk+hkJtwdHljTGA/T7XJGBqu5AxYSHVuiEKJNuqhjcwxK
9phUUCvCfd5+SlhPquSIOC4i4HKec8IcN6etfChLBFFUTc9gJl169HbI+mGByBwuDLzr
U1Sw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1766041899; x=1766646699;
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=jOhVpt3WrnZwA9yTW6pUswTmMZfmO33zMvVovmKqA6w=;
b=pFrwwfxLcmsFxfNSuqmiDVvq6KSzTAjVNvPw80OiDVYUemD1wpsQQUc0xJYZMfaZGS
9uxl3H+k12nMLuWl7ZfatwM/fztc0F5AZB601KD3JPH81REptMtBqpE8X9qYAM7WRKrv
VB4dRTOw94eOZNAXyu+mx3hvfYguB1rP+sTN1xfczC/ApaSY2WN+FJSMt0S0DyIYyInF
USumfrYlakLPLJfZMhmDbtPXFY7fxJ86PS3ehp/Ex18Q941fkCI9Kkect9Mayarznw7o
hFsPA9+dOG3EavUQnSUQN8YDUilm/mIxlUNsMSREmoiV3jquX063hGuXNoUh8HAaMqLV
m7BA==
X-Forwarded-Encrypted: i=1;
AJvYcCUUW9RyIVs7MewsVQnSiUx6/XlHMcRc6oPXCnY1Fpt5KkkB3rgIEa157carz1wTdSP09U5/ZA==@debbugs.gnu.org
X-Gm-Message-State: AOJu0YwfzshnlTK3vTWV0HhpXUoasoELUzmYNoPqiotrjCUMmt7I0D5X
EpOSYj45wNs2fKPz8E88hSj6oF3fe8ARAMJWDme4zvf6F0k7SZENxtvxD1EYTQ==
X-Gm-Gg: AY/fxX5tYqKXHGHAsIaRAqrXpuXg1KCixx6ZhpTMim7G+CE6EI2ty5ukQ8dCawsoVXW
yAL8J+z1xpnuqXrM6dWtdYtI+nTt258qquOCU00wOxIboSQAj/ecT/ZTs7jY+yDVowjGqRhQzwZ
jaRi8NbXq+6J27Svedzd89l5Nt7J7pQTgrfCA8P60Y/Jl1Ge8PDNEHVaUiGMvLbgrAAxPwzyAwC
8ExqKXTXs8jbnk8cZ/w7CVy/oL7ZVYYEnsT2hv1FCJVN02Uks25AUhgig+nKA3YJwv9lOyFEmY0
pS8mIaUTxMjDOBPx2Ub7Gza1PvjjEGQ2SPQ1LMMpsaErJ/bit7DHN/dUsGAQK59o+GXNsJkBZuZ
88mMgDeO7TgaRDpb6fjJjufF2UGZIVUoWsb/P84xzYg5HYsHetC5KHGl05Uls7ZUuD1yQsPMF4Q
xiHY8U0YDl+PKiLGyzfCwvo3QciVh6BRJRqDw94Pf7F8Yh6ZVA3f4IPflRhcYXSTN8Ssrf6dVOE
TWoxSsaPtNnqsoukUbU5DA=
X-Google-Smtp-Source: AGHT+IEA+iDL1dFLDAKoLSwATdJCEGdWQxSt/Se6hmQqEqKfAVQhHZFviL7v1WVI6L257e2uq6Fiow==
X-Received: by 2002:a05:6402:1ed4:b0:64b:717b:a3bf with SMTP id
4fb4d7f45d1cf-64b717bb139mr385656a12.6.1766041898445;
Wed, 17 Dec 2025 23:11:38 -0800 (PST)
Received: from pro4 (p200300e0b71945007c742d22b8f893e5.dip0.t-ipconnect.de.
[2003:e0:b719:4500:7c74:2d22:b8f8:93e5])
by smtp.gmail.com with ESMTPSA id
4fb4d7f45d1cf-64b585b52afsm1738810a12.7.2025.12.17.23.11.37
(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
Wed, 17 Dec 2025 23:11:37 -0800 (PST)
From: =?utf-8?Q?Gerd_M=C3=B6llmann?= <gerd.moellmann@HIDDEN>
To: Yuwei Tian <fishtai0@HIDDEN>
Subject: Re: bug#80020: 31.0.50; winner-mode prevents make-frame-invisible
from hiding TTY child frames
In-Reply-To: <m2fr99rogd.fsf@HIDDEN>
References: <CAC9=AikfbSxmLmvj+3LY8S9rjcXJtWq36XNBVnmDt=myuF5g-Q@HIDDEN>
<86v7i544cb.fsf@HIDDEN> <m2ms3hrww4.fsf@HIDDEN>
<CAC9=Ai=7ag_BDJ9S4_CbzuSDbtw+OqGD-H0wsTnY7dDxyZTdNA@HIDDEN>
<m2fr99rogd.fsf@HIDDEN>
Date: Thu, 18 Dec 2025 08:11:36 +0100
Message-ID: <m2pl8c1cyf.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="=-=-="
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 80020
Cc: martin rudalics <rudalics@HIDDEN>, Eli Zaretskii <eliz@HIDDEN>,
80020 <at> debbugs.gnu.org
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 (-)
--=-=-=
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
Gerd M=C3=B6llmann <gerd.moellmann@HIDDEN> writes:
> Yuwei Tian <fishtai0@HIDDEN> writes:
>
>> On Wed, Dec 17, 2025 at 10:44=E2=80=AFPM Gerd M=C3=B6llmann <gerd.moellm=
ann@HIDDEN> wrote:
>>>
>>> Eli Zaretskii <eliz@HIDDEN> writes:
>>>
>>> >> From: Yuwei Tian <fishtai0@HIDDEN>
>>> >> Date: Wed, 17 Dec 2025 01:59:03 +0800
>>> >>
>>> >> In Emacs 31, the new TTY child frame support is fantastic. However, I
>>> >> have encountered an issue that winner-mode interferes with the
>>> >> visibility of TTY child frames. Specifically, when winner-mode is
>>> >> enabled, make-frame-invisible fails to hide a child frame visually.
>>> >>
>>> >> Steps to reproduce:
>>> >>
>>> >> 1. Start Emacs 31 in a terminal: emacs -nw -Q
>>> >>
>>> >> 2. Turn on winner-mode by executing M-x winner-mode
>>> >>
>>> >> 3. Copy the following code to the *scratch* buffer:
>>> >>
>>> >> (let ((child-frame
>>> >> (make-frame
>>> >> `((parent-frame . ,(selected-frame))
>>> >> (width . 40)
>>> >> (height . 10)
>>> >> (top . 10)
>>> >> (left . 10)
>>> >> (minibuffer . nil)))))
>>> >> (with-selected-frame child-frame
>>> >> (switch-to-buffer "*TTY Child Frame*")
>>> >> (setq mode-line-format nil)
>>> >> (erase-buffer)
>>> >> (insert "This is a child frame."))
>>> >> (run-with-timer 2 nil
>>> >> (lambda (f)
>>> >> (make-frame-invisible f)
>>> >> (message "Child frame is now invisible."))
>>> >> child-frame))
>>> >>
>>> >>
>>> >> When executing the code multiple times, the child frame hides cor=
rectly
>>> >> on the first attempt, but fails to hide on subsequent attempts.
>>>
>>> @Yuwei Tian: when you write that you execute the code above multiple
>>> times, you are creating N child frames that look all the same, right?
>>>
>>> That makes it a bit difficult to follow. Can you perhaps give an example
>>> that shows the problem with a single child frame that is created once?
>>
>> Thank you for the feedback. Here is the updated code to ensure we are
>> only dealing with a single child frame and avoid any confusion from
>> overlapping frames.
>>
>> (progn
>> (dolist (f (frame-list))
>> (when (frame-parent f)
>> (delete-frame f)))
>>
>> (let ((child-frame (make-frame
>> `((parent-frame . ,(selected-frame))
>> (width . 40)
>> (height . 10)
>> (top . 10)
>> (left . 10)
>> (minibuffer . nil)))))
>> (with-selected-frame child-frame
>> (switch-to-buffer "*TTY Child Frame*")
>> (setq mode-line-format nil)
>> (erase-buffer)
>> (insert "This is a child frame."))
>> (run-with-timer 2 nil
>> (lambda (f)
>> (make-frame-invisible f)
>> (message "Child frame is now invisible."))
>> child-frame)))
>>
>> Reproduction Steps:
>>
>> 1. Run emacs -nw -Q
>> 2. Enable winner-mode
>> 3. Evaluate the code
>>
>> After the 2-second timer, the child frame disappears. However, any
>> subsequent keystroke, such as C-n, causes the hidden frame to
>> immediately reappear.
>>
>> If steps 2 and 3 are swapped (i.e., the child frame is created and
>> hidden before enabling winner-mode), the already hidden child frame
>> will unexpectedly reappear as soon as winner-mode is enabled.
>
> Thanks, that I could reproduce. And, unsurprisingly, not doing
> SET_FRAME_VISIBLE in do_switch_frame fixes things.
>
> What to do?
>
> The making frames visible came in with a multi-tty commit in 2003 I
> think, as Martin showed. Without explanation and for a reason I can't
> think of ATM. At that point there were no child frames on ttys of
> course. So, I propose we keep making root frames visible.
>
> When I added child frames, I mimicked what was done for root frames by
> making child frames visible. I now think that was wrong. At least at the
> moment, I can't think of a reason why I should do that. Famous last
> words.
>
> Summa summarum, I think the below makes sense. WDYT?
Works well for me (Corfu, Posframe for Vertico, Transient and so on).
Patch attached for what I'm now using in cl-packages..
--=-=-=
Content-Type: text/x-patch
Content-Disposition: attachment;
filename=0001-Don-t-make-tty-child-frames-visible-when-selected-bu.patch
From 5fb453ea5a95321a9c38182c75d832ec08fb1b57 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gerd=20M=C3=B6llmann?= <gerd.moellmann@HIDDEN>
Date: Wed, 17 Dec 2025 19:52:54 +0100
Subject: [PATCH] Don't make tty child frames visible when selected (bug#80020)
* src/frame.c (do_switch_frame): Don't change visibility of tty
child frames.
---
src/frame.c | 9 ++-------
1 file changed, 2 insertions(+), 7 deletions(-)
diff --git a/src/frame.c b/src/frame.c
index d656b01ba00..5bbfb00931d 100644
--- a/src/frame.c
+++ b/src/frame.c
@@ -1922,18 +1922,16 @@ do_switch_frame (Lisp_Object frame, int track, int for_deletion, Lisp_Object nor
XSETFRAME (top_frame, root_frame (f));
tty->top_frame = top_frame;
+ SET_FRAME_VISIBLE (root_frame (f), true);
while (p)
{
- /* If FRAME is a child frame, make its ancsetors visible
- and garbage them ... */
- SET_FRAME_VISIBLE (p, true);
+ /* If FRAME is a child frame, make it redraw. */
SET_FRAME_GARBAGED (p);
p = FRAME_PARENT_FRAME (p);
}
/* ... and FRAME itself too. */
- SET_FRAME_VISIBLE (f, true);
SET_FRAME_GARBAGED (f);
/* FIXME: Why is it correct to set FrameCols/Rows here? */
@@ -1948,9 +1946,6 @@ do_switch_frame (Lisp_Object frame, int track, int for_deletion, Lisp_Object nor
FrameRows (tty) = FRAME_TOTAL_LINES (f);
}
}
- else
- /* Should be covered by the condition above. */
- SET_FRAME_VISIBLE (f, true);
}
sf->select_mini_window_flag = MINI_WINDOW_P (XWINDOW (sf->selected_window));
--
2.52.0
--=-=-=--
bug-gnu-emacs@HIDDEN:bug#80020; Package emacs.
Full text available.Received: (at 80020) by debbugs.gnu.org; 17 Dec 2025 17:48:10 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Wed Dec 17 12:48:10 2025 Received: from localhost ([127.0.0.1]:45104 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1vVvdC-0002Hu-6s for submit <at> debbugs.gnu.org; Wed, 17 Dec 2025 12:48:10 -0500 Received: from mail-ej1-x62f.google.com ([2a00:1450:4864:20::62f]:48298) 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 1vVvd9-0002HL-9v for 80020 <at> debbugs.gnu.org; Wed, 17 Dec 2025 12:48:08 -0500 Received: by mail-ej1-x62f.google.com with SMTP id a640c23a62f3a-b7ffa5d1b80so261835666b.0 for <80020 <at> debbugs.gnu.org>; Wed, 17 Dec 2025 09:48:07 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1765993681; x=1766598481; 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=OeISV1W8KBGJvld3fOGmFSHTTrwNh1FOAGMUDRa7kTk=; b=Kq0GNzGIdZ4eOAYUZJ2UErnciCn2064/clXIB4HkOsyEbL1aMY5CYmGLlc6rnrTDwe LtIUFJE7SUGIOaC9oXXiAJLmY/7gUpft1syQW+GPwJAUcgqES6/zgYidRe+a+SW+yptb aXFdQTbbwt378R2lYeGX04pr0uDonBI/ea2IyERgW+nINJ8iGPWk8tLZ7g7qaGo6kxfv sLsFV6IVMG5S9893hoVHChOGGQZPa4vHEomUNaSDbYQ6MdcUxKS5kAtiRcMBEo9azRlW inA7t5Ycr5xy8DF2X+9s5wZboIYtdCJZbBPHeP+Cmb+bru15aHXKVg8sOPrcM1hoQ6jj VD5w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1765993681; x=1766598481; 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=OeISV1W8KBGJvld3fOGmFSHTTrwNh1FOAGMUDRa7kTk=; b=K/Tn5HqiRgpCiClVxXC/26HO6VxOu3I+3ZfvLPfDbSGg2o4wpDL6NxpItOc5uyfqpY LuMZnv9gAEIkxXihnjbPljRoGJMI5pa+eDTlhkexWWttujDbV4eFTBpeSDwxJqWySRBr gjBs4q9NgXjQ6PV13r3PMODRnrvudCah6ST5KhuBQ/K0IIJTDLJ547YoyTdQbbfUqKoL 2Rp59nSy+bR07X2+KUleT4h/o/Z29L1WhYqwgE6diNyhzDD2sair1ElmbZAy3YT7vlCv 811B5ORJ80OfijuRLMOWvSvuAM3JEtiGjgAk+Apo8Ys1KIpehWt6L3FN02pxUR964qNW SDtA== X-Forwarded-Encrypted: i=1; AJvYcCVcbxP9Pr0roRdztRFgbdT0N4mmjyLPjx7Dof4pHiVX5mubtsneY2XpyZUbxfcbPvabfq3uQw==@debbugs.gnu.org X-Gm-Message-State: AOJu0YzQY4MAdw+l5W8Yp5UCcoRo5l/WLbEfSoOkLLrgMlucLz5kxaW0 tnG4UgY9xYKmHVN0yWq7aiY/AdFxeEJv8ixxSdzWn2xRUPjBAa2LmzJo6qjfnSa+ X-Gm-Gg: AY/fxX4ctkByIR6yZ548rizJtd6Pwp1jCmkL30cekqtLU2oK8u32WgKV4R4q7/PwawQ L5hecyb7Pw0BWMz1oDEViP0epbpyi4hVPmYn/0rqRsmug9h3cB6eNSnHGdyWm/lKPI62hHknRsS XZXRJ4z+K9QQSryNOGaQeC0TOaTBClGA5XIa8FtquP3Oxpo4/h0y3tDfgR8SykpDu4RYYCbjTtY 00EqgJCVw6yYS8maHrPDxa8rf2WIbctv6O4EacGLWzaDor0wxQqk1jmJ3OmZ94FsVidRJOp3adT W/TKqdeOvQcYN5PKkoWal7aeVxscrKi+qLd5RzvonIBffRmSa5VCymfsoY8nH/9QOzbD8xn9se0 u4waA+RP8hINrEUz7P8G8OC3Cm91tsYAHNim101G+kFq/kbebQ+wlKun+8WdsdJb78V5DNOloz1 /xUCXEeFcFrKZ+A9cK/B3ihGqxsH/NqBfkJhZFWDCAIil6J8fFmPuVduCtn4adcg6Qe2Xik3IRf yh2N+GgRQB9rWoT4cSurCk= X-Google-Smtp-Source: AGHT+IFn0GbJAp5EzxqbhBUJBJndNhcfelPZ1lo5P1cdhby/9p0cTj5wWaGyFU+Wkmspmsf6DFWtRA== X-Received: by 2002:a17:907:846:b0:b73:885b:7554 with SMTP id a640c23a62f3a-b7d23a65225mr1918035266b.45.1765993680462; Wed, 17 Dec 2025 09:48:00 -0800 (PST) Received: from pro4 (p200300e0b70da7009c22d61d60bb2236.dip0.t-ipconnect.de. [2003:e0:b70d:a700:9c22:d61d:60bb:2236]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-b8020916dafsm11699266b.19.2025.12.17.09.47.59 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 17 Dec 2025 09:48:00 -0800 (PST) From: =?utf-8?Q?Gerd_M=C3=B6llmann?= <gerd.moellmann@HIDDEN> To: martin rudalics <rudalics@HIDDEN> Subject: Re: bug#80020: 31.0.50; winner-mode prevents make-frame-invisible from hiding TTY child frames In-Reply-To: <92c5db52-27ea-4da7-8c8c-2d7fffae6af3@HIDDEN> References: <CAC9=AikfbSxmLmvj+3LY8S9rjcXJtWq36XNBVnmDt=myuF5g-Q@HIDDEN> <86v7i544cb.fsf@HIDDEN> <3b4d03f5-68a4-484b-9d8e-238daa7ac0d9@HIDDEN> <m2pl8drxkb.fsf@HIDDEN> <92c5db52-27ea-4da7-8c8c-2d7fffae6af3@HIDDEN> Date: Wed, 17 Dec 2025 18:47:59 +0100 Message-ID: <m2bjjxrods.fsf@HIDDEN> User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 80020 Cc: 80020 <at> debbugs.gnu.org, Eli Zaretskii <eliz@HIDDEN>, Yuwei Tian <fishtai0@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.0 (-) martin rudalics <rudalics@HIDDEN> writes: >> Does someone perhaps remember what the problem with removing >> SET_FRAME_VISIBLE from do_switch_frame was? I don't remember 1 bit. > > Neither do I. I'd suggest you remove it, look what gets broken and fix > that if possible. Otherwise, we'll likely see more such bugs pile up. > > martin I think I'll leave the part of making root frames visible untouched. No way I'll dive into multi-tty.
bug-gnu-emacs@HIDDEN:bug#80020; Package emacs.
Full text available.
Received: (at 80020) by debbugs.gnu.org; 17 Dec 2025 17:46:38 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Wed Dec 17 12:46:38 2025
Received: from localhost ([127.0.0.1]:45097 helo=debbugs.gnu.org)
by debbugs.gnu.org with esmtp (Exim 4.84_2)
(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
id 1vVvbh-0002Ef-Ar
for submit <at> debbugs.gnu.org; Wed, 17 Dec 2025 12:46:37 -0500
Received: from mail-ed1-x530.google.com ([2a00:1450:4864:20::530]:52235)
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 1vVvbf-0002ER-7c
for 80020 <at> debbugs.gnu.org; Wed, 17 Dec 2025 12:46:36 -0500
Received: by mail-ed1-x530.google.com with SMTP id
4fb4d7f45d1cf-64b4f730a02so679304a12.0
for <80020 <at> debbugs.gnu.org>; Wed, 17 Dec 2025 09:46:35 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=gmail.com; s=20230601; t=1765993588; x=1766598388; 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=IdP4IFxiNTcPm5rvLwwIGoF4tOpDWiYg85BoxENa0Yc=;
b=R02klxnQ2taoTrQ0ZnIwg5DiR+Pgcjl2tpe8Zelstp45HfSq2tQXeArSB2eyDeApZi
6+bitQSDS0aZOwr7nPUoDExYFuznViCsTt5WhsXax1dyZDzFqs4czAeptInbEzupSOUl
w0iBqAgFODnVjMbXEUjwg82ANimVqHkIjJnhYtJrT/e95Ut4j1dtqu9ebEoGuw3YQsdt
5TfOuVYKx/DVzgmE6wDmhOSBVsLOFAjnXuBOdz03TzcMOuU1fcYIfbknBD/pAe0m66dJ
ootLdH3ceCXqNoZfPyAJjCr1WCDgksaZZqkurkZH/QPSH9G6sE1Dh202UFtSw+W3Fro5
iJPg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1765993588; x=1766598388;
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=IdP4IFxiNTcPm5rvLwwIGoF4tOpDWiYg85BoxENa0Yc=;
b=Ar1FdUkwz+5CHvpvvC+C3KwFsIWxPNn9MvA/JN/qIq85FRF6XtnFx+FP6AkM36Ipb0
+0PWwHjZViO9NW2TWHa3ttbLBM8JWyYLTR6nzeWNhVmCXMM79EwWqPx+zpmN/nEr9xnw
SUv/uNrD9YwD/kwi8N4RSZ8RX8uXi6n3iu62Z89Gn56nZQjLeKbjTLV2i9B6O6me+twP
O1C9WdF1GTdUniTl1S5b2Mg2S08kpZ1INukicY+5M/zl5VMuHZsx6svy+5735zb97njj
8ChBgxOwyRk6xN1Fu1SDSrpSwX4vy7LH+TaznwrjE+LL4TUtCjQavKvbv8/sp4J+hPUI
i8og==
X-Forwarded-Encrypted: i=1;
AJvYcCW2qIdzF7YMgZaULgG8psYxXUG5jQ6xriCtvgoGDz4QI8GWTclBNhTkpPujFAqG8i+UUIBG5g==@debbugs.gnu.org
X-Gm-Message-State: AOJu0Ywr2cMbxisASO95OctwQqgTUiJ4xmTtDcEZUHhC1et3ic3K34Mz
tCBxYoIZ14sPd2uVf+/YFlmn7dwSDjFlghBiEgKroK4zV8pTZyIjaLoDZ0BoqZVC
X-Gm-Gg: AY/fxX6qn0OBmecCc1hTtyY07SMW3qcdZwmxMlSnva0Hv7iCqwLBsKq+lI0FrpMejAQ
ZEGEV+uyl0LywcUi10/RwYu8FO9a4b5IhC2MOxI17G1+RZN1pd6ZBxEwHERtaVB0GoM9j2qhtTI
SZ0e1IDrg1STGqzVJuJ2UGP3I95WzDsjZXPxhKl7tDFaWMEyYsZG2RcCYDJokAkUwuGLZaSobF3
4tbrHTQKz/fTfRC0zR1KWRka04N7JJFekWkX0VJU5ZwsxRBC1TCu0R36WbNb1WhpQjgGgG/Y4df
b8d32M7CtjcBb+cSayqTg51Cgq5e1XTBPN0Y4/L3mUJA8F7AwPft2mz7d/v2ZgZB6mxFSbKd1GG
Oz6Qc3J3UaEIBrqz3gPortAtk7H2b5Ple6VrVNFwh6zxTHzvUSAtE6ZJKorS1HwMj5WRlTt2dBx
RX3gYvyVO/czkS4AoR4IN4QBUZRonY1cR7pWEMEVTS+aEL14Jw52r+f/6GV5JTI/wsIrk3sUujb
lCYkEKjsHAPPtQE5kYhApE=
X-Google-Smtp-Source: AGHT+IGwEQJB6nB3UEZFZ8y1cwnieMOia3tOVjCCTAaZjjl9JZtT1JoUB3dF/IzjeKQkXDHr91Bx+g==
X-Received: by 2002:a17:906:ef03:b0:b79:b910:fd45 with SMTP id
a640c23a62f3a-b7d238bb08emr2000826166b.38.1765993587864;
Wed, 17 Dec 2025 09:46:27 -0800 (PST)
Received: from pro4 (p200300e0b70da7009c22d61d60bb2236.dip0.t-ipconnect.de.
[2003:e0:b70d:a700:9c22:d61d:60bb:2236])
by smtp.gmail.com with ESMTPSA id
4fb4d7f45d1cf-64b585b52bbsm134487a12.6.2025.12.17.09.46.27
(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
Wed, 17 Dec 2025 09:46:27 -0800 (PST)
From: =?utf-8?Q?Gerd_M=C3=B6llmann?= <gerd.moellmann@HIDDEN>
To: Yuwei Tian <fishtai0@HIDDEN>
Subject: Re: bug#80020: 31.0.50; winner-mode prevents make-frame-invisible
from hiding TTY child frames
In-Reply-To: <CAC9=Ai=7ag_BDJ9S4_CbzuSDbtw+OqGD-H0wsTnY7dDxyZTdNA@HIDDEN>
References: <CAC9=AikfbSxmLmvj+3LY8S9rjcXJtWq36XNBVnmDt=myuF5g-Q@HIDDEN>
<86v7i544cb.fsf@HIDDEN> <m2ms3hrww4.fsf@HIDDEN>
<CAC9=Ai=7ag_BDJ9S4_CbzuSDbtw+OqGD-H0wsTnY7dDxyZTdNA@HIDDEN>
Date: Wed, 17 Dec 2025 18:46:26 +0100
Message-ID: <m2fr99rogd.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-Debbugs-Envelope-To: 80020
Cc: martin rudalics <rudalics@HIDDEN>, Eli Zaretskii <eliz@HIDDEN>,
80020 <at> debbugs.gnu.org
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 (-)
Yuwei Tian <fishtai0@HIDDEN> writes:
> On Wed, Dec 17, 2025 at 10:44=E2=80=AFPM Gerd M=C3=B6llmann <gerd.moellma=
nn@HIDDEN> wrote:
>>
>> Eli Zaretskii <eliz@HIDDEN> writes:
>>
>> >> From: Yuwei Tian <fishtai0@HIDDEN>
>> >> Date: Wed, 17 Dec 2025 01:59:03 +0800
>> >>
>> >> In Emacs 31, the new TTY child frame support is fantastic. However, I
>> >> have encountered an issue that winner-mode interferes with the
>> >> visibility of TTY child frames. Specifically, when winner-mode is
>> >> enabled, make-frame-invisible fails to hide a child frame visually.
>> >>
>> >> Steps to reproduce:
>> >>
>> >> 1. Start Emacs 31 in a terminal: emacs -nw -Q
>> >>
>> >> 2. Turn on winner-mode by executing M-x winner-mode
>> >>
>> >> 3. Copy the following code to the *scratch* buffer:
>> >>
>> >> (let ((child-frame
>> >> (make-frame
>> >> `((parent-frame . ,(selected-frame))
>> >> (width . 40)
>> >> (height . 10)
>> >> (top . 10)
>> >> (left . 10)
>> >> (minibuffer . nil)))))
>> >> (with-selected-frame child-frame
>> >> (switch-to-buffer "*TTY Child Frame*")
>> >> (setq mode-line-format nil)
>> >> (erase-buffer)
>> >> (insert "This is a child frame."))
>> >> (run-with-timer 2 nil
>> >> (lambda (f)
>> >> (make-frame-invisible f)
>> >> (message "Child frame is now invisible."))
>> >> child-frame))
>> >>
>> >>
>> >> When executing the code multiple times, the child frame hides corr=
ectly
>> >> on the first attempt, but fails to hide on subsequent attempts.
>>
>> @Yuwei Tian: when you write that you execute the code above multiple
>> times, you are creating N child frames that look all the same, right?
>>
>> That makes it a bit difficult to follow. Can you perhaps give an example
>> that shows the problem with a single child frame that is created once?
>
> Thank you for the feedback. Here is the updated code to ensure we are
> only dealing with a single child frame and avoid any confusion from
> overlapping frames.
>
> (progn
> (dolist (f (frame-list))
> (when (frame-parent f)
> (delete-frame f)))
>
> (let ((child-frame (make-frame
> `((parent-frame . ,(selected-frame))
> (width . 40)
> (height . 10)
> (top . 10)
> (left . 10)
> (minibuffer . nil)))))
> (with-selected-frame child-frame
> (switch-to-buffer "*TTY Child Frame*")
> (setq mode-line-format nil)
> (erase-buffer)
> (insert "This is a child frame."))
> (run-with-timer 2 nil
> (lambda (f)
> (make-frame-invisible f)
> (message "Child frame is now invisible."))
> child-frame)))
>
> Reproduction Steps:
>
> 1. Run emacs -nw -Q
> 2. Enable winner-mode
> 3. Evaluate the code
>
> After the 2-second timer, the child frame disappears. However, any
> subsequent keystroke, such as C-n, causes the hidden frame to
> immediately reappear.
>
> If steps 2 and 3 are swapped (i.e., the child frame is created and
> hidden before enabling winner-mode), the already hidden child frame
> will unexpectedly reappear as soon as winner-mode is enabled.
Thanks, that I could reproduce. And, unsurprisingly, not doing
SET_FRAME_VISIBLE in do_switch_frame fixes things.
What to do?
The making frames visible came in with a multi-tty commit in 2003 I
think, as Martin showed. Without explanation and for a reason I can't
think of ATM. At that point there were no child frames on ttys of
course. So, I propose we keep making root frames visible.
When I added child frames, I mimicked what was done for root frames by
making child frames visible. I now think that was wrong. At least at the
moment, I can't think of a reason why I should do that. Famous last
words.
Summa summarum, I think the below makes sense. WDYT?
1 file changed, 2 insertions(+), 7 deletions(-)
src/frame.c | 9 ++-------
modified src/frame.c
@@ -1911,18 +1911,16 @@ do_switch_frame (Lisp_Object frame, int track, int =
for_deletion, Lisp_Object nor
=20
XSETFRAME (top_frame, root_frame (f));
tty->top_frame =3D top_frame;
+ SET_FRAME_VISIBLE (root_frame (f), true);
=20
while (p)
{
- /* If FRAME is a child frame, make its ancsetors visible
- and garbage them ... */
- SET_FRAME_VISIBLE (p, true);
+ /* If FRAME is a child frame, make it redraw. */
SET_FRAME_GARBAGED (p);
p =3D FRAME_PARENT_FRAME (p);
}
=20
/* ... and FRAME itself too. */
- SET_FRAME_VISIBLE (f, true);
SET_FRAME_GARBAGED (f);
=20
/* FIXME: Why is it correct to set FrameCols/Rows here? */
@@ -1937,9 +1935,6 @@ do_switch_frame (Lisp_Object frame, int track, int fo=
r_deletion, Lisp_Object nor
FrameRows (tty) =3D FRAME_TOTAL_LINES (f);
}
}
- else
- /* Should be covered by the condition above. */
- SET_FRAME_VISIBLE (f, true);
}
=20
sf->select_mini_window_flag =3D MINI_WINDOW_P (XWINDOW (sf->selected_win=
dow));
bug-gnu-emacs@HIDDEN:bug#80020; Package emacs.
Full text available.
Received: (at 80020) by debbugs.gnu.org; 17 Dec 2025 16:21:31 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Wed Dec 17 11:21:31 2025
Received: from localhost ([127.0.0.1]:44465 helo=debbugs.gnu.org)
by debbugs.gnu.org with esmtp (Exim 4.84_2)
(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
id 1vVuHJ-00060Z-D4
for submit <at> debbugs.gnu.org; Wed, 17 Dec 2025 11:21:31 -0500
Received: from mail-pj1-x1029.google.com ([2607:f8b0:4864:20::1029]:50476)
by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)
(Exim 4.84_2) (envelope-from <fishtai0@HIDDEN>)
id 1vVuHH-000609-Cr
for 80020 <at> debbugs.gnu.org; Wed, 17 Dec 2025 11:21:28 -0500
Received: by mail-pj1-x1029.google.com with SMTP id
98e67ed59e1d1-34c2f335681so3883348a91.1
for <80020 <at> debbugs.gnu.org>; Wed, 17 Dec 2025 08:21:27 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=gmail.com; s=20230601; t=1765988481; x=1766593281; darn=debbugs.gnu.org;
h=content-transfer-encoding:cc:to:subject:message-id:date:from
:in-reply-to:references:mime-version:from:to:cc:subject:date
:message-id:reply-to;
bh=kHKwMaZ078PPjnwEbnDxNv2hSWfwLHGd2xRZjY4GDXU=;
b=c/KhvkuTGL19ITBR+eTUIGtW02d0gJ7NZOf5MJoK/aqL9YFpCGY5sA4/BjyAzotdH1
buvQu8mnFb706S7d2AVSqVaXzcWYaCsh3A/pH35TIl/NDYgR90oMFQaR3DaNat8n17OL
j0frBPZOZo7zJNKSeLFTctEF3CGV07Y+71EoBqGYkMNTtjLA60eAnPd7bokjXYdAdJ+r
WfC+CMEh7rh7lkr2R/TlO2MwcxP17jIkHIY5rtqHTpA1apW6Vqz3cQKyr0yv5RwJEsMM
eXTm0wihyRbYfpa1XZYJFU4/83PlYATmmuvSaInm3Ns52hDlNhgs6Tvq31yxk9nfmIZP
wH4w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1765988481; x=1766593281;
h=content-transfer-encoding:cc:to:subject:message-id:date:from
:in-reply-to:references:mime-version:x-gm-gg:x-gm-message-state:from
:to:cc:subject:date:message-id:reply-to;
bh=kHKwMaZ078PPjnwEbnDxNv2hSWfwLHGd2xRZjY4GDXU=;
b=j3GsDwYjd/OXUJCQrd/I8/GPhQqw7RyQzeJvI00PFC5GPNxECqRUdE1nOQZVvR6YSb
5GPURe7a3pGuo3FNnNdQXnBN2kWiFUjxQtz9SVYNyK7NYFOp3jErb6VrXLuOvUpBAbJD
vW6B2sd3DX5zW0MLFxMty43QsS9Yaby45kQFVpOw+I3XEYXB04qD/VUc0B1vqVUfTb/D
NHje9iwNMBtaML5aI7Qq71Q/gAVaiCT80dQJ5jmO3TChT0Pm7dhSncqQ1rvvK/hTM/Rj
V0rbxYcWwle+eBmUvI/GW8ERn1Cz8IeKf16deE03+4QH022TeTPeBoN57ZghCG8hZ3T+
BjFA==
X-Forwarded-Encrypted: i=1;
AJvYcCVULAhOugTK3H7fItc1tpnTNYstaNSX+iwv6eYwQ6D6YT7UFt/pTs6sm+49IZHav7yX0pXWIQ==@debbugs.gnu.org
X-Gm-Message-State: AOJu0YyNemT/oj8viEqJyeV97aFXNIp+YovL+CDmzlolriBlQQQXQjHD
Xqtahc7AOiDsi2ZKwu7rdsRjznS7W6d49Du+B8xCb45i8sapje/NT6hLPSh+n4wepHV0u/keOV8
fq6YVVc8Z6TYgS4tcjIXnXh7QNG6n038=
X-Gm-Gg: AY/fxX5rKErBVKZnAFvD0WdY0/77EKUqNfoy26TCDgiebhwm/D9UuvvEZPr6ngw736E
CKKKo5knZK6WYWNiI1MAsG1Tc7Uda0VrxOGK1bJgZkDtqIMON5O4ckbYmbOJLUVz1hwyjVfdmLV
jlutj8XNtolxFk5ECaHMAvU+zfkL3Z6yXQfmEh5s4om5mHdStIm5nhgNfTJvW4yngi0EvcY6aWX
yn5U0pgY5aJvHNHVLcMqbanvCg2DapA4uQQkCAD3fcSYWIksPpRlO935yuO2MD9mUDFFJcngERf
+BdIBLAjj54mpptH7Q==
X-Google-Smtp-Source: AGHT+IGVKqD+dqm+jkMZNx4gbxxr8V7pl6eQ3j341b2KSCgxT6nRFueyrlJC5ILpUhP8fdbw4qp5YvgBmhNBtrXiDU4=
X-Received: by 2002:a17:90b:4d82:b0:341:c964:125b with SMTP id
98e67ed59e1d1-34abd82709dmr14052086a91.31.1765988480914; Wed, 17 Dec 2025
08:21:20 -0800 (PST)
MIME-Version: 1.0
References: <CAC9=AikfbSxmLmvj+3LY8S9rjcXJtWq36XNBVnmDt=myuF5g-Q@HIDDEN>
<86v7i544cb.fsf@HIDDEN> <m2ms3hrww4.fsf@HIDDEN>
In-Reply-To: <m2ms3hrww4.fsf@HIDDEN>
From: Yuwei Tian <fishtai0@HIDDEN>
Date: Thu, 18 Dec 2025 00:21:09 +0800
X-Gm-Features: AQt7F2oO2nng6R9kpyV1CpDN92aX_p2I_7JeKy027NkRJUFUvUHje48Y_-Fk1hI
Message-ID: <CAC9=Ai=7ag_BDJ9S4_CbzuSDbtw+OqGD-H0wsTnY7dDxyZTdNA@HIDDEN>
Subject: Re: bug#80020: 31.0.50; winner-mode prevents make-frame-invisible
from hiding TTY child frames
To: =?UTF-8?Q?Gerd_M=C3=B6llmann?= <gerd.moellmann@HIDDEN>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Spam-Score: 0.3 (/)
X-Debbugs-Envelope-To: 80020
Cc: martin rudalics <rudalics@HIDDEN>, Eli Zaretskii <eliz@HIDDEN>,
80020 <at> debbugs.gnu.org
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.7 (/)
On Wed, Dec 17, 2025 at 10:44=E2=80=AFPM Gerd M=C3=B6llmann <gerd.moellmann=
@gmail.com> wrote:
>
> Eli Zaretskii <eliz@HIDDEN> writes:
>
> >> From: Yuwei Tian <fishtai0@HIDDEN>
> >> Date: Wed, 17 Dec 2025 01:59:03 +0800
> >>
> >> In Emacs 31, the new TTY child frame support is fantastic. However, I
> >> have encountered an issue that winner-mode interferes with the
> >> visibility of TTY child frames. Specifically, when winner-mode is
> >> enabled, make-frame-invisible fails to hide a child frame visually.
> >>
> >> Steps to reproduce:
> >>
> >> 1. Start Emacs 31 in a terminal: emacs -nw -Q
> >>
> >> 2. Turn on winner-mode by executing M-x winner-mode
> >>
> >> 3. Copy the following code to the *scratch* buffer:
> >>
> >> (let ((child-frame
> >> (make-frame
> >> `((parent-frame . ,(selected-frame))
> >> (width . 40)
> >> (height . 10)
> >> (top . 10)
> >> (left . 10)
> >> (minibuffer . nil)))))
> >> (with-selected-frame child-frame
> >> (switch-to-buffer "*TTY Child Frame*")
> >> (setq mode-line-format nil)
> >> (erase-buffer)
> >> (insert "This is a child frame."))
> >> (run-with-timer 2 nil
> >> (lambda (f)
> >> (make-frame-invisible f)
> >> (message "Child frame is now invisible."))
> >> child-frame))
> >>
> >>
> >> When executing the code multiple times, the child frame hides corre=
ctly
> >> on the first attempt, but fails to hide on subsequent attempts.
>
> @Yuwei Tian: when you write that you execute the code above multiple
> times, you are creating N child frames that look all the same, right?
>
> That makes it a bit difficult to follow. Can you perhaps give an example
> that shows the problem with a single child frame that is created once?
Thank you for the feedback. Here is the updated code to ensure we are
only dealing with a single child frame and avoid any confusion from
overlapping frames.
(progn
(dolist (f (frame-list))
(when (frame-parent f)
(delete-frame f)))
(let ((child-frame (make-frame
`((parent-frame . ,(selected-frame))
(width . 40)
(height . 10)
(top . 10)
(left . 10)
(minibuffer . nil)))))
(with-selected-frame child-frame
(switch-to-buffer "*TTY Child Frame*")
(setq mode-line-format nil)
(erase-buffer)
(insert "This is a child frame."))
(run-with-timer 2 nil
(lambda (f)
(make-frame-invisible f)
(message "Child frame is now invisible."))
child-frame)))
Reproduction Steps:
1. Run emacs -nw -Q
2. Enable winner-mode
3. Evaluate the code
After the 2-second timer, the child frame disappears. However, any
subsequent keystroke, such as C-n, causes the hidden frame to
immediately reappear.
If steps 2 and 3 are swapped (i.e., the child frame is created and
hidden before enabling winner-mode), the already hidden child frame
will unexpectedly reappear as soon as winner-mode is enabled.
bug-gnu-emacs@HIDDEN:bug#80020; Package emacs.
Full text available.Received: (at 80020) by debbugs.gnu.org; 17 Dec 2025 15:30:43 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Wed Dec 17 10:30:42 2025 Received: from localhost ([127.0.0.1]:43819 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1vVtU9-0002FT-5a for submit <at> debbugs.gnu.org; Wed, 17 Dec 2025 10:30:42 -0500 Received: from mout.gmx.net ([212.227.17.21]:57091) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from <rudalics@HIDDEN>) id 1vVtU6-0002EQ-2d for 80020 <at> debbugs.gnu.org; Wed, 17 Dec 2025 10:30:39 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmx.at; s=s31663417; t=1765985431; x=1766590231; i=rudalics@HIDDEN; bh=FI2puA4034MgTIZN0JSCZxCc7tZZ5BsQg/j11Stx4Ns=; 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=p/P1ZRtWYayZ6hW5OxcyA4ojtBljP+W2xEItoeihPUcp85DLBcJqhatMCiLeZZKF Yevb/BS56oh+bJcewv4Uz+Lvgt57Hvrs9MwyaaUl8CGeYLK6+EYVbfEOix5mpcGQ/ NT9zJmhU9Vem4FitHMcKXCl5BxUZvFbsFhpy0sIiw2qo05+V0xi9p5wSyjYV8kLws bgQG2d44bKPDQb5GPIJHG0qgWYrFOZODmD0a5FitSTG1bxC40OQwreEZE3tM2WvqV FLEA8vy0WqjJDATuPYMFyhMRDIm+8oxRmUS8haMu54gkgsXVFPyW4osN/SlugCHSl m+9+GvYOzmCy0To+NQ== X-UI-Sender-Class: 724b4f7f-cbec-4199-ad4e-598c01a50d3a Received: from [192.168.31.113] ([46.124.138.169]) by mail.gmx.net (mrgmx105 [212.227.17.168]) with ESMTPSA (Nemesis) id 1MAwXh-1vhCAA1x9N-00HAo2; Wed, 17 Dec 2025 16:30:31 +0100 Message-ID: <92c5db52-27ea-4da7-8c8c-2d7fffae6af3@HIDDEN> Date: Wed, 17 Dec 2025 16:30:29 +0100 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: bug#80020: 31.0.50; winner-mode prevents make-frame-invisible from hiding TTY child frames To: =?UTF-8?Q?Gerd_M=C3=B6llmann?= <gerd.moellmann@HIDDEN> References: <CAC9=AikfbSxmLmvj+3LY8S9rjcXJtWq36XNBVnmDt=myuF5g-Q@HIDDEN> <86v7i544cb.fsf@HIDDEN> <3b4d03f5-68a4-484b-9d8e-238daa7ac0d9@HIDDEN> <m2pl8drxkb.fsf@HIDDEN> Content-Language: en-US From: martin rudalics <rudalics@HIDDEN> In-Reply-To: <m2pl8drxkb.fsf@HIDDEN> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Provags-ID: V03:K1:FZtwxxU/THNJaZKYvHx2eW1ZNIaAFbKDOF2d68hL0M7Z2b2JlTX kHl8UAO2qCXoB6/h1lu3QIlqhUj6U775HJ698RzyiAOERP1oLf8e8NMiHENanuLcYXArtKs g9+a1ZCLNbm99PseW/hMXFhsLtbo4ouQuvKS+13FLLeAD3IsuQh5IzskKg3ceBjO4He0mqL d3ykwRI8+YQBSwFuEN7og== X-Spam-Flag: NO UI-OutboundReport: notjunk:1;M01:P0:XiF+a636X64=;HNOKu30IwcqeaPdkEvFl/RTcjiN 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 X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 80020 Cc: 80020 <at> debbugs.gnu.org, Eli Zaretskii <eliz@HIDDEN>, Yuwei Tian <fishtai0@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 (-) > Does someone perhaps remember what the problem with removing > SET_FRAME_VISIBLE from do_switch_frame was? I don't remember 1 bit. Neither do I. I'd suggest you remove it, look what gets broken and fix that if possible. Otherwise, we'll likely see more such bugs pile up. martin
bug-gnu-emacs@HIDDEN:bug#80020; Package emacs.
Full text available.Received: (at 80020) by debbugs.gnu.org; 17 Dec 2025 14:44:22 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Wed Dec 17 09:44:22 2025 Received: from localhost ([127.0.0.1]:42476 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1vVslJ-0007D4-Va for submit <at> debbugs.gnu.org; Wed, 17 Dec 2025 09:44:22 -0500 Received: from mail-wm1-x329.google.com ([2a00:1450:4864:20::329]:45164) 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 1vVslH-0007Cm-Hm for 80020 <at> debbugs.gnu.org; Wed, 17 Dec 2025 09:44:20 -0500 Received: by mail-wm1-x329.google.com with SMTP id 5b1f17b1804b1-4777771ed1aso45077965e9.2 for <80020 <at> debbugs.gnu.org>; Wed, 17 Dec 2025 06:44:19 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1765982653; x=1766587453; 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=Xmjm/C3l8BatDCdsudQw8+7oNBdAZjatG8DP0qwNfDM=; b=PKjJXB1v05UkZOm1jEYjmAG6r8xgSaO+2LDJHsKow8sExaVWvJkbRjVyWE/1RRWapC LfX0ZlW/WX59NnKK4lIH1L/Qwzh2LHFCpxElLeg9jE2IVisrUMccylDSxcCzcvKIRFiB HqzDtll8CzxnV6sGuUW6PnTC+S1Xjar5HgQtFjFlTLj1yb9As5LrksxiQYA7aT9uZnNC +3LO2OMqcAMBjRIfC13SffNlCwNQMKMr/9m8aS+yl3POm8je+El+aOL3J0FLMg1krVIP t2u1q02hEVDRDUUXG7TraqvD96DoUIflnDoolpDxrf/OnFbcNxey9hX5Ebh6pTbw4BmT Y1eQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1765982653; x=1766587453; 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=Xmjm/C3l8BatDCdsudQw8+7oNBdAZjatG8DP0qwNfDM=; b=sih9Xmfi/PMdt6JpFcyzFpYU6l09z5glnjzRN13A5V/PgljX//6BlcWGV6CLvRyKa1 9zUlqjtn/5ZhpQ9FecFtJm7BBAHcMc+1q3K/m9M4cEEKZZgg8uSlrrNsZuctQWgfJoDj qik19UkLO0TvEGaqX2nUu7BJOasFtCE+5RkKnSNzMa1Xm+RcObJJcy69mawAxbAFeOFg RqHvNPxTIMJi5TXILxZbWTNjkWCoRi7QuMtGsBbsGlDbXFTcGR44rP2YkPeCV69voZqa +BJTJi5fEAZvw0tou+cWB4/sVq5fh/1SDwELtmhIFCpF8R/fnoWWLQN83vqyfGfWOHh1 UHnA== X-Forwarded-Encrypted: i=1; AJvYcCVv7MAXnZ++CxyZ9blqvVgergBb/64fQajHf+rjlVA1JIDa/GQeyRiuR3WIb06HoDDGRNs3UA==@debbugs.gnu.org X-Gm-Message-State: AOJu0YxLWu8rJyAAC43ISWnjsl7PaGZZBuoqUcfpOp+UX+M/A2eZVEhO ThQjbpIT7AerA3XAV4Nx7XoUbF5MAW6+htmbyIs2rfrCBUSYgOHhH8XV81KufQO1 X-Gm-Gg: AY/fxX6JRdDff9TBgqMO1NHz8/dC6z8PTkGWUA7WC8d0pXtl/iCdCdKl0XXx7P20C1Y E5khbo+bE7D108LW0D5UEAYUEoLNzjKQ5p9OzoxazNhQn4UG1VXU3Q5oSX5/vXHUiWGia+Wx9pV 3p11XAPO4lgIncq9OyxBzHB6cs6m7UfEfom9zaNDv1o/WzphnCY7mOYwALhPJ7D47s/qOcrzgvS KKTexbiF6I7+iik9oj9hoTZLy5QsiDf6nLJOhtkDFGufJvGHRar2f5uMZpDBCoR3Xzudp+aVzSU 2ag/+i2cbbH+oAxCghen6Av+tmwBHx166MtgQeYDTlO9SEkBwBC/KOmD4Q7zhMskOESiUkcVRNG PXiU24BYOx7rObFlO0rXnbxfzUGzmfl8l+tuw7bwbGKqPCQVxMC0M2QMB9D9cdYYcI30oMGfz0s dT2CE9D/Cn2PiVxg1ckB+hijTscP8b4030DkTANb4+lwHprS4ALu1WwIBOjj3eTSbkjhoAKxfmv i5DgT8BSr0PqLpsSqIoXRw= X-Google-Smtp-Source: AGHT+IEieZC/qHSnMb8wIqsQkwMmp/g5Y33IPtIwOXidfv7GjD5wutKoiUerAc61YTacKE8kKeQEeg== X-Received: by 2002:a05:600c:5298:b0:477:7f4a:44b4 with SMTP id 5b1f17b1804b1-47a8f89cb3cmr178106015e9.1.1765982652923; Wed, 17 Dec 2025 06:44:12 -0800 (PST) Received: from pro4 (p200300e0b70da7009c22d61d60bb2236.dip0.t-ipconnect.de. [2003:e0:b70d:a700:9c22:d61d:60bb:2236]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-47bd8f86b83sm32673825e9.2.2025.12.17.06.44.12 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 17 Dec 2025 06:44:12 -0800 (PST) From: =?utf-8?Q?Gerd_M=C3=B6llmann?= <gerd.moellmann@HIDDEN> To: Eli Zaretskii <eliz@HIDDEN> Subject: Re: bug#80020: 31.0.50; winner-mode prevents make-frame-invisible from hiding TTY child frames In-Reply-To: <86v7i544cb.fsf@HIDDEN> References: <CAC9=AikfbSxmLmvj+3LY8S9rjcXJtWq36XNBVnmDt=myuF5g-Q@HIDDEN> <86v7i544cb.fsf@HIDDEN> Date: Wed, 17 Dec 2025 15:44:11 +0100 Message-ID: <m2ms3hrww4.fsf@HIDDEN> User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 80020 Cc: martin rudalics <rudalics@HIDDEN>, Yuwei Tian <fishtai0@HIDDEN>, 80020 <at> debbugs.gnu.org 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: Yuwei Tian <fishtai0@HIDDEN> >> Date: Wed, 17 Dec 2025 01:59:03 +0800 >> >> In Emacs 31, the new TTY child frame support is fantastic. However, I >> have encountered an issue that winner-mode interferes with the >> visibility of TTY child frames. Specifically, when winner-mode is >> enabled, make-frame-invisible fails to hide a child frame visually. >> >> Steps to reproduce: >> >> 1. Start Emacs 31 in a terminal: emacs -nw -Q >> >> 2. Turn on winner-mode by executing M-x winner-mode >> >> 3. Copy the following code to the *scratch* buffer: >> >> (let ((child-frame >> (make-frame >> `((parent-frame . ,(selected-frame)) >> (width . 40) >> (height . 10) >> (top . 10) >> (left . 10) >> (minibuffer . nil))))) >> (with-selected-frame child-frame >> (switch-to-buffer "*TTY Child Frame*") >> (setq mode-line-format nil) >> (erase-buffer) >> (insert "This is a child frame.")) >> (run-with-timer 2 nil >> (lambda (f) >> (make-frame-invisible f) >> (message "Child frame is now invisible.")) >> child-frame)) >> >> >> When executing the code multiple times, the child frame hides correctly >> on the first attempt, but fails to hide on subsequent attempts. @Yuwei Tian: when you write that you execute the code above multiple times, you are creating N child frames that look all the same, right? That makes it a bit difficult to follow. Can you perhaps give an example that shows the problem with a single child frame that is created once? Sorry, I'm not at all familiar with winner, I would find that easier to follow.
bug-gnu-emacs@HIDDEN:bug#80020; Package emacs.
Full text available.Received: (at 80020) by debbugs.gnu.org; 17 Dec 2025 14:29:50 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Wed Dec 17 09:29:50 2025 Received: from localhost ([127.0.0.1]:42342 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1vVsXG-0006NL-DZ for submit <at> debbugs.gnu.org; Wed, 17 Dec 2025 09:29:50 -0500 Received: from mail-wm1-x32a.google.com ([2a00:1450:4864:20::32a]:60567) 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 1vVsXE-0006N6-Nz for 80020 <at> debbugs.gnu.org; Wed, 17 Dec 2025 09:29:49 -0500 Received: by mail-wm1-x32a.google.com with SMTP id 5b1f17b1804b1-47755de027eso38177795e9.0 for <80020 <at> debbugs.gnu.org>; Wed, 17 Dec 2025 06:29:48 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1765981782; x=1766586582; 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=kYjXLyZl6mcC9GcadpDI1FKYeFLnzDyZ0WP/ss2ybII=; b=amFCPiLUjerHdiHRsRjaYkD+LXPsD34AMnccvFSHF3DBkFVWJoYzy9gRj1EQw46KV4 QMpiGmwrdlnrwsCrGdpUEBXEQ8bT1HS/YP1j1Gi12vSzIFglOOV90Ip3Hra6CaA52ozL nggFGt1RPcl4SRH4J2TLnzUynWbmwprjcBdgHyQeDY6YgjlELPSfe7djR8gorwPL/sS9 bUilMQHDckV1tSxg7BG4jHZFmnC6MnhuVn7PPNngsdDxarb7zzrldpLPBacsrfHLej46 vsmbCXT+u1FRO8qvqK49EGEd2X7m6FYXNIvq8aKSF+e9LqsF7ad7Ceh3Pvr02Mp5meEM wunQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1765981782; x=1766586582; 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=kYjXLyZl6mcC9GcadpDI1FKYeFLnzDyZ0WP/ss2ybII=; b=WE8Wte3qM7lqfZqrIoAYXVFII8mfBzgCC4GHWH7KTCVh89UiChc7hYevJ3/XT1xFbe z0qKBOoKqtYinSIIYOftpuvKVALWuAIyeME/eUHT/TbMmXuqjV+F8GbGtSB25V9L9Gli tp98M1mbGPhZI2DZXUq4u7hrjv082U7gVqbuTKZ+alj/h54gixdWf63suzQ+vbuIDuPo FkJzMD722eXM9KjXfWEUbspDUMcLFAykDtb4PhybN5QT7d0HLExDefTCi3rqwLtzow23 gk1aIbLxEqqrF/jEvquIj31Gtl2s4zvNYrmGGbG7iYlsiwJAKetyZJG1AVofiDNn6Zgh O23Q== X-Forwarded-Encrypted: i=1; AJvYcCVK1IGqVvkyR8mqjaYa14CdIkM3SIBLx/0ZLUZDmHhknmMOY2qFMS05cWZf9lYzuiJrqU/s9w==@debbugs.gnu.org X-Gm-Message-State: AOJu0Ywpj/p8MPfpQeV5vUle3WlDoGC1CI3pw1Ymsu3w6aMH8D3Rm7Wv Oj4QZcIqk6lApQjDdMZnLNjhV2M1mRiQBTm+cNqj8e36l9cGS/xREZvcuSCyRj+G X-Gm-Gg: AY/fxX6sLknmgZ0F8neFKu0YXdVphzzDnwLyq0yLkoGQVX8Ib5ZvCNo3fVoxq9a7Ovj ySh4OW+VVRD/sPKaEDGuYnmWyO2VHYJbSD8kArcWOkK+Y7brmVPfH/ZIUXeTZ86r114zFJ8GdPs NV5mweg0kcT4oBoCcw0SYSwG2sQHJUGACAUUai9lRITSXCU4KTh0cYHcNeTjq5Tvpskrefnnki5 QE77GfwDoDC46UP+OuyMtjXfvXEmsUbqXAl58NtDuEZrqZzbgRZgyd0ibJPwXYvksdwMhexujb1 mAh5VxA4s7zi7QhwxTWnPlcOYAzLSHa7QuZXsTEcntsW2zyXPWlmMCoLq3mRvIgI+T89HOK/pFn wMksG8QbuZG31Xy1JfvAg/qng9r9L5e70ATyGDDScOOMjSq+gKWWsuZ3oQcJaNrP/Uej6UAMmdj TgeHGG1KIXK0JK/sETuSrvdStTZMLzX5wDE/IWLcgJcGDjc5MWxRjTT1Vwm2x0ZR/cJaD+s6Yzt tSkpdoonilZn5Gz2pYjLEWOdDyiqRjxQA== X-Google-Smtp-Source: AGHT+IFjYPBylrXH3YYLXW+o6Lr42S9nnoLT0GDZydF7biCu60HzftLoo2p9AERgYNnM3pHM7XvoLQ== X-Received: by 2002:a05:600c:468c:b0:477:7f4a:44b0 with SMTP id 5b1f17b1804b1-47a8f9142bcmr200767245e9.33.1765981782024; Wed, 17 Dec 2025 06:29:42 -0800 (PST) Received: from pro4 (p200300e0b70da7009c22d61d60bb2236.dip0.t-ipconnect.de. [2003:e0:b70d:a700:9c22:d61d:60bb:2236]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-47bd992b89csm29690055e9.8.2025.12.17.06.29.41 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 17 Dec 2025 06:29:41 -0800 (PST) From: =?utf-8?Q?Gerd_M=C3=B6llmann?= <gerd.moellmann@HIDDEN> To: martin rudalics <rudalics@HIDDEN> Subject: Re: bug#80020: 31.0.50; winner-mode prevents make-frame-invisible from hiding TTY child frames In-Reply-To: <3b4d03f5-68a4-484b-9d8e-238daa7ac0d9@HIDDEN> References: <CAC9=AikfbSxmLmvj+3LY8S9rjcXJtWq36XNBVnmDt=myuF5g-Q@HIDDEN> <86v7i544cb.fsf@HIDDEN> <3b4d03f5-68a4-484b-9d8e-238daa7ac0d9@HIDDEN> Date: Wed, 17 Dec 2025 15:29:40 +0100 Message-ID: <m2pl8drxkb.fsf@HIDDEN> User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 80020 Cc: 80020 <at> debbugs.gnu.org, Eli Zaretskii <eliz@HIDDEN>, Yuwei Tian <fishtai0@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.0 (-) martin rudalics <rudalics@HIDDEN> writes: >>> I found that reversing steps 2 and 3 leads to an even more telling behavior: >>> if a child frame is already hidden, it will unexpectedly re-appear as >>> soon as winner-mode is enabled. This indicates that winner-mode's window >>> management logic is forcing a redisplay that ignores the frame's invisibility >>> flag in the TTY environment. > > This function > > (defun winner-set-conf (winconf) > (let* ((miniwin (minibuffer-window)) > (chosen (selected-window)) > (minisize (window-height miniwin))) > (cl-letf (((window-buffer miniwin)) > ((window-point miniwin))) > (set-window-configuration winconf)) > (cond > ((window-live-p chosen) (select-window chosen)) ; <<<<<<<<< > ((window-minibuffer-p) (other-window 1))) ; <<<<<<<< > (when (/= minisize (window-height miniwin)) > (with-selected-window miniwin ; <<<<<<<<<<< > (enlarge-window (- minisize (window-height))))))) > > has three potential causes of the problem. Here it's the 'other-window' > call that makes the child frame visible. And there's also winner.el: 115 (defun winner-configuration (&optional frame) 116 (or (cdr (assq (or frame (selected-frame)) winner-currents)) 117 (with-selected-frame frame 118 (winner-conf)))) where selecting a tty child frame might make it visible like in the recent xt-mouse case. (And I'm also not sure why with-selected-frame is used here). Does someone perhaps remember what the problem with removing SET_FRAME_VISIBLE from do_switch_frame was? I don't remember 1 bit.
bug-gnu-emacs@HIDDEN:bug#80020; Package emacs.
Full text available.
Received: (at 80020) by debbugs.gnu.org; 17 Dec 2025 14:18:19 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Wed Dec 17 09:18:19 2025
Received: from localhost ([127.0.0.1]:42119 helo=debbugs.gnu.org)
by debbugs.gnu.org with esmtp (Exim 4.84_2)
(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
id 1vVsM7-0005OG-2b
for submit <at> debbugs.gnu.org; Wed, 17 Dec 2025 09:18:19 -0500
Received: from mout.gmx.net ([212.227.15.15]:52727)
by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
(Exim 4.84_2) (envelope-from <rudalics@HIDDEN>) id 1vVsM4-0005Nc-OU
for 80020 <at> debbugs.gnu.org; Wed, 17 Dec 2025 09:18:17 -0500
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmx.at;
s=s31663417; t=1765981084; x=1766585884; i=rudalics@HIDDEN;
bh=7WihfzjkKD4WZjElBQHoufVtKSPgr7Qq11L+t6euHbQ=;
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=FZOiIvQddCTNBD6ieSM1dkA2YLYWxb0t+dxJln33ON2Z90dmJVvpQ/GU+r3ifctn
5oWBGvAY9kcNCfJMBi/41yjPkj/D/XULiR7F9n4F2MZXtO1ZbGu4t836/oSi3urJg
EW03VmWDDLMVL/laKr3Qqa7U4OVuZtZgqNHrqvAucaOqaqEy3tm2zgpUX2QgRe+WI
yrgq/2W+FFU4qJcn7YGFeQl68ovjMfT/RJ3XiPzdgZI6di2k3Y6rdIx4MFDhcghb2
s021yeUt6jS2yRVjKyi497ecUgqveEki971/NEHsoDCL2+r22rKQxJ5Uy4HJ41t+L
izSx4CZLtqgDJbCWMw==
X-UI-Sender-Class: 724b4f7f-cbec-4199-ad4e-598c01a50d3a
Received: from [192.168.31.113] ([46.124.138.169]) by mail.gmx.net (mrgmx005
[212.227.17.190]) with ESMTPSA (Nemesis) id 1M3DJv-1vZReY3qM1-005jOE; Wed, 17
Dec 2025 15:18:04 +0100
Message-ID: <3b4d03f5-68a4-484b-9d8e-238daa7ac0d9@HIDDEN>
Date: Wed, 17 Dec 2025 15:18:02 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: bug#80020: 31.0.50; winner-mode prevents make-frame-invisible
from hiding TTY child frames
To: Eli Zaretskii <eliz@HIDDEN>, Yuwei Tian <fishtai0@HIDDEN>,
=?UTF-8?Q?Gerd_M=C3=B6llmann?= <gerd.moellmann@HIDDEN>
References: <CAC9=AikfbSxmLmvj+3LY8S9rjcXJtWq36XNBVnmDt=myuF5g-Q@HIDDEN>
<86v7i544cb.fsf@HIDDEN>
Content-Language: en-US
From: martin rudalics <rudalics@HIDDEN>
In-Reply-To: <86v7i544cb.fsf@HIDDEN>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-Provags-ID: V03:K1:uQPcFnTw7wTRUiMnmJMrDJVr+YLJOBVUs/0LD4tI+B3ATUl97e8
Z8U26TSHjofOdEYYutt4ZGpcjjjgSlYEP4RSZOCSI5ypHUVg7A0WkCKEzjZN5AKCHRbwFkS
CVpi/fF03r3BB5Yfire2lVUhnnuFWEpzapgRKpf9Hh3y+mMOZDWH0x9fBENPrhkvy66pQO0
zV138KKlv+AZT5hlxRhOQ==
X-Spam-Flag: NO
UI-OutboundReport: notjunk:1;M01:P0:0Zd/3tVF12U=;Q78LYNxnYZTVCtctDhsnStmIGPT
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
X-Spam-Score: -0.7 (/)
X-Debbugs-Envelope-To: 80020
Cc: 80020 <at> debbugs.gnu.org
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 (-)
>> I found that reversing steps 2 and 3 leads to an even more telling behavior:
>> if a child frame is already hidden, it will unexpectedly re-appear as
>> soon as winner-mode is enabled. This indicates that winner-mode's window
>> management logic is forcing a redisplay that ignores the frame's invisibility
>> flag in the TTY environment.
This function
(defun winner-set-conf (winconf)
(let* ((miniwin (minibuffer-window))
(chosen (selected-window))
(minisize (window-height miniwin)))
(cl-letf (((window-buffer miniwin))
((window-point miniwin)))
(set-window-configuration winconf))
(cond
((window-live-p chosen) (select-window chosen)) ; <<<<<<<<<
((window-minibuffer-p) (other-window 1))) ; <<<<<<<<
(when (/= minisize (window-height miniwin))
(with-selected-window miniwin ; <<<<<<<<<<<
(enlarge-window (- minisize (window-height)))))))
has three potential causes of the problem. Here it's the 'other-window'
call that makes the child frame visible.
> 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.
martin
bug-gnu-emacs@HIDDEN:bug#80020; Package emacs.
Full text available.Received: (at 80020) by debbugs.gnu.org; 17 Dec 2025 13:37:20 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Wed Dec 17 08:37:19 2025 Received: from localhost ([127.0.0.1]:41579 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1vVriQ-0002bD-Iv for submit <at> debbugs.gnu.org; Wed, 17 Dec 2025 08:37:19 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:42272) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from <eliz@HIDDEN>) id 1vVriO-0002ad-Me for 80020 <at> debbugs.gnu.org; Wed, 17 Dec 2025 08:37:17 -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 1vVriI-0008Hi-TA; Wed, 17 Dec 2025 08:37:10 -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=mdB/7r6+Kng3Yt3nhUUfi2ppzwI3XK6POcQiGAp3LQU=; b=reowGC8Rvx6WG4A27Uyu wSI87ApmDwY5Uw0NZaQsBZZo9kVJiARnEkm1vr4vEtCimfOqPSXI8q8Ep3hGzy+PFBAPxptJ2+kpr 3bZJnWhY7zRt+k6Q115jTdRFaLrpQ6duoh85MaDmeFm7OS1K9bI6urZturjVZCDTr+2Di5bCGg/05 lHrPTD2t6hZX+1QGnUakoIViSfD38ryY6Aa+hoT3aOzC1uImjiSut6qAv4uYvuvllbmmfs2umOCsu NwlVqw1Ce443cEVo9CULjypN6jK6gcEiIDEB1W0HJsJyyog9WCr5CFa/6P/RmygH5IS9t6IYh/xq0 mfiY2SK88PeR6Q==; Date: Wed, 17 Dec 2025 15:37:08 +0200 Message-Id: <86v7i544cb.fsf@HIDDEN> From: Eli Zaretskii <eliz@HIDDEN> To: Yuwei Tian <fishtai0@HIDDEN>, martin rudalics <rudalics@HIDDEN>, =?utf-8?Q?Gerd_M=C3=B6llmann?= <gerd.moellmann@HIDDEN> In-Reply-To: <CAC9=AikfbSxmLmvj+3LY8S9rjcXJtWq36XNBVnmDt=myuF5g-Q@HIDDEN> (message from Yuwei Tian on Wed, 17 Dec 2025 01:59:03 +0800) Subject: Re: bug#80020: 31.0.50; winner-mode prevents make-frame-invisible from hiding TTY child frames References: <CAC9=AikfbSxmLmvj+3LY8S9rjcXJtWq36XNBVnmDt=myuF5g-Q@HIDDEN> MIME-version: 1.0 Content-type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 80020 Cc: 80020 <at> debbugs.gnu.org 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: Yuwei Tian <fishtai0@HIDDEN> > Date: Wed, 17 Dec 2025 01:59:03 +0800 > > In Emacs 31, the new TTY child frame support is fantastic. However, I > have encountered an issue that winner-mode interferes with the > visibility of TTY child frames. Specifically, when winner-mode is > enabled, make-frame-invisible fails to hide a child frame visually. > > Steps to reproduce: > > 1. Start Emacs 31 in a terminal: emacs -nw -Q > > 2. Turn on winner-mode by executing M-x winner-mode > > 3. Copy the following code to the *scratch* buffer: > > (let ((child-frame > (make-frame > `((parent-frame . ,(selected-frame)) > (width . 40) > (height . 10) > (top . 10) > (left . 10) > (minibuffer . nil))))) > (with-selected-frame child-frame > (switch-to-buffer "*TTY Child Frame*") > (setq mode-line-format nil) > (erase-buffer) > (insert "This is a child frame.")) > (run-with-timer 2 nil > (lambda (f) > (make-frame-invisible f) > (message "Child frame is now invisible.")) > child-frame)) > > > When executing the code multiple times, the child frame hides correctly > on the first attempt, but fails to hide on subsequent attempts. > > I found that reversing steps 2 and 3 leads to an even more telling behavior: > if a child frame is already hidden, it will unexpectedly re-appear as > soon as winner-mode is enabled. This indicates that winner-mode's window > management logic is forcing a redisplay that ignores the frame's invisibility > flag in the TTY environment. I'm guessing that winner-mode messes with the order of frames, and this, when we select a different frame as part of make-frame-invisible, we select the just-made-invisible one. 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. But that's me. Adding a couple of people who might have opinions about this.
bug-gnu-emacs@HIDDEN:bug#80020; Package emacs.
Full text available.
Received: (at submit) by debbugs.gnu.org; 16 Dec 2025 17:59:32 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Tue Dec 16 12:59:32 2025
Received: from localhost ([127.0.0.1]:57860 helo=debbugs.gnu.org)
by debbugs.gnu.org with esmtp (Exim 4.84_2)
(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
id 1vVZKd-0007ws-Sc
for submit <at> debbugs.gnu.org; Tue, 16 Dec 2025 12:59:32 -0500
Received: from lists.gnu.org ([2001:470:142::17]:55024)
by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
(Exim 4.84_2) (envelope-from <fishtai0@HIDDEN>)
id 1vVZKc-0007wY-0M
for submit <at> debbugs.gnu.org; Tue, 16 Dec 2025 12:59:30 -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 <fishtai0@HIDDEN>)
id 1vVZKV-0007W8-1q
for bug-gnu-emacs@HIDDEN; Tue, 16 Dec 2025 12:59:23 -0500
Received: from mail-pj1-x102c.google.com ([2607:f8b0:4864:20::102c])
by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)
(Exim 4.90_1) (envelope-from <fishtai0@HIDDEN>)
id 1vVZKQ-0004nj-Rq
for bug-gnu-emacs@HIDDEN; Tue, 16 Dec 2025 12:59:21 -0500
Received: by mail-pj1-x102c.google.com with SMTP id
98e67ed59e1d1-34ca40c1213so1723273a91.0
for <bug-gnu-emacs@HIDDEN>; Tue, 16 Dec 2025 09:59:16 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=gmail.com; s=20230601; t=1765907955; x=1766512755; darn=gnu.org;
h=to:subject:message-id:date:from:mime-version:from:to:cc:subject
:date:message-id:reply-to;
bh=PjnRhjFlZj9TAqwQtT4xK793jnzziTeAhgT1nj7sy+A=;
b=lfFyhAxm2QIxaOXdmRDrBXBnxFYWKH4iI8UIHfPWstUVxGxFSxxCbgochORsnu0fzu
RRt8n7WI2xgRYMNgN/QFwXxTsrwlyT/9g/6Vgj9RP8DkKTqHt72sqeuyi/zx+FITY+nk
DRcyju7j/WZFotF6QgHCU0JYvOMDcpgN8e4R1yMcdzt8pTB5TwtCoedBed0yKGI8K57B
1bwT9IQC/KJ6oyQp6dC1zMaBnRwl1YatQf8ZQ1d1OjJe5H87WCOqSYBpwxFbceSIc47t
5V09K/tsx6VFn1PTBNwNwy6aW85q6wrcp++8HGgCyjNVt3+374fSrrSCK4uy+M1Z0+q6
qiCw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1765907955; x=1766512755;
h=to:subject:message-id:date:from:mime-version:x-gm-gg
:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
bh=PjnRhjFlZj9TAqwQtT4xK793jnzziTeAhgT1nj7sy+A=;
b=EQG6vq31h/9pdfjJaMlCI4r4ia32AdOHcwHmdQ+xNiMU013oaxiIYx5wmnNHogD0fS
kLmPqYyrYiTHCnggL7/TYIgywDihX88XQn1DhKVULCC9fpRJhOLzgQvTDnCM4pgZM+pO
fHR9v0rou9dthlFNP+hkxtGOnOg0eYM2XckwVcAS7wYzIglrh0OP4YSFXWByBAlUzA8e
G/1Fv6DlSccROy9Ua+8jX66MgYJuiEl/21XuboFIYZmYnETJlC2T7ZfYKx75v7hU7Yqd
PpTBHvKXthwNeOcXVE9be8hQtFq7z3a+/oRFXeg0Q4F9BGvvznDoS7ExFKCWPMMNlTFA
9xVg==
X-Gm-Message-State: AOJu0YxpOD2dRiFK8jrmtirHihguTo5Vff+W54/92d5Fj0b7WleiynFm
4yDM010fYuSCD+LjUk9THqZwHscwt6ExuYFmUOps8S4DFUrf9g45vYCgBED+rZrGKJGOzvIGUhh
vFYT+xQj0vkuxJF4oKXpMSjqvIH561K0k3hs7
X-Gm-Gg: AY/fxX7HlZlMd9zH+1jTD20wtlwadoK/lYKVK0b+Dwy79+/Fu0nMapX0l4Z0f3vR4Ub
UOKCOpZaGxQSWF7SLS3hqGq7jcZC292LuaznSr93/V99IpQwqd5F+D0gbDnoQmxDU8ciFRy9Mg5
0qAgMaBvfsj99F1AI/UYPJ1u66+wDtAODZZKdse53VQeu2nM8tG/r1PnrpzqWFVFazbAocUYljg
uMlaVk1DQv8QxJYdtn+Pof6mkJ0mbKy4ySf+ID205x1o3WRAwYT9Bdz2XPHnQ8WtpI/NbzMnwLC
hJ+iPZbRGeeKA+SuLg==
X-Google-Smtp-Source: AGHT+IEcYDvS7xvUSPymSpzGRE/B6j16MSFUeBngrLc/45YthGB/4moCiDnqb5IUhblV7QTadgJIWoFdk2bRSxm/Lu8=
X-Received: by 2002:a17:90b:2d83:b0:34a:aa7b:1af8 with SMTP id
98e67ed59e1d1-34abe4a2b9emr10769336a91.32.1765907954627; Tue, 16 Dec 2025
09:59:14 -0800 (PST)
MIME-Version: 1.0
From: Yuwei Tian <fishtai0@HIDDEN>
Date: Wed, 17 Dec 2025 01:59:03 +0800
X-Gm-Features: AQt7F2rV80LZsuiglq6_h6_-K5-sBK_yw4GSSr8ciFPA-ooZ7-X-MyzEGin8NKE
Message-ID: <CAC9=AikfbSxmLmvj+3LY8S9rjcXJtWq36XNBVnmDt=myuF5g-Q@HIDDEN>
Subject: 31.0.50; winner-mode prevents make-frame-invisible from hiding TTY
child frames
To: bug-gnu-emacs@HIDDEN
Content-Type: text/plain; charset="UTF-8"
Received-SPF: pass client-ip=2607:f8b0:4864:20::102c;
envelope-from=fishtai0@HIDDEN; helo=mail-pj1-x102c.google.com
X-Spam_score_int: -17
X-Spam_score: -1.8
X-Spam_bar: -
X-Spam_report: (-1.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_ENVFROM_END_DIGIT=0.25, 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.2 (+)
X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org",
has NOT identified this incoming email as spam. The original
message has been attached to this so you can view it or label
similar future email. If you have any questions, see
the administrator of that system for details.
Content preview: Hello, In Emacs 31,
the new TTY child frame support is fantastic.
However, I have encountered an issue that winner-mode interferes with the
visibility of TTY child frames. Specifically, when winner-mode is e [...]
Content analysis details: (1.2 points, 10.0 required)
pts rule name description
---- ---------------------- --------------------------------------------------
1.0 SPF_SOFTFAIL SPF: sender does not match SPF record (softfail)
0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail
provider (fishtai0[at]gmail.com)
-0.0 SPF_HELO_PASS SPF: HELO matches SPF record
0.2 FREEMAIL_ENVFROM_END_DIGIT Envelope-from freemail username ends
in digit (fishtai0[at]gmail.com)
-0.0 RCVD_IN_DNSWL_NONE RBL: Sender listed at https://www.dnswl.org/,
no trust [2001:470:142:0:0:0:0:17 listed in] [list.dnswl.org]
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.2 (/)
Hello,
In Emacs 31, the new TTY child frame support is fantastic. However, I
have encountered an issue that winner-mode interferes with the
visibility of TTY child frames. Specifically, when winner-mode is
enabled, make-frame-invisible fails to hide a child frame visually.
Steps to reproduce:
1. Start Emacs 31 in a terminal: emacs -nw -Q
2. Turn on winner-mode by executing M-x winner-mode
3. Copy the following code to the *scratch* buffer:
(let ((child-frame
(make-frame
`((parent-frame . ,(selected-frame))
(width . 40)
(height . 10)
(top . 10)
(left . 10)
(minibuffer . nil)))))
(with-selected-frame child-frame
(switch-to-buffer "*TTY Child Frame*")
(setq mode-line-format nil)
(erase-buffer)
(insert "This is a child frame."))
(run-with-timer 2 nil
(lambda (f)
(make-frame-invisible f)
(message "Child frame is now invisible."))
child-frame))
When executing the code multiple times, the child frame hides correctly
on the first attempt, but fails to hide on subsequent attempts.
I found that reversing steps 2 and 3 leads to an even more telling behavior:
if a child frame is already hidden, it will unexpectedly re-appear as
soon as winner-mode is enabled. This indicates that winner-mode's window
management logic is forcing a redisplay that ignores the frame's invisibility
flag in the TTY environment.
I am using the emacs-mac port from
https://github.com/jdtsmith/emacs-mac/commits/emacs-mac-gnu_master_exp
(based on Emacs 31).
In GNU Emacs 31.0.50 (build 1, aarch64-apple-darwin25.1.0, Carbon
Version 170 AppKit 2685.2) of 2025-12-12 built on
fishtai0-Mac.local
Repository revision: f7a1f585e35575fffebee988d768c61b93df704e
Repository branch: emacs-mac-gnu_master_exp
Windowing system distributor 'Apple Inc.', version 26.2.0
System Description: macOS 26.2
Configured using:
'configure
--enable-mac-app=/Users/fishtai0/emacs-mac/carbon
--enable-mac-self-contained --cache-file
/var/folders/ln/1w5t970s2wv6pddggb0_ng2w0000gn/T//config.cache.emacs-with-cl-packages
--with-native-compilation=no CC=clang 'CFLAGS=-Wgnu-imaginary-constant
-Wunused-result -g -Wno-ignored-attributes -Wno-flag-enum
-Wno-missing-method-return-type -Wno-variadic-macros
-Wno-strict-prototypes -Wno-availability
-Wno-nullability-completeness''
Configured features:
ACL GLIB GNUTLS LCMS2 LIBXML2 MODULES NOTIFY KQUEUE PDUMPER RSVG SQLITE3
THREADS TOOLKIT_SCROLL_BARS TREE_SITTER WEBP XIM ZLIB
Important settings:
value of $LC_ALL: en_US.UTF-8
value of $LC_CTYPE: UTF-8
value of $LANG: en_US.UTF-8
locale-coding-system: utf-8-unix
Major mode: Fundamental
Minor modes in effect:
tooltip-mode: t
global-eldoc-mode: t
show-paren-mode: t
electric-indent-mode: t
mac-mouse-wheel-mode: t
tool-bar-mode: t
menu-bar-mode: t
file-name-shadow-mode: t
global-font-lock-mode: t
blink-cursor-mode: t
minibuffer-nonselected-mode: t
minibuffer-regexp-mode: t
buffer-read-only: t
line-number-mode: t
indent-tabs-mode: t
transient-mark-mode: t
auto-composition-mode: t
auto-encryption-mode: t
auto-compression-mode: t
Load-path shadows:
None found.
Features:
(shadow sort mail-extr emacsbug lisp-mnt message mailcap yank-media puny
dired dired-loaddefs rfc822 mml mml-sec password-cache epa derived epg
rfc6068 epg-config gnus-util text-property-search time-date subr-x
mm-decode mm-bodies mm-encode mailabbrev gmm-utils mailheader
cl-loaddefs cl-lib sendmail mail-parse rfc2231 rfc2047 rfc2045
ietf-drums mm-util mail-prsvr mail-utils info rmc iso-transl tooltip
cconv eldoc paren electric uniquify ediff-hook vc-hooks lisp-float-type
elisp-mode mwheel term/mac-win mac-win term/common-win tool-bar dnd
fontset image regexp-opt fringe tabulated-list replace newcomment
text-mode lisp-mode prog-mode register page tab-bar menu-bar rfn-eshadow
isearch easymenu timer select scroll-bar mouse jit-lock font-lock syntax
font-core term/tty-colors frame minibuffer nadvice seq simple cl-generic
indonesian philippine cham georgian utf-8-lang misc-lang vietnamese
tibetan thai tai-viet lao korean japanese eucjp-ms cp51932 hebrew greek
romanian slovak czech european ethiopic indian cyrillic chinese
composite emoji-zwj charscript charprop case-table epa-hook
jka-cmpr-hook help abbrev obarray oclosure cl-preloaded button loaddefs
theme-loaddefs faces cus-face macroexp files window text-properties
overlay sha1 md5 base64 format env code-pages mule custom widget keymap
hashtable-print-readable backquote threads kqueue mac lcms2 multi-tty
make-network-process tty-child-frames emacs)
Memory information:
((conses 16 42549 11647) (symbols 48 5797 0) (strings 32 19664 1199)
(string-bytes 1 700728) (vectors 16 10162)
(vector-slots 8 115969 4379) (floats 8 26 4) (intervals 56 413 29)
(buffers 1064 12))
Yuwei Tian <fishtai0@HIDDEN>:bug-gnu-emacs@HIDDEN.
Full text available.bug-gnu-emacs@HIDDEN:bug#80020; Package emacs.
Full text available.
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997 nCipher Corporation Ltd,
1994-97 Ian Jackson.