emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Weird behavior and crash with X and TTY frame


From: Dmitry Antipov
Subject: Re: Weird behavior and crash with X and TTY frame
Date: Sun, 07 Apr 2013 19:18:44 +0400
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/20130328 Thunderbird/17.0.5

On 04/07/2013 04:06 PM, Jan Djärv wrote:

This is something Emacs can't handle.  It is because how the lisp and event 
loop interracts.

When you do (x-popup-dialog t '("Test" ("yes" . 1))), a Lisp return value is 
expected back to the Lisp code.
So Emacs does not execute any more Lisp, until the dialog is popped down.
The popup is shown by a loop that just processes X events 
(x_menu_wait_for_event).
When you switch frame and do C-g C-g, the "normal" stuff does not happen, 
because Lisp is not executed.

This would be solvable if we had an independent Lisp loop per terminal, but it 
is not so.
There is only one Lisp loop, shared by all frames/terminals, and if one 
frame/terminal suspends the loop,
it is suspended for all frames/terminals.

Yes, but the same trick with two X frames doesn't crash at least; first C-g on
X frame 2 cancels popup raised on frame 1 and resumes normal event processing 
loop.

Dmitry





reply via email to

[Prev in Thread] Current Thread [Next in Thread]