From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Len Trigg Newsgroups: gmane.emacs.bugs Subject: bug#75056: 31.0.50; tty-child-frames with server / multiple clients possible hangs Date: Tue, 07 Jan 2025 20:04:57 +0200 Message-ID: References: <8634i9y1wa.fsf@gnu.org> <86wmflwlok.fsf@gnu.org> <86v7v5wbqs.fsf@gnu.org> <86msghwa6q.fsf@gnu.org> <86y100utwa.fsf@gnu.org> <86v7ut6wno.fsf@gnu.org> Mime-Version: 1.0 Content-Type: multipart/alternative; boundary=----QK5XDGEW991SNXWE349W7CXWJOFQYK Content-Transfer-Encoding: 7bit Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="23762"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: K-9 Mail for Android Cc: gerd.moellmann@gmail.com, 75056@debbugs.gnu.org To: Eli Zaretskii Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Tue Jan 07 19:06:48 2025 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1tVDyZ-0005vg-Jt for geb-bug-gnu-emacs@m.gmane-mx.org; Tue, 07 Jan 2025 19:06:47 +0100 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1tVDy7-0004Rz-9Z; Tue, 07 Jan 2025 13:06:19 -0500 Original-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 ) id 1tVDxq-0004Pa-QY for bug-gnu-emacs@gnu.org; Tue, 07 Jan 2025 13:06:03 -0500 Original-Received: from debbugs.gnu.org ([2001:470:142:5::43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1tVDxq-0006w1-Io for bug-gnu-emacs@gnu.org; Tue, 07 Jan 2025 13:06:02 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=debbugs.gnu.org; s=debbugs-gnu-org; h=MIME-Version:References:In-Reply-To:From:Date:To:Subject; bh=hVmOUGfMnjv10RY+QJWsrjOiZG8dHoRDI21Gj/qPmOA=; b=U7CDB22kyPuVyrERhbfIXXyGydWa1bKQc/Fny+etpu4TozhCwmlUWiq4qL39o9m2HPH71f3Uhzpi5kS9/0LM0zlVxu+tWAy1X/ZDxCYSQ5MXlu8SmfuOd+O6UCSQD9HKWCb8NTxMzmyBZRYzwcBXTLOog0r8y3Z4J3+/ek4W+7Fh5NpfE4o81IPwcb7/e7LuQFOgj09FWU3zu4kACAWknXwfVbxI7CuxbxiMfXCBP8gk+Vzyq5J3QKrp+umaMZaNhbRcL2taDRidPSmG9DF2WDHme7XNPVCLld/XVhHyhpWqA3aRSLBZU2OxRgvLS0HLzTZBC56unIigJWZEaVTuRg==; Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1tVDxq-000516-Bj for bug-gnu-emacs@gnu.org; Tue, 07 Jan 2025 13:06:02 -0500 X-Loop: help-debbugs@gnu.org Resent-From: Len Trigg Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Tue, 07 Jan 2025 18:06:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 75056 X-GNU-PR-Package: emacs Original-Received: via spool by 75056-submit@debbugs.gnu.org id=B75056.173627310919095 (code B ref 75056); Tue, 07 Jan 2025 18:06:02 +0000 Original-Received: (at 75056) by debbugs.gnu.org; 7 Jan 2025 18:05:09 +0000 Original-Received: from localhost ([127.0.0.1]:44534 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1tVDwy-0004xV-D3 for submit@debbugs.gnu.org; Tue, 07 Jan 2025 13:05:09 -0500 Original-Received: from mail-wr1-x433.google.com ([2a00:1450:4864:20::433]:51680) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.84_2) (envelope-from ) id 1tVDws-0004t7-Ch for 75056@debbugs.gnu.org; Tue, 07 Jan 2025 13:05:03 -0500 Original-Received: by mail-wr1-x433.google.com with SMTP id ffacd0b85a97d-388cae9eb9fso8396273f8f.3 for <75056@debbugs.gnu.org>; Tue, 07 Jan 2025 10:05:02 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1736273101; x=1736877901; darn=debbugs.gnu.org; h=content-transfer-encoding:mime-version:message-id:references :in-reply-to:user-agent:subject:cc:to:from:date:from:to:cc:subject :date:message-id:reply-to; bh=hVmOUGfMnjv10RY+QJWsrjOiZG8dHoRDI21Gj/qPmOA=; b=EQ4R8ggYHccmBscVE6T5j7P+OCD7fHfdUzZo2BnA1PE1u+Ix58QPn2+n7wgWPlZeH5 hv9AtQNtFKyN9ERkwkN4LoQa3tktzl9Q+ji7TxJdq2dpSP2scsnLXVHSM5KPH9SIFyD5 fTnAMhnCx+0H3ooHwnraTTksJu9+q0MRw/SULcIR3imAK/lF26AnEaJCs1GBX2hD929a 4vAf/MMaEsFTmNLB5GB8o2Q1TXj8IfMA/VBZuZfU35jSo98zDzhWBXf5E13og57M8nH4 UonV3PsNOhEoLn4XYUMrpPI5fe7tqUYcXmS8i+TwrwaMr4Ezzs/Y7Dhcs6dKhe0gakYT IyWQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1736273101; x=1736877901; h=content-transfer-encoding:mime-version:message-id:references :in-reply-to:user-agent:subject:cc:to:from:date:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=hVmOUGfMnjv10RY+QJWsrjOiZG8dHoRDI21Gj/qPmOA=; b=LoJ60nD2sWRc0Q/szAc1vF35cqVqbJKaCf8gUkL7Mf/gTjl9Egbx1ZgcfQzcoqXZ0/ f8Z/mHRjCAvJMnw6X/+49GD8H9d+KDsb7CKdIThL3ijpJPYGTJTqQtM5oANlgURwD4c1 D7CIK8SwAx65Hu3uO5XrjPM6FluiRVD60sHrSsX4auKWnfwPLHamtRWrhy1jAn8zep85 EvFjPmIAEz6j25zZFebErZFiMWWGVNkn53U7sckyVMMx+q4AN10OFtr6rIWLHaWxxy3B xDlDWoTcz9/QdI3slxjAYDrdeMikkdbMxScwxv6+pr8TqJwffX6dN61WryUKBsH/r2D+ WsAA== X-Forwarded-Encrypted: i=1; AJvYcCVZLG5KqtzTVwAYhId4sERFTtX6w3n6dFVkYXka8wtaBH/Qttj0psv17bTmjeQ8YuiLUKAiVA==@debbugs.gnu.org X-Gm-Message-State: AOJu0Ywu79xZFL+Vx315hKcAjrWvGGNsHNDHeiXHjBccmL/J5/rV1/fI Ib8AZwlDLofrd5zMmNq4fq7rsG2qFryeQgdy6xE+oS3THWJoYv3l X-Gm-Gg: ASbGnctotQVL3rsRankPaRJDmDteHxEwmxXT3SmwzilqVVQmuJmsTCUOT2RbILPTW9T GiCzrbrkq5tFuzja80IJYsdU3JOOtzkGbKpG1cULD8HdiQ3tS0SuQ1ga9c9X69o/f1+a/pLIemc ad5O7CQAYisFQPGII/yLV4jqZKPn9MUy8o8Hh/e4Em1T+u9nl+J/4daf0OJkvGy4+P2SCSA+eSl ZOkp++SbvOmX2RZLBB5trmo/paBf6buoOM1KaQ/iy0TiIa7+w== X-Google-Smtp-Source: AGHT+IEZ0hZM8B8ML5TO/yYdVWMTOohzzxiZuDfqF5uwJw/YKP7GQS09UWJiPgmkPfUJK92AIbLsLw== X-Received: by 2002:a5d:6da1:0:b0:386:4a0c:fe17 with SMTP id ffacd0b85a97d-38a2220039fmr52024397f8f.27.1736273100778; Tue, 07 Jan 2025 10:05:00 -0800 (PST) Original-Received: from [127.0.0.1] ([145.224.95.92]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-4365d116d8fsm612374935e9.17.2025.01.07.10.04.59 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Tue, 07 Jan 2025 10:05:00 -0800 (PST) In-Reply-To: <86v7ut6wno.fsf@gnu.org> X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Original-Sender: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Xref: news.gmane.io gmane.emacs.bugs:298736 Archived-At: ------QK5XDGEW991SNXWE349W7CXWJOFQYK Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Please excuse the top reply, I am traveling and my phone email client is li= mited=2E=20 Eli, thanks for taking another look=2E AFAIK, posframe needs to be newer t= han what is released in ELPA=2E You can get the latest from I also think that if you had the older version you would not have seen a t= ty-child-frame at all and so not have triggered the bug I see - In your tes= t did C-x b bring up a tty child frame in the center of the window, or a re= gular minibuffer at the bottom of the screen?=20 (You are correct that I did not switch away from the selector in my repro = steps, I selected the buffer and exited normally with RET)=2E Cheers,=20 Len=2E On 5 January 2025 6:41:15=E2=80=AFpm GMT+02:00, Eli Zaretskii wrote: >> From: Len Trigg >> Date: Sun, 29 Dec 2024 08:55:51 +1300 >> Cc: gerd=2Emoellmann@gmail=2Ecom, 75056@debbugs=2Egnu=2Eorg >>=20 >> On Sat, 28 Dec 2024 at 20:52, Eli Zaretskii wrote: >>=20 >> Could you please extend your recipe so it starts from "emacs -nw -Q"? >> See, I don't have posframe or elpaca installed and don't use them, and >> don't want to install them just to reproduce and debug this problem=2E >>=20 >> Unless there's something I'm missing, the init file and startup command= I provided did the installation of those >> files for you into a temporary directory, so I thought that was the eas= iest self-contained path to reproducing=2E >> Let me assume you've run it once that way initially in order to fetch t= he packages (otherwise you can >> manually download the files if you want and adjust the paths in the bel= ow command line, but be aware that >> you need new enough versions of posframe that understands tty child fra= me)=2E Then to get a "emacs -nw -Q" >> initialization you can use the attached test=2Eel to do: >>=20 >> emacs -nw -Q --init-directory=3D~/emacs-test -l ~/emacs-test/elpaca/rep= os/vertico/vertico=2Eel -l ~ >> /emacs-test/elpaca/repos/vertico/extensions/vertico-multiform=2Eel -l ~ >> /emacs-test/elpaca/repos/posframe/posframe=2Eel -l ~ >> /emacs-test/elpaca/repos/vertico-posframe/vertico-posframe=2Eel test= =2Eel >>=20 >> Then manually "eval" the remaining commands in test=2Eel >> (in another terminal) emacsclient -nw >> Then invoke the child frame pop up: (C-x b and C-n to select *Messages*= and RET)=2E Now we're no longer in >> a minibuffer=2E >> Switch back to the original emacs terminal >> Invoke the child frame pop up: (C-x b and C-n to select *Messages* and = RET)=2E Now we're no longer in a >> minibuffer=2E >> Swap to the emacsclient terminal, and note that the client is "hung"=2E >> =20 >> I think this gives a specific enough recipe to minimally reproduce=2E >>=20 >> (vertico-mode) >>=20 >> (push '(tty-non-selected-cursor =2E t) vertico-posframe-parameters) >> (push '(undecorated =2E nil) vertico-posframe-parameters) >> (vertico-posframe-mode) >>=20 >> (server-start) > >I tried this now, but I don't think I see the problem you describe=2E > >I donwloaded vertico, posframe, and vertico-posframe packages from GNU >ELPA -- are the versions available there new enough to reproduce the >problem? If not, where should I download these packages from? > >Anyway, I can only observe a "hung" client if I forcibly switch from >an active minibuffer=2E That is, after "C-x b" I don't select a buffer, >I simply type "C-x o" to switch out of the mini-window=2E Then only the >client where I switched out of the mini-window can accept keyboard >input, the other one is "hung"=2E > >However, I can see the same situation even without these two packages: >if I start emacsclient, type "C-x b" there, and then "C-x o" to switch >away from the mini-window, Emacs on the other frame will stop responding >to keyboard input=2E This is expected: when Emacs has an active >minibuffer on some display, Emacs temporarily switches to the >"single-keyboard mode"=2E > >But I suspect this is not what you see, so I wonder what did I not do >to reproduce the problem you see=2E > ------QK5XDGEW991SNXWE349W7CXWJOFQYK Content-Type: text/html; charset=utf-8 Content-Transfer-Encoding: quoted-printable
Please excuse the top reply, I a= m traveling and my phone email client is limited=2E

