all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Thomas Dickey <dickey@his.com>
To: Eli Zaretskii <eliz@gnu.org>
Cc: 17497@debbugs.gnu.org, dickey@his.com
Subject: bug#17497: 24.4.50; TTY menu glitches
Date: Tue, 03 Jun 2014 18:21:55 -0400	[thread overview]
Message-ID: <20140603222155.GA13893@aerie.jexium-island.net> (raw)
In-Reply-To: <83ppip8zxv.fsf@gnu.org>

[-- Attachment #1: Type: text/plain, Size: 3118 bytes --]

On Wed, Jun 04, 2014 at 12:07:24AM +0300, Eli Zaretskii wrote:
> > Date: Tue, 03 Jun 2014 14:47:49 -0400
> > From: Thomas Dickey <dickey@his.com>
> > Cc: Thomas Dickey <dickey@his.com>, 17497@debbugs.gnu.org,
> >  Eli Zaretskii <eliz@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 menus cover _half_ of the screen, defeating any attempt to speed up
scrolling by using the terminal's indexing/scrolling features.  In the
view without menus, the scrolled text (unless you're considering scrolling
a pane of a vertically split window), is full-width, and works with
the terminal's scrolling features.

(If I were debugging something of the sort we're discussing, I'd log
the input-stream in terms of what the application is seeing, to look
for broken cursor-up/down sequences).
 
> 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.

sure - we're talking about characters.

-- 
Thomas E. Dickey <dickey@invisible-island.net>
http://invisible-island.net
ftp://invisible-island.net

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 198 bytes --]

  reply	other threads:[~2014-06-03 22:21 UTC|newest]

Thread overview: 70+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <83vbslbuqr.fsf@gnu.org>
     [not found] ` <20140531200947.GA779@aerie.jexium-island.net>
     [not found]   ` <83lhtgbrd6.fsf@gnu.org>
     [not found]     ` <20140601152657.GA15078@aerie.jexium-island.net>
2014-06-01 16:25       ` bug#17497: 24.4.50; TTY menu glitches Eli Zaretskii
2014-06-01 17:12         ` Thomas Dickey
2014-06-01 17:18           ` Thomas Dickey
2014-06-01 18:45             ` Eli Zaretskii
2014-06-01 19:46               ` Thomas Dickey
2014-06-02 15:17                 ` Eli Zaretskii
2014-06-02 16:14                   ` Glenn Morris
2014-06-02 16:43                     ` Eli Zaretskii
2014-06-02 16:46                       ` Glenn Morris
2014-06-02 16:56                         ` Eli Zaretskii
2014-06-02 17:05                           ` Glenn Morris
2014-06-03 13:43             ` Stefan Monnier
2014-06-03 18:47               ` Thomas Dickey
2014-06-03 21:07                 ` Eli Zaretskii
2014-06-03 22:21                   ` Thomas Dickey [this message]
2014-06-04  6:54                     ` Eli Zaretskii
2014-06-04  3:03                 ` Stefan Monnier
2014-06-04  8:31                   ` Thomas Dickey
2014-06-04  9:10                     ` Thomas Dickey
2014-06-04  9:38                       ` Eli Zaretskii
2014-06-04 10:16                         ` Eli Zaretskii
2014-06-04 16:08                           ` Glenn Morris
2014-06-04 16:15                             ` Eli Zaretskii
2014-06-04 16:09                         ` Glenn Morris
2014-06-04 16:23                           ` Eli Zaretskii
2014-06-04 17:10                           ` Eli Zaretskii
2014-06-04 13:06                     ` Stefan Monnier
2014-06-04 20:26                       ` Thomas Dickey
2014-06-05  0:47                         ` Stefan Monnier
2014-06-05  8:21                           ` Thomas Dickey
2014-06-05  8:29                             ` Andreas Schwab
2014-06-05 15:02                               ` Eli Zaretskii
2014-06-05 13:44                             ` Stefan Monnier
2014-06-05 13:47                             ` Stefan Monnier
2014-06-05 15:00                             ` Eli Zaretskii
2014-06-01 18:39           ` Eli Zaretskii
2014-05-15 12:26 Dmitry Antipov
2014-05-15 17:37 ` Eli Zaretskii
2014-05-16  6:36   ` Glenn Morris
2014-05-16  6:38     ` Glenn Morris
2014-05-16  6:53       ` Glenn Morris
2014-05-16  8:48         ` Eli Zaretskii
2014-05-16 15:47           ` Glenn Morris
2014-05-16 20:21             ` Eli Zaretskii
2014-05-17  9:56             ` Eli Zaretskii
2014-05-22  2:49               ` Eli Zaretskii
2014-05-22  5:44                 ` Glenn Morris
2014-05-22  7:51                   ` Andreas Schwab
2014-05-22 15:58                     ` Glenn Morris
2014-05-22 17:19                       ` Andreas Schwab
2014-05-22 17:29                         ` Glenn Morris
2014-05-22 17:53                           ` Eli Zaretskii
2014-05-22 16:19                   ` Eli Zaretskii
2014-05-22 16:26                     ` Glenn Morris
2014-05-22 16:46                       ` Eli Zaretskii
2014-05-30  9:22                         ` Eli Zaretskii
2014-05-31  2:22                           ` Glenn Morris
2014-05-31  8:20                             ` Eli Zaretskii
2014-05-31 17:35                               ` Glenn Morris
2014-06-01 15:11                               ` Eli Zaretskii
2014-06-03  4:51                                 ` Glenn Morris
2014-06-03  7:03                                   ` Eli Zaretskii
2014-05-22 16:43                     ` Eli Zaretskii
2014-05-22 16:54                       ` Glenn Morris
2014-05-22 17:07                         ` Eli Zaretskii
2014-05-16  9:42         ` Dmitry Antipov
2014-05-16 10:26           ` Eli Zaretskii
2014-05-16 10:46           ` Eli Zaretskii
2014-05-16 14:59             ` Dmitry Antipov
2014-05-16 15:26               ` Eli Zaretskii

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20140603222155.GA13893@aerie.jexium-island.net \
    --to=dickey@his.com \
    --cc=17497@debbugs.gnu.org \
    --cc=eliz@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.