From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Thomas Dickey Newsgroups: gmane.emacs.bugs Subject: bug#17497: 24.4.50; TTY menu glitches Date: Tue, 03 Jun 2014 18:21:55 -0400 Message-ID: <20140603222155.GA13893@aerie.jexium-island.net> References: <83vbslbuqr.fsf@gnu.org> <20140531200947.GA779@aerie.jexium-island.net> <83lhtgbrd6.fsf@gnu.org> <20140601152657.GA15078@aerie.jexium-island.net> <838upgbnra.fsf@gnu.org> <20140601171244.GA9362@aerie.jexium-island.net> <20140601171817.GB9362@aerie.jexium-island.net> <20140603184749.GA3646@aerie.jexium-island.net> <83ppip8zxv.fsf@gnu.org> Reply-To: dickey@his.com NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary=ZPt4rx8FFjLCG7dd X-Trace: ger.gmane.org 1401834204 16120 80.91.229.3 (3 Jun 2014 22:23:24 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Tue, 3 Jun 2014 22:23:24 +0000 (UTC) Cc: 17497@debbugs.gnu.org, dickey@his.com To: Eli Zaretskii Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Wed Jun 04 00:23:18 2014 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1Wrx6y-0000l5-AI for geb-bug-gnu-emacs@m.gmane.org; Wed, 04 Jun 2014 00:23:16 +0200 Original-Received: from localhost ([::1]:56204 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Wrx6x-00074O-Ri for geb-bug-gnu-emacs@m.gmane.org; Tue, 03 Jun 2014 18:23:15 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:41862) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Wrx6p-00073M-Cb for bug-gnu-emacs@gnu.org; Tue, 03 Jun 2014 18:23:12 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Wrx6k-0007g0-Fn for bug-gnu-emacs@gnu.org; Tue, 03 Jun 2014 18:23:07 -0400 Original-Received: from debbugs.gnu.org ([140.186.70.43]:43882) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Wrx6k-0007fv-CT for bug-gnu-emacs@gnu.org; Tue, 03 Jun 2014 18:23:02 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.80) (envelope-from ) id 1Wrx6j-0004qt-U1 for bug-gnu-emacs@gnu.org; Tue, 03 Jun 2014 18:23:02 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Thomas Dickey Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Tue, 03 Jun 2014 22:23:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 17497 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: Original-Received: via spool by 17497-submit@debbugs.gnu.org id=B17497.140183414418596 (code B ref 17497); Tue, 03 Jun 2014 22:23:01 +0000 Original-Received: (at 17497) by debbugs.gnu.org; 3 Jun 2014 22:22:24 +0000 Original-Received: from localhost ([127.0.0.1]:42759 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Wrx67-0004pr-I8 for submit@debbugs.gnu.org; Tue, 03 Jun 2014 18:22:24 -0400 Original-Received: from vms173005pub.verizon.net ([206.46.173.5]:54499) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Wrx65-0004pc-AQ for 17497@debbugs.gnu.org; Tue, 03 Jun 2014 18:22:22 -0400 Original-Received: from localhost.localdomain ([unknown] [96.241.179.238]) by vms173005.mailsrvcs.net (Sun Java(tm) System Messaging Server 7u2-7.02 32bit (built Apr 16 2009)) with ESMTPA id <0N6M00J2T64JJC20@vms173005.mailsrvcs.net> for 17497@debbugs.gnu.org; Tue, 03 Jun 2014 17:22:00 -0500 (CDT) Original-Received: from localhost.localdomain (aerie [127.0.0.1]) by localhost.localdomain (8.14.3/8.14.3/Debian-9.4) with ESMTP id s53MLtts013949 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NOT); Tue, 03 Jun 2014 18:21:55 -0400 Original-Received: (from tom@localhost) by localhost.localdomain (8.14.3/8.14.3/Submit) id s53MLtrP013947; Tue, 03 Jun 2014 18:21:55 -0400 Content-disposition: inline In-reply-to: <83ppip8zxv.fsf@gnu.org> User-Agent: Mutt/1.5.20 (2009-06-14) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 3.x X-Received-From: 140.186.70.43 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.org@gnu.org Original-Sender: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.bugs:89956 Archived-At: --ZPt4rx8FFjLCG7dd Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable 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 > > Cc: Thomas Dickey , 17497@debbugs.gnu.org, > > Eli Zaretskii > >=20 > > > 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. > >=20 > > 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. > > =20 > > > 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. > > >=20 > > > To me, the next logical explanation is that the terminal emulator's > > > behavior is influenced y the relative timing of *input* and output. > >=20 > > :-) > > =20 > > > For that reasons, your ncurses explanation is very interesting, yet > > > I can't imagine how it can be directly related since our "record&repl= ay" > > > is done "after" ncurses, directly in the stream between Emacs's proce= ss > > > and the terminal emulator. > > >=20 > > > 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? > >=20 > > 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. > >=20 > > 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... >=20 > 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). =20 > 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. --=20 Thomas E. Dickey http://invisible-island.net ftp://invisible-island.net --ZPt4rx8FFjLCG7dd Content-Type: application/pgp-signature; name="signature.asc" Content-Description: Digital signature Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.10 (GNU/Linux) iEYEARECAAYFAlOOSoMACgkQcCNT4PfkjtsTeACg2HyZUXh0mwUN8yeYTLe84cy3 hHAAn3XIpsJ7DAF7jIVK40Y0GSm8xJ7M =E/ph -----END PGP SIGNATURE----- --ZPt4rx8FFjLCG7dd--