Eli, thanks for= taking another look=2E AFAIK, posframe needs to be newer than what is rele= ased in ELPA=2E You can get the latest from <https://github=2Ecom/tumashu/posframe>
<= br>I also think that if you had the older version you would not have seen a= tty-child-frame at all and so not have triggered the bug I see - In your t= est did C-x b bring up a tty child frame in the center of the window, or a = regular minibuffer at the bottom of the screen?

(You are correct th= at I did not switch away from the selector in my repro steps, I selected th= e buffer and exited normally with RET)=2E

Cheers,
Len=2E


On 5 January 2025 6:= 41:15=E2=80=AFpm GMT+02:00, Eli Zaretskii <eliz@gnu=2Eorg> wrote:
From: Len Trigg <lenbok@gmail=2Ecom>
Date: Sun, 29 = Dec 2024 08:55:51 +1300
Cc: gerd=2Emoellmann@gmail=2Ecom, 75056@debbugs= =2Egnu=2Eorg

On Sat, 28 Dec 2024 at 20:52, Eli Zaretskii <eliz@gn= u=2Eorg> wrote:

Could you please extend your recipe so it starts= from "emacs -nw -Q"?
See, I don't have posframe or elpaca installed an= d don't use them, and
don't want to install them just to reproduce and = debug this problem=2E

