GNU bug report logs - #17497
24.4.50; TTY menu glitches

Previous Next

Package: emacs;

Reported by: Dmitry Antipov <dmantipov <at> yandex.ru>

Date: Thu, 15 May 2014 12:28:01 UTC

Severity: normal

Tags: patch

Found in version 24.4.50

Done: Lars Ingebrigtsen <larsi <at> gnus.org>

Bug is archived. No further changes may be made.

Full log


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

From: Eli Zaretskii <eliz <at> gnu.org>
To: dickey <at> his.com
Cc: 17497 <at> debbugs.gnu.org, monnier <at> iro.umontreal.ca
Subject: Re: bug#17497: 24.4.50; TTY menu glitches
Date: Wed, 04 Jun 2014 00:07:24 +0300
> Date: Tue, 03 Jun 2014 14:47:49 -0400
> From: Thomas Dickey <dickey <at> his.com>
> Cc: Thomas Dickey <dickey <at> his.com>, 17497 <at> debbugs.gnu.org,
>  Eli Zaretskii <eliz <at> gnu.org>
> 
> > Currently, we're not concerned about optimization, just about tracking
> > down a display glitch.  The tricky part of this glitch is that if we
> > record&replay Emacs's output, the "replay" does not suffer from the
> > same glitch.
> 
> sure - but I gave my best answer at the outset.  The behavior which
> you are describing won't show up by doing replay's, because it would
> occur when you have input (from the keyboard) interfering with the
> output.
>  
> > So apparently the terminal emulator behaves differently in the "live"
> > case than in the "replay" case for some reason.  We tried to replay at
> > different speeds to see if it was related to timing, but to no avail.
> > 
> > To me, the next logical explanation is that the terminal emulator's
> > behavior is influenced y the relative timing of *input* and output.
> 
> :-)
>  
> > For that reasons, your ncurses explanation is very interesting, yet
> > I can't imagine how it can be directly related since our "record&replay"
> > is done "after" ncurses, directly in the stream between Emacs's process
> > and the terminal emulator.
> > 
> > Do you have some other insight that could explain why the terminal
> > emulator would react differently in the "live" case than in the
> > "replay" case?
> 
> repeating: if the cursor-key sequence of characters is misinterpreted
> (for example due to timeouts), then fragments of the sequences will
> echo as unexpected characters.
> 
> Incidentally, if an *output* splits up an escape sequence across
> buffers in fflush's, then that can also open up holes in timing.
> But I think that's less of concern...

All this, including input interfering with output, happens during
normal Emacs redisplay, but we have never heard any complaints about
corrupted display like the ones we get with the menus.

The Emacs code which outputs commands and text to the terminal does
not know whether a menu has been dropped or not, it just compares the
previous display with the desired one, and sends commands to update
the regions of the screen that has been changed.




This bug report was last modified 5 years and 338 days ago.

Previous Next


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