all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Thomas Dickey <dickey@his.com>
To: Stefan Monnier <monnier@iro.umontreal.ca>
Cc: 17497@debbugs.gnu.org, Thomas Dickey <dickey@his.com>
Subject: bug#17497: 24.4.50; TTY menu glitches
Date: Tue, 03 Jun 2014 14:47:49 -0400	[thread overview]
Message-ID: <20140603184749.GA3646@aerie.jexium-island.net> (raw)
In-Reply-To: <jwv4n025d5i.fsf-monnier+bug#17497@gnu.org>

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

On Tue, Jun 03, 2014 at 09:43:04AM -0400, Stefan Monnier wrote:
> Hi Thomas,
> 
> >> Most of the file, however, consists of repainting the menu.
> > By the way, since the menu covers only half the screen, there aren't
> > any general-purpose scrolling optimizations that would help.  (xterm
> > does support left/right margins, which would be interesting to explore
> > in this area).  What ncurses does when it's getting behind is to drop
> > updates - the typeahead feature:
> 
> 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...

-- 
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 18:47 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 [this message]
2014-06-03 21:07                 ` Eli Zaretskii
2014-06-03 22:21                   ` Thomas Dickey
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=20140603184749.GA3646@aerie.jexium-island.net \
    --to=dickey@his.com \
    --cc=17497@debbugs.gnu.org \
    --cc=monnier@iro.umontreal.ca \
    /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.