Unless there's something I'm missing, the init= file and startup command I provided did the installation of those
files= for you into a temporary directory, so I thought that was the easiest self= -contained path to reproducing=2E
Let me assume you've run it once that = way initially in order to fetch the packages (otherwise you can
manually= download the files if you want and adjust the paths in the below command l= ine, but be aware that
you need new enough versions of posframe that und= erstands tty child frame)=2E Then to get a "emacs -nw -Q"
initialization= you can use the attached test=2Eel to do:

emacs -nw -Q --init-direc= tory=3D~/emacs-test -l ~/emacs-test/elpaca/repos/vertico/vertico=2Eel -l ~<= br>/emacs-test/elpaca/repos/vertico/extensions/vertico-multiform=2Eel -l ~<= br>/emacs-test/elpaca/repos/posframe/posframe=2Eel -l ~
/emacs-test/elpa= ca/repos/vertico-posframe/vertico-posframe=2Eel test=2Eel

Then manu= ally "eval" the remaining commands in test=2Eel
(in another terminal) em= acsclient -nw
Then invoke the child frame pop up: (C-x b and C-n to sele= ct *Messages* and RET)=2E Now we're no longer in
a minibuffer=2E
Swit= ch back to the original emacs terminal
Invoke the child frame pop up: (C= -x b and C-n to select *Messages* and RET)=2E Now we're no longer in a
m= inibuffer=2E
Swap to the emacsclient terminal, and note that the client = is "hung"=2E

I think this gives a specific enough recipe to minimal= ly reproduce=2E

(vertico-mode)

(push '(tty-non-selected-curso= r =2E t) vertico-posframe-parameters)
(push '(undecorated =2E nil) verti= co-posframe-parameters)
(vertico-posframe-mode)

(server-start)

I tried this now, but I don't thi= nk I see the problem you describe=2E

I donwloaded vertico, posframe,= and vertico-posframe packages from GNU
ELPA -- are the versions availab= le there new enough to reproduce the
problem? If not, where should I do= wnload these packages from?

Anyway, I can only observe a "hung" clie= nt if I forcibly switch from
an active minibuffer=2E That is, after "C-= x b" I don't select a buffer,
I simply type "C-x o" to switch out of the= mini-window=2E Then only the
client where I switched out of the mini-w= indow can accept keyboard
input, the other one is "hung"=2E

Howev= er, I can see the same situation even without these two packages:
if I s= tart emacsclient, type "C-x b" there, and then "C-x o" to switch
away fr= om the mini-window, Emacs on the other frame will stop responding
to key= board input=2E This is expected: when Emacs has an active
minibuffer on= some display, Emacs temporarily switches to the
"single-keyboard mode"= =2E

But I suspect this is not what you see, so I wonder what did I n= ot do
to reproduce the problem you see=2E

------QK5XDGEW991SNXWE349W7CXWJOFQYK--