unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
* Menus with more items than the TTY can display
@ 2013-10-11 11:28 Eli Zaretskii
  2013-10-11 11:40 ` Dmitry Antipov
  2013-10-11 11:41 ` Dani Moncayo
  0 siblings, 2 replies; 76+ messages in thread
From: Eli Zaretskii @ 2013-10-11 11:28 UTC (permalink / raw)
  To: emacs-devel

Bug #15575 raises the issue of what to do with displaying TTY menus
that are too long for the screen height.  Currently, the code simply
truncates the menu at the last available line, but maybe there are
better ways of handling this.



^ permalink raw reply	[flat|nested] 76+ messages in thread

* Re: Menus with more items than the TTY can display
  2013-10-11 11:28 Menus with more items than the TTY can display Eli Zaretskii
@ 2013-10-11 11:40 ` Dmitry Antipov
  2013-10-11 14:43   ` Eli Zaretskii
  2013-10-11 11:41 ` Dani Moncayo
  1 sibling, 1 reply; 76+ messages in thread
From: Dmitry Antipov @ 2013-10-11 11:40 UTC (permalink / raw)
  To: emacs-devel; +Cc: Eli Zaretskii

On 10/11/2013 03:28 PM, Eli Zaretskii wrote:

> Bug #15575 raises the issue of what to do with displaying TTY menus
> that are too long for the screen height.  Currently, the code simply
> truncates the menu at the last available line, but maybe there are
> better ways of handling this.

IMHO menu should just scroll.  Also, what about make them cyclic
(e.g. when you're on "Quit" line in "File" menu an press cursor
down, "Visit New File" is selected).

Dmitry





^ permalink raw reply	[flat|nested] 76+ messages in thread

* Re: Menus with more items than the TTY can display
  2013-10-11 11:28 Menus with more items than the TTY can display Eli Zaretskii
  2013-10-11 11:40 ` Dmitry Antipov
@ 2013-10-11 11:41 ` Dani Moncayo
  2013-10-11 12:07   ` Dmitry Antipov
  1 sibling, 1 reply; 76+ messages in thread
From: Dani Moncayo @ 2013-10-11 11:41 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: Emacs development discussions

On Fri, Oct 11, 2013 at 1:28 PM, Eli Zaretskii <eliz@gnu.org> wrote:
> Bug #15575 raises the issue of what to do with displaying TTY menus
> that are too long for the screen height.  Currently, the code simply
> truncates the menu at the last available line, but maybe there are
> better ways of handling this.

IMO: Do "auto scrolling" with the menú items, i.e.:
* Initially show only the first (top) N items that fit in the available height.
* If the users selects an item close to the bottom of the menu, scroll
up the menu items, (similar to what happens in buffer auto scrolling)
to show more items at the bottom part.
* Likewise when the user selects an item close to the top of the menu.

Of course I have no idea of the amount of work involved (probably a
fair amount).

-- 
Dani Moncayo



^ permalink raw reply	[flat|nested] 76+ messages in thread

* Re: Menus with more items than the TTY can display
  2013-10-11 11:41 ` Dani Moncayo
@ 2013-10-11 12:07   ` Dmitry Antipov
  2013-10-11 14:44     ` Eli Zaretskii
  2013-10-11 17:49     ` Stefan Monnier
  0 siblings, 2 replies; 76+ messages in thread
From: Dmitry Antipov @ 2013-10-11 12:07 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: Emacs development discussions, Dani Moncayo

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

On 10/11/2013 03:41 PM, Dani Moncayo wrote:

> IMO: Do "auto scrolling" with the menú items, i.e.:
> * Initially show only the first (top) N items that fit in the available height.
> * If the users selects an item close to the bottom of the menu, scroll
> up the menu items, (similar to what happens in buffer auto scrolling)
> to show more items at the bottom part.
> * Likewise when the user selects an item close to the top of the menu.

+1. Plus, I think that the menu should not overwrite modeline, like on
the first attached image. Instead, menu should end before modeline and
display some special thing if there are more menu items to scroll,
like on the second image ("vvvvvv").

Dmitry



[-- Attachment #2: smallterm.png --]
[-- Type: image/png, Size: 11541 bytes --]

[-- Attachment #3: smallterm-wannabee.png --]
[-- Type: image/png, Size: 9942 bytes --]

^ permalink raw reply	[flat|nested] 76+ messages in thread

* Re: Menus with more items than the TTY can display
  2013-10-11 11:40 ` Dmitry Antipov
@ 2013-10-11 14:43   ` Eli Zaretskii
  2013-10-11 17:06     ` chad
  2013-10-14 15:38     ` Eli Zaretskii
  0 siblings, 2 replies; 76+ messages in thread
From: Eli Zaretskii @ 2013-10-11 14:43 UTC (permalink / raw)
  To: Dmitry Antipov; +Cc: emacs-devel

> Date: Fri, 11 Oct 2013 15:40:35 +0400
> From: Dmitry Antipov <dmantipov@yandex.ru>
> CC: Eli Zaretskii <eliz@gnu.org>
> 
> On 10/11/2013 03:28 PM, Eli Zaretskii wrote:
> 
> > Bug #15575 raises the issue of what to do with displaying TTY menus
> > that are too long for the screen height.  Currently, the code simply
> > truncates the menu at the last available line, but maybe there are
> > better ways of handling this.
> 
> IMHO menu should just scroll.

A good idea, but it will need to wait for a volunteer.  The amount of
work is non-trivial, and I have more important things on my plate,
sorry.

> Also, what about make them cyclic (e.g. when you're on "Quit" line
> in "File" menu an press cursor down, "Visit New File" is selected).

That's easy.  Done as trunk revision 114626.



^ permalink raw reply	[flat|nested] 76+ messages in thread

* Re: Menus with more items than the TTY can display
  2013-10-11 12:07   ` Dmitry Antipov
@ 2013-10-11 14:44     ` Eli Zaretskii
  2013-10-11 17:49     ` Stefan Monnier
  1 sibling, 0 replies; 76+ messages in thread
From: Eli Zaretskii @ 2013-10-11 14:44 UTC (permalink / raw)
  To: Dmitry Antipov; +Cc: dmoncayo, emacs-devel

> Date: Fri, 11 Oct 2013 16:07:56 +0400
> From: Dmitry Antipov <dmantipov@yandex.ru>
> Cc: Emacs development discussions <emacs-devel@gnu.org>,
> 	Dani Moncayo <dmoncayo@gmail.com>
> 
> Plus, I think that the menu should not overwrite modeline

Why not?  The downside is clear: you lose one line.

> Instead, menu should end before modeline and display some special
> thing if there are more menu items to scroll, like on the second
> image ("vvvvvv").

This is only useful if/when the menus scroll.  Otherwise, it's a waste
of precious real estate.




^ permalink raw reply	[flat|nested] 76+ messages in thread

* Re: Menus with more items than the TTY can display
  2013-10-11 14:43   ` Eli Zaretskii
@ 2013-10-11 17:06     ` chad
  2013-10-11 17:48       ` Eli Zaretskii
  2013-10-14 15:38     ` Eli Zaretskii
  1 sibling, 1 reply; 76+ messages in thread
From: chad @ 2013-10-11 17:06 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: Dmitry Antipov, emacs-devel

On 11 Oct 2013, at 07:43, Eli Zaretskii <eliz@gnu.org> wrote:
> 
> A good idea, but it will need to wait for a volunteer.  The amount of
> work is non-trivial, and I have more important things on my plate,
> sorry.

Perhaps building a sub-menu for everything that doesn't fit on the
screen would be easier to implement?

Sorry to suggest work for other people.
~Chad




^ permalink raw reply	[flat|nested] 76+ messages in thread

* Re: Menus with more items than the TTY can display
  2013-10-11 17:06     ` chad
@ 2013-10-11 17:48       ` Eli Zaretskii
  0 siblings, 0 replies; 76+ messages in thread
From: Eli Zaretskii @ 2013-10-11 17:48 UTC (permalink / raw)
  To: chad; +Cc: dmantipov, emacs-devel

> From: chad <yandros@MIT.EDU>
> Date: Fri, 11 Oct 2013 10:06:05 -0700
> Cc: Dmitry Antipov <dmantipov@yandex.ru>, emacs-devel@gnu.org
> 
> On 11 Oct 2013, at 07:43, Eli Zaretskii <eliz@gnu.org> wrote:
> > 
> > A good idea, but it will need to wait for a volunteer.  The amount of
> > work is non-trivial, and I have more important things on my plate,
> > sorry.
> 
> Perhaps building a sub-menu for everything that doesn't fit on the
> screen would be easier to implement?

No, it's harder, because that would require a subroutine of
x-popup-menu to modify the menu structure passed to x-popup-menu, and
on top of that do this when the Lisp menu structure was already
decoded into C structs suitable for display.



^ permalink raw reply	[flat|nested] 76+ messages in thread

* Re: Menus with more items than the TTY can display
  2013-10-11 12:07   ` Dmitry Antipov
  2013-10-11 14:44     ` Eli Zaretskii
@ 2013-10-11 17:49     ` Stefan Monnier
  2013-10-11 18:00       ` Eli Zaretskii
  1 sibling, 1 reply; 76+ messages in thread
From: Stefan Monnier @ 2013-10-11 17:49 UTC (permalink / raw)
  To: Dmitry Antipov; +Cc: Eli Zaretskii, Dani Moncayo, Emacs development discussions

> +1.

Scrolling is indeed the natural solution, I think.

> Plus, I think that the menu should not overwrite modeline, like on

But I disagree on this one, especially since the frame might be split
into many windows, so the "closest" modeline may be very close to the
top of the frame.

I do agree that the echo area should stay uncovered, so as to be able to
display the help-echo.


        Stefan



^ permalink raw reply	[flat|nested] 76+ messages in thread

* Re: Menus with more items than the TTY can display
  2013-10-11 17:49     ` Stefan Monnier
@ 2013-10-11 18:00       ` Eli Zaretskii
  0 siblings, 0 replies; 76+ messages in thread
From: Eli Zaretskii @ 2013-10-11 18:00 UTC (permalink / raw)
  To: Stefan Monnier; +Cc: dmantipov, dmoncayo, emacs-devel

> From: Stefan Monnier <monnier@IRO.UMontreal.CA>
> Cc: Eli Zaretskii <eliz@gnu.org>,
>         Emacs development discussions <emacs-devel@gnu.org>,
>         Dani Moncayo <dmoncayo@gmail.com>
> Date: Fri, 11 Oct 2013 13:49:35 -0400
> 
> > Plus, I think that the menu should not overwrite modeline, like on
> 
> But I disagree on this one, especially since the frame might be split
> into many windows, so the "closest" modeline may be very close to the
> top of the frame.

Right.

> I do agree that the echo area should stay uncovered, so as to be able to
> display the help-echo.

That is already so.  (The original commit didn't do that, but then I
discovered that almost every menu item has help-echo, and the menu
item that covers the echo area is mostly invisible anyway.  So now we
limit the menu one line before the echo area.)



^ permalink raw reply	[flat|nested] 76+ messages in thread

* Re: Menus with more items than the TTY can display
  2013-10-11 14:43   ` Eli Zaretskii
  2013-10-11 17:06     ` chad
@ 2013-10-14 15:38     ` Eli Zaretskii
  2013-10-15 18:28       ` martin rudalics
  1 sibling, 1 reply; 76+ messages in thread
From: Eli Zaretskii @ 2013-10-14 15:38 UTC (permalink / raw)
  To: dmantipov; +Cc: emacs-devel

> Date: Fri, 11 Oct 2013 17:43:07 +0300
> From: Eli Zaretskii <eliz@gnu.org>
> Cc: emacs-devel@gnu.org
> 
> > Date: Fri, 11 Oct 2013 15:40:35 +0400
> > From: Dmitry Antipov <dmantipov@yandex.ru>
> > CC: Eli Zaretskii <eliz@gnu.org>
> > 
> > On 10/11/2013 03:28 PM, Eli Zaretskii wrote:
> > 
> > > Bug #15575 raises the issue of what to do with displaying TTY menus
> > > that are too long for the screen height.  Currently, the code simply
> > > truncates the menu at the last available line, but maybe there are
> > > better ways of handling this.
> > 
> > IMHO menu should just scroll.
> 
> A good idea, but it will need to wait for a volunteer.  The amount of
> work is non-trivial, and I have more important things on my plate,
> sorry.

A volunteer emerged, so this works now (as of trunk revision 114660).



^ permalink raw reply	[flat|nested] 76+ messages in thread

* Re: Menus with more items than the TTY can display
  2013-10-14 15:38     ` Eli Zaretskii
@ 2013-10-15 18:28       ` martin rudalics
  2013-10-15 19:04         ` Eli Zaretskii
  0 siblings, 1 reply; 76+ messages in thread
From: martin rudalics @ 2013-10-15 18:28 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: dmantipov, emacs-devel

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

 > A volunteer emerged, so this works now (as of trunk revision 114660).

Works very well here.

There is one minor problem which, however, prevents its use with
standard settings on Debian here (screenshot attached).  The problem is
that my default font is too large so the tooltips which are displayed in
the echo area wrap.  I don't know why but since `resize-mini-windows' is
by default 'grow-only I see no reason why they shouldn't.  Apparently,
this wrapping garbles display and echo area completely.  I can't observe
a similar thing on Windows where the echo area is always truncated (with
-Q).

martin

[-- Attachment #2: menu.png --]
[-- Type: image/png, Size: 80683 bytes --]

^ permalink raw reply	[flat|nested] 76+ messages in thread

* Re: Menus with more items than the TTY can display
  2013-10-15 18:28       ` martin rudalics
@ 2013-10-15 19:04         ` Eli Zaretskii
  2013-10-16  7:44           ` martin rudalics
  0 siblings, 1 reply; 76+ messages in thread
From: Eli Zaretskii @ 2013-10-15 19:04 UTC (permalink / raw)
  To: martin rudalics; +Cc: dmantipov, emacs-devel

> Date: Tue, 15 Oct 2013 20:28:08 +0200
> From: martin rudalics <rudalics@gmx.at>
> CC: dmantipov@yandex.ru, emacs-devel@gnu.org
> 
> There is one minor problem which, however, prevents its use with
> standard settings on Debian here (screenshot attached).  The problem is
> that my default font is too large so the tooltips which are displayed in
> the echo area wrap.  I don't know why but since `resize-mini-windows' is
> by default 'grow-only I see no reason why they shouldn't.

I have no idea why this happens: tooltip.el clearly sets
truncate-lines non-nil to prevent that.

> Apparently, this wrapping garbles display and echo area completely.

Redisplay is put on hold during TTY menu operations, so Emacs cannot
adapt to changes in window configurations.  We must prevent the echo
area from growing, and I thought we already did.



^ permalink raw reply	[flat|nested] 76+ messages in thread

* Re: Menus with more items than the TTY can display
  2013-10-15 19:04         ` Eli Zaretskii
@ 2013-10-16  7:44           ` martin rudalics
  2013-10-16 15:19             ` Eli Zaretskii
  0 siblings, 1 reply; 76+ messages in thread
From: martin rudalics @ 2013-10-16  7:44 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: dmantipov, emacs-devel

 > We must prevent the echo
 > area from growing, and I thought we already did.

FWIW, setting `resize-mini-windows' to nil avoids the problem.

martin



^ permalink raw reply	[flat|nested] 76+ messages in thread

* Re: Menus with more items than the TTY can display
  2013-10-16  7:44           ` martin rudalics
@ 2013-10-16 15:19             ` Eli Zaretskii
  2013-10-16 17:45               ` martin rudalics
  0 siblings, 1 reply; 76+ messages in thread
From: Eli Zaretskii @ 2013-10-16 15:19 UTC (permalink / raw)
  To: martin rudalics; +Cc: dmantipov, emacs-devel

> Date: Wed, 16 Oct 2013 09:44:24 +0200
> From: martin rudalics <rudalics@gmx.at>
> CC: dmantipov@yandex.ru, emacs-devel@gnu.org
> 
>  > We must prevent the echo
>  > area from growing, and I thought we already did.
> 
> FWIW, setting `resize-mini-windows' to nil avoids the problem.

So does the patch below fix the problem?

=== modified file 'src/term.c'
--- src/term.c	2013-10-14 15:37:12 +0000
+++ src/term.c	2013-10-16 15:17:24 +0000
@@ -2807,7 +2807,7 @@ static Lisp_Object Qtty_menu_navigation_
 static Lisp_Object Qtty_menu_prev_item, Qtty_menu_next_item;
 static Lisp_Object Qtty_menu_next_menu, Qtty_menu_prev_menu;
 static Lisp_Object Qtty_menu_select, Qtty_menu_ignore;
-static Lisp_Object Qtty_menu_mouse_movement;
+static Lisp_Object Qtty_menu_mouse_movement, Qresize_mini_windows;
 
 typedef struct tty_menu_struct
 {
@@ -3780,6 +3780,7 @@ tty_menu_show (struct frame *f, int x, i
 
   specbind (Qoverriding_terminal_local_map,
 	    Fsymbol_value (Qtty_menu_navigation_map));
+  specbind (Qresize_mini_windows, Qnil);
   status = tty_menu_activate (menu, &pane, &selidx, x, y, &datap,
 			      tty_menu_help_callback, kbd_navigation);
   entry = pane_prefix = Qnil;
@@ -4612,4 +4613,5 @@ bigger, or it may make it blink, or it m
   DEFSYM (Qtty_menu_exit, "tty-menu-exit");
   DEFSYM (Qtty_menu_mouse_movement, "tty-menu-mouse-movement");
   DEFSYM (Qtty_menu_navigation_map, "tty-menu-navigation-map");
+  DEFSYM (Qresize_mini_windows, "resize-mini-windows");
 }




^ permalink raw reply	[flat|nested] 76+ messages in thread

* Re: Menus with more items than the TTY can display
  2013-10-16 15:19             ` Eli Zaretskii
@ 2013-10-16 17:45               ` martin rudalics
  2013-10-16 18:15                 ` Eli Zaretskii
  0 siblings, 1 reply; 76+ messages in thread
From: martin rudalics @ 2013-10-16 17:45 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: dmantipov, emacs-devel

 >> FWIW, setting `resize-mini-windows' to nil avoids the problem.
 >
 > So does the patch below fix the problem?

No.  The symptoms are unchanged.

martin



^ permalink raw reply	[flat|nested] 76+ messages in thread

* Re: Menus with more items than the TTY can display
  2013-10-16 17:45               ` martin rudalics
@ 2013-10-16 18:15                 ` Eli Zaretskii
  2013-10-16 18:34                   ` martin rudalics
  0 siblings, 1 reply; 76+ messages in thread
From: Eli Zaretskii @ 2013-10-16 18:15 UTC (permalink / raw)
  To: martin rudalics; +Cc: dmantipov, emacs-devel

> Date: Wed, 16 Oct 2013 19:45:50 +0200
> From: martin rudalics <rudalics@gmx.at>
> CC: dmantipov@yandex.ru, emacs-devel@gnu.org
> 
>  >> FWIW, setting `resize-mini-windows' to nil avoids the problem.
>  >
>  > So does the patch below fix the problem?
> 
> No.  The symptoms are unchanged.

This is all very strange, as I cannot reproduce the problem neither on
Windows nor on GNU/Linux, no matter how I set up the dimensions of the
terminal.  The help echo gets truncated as it should.

Please try to come up with a reproducer.



^ permalink raw reply	[flat|nested] 76+ messages in thread

* Re: Menus with more items than the TTY can display
  2013-10-16 18:15                 ` Eli Zaretskii
@ 2013-10-16 18:34                   ` martin rudalics
  2013-10-16 18:59                     ` Eli Zaretskii
  2013-10-16 19:05                     ` Eli Zaretskii
  0 siblings, 2 replies; 76+ messages in thread
From: martin rudalics @ 2013-10-16 18:34 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: dmantipov, emacs-devel

 > This is all very strange, as I cannot reproduce the problem neither on
 > Windows

I can't reproduce it on Windows.

 > nor on GNU/Linux, no matter how I set up the dimensions of the
 > terminal.  The help echo gets truncated as it should.

I'm not sure whether it's _only_ about truncation.  If you look at my
snapshot again, it seems that a tip gets somehow appended in the right
half of the echo area without clearing the left part first.  And some
lines of the menu get mirrored in the right half of the *scratch*
window.

 > Please try to come up with a reproducer.

This is an uncustomized Debian terminal with a Monospace 12 font.  I
first must remove its menubar to be able to make F10 work from within
Emacs, the mouse doesn't work.  Then hitting the up and down button
repeatedly yields the symptoms.

martin



^ permalink raw reply	[flat|nested] 76+ messages in thread

* Re: Menus with more items than the TTY can display
  2013-10-16 18:34                   ` martin rudalics
@ 2013-10-16 18:59                     ` Eli Zaretskii
  2013-10-17  9:27                       ` martin rudalics
  2013-10-16 19:05                     ` Eli Zaretskii
  1 sibling, 1 reply; 76+ messages in thread
From: Eli Zaretskii @ 2013-10-16 18:59 UTC (permalink / raw)
  To: martin rudalics; +Cc: dmantipov, emacs-devel

> Date: Wed, 16 Oct 2013 20:34:02 +0200
> From: martin rudalics <rudalics@gmx.at>
> CC: dmantipov@yandex.ru, emacs-devel@gnu.org
> 
> This is an uncustomized Debian terminal with a Monospace 12 font.  I
> first must remove its menubar to be able to make F10 work from within
> Emacs, the mouse doesn't work.  Then hitting the up and down button
> repeatedly yields the symptoms.

I don't have access to a Debian box, only through PuTTY.  Can you try
reproducing with PuTTY, please?



^ permalink raw reply	[flat|nested] 76+ messages in thread

* Re: Menus with more items than the TTY can display
  2013-10-16 18:34                   ` martin rudalics
  2013-10-16 18:59                     ` Eli Zaretskii
@ 2013-10-16 19:05                     ` Eli Zaretskii
  2013-10-17  9:28                       ` martin rudalics
  1 sibling, 1 reply; 76+ messages in thread
From: Eli Zaretskii @ 2013-10-16 19:05 UTC (permalink / raw)
  To: martin rudalics; +Cc: dmantipov, emacs-devel

> Date: Wed, 16 Oct 2013 20:34:02 +0200
> From: martin rudalics <rudalics@gmx.at>
> Cc: dmantipov@yandex.ru, emacs-devel@gnu.org
> 
>  > nor on GNU/Linux, no matter how I set up the dimensions of the
>  > terminal.  The help echo gets truncated as it should.
> 
> I'm not sure whether it's _only_ about truncation.  If you look at my
> snapshot again, it seems that a tip gets somehow appended in the right
> half of the echo area without clearing the left part first.  And some
> lines of the menu get mirrored in the right half of the *scratch*
> window.

How about putting a breakpoint in resize_mini_window, and reporting
the backtrace (including Lisp backtrace) when it breaks?



^ permalink raw reply	[flat|nested] 76+ messages in thread

* Re: Menus with more items than the TTY can display
  2013-10-16 18:59                     ` Eli Zaretskii
@ 2013-10-17  9:27                       ` martin rudalics
  2013-10-17 16:21                         ` Eli Zaretskii
  0 siblings, 1 reply; 76+ messages in thread
From: martin rudalics @ 2013-10-17  9:27 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: dmantipov, emacs-devel

 > I don't have access to a Debian box, only through PuTTY.  Can you try
 > reproducing with PuTTY, please?

While I doubt that this would get us more insight into the subject it
might be an interesting adventure by itself.  How would I proceed, in
principle?

martin



^ permalink raw reply	[flat|nested] 76+ messages in thread

* Re: Menus with more items than the TTY can display
  2013-10-16 19:05                     ` Eli Zaretskii
@ 2013-10-17  9:28                       ` martin rudalics
  2013-10-17 16:38                         ` Eli Zaretskii
  0 siblings, 1 reply; 76+ messages in thread
From: martin rudalics @ 2013-10-17  9:28 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: dmantipov, emacs-devel

 > How about putting a breakpoint in resize_mini_window, and reporting
 > the backtrace (including Lisp backtrace) when it breaks?

This should work but fails for some reason I can't explain.  Recall my
earlier observation that the behavior does _not_ occur when I set
`resize-mini-windows' to nil.  So I'd just have to check where this
variable's settings may affect the course of events and I will have
found the culprit.  I see few such places:

- The one in xdisp.c's resize_mini_window around line 10450 where we
   return immediately when this variable is nil.

- The ones in window.el.  All these seem to go through
   `window--resize-mini-window' which ends up in calling
   `resize-mini-window-internal'.  Putting a breakpoint there gets me no
   hits.  So I exclude this.

- The one in `display-message-or-buffer' should be caught in
   resize_mini_window IIUC.  Excluded as well.

This means that resize_mini_window is indeed the only candidate and I
put a breakpoint there at if (!FRAME_MINIBUF_ONLY_P (f)).

Now to reproduce the behavior, I start emacs in the terminal, remove the
terminal's menu to be able to pass F10 to emacs, attach gdb to the
terminal's emacs, provoke an end of buffer message in the terminal to
verify that the breakpoint is reached at all, hit F10 in the terminal
and scroll the menu.  Now from the time I hit F10 until I hit it again
the breakpoint is _not_ reached.  The following is an IMO meaningless
backtrace after hitting F10 the second time:


#0  resize_mini_window (w=0xd12f28, exact_p=0) at xdisp.c:10465
#1  0x00000000004502c8 in display_echo_area_1 (a1=13709096, a2=13619698) at xdisp.c:10357
#2  0x000000000044f998 in with_echo_area_buffer (w=0xd12f28, which=0, fn=0x450290 <display_echo_area_1>, a1=13709096, a2=13619698) at xdisp.c:10147
#3  0x0000000000450258 in display_echo_area (w=0xd12f28) at xdisp.c:10327
#4  0x000000000045163b in echo_area_display (update_frame_p=0) at xdisp.c:10831
#5  0x0000000000454bfa in redisplay_internal () at xdisp.c:13103
#6  0x000000000045380d in redisplay () at xdisp.c:12699
#7  0x0000000000550163 in read_char (commandflag=1, map=13594294, prev_event=13619698, used_mouse_menu=0x7fffc22d17ef, end_time=0x0) at keyboard.c:2573
#8  0x000000000055e9a8 in read_key_sequence (keybuf=0x7fffc22d19d0, bufsize=30, prompt=13619698, dont_downcase_last=false, can_return_switch_frame=true, fix_current_buffer=true, prevent_redisplay=false) at keyboard.c:9115
#9  0x000000000054d114 in command_loop_1 () at keyboard.c:1431
#10 0x00000000005eb38b in internal_condition_case (bfun=0x54cd21 <command_loop_1>, handlers=13679474, hfun=0x54c4f8 <cmd_error>) at eval.c:1331
#11 0x000000000054c9a4 in command_loop_2 (ignore=13619698) at keyboard.c:1158
#12 0x00000000005ea804 in internal_catch (tag=13675202, func=0x54c97e <command_loop_2>, arg=13619698) at eval.c:1097
#13 0x000000000054c954 in command_loop () at keyboard.c:1137
#14 0x000000000054c003 in recursive_edit_1 () at keyboard.c:776
#15 0x000000000054c1e8 in Frecursive_edit () at keyboard.c:840
#16 0x000000000054a178 in main (argc=3, argv=0x7fffc22d1e78) at emacs.c:1577

Lisp Backtrace:
"redisplay_internal (C function)" (0xcee798)


So this is a complete mystery to me.  Is it possible that toggling F10
suppresses any signals from the terminal to the debugger?

martin




^ permalink raw reply	[flat|nested] 76+ messages in thread

* Re: Menus with more items than the TTY can display
  2013-10-17  9:27                       ` martin rudalics
@ 2013-10-17 16:21                         ` Eli Zaretskii
  2013-10-17 17:11                           ` martin rudalics
  0 siblings, 1 reply; 76+ messages in thread
From: Eli Zaretskii @ 2013-10-17 16:21 UTC (permalink / raw)
  To: martin rudalics; +Cc: emacs-devel

> Date: Thu, 17 Oct 2013 11:27:05 +0200
> From: martin rudalics <rudalics@gmx.at>
> CC: dmantipov@yandex.ru, emacs-devel@gnu.org
> 
>  > I don't have access to a Debian box, only through PuTTY.  Can you try
>  > reproducing with PuTTY, please?
> 
> While I doubt that this would get us more insight into the subject it
> might be an interesting adventure by itself.  How would I proceed, in
> principle?

Install PuTTY and use it as you would any other telnet/ssh client, to
login to the Debian box.

But perhaps first it would be worthwhile to try using xterm on the
Debian box, and start "emacs -Q -nw" from that xterm.  That is
simpler, and should work like PuTTY does.



^ permalink raw reply	[flat|nested] 76+ messages in thread

* Re: Menus with more items than the TTY can display
  2013-10-17  9:28                       ` martin rudalics
@ 2013-10-17 16:38                         ` Eli Zaretskii
  2013-10-17 17:13                           ` martin rudalics
  0 siblings, 1 reply; 76+ messages in thread
From: Eli Zaretskii @ 2013-10-17 16:38 UTC (permalink / raw)
  To: martin rudalics; +Cc: emacs-devel

> Date: Thu, 17 Oct 2013 11:28:47 +0200
> From: martin rudalics <rudalics@gmx.at>
> CC: dmantipov@yandex.ru, emacs-devel@gnu.org
> 
> This means that resize_mini_window is indeed the only candidate and I
> put a breakpoint there at if (!FRAME_MINIBUF_ONLY_P (f)).
> 
> Now to reproduce the behavior, I start emacs in the terminal, remove the
> terminal's menu to be able to pass F10 to emacs, attach gdb to the
> terminal's emacs, provoke an end of buffer message in the terminal to
> verify that the breakpoint is reached at all, hit F10 in the terminal
> and scroll the menu.  Now from the time I hit F10 until I hit it again
> the breakpoint is _not_ reached.

So something else seems to be at work here.

If you don't set resize-mini-windows to nil, but instead set
max-mini-window-height to 1, does the problem also go away?

Another idea would be to ifdef away this fragment from term.c:

      if ((menu_help_message || prev_menu_help_message)
	  && menu_help_message != prev_menu_help_message)
	{
	  help_callback (menu_help_message,
			 menu_help_paneno, menu_help_itemno);
	  tty_hide_cursor (tty);
	  fflush (tty->output);
	  prev_menu_help_message = menu_help_message;
	}

which disables help-echo in the menu, and see if the problem is gone
even without customizing resize-mini-windows.  If it is, then stepping
into the help_callback call might tell who causes the problem.

If disabling help-echo does not make the problem go away, there's
something else that causes resizing, and perhaps you will be able to
spot that without help-echo getting in your way and obscuring the echo
area.

Btw, this all is in "emacs -Q", right?  There are no customizations
involved, right?

> The following is an IMO meaningless backtrace after hitting F10 the
> second time:

I think you are right.

> So this is a complete mystery to me.  Is it possible that toggling F10
> suppresses any signals from the terminal to the debugger?

I don't believe it can.



^ permalink raw reply	[flat|nested] 76+ messages in thread

* Re: Menus with more items than the TTY can display
  2013-10-17 16:21                         ` Eli Zaretskii
@ 2013-10-17 17:11                           ` martin rudalics
  2013-10-17 17:41                             ` Eli Zaretskii
  2013-10-17 22:52                             ` Xue Fuqiao
  0 siblings, 2 replies; 76+ messages in thread
From: martin rudalics @ 2013-10-17 17:11 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: emacs-devel

 > But perhaps first it would be worthwhile to try using xterm on the
 > Debian box, and start "emacs -Q -nw" from that xterm.  That is
 > simpler, and should work like PuTTY does.

In xterm menus work without problems.  The problem occurs only with the
xfce terminal emulator.  And there it is related to the font size in the
sense that choosing a large font size makes it appear earlier and more
likely.

martin



^ permalink raw reply	[flat|nested] 76+ messages in thread

* Re: Menus with more items than the TTY can display
  2013-10-17 16:38                         ` Eli Zaretskii
@ 2013-10-17 17:13                           ` martin rudalics
  2013-10-17 17:45                             ` Eli Zaretskii
  2013-10-18  8:36                             ` Eli Zaretskii
  0 siblings, 2 replies; 76+ messages in thread
From: martin rudalics @ 2013-10-17 17:13 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: emacs-devel

 >> Now from the time I hit F10 until I hit it again
 >> the breakpoint is _not_ reached.
 >
 > So something else seems to be at work here.

But who else can resize the echo area?

 > If you don't set resize-mini-windows to nil, but instead set
 > max-mini-window-height to 1, does the problem also go away?

Yes - this makes the problem go away too.

 > Another idea would be to ifdef away this fragment from term.c:
 >
 >       if ((menu_help_message || prev_menu_help_message)
 > 	  && menu_help_message != prev_menu_help_message)
 > 	{
 > 	  help_callback (menu_help_message,
 > 			 menu_help_paneno, menu_help_itemno);
 > 	  tty_hide_cursor (tty);
 > 	  fflush (tty->output);
 > 	  prev_menu_help_message = menu_help_message;
 > 	}
 >
 > which disables help-echo in the menu, and see if the problem is gone
 > even without customizing resize-mini-windows.  If it is, then stepping
 > into the help_callback call might tell who causes the problem.

Doing this has the following effects:

(1) The echo area remains unchanged in contents and size.

(2) The amount of "artefacts" in the right half of the frame increases.
     (You have to look at my screenshot to understand what I mean with
     artefacts - these are essentially copies of menu lines, sometimes
     displayed in their highlighted form.)  Also, the number of
     highlighted menu lines increases.

 > If disabling help-echo does not make the problem go away, there's
 > something else that causes resizing, and perhaps you will be able to
 > spot that without help-echo getting in your way and obscuring the echo
 > area.
 >
 > Btw, this all is in "emacs -Q", right?  There are no customizations
 > involved, right?

Always emacs -Q -nw, no customizations.

martin



^ permalink raw reply	[flat|nested] 76+ messages in thread

* Re: Menus with more items than the TTY can display
  2013-10-17 17:11                           ` martin rudalics
@ 2013-10-17 17:41                             ` Eli Zaretskii
  2013-10-17 18:01                               ` martin rudalics
  2013-10-18  7:54                               ` martin rudalics
  2013-10-17 22:52                             ` Xue Fuqiao
  1 sibling, 2 replies; 76+ messages in thread
From: Eli Zaretskii @ 2013-10-17 17:41 UTC (permalink / raw)
  To: martin rudalics; +Cc: emacs-devel

> Date: Thu, 17 Oct 2013 19:11:13 +0200
> From: martin rudalics <rudalics@gmx.at>
> CC: emacs-devel@gnu.org
> 
>  > But perhaps first it would be worthwhile to try using xterm on the
>  > Debian box, and start "emacs -Q -nw" from that xterm.  That is
>  > simpler, and should work like PuTTY does.
> 
> In xterm menus work without problems.  The problem occurs only with the
> xfce terminal emulator.  And there it is related to the font size in the
> sense that choosing a large font size makes it appear earlier and more
> likely.

And if you try enlarging font in xterm?



^ permalink raw reply	[flat|nested] 76+ messages in thread

* Re: Menus with more items than the TTY can display
  2013-10-17 17:13                           ` martin rudalics
@ 2013-10-17 17:45                             ` Eli Zaretskii
  2013-10-17 18:01                               ` martin rudalics
  2013-10-18  8:36                             ` Eli Zaretskii
  1 sibling, 1 reply; 76+ messages in thread
From: Eli Zaretskii @ 2013-10-17 17:45 UTC (permalink / raw)
  To: martin rudalics; +Cc: emacs-devel

> Date: Thu, 17 Oct 2013 19:13:46 +0200
> From: martin rudalics <rudalics@gmx.at>
> CC: emacs-devel@gnu.org
> 
>  >> Now from the time I hit F10 until I hit it again
>  >> the breakpoint is _not_ reached.
>  >
>  > So something else seems to be at work here.
> 
> But who else can resize the echo area?

Your description below indicates that resizing the echo area might not
be the culprit.

>  > Another idea would be to ifdef away this fragment from term.c:
>  >
>  >       if ((menu_help_message || prev_menu_help_message)
>  > 	  && menu_help_message != prev_menu_help_message)
>  > 	{
>  > 	  help_callback (menu_help_message,
>  > 			 menu_help_paneno, menu_help_itemno);
>  > 	  tty_hide_cursor (tty);
>  > 	  fflush (tty->output);
>  > 	  prev_menu_help_message = menu_help_message;
>  > 	}
>  >
>  > which disables help-echo in the menu, and see if the problem is gone
>  > even without customizing resize-mini-windows.  If it is, then stepping
>  > into the help_callback call might tell who causes the problem.
> 
> Doing this has the following effects:
> 
> (1) The echo area remains unchanged in contents and size.
> 
> (2) The amount of "artefacts" in the right half of the frame increases.
>      (You have to look at my screenshot to understand what I mean with
>      artefacts - these are essentially copies of menu lines, sometimes
>      displayed in their highlighted form.)  Also, the number of
>      highlighted menu lines increases.

And if you _also_ set resize-mini-windows to nil, do the artefacts
disappear?



^ permalink raw reply	[flat|nested] 76+ messages in thread

* Re: Menus with more items than the TTY can display
  2013-10-17 17:41                             ` Eli Zaretskii
@ 2013-10-17 18:01                               ` martin rudalics
  2013-10-17 18:08                                 ` chad
  2013-10-17 20:04                                 ` Eli Zaretskii
  2013-10-18  7:54                               ` martin rudalics
  1 sibling, 2 replies; 76+ messages in thread
From: martin rudalics @ 2013-10-17 18:01 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: emacs-devel

> And if you try enlarging font in xterm?

There's some configuration file for this I suppose.  But where?
I haven't yet found a way to manage the appearance of graphical
windows ...

martin




^ permalink raw reply	[flat|nested] 76+ messages in thread

* Re: Menus with more items than the TTY can display
  2013-10-17 17:45                             ` Eli Zaretskii
@ 2013-10-17 18:01                               ` martin rudalics
  2013-10-17 20:06                                 ` Eli Zaretskii
  0 siblings, 1 reply; 76+ messages in thread
From: martin rudalics @ 2013-10-17 18:01 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: emacs-devel

 > And if you _also_ set resize-mini-windows to nil, do the artefacts
 > disappear?

Why _also_ ?  The artefacts do not appear when I disallow resizing the
echo area - either by setting `resize-mini-windows' to nil or
`max-mini-window-height' to 1.  No need to also suppress the help-echo.

martin



^ permalink raw reply	[flat|nested] 76+ messages in thread

* Re: Menus with more items than the TTY can display
  2013-10-17 18:01                               ` martin rudalics
@ 2013-10-17 18:08                                 ` chad
  2013-10-18  7:54                                   ` martin rudalics
  2013-10-17 20:04                                 ` Eli Zaretskii
  1 sibling, 1 reply; 76+ messages in thread
From: chad @ 2013-10-17 18:08 UTC (permalink / raw)
  To: martin rudalics; +Cc: Eli Zaretskii, emacs-devel

On 17 Oct 2013, at 11:01, martin rudalics <rudalics@gmx.at> wrote:

> There's some configuration file for this I suppose.  But where?
> I haven't yet found a way to manage the appearance of graphical
> windows ...
> 
> martin

Try C-mouse3 inside xterm? Otherwise, you'll need to mess with X resources or command-line flags.

~Chad




^ permalink raw reply	[flat|nested] 76+ messages in thread

* Re: Menus with more items than the TTY can display
  2013-10-17 18:01                               ` martin rudalics
  2013-10-17 18:08                                 ` chad
@ 2013-10-17 20:04                                 ` Eli Zaretskii
  1 sibling, 0 replies; 76+ messages in thread
From: Eli Zaretskii @ 2013-10-17 20:04 UTC (permalink / raw)
  To: martin rudalics; +Cc: emacs-devel

> Date: Thu, 17 Oct 2013 20:01:00 +0200
> From: martin rudalics <rudalics@gmx.at>
> CC: emacs-devel@gnu.org
> 
> > And if you try enlarging font in xterm?
> 
> There's some configuration file for this I suppose.  But where?

X resources, I'd think.  xterm*font, that kind of stuff.



^ permalink raw reply	[flat|nested] 76+ messages in thread

* Re: Menus with more items than the TTY can display
  2013-10-17 18:01                               ` martin rudalics
@ 2013-10-17 20:06                                 ` Eli Zaretskii
  2013-10-17 20:25                                   ` Eli Zaretskii
  2013-10-18  7:55                                   ` martin rudalics
  0 siblings, 2 replies; 76+ messages in thread
From: Eli Zaretskii @ 2013-10-17 20:06 UTC (permalink / raw)
  To: martin rudalics; +Cc: emacs-devel

> Date: Thu, 17 Oct 2013 20:01:12 +0200
> From: martin rudalics <rudalics@gmx.at>
> CC: emacs-devel@gnu.org
> 
>  > And if you _also_ set resize-mini-windows to nil, do the artefacts
>  > disappear?
> 
> Why _also_ ?  The artefacts do not appear when I disallow resizing the
> echo area - either by setting `resize-mini-windows' to nil or
> `max-mini-window-height' to 1.  No need to also suppress the help-echo.

But you say that disabling the help echo exacerbates the problem, so
maybe it will now appear even when the mini-window is not resized?
Did you try?



^ permalink raw reply	[flat|nested] 76+ messages in thread

* Re: Menus with more items than the TTY can display
  2013-10-17 20:06                                 ` Eli Zaretskii
@ 2013-10-17 20:25                                   ` Eli Zaretskii
  2013-10-18  7:55                                     ` martin rudalics
  2013-10-18  7:55                                   ` martin rudalics
  1 sibling, 1 reply; 76+ messages in thread
From: Eli Zaretskii @ 2013-10-17 20:25 UTC (permalink / raw)
  To: rudalics; +Cc: emacs-devel

> Date: Thu, 17 Oct 2013 23:06:07 +0300
> From: Eli Zaretskii <eliz@gnu.org>
> Cc: emacs-devel@gnu.org
> 
> > Date: Thu, 17 Oct 2013 20:01:12 +0200
> > From: martin rudalics <rudalics@gmx.at>
> > CC: emacs-devel@gnu.org
> > 
> >  > And if you _also_ set resize-mini-windows to nil, do the artefacts
> >  > disappear?
> > 
> > Why _also_ ?  The artefacts do not appear when I disallow resizing the
> > echo area - either by setting `resize-mini-windows' to nil or
> > `max-mini-window-height' to 1.  No need to also suppress the help-echo.
> 
> But you say that disabling the help echo exacerbates the problem, so
> maybe it will now appear even when the mini-window is not resized?
> Did you try?

Also, it might be worthwhile to try this in GDB, after starting Emacs:

  (gdb) attach EMACS-PID
  (gdb) break update_frame_1
  (gdb) commands
   > bt
   > continue
   > end
  (gdb) continue

Now open the menu and do whatever you do to trigger the problem.  Then
look at the backtraces.  If the code that calls help-echo display is
ifdef'ed away, the only calls to update_frame_1 while the menu is
active should come from update_frame_with_menu; if it is not ifdef'ed
away, you will also see calls that come via Fmessage->echo_area_display
(and the Lisp backtrace should show they are from tooltip-show-help).
any other call sequences are suspects that I want to know about.



^ permalink raw reply	[flat|nested] 76+ messages in thread

* Re: Menus with more items than the TTY can display
  2013-10-17 17:11                           ` martin rudalics
  2013-10-17 17:41                             ` Eli Zaretskii
@ 2013-10-17 22:52                             ` Xue Fuqiao
  2013-10-18  7:02                               ` Eli Zaretskii
  2013-10-18  7:56                               ` martin rudalics
  1 sibling, 2 replies; 76+ messages in thread
From: Xue Fuqiao @ 2013-10-17 22:52 UTC (permalink / raw)
  To: martin rudalics; +Cc: Eli Zaretskii, emacs-devel

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

On Fri, Oct 18, 2013 at 1:11 AM, martin rudalics <rudalics@gmx.at> wrote:
>> But perhaps first it would be worthwhile to try using xterm on the
>> Debian box, and start "emacs -Q -nw" from that xterm.  That is
>> simpler, and should work like PuTTY does.
>
> In xterm menus work without problems.  The problem occurs only with the
> xfce terminal emulator.  And there it is related to the font size in the
> sense that choosing a large font size makes it appear earlier and more
> likely.

FWIW I can also produce it on a gnome-terminal but not on a large-font
xterm (on Ubuntu 13.04).

(However, the number of highlighted menu lines did not increase.)

-- 
Best regards, Xue Fuqiao.
http://www.gnu.org/software/emacs/

[-- Attachment #2: menu-gnome-terminal.png --]
[-- Type: image/png, Size: 56293 bytes --]

[-- Attachment #3: menu-xterm.png --]
[-- Type: image/png, Size: 17059 bytes --]

^ permalink raw reply	[flat|nested] 76+ messages in thread

* Re: Menus with more items than the TTY can display
  2013-10-17 22:52                             ` Xue Fuqiao
@ 2013-10-18  7:02                               ` Eli Zaretskii
  2013-10-18  7:59                                 ` martin rudalics
  2013-10-18 22:59                                 ` Xue Fuqiao
  2013-10-18  7:56                               ` martin rudalics
  1 sibling, 2 replies; 76+ messages in thread
From: Eli Zaretskii @ 2013-10-18  7:02 UTC (permalink / raw)
  To: Xue Fuqiao; +Cc: rudalics, emacs-devel

> Date: Fri, 18 Oct 2013 06:52:41 +0800
> From: Xue Fuqiao <xfq.free@gmail.com>
> Cc: Eli Zaretskii <eliz@gnu.org>, emacs-devel <emacs-devel@gnu.org>
> 
> FWIW I can also produce it on a gnome-terminal but not on a large-font
> xterm (on Ubuntu 13.04).

Is it possible that gnome-terminal lies to us about its height, when
you disable its own menu bar?  What do the following evaluate to, in
the situation where you see the problem?

  M-: (window-height) RET
  M-: (window-screen-lines) RET

Please invoke those when the frame shows only one window, i.e. it is
not split in any way.  How do the results relate to the actual number
of lines you have in that terminal window?

Martin, could you please try the above as well?



^ permalink raw reply	[flat|nested] 76+ messages in thread

* Re: Menus with more items than the TTY can display
  2013-10-17 18:08                                 ` chad
@ 2013-10-18  7:54                                   ` martin rudalics
  0 siblings, 0 replies; 76+ messages in thread
From: martin rudalics @ 2013-10-18  7:54 UTC (permalink / raw)
  To: chad; +Cc: Eli Zaretskii, emacs-devel

> Try C-mouse3 inside xterm?

Thanks for the tip.

martin




^ permalink raw reply	[flat|nested] 76+ messages in thread

* Re: Menus with more items than the TTY can display
  2013-10-17 17:41                             ` Eli Zaretskii
  2013-10-17 18:01                               ` martin rudalics
@ 2013-10-18  7:54                               ` martin rudalics
  1 sibling, 0 replies; 76+ messages in thread
From: martin rudalics @ 2013-10-18  7:54 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: emacs-devel

> And if you try enlarging font in xterm?

Works without problems as tested now.

martin




^ permalink raw reply	[flat|nested] 76+ messages in thread

* Re: Menus with more items than the TTY can display
  2013-10-17 20:06                                 ` Eli Zaretskii
  2013-10-17 20:25                                   ` Eli Zaretskii
@ 2013-10-18  7:55                                   ` martin rudalics
  2013-10-18  9:50                                     ` Eli Zaretskii
  1 sibling, 1 reply; 76+ messages in thread
From: martin rudalics @ 2013-10-18  7:55 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: emacs-devel

 >> Why _also_ ?  The artefacts do not appear when I disallow resizing the
 >> echo area - either by setting `resize-mini-windows' to nil or
 >> `max-mini-window-height' to 1.  No need to also suppress the help-echo.
 >
 > But you say that disabling the help echo exacerbates the problem, so
 > maybe it will now appear even when the mini-window is not resized?
 > Did you try?

I did now - interesting.

When I disable the help echo and set `resize-mini-windows' to nil, the
number of lines in the menu that get highlighted increases when hitting
up and down to navigate the menu.  No further problems.

When I disable the help-echo and set `max-mini-window-height' to 1, the
number of lines that get wrongly highlighted also increases and, in
addition, the echo area occasionally grows by a couple of lines but no
text appears in it.  If the minibuffer window _is_ resized, then quitting
the menu via F10 makes the right half of the frame appear empty.

The artefacts mentioned earlier do not show up in either of these cases.

And I checked once more that with term.c unaltered, either setting
`resize-mini-windows' to nil or `max-mini-window-height' to 1 removes
the problem.

Surprisingly, setting `resize-mini-windows' to t also removes the
problem completely.  So somehow the problem shows up when two conditions
are met:

(1) `resize-mini-windows' equals 'grow-only somewhen during redisplay,

(2) the value of `max-mini-window-height' allows resizing the echo area.

martin



^ permalink raw reply	[flat|nested] 76+ messages in thread

* Re: Menus with more items than the TTY can display
  2013-10-17 20:25                                   ` Eli Zaretskii
@ 2013-10-18  7:55                                     ` martin rudalics
  2013-10-18  9:32                                       ` Eli Zaretskii
  0 siblings, 1 reply; 76+ messages in thread
From: martin rudalics @ 2013-10-18  7:55 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: emacs-devel

 > Also, it might be worthwhile to try this in GDB, after starting Emacs:
 >
 >   (gdb) attach EMACS-PID
 >   (gdb) break update_frame_1
 >   (gdb) commands
 >    > bt
 >    > continue
 >    > end
 >   (gdb) continue
 >
 > Now open the menu and do whatever you do to trigger the problem.

I can't trigger the problem when I do that :-(


With the modified term.c I always get

Lisp Backtrace:
"x-popup-menu" (0xa92fa170)
"popup-menu" (0xa92fa6c0)
"menu-bar-open" (0xa92fac20)
"call-interactively" (0xa92faf60)
"command-execute" (0xa92fb4b8)


With term.c unmodified I alternately get

Lisp Backtrace:
"x-popup-menu" (0x617c0ba0)
"popup-menu" (0x617c10f0)
"menu-bar-open" (0x617c1650)
"call-interactively" (0x617c1990)
"command-execute" (0x617c1ee8)

and

Lisp Backtrace:
"message" (0x617bf970)
"tooltip-show-help-non-mode" (0x617bfeb0)
"tooltip-show-help" (0x617c03e8)
"x-popup-menu" (0x617c0ba0)
"popup-menu" (0x617c10f0)
"menu-bar-open" (0x617c1650)
"call-interactively" (0x617c1990)
"command-execute" (0x617c1ee8)

martin



^ permalink raw reply	[flat|nested] 76+ messages in thread

* Re: Menus with more items than the TTY can display
  2013-10-17 22:52                             ` Xue Fuqiao
  2013-10-18  7:02                               ` Eli Zaretskii
@ 2013-10-18  7:56                               ` martin rudalics
  2013-10-18  9:51                                 ` Eli Zaretskii
  1 sibling, 1 reply; 76+ messages in thread
From: martin rudalics @ 2013-10-18  7:56 UTC (permalink / raw)
  To: Xue Fuqiao; +Cc: Eli Zaretskii, emacs-devel

 > FWIW I can also produce it on a gnome-terminal but not on a large-font
 > xterm (on Ubuntu 13.04).

There's one peculiarity I didn't mention so far: On the xfce terminal
the menu border is slightly ragged on the right.  More precisely, rows
with items that are not available ("grayed out") have the last pixel
missing on the right.  Can you see that on your menu?

martin



^ permalink raw reply	[flat|nested] 76+ messages in thread

* Re: Menus with more items than the TTY can display
  2013-10-18  7:02                               ` Eli Zaretskii
@ 2013-10-18  7:59                                 ` martin rudalics
  2013-10-18 22:59                                 ` Xue Fuqiao
  1 sibling, 0 replies; 76+ messages in thread
From: martin rudalics @ 2013-10-18  7:59 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: Xue Fuqiao, emacs-devel

>   M-: (window-height) RET

22

>   M-: (window-screen-lines) RET

21.0

> Martin, could you please try the above as well?

martin




^ permalink raw reply	[flat|nested] 76+ messages in thread

* Re: Menus with more items than the TTY can display
  2013-10-17 17:13                           ` martin rudalics
  2013-10-17 17:45                             ` Eli Zaretskii
@ 2013-10-18  8:36                             ` Eli Zaretskii
  2013-10-18 14:35                               ` martin rudalics
  1 sibling, 1 reply; 76+ messages in thread
From: Eli Zaretskii @ 2013-10-18  8:36 UTC (permalink / raw)
  To: martin rudalics; +Cc: emacs-devel

> Date: Thu, 17 Oct 2013 19:13:46 +0200
> From: martin rudalics <rudalics@gmx.at>
> CC: emacs-devel@gnu.org
> 
>  > Another idea would be to ifdef away this fragment from term.c:
>  >
>  >       if ((menu_help_message || prev_menu_help_message)
>  > 	  && menu_help_message != prev_menu_help_message)
>  > 	{
>  > 	  help_callback (menu_help_message,
>  > 			 menu_help_paneno, menu_help_itemno);
>  > 	  tty_hide_cursor (tty);
>  > 	  fflush (tty->output);
>  > 	  prev_menu_help_message = menu_help_message;
>  > 	}
>  >
>  > which disables help-echo in the menu, and see if the problem is gone
>  > even without customizing resize-mini-windows.  If it is, then stepping
>  > into the help_callback call might tell who causes the problem.
> 
> Doing this has the following effects:
> 
> (1) The echo area remains unchanged in contents and size.
> 
> (2) The amount of "artefacts" in the right half of the frame increases.
>      (You have to look at my screenshot to understand what I mean with
>      artefacts - these are essentially copies of menu lines, sometimes
>      displayed in their highlighted form.)  Also, the number of
>      highlighted menu lines increases.

Could you please post snapshots of these artefacts?  If possible,
please post several ones that show how the artefacts are added as you
move downwards through the menu by pressing C-n or the down-arrow.

Thanks.



^ permalink raw reply	[flat|nested] 76+ messages in thread

* Re: Menus with more items than the TTY can display
  2013-10-18  7:55                                     ` martin rudalics
@ 2013-10-18  9:32                                       ` Eli Zaretskii
  2013-10-18 14:35                                         ` martin rudalics
  0 siblings, 1 reply; 76+ messages in thread
From: Eli Zaretskii @ 2013-10-18  9:32 UTC (permalink / raw)
  To: martin rudalics; +Cc: emacs-devel

> Date: Fri, 18 Oct 2013 09:55:45 +0200
> From: martin rudalics <rudalics@gmx.at>
> CC: emacs-devel@gnu.org
> 
>  > Also, it might be worthwhile to try this in GDB, after starting Emacs:
>  >
>  >   (gdb) attach EMACS-PID
>  >   (gdb) break update_frame_1
>  >   (gdb) commands
>  >    > bt
>  >    > continue
>  >    > end
>  >   (gdb) continue
>  >
>  > Now open the menu and do whatever you do to trigger the problem.
> 
> I can't trigger the problem when I do that :-(

What, you mean neither of the display corruptions happen with the
above breakpoint active?  Then it sounds like we have some timing or
race condition problems, and debugging this will be very hard indeed.

> With the modified term.c I always get
> 
> Lisp Backtrace:
> "x-popup-menu" (0xa92fa170)
> "popup-menu" (0xa92fa6c0)
> "menu-bar-open" (0xa92fac20)
> "call-interactively" (0xa92faf60)
> "command-execute" (0xa92fb4b8)
> 
> 
> With term.c unmodified I alternately get
> 
> Lisp Backtrace:
> "x-popup-menu" (0x617c0ba0)
> "popup-menu" (0x617c10f0)
> "menu-bar-open" (0x617c1650)
> "call-interactively" (0x617c1990)
> "command-execute" (0x617c1ee8)
> 
> and
> 
> Lisp Backtrace:
> "message" (0x617bf970)
> "tooltip-show-help-non-mode" (0x617bfeb0)
> "tooltip-show-help" (0x617c03e8)
> "x-popup-menu" (0x617c0ba0)
> "popup-menu" (0x617c10f0)
> "menu-bar-open" (0x617c1650)
> "call-interactively" (0x617c1990)
> "command-execute" (0x617c1ee8)

These are the expected results.  So the problem is not here...

Let's try to see the problem from the other end.  Please do:

  M-x open-termscript RET SOME-FILE RET

then hit F10, type C-n and/or C-p several times, make sure the problem
happens, then exit Emacs and then post SOME-FILE.

(Btw, this warrants a bug filed long ago.  So please do, and let's
continue there.)



^ permalink raw reply	[flat|nested] 76+ messages in thread

* Re: Menus with more items than the TTY can display
  2013-10-18  7:55                                   ` martin rudalics
@ 2013-10-18  9:50                                     ` Eli Zaretskii
  2013-10-18 14:36                                       ` martin rudalics
  0 siblings, 1 reply; 76+ messages in thread
From: Eli Zaretskii @ 2013-10-18  9:50 UTC (permalink / raw)
  To: martin rudalics; +Cc: emacs-devel

> Date: Fri, 18 Oct 2013 09:55:35 +0200
> From: martin rudalics <rudalics@gmx.at>
> CC: emacs-devel@gnu.org
> 
> When I disable the help echo and set `resize-mini-windows' to nil, the
> number of lines in the menu that get highlighted increases when hitting
> up and down to navigate the menu.  No further problems.

You mean, the menu is displayed correctly, but moving up or down the
menu does not restore the original blue background of the
previously-selected menu item?  Can you show snapshots of this?

> When I disable the help-echo and set `max-mini-window-height' to 1, the
> number of lines that get wrongly highlighted also increases and, in
> addition, the echo area occasionally grows by a couple of lines but no
> text appears in it.  If the minibuffer window _is_ resized, then quitting
> the menu via F10 makes the right half of the frame appear empty.
> 
> The artefacts mentioned earlier do not show up in either of these cases.

Please post the termscript files for both of these situations, as well
as for the "normal" one, where the help-echo is enabled and neither
resize-mini-windows not max-mini-window-height are customized from
their defaults.



^ permalink raw reply	[flat|nested] 76+ messages in thread

* Re: Menus with more items than the TTY can display
  2013-10-18  7:56                               ` martin rudalics
@ 2013-10-18  9:51                                 ` Eli Zaretskii
  0 siblings, 0 replies; 76+ messages in thread
From: Eli Zaretskii @ 2013-10-18  9:51 UTC (permalink / raw)
  To: martin rudalics; +Cc: xfq.free, emacs-devel

> Date: Fri, 18 Oct 2013 09:56:10 +0200
> From: martin rudalics <rudalics@gmx.at>
> CC: Eli Zaretskii <eliz@gnu.org>, emacs-devel <emacs-devel@gnu.org>
> 
>  > FWIW I can also produce it on a gnome-terminal but not on a large-font
>  > xterm (on Ubuntu 13.04).
> 
> There's one peculiarity I didn't mention so far: On the xfce terminal
> the menu border is slightly ragged on the right.  More precisely, rows
> with items that are not available ("grayed out") have the last pixel
> missing on the right.  Can you see that on your menu?

I think this is unrelated: it's some bug in the terminal when bold
font is used (as the tty menu faces do for the selected item).



^ permalink raw reply	[flat|nested] 76+ messages in thread

* Re: Menus with more items than the TTY can display
  2013-10-18  8:36                             ` Eli Zaretskii
@ 2013-10-18 14:35                               ` martin rudalics
  0 siblings, 0 replies; 76+ messages in thread
From: martin rudalics @ 2013-10-18 14:35 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: emacs-devel

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

 > Could you please post snapshots of these artefacts?  If possible,
 > please post several ones that show how the artefacts are added as you
 > move downwards through the menu by pressing C-n or the down-arrow.

Attached.  The first three are after a down-arrow.  <1> is after the
first artefact appears in the echo area.  <2> is after moving from "--"
to "Print Buffer", <3> after one more down-arrow from <2>.

To get more artefacts in the right half I apparently have to do up-arrow
as well.  <4> is after moving up from "--" to "PostScript Print Region".
<5> - <7> depict the situation after a few more up/down movements.

martin

[-- Attachment #2:  1.png --]
[-- Type: image/png, Size: 70594 bytes --]

[-- Attachment #3:  2.png --]
[-- Type: image/png, Size: 71636 bytes --]

[-- Attachment #4:  3.png --]
[-- Type: image/png, Size: 71614 bytes --]

[-- Attachment #5:  4.png --]
[-- Type: image/png, Size: 68255 bytes --]

[-- Attachment #6:  5.png --]
[-- Type: image/png, Size: 71406 bytes --]

[-- Attachment #7:  6.png --]
[-- Type: image/png, Size: 78930 bytes --]

[-- Attachment #8:  7.png --]
[-- Type: image/png, Size: 84876 bytes --]

^ permalink raw reply	[flat|nested] 76+ messages in thread

* Re: Menus with more items than the TTY can display
  2013-10-18  9:32                                       ` Eli Zaretskii
@ 2013-10-18 14:35                                         ` martin rudalics
  2013-10-18 15:30                                           ` Eli Zaretskii
  0 siblings, 1 reply; 76+ messages in thread
From: martin rudalics @ 2013-10-18 14:35 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: emacs-devel

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

 > What, you mean neither of the display corruptions happen with the
 > above breakpoint active?  Then it sounds like we have some timing or
 > race condition problems, and debugging this will be very hard indeed.

Debugging this way extremely slows down movement in the menu.

 > Let's try to see the problem from the other end.  Please do:
 >
 >   M-x open-termscript RET SOME-FILE RET
 >
 > then hit F10, type C-n and/or C-p several times, make sure the problem
 > happens, then exit Emacs and then post SOME-FILE.

Attached as ts.txt.

 > (Btw, this warrants a bug filed long ago.  So please do, and let's
 > continue there.)

I'm already quite confused with the present TTY threads so please let's
postpone that unless you consider it utterly necessary.

martin

[-- Attachment #2: ts.txt --]
[-- Type: text/plain, Size: 57039 bytes --]

^[[K^[[1;33H^[[?25l^[[7mLisp-Interaction Help^[[0m^[[39;49m^[[27m^[[6;1H^[[?12l^[[?25h^[[?12;25h^[[H^[[?25l^[[1m^[[33m^[[41m File > ^[[0m^[[39;49m^[[6;1H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[2d^[[1m^[[33m^[[41m Visit New File...              C-x C-f ^[[0m^[[39;49m
^[[1m^[[33m^[[44m Open File...                           ^[[0m^[[39;49m
^[[1m^[[33m^[[44m Open Directory...              C-x d   ^[[0m^[[39;49m
^[[1m^[[33m^[[44m Insert File...                 C-x i   ^[[0m^[[39;49m
^[[1m^[[33m^[[44m Close                                  ^[[0m^[[39;49m
^[[1m^[[33m^[[44m --                                     ^[[0m^[[39;49m
^[[37m^[[44m Save                           C-x C-s ^[[39;49m
^[[1m^[[33m^[[44m Save As...                     C-x C-w ^[[0m^[[39;49m
^[[1m^[[33m^[[44m Revert Buffer                          ^[[0m^[[39;49m
^[[1m^[[33m^[[44m Recover Crashed Session                ^[[0m^[[39;49m
^[[1m^[[33m^[[44m --                                     ^[[0m^[[39;49m
^[[1m^[[33m^[[44m Print Buffer                           ^[[0m^[[39;49m
^[[37m^[[44m Print Region                           ^[[39;49m
^[[1m^[[33m^[[44m PostScript Print Buffer                ^[[0m^[[39;49m
^[[37m^[[44m PostScript Print Region                ^[[39;49m
^[[1m^[[33m^[[44m PostScript Print Buffer (B+W)          ^[[0m^[[39;49m
^[[37m^[[44m PostScript Print Region (B+W)          ^[[39;49m
^[[1m^[[33m^[[44m --                                     ^[[0m^[[39;49m
^[[1m^[[33m^[[44m New Window Below               C-x 2   ^[[0m^[[39;49m
^[[1m^[[33m^[[44m New Window on Right            C-x 3   ^[[0m^[[39;49m
^[[37m^[[44m Remove Other Windows           C-x 1   ^[[39;49m
^[[1m^[[33m^[[44m --                                     ^[[0m^[[39;49m^[[6;1H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[24dSpecify a new file's name, to edit the file^[[6;1H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[2d^[[1m^[[33m^[[44m Visit New File...              C-x C-f ^[[0m^[[39;49m
^[[1m^[[33m^[[41m Open File...                           ^[[0m^[[39;49m


^[[?12l^[[?25h^[[?12;25h^[[?25l^[[24dRead an existing file into an Emacs buffer^[[K^[[6;1H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[3d^[[1m^[[33m^[[44m Open File...                           ^[[0m^[[39;49m
^[[1m^[[33m^[[41m Open Directory...              C-x d   ^[[0m^[[39;49m

^[[?12l^[[?25h^[[?12;25h^[[?25l^[[24;7H directory, to operate on its files^[[K^[[6;1H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[4d^[[1m^[[33m^[[44m Open Directory...              C-x d   ^[[0m^[[39;49m
^[[1m^[[33m^[[41m Insert File...                 C-x i   ^[[0m^[[39;49m
^[[?12l^[[?25h^[[?12;25h^[[?25l^[[24dInsert another file into current buffer^[[K^[[6;1H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[A^[[1m^[[33m^[[44m Insert File...                 C-x i   ^[[0m^[[39;49m
^[[1m^[[33m^[[41m Close                                  ^[[0m^[[39;49m\r^[[?12l^[[?25h^[[?12;25h^[[?25l^[[24dDiscard (kill)^[[10P^[[6;1H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[1m^[[33m^[[44m Close                                  ^[[0m^[[39;49m
^[[1m^[[33m^[[41m --                                     ^[[0m^[[39;49m\r^[[A^[[?12l^[[?25h^[[?12;25h^[[?25l^[[24d^[[K^[[6d^[[?12l^[[?25h^[[?12;25h^[[?25l
^[[1m^[[33m^[[44m --                                     ^[[0m^[[39;49m
^[[37m^[[41m Save                           C-x C-s ^[[39;49m^[[6;1H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[24dSave current buffer to its file^[[6;1H^[[?12l^[[?25h^[[?12;25h^[[?25l

^[[37m^[[44m Save                           C-x C-s ^[[39;49m
^[[1m^[[33m^[[41m Save As...                     C-x C-w ^[[0m^[[39;49m^[[6;1H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[24dWrite current buffer to another file^[[6;1H^[[?12l^[[?25h^[[?12;25h^[[?25l


^[[1m^[[33m^[[44m Save As...                     C-x C-w ^[[0m^[[39;49m
^[[1m^[[33m^[[41m Revert Buffer                          ^[[0m^[[39;49m^[[6;1H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[24dRe-read current buffer from its^[[6;1H^[[?12l^[[?25h^[[?12;25h^[[?25l



^[[1m^[[33m^[[44m Revert Buffer                          ^[[0m^[[39;49m
^[[1m^[[33m^[[41m Recover Crashed Session                ^[[0m^[[39;49m^[[6;1H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[24;3Hcover edits from a crashed session^[[6;1H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[11d^[[1m^[[33m^[[44m Recover Crashed Session                ^[[0m^[[39;49m
^[[1m^[[33m^[[41m --                                     ^[[0m^[[39;49m^[[6;1H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[24d^[[K^[[6d^[[?12l^[[?25h^[[?12;25h^[[?25l^[[12d^[[1m^[[33m^[[44m --                                     ^[[0m^[[39;49m
^[[1m^[[33m^[[41m Print Buffer                           ^[[0m^[[39;49m^[[6;1H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[24dPrint current buffer with page headings^[[6;1H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[13d^[[1m^[[33m^[[44m Print Buffer                           ^[[0m^[[39;49m
^[[37m^[[41m Print Region                           ^[[39;49m^[[6;1H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[24;7Hregion between mark and current position^[[6;1H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[14d^[[37m^[[44m Print Region                           ^[[39;49m
^[[1m^[[33m^[[41m PostScript Print Buffer                ^[[0m^[[39;49m^[[6;1H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[24;3Hetty-print current buffer to PostScript printer^[[6;1H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[15d^[[1m^[[33m^[[44m PostScript Print Buffer                ^[[0m^[[39;49m
^[[37m^[[41m PostScript Print Region                ^[[39;49m^[[6;1H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[24;14Hmarked region^[[1P^[[6;1H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[16d^[[37m^[[44m PostScript Print Region                ^[[39;49m
^[[1m^[[33m^[[41m PostScript Print Buffer (B+W)          ^[[0m^[[39;49m^[[6;1H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[24;14Hcurrent buffe^[[20@r in black and white^[[6;1H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[17d^[[1m^[[33m^[[44m PostScript Print Buffer (B+W)          ^[[0m^[[39;49m
^[[37m^[[41m PostScript Print Region (B+W)          ^[[39;49m^[[6;1H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[24;14Hmarked region^[[1P^[[6;1H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[18d^[[37m^[[44m PostScript Print Region (B+W)          ^[[39;49m
^[[1m^[[33m^[[41m --                                     ^[[0m^[[39;49m^[[6;1H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[24d^[[K^[[6d^[[?12l^[[?25h^[[?12;25h^[[?25l^[[19d^[[1m^[[33m^[[44m --                                     ^[[0m^[[39;49m
^[[1m^[[33m^[[41m New Window Below               C-x 2   ^[[0m^[[39;49m^[[6;1H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[24dMake new window below selected one^[[6;1H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[20d^[[1m^[[33m^[[44m New Window Below               C-x 2   ^[[0m^[[39;49m
^[[1m^[[33m^[[41m New Window on Right            C-x 3   ^[[0m^[[39;49m^[[6;1H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[24;17Hon ri^[[6@ght of^[[6;1H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[21d^[[1m^[[33m^[[44m New Window on Right            C-x 3   ^[[0m^[[39;49m
^[[37m^[[41m Remove Other Windows           C-x 1   ^[[39;49m^[[6;1H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[24;6Hselected window fill whole frame^[[K^[[6;1H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[22d^[[37m^[[44m Remove Other Windows           C-x 1   ^[[39;49m
^[[1m^[[33m^[[41m --                                     ^[[0m^[[39;49m^[[6;1H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[24d^[[K^[[6d^[[?12l^[[?25h^[[?12;25h^[[?25l^[[2;2H^[[1m^[[33m^[[44mOpen File...                          ^[[0m^[[39;49m^[[3;7H^[[1m^[[33m^[[44mDirectory...              C-x d^[[0m^[[39;49m
^[[C^[[1m^[[33m^[[44mInsert File...                 C-x i^[[0m^[[39;49m
^[[C^[[1m^[[33m^[[44mClose                               ^[[0m^[[39;49m
^[[C^[[1m^[[33m^[[44m--   ^[[0m^[[39;49m
^[[37m^[[44m Save                           C-x C-s ^[[39;49m
^[[1m^[[33m^[[44m Save As...                     C-x C-w ^[[0m^[[39;49m
^[[C^[[1m^[[33m^[[44mRevert Buffer                         ^[[0m^[[39;49m^[[10;4H^[[1m^[[33m^[[44mcover Crashed Session^[[0m^[[39;49m
^[[C^[[1m^[[33m^[[44m--                     ^[[0m^[[39;49m
^[[C^[[1m^[[33m^[[44mPrint Buffer^[[0m^[[39;49m
^[[37m^[[44m Print Region                           ^[[39;49m
^[[1m^[[33m^[[44m PostScript Print Buffer                ^[[0m^[[39;49m
^[[37m^[[44m PostScript Print Region                ^[[39;49m
^[[1m^[[33m^[[44m PostScript Print Buffer (B+W)          ^[[0m^[[39;49m
^[[37m^[[44m PostScript Print Region (B+W)          ^[[39;49m
^[[1m^[[33m^[[44m --                                     ^[[0m^[[39;49m
^[[C^[[1m^[[33m^[[44mNew Window Below               C-x 2^[[0m^[[39;49m^[[20;13H^[[1m^[[33m^[[44mon Right            C-x 3^[[0m^[[39;49m
^[[37m^[[44m Remove Other Windows           C-x 1   ^[[39;49m
^[[1m^[[33m^[[44m --                                     ^[[0m^[[39;49m
^[[C^[[1m^[[33m^[[41mNew Frame                      C-x 5 2^[[0m^[[39;49m^[[6;1H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[24dOpen a new frame^[[6;1H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[2;7H^[[1m^[[33m^[[44mDirectory...              C-x d^[[0m^[[39;49m
^[[C^[[1m^[[33m^[[44mInsert File...                 C-x i^[[0m^[[39;49m
^[[C^[[1m^[[33m^[[44mClose                               ^[[0m^[[39;49m
^[[C^[[1m^[[33m^[[44m--   ^[[0m^[[39;49m
^[[37m^[[44m Save                           C-x C-s ^[[39;49m
^[[1m^[[33m^[[44m Save As...                     C-x C-w ^[[0m^[[39;49m
^[[C^[[1m^[[33m^[[44mRevert Buffer                         ^[[0m^[[39;49m^[[9;4H^[[1m^[[33m^[[44mcover Crashed Session^[[0m^[[39;49m
^[[C^[[1m^[[33m^[[44m--                     ^[[0m^[[39;49m
^[[C^[[1m^[[33m^[[44mPrint Buffer^[[0m^[[39;49m
^[[37m^[[44m Print Region                           ^[[39;49m
^[[1m^[[33m^[[44m PostScript Print Buffer                ^[[0m^[[39;49m
^[[37m^[[44m PostScript Print Region                ^[[39;49m
^[[1m^[[33m^[[44m PostScript Print Buffer (B+W)          ^[[0m^[[39;49m
^[[37m^[[44m PostScript Print Region (B+W)          ^[[39;49m
^[[1m^[[33m^[[44m --                                     ^[[0m^[[39;49m
^[[C^[[1m^[[33m^[[44mNew Window Below               C-x 2^[[0m^[[39;49m^[[19;13H^[[1m^[[33m^[[44mon Right            C-x 3^[[0m^[[39;49m
^[[37m^[[44m Remove Other Windows           C-x 1   ^[[39;49m
^[[1m^[[33m^[[44m --                                     ^[[0m^[[39;49m
^[[C^[[1m^[[33m^[[44mNew Frame                      C-x 5 2^[[0m^[[39;49m^[[23;12H^[[1m^[[33m^[[41mon Display...               ^[[0m^[[39;49m^[[6;1H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[24;18Hon another display^[[6;1H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[2;2H^[[1m^[[33m^[[44mInsert File...                 C-x i^[[0m^[[39;49m
^[[C^[[1m^[[33m^[[44mClose                               ^[[0m^[[39;49m
^[[C^[[1m^[[33m^[[44m--   ^[[0m^[[39;49m
^[[37m^[[44m Save                           C-x C-s ^[[39;49m
^[[1m^[[33m^[[44m Save As...                     C-x C-w ^[[0m^[[39;49m
^[[C^[[1m^[[33m^[[44mRevert Buffer                         ^[[0m^[[39;49m^[[8;4H^[[1m^[[33m^[[44mcover Crashed Session^[[0m^[[39;49m
^[[C^[[1m^[[33m^[[44m--                     ^[[0m^[[39;49m
^[[C^[[1m^[[33m^[[44mPrint Buffer^[[0m^[[39;49m
^[[37m^[[44m Print Region                           ^[[39;49m
^[[1m^[[33m^[[44m PostScript Print Buffer                ^[[0m^[[39;49m
^[[37m^[[44m PostScript Print Region                ^[[39;49m
^[[1m^[[33m^[[44m PostScript Print Buffer (B+W)          ^[[0m^[[39;49m
^[[37m^[[44m PostScript Print Region (B+W)          ^[[39;49m
^[[1m^[[33m^[[44m --                                     ^[[0m^[[39;49m
^[[C^[[1m^[[33m^[[44mNew Window Below               C-x 2^[[0m^[[39;49m^[[18;13H^[[1m^[[33m^[[44mon Right            C-x 3^[[0m^[[39;49m
^[[37m^[[44m Remove Other Windows           C-x 1   ^[[39;49m
^[[1m^[[33m^[[44m --                                     ^[[0m^[[39;49m
^[[C^[[1m^[[33m^[[44mNew Frame                      C-x 5 2^[[0m^[[39;49m^[[22;12H^[[1m^[[33m^[[44mon Display...               ^[[0m^[[39;49m
^[[37m^[[41m Delete Frame                   C-x 5 0 ^[[39;49m^[[6;1H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[24dDelete currently selected frame^[[K^[[6;1H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[2;2H^[[1m^[[33m^[[44mClose                               ^[[0m^[[39;49m
^[[C^[[1m^[[33m^[[44m--   ^[[0m^[[39;49m
^[[37m^[[44m Save                           C-x C-s ^[[39;49m
^[[1m^[[33m^[[44m Save As...                     C-x C-w ^[[0m^[[39;49m
^[[C^[[1m^[[33m^[[44mRevert Buffer                         ^[[0m^[[39;49m^[[7;4H^[[1m^[[33m^[[44mcover Crashed Session^[[0m^[[39;49m
^[[C^[[1m^[[33m^[[44m--                     ^[[0m^[[39;49m
^[[C^[[1m^[[33m^[[44mPrint Buffer^[[0m^[[39;49m
^[[37m^[[44m Print Region                           ^[[39;49m
^[[1m^[[33m^[[44m PostScript Print Buffer                ^[[0m^[[39;49m
^[[37m^[[44m PostScript Print Region                ^[[39;49m
^[[1m^[[33m^[[44m PostScript Print Buffer (B+W)          ^[[0m^[[39;49m
^[[37m^[[44m PostScript Print Region (B+W)          ^[[39;49m
^[[1m^[[33m^[[44m --                                     ^[[0m^[[39;49m
^[[C^[[1m^[[33m^[[44mNew Window Below               C-x 2^[[0m^[[39;49m^[[17;13H^[[1m^[[33m^[[44mon Right            C-x 3^[[0m^[[39;49m
^[[37m^[[44m Remove Other Windows           C-x 1   ^[[39;49m
^[[1m^[[33m^[[44m --                                     ^[[0m^[[39;49m
^[[C^[[1m^[[33m^[[44mNew Frame                      C-x 5 2^[[0m^[[39;49m^[[21;12H^[[1m^[[33m^[[44mon Display...               ^[[0m^[[39;49m
^[[37m^[[44m Delete Frame                   C-x 5 0 ^[[39;49m
^[[1m^[[33m^[[41m --                                     ^[[0m^[[39;49m^[[6;1H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[24d^[[K^[[6d^[[?12l^[[?25h^[[?12;25h^[[?25l^[[2;2H^[[1m^[[33m^[[44m--   ^[[0m^[[39;49m
^[[37m^[[44m Save                           C-x C-s ^[[39;49m
^[[1m^[[33m^[[44m Save As...                     C-x C-w ^[[0m^[[39;49m
^[[C^[[1m^[[33m^[[44mRevert Buffer                         ^[[0m^[[39;49m^[[6;4H^[[1m^[[33m^[[44mcover Crashed Session^[[0m^[[39;49m
^[[C^[[1m^[[33m^[[44m--                     ^[[0m^[[39;49m
^[[C^[[1m^[[33m^[[44mPrint Buffer^[[0m^[[39;49m
^[[37m^[[44m Print Region                           ^[[39;49m
^[[1m^[[33m^[[44m PostScript Print Buffer                ^[[0m^[[39;49m
^[[37m^[[44m PostScript Print Region                ^[[39;49m
^[[1m^[[33m^[[44m PostScript Print Buffer (B+W)          ^[[0m^[[39;49m
^[[37m^[[44m PostScript Print Region (B+W)          ^[[39;49m
^[[1m^[[33m^[[44m --                                     ^[[0m^[[39;49m
^[[C^[[1m^[[33m^[[44mNew Window Below               C-x 2^[[0m^[[39;49m^[[16;13H^[[1m^[[33m^[[44mon Right            C-x 3^[[0m^[[39;49m
^[[37m^[[44m Remove Other Windows           C-x 1   ^[[39;49m
^[[1m^[[33m^[[44m --                                     ^[[0m^[[39;49m
^[[C^[[1m^[[33m^[[44mNew Frame                      C-x 5 2^[[0m^[[39;49m^[[20;12H^[[1m^[[33m^[[44mon Display...               ^[[0m^[[39;49m
^[[37m^[[44m Delete Frame                   C-x 5 0 ^[[39;49m
^[[1m^[[33m^[[44m --                                     ^[[0m^[[39;49m
^[[C^[[1m^[[33m^[[41mQuit                           C-x C-c^[[0m^[[39;49m^[[6;1H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[24dSave unsaved buffers, then exit^[[6;1H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[2d^[[1m^[[33m^[[41m Visit New File...              C-x C-f ^[[0m^[[39;49m
^[[1m^[[33m^[[44m Open File...                           ^[[0m^[[39;49m
^[[C^[[1m^[[33m^[[44mOpen Directory...              C-x d  ^[[0m^[[39;49m
^[[C^[[1m^[[33m^[[44mInsert File...                 C-x i^[[0m^[[39;49m
^[[C^[[1m^[[33m^[[44mClose                  ^[[0m^[[39;49m

^[[37m^[[44m Save                           C-x C-s ^[[39;49m
^[[1m^[[33m^[[44m Save As...                     C-x C-w ^[[0m^[[39;49m
^[[C^[[1m^[[33m^[[44mRevert Buffer          ^[[0m^[[39;49m
^[[1m^[[33m^[[44m Recover Crashed Session                ^[[0m^[[39;49m
^[[C^[[1m^[[33m^[[44m--                           ^[[0m^[[39;49m
^[[1m^[[33m^[[44m Print Buffer                           ^[[0m^[[39;49m
^[[37m^[[44m Print Region                           ^[[39;49m
^[[C^[[1m^[[33m^[[44mPostScript Print Buffer             ^[[0m^[[39;49m
^[[37m^[[44m PostScript Print Region                ^[[39;49m
^[[1m^[[33m^[[44m PostScript Print Buffer (B+W)          ^[[0m^[[39;49m
^[[37m^[[44m PostScript Print Region (B+W)          ^[[39;49m
^[[C^[[1m^[[33m^[[44m--                                    ^[[0m^[[39;49m^[[20;6H^[[1m^[[33m^[[44mWindow Below               C-x 2^[[0m^[[39;49m
^[[1m^[[33m^[[44m New Window on Right            C-x 3   ^[[0m^[[39;49m
^[[37m^[[44m Remove Other Windows           C-x 1   ^[[39;49m
^[[1m^[[33m^[[44m --                                     ^[[0m^[[39;49m^[[6;1H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[24;2Hpecify a new file's name, to edit the file^[[6;1H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[2d^[[1m^[[33m^[[44m Visit New File...              C-x C-f ^[[0m^[[39;49m
^[[1m^[[33m^[[41m Open File...                           ^[[0m^[[39;49m


^[[?12l^[[?25h^[[?12;25h^[[?25l^[[24dRead an existing file into an Emacs buffer^[[K^[[6;1H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[3d^[[1m^[[33m^[[44m Open File...                           ^[[0m^[[39;49m
^[[1m^[[33m^[[41m Open Directory...              C-x d   ^[[0m^[[39;49m

^[[?12l^[[?25h^[[?12;25h^[[?25l^[[24;7H directory, to operate on its files^[[K^[[6;1H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[4d^[[1m^[[33m^[[44m Open Directory...              C-x d   ^[[0m^[[39;49m
^[[1m^[[33m^[[41m Insert File...                 C-x i   ^[[0m^[[39;49m
^[[?12l^[[?25h^[[?12;25h^[[?25l^[[24dInsert another file into current buffer^[[K^[[6;1H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[A^[[1m^[[33m^[[44m Insert File...                 C-x i   ^[[0m^[[39;49m
^[[1m^[[33m^[[41m Close                                  ^[[0m^[[39;49m\r^[[?12l^[[?25h^[[?12;25h^[[?25l^[[24dDiscard (kill)^[[10P^[[6;1H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[1m^[[33m^[[44m Close                                  ^[[0m^[[39;49m
^[[1m^[[33m^[[41m --                                     ^[[0m^[[39;49m\r^[[A^[[?12l^[[?25h^[[?12;25h^[[?25l^[[24d^[[K^[[6d^[[?12l^[[?25h^[[?12;25h^[[?25l
^[[1m^[[33m^[[44m --                                     ^[[0m^[[39;49m
^[[37m^[[41m Save                           C-x C-s ^[[39;49m^[[6;1H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[24dSave current buffer to its file^[[6;1H^[[?12l^[[?25h^[[?12;25h^[[?25l

^[[37m^[[44m Save                           C-x C-s ^[[39;49m
^[[1m^[[33m^[[41m Save As...                     C-x C-w ^[[0m^[[39;49m^[[6;1H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[24dWrite current buffer to another file^[[6;1H^[[?12l^[[?25h^[[?12;25h^[[?25l


^[[1m^[[33m^[[44m Save As...                     C-x C-w ^[[0m^[[39;49m
^[[1m^[[33m^[[41m Revert Buffer                          ^[[0m^[[39;49m^[[6;1H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[24dRe-read current buffer from its^[[6;1H^[[?12l^[[?25h^[[?12;25h^[[?25l



^[[1m^[[33m^[[44m Revert Buffer                          ^[[0m^[[39;49m
^[[1m^[[33m^[[41m Recover Crashed Session                ^[[0m^[[39;49m^[[6;1H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[24;3Hcover edits from a crashed session^[[6;1H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[11d^[[1m^[[33m^[[44m Recover Crashed Session                ^[[0m^[[39;49m
^[[1m^[[33m^[[41m --                                     ^[[0m^[[39;49m^[[6;1H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[24d^[[K^[[6d^[[?12l^[[?25h^[[?12;25h^[[?25l^[[12d^[[1m^[[33m^[[44m --                                     ^[[0m^[[39;49m
^[[1m^[[33m^[[41m Print Buffer                           ^[[0m^[[39;49m^[[6;1H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[24dPrint current buffer with page headings^[[6;1H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[13d^[[1m^[[33m^[[44m Print Buffer                           ^[[0m^[[39;49m
^[[37m^[[41m Print Region                           ^[[39;49m^[[6;1H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[24;7Hregion between mark and current position^[[6;1H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[14d^[[37m^[[44m Print Region                           ^[[39;49m
^[[1m^[[33m^[[41m PostScript Print Buffer                ^[[0m^[[39;49m^[[6;1H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[24;3Hetty-print current buffer to PostScript printer^[[6;1H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[15d^[[1m^[[33m^[[44m PostScript Print Buffer                ^[[0m^[[39;49m
^[[37m^[[41m PostScript Print Region                ^[[39;49m^[[6;1H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[24;14Hmarked region^[[1P^[[6;1H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[16d^[[37m^[[44m PostScript Print Region                ^[[39;49m
^[[1m^[[33m^[[41m PostScript Print Buffer (B+W)          ^[[0m^[[39;49m^[[6;1H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[24;14Hcurrent buffe^[[20@r in black and white^[[6;1H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[17d^[[1m^[[33m^[[44m PostScript Print Buffer (B+W)          ^[[0m^[[39;49m
^[[37m^[[41m PostScript Print Region (B+W)          ^[[39;49m^[[6;1H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[24;14Hmarked region^[[1P^[[6;1H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[18d^[[37m^[[44m PostScript Print Region (B+W)          ^[[39;49m
^[[1m^[[33m^[[41m --                                     ^[[0m^[[39;49m^[[6;1H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[24d^[[K^[[6d^[[?12l^[[?25h^[[?12;25h^[[?25l^[[19d^[[1m^[[33m^[[44m --                                     ^[[0m^[[39;49m
^[[1m^[[33m^[[41m New Window Below               C-x 2   ^[[0m^[[39;49m^[[6;1H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[24dMake new window below selected one^[[6;1H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[20d^[[1m^[[33m^[[44m New Window Below               C-x 2   ^[[0m^[[39;49m
^[[1m^[[33m^[[41m New Window on Right            C-x 3   ^[[0m^[[39;49m^[[6;1H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[24;17Hon ri^[[6@ght of^[[6;1H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[21d^[[1m^[[33m^[[44m New Window on Right            C-x 3   ^[[0m^[[39;49m
^[[37m^[[41m Remove Other Windows           C-x 1   ^[[39;49m^[[6;1H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[24;6Hselected window fill whole frame^[[K^[[6;1H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[22d^[[37m^[[44m Remove Other Windows           C-x 1   ^[[39;49m
^[[1m^[[33m^[[41m --                                     ^[[0m^[[39;49m^[[6;1H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[24d^[[K^[[6d^[[?12l^[[?25h^[[?12;25h^[[?25l^[[2;2H^[[1m^[[33m^[[44mOpen File...                          ^[[0m^[[39;49m^[[3;7H^[[1m^[[33m^[[44mDirectory...              C-x d^[[0m^[[39;49m
^[[C^[[1m^[[33m^[[44mInsert File...                 C-x i^[[0m^[[39;49m
^[[C^[[1m^[[33m^[[44mClose                               ^[[0m^[[39;49m
^[[C^[[1m^[[33m^[[44m--   ^[[0m^[[39;49m
^[[37m^[[44m Save                           C-x C-s ^[[39;49m
^[[1m^[[33m^[[44m Save As...                     C-x C-w ^[[0m^[[39;49m
^[[C^[[1m^[[33m^[[44mRevert Buffer                         ^[[0m^[[39;49m^[[10;4H^[[1m^[[33m^[[44mcover Crashed Session^[[0m^[[39;49m
^[[C^[[1m^[[33m^[[44m--                     ^[[0m^[[39;49m
^[[C^[[1m^[[33m^[[44mPrint Buffer^[[0m^[[39;49m
^[[37m^[[44m Print Region                           ^[[39;49m
^[[1m^[[33m^[[44m PostScript Print Buffer                ^[[0m^[[39;49m
^[[37m^[[44m PostScript Print Region                ^[[39;49m
^[[1m^[[33m^[[44m PostScript Print Buffer (B+W)          ^[[0m^[[39;49m
^[[37m^[[44m PostScript Print Region (B+W)          ^[[39;49m
^[[1m^[[33m^[[44m --                                     ^[[0m^[[39;49m
^[[C^[[1m^[[33m^[[44mNew Window Below               C-x 2^[[0m^[[39;49m^[[20;13H^[[1m^[[33m^[[44mon Right            C-x 3^[[0m^[[39;49m
^[[37m^[[44m Remove Other Windows           C-x 1   ^[[39;49m
^[[1m^[[33m^[[44m --                                     ^[[0m^[[39;49m
^[[C^[[1m^[[33m^[[41mNew Frame                      C-x 5 2^[[0m^[[39;49m^[[6;1H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[24dOpen a new frame^[[6;1H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[2;7H^[[1m^[[33m^[[44mDirectory...              C-x d^[[0m^[[39;49m
^[[C^[[1m^[[33m^[[44mInsert File...                 C-x i^[[0m^[[39;49m
^[[C^[[1m^[[33m^[[44mClose                               ^[[0m^[[39;49m
^[[C^[[1m^[[33m^[[44m--   ^[[0m^[[39;49m
^[[37m^[[44m Save                           C-x C-s ^[[39;49m
^[[1m^[[33m^[[44m Save As...                     C-x C-w ^[[0m^[[39;49m
^[[C^[[1m^[[33m^[[44mRevert Buffer                         ^[[0m^[[39;49m^[[9;4H^[[1m^[[33m^[[44mcover Crashed Session^[[0m^[[39;49m
^[[C^[[1m^[[33m^[[44m--                     ^[[0m^[[39;49m
^[[C^[[1m^[[33m^[[44mPrint Buffer^[[0m^[[39;49m
^[[37m^[[44m Print Region                           ^[[39;49m
^[[1m^[[33m^[[44m PostScript Print Buffer                ^[[0m^[[39;49m
^[[37m^[[44m PostScript Print Region                ^[[39;49m
^[[1m^[[33m^[[44m PostScript Print Buffer (B+W)          ^[[0m^[[39;49m
^[[37m^[[44m PostScript Print Region (B+W)          ^[[39;49m
^[[1m^[[33m^[[44m --                                     ^[[0m^[[39;49m
^[[C^[[1m^[[33m^[[44mNew Window Below               C-x 2^[[0m^[[39;49m^[[19;13H^[[1m^[[33m^[[44mon Right            C-x 3^[[0m^[[39;49m
^[[37m^[[44m Remove Other Windows           C-x 1   ^[[39;49m
^[[1m^[[33m^[[44m --                                     ^[[0m^[[39;49m
^[[C^[[1m^[[33m^[[44mNew Frame                      C-x 5 2^[[0m^[[39;49m^[[23;12H^[[1m^[[33m^[[41mon Display...               ^[[0m^[[39;49m^[[6;1H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[24;18Hon another display^[[6;1H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[2;2H^[[1m^[[33m^[[44mInsert File...                 C-x i^[[0m^[[39;49m
^[[C^[[1m^[[33m^[[44mClose                               ^[[0m^[[39;49m
^[[C^[[1m^[[33m^[[44m--   ^[[0m^[[39;49m
^[[37m^[[44m Save                           C-x C-s ^[[39;49m
^[[1m^[[33m^[[44m Save As...                     C-x C-w ^[[0m^[[39;49m
^[[C^[[1m^[[33m^[[44mRevert Buffer                         ^[[0m^[[39;49m^[[8;4H^[[1m^[[33m^[[44mcover Crashed Session^[[0m^[[39;49m
^[[C^[[1m^[[33m^[[44m--                     ^[[0m^[[39;49m
^[[C^[[1m^[[33m^[[44mPrint Buffer^[[0m^[[39;49m
^[[37m^[[44m Print Region                           ^[[39;49m
^[[1m^[[33m^[[44m PostScript Print Buffer                ^[[0m^[[39;49m
^[[37m^[[44m PostScript Print Region                ^[[39;49m
^[[1m^[[33m^[[44m PostScript Print Buffer (B+W)          ^[[0m^[[39;49m
^[[37m^[[44m PostScript Print Region (B+W)          ^[[39;49m
^[[1m^[[33m^[[44m --                                     ^[[0m^[[39;49m
^[[C^[[1m^[[33m^[[44mNew Window Below               C-x 2^[[0m^[[39;49m^[[18;13H^[[1m^[[33m^[[44mon Right            C-x 3^[[0m^[[39;49m
^[[37m^[[44m Remove Other Windows           C-x 1   ^[[39;49m
^[[1m^[[33m^[[44m --                                     ^[[0m^[[39;49m
^[[C^[[1m^[[33m^[[44mNew Frame                      C-x 5 2^[[0m^[[39;49m^[[22;12H^[[1m^[[33m^[[44mon Display...               ^[[0m^[[39;49m
^[[37m^[[41m Delete Frame                   C-x 5 0 ^[[39;49m^[[6;1H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[24dDelete currently selected frame^[[K^[[6;1H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[2;2H^[[1m^[[33m^[[44mClose                               ^[[0m^[[39;49m
^[[C^[[1m^[[33m^[[44m--   ^[[0m^[[39;49m
^[[37m^[[44m Save                           C-x C-s ^[[39;49m
^[[1m^[[33m^[[44m Save As...                     C-x C-w ^[[0m^[[39;49m
^[[C^[[1m^[[33m^[[44mRevert Buffer                         ^[[0m^[[39;49m^[[7;4H^[[1m^[[33m^[[44mcover Crashed Session^[[0m^[[39;49m
^[[C^[[1m^[[33m^[[44m--                     ^[[0m^[[39;49m
^[[C^[[1m^[[33m^[[44mPrint Buffer^[[0m^[[39;49m
^[[37m^[[44m Print Region                           ^[[39;49m
^[[1m^[[33m^[[44m PostScript Print Buffer                ^[[0m^[[39;49m
^[[37m^[[44m PostScript Print Region                ^[[39;49m
^[[1m^[[33m^[[44m PostScript Print Buffer (B+W)          ^[[0m^[[39;49m
^[[37m^[[44m PostScript Print Region (B+W)          ^[[39;49m
^[[1m^[[33m^[[44m --                                     ^[[0m^[[39;49m
^[[C^[[1m^[[33m^[[44mNew Window Below               C-x 2^[[0m^[[39;49m^[[17;13H^[[1m^[[33m^[[44mon Right            C-x 3^[[0m^[[39;49m
^[[37m^[[44m Remove Other Windows           C-x 1   ^[[39;49m
^[[1m^[[33m^[[44m --                                     ^[[0m^[[39;49m
^[[C^[[1m^[[33m^[[44mNew Frame                      C-x 5 2^[[0m^[[39;49m^[[21;12H^[[1m^[[33m^[[44mon Display...               ^[[0m^[[39;49m
^[[37m^[[44m Delete Frame                   C-x 5 0 ^[[39;49m
^[[1m^[[33m^[[41m --                                     ^[[0m^[[39;49m^[[6;1H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[24d^[[K^[[6d^[[?12l^[[?25h^[[?12;25h^[[?25l^[[2;2H^[[1m^[[33m^[[44m--   ^[[0m^[[39;49m
^[[37m^[[44m Save                           C-x C-s ^[[39;49m
^[[1m^[[33m^[[44m Save As...                     C-x C-w ^[[0m^[[39;49m
^[[C^[[1m^[[33m^[[44mRevert Buffer                         ^[[0m^[[39;49m^[[6;4H^[[1m^[[33m^[[44mcover Crashed Session^[[0m^[[39;49m
^[[C^[[1m^[[33m^[[44m--                     ^[[0m^[[39;49m
^[[C^[[1m^[[33m^[[44mPrint Buffer^[[0m^[[39;49m
^[[37m^[[44m Print Region                           ^[[39;49m
^[[1m^[[33m^[[44m PostScript Print Buffer                ^[[0m^[[39;49m
^[[37m^[[44m PostScript Print Region                ^[[39;49m
^[[1m^[[33m^[[44m PostScript Print Buffer (B+W)          ^[[0m^[[39;49m
^[[37m^[[44m PostScript Print Region (B+W)          ^[[39;49m
^[[1m^[[33m^[[44m --                                     ^[[0m^[[39;49m
^[[C^[[1m^[[33m^[[44mNew Window Below               C-x 2^[[0m^[[39;49m^[[16;13H^[[1m^[[33m^[[44mon Right            C-x 3^[[0m^[[39;49m
^[[37m^[[44m Remove Other Windows           C-x 1   ^[[39;49m
^[[1m^[[33m^[[44m --                                     ^[[0m^[[39;49m
^[[C^[[1m^[[33m^[[44mNew Frame                      C-x 5 2^[[0m^[[39;49m^[[20;12H^[[1m^[[33m^[[44mon Display...               ^[[0m^[[39;49m
^[[37m^[[44m Delete Frame                   C-x 5 0 ^[[39;49m
^[[1m^[[33m^[[44m --                                     ^[[0m^[[39;49m
^[[C^[[1m^[[33m^[[41mQuit                           C-x C-c^[[0m^[[39;49m^[[6;1H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[24dSave unsaved buffers, then exit^[[6;1H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[2d^[[1m^[[33m^[[41m Visit New File...              C-x C-f ^[[0m^[[39;49m
^[[1m^[[33m^[[44m Open File...                           ^[[0m^[[39;49m
^[[C^[[1m^[[33m^[[44mOpen Directory...              C-x d  ^[[0m^[[39;49m
^[[C^[[1m^[[33m^[[44mInsert File...                 C-x i^[[0m^[[39;49m
^[[C^[[1m^[[33m^[[44mClose                  ^[[0m^[[39;49m

^[[37m^[[44m Save                           C-x C-s ^[[39;49m
^[[1m^[[33m^[[44m Save As...                     C-x C-w ^[[0m^[[39;49m
^[[C^[[1m^[[33m^[[44mRevert Buffer          ^[[0m^[[39;49m
^[[1m^[[33m^[[44m Recover Crashed Session                ^[[0m^[[39;49m
^[[C^[[1m^[[33m^[[44m--                           ^[[0m^[[39;49m
^[[1m^[[33m^[[44m Print Buffer                           ^[[0m^[[39;49m
^[[37m^[[44m Print Region                           ^[[39;49m
^[[C^[[1m^[[33m^[[44mPostScript Print Buffer             ^[[0m^[[39;49m
^[[37m^[[44m PostScript Print Region                ^[[39;49m
^[[1m^[[33m^[[44m PostScript Print Buffer (B+W)          ^[[0m^[[39;49m
^[[37m^[[44m PostScript Print Region (B+W)          ^[[39;49m
^[[C^[[1m^[[33m^[[44m--                                    ^[[0m^[[39;49m^[[20;6H^[[1m^[[33m^[[44mWindow Below               C-x 2^[[0m^[[39;49m
^[[1m^[[33m^[[44m New Window on Right            C-x 3   ^[[0m^[[39;49m
^[[37m^[[44m Remove Other Windows           C-x 1   ^[[39;49m
^[[1m^[[33m^[[44m --                                     ^[[0m^[[39;49m^[[6;1H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[24;2Hpecify a new file's name, to edit the file^[[6;1H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[2d^[[1m^[[33m^[[44m Visit New File...              C-x C-f ^[[0m^[[39;49m
^[[1m^[[33m^[[41m Open File...                           ^[[0m^[[39;49m


^[[?12l^[[?25h^[[?12;25h^[[?25l^[[24dRead an existing file into an Emacs buffer^[[K^[[6;1H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[3d^[[1m^[[33m^[[44m Open File...                           ^[[0m^[[39;49m
^[[1m^[[33m^[[41m Open Directory...              C-x d   ^[[0m^[[39;49m

^[[?12l^[[?25h^[[?12;25h^[[?25l^[[24;7H directory, to operate on its files^[[K^[[6;1H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[4d^[[1m^[[33m^[[44m Open Directory...              C-x d   ^[[0m^[[39;49m
^[[1m^[[33m^[[41m Insert File...                 C-x i   ^[[0m^[[39;49m
^[[?12l^[[?25h^[[?12;25h^[[?25l^[[24dInsert another file into current buffer^[[K^[[6;1H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[A^[[1m^[[33m^[[44m Insert File...                 C-x i   ^[[0m^[[39;49m
^[[1m^[[33m^[[41m Close                                  ^[[0m^[[39;49m\r^[[?12l^[[?25h^[[?12;25h^[[?25l^[[24dDiscard (kill)^[[10P^[[6;1H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[1m^[[33m^[[44m Close                                  ^[[0m^[[39;49m
^[[1m^[[33m^[[41m --                                     ^[[0m^[[39;49m\r^[[A^[[?12l^[[?25h^[[?12;25h^[[?25l^[[24d^[[K^[[6d^[[?12l^[[?25h^[[?12;25h^[[?25l
^[[1m^[[33m^[[44m --                                     ^[[0m^[[39;49m
^[[37m^[[41m Save                           C-x C-s ^[[39;49m^[[6;1H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[24dSave current buffer to its file^[[6;1H^[[?12l^[[?25h^[[?12;25h^[[?25l

^[[37m^[[44m Save                           C-x C-s ^[[39;49m
^[[1m^[[33m^[[41m Save As...                     C-x C-w ^[[0m^[[39;49m^[[6;1H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[24dWrite current buffer to another file^[[6;1H^[[?12l^[[?25h^[[?12;25h^[[?25l


^[[1m^[[33m^[[44m Save As...                     C-x C-w ^[[0m^[[39;49m
^[[1m^[[33m^[[41m Revert Buffer                          ^[[0m^[[39;49m^[[6;1H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[24dRe-read current buffer from its^[[6;1H^[[?12l^[[?25h^[[?12;25h^[[?25l



^[[1m^[[33m^[[44m Revert Buffer                          ^[[0m^[[39;49m
^[[1m^[[33m^[[41m Recover Crashed Session                ^[[0m^[[39;49m^[[6;1H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[24;3Hcover edits from a crashed session^[[6;1H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[11d^[[1m^[[33m^[[44m Recover Crashed Session                ^[[0m^[[39;49m
^[[1m^[[33m^[[41m --                                     ^[[0m^[[39;49m^[[6;1H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[24d^[[K^[[6d^[[?12l^[[?25h^[[?12;25h^[[?25l^[[12d^[[1m^[[33m^[[44m --                                     ^[[0m^[[39;49m
^[[1m^[[33m^[[41m Print Buffer                           ^[[0m^[[39;49m^[[6;1H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[24dPrint current buffer with page headings^[[6;1H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[13d^[[1m^[[33m^[[44m Print Buffer                           ^[[0m^[[39;49m
^[[37m^[[41m Print Region                           ^[[39;49m^[[6;1H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[24;7Hregion between mark and current position^[[6;1H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[14d^[[37m^[[44m Print Region                           ^[[39;49m
^[[1m^[[33m^[[41m PostScript Print Buffer                ^[[0m^[[39;49m^[[6;1H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[24;3Hetty-print current buffer to PostScript printer^[[6;1H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[15d^[[1m^[[33m^[[44m PostScript Print Buffer                ^[[0m^[[39;49m
^[[37m^[[41m PostScript Print Region                ^[[39;49m^[[6;1H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[24;14Hmarked region^[[1P^[[6;1H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[16d^[[37m^[[44m PostScript Print Region                ^[[39;49m
^[[1m^[[33m^[[41m PostScript Print Buffer (B+W)          ^[[0m^[[39;49m^[[6;1H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[24;14Hcurrent buffe^[[20@r in black and white^[[6;1H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[17d^[[1m^[[33m^[[44m PostScript Print Buffer (B+W)          ^[[0m^[[39;49m
^[[37m^[[41m PostScript Print Region (B+W)          ^[[39;49m^[[6;1H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[24;14Hmarked region^[[1P^[[6;1H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[18d^[[37m^[[44m PostScript Print Region (B+W)          ^[[39;49m
^[[1m^[[33m^[[41m --                                     ^[[0m^[[39;49m^[[6;1H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[24d^[[K^[[6d^[[?12l^[[?25h^[[?12;25h^[[?25l^[[19d^[[1m^[[33m^[[44m --                                     ^[[0m^[[39;49m
^[[1m^[[33m^[[41m New Window Below               C-x 2   ^[[0m^[[39;49m^[[6;1H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[24dMake new window below selected one^[[6;1H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[20d^[[1m^[[33m^[[44m New Window Below               C-x 2   ^[[0m^[[39;49m
^[[1m^[[33m^[[41m New Window on Right            C-x 3   ^[[0m^[[39;49m^[[6;1H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[24;17Hon ri^[[6@ght of^[[6;1H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[21d^[[1m^[[33m^[[44m New Window on Right            C-x 3   ^[[0m^[[39;49m
^[[37m^[[41m Remove Other Windows           C-x 1   ^[[39;49m^[[6;1H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[24;6Hselected window fill whole frame^[[K^[[6;1H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[22d^[[37m^[[44m Remove Other Windows           C-x 1   ^[[39;49m
^[[1m^[[33m^[[41m --                                     ^[[0m^[[39;49m^[[6;1H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[24d^[[K^[[6d^[[?12l^[[?25h^[[?12;25h^[[?25l^[[2;2H^[[1m^[[33m^[[44mOpen File...                          ^[[0m^[[39;49m^[[3;7H^[[1m^[[33m^[[44mDirectory...              C-x d^[[0m^[[39;49m
^[[C^[[1m^[[33m^[[44mInsert File...                 C-x i^[[0m^[[39;49m
^[[C^[[1m^[[33m^[[44mClose                               ^[[0m^[[39;49m
^[[C^[[1m^[[33m^[[44m--   ^[[0m^[[39;49m
^[[37m^[[44m Save                           C-x C-s ^[[39;49m
^[[1m^[[33m^[[44m Save As...                     C-x C-w ^[[0m^[[39;49m
^[[C^[[1m^[[33m^[[44mRevert Buffer                         ^[[0m^[[39;49m^[[10;4H^[[1m^[[33m^[[44mcover Crashed Session^[[0m^[[39;49m
^[[C^[[1m^[[33m^[[44m--                     ^[[0m^[[39;49m
^[[C^[[1m^[[33m^[[44mPrint Buffer^[[0m^[[39;49m
^[[37m^[[44m Print Region                           ^[[39;49m
^[[1m^[[33m^[[44m PostScript Print Buffer                ^[[0m^[[39;49m
^[[37m^[[44m PostScript Print Region                ^[[39;49m
^[[1m^[[33m^[[44m PostScript Print Buffer (B+W)          ^[[0m^[[39;49m
^[[37m^[[44m PostScript Print Region (B+W)          ^[[39;49m
^[[1m^[[33m^[[44m --                                     ^[[0m^[[39;49m
^[[C^[[1m^[[33m^[[44mNew Window Below               C-x 2^[[0m^[[39;49m^[[20;13H^[[1m^[[33m^[[44mon Right            C-x 3^[[0m^[[39;49m
^[[37m^[[44m Remove Other Windows           C-x 1   ^[[39;49m
^[[1m^[[33m^[[44m --                                     ^[[0m^[[39;49m
^[[C^[[1m^[[33m^[[41mNew Frame                      C-x 5 2^[[0m^[[39;49m^[[6;1H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[24dOpen a new frame^[[6;1H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[2;7H^[[1m^[[33m^[[44mDirectory...              C-x d^[[0m^[[39;49m
^[[C^[[1m^[[33m^[[44mInsert File...                 C-x i^[[0m^[[39;49m
^[[C^[[1m^[[33m^[[44mClose                               ^[[0m^[[39;49m
^[[C^[[1m^[[33m^[[44m--   ^[[0m^[[39;49m
^[[37m^[[44m Save                           C-x C-s ^[[39;49m
^[[1m^[[33m^[[44m Save As...                     C-x C-w ^[[0m^[[39;49m
^[[C^[[1m^[[33m^[[44mRevert Buffer                         ^[[0m^[[39;49m^[[9;4H^[[1m^[[33m^[[44mcover Crashed Session^[[0m^[[39;49m
^[[C^[[1m^[[33m^[[44m--                     ^[[0m^[[39;49m
^[[C^[[1m^[[33m^[[44mPrint Buffer^[[0m^[[39;49m
^[[37m^[[44m Print Region                           ^[[39;49m
^[[1m^[[33m^[[44m PostScript Print Buffer                ^[[0m^[[39;49m
^[[37m^[[44m PostScript Print Region                ^[[39;49m
^[[1m^[[33m^[[44m PostScript Print Buffer (B+W)          ^[[0m^[[39;49m
^[[37m^[[44m PostScript Print Region (B+W)          ^[[39;49m
^[[1m^[[33m^[[44m --                                     ^[[0m^[[39;49m
^[[C^[[1m^[[33m^[[44mNew Window Below               C-x 2^[[0m^[[39;49m^[[19;13H^[[1m^[[33m^[[44mon Right            C-x 3^[[0m^[[39;49m
^[[37m^[[44m Remove Other Windows           C-x 1   ^[[39;49m
^[[1m^[[33m^[[44m --                                     ^[[0m^[[39;49m
^[[C^[[1m^[[33m^[[44mNew Frame                      C-x 5 2^[[0m^[[39;49m^[[23;12H^[[1m^[[33m^[[41mon Display...               ^[[0m^[[39;49m^[[6;1H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[24;18Hon another display^[[6;1H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[2;2H^[[1m^[[33m^[[44mInsert File...                 C-x i^[[0m^[[39;49m
^[[C^[[1m^[[33m^[[44mClose                               ^[[0m^[[39;49m
^[[C^[[1m^[[33m^[[44m--   ^[[0m^[[39;49m
^[[37m^[[44m Save                           C-x C-s ^[[39;49m
^[[1m^[[33m^[[44m Save As...                     C-x C-w ^[[0m^[[39;49m
^[[C^[[1m^[[33m^[[44mRevert Buffer                         ^[[0m^[[39;49m^[[8;4H^[[1m^[[33m^[[44mcover Crashed Session^[[0m^[[39;49m
^[[C^[[1m^[[33m^[[44m--                     ^[[0m^[[39;49m
^[[C^[[1m^[[33m^[[44mPrint Buffer^[[0m^[[39;49m
^[[37m^[[44m Print Region                           ^[[39;49m
^[[1m^[[33m^[[44m PostScript Print Buffer                ^[[0m^[[39;49m
^[[37m^[[44m PostScript Print Region                ^[[39;49m
^[[1m^[[33m^[[44m PostScript Print Buffer (B+W)          ^[[0m^[[39;49m
^[[37m^[[44m PostScript Print Region (B+W)          ^[[39;49m
^[[1m^[[33m^[[44m --                                     ^[[0m^[[39;49m
^[[C^[[1m^[[33m^[[44mNew Window Below               C-x 2^[[0m^[[39;49m^[[18;13H^[[1m^[[33m^[[44mon Right            C-x 3^[[0m^[[39;49m
^[[37m^[[44m Remove Other Windows           C-x 1   ^[[39;49m
^[[1m^[[33m^[[44m --                                     ^[[0m^[[39;49m
^[[C^[[1m^[[33m^[[44mNew Frame                      C-x 5 2^[[0m^[[39;49m^[[22;12H^[[1m^[[33m^[[44mon Display...               ^[[0m^[[39;49m
^[[37m^[[41m Delete Frame                   C-x 5 0 ^[[39;49m^[[6;1H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[24dDelete currently selected frame^[[K^[[6;1H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[2;2H^[[1m^[[33m^[[44mClose                               ^[[0m^[[39;49m
^[[C^[[1m^[[33m^[[44m--   ^[[0m^[[39;49m
^[[37m^[[44m Save                           C-x C-s ^[[39;49m
^[[1m^[[33m^[[44m Save As...                     C-x C-w ^[[0m^[[39;49m
^[[C^[[1m^[[33m^[[44mRevert Buffer                         ^[[0m^[[39;49m^[[7;4H^[[1m^[[33m^[[44mcover Crashed Session^[[0m^[[39;49m
^[[C^[[1m^[[33m^[[44m--                     ^[[0m^[[39;49m
^[[C^[[1m^[[33m^[[44mPrint Buffer^[[0m^[[39;49m
^[[37m^[[44m Print Region                           ^[[39;49m
^[[1m^[[33m^[[44m PostScript Print Buffer                ^[[0m^[[39;49m
^[[37m^[[44m PostScript Print Region                ^[[39;49m
^[[1m^[[33m^[[44m PostScript Print Buffer (B+W)          ^[[0m^[[39;49m
^[[37m^[[44m PostScript Print Region (B+W)          ^[[39;49m
^[[1m^[[33m^[[44m --                                     ^[[0m^[[39;49m
^[[C^[[1m^[[33m^[[44mNew Window Below               C-x 2^[[0m^[[39;49m^[[17;13H^[[1m^[[33m^[[44mon Right            C-x 3^[[0m^[[39;49m
^[[37m^[[44m Remove Other Windows           C-x 1   ^[[39;49m
^[[1m^[[33m^[[44m --                                     ^[[0m^[[39;49m
^[[C^[[1m^[[33m^[[44mNew Frame                      C-x 5 2^[[0m^[[39;49m^[[21;12H^[[1m^[[33m^[[44mon Display...               ^[[0m^[[39;49m
^[[37m^[[44m Delete Frame                   C-x 5 0 ^[[39;49m
^[[1m^[[33m^[[41m --                                     ^[[0m^[[39;49m^[[6;1H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[24d^[[K^[[6d^[[?12l^[[?25h^[[?12;25h^[[?25l^[[2;2H^[[1m^[[33m^[[44m--   ^[[0m^[[39;49m
^[[37m^[[44m Save                           C-x C-s ^[[39;49m
^[[1m^[[33m^[[44m Save As...                     C-x C-w ^[[0m^[[39;49m
^[[C^[[1m^[[33m^[[44mRevert Buffer                         ^[[0m^[[39;49m^[[6;4H^[[1m^[[33m^[[44mcover Crashed Session^[[0m^[[39;49m
^[[C^[[1m^[[33m^[[44m--                     ^[[0m^[[39;49m
^[[C^[[1m^[[33m^[[44mPrint Buffer^[[0m^[[39;49m
^[[37m^[[44m Print Region                           ^[[39;49m
^[[1m^[[33m^[[44m PostScript Print Buffer                ^[[0m^[[39;49m
^[[37m^[[44m PostScript Print Region                ^[[39;49m
^[[1m^[[33m^[[44m PostScript Print Buffer (B+W)          ^[[0m^[[39;49m
^[[37m^[[44m PostScript Print Region (B+W)          ^[[39;49m
^[[1m^[[33m^[[44m --                                     ^[[0m^[[39;49m
^[[C^[[1m^[[33m^[[44mNew Window Below               C-x 2^[[0m^[[39;49m^[[16;13H^[[1m^[[33m^[[44mon Right            C-x 3^[[0m^[[39;49m
^[[37m^[[44m Remove Other Windows           C-x 1   ^[[39;49m
^[[1m^[[33m^[[44m --                                     ^[[0m^[[39;49m
^[[C^[[1m^[[33m^[[44mNew Frame                      C-x 5 2^[[0m^[[39;49m^[[20;12H^[[1m^[[33m^[[44mon Display...               ^[[0m^[[39;49m
^[[37m^[[44m Delete Frame                   C-x 5 0 ^[[39;49m
^[[1m^[[33m^[[44m --                                     ^[[0m^[[39;49m
^[[C^[[1m^[[33m^[[41mQuit                           C-x C-c^[[0m^[[39;49m^[[6;1H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[24dSave unsaved buffers, then exit^[[6;1H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[2d^[[1m^[[33m^[[41m Visit New File...              C-x C-f ^[[0m^[[39;49m
^[[1m^[[33m^[[44m Open File...                           ^[[0m^[[39;49m
^[[C^[[1m^[[33m^[[44mOpen Directory...              C-x d  ^[[0m^[[39;49m
^[[C^[[1m^[[33m^[[44mInsert File...                 C-x i^[[0m^[[39;49m
^[[C^[[1m^[[33m^[[44mClose                  ^[[0m^[[39;49m

^[[37m^[[44m Save                           C-x C-s ^[[39;49m
^[[1m^[[33m^[[44m Save As...                     C-x C-w ^[[0m^[[39;49m
^[[C^[[1m^[[33m^[[44mRevert Buffer          ^[[0m^[[39;49m
^[[1m^[[33m^[[44m Recover Crashed Session                ^[[0m^[[39;49m
^[[C^[[1m^[[33m^[[44m--                           ^[[0m^[[39;49m
^[[1m^[[33m^[[44m Print Buffer                           ^[[0m^[[39;49m
^[[37m^[[44m Print Region                           ^[[39;49m
^[[C^[[1m^[[33m^[[44mPostScript Print Buffer             ^[[0m^[[39;49m
^[[37m^[[44m PostScript Print Region                ^[[39;49m
^[[1m^[[33m^[[44m PostScript Print Buffer (B+W)          ^[[0m^[[39;49m
^[[37m^[[44m PostScript Print Region (B+W)          ^[[39;49m
^[[C^[[1m^[[33m^[[44m--                                    ^[[0m^[[39;49m^[[20;6H^[[1m^[[33m^[[44mWindow Below               C-x 2^[[0m^[[39;49m
^[[1m^[[33m^[[44m New Window on Right            C-x 3   ^[[0m^[[39;49m
^[[37m^[[44m Remove Other Windows           C-x 1   ^[[39;49m
^[[1m^[[33m^[[44m --                                     ^[[0m^[[39;49m^[[6;1H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[24;2Hpecify a new file's name, to edit the file^[[6;1H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[2d^[[1m^[[33m^[[44m Visit New File...              C-x C-f ^[[0m^[[39;49m
^[[1m^[[33m^[[41m Open File...                           ^[[0m^[[39;49m


^[[?12l^[[?25h^[[?12;25h^[[?25l^[[24dRead an existing file into an Emacs buffer^[[K^[[6;1H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[3d^[[1m^[[33m^[[44m Open File...                           ^[[0m^[[39;49m
^[[1m^[[33m^[[41m Open Directory...              C-x d   ^[[0m^[[39;49m

^[[?12l^[[?25h^[[?12;25h^[[?25l^[[24;7H directory, to operate on its files^[[K^[[6;1H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[4d^[[1m^[[33m^[[44m Open Directory...              C-x d   ^[[0m^[[39;49m
^[[1m^[[33m^[[41m Insert File...                 C-x i   ^[[0m^[[39;49m
^[[?12l^[[?25h^[[?12;25h^[[?25l^[[24dInsert another file into current buffer^[[K^[[6;1H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[A^[[1m^[[33m^[[44m Insert File...                 C-x i   ^[[0m^[[39;49m
^[[1m^[[33m^[[41m Close                                  ^[[0m^[[39;49m\r^[[?12l^[[?25h^[[?12;25h^[[?25l^[[24dDiscard (kill)^[[10P^[[6;1H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[1m^[[33m^[[44m Close                                  ^[[0m^[[39;49m
^[[1m^[[33m^[[41m --                                     ^[[0m^[[39;49m\r^[[A^[[?12l^[[?25h^[[?12;25h^[[?25l^[[24d^[[K^[[6d^[[?12l^[[?25h^[[?12;25h^[[?25l
^[[1m^[[33m^[[44m --                                     ^[[0m^[[39;49m
^[[37m^[[41m Save                           C-x C-s ^[[39;49m^[[6;1H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[24dSave current buffer to its file^[[6;1H^[[?12l^[[?25h^[[?12;25h^[[?25l

^[[37m^[[44m Save                           C-x C-s ^[[39;49m
^[[1m^[[33m^[[41m Save As...                     C-x C-w ^[[0m^[[39;49m^[[6;1H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[24dWrite current buffer to another file^[[6;1H^[[?12l^[[?25h^[[?12;25h^[[?25l


^[[1m^[[33m^[[44m Save As...                     C-x C-w ^[[0m^[[39;49m
^[[1m^[[33m^[[41m Revert Buffer                          ^[[0m^[[39;49m^[[6;1H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[24dRe-read current buffer from its^[[6;1H^[[?12l^[[?25h^[[?12;25h^[[?25l


^[[1m^[[33m^[[41m Save As...                     C-x C-w ^[[0m^[[39;49m
^[[1m^[[33m^[[44m Revert Buffer                          ^[[0m^[[39;49m^[[6;1H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[24dWrite current buffer to another^[[6;1H^[[?12l^[[?25h^[[?12;25h^[[?25l

^[[37m^[[41m Save                           C-x C-s ^[[39;49m
^[[1m^[[33m^[[44m Save As...                     C-x C-w ^[[0m^[[39;49m^[[6;1H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[24dSave current buffer to its file^[[K^[[6;1H^[[?12l^[[?25h^[[?12;25h^[[?25l
^[[1m^[[33m^[[41m --                                     ^[[0m^[[39;49m
^[[37m^[[44m Save                           C-x C-s ^[[39;49m^[[6;1H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[24d^[[K^[[6d^[[?12l^[[?25h^[[?12;25h^[[?25l^[[1m^[[33m^[[41m Close                                  ^[[0m^[[39;49m
^[[1m^[[33m^[[44m --                                     ^[[0m^[[39;49m\r^[[A^[[?12l^[[?25h^[[?12;25h^[[?25l^[[24dDiscard (kill) current buffer^[[6;1H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[A^[[1m^[[33m^[[41m Insert File...                 C-x i   ^[[0m^[[39;49m
^[[1m^[[33m^[[44m Close                                  ^[[0m^[[39;49m\r^[[?12l^[[?25h^[[?12;25h^[[?25l^[[24dInsert another^[[10@ file into^[[6;1H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[4d^[[1m^[[33m^[[41m Open Directory...              C-x d   ^[[0m^[[39;49m
^[[1m^[[33m^[[44m Insert File...                 C-x i   ^[[0m^[[39;49m
^[[?12l^[[?25h^[[?12;25h^[[?25l^[[24dRead a directory, to operate on its files^[[6;1H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[3d^[[1m^[[33m^[[41m Open File...                           ^[[0m^[[39;49m
^[[1m^[[33m^[[44m Open Directory...              C-x d   ^[[0m^[[39;49m

^[[?12l^[[?25h^[[?12;25h^[[?25l^[[24;7Hn existing file into an Emacs buffer^[[6;1H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[2d^[[1m^[[33m^[[41m Visit New File...              C-x C-f ^[[0m^[[39;49m
^[[1m^[[33m^[[44m Open File...                           ^[[0m^[[39;49m


^[[?12l^[[?25h^[[?12;25h^[[?25l^[[24dSpecify a new file's name, to edit the file^[[6;1H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[2d^[[1m^[[33m^[[44m --                                     ^[[0m^[[39;49m
^[[37m^[[44m Save                           C-x C-s ^[[39;49m
^[[C^[[1m^[[33m^[[44mSave As...                     C-x C-w^[[0m^[[39;49m
^[[C^[[1m^[[33m^[[44mRevert Buffer                       ^[[0m^[[39;49m
^[[C^[[1m^[[33m^[[44mRecover Crashed Session^[[0m^[[39;49m

^[[1m^[[33m^[[44m Print Buffer                           ^[[0m^[[39;49m
^[[37m^[[44m Print Region                           ^[[39;49m
^[[C^[[1m^[[33m^[[44mPostScript Print Buffer^[[0m^[[39;49m
^[[37m^[[44m PostScript Print Region                ^[[39;49m
^[[C^[[1m^[[33m^[[44mPostScript Print Buffer (B+W)^[[0m^[[39;49m
^[[37m^[[44m PostScript Print Region (B+W)          ^[[39;49m
^[[1m^[[33m^[[44m --                                     ^[[0m^[[39;49m
^[[C^[[1m^[[33m^[[44mNew Window Below               C-x 2^[[0m^[[39;49m
^[[1m^[[33m^[[44m New Window on Right            C-x 3   ^[[0m^[[39;49m
^[[37m^[[44m Remove Other Windows           C-x 1   ^[[39;49m
^[[1m^[[33m^[[44m --                                     ^[[0m^[[39;49m
^[[C^[[1m^[[33m^[[44mNew Frame                      C-x 5 2^[[0m^[[39;49m^[[20;6H^[[1m^[[33m^[[44mFrame on Display...             ^[[0m^[[39;49m
^[[37m^[[44m Delete Frame                   C-x 5 0 ^[[39;49m
^[[1m^[[33m^[[44m --                                     ^[[0m^[[39;49m
^[[1m^[[33m^[[41m Quit                           C-x C-c ^[[0m^[[39;49m^[[6;1H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[24;2Have unsaved buffers, then exit^[[K^[[6;1H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[22d^[[1m^[[33m^[[41m --                                     ^[[0m^[[39;49m
^[[1m^[[33m^[[44m Quit                           C-x C-c ^[[0m^[[39;49m^[[6;1H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[24d^[[K^[[6d^[[?12l^[[?25h^[[?12;25h^[[?25l^[[21d^[[37m^[[41m Delete Frame                   C-x 5 0 ^[[39;49m
^[[1m^[[33m^[[44m --                                     ^[[0m^[[39;49m^[[6;1H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[24dDelete currently selected frame^[[6;1H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[20d^[[1m^[[33m^[[41m New Frame on Display...                ^[[0m^[[39;49m
^[[37m^[[44m Delete Frame                   C-x 5 0 ^[[39;49m^[[6;1H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[24dOpen a new frame on another display^[[6;1H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[19d^[[1m^[[33m^[[41m New Frame                      C-x 5 2 ^[[0m^[[39;49m
^[[1m^[[33m^[[44m New Frame on Display...                ^[[0m^[[39;49m^[[6;1H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[24;17H^[[K^[[6;1H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[18d^[[1m^[[33m^[[41m --                                     ^[[0m^[[39;49m
^[[1m^[[33m^[[44m New Frame                      C-x 5 2 ^[[0m^[[39;49m^[[6;1H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[24d^[[K^[[6d^[[?12l^[[?25h^[[?12;25h^[[?25l^[[17d^[[37m^[[41m Remove Other Windows           C-x 1   ^[[39;49m
^[[1m^[[33m^[[44m --                                     ^[[0m^[[39;49m^[[6;1H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[24dMake selected window fill whole frame^[[6;1H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[16d^[[1m^[[33m^[[41m New Window on Right            C-x 3   ^[[0m^[[39;49m
^[[37m^[[44m Remove Other Windows           C-x 1   ^[[39;49m^[[6;1H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[24;6Hnew window on right of selected one^[[6;1H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[15d^[[1m^[[33m^[[41m New Window Below               C-x 2   ^[[0m^[[39;49m
^[[1m^[[33m^[[44m New Window on Right            C-x 3   ^[[0m^[[39;49m^[[6;1H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[24;17Hbelow^[[6P^[[6;1H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[14d^[[1m^[[33m^[[41m --                                     ^[[0m^[[39;49m
^[[1m^[[33m^[[44m New Window Below               C-x 2   ^[[0m^[[39;49m^[[6;1H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[24d^[[K^[[6d^[[?12l^[[?25h^[[?12;25h^[[?25l^[[13d^[[37m^[[41m PostScript Print Region (B+W)          ^[[39;49m
^[[1m^[[33m^[[44m --                                     ^[[0m^[[39;49m^[[6;1H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[24dPretty-print marked region in black and white to PostScript printer^[[6;1H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[12d^[[1m^[[33m^[[41m PostScript Print Buffer (B+W)          ^[[0m^[[39;49m
^[[37m^[[44m PostScript Print Region (B+W)          ^[[39;49m^[[6;1H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[24;14Hcurrent buffe^[[1@r^[[6;1H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[11d^[[37m^[[41m PostScript Print Region                ^[[39;49m
^[[1m^[[33m^[[44m PostScript Print Buffer (B+W)          ^[[0m^[[39;49m^[[6;1H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[24;14Hmarked region^[[20P^[[6;1H^[[?12l^[[?25h^[[?12;25h^[[?25l



^[[1m^[[33m^[[41m PostScript Print Buffer                ^[[0m^[[39;49m
^[[37m^[[44m PostScript Print Region                ^[[39;49m^[[6;1H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[24;14Hcurrent buffe^[[1@r^[[6;1H^[[?12l^[[?25h^[[?12;25h^[[?25l



^[[1m^[[33m^[[44m PostScript Print Buffer                ^[[0m^[[39;49m
^[[37m^[[41m PostScript Print Region                ^[[39;49m^[[6;1H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[24;14Hmarked region^[[1P^[[6;1H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[11d^[[37m^[[44m PostScript Print Region                ^[[39;49m
^[[1m^[[33m^[[41m PostScript Print Buffer (B+W)          ^[[0m^[[39;49m^[[6;1H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[24;14Hcurrent buffe^[[20@r in black and white^[[6;1H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[12d^[[1m^[[33m^[[44m PostScript Print Buffer (B+W)          ^[[0m^[[39;49m
^[[37m^[[41m PostScript Print Region (B+W)          ^[[39;49m^[[6;1H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[24;14Hmarked region^[[1P^[[6;1H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[13d^[[37m^[[44m PostScript Print Region (B+W)          ^[[39;49m
^[[1m^[[33m^[[41m --                                     ^[[0m^[[39;49m^[[6;1H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[24d^[[K^[[6d^[[?12l^[[?25h^[[?12;25h^[[?25l^[[14d^[[1m^[[33m^[[44m --                                     ^[[0m^[[39;49m
^[[1m^[[33m^[[41m New Window Below               C-x 2   ^[[0m^[[39;49m^[[6;1H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[24dMake new window below selected one^[[6;1H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[15d^[[1m^[[33m^[[44m New Window Below               C-x 2   ^[[0m^[[39;49m
^[[1m^[[33m^[[41m New Window on Right            C-x 3   ^[[0m^[[39;49m^[[6;1H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[24;17Hon ri^[[6@ght of^[[6;1H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[16d^[[1m^[[33m^[[44m New Window on Right            C-x 3   ^[[0m^[[39;49m
^[[37m^[[41m Remove Other Windows           C-x 1   ^[[39;49m^[[6;1H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[24;6Hselected window fill whole frame^[[K^[[6;1H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[17d^[[37m^[[44m Remove Other Windows           C-x 1   ^[[39;49m
^[[1m^[[33m^[[41m --                                     ^[[0m^[[39;49m^[[6;1H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[24d^[[K^[[6d^[[?12l^[[?25h^[[?12;25h^[[?25l^[[18d^[[1m^[[33m^[[44m --                                     ^[[0m^[[39;49m
^[[1m^[[33m^[[41m New Frame                      C-x 5 2 ^[[0m^[[39;49m^[[6;1H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[24dOpen a new frame^[[6;1H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[19d^[[1m^[[33m^[[44m New Frame                      C-x 5 2 ^[[0m^[[39;49m
^[[1m^[[33m^[[41m New Frame on Display...                ^[[0m^[[39;49m^[[6;1H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[24;18Hon another display^[[6;1H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[20d^[[1m^[[33m^[[44m New Frame on Display...                ^[[0m^[[39;49m
^[[37m^[[41m Delete Frame                   C-x 5 0 ^[[39;49m^[[6;1H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[24dDelete currently selected frame^[[K^[[6;1H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[21d^[[37m^[[44m Delete Frame                   C-x 5 0 ^[[39;49m
^[[1m^[[33m^[[41m --                                     ^[[0m^[[39;49m^[[6;1H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[24d^[[K^[[6d^[[?12l^[[?25h^[[?12;25h^[[?25l^[[22d^[[1m^[[33m^[[44m --                                     ^[[0m^[[39;49m
^[[1m^[[33m^[[41m Quit                           C-x C-c ^[[0m^[[39;49m^[[6;1H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[24dSave unsaved buffers, then exit^[[6;1H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[2d^[[1m^[[33m^[[41m Visit New File...              C-x C-f ^[[0m^[[39;49m
^[[1m^[[33m^[[44m Open File...                           ^[[0m^[[39;49m
^[[C^[[1m^[[33m^[[44mOpen Directory...              C-x d  ^[[0m^[[39;49m
^[[C^[[1m^[[33m^[[44mInsert File...                 C-x i^[[0m^[[39;49m
^[[C^[[1m^[[33m^[[44mClose                  ^[[0m^[[39;49m

^[[37m^[[44m Save                           C-x C-s ^[[39;49m
^[[1m^[[33m^[[44m Save As...                     C-x C-w ^[[0m^[[39;49m
^[[C^[[1m^[[33m^[[44mRevert Buffer          ^[[0m^[[39;49m
^[[1m^[[33m^[[44m Recover Crashed Session                ^[[0m^[[39;49m
^[[C^[[1m^[[33m^[[44m--                           ^[[0m^[[39;49m
^[[1m^[[33m^[[44m Print Buffer                           ^[[0m^[[39;49m
^[[37m^[[44m Print Region                           ^[[39;49m
^[[C^[[1m^[[33m^[[44mPostScript Print Buffer             ^[[0m^[[39;49m
^[[37m^[[44m PostScript Print Region                ^[[39;49m
^[[1m^[[33m^[[44m PostScript Print Buffer (B+W)          ^[[0m^[[39;49m
^[[37m^[[44m PostScript Print Region (B+W)          ^[[39;49m
^[[C^[[1m^[[33m^[[44m--                                    ^[[0m^[[39;49m^[[20;6H^[[1m^[[33m^[[44mWindow Below               C-x 2^[[0m^[[39;49m
^[[1m^[[33m^[[44m New Window on Right            C-x 3   ^[[0m^[[39;49m
^[[37m^[[44m Remove Other Windows           C-x 1   ^[[39;49m
^[[1m^[[33m^[[44m --                                     ^[[0m^[[39;49m^[[6;1H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[24;2Hpecify a new file's name, to edit the file^[[6;1H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[2d^[[1m^[[33m^[[44m Visit New File...              C-x C-f ^[[0m^[[39;49m
^[[1m^[[33m^[[41m Open File...                           ^[[0m^[[39;49m


^[[?12l^[[?25h^[[?12;25h^[[?25l^[[24dRead an existing file into an Emacs buffer^[[K^[[6;1H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[3d^[[1m^[[33m^[[44m Open File...                           ^[[0m^[[39;49m
^[[1m^[[33m^[[41m Open Directory...              C-x d   ^[[0m^[[39;49m

^[[?12l^[[?25h^[[?12;25h^[[?25l^[[24;7H directory, to operate on its files^[[K^[[6;1H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[4d^[[1m^[[33m^[[44m Open Directory...              C-x d   ^[[0m^[[39;49m
^[[1m^[[33m^[[41m Insert File...                 C-x i   ^[[0m^[[39;49m
^[[?12l^[[?25h^[[?12;25h^[[?25l^[[24dInsert another file into current buffer^[[K^[[6;1H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[A^[[1m^[[33m^[[44m Insert File...                 C-x i   ^[[0m^[[39;49m
^[[1m^[[33m^[[41m Close                                  ^[[0m^[[39;49m\r^[[?12l^[[?25h^[[?12;25h^[[?25l^[[24dDiscard (kill)^[[10P^[[6;1H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[1m^[[33m^[[44m Close                                  ^[[0m^[[39;49m
^[[1m^[[33m^[[41m --                                     ^[[0m^[[39;49m\r^[[A^[[?12l^[[?25h^[[?12;25h^[[?25l^[[24d^[[K^[[6d^[[?12l^[[?25h^[[?12;25h^[[?25l
^[[1m^[[33m^[[44m --                                     ^[[0m^[[39;49m
^[[37m^[[41m Save                           C-x C-s ^[[39;49m^[[6;1H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[24dSave current buffer to its file^[[6;1H^[[?12l^[[?25h^[[?12;25h^[[?25l

^[[37m^[[44m Save                           C-x C-s ^[[39;49m
^[[1m^[[33m^[[41m Save As...                     C-x C-w ^[[0m^[[39;49m^[[6;1H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[24dWrite current buffer to another file^[[6;1H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[24d^[[K^[[6d^[[?12l^[[?25h^[[?12;25h^[[H^[[?25l^[[7mFile Edi^[[0m^[[39;49m^[[27m
^[[31m;; This buffer is for notes you don't wa^[[39;49m
^[[31m;; If you want to create a file, visit t^[[39;49m
^[[31m;; then enter the text in that file's ow^[[39;49m
^[[K
^[[K
^[[K
^[[K
^[[K
^[[K
^[[K
^[[K
^[[K
^[[K
^[[K
^[[K
^[[K
^[[K
^[[K
^[[K
^[[K
^[[K
^[[7m-UUU:----F1  ^[[0m^[[39;49m^[[27m^[[7m^[[1m*scratch*   ^[[0m^[[39;49m^[[27m^[[7m   All L5     (^[[0m^[[39;49m^[[27m^[[6;1H^[[?12l^[[?25h^[[?12;25h

^ permalink raw reply	[flat|nested] 76+ messages in thread

* Re: Menus with more items than the TTY can display
  2013-10-18  9:50                                     ` Eli Zaretskii
@ 2013-10-18 14:36                                       ` martin rudalics
  0 siblings, 0 replies; 76+ messages in thread
From: martin rudalics @ 2013-10-18 14:36 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: emacs-devel

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

 > You mean, the menu is displayed correctly, but moving up or down the
 > menu does not restore the original blue background of the
 > previously-selected menu item?  Can you show snapshots of this?

Hopefully snapshots <2> and <3> of my previous mail demonstrate it.

 >> When I disable the help-echo and set `max-mini-window-height' to 1, the
 >> number of lines that get wrongly highlighted also increases and, in
 >> addition, the echo area occasionally grows by a couple of lines but no
 >> text appears in it.  If the minibuffer window _is_ resized, then quitting
 >> the menu via F10 makes the right half of the frame appear empty.
 >>
 >> The artefacts mentioned earlier do not show up in either of these cases.
 >
 > Please post the termscript files for both of these situations, as well
 > as for the "normal" one, where the help-echo is enabled

I sent this earlier as ts.txt.

 > and neither
 > resize-mini-windows not max-mini-window-height are customized from
 > their defaults.

I attach three files:

- ts-no-help-echo.txt is without help echo and without customizations

- ts-no-help-echo-mmwh-1.txt is without help echo and
   `max-mini-window-height' set to 1 (the echo area doesn't resize here)

- ts-no-help-echo-rmw-nil.txt is without help echo and
   `resize-mini-windows' set to nil

martin

[-- Attachment #2: ts-no-help-echo-rmw-nil.txt --]
[-- Type: text/plain, Size: 16539 bytes --]

^[[K^[[1;33H^[[?25l^[[7mLisp-Interaction Help^[[0m^[[39;49m^[[27m^[[6;31H^[[?12l^[[?25h^[[?12;25h^[[H^[[?25l^[[1m^[[33m^[[41m File > ^[[0m^[[39;49m^[[6;31H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[H
^[[1m^[[33m^[[41m Visit New File...              C-x C-f ^[[0m^[[39;49m
^[[1m^[[33m^[[44m Open File...                           ^[[0m^[[39;49m
^[[1m^[[33m^[[44m Open Directory...              C-x d   ^[[0m^[[39;49m
^[[1m^[[33m^[[44m Insert File...                 C-x i   ^[[0m^[[39;49m
^[[1m^[[33m^[[44m Close                                  ^[[0m^[[39;49m
^[[1m^[[33m^[[44m --                                     ^[[0m^[[39;49m
^[[37m^[[44m Save                           C-x C-s ^[[39;49m
^[[1m^[[33m^[[44m Save As...                     C-x C-w ^[[0m^[[39;49m
^[[1m^[[33m^[[44m Revert Buffer                          ^[[0m^[[39;49m
^[[1m^[[33m^[[44m Recover Crashed Session                ^[[0m^[[39;49m
^[[1m^[[33m^[[44m --                                     ^[[0m^[[39;49m
^[[1m^[[33m^[[44m Print Buffer                           ^[[0m^[[39;49m
^[[37m^[[44m Print Region                           ^[[39;49m
^[[1m^[[33m^[[44m PostScript Print Buffer                ^[[0m^[[39;49m
^[[37m^[[44m PostScript Print Region                ^[[39;49m
^[[1m^[[33m^[[44m PostScript Print Buffer (B+W)          ^[[0m^[[39;49m
^[[37m^[[44m PostScript Print Region (B+W)          ^[[39;49m
^[[1m^[[33m^[[44m --                                     ^[[0m^[[39;49m
^[[1m^[[33m^[[44m New Window Below               C-x 2   ^[[0m^[[39;49m
^[[1m^[[33m^[[44m New Window on Right            C-x 3   ^[[0m^[[39;49m
^[[37m^[[44m Remove Other Windows           C-x 1   ^[[39;49m
^[[1m^[[33m^[[44m --                                     ^[[0m^[[39;49m^[[6;31H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[H
^[[1m^[[33m^[[44m Visit New File...              C-x C-f ^[[0m^[[39;49m
^[[1m^[[33m^[[41m Open File...                           ^[[0m^[[39;49m^[[6;31H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[H

^[[1m^[[33m^[[44m Open File...                           ^[[0m^[[39;49m
^[[1m^[[33m^[[41m Open Directory...              C-x d   ^[[0m^[[39;49m^[[6;31H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[4;1H^[[1m^[[33m^[[44m Open Directory...              C-x d   ^[[0m^[[39;49m
^[[1m^[[33m^[[41m Insert File...                 C-x i   ^[[0m^[[39;49m^[[6;31H^[[?12l^[[?25h^[[?12;25h^[[?25l\r^[[A^[[1m^[[33m^[[44m Insert File...                 C-x i   ^[[0m^[[39;49m
^[[1m^[[33m^[[41m Close                                  ^[[0m^[[39;49m^[[6;31H^[[?12l^[[?25h^[[?12;25h^[[?25l\r^[[1m^[[33m^[[44m Close                                  ^[[0m^[[39;49m
^[[1m^[[33m^[[41m --                                     ^[[0m^[[39;49m^[[6;31H^[[?12l^[[?25h^[[?12;25h^[[?25l
^[[1m^[[33m^[[44m --                                     ^[[0m^[[39;49m
^[[37m^[[41m Save                           C-x C-s ^[[39;49m^[[6;31H^[[?12l^[[?25h^[[?12;25h^[[?25l

^[[37m^[[44m Save                           C-x C-s ^[[39;49m
^[[1m^[[33m^[[41m Save As...                     C-x C-w ^[[0m^[[39;49m^[[6;31H^[[?12l^[[?25h^[[?12;25h^[[?25l


^[[1m^[[33m^[[44m Save As...                     C-x C-w ^[[0m^[[39;49m
^[[1m^[[33m^[[41m Revert Buffer                          ^[[0m^[[39;49m^[[6;31H^[[?12l^[[?25h^[[?12;25h^[[?25l



^[[1m^[[33m^[[44m Revert Buffer                          ^[[0m^[[39;49m
^[[1m^[[33m^[[41m Recover Crashed Session                ^[[0m^[[39;49m^[[6;31H^[[?12l^[[?25h^[[?12;25h^[[?25l




^[[1m^[[33m^[[44m Recover Crashed Session                ^[[0m^[[39;49m
^[[1m^[[33m^[[41m --                                     ^[[0m^[[39;49m^[[6;31H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[12;1H^[[1m^[[33m^[[44m --                                     ^[[0m^[[39;49m
^[[1m^[[33m^[[41m Print Buffer                           ^[[0m^[[39;49m^[[6;31H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[13;1H^[[1m^[[33m^[[44m Print Buffer                           ^[[0m^[[39;49m
^[[37m^[[41m Print Region                           ^[[39;49m^[[6;31H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[14;1H^[[37m^[[44m Print Region                           ^[[39;49m
^[[1m^[[33m^[[41m PostScript Print Buffer                ^[[0m^[[39;49m^[[6;31H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[15;1H^[[1m^[[33m^[[44m PostScript Print Buffer                ^[[0m^[[39;49m
^[[37m^[[41m PostScript Print Region                ^[[39;49m^[[6;31H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[16;1H^[[37m^[[44m PostScript Print Region                ^[[39;49m
^[[1m^[[33m^[[41m PostScript Print Buffer (B+W)          ^[[0m^[[39;49m^[[6;31H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[17;1H^[[1m^[[33m^[[44m PostScript Print Buffer (B+W)          ^[[0m^[[39;49m
^[[37m^[[41m PostScript Print Region (B+W)          ^[[39;49m^[[6;31H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[18;1H^[[37m^[[44m PostScript Print Region (B+W)          ^[[39;49m
^[[1m^[[33m^[[41m --                                     ^[[0m^[[39;49m^[[6;31H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[19;1H^[[1m^[[33m^[[44m --                                     ^[[0m^[[39;49m
^[[1m^[[33m^[[41m New Window Below               C-x 2   ^[[0m^[[39;49m^[[6;31H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[20;1H^[[1m^[[33m^[[44m New Window Below               C-x 2   ^[[0m^[[39;49m
^[[1m^[[33m^[[41m New Window on Right            C-x 3   ^[[0m^[[39;49m^[[6;31H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[21;1H^[[1m^[[33m^[[44m New Window on Right            C-x 3   ^[[0m^[[39;49m
^[[37m^[[41m Remove Other Windows           C-x 1   ^[[39;49m^[[6;31H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[22;1H^[[37m^[[44m Remove Other Windows           C-x 1   ^[[39;49m
^[[1m^[[33m^[[41m --                                     ^[[0m^[[39;49m^[[6;31H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[2;2H^[[1m^[[33m^[[44mOpen File...                          ^[[0m^[[39;49m^[[3;7H^[[1m^[[33m^[[44mDirectory...              C-x d^[[0m^[[39;49m
^[[C^[[1m^[[33m^[[44mInsert File...                 C-x i^[[0m^[[39;49m
^[[C^[[1m^[[33m^[[44mClose                               ^[[0m^[[39;49m
^[[C^[[1m^[[33m^[[44m--   ^[[0m^[[39;49m
^[[37m^[[44m Save                           C-x C-s ^[[39;49m
^[[1m^[[33m^[[44m Save As...                     C-x C-w ^[[0m^[[39;49m
^[[C^[[1m^[[33m^[[44mRevert Buffer                         ^[[0m^[[39;49m^[[10;4H^[[1m^[[33m^[[44mcover Crashed Session^[[0m^[[39;49m
^[[C^[[1m^[[33m^[[44m--                     ^[[0m^[[39;49m
^[[C^[[1m^[[33m^[[44mPrint Buffer^[[0m^[[39;49m
^[[37m^[[44m Print Region                           ^[[39;49m
^[[1m^[[33m^[[44m PostScript Print Buffer                ^[[0m^[[39;49m
^[[37m^[[44m PostScript Print Region                ^[[39;49m
^[[1m^[[33m^[[44m PostScript Print Buffer (B+W)          ^[[0m^[[39;49m
^[[37m^[[44m PostScript Print Region (B+W)          ^[[39;49m
^[[1m^[[33m^[[44m --                                     ^[[0m^[[39;49m
^[[C^[[1m^[[33m^[[44mNew Window Below               C-x 2^[[0m^[[39;49m^[[20;13H^[[1m^[[33m^[[44mon Right            C-x 3^[[0m^[[39;49m
^[[37m^[[44m Remove Other Windows           C-x 1   ^[[39;49m
^[[1m^[[33m^[[44m --                                     ^[[0m^[[39;49m
^[[C^[[1m^[[33m^[[41mNew Frame                      C-x 5 2^[[0m^[[39;49m^[[6;31H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[2;7H^[[1m^[[33m^[[44mDirectory...              C-x d^[[0m^[[39;49m
^[[C^[[1m^[[33m^[[44mInsert File...                 C-x i^[[0m^[[39;49m
^[[C^[[1m^[[33m^[[44mClose                               ^[[0m^[[39;49m
^[[C^[[1m^[[33m^[[44m--   ^[[0m^[[39;49m
^[[37m^[[44m Save                           C-x C-s ^[[39;49m
^[[1m^[[33m^[[44m Save As...                     C-x C-w ^[[0m^[[39;49m
^[[C^[[1m^[[33m^[[44mRevert Buffer                         ^[[0m^[[39;49m^[[9;4H^[[1m^[[33m^[[44mcover Crashed Session^[[0m^[[39;49m
^[[C^[[1m^[[33m^[[44m--                     ^[[0m^[[39;49m
^[[C^[[1m^[[33m^[[44mPrint Buffer^[[0m^[[39;49m
^[[37m^[[44m Print Region                           ^[[39;49m
^[[1m^[[33m^[[44m PostScript Print Buffer                ^[[0m^[[39;49m
^[[37m^[[44m PostScript Print Region                ^[[39;49m
^[[1m^[[33m^[[44m PostScript Print Buffer (B+W)          ^[[0m^[[39;49m
^[[37m^[[44m PostScript Print Region (B+W)          ^[[39;49m
^[[1m^[[33m^[[44m --                                     ^[[0m^[[39;49m
^[[C^[[1m^[[33m^[[44mNew Window Below               C-x 2^[[0m^[[39;49m^[[19;13H^[[1m^[[33m^[[44mon Right            C-x 3^[[0m^[[39;49m
^[[37m^[[44m Remove Other Windows           C-x 1   ^[[39;49m
^[[1m^[[33m^[[44m --                                     ^[[0m^[[39;49m
^[[C^[[1m^[[33m^[[44mNew Frame                      C-x 5 2^[[0m^[[39;49m^[[23;12H^[[1m^[[33m^[[41mon Display...               ^[[0m^[[39;49m^[[6;31H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[2;2H^[[1m^[[33m^[[44mInsert File...                 C-x i^[[0m^[[39;49m
^[[C^[[1m^[[33m^[[44mClose                               ^[[0m^[[39;49m
^[[C^[[1m^[[33m^[[44m--   ^[[0m^[[39;49m
^[[37m^[[44m Save                           C-x C-s ^[[39;49m
^[[1m^[[33m^[[44m Save As...                     C-x C-w ^[[0m^[[39;49m
^[[C^[[1m^[[33m^[[44mRevert Buffer                         ^[[0m^[[39;49m^[[8;4H^[[1m^[[33m^[[44mcover Crashed Session^[[0m^[[39;49m
^[[C^[[1m^[[33m^[[44m--                     ^[[0m^[[39;49m
^[[C^[[1m^[[33m^[[44mPrint Buffer^[[0m^[[39;49m
^[[37m^[[44m Print Region                           ^[[39;49m
^[[1m^[[33m^[[44m PostScript Print Buffer                ^[[0m^[[39;49m
^[[37m^[[44m PostScript Print Region                ^[[39;49m
^[[1m^[[33m^[[44m PostScript Print Buffer (B+W)          ^[[0m^[[39;49m
^[[37m^[[44m PostScript Print Region (B+W)          ^[[39;49m
^[[1m^[[33m^[[44m --                                     ^[[0m^[[39;49m
^[[C^[[1m^[[33m^[[44mNew Window Below               C-x 2^[[0m^[[39;49m^[[18;13H^[[1m^[[33m^[[44mon Right            C-x 3^[[0m^[[39;49m
^[[37m^[[44m Remove Other Windows           C-x 1   ^[[39;49m
^[[1m^[[33m^[[44m --                                     ^[[0m^[[39;49m
^[[C^[[1m^[[33m^[[44mNew Frame                      C-x 5 2^[[0m^[[39;49m^[[22;12H^[[1m^[[33m^[[44mon Display...               ^[[0m^[[39;49m
^[[37m^[[41m Delete Frame                   C-x 5 0 ^[[39;49m^[[6;31H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[2;2H^[[1m^[[33m^[[44mClose                               ^[[0m^[[39;49m
^[[C^[[1m^[[33m^[[44m--   ^[[0m^[[39;49m
^[[37m^[[44m Save                           C-x C-s ^[[39;49m
^[[1m^[[33m^[[44m Save As...                     C-x C-w ^[[0m^[[39;49m
^[[C^[[1m^[[33m^[[44mRevert Buffer                         ^[[0m^[[39;49m^[[7;4H^[[1m^[[33m^[[44mcover Crashed Session^[[0m^[[39;49m
^[[C^[[1m^[[33m^[[44m--                     ^[[0m^[[39;49m
^[[C^[[1m^[[33m^[[44mPrint Buffer^[[0m^[[39;49m
^[[37m^[[44m Print Region                           ^[[39;49m
^[[1m^[[33m^[[44m PostScript Print Buffer                ^[[0m^[[39;49m
^[[37m^[[44m PostScript Print Region                ^[[39;49m
^[[1m^[[33m^[[44m PostScript Print Buffer (B+W)          ^[[0m^[[39;49m
^[[37m^[[44m PostScript Print Region (B+W)          ^[[39;49m
^[[1m^[[33m^[[44m --                                     ^[[0m^[[39;49m
^[[C^[[1m^[[33m^[[44mNew Window Below               C-x 2^[[0m^[[39;49m^[[17;13H^[[1m^[[33m^[[44mon Right            C-x 3^[[0m^[[39;49m
^[[37m^[[44m Remove Other Windows           C-x 1   ^[[39;49m
^[[1m^[[33m^[[44m --                                     ^[[0m^[[39;49m
^[[C^[[1m^[[33m^[[44mNew Frame                      C-x 5 2^[[0m^[[39;49m^[[21;12H^[[1m^[[33m^[[44mon Display...               ^[[0m^[[39;49m
^[[37m^[[44m Delete Frame                   C-x 5 0 ^[[39;49m
^[[1m^[[33m^[[41m --                                     ^[[0m^[[39;49m^[[6;31H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[2;2H^[[1m^[[33m^[[44m--   ^[[0m^[[39;49m
^[[37m^[[44m Save                           C-x C-s ^[[39;49m
^[[1m^[[33m^[[44m Save As...                     C-x C-w ^[[0m^[[39;49m
^[[C^[[1m^[[33m^[[44mRevert Buffer                         ^[[0m^[[39;49m^[[6;4H^[[1m^[[33m^[[44mcover Crashed Session^[[0m^[[39;49m
^[[C^[[1m^[[33m^[[44m--                     ^[[0m^[[39;49m
^[[C^[[1m^[[33m^[[44mPrint Buffer^[[0m^[[39;49m
^[[37m^[[44m Print Region                           ^[[39;49m
^[[1m^[[33m^[[44m PostScript Print Buffer                ^[[0m^[[39;49m
^[[37m^[[44m PostScript Print Region                ^[[39;49m
^[[1m^[[33m^[[44m PostScript Print Buffer (B+W)          ^[[0m^[[39;49m
^[[37m^[[44m PostScript Print Region (B+W)          ^[[39;49m
^[[1m^[[33m^[[44m --                                     ^[[0m^[[39;49m
^[[C^[[1m^[[33m^[[44mNew Window Below               C-x 2^[[0m^[[39;49m^[[16;13H^[[1m^[[33m^[[44mon Right            C-x 3^[[0m^[[39;49m
^[[37m^[[44m Remove Other Windows           C-x 1   ^[[39;49m
^[[1m^[[33m^[[44m --                                     ^[[0m^[[39;49m
^[[C^[[1m^[[33m^[[44mNew Frame                      C-x 5 2^[[0m^[[39;49m^[[20;12H^[[1m^[[33m^[[44mon Display...               ^[[0m^[[39;49m
^[[37m^[[44m Delete Frame                   C-x 5 0 ^[[39;49m
^[[1m^[[33m^[[44m --                                     ^[[0m^[[39;49m
^[[C^[[1m^[[33m^[[41mQuit                           C-x C-c^[[0m^[[39;49m^[[6;31H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[H
^[[1m^[[33m^[[41m Visit New File...              C-x C-f ^[[0m^[[39;49m
^[[1m^[[33m^[[44m Open File...                           ^[[0m^[[39;49m
^[[C^[[1m^[[33m^[[44mOpen Directory...              C-x d  ^[[0m^[[39;49m
^[[C^[[1m^[[33m^[[44mInsert File...                 C-x i^[[0m^[[39;49m
^[[C^[[1m^[[33m^[[44mClose                  ^[[0m^[[39;49m

^[[37m^[[44m Save                           C-x C-s ^[[39;49m
^[[1m^[[33m^[[44m Save As...                     C-x C-w ^[[0m^[[39;49m
^[[C^[[1m^[[33m^[[44mRevert Buffer          ^[[0m^[[39;49m
^[[1m^[[33m^[[44m Recover Crashed Session                ^[[0m^[[39;49m
^[[C^[[1m^[[33m^[[44m--                           ^[[0m^[[39;49m
^[[1m^[[33m^[[44m Print Buffer                           ^[[0m^[[39;49m
^[[37m^[[44m Print Region                           ^[[39;49m
^[[C^[[1m^[[33m^[[44mPostScript Print Buffer             ^[[0m^[[39;49m
^[[37m^[[44m PostScript Print Region                ^[[39;49m
^[[1m^[[33m^[[44m PostScript Print Buffer (B+W)          ^[[0m^[[39;49m
^[[37m^[[44m PostScript Print Region (B+W)          ^[[39;49m
^[[C^[[1m^[[33m^[[44m--                                    ^[[0m^[[39;49m^[[20;6H^[[1m^[[33m^[[44mWindow Below               C-x 2^[[0m^[[39;49m
^[[1m^[[33m^[[44m New Window on Right            C-x 3   ^[[0m^[[39;49m
^[[37m^[[44m Remove Other Windows           C-x 1   ^[[39;49m
^[[1m^[[33m^[[44m --                                     ^[[0m^[[39;49m^[[6;31H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[H
^[[1m^[[33m^[[44m Visit New File...              C-x C-f ^[[0m^[[39;49m
^[[1m^[[33m^[[41m Open File...                           ^[[0m^[[39;49m^[[6;31H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[H

^[[1m^[[33m^[[44m Open File...                           ^[[0m^[[39;49m
^[[1m^[[33m^[[41m Open Directory...              C-x d   ^[[0m^[[39;49m^[[6;31H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[4;1H^[[1m^[[33m^[[44m Open Directory...              C-x d   ^[[0m^[[39;49m
^[[1m^[[33m^[[41m Insert File...                 C-x i   ^[[0m^[[39;49m^[[6;31H^[[?12l^[[?25h^[[?12;25h^[[?25l\r^[[A^[[1m^[[33m^[[44m Insert File...                 C-x i   ^[[0m^[[39;49m
^[[1m^[[33m^[[41m Close                                  ^[[0m^[[39;49m^[[6;31H^[[?12l^[[?25h^[[?12;25h^[[?25l\r^[[1m^[[33m^[[44m Close                                  ^[[0m^[[39;49m
^[[1m^[[33m^[[41m --                                     ^[[0m^[[39;49m^[[6;31H^[[?12l^[[?25h^[[?12;25h^[[?25l
^[[1m^[[33m^[[44m --                                     ^[[0m^[[39;49m
^[[37m^[[41m Save                           C-x C-s ^[[39;49m^[[6;31H^[[?12l^[[?25h^[[?12;25h^[[?25l

^[[37m^[[44m Save                           C-x C-s ^[[39;49m
^[[1m^[[33m^[[41m Save As...                     C-x C-w ^[[0m^[[39;49m^[[6;31H^[[?12l^[[?25h^[[?12;25h^[[?25l


^[[1m^[[33m^[[44m Save As...                     C-x C-w ^[[0m^[[39;49m
^[[1m^[[33m^[[41m Revert Buffer                          ^[[0m^[[39;49m^[[6;31H^[[?12l^[[?25h^[[?12;25h^[[?25l



^[[1m^[[33m^[[44m Revert Buffer                          ^[[0m^[[39;49m
^[[1m^[[33m^[[41m Recover Crashed Session                ^[[0m^[[39;49m^[[6;31H^[[?12l^[[?25h^[[?12;25h^[[?25l




^[[1m^[[33m^[[44m Recover Crashed Session                ^[[0m^[[39;49m
^[[1m^[[33m^[[41m --                                     ^[[0m^[[39;49m^[[6;31H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[12;1H^[[1m^[[33m^[[44m --                                     ^[[0m^[[39;49m
^[[1m^[[33m^[[41m Print Buffer                           ^[[0m^[[39;49m^[[6;31H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[13;1H^[[1m^[[33m^[[44m Print Buffer                           ^[[0m^[[39;49m
^[[37m^[[41m Print Region                           ^[[39;49m^[[6;31H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[14;1H^[[37m^[[44m Print Region                           ^[[39;49m
^[[1m^[[33m^[[41m PostScript Print Buffer                ^[[0m^[[39;49m^[[6;31H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[15;1H^[[1m^[[33m^[[44m PostScript Print Buffer                ^[[0m^[[39;49m
^[[37m^[[41m PostScript Print Region                ^[[39;49m^[[6;31H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[16;1H^[[37m^[[44m PostScript Print Region                ^[[39;49m
^[[1m^[[33m^[[41m PostScript Print Buffer (B+W)          ^[[0m^[[39;49m^[[6;31H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[?12l^[[?25h^[[?12;25h^[[H^[[?25l^[[7mFile Edi^[[0m^[[39;49m^[[27m
^[[31m;; This buffer is for notes you don't wa^[[39;49m
^[[31m;; If you want to create a file, visit t^[[39;49m
^[[31m;; then enter the text in that file's ow^[[39;49m
^[[K
(setq resize-mini-windows nil)^[[K
^[[K
^[[K
^[[K
^[[K
^[[K
^[[K
^[[K
^[[K
^[[K
^[[K
^[[K
^[[K
^[[K
^[[K
^[[K
^[[K
^[[7m-UUU:**--F1  ^[[0m^[[39;49m^[[27m^[[7m^[[1m*scratch*   ^[[0m^[[39;49m^[[27m^[[7m   All L5     (^[[0m^[[39;49m^[[27m^[[6;31H^[[?12l^[[?25h^[[?12;25h

[-- Attachment #3: ts-no-help-echo.txt --]
[-- Type: text/plain, Size: 4413 bytes --]

^[[K^[[1;33H^[[?25l^[[7mLisp-Interaction Help^[[0m^[[39;49m^[[27m^[[6;1H^[[?12l^[[?25h^[[?12;25h^[[H^[[?25l^[[1m^[[33m^[[41m File > ^[[0m^[[39;49m^[[6;1H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[2d^[[1m^[[33m^[[41m Visit New File...              C-x C-f ^[[0m^[[39;49m
^[[1m^[[33m^[[44m Open File...                           ^[[0m^[[39;49m
^[[1m^[[33m^[[44m Open Directory...              C-x d   ^[[0m^[[39;49m
^[[1m^[[33m^[[44m Insert File...                 C-x i   ^[[0m^[[39;49m
^[[1m^[[33m^[[44m Close                                  ^[[0m^[[39;49m
^[[1m^[[33m^[[44m --                                     ^[[0m^[[39;49m
^[[37m^[[44m Save                           C-x C-s ^[[39;49m
^[[1m^[[33m^[[44m Save As...                     C-x C-w ^[[0m^[[39;49m
^[[1m^[[33m^[[44m Revert Buffer                          ^[[0m^[[39;49m
^[[1m^[[33m^[[44m Recover Crashed Session                ^[[0m^[[39;49m
^[[1m^[[33m^[[44m --                                     ^[[0m^[[39;49m
^[[1m^[[33m^[[44m Print Buffer                           ^[[0m^[[39;49m
^[[37m^[[44m Print Region                           ^[[39;49m
^[[1m^[[33m^[[44m PostScript Print Buffer                ^[[0m^[[39;49m
^[[37m^[[44m PostScript Print Region                ^[[39;49m
^[[1m^[[33m^[[44m PostScript Print Buffer (B+W)          ^[[0m^[[39;49m
^[[37m^[[44m PostScript Print Region (B+W)          ^[[39;49m
^[[1m^[[33m^[[44m --                                     ^[[0m^[[39;49m
^[[1m^[[33m^[[44m New Window Below               C-x 2   ^[[0m^[[39;49m
^[[1m^[[33m^[[44m New Window on Right            C-x 3   ^[[0m^[[39;49m
^[[37m^[[44m Remove Other Windows           C-x 1   ^[[39;49m
^[[1m^[[33m^[[44m --                                     ^[[0m^[[39;49m^[[6;1H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[2d^[[1m^[[33m^[[44m Visit New File...              C-x C-f ^[[0m^[[39;49m
^[[1m^[[33m^[[41m Open File...                           ^[[0m^[[39;49m


^[[?12l^[[?25h^[[?12;25h^[[?25l^[[3d^[[1m^[[33m^[[44m Open File...                           ^[[0m^[[39;49m
^[[1m^[[33m^[[41m Open Directory...              C-x d   ^[[0m^[[39;49m

^[[?12l^[[?25h^[[?12;25h^[[?25l^[[4d^[[1m^[[33m^[[44m Open Directory...              C-x d   ^[[0m^[[39;49m
^[[1m^[[33m^[[41m Insert File...                 C-x i   ^[[0m^[[39;49m
^[[?12l^[[?25h^[[?12;25h^[[?25l^[[A^[[1m^[[33m^[[44m Insert File...                 C-x i   ^[[0m^[[39;49m
^[[1m^[[33m^[[41m Close                                  ^[[0m^[[39;49m\r^[[?12l^[[?25h^[[?12;25h^[[?25l^[[1m^[[33m^[[44m Close                                  ^[[0m^[[39;49m
^[[1m^[[33m^[[41m --                                     ^[[0m^[[39;49m\r^[[A^[[?12l^[[?25h^[[?12;25h^[[?25l
^[[1m^[[33m^[[44m --                                     ^[[0m^[[39;49m
^[[37m^[[41m Save                           C-x C-s ^[[39;49m^[[6;1H^[[?12l^[[?25h^[[?12;25h^[[?25l

^[[37m^[[44m Save                           C-x C-s ^[[39;49m
^[[1m^[[33m^[[41m Save As...                     C-x C-w ^[[0m^[[39;49m^[[6;1H^[[?12l^[[?25h^[[?12;25h^[[?25l


^[[1m^[[33m^[[44m Save As...                     C-x C-w ^[[0m^[[39;49m
^[[1m^[[33m^[[41m Revert Buffer                          ^[[0m^[[39;49m^[[6;1H^[[?12l^[[?25h^[[?12;25h^[[?25l



^[[1m^[[33m^[[44m Revert Buffer                          ^[[0m^[[39;49m
^[[1m^[[33m^[[41m Recover Crashed Session                ^[[0m^[[39;49m^[[6;1H^[[?12l^[[?25h^[[?12;25h^[[?25l



^[[1m^[[33m^[[41m Revert Buffer                          ^[[0m^[[39;49m
^[[1m^[[33m^[[44m Recover Crashed Session                ^[[0m^[[39;49m^[[6;1H^[[?12l^[[?25h^[[?12;25h^[[?25l


^[[1m^[[33m^[[41m Save As...                     C-x C-w ^[[0m^[[39;49m
^[[1m^[[33m^[[44m Revert Buffer                          ^[[0m^[[39;49m^[[6;1H^[[?12l^[[?25h^[[?12;25h^[[?25l

^[[37m^[[41m Save                           C-x C-s ^[[39;49m
^[[1m^[[33m^[[44m Save As...                     C-x C-w ^[[0m^[[39;49m^[[6;1H^[[?12l^[[?25h^[[?12;25h^[[?25l

^[[37m^[[44m Save                           C-x C-s ^[[39;49m
^[[1m^[[33m^[[41m Save As...                     C-x C-w ^[[0m^[[39;49m^[[6;1H^[[?12l^[[?25h^[[?12;25h^[[?25l


^[[1m^[[33m^[[44m Save As...                     C-x C-w ^[[0m^[[39;49m
^[[1m^[[33m^[[41m Revert Buffer                          ^[[0m^[[39;49m^[[6;1H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[?12l^[[?25h^[[?12;25h^[[H^[[?25l^[[7mFile Edi^[[0m^[[39;49m^[[27m
^[[31m;; This buffer is for notes you don't wa^[[39;49m
^[[31m;; If you want to create a file, visit t^[[39;49m
^[[31m;; then enter the text in that file's ow^[[39;49m
^[[K
^[[K
^[[K
^[[K
^[[K
^[[K
^[[K
^[[K
^[[K
^[[K
^[[K
^[[K
^[[K
^[[K
^[[K
^[[K
^[[K
^[[K
^[[7m-UUU:----F1  ^[[0m^[[39;49m^[[27m^[[7m^[[1m*scratch*   ^[[0m^[[39;49m^[[27m^[[7m   All L5     (^[[0m^[[39;49m^[[27m^[[6;1H^[[?12l^[[?25h^[[?12;25h

[-- Attachment #4: ts-no-help-echo-mmwh-1.txt --]
[-- Type: text/plain, Size: 26834 bytes --]

^[[K^[[1;33H^[[?25l^[[7mLisp-Interaction Help^[[0m^[[39;49m^[[27m^[[6;32H^[[?12l^[[?25h^[[?12;25h^[[H^[[?25l^[[1m^[[33m^[[41m File > ^[[0m^[[39;49m^[[6;32H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[H
^[[1m^[[33m^[[41m Visit New File...              C-x C-f ^[[0m^[[39;49m
^[[1m^[[33m^[[44m Open File...                           ^[[0m^[[39;49m
^[[1m^[[33m^[[44m Open Directory...              C-x d   ^[[0m^[[39;49m
^[[1m^[[33m^[[44m Insert File...                 C-x i   ^[[0m^[[39;49m
^[[1m^[[33m^[[44m Close                                  ^[[0m^[[39;49m
^[[1m^[[33m^[[44m --                                     ^[[0m^[[39;49m
^[[37m^[[44m Save                           C-x C-s ^[[39;49m
^[[1m^[[33m^[[44m Save As...                     C-x C-w ^[[0m^[[39;49m
^[[1m^[[33m^[[44m Revert Buffer                          ^[[0m^[[39;49m
^[[1m^[[33m^[[44m Recover Crashed Session                ^[[0m^[[39;49m
^[[1m^[[33m^[[44m --                                     ^[[0m^[[39;49m
^[[1m^[[33m^[[44m Print Buffer                           ^[[0m^[[39;49m
^[[37m^[[44m Print Region                           ^[[39;49m
^[[1m^[[33m^[[44m PostScript Print Buffer                ^[[0m^[[39;49m
^[[37m^[[44m PostScript Print Region                ^[[39;49m
^[[1m^[[33m^[[44m PostScript Print Buffer (B+W)          ^[[0m^[[39;49m
^[[37m^[[44m PostScript Print Region (B+W)          ^[[39;49m
^[[1m^[[33m^[[44m --                                     ^[[0m^[[39;49m
^[[1m^[[33m^[[44m New Window Below               C-x 2   ^[[0m^[[39;49m
^[[1m^[[33m^[[44m New Window on Right            C-x 3   ^[[0m^[[39;49m
^[[37m^[[44m Remove Other Windows           C-x 1   ^[[39;49m
^[[1m^[[33m^[[44m --                                     ^[[0m^[[39;49m^[[6;32H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[H
^[[1m^[[33m^[[44m Visit New File...              C-x C-f ^[[0m^[[39;49m
^[[1m^[[33m^[[41m Open File...                           ^[[0m^[[39;49m^[[6;32H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[H

^[[1m^[[33m^[[44m Open File...                           ^[[0m^[[39;49m
^[[1m^[[33m^[[41m Open Directory...              C-x d   ^[[0m^[[39;49m^[[6;32H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[4;1H^[[1m^[[33m^[[44m Open Directory...              C-x d   ^[[0m^[[39;49m
^[[1m^[[33m^[[41m Insert File...                 C-x i   ^[[0m^[[39;49m^[[6;32H^[[?12l^[[?25h^[[?12;25h^[[?25l\r^[[A^[[1m^[[33m^[[44m Insert File...                 C-x i   ^[[0m^[[39;49m
^[[1m^[[33m^[[41m Close                                  ^[[0m^[[39;49m^[[6;32H^[[?12l^[[?25h^[[?12;25h^[[?25l\r^[[1m^[[33m^[[44m Close                                  ^[[0m^[[39;49m
^[[1m^[[33m^[[41m --                                     ^[[0m^[[39;49m^[[6;32H^[[?12l^[[?25h^[[?12;25h^[[?25l
^[[1m^[[33m^[[44m --                                     ^[[0m^[[39;49m
^[[37m^[[41m Save                           C-x C-s ^[[39;49m^[[6;32H^[[?12l^[[?25h^[[?12;25h^[[?25l

^[[37m^[[44m Save                           C-x C-s ^[[39;49m
^[[1m^[[33m^[[41m Save As...                     C-x C-w ^[[0m^[[39;49m^[[6;32H^[[?12l^[[?25h^[[?12;25h^[[?25l


^[[1m^[[33m^[[44m Save As...                     C-x C-w ^[[0m^[[39;49m
^[[1m^[[33m^[[41m Revert Buffer                          ^[[0m^[[39;49m^[[6;32H^[[?12l^[[?25h^[[?12;25h^[[?25l



^[[1m^[[33m^[[44m Revert Buffer                          ^[[0m^[[39;49m
^[[1m^[[33m^[[41m Recover Crashed Session                ^[[0m^[[39;49m^[[6;32H^[[?12l^[[?25h^[[?12;25h^[[?25l




^[[1m^[[33m^[[44m Recover Crashed Session                ^[[0m^[[39;49m
^[[1m^[[33m^[[41m --                                     ^[[0m^[[39;49m^[[6;32H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[12;1H^[[1m^[[33m^[[44m --                                     ^[[0m^[[39;49m
^[[1m^[[33m^[[41m Print Buffer                           ^[[0m^[[39;49m^[[6;32H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[13;1H^[[1m^[[33m^[[44m Print Buffer                           ^[[0m^[[39;49m
^[[37m^[[41m Print Region                           ^[[39;49m^[[6;32H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[14;1H^[[37m^[[44m Print Region                           ^[[39;49m
^[[1m^[[33m^[[41m PostScript Print Buffer                ^[[0m^[[39;49m^[[6;32H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[15;1H^[[1m^[[33m^[[44m PostScript Print Buffer                ^[[0m^[[39;49m
^[[37m^[[41m PostScript Print Region                ^[[39;49m^[[6;32H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[16;1H^[[37m^[[44m PostScript Print Region                ^[[39;49m
^[[1m^[[33m^[[41m PostScript Print Buffer (B+W)          ^[[0m^[[39;49m^[[6;32H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[17;1H^[[1m^[[33m^[[44m PostScript Print Buffer (B+W)          ^[[0m^[[39;49m
^[[37m^[[41m PostScript Print Region (B+W)          ^[[39;49m^[[6;32H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[18;1H^[[37m^[[44m PostScript Print Region (B+W)          ^[[39;49m
^[[1m^[[33m^[[41m --                                     ^[[0m^[[39;49m^[[6;32H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[19;1H^[[1m^[[33m^[[44m --                                     ^[[0m^[[39;49m
^[[1m^[[33m^[[41m New Window Below               C-x 2   ^[[0m^[[39;49m^[[6;32H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[20;1H^[[1m^[[33m^[[44m New Window Below               C-x 2   ^[[0m^[[39;49m
^[[1m^[[33m^[[41m New Window on Right            C-x 3   ^[[0m^[[39;49m^[[6;32H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[21;1H^[[1m^[[33m^[[44m New Window on Right            C-x 3   ^[[0m^[[39;49m
^[[37m^[[41m Remove Other Windows           C-x 1   ^[[39;49m^[[6;32H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[22;1H^[[37m^[[44m Remove Other Windows           C-x 1   ^[[39;49m
^[[1m^[[33m^[[41m --                                     ^[[0m^[[39;49m^[[6;32H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[2;2H^[[1m^[[33m^[[44mOpen File...                          ^[[0m^[[39;49m^[[3;7H^[[1m^[[33m^[[44mDirectory...              C-x d^[[0m^[[39;49m
^[[C^[[1m^[[33m^[[44mInsert File...                 C-x i^[[0m^[[39;49m
^[[C^[[1m^[[33m^[[44mClose                               ^[[0m^[[39;49m
^[[C^[[1m^[[33m^[[44m--   ^[[0m^[[39;49m
^[[37m^[[44m Save                           C-x C-s ^[[39;49m
^[[1m^[[33m^[[44m Save As...                     C-x C-w ^[[0m^[[39;49m
^[[C^[[1m^[[33m^[[44mRevert Buffer                         ^[[0m^[[39;49m^[[10;4H^[[1m^[[33m^[[44mcover Crashed Session^[[0m^[[39;49m
^[[C^[[1m^[[33m^[[44m--                     ^[[0m^[[39;49m
^[[C^[[1m^[[33m^[[44mPrint Buffer^[[0m^[[39;49m
^[[37m^[[44m Print Region                           ^[[39;49m
^[[1m^[[33m^[[44m PostScript Print Buffer                ^[[0m^[[39;49m
^[[37m^[[44m PostScript Print Region                ^[[39;49m
^[[1m^[[33m^[[44m PostScript Print Buffer (B+W)          ^[[0m^[[39;49m
^[[37m^[[44m PostScript Print Region (B+W)          ^[[39;49m
^[[1m^[[33m^[[44m --                                     ^[[0m^[[39;49m
^[[C^[[1m^[[33m^[[44mNew Window Below               C-x 2^[[0m^[[39;49m^[[20;13H^[[1m^[[33m^[[44mon Right            C-x 3^[[0m^[[39;49m
^[[37m^[[44m Remove Other Windows           C-x 1   ^[[39;49m
^[[1m^[[33m^[[44m --                                     ^[[0m^[[39;49m
^[[C^[[1m^[[33m^[[41mNew Frame                      C-x 5 2^[[0m^[[39;49m^[[6;32H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[2;7H^[[1m^[[33m^[[44mDirectory...              C-x d^[[0m^[[39;49m
^[[C^[[1m^[[33m^[[44mInsert File...                 C-x i^[[0m^[[39;49m
^[[C^[[1m^[[33m^[[44mClose                               ^[[0m^[[39;49m
^[[C^[[1m^[[33m^[[44m--   ^[[0m^[[39;49m
^[[37m^[[44m Save                           C-x C-s ^[[39;49m
^[[1m^[[33m^[[44m Save As...                     C-x C-w ^[[0m^[[39;49m
^[[C^[[1m^[[33m^[[44mRevert Buffer                         ^[[0m^[[39;49m^[[9;4H^[[1m^[[33m^[[44mcover Crashed Session^[[0m^[[39;49m
^[[C^[[1m^[[33m^[[44m--                     ^[[0m^[[39;49m
^[[C^[[1m^[[33m^[[44mPrint Buffer^[[0m^[[39;49m
^[[37m^[[44m Print Region                           ^[[39;49m
^[[1m^[[33m^[[44m PostScript Print Buffer                ^[[0m^[[39;49m
^[[37m^[[44m PostScript Print Region                ^[[39;49m
^[[1m^[[33m^[[44m PostScript Print Buffer (B+W)          ^[[0m^[[39;49m
^[[37m^[[44m PostScript Print Region (B+W)          ^[[39;49m
^[[1m^[[33m^[[44m --                                     ^[[0m^[[39;49m
^[[C^[[1m^[[33m^[[44mNew Window Below               C-x 2^[[0m^[[39;49m^[[19;13H^[[1m^[[33m^[[44mon Right            C-x 3^[[0m^[[39;49m
^[[37m^[[44m Remove Other Windows           C-x 1   ^[[39;49m
^[[1m^[[33m^[[44m --                                     ^[[0m^[[39;49m
^[[C^[[1m^[[33m^[[44mNew Frame                      C-x 5 2^[[0m^[[39;49m^[[23;12H^[[1m^[[33m^[[41mon Display...               ^[[0m^[[39;49m^[[6;32H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[22;1H^[[1m^[[33m^[[41m New Frame                      C-x 5 2 ^[[0m^[[39;49m
^[[1m^[[33m^[[44m New Frame on Display...                ^[[0m^[[39;49m^[[6;32H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[21;1H^[[1m^[[33m^[[41m --                                     ^[[0m^[[39;49m
^[[1m^[[33m^[[44m New Frame                      C-x 5 2 ^[[0m^[[39;49m^[[6;32H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[20;1H^[[37m^[[41m Remove Other Windows           C-x 1   ^[[39;49m
^[[1m^[[33m^[[44m --                                     ^[[0m^[[39;49m^[[6;32H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[19;1H^[[1m^[[33m^[[41m New Window on Right            C-x 3   ^[[0m^[[39;49m
^[[37m^[[44m Remove Other Windows           C-x 1   ^[[39;49m^[[6;32H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[18;1H^[[1m^[[33m^[[41m New Window Below               C-x 2   ^[[0m^[[39;49m
^[[1m^[[33m^[[44m New Window on Right            C-x 3   ^[[0m^[[39;49m^[[6;32H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[17;1H^[[1m^[[33m^[[41m --                                     ^[[0m^[[39;49m
^[[1m^[[33m^[[44m New Window Below               C-x 2   ^[[0m^[[39;49m^[[6;32H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[16;1H^[[37m^[[41m PostScript Print Region (B+W)          ^[[39;49m
^[[1m^[[33m^[[44m --                                     ^[[0m^[[39;49m^[[6;32H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[15;1H^[[1m^[[33m^[[41m PostScript Print Buffer (B+W)          ^[[0m^[[39;49m
^[[37m^[[44m PostScript Print Region (B+W)          ^[[39;49m^[[6;32H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[14;1H^[[37m^[[41m PostScript Print Region                ^[[39;49m
^[[1m^[[33m^[[44m PostScript Print Buffer (B+W)          ^[[0m^[[39;49m^[[6;32H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[13;1H^[[1m^[[33m^[[41m PostScript Print Buffer                ^[[0m^[[39;49m
^[[37m^[[44m PostScript Print Region                ^[[39;49m^[[6;32H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[12;1H^[[37m^[[41m Print Region                           ^[[39;49m
^[[1m^[[33m^[[44m PostScript Print Buffer                ^[[0m^[[39;49m^[[6;32H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[12;1H^[[37m^[[44m Print Region                           ^[[39;49m
^[[1m^[[33m^[[41m PostScript Print Buffer                ^[[0m^[[39;49m^[[6;32H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[13;1H^[[1m^[[33m^[[44m PostScript Print Buffer                ^[[0m^[[39;49m
^[[37m^[[41m PostScript Print Region                ^[[39;49m^[[6;32H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[14;1H^[[37m^[[44m PostScript Print Region                ^[[39;49m
^[[1m^[[33m^[[41m PostScript Print Buffer (B+W)          ^[[0m^[[39;49m^[[6;32H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[15;1H^[[1m^[[33m^[[44m PostScript Print Buffer (B+W)          ^[[0m^[[39;49m
^[[37m^[[41m PostScript Print Region (B+W)          ^[[39;49m^[[6;32H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[16;1H^[[37m^[[44m PostScript Print Region (B+W)          ^[[39;49m
^[[1m^[[33m^[[41m --                                     ^[[0m^[[39;49m^[[6;32H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[17;1H^[[1m^[[33m^[[44m --                                     ^[[0m^[[39;49m
^[[1m^[[33m^[[41m New Window Below               C-x 2   ^[[0m^[[39;49m^[[6;32H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[18;1H^[[1m^[[33m^[[44m New Window Below               C-x 2   ^[[0m^[[39;49m
^[[1m^[[33m^[[41m New Window on Right            C-x 3   ^[[0m^[[39;49m^[[6;32H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[19;1H^[[1m^[[33m^[[44m New Window on Right            C-x 3   ^[[0m^[[39;49m
^[[37m^[[41m Remove Other Windows           C-x 1   ^[[39;49m^[[6;32H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[20;1H^[[37m^[[44m Remove Other Windows           C-x 1   ^[[39;49m
^[[1m^[[33m^[[41m --                                     ^[[0m^[[39;49m^[[6;32H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[21;1H^[[1m^[[33m^[[44m --                                     ^[[0m^[[39;49m
^[[1m^[[33m^[[41m New Frame                      C-x 5 2 ^[[0m^[[39;49m^[[6;32H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[22;1H^[[1m^[[33m^[[44m New Frame                      C-x 5 2 ^[[0m^[[39;49m
^[[1m^[[33m^[[41m New Frame on Display...                ^[[0m^[[39;49m^[[6;32H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[2;2H^[[1m^[[33m^[[44mInsert File...                 C-x i^[[0m^[[39;49m
^[[C^[[1m^[[33m^[[44mClose                               ^[[0m^[[39;49m
^[[C^[[1m^[[33m^[[44m--   ^[[0m^[[39;49m
^[[37m^[[44m Save                           C-x C-s ^[[39;49m
^[[1m^[[33m^[[44m Save As...                     C-x C-w ^[[0m^[[39;49m
^[[C^[[1m^[[33m^[[44mRevert Buffer                         ^[[0m^[[39;49m^[[8;4H^[[1m^[[33m^[[44mcover Crashed Session^[[0m^[[39;49m
^[[C^[[1m^[[33m^[[44m--                     ^[[0m^[[39;49m
^[[C^[[1m^[[33m^[[44mPrint Buffer^[[0m^[[39;49m
^[[37m^[[44m Print Region                           ^[[39;49m
^[[1m^[[33m^[[44m PostScript Print Buffer                ^[[0m^[[39;49m
^[[37m^[[44m PostScript Print Region                ^[[39;49m
^[[1m^[[33m^[[44m PostScript Print Buffer (B+W)          ^[[0m^[[39;49m
^[[37m^[[44m PostScript Print Region (B+W)          ^[[39;49m
^[[1m^[[33m^[[44m --                                     ^[[0m^[[39;49m
^[[C^[[1m^[[33m^[[44mNew Window Below               C-x 2^[[0m^[[39;49m^[[18;13H^[[1m^[[33m^[[44mon Right            C-x 3^[[0m^[[39;49m
^[[37m^[[44m Remove Other Windows           C-x 1   ^[[39;49m
^[[1m^[[33m^[[44m --                                     ^[[0m^[[39;49m
^[[C^[[1m^[[33m^[[44mNew Frame                      C-x 5 2^[[0m^[[39;49m^[[22;12H^[[1m^[[33m^[[44mon Display...               ^[[0m^[[39;49m
^[[37m^[[41m Delete Frame                   C-x 5 0 ^[[39;49m^[[6;32H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[2;2H^[[1m^[[33m^[[44mClose                               ^[[0m^[[39;49m
^[[C^[[1m^[[33m^[[44m--   ^[[0m^[[39;49m
^[[37m^[[44m Save                           C-x C-s ^[[39;49m
^[[1m^[[33m^[[44m Save As...                     C-x C-w ^[[0m^[[39;49m
^[[C^[[1m^[[33m^[[44mRevert Buffer                         ^[[0m^[[39;49m^[[7;4H^[[1m^[[33m^[[44mcover Crashed Session^[[0m^[[39;49m
^[[C^[[1m^[[33m^[[44m--                     ^[[0m^[[39;49m
^[[C^[[1m^[[33m^[[44mPrint Buffer^[[0m^[[39;49m
^[[37m^[[44m Print Region                           ^[[39;49m
^[[1m^[[33m^[[44m PostScript Print Buffer                ^[[0m^[[39;49m
^[[37m^[[44m PostScript Print Region                ^[[39;49m
^[[1m^[[33m^[[44m PostScript Print Buffer (B+W)          ^[[0m^[[39;49m
^[[37m^[[44m PostScript Print Region (B+W)          ^[[39;49m
^[[1m^[[33m^[[44m --                                     ^[[0m^[[39;49m
^[[C^[[1m^[[33m^[[44mNew Window Below               C-x 2^[[0m^[[39;49m^[[17;13H^[[1m^[[33m^[[44mon Right            C-x 3^[[0m^[[39;49m
^[[37m^[[44m Remove Other Windows           C-x 1   ^[[39;49m
^[[1m^[[33m^[[44m --                                     ^[[0m^[[39;49m
^[[C^[[1m^[[33m^[[44mNew Frame                      C-x 5 2^[[0m^[[39;49m^[[21;12H^[[1m^[[33m^[[44mon Display...               ^[[0m^[[39;49m
^[[37m^[[44m Delete Frame                   C-x 5 0 ^[[39;49m
^[[1m^[[33m^[[41m --                                     ^[[0m^[[39;49m^[[6;32H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[2;2H^[[1m^[[33m^[[44m--   ^[[0m^[[39;49m
^[[37m^[[44m Save                           C-x C-s ^[[39;49m
^[[1m^[[33m^[[44m Save As...                     C-x C-w ^[[0m^[[39;49m
^[[C^[[1m^[[33m^[[44mRevert Buffer                         ^[[0m^[[39;49m^[[6;4H^[[1m^[[33m^[[44mcover Crashed Session^[[0m^[[39;49m
^[[C^[[1m^[[33m^[[44m--                     ^[[0m^[[39;49m
^[[C^[[1m^[[33m^[[44mPrint Buffer^[[0m^[[39;49m
^[[37m^[[44m Print Region                           ^[[39;49m
^[[1m^[[33m^[[44m PostScript Print Buffer                ^[[0m^[[39;49m
^[[37m^[[44m PostScript Print Region                ^[[39;49m
^[[1m^[[33m^[[44m PostScript Print Buffer (B+W)          ^[[0m^[[39;49m
^[[37m^[[44m PostScript Print Region (B+W)          ^[[39;49m
^[[1m^[[33m^[[44m --                                     ^[[0m^[[39;49m
^[[C^[[1m^[[33m^[[44mNew Window Below               C-x 2^[[0m^[[39;49m^[[16;13H^[[1m^[[33m^[[44mon Right            C-x 3^[[0m^[[39;49m
^[[37m^[[44m Remove Other Windows           C-x 1   ^[[39;49m
^[[1m^[[33m^[[44m --                                     ^[[0m^[[39;49m
^[[C^[[1m^[[33m^[[44mNew Frame                      C-x 5 2^[[0m^[[39;49m^[[20;12H^[[1m^[[33m^[[44mon Display...               ^[[0m^[[39;49m
^[[37m^[[44m Delete Frame                   C-x 5 0 ^[[39;49m
^[[1m^[[33m^[[44m --                                     ^[[0m^[[39;49m
^[[C^[[1m^[[33m^[[41mQuit                           C-x C-c^[[0m^[[39;49m^[[6;32H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[H
^[[1m^[[33m^[[41m Visit New File...              C-x C-f ^[[0m^[[39;49m
^[[1m^[[33m^[[44m Open File...                           ^[[0m^[[39;49m
^[[C^[[1m^[[33m^[[44mOpen Directory...              C-x d  ^[[0m^[[39;49m
^[[C^[[1m^[[33m^[[44mInsert File...                 C-x i^[[0m^[[39;49m
^[[C^[[1m^[[33m^[[44mClose                  ^[[0m^[[39;49m

^[[37m^[[44m Save                           C-x C-s ^[[39;49m
^[[1m^[[33m^[[44m Save As...                     C-x C-w ^[[0m^[[39;49m
^[[C^[[1m^[[33m^[[44mRevert Buffer          ^[[0m^[[39;49m
^[[1m^[[33m^[[44m Recover Crashed Session                ^[[0m^[[39;49m
^[[C^[[1m^[[33m^[[44m--                           ^[[0m^[[39;49m
^[[1m^[[33m^[[44m Print Buffer                           ^[[0m^[[39;49m
^[[37m^[[44m Print Region                           ^[[39;49m
^[[C^[[1m^[[33m^[[44mPostScript Print Buffer             ^[[0m^[[39;49m
^[[37m^[[44m PostScript Print Region                ^[[39;49m
^[[1m^[[33m^[[44m PostScript Print Buffer (B+W)          ^[[0m^[[39;49m
^[[37m^[[44m PostScript Print Region (B+W)          ^[[39;49m
^[[C^[[1m^[[33m^[[44m--                                    ^[[0m^[[39;49m^[[20;6H^[[1m^[[33m^[[44mWindow Below               C-x 2^[[0m^[[39;49m
^[[1m^[[33m^[[44m New Window on Right            C-x 3   ^[[0m^[[39;49m
^[[37m^[[44m Remove Other Windows           C-x 1   ^[[39;49m
^[[1m^[[33m^[[44m --                                     ^[[0m^[[39;49m^[[6;32H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[H
^[[1m^[[33m^[[44m Visit New File...              C-x C-f ^[[0m^[[39;49m
^[[1m^[[33m^[[41m Open File...                           ^[[0m^[[39;49m^[[6;32H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[H

^[[1m^[[33m^[[44m Open File...                           ^[[0m^[[39;49m
^[[1m^[[33m^[[41m Open Directory...              C-x d   ^[[0m^[[39;49m^[[6;32H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[4;1H^[[1m^[[33m^[[44m Open Directory...              C-x d   ^[[0m^[[39;49m
^[[1m^[[33m^[[41m Insert File...                 C-x i   ^[[0m^[[39;49m^[[6;32H^[[?12l^[[?25h^[[?12;25h^[[?25l\r^[[A^[[1m^[[33m^[[44m Insert File...                 C-x i   ^[[0m^[[39;49m
^[[1m^[[33m^[[41m Close                                  ^[[0m^[[39;49m^[[6;32H^[[?12l^[[?25h^[[?12;25h^[[?25l\r^[[1m^[[33m^[[44m Close                                  ^[[0m^[[39;49m
^[[1m^[[33m^[[41m --                                     ^[[0m^[[39;49m^[[6;32H^[[?12l^[[?25h^[[?12;25h^[[?25l
^[[1m^[[33m^[[44m --                                     ^[[0m^[[39;49m
^[[37m^[[41m Save                           C-x C-s ^[[39;49m^[[6;32H^[[?12l^[[?25h^[[?12;25h^[[?25l

^[[37m^[[44m Save                           C-x C-s ^[[39;49m
^[[1m^[[33m^[[41m Save As...                     C-x C-w ^[[0m^[[39;49m^[[6;32H^[[?12l^[[?25h^[[?12;25h^[[?25l


^[[1m^[[33m^[[44m Save As...                     C-x C-w ^[[0m^[[39;49m
^[[1m^[[33m^[[41m Revert Buffer                          ^[[0m^[[39;49m^[[6;32H^[[?12l^[[?25h^[[?12;25h^[[?25l



^[[1m^[[33m^[[44m Revert Buffer                          ^[[0m^[[39;49m
^[[1m^[[33m^[[41m Recover Crashed Session                ^[[0m^[[39;49m^[[6;32H^[[?12l^[[?25h^[[?12;25h^[[?25l




^[[1m^[[33m^[[44m Recover Crashed Session                ^[[0m^[[39;49m
^[[1m^[[33m^[[41m --                                     ^[[0m^[[39;49m^[[6;32H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[12;1H^[[1m^[[33m^[[44m --                                     ^[[0m^[[39;49m
^[[1m^[[33m^[[41m Print Buffer                           ^[[0m^[[39;49m^[[6;32H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[13;1H^[[1m^[[33m^[[44m Print Buffer                           ^[[0m^[[39;49m
^[[37m^[[41m Print Region                           ^[[39;49m^[[6;32H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[14;1H^[[37m^[[44m Print Region                           ^[[39;49m
^[[1m^[[33m^[[41m PostScript Print Buffer                ^[[0m^[[39;49m^[[6;32H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[15;1H^[[1m^[[33m^[[44m PostScript Print Buffer                ^[[0m^[[39;49m
^[[37m^[[41m PostScript Print Region                ^[[39;49m^[[6;32H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[16;1H^[[37m^[[44m PostScript Print Region                ^[[39;49m
^[[1m^[[33m^[[41m PostScript Print Buffer (B+W)          ^[[0m^[[39;49m^[[6;32H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[17;1H^[[1m^[[33m^[[44m PostScript Print Buffer (B+W)          ^[[0m^[[39;49m
^[[37m^[[41m PostScript Print Region (B+W)          ^[[39;49m^[[6;32H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[18;1H^[[37m^[[44m PostScript Print Region (B+W)          ^[[39;49m
^[[1m^[[33m^[[41m --                                     ^[[0m^[[39;49m^[[6;32H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[19;1H^[[1m^[[33m^[[44m --                                     ^[[0m^[[39;49m
^[[1m^[[33m^[[41m New Window Below               C-x 2   ^[[0m^[[39;49m^[[6;32H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[20;1H^[[1m^[[33m^[[44m New Window Below               C-x 2   ^[[0m^[[39;49m
^[[1m^[[33m^[[41m New Window on Right            C-x 3   ^[[0m^[[39;49m^[[6;32H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[21;1H^[[1m^[[33m^[[44m New Window on Right            C-x 3   ^[[0m^[[39;49m
^[[37m^[[41m Remove Other Windows           C-x 1   ^[[39;49m^[[6;32H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[22;1H^[[37m^[[44m Remove Other Windows           C-x 1   ^[[39;49m
^[[1m^[[33m^[[41m --                                     ^[[0m^[[39;49m^[[6;32H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[2;2H^[[1m^[[33m^[[44mOpen File...                          ^[[0m^[[39;49m^[[3;7H^[[1m^[[33m^[[44mDirectory...              C-x d^[[0m^[[39;49m
^[[C^[[1m^[[33m^[[44mInsert File...                 C-x i^[[0m^[[39;49m
^[[C^[[1m^[[33m^[[44mClose                               ^[[0m^[[39;49m
^[[C^[[1m^[[33m^[[44m--   ^[[0m^[[39;49m
^[[37m^[[44m Save                           C-x C-s ^[[39;49m
^[[1m^[[33m^[[44m Save As...                     C-x C-w ^[[0m^[[39;49m
^[[C^[[1m^[[33m^[[44mRevert Buffer                         ^[[0m^[[39;49m^[[10;4H^[[1m^[[33m^[[44mcover Crashed Session^[[0m^[[39;49m
^[[C^[[1m^[[33m^[[44m--                     ^[[0m^[[39;49m
^[[C^[[1m^[[33m^[[44mPrint Buffer^[[0m^[[39;49m
^[[37m^[[44m Print Region                           ^[[39;49m
^[[1m^[[33m^[[44m PostScript Print Buffer                ^[[0m^[[39;49m
^[[37m^[[44m PostScript Print Region                ^[[39;49m
^[[1m^[[33m^[[44m PostScript Print Buffer (B+W)          ^[[0m^[[39;49m
^[[37m^[[44m PostScript Print Region (B+W)          ^[[39;49m
^[[1m^[[33m^[[44m --                                     ^[[0m^[[39;49m
^[[C^[[1m^[[33m^[[44mNew Window Below               C-x 2^[[0m^[[39;49m^[[20;13H^[[1m^[[33m^[[44mon Right            C-x 3^[[0m^[[39;49m
^[[37m^[[44m Remove Other Windows           C-x 1   ^[[39;49m
^[[1m^[[33m^[[44m --                                     ^[[0m^[[39;49m
^[[C^[[1m^[[33m^[[41mNew Frame                      C-x 5 2^[[0m^[[39;49m^[[6;32H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[2;7H^[[1m^[[33m^[[44mDirectory...              C-x d^[[0m^[[39;49m
^[[C^[[1m^[[33m^[[44mInsert File...                 C-x i^[[0m^[[39;49m
^[[C^[[1m^[[33m^[[44mClose                               ^[[0m^[[39;49m
^[[C^[[1m^[[33m^[[44m--   ^[[0m^[[39;49m
^[[37m^[[44m Save                           C-x C-s ^[[39;49m
^[[1m^[[33m^[[44m Save As...                     C-x C-w ^[[0m^[[39;49m
^[[C^[[1m^[[33m^[[44mRevert Buffer                         ^[[0m^[[39;49m^[[9;4H^[[1m^[[33m^[[44mcover Crashed Session^[[0m^[[39;49m
^[[C^[[1m^[[33m^[[44m--                     ^[[0m^[[39;49m
^[[C^[[1m^[[33m^[[44mPrint Buffer^[[0m^[[39;49m
^[[37m^[[44m Print Region                           ^[[39;49m
^[[1m^[[33m^[[44m PostScript Print Buffer                ^[[0m^[[39;49m
^[[37m^[[44m PostScript Print Region                ^[[39;49m
^[[1m^[[33m^[[44m PostScript Print Buffer (B+W)          ^[[0m^[[39;49m
^[[37m^[[44m PostScript Print Region (B+W)          ^[[39;49m
^[[1m^[[33m^[[44m --                                     ^[[0m^[[39;49m
^[[C^[[1m^[[33m^[[44mNew Window Below               C-x 2^[[0m^[[39;49m^[[19;13H^[[1m^[[33m^[[44mon Right            C-x 3^[[0m^[[39;49m
^[[37m^[[44m Remove Other Windows           C-x 1   ^[[39;49m
^[[1m^[[33m^[[44m --                                     ^[[0m^[[39;49m
^[[C^[[1m^[[33m^[[44mNew Frame                      C-x 5 2^[[0m^[[39;49m^[[23;12H^[[1m^[[33m^[[41mon Display...               ^[[0m^[[39;49m^[[6;32H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[2;2H^[[1m^[[33m^[[44mInsert File...                 C-x i^[[0m^[[39;49m
^[[C^[[1m^[[33m^[[44mClose                               ^[[0m^[[39;49m
^[[C^[[1m^[[33m^[[44m--   ^[[0m^[[39;49m
^[[37m^[[44m Save                           C-x C-s ^[[39;49m
^[[1m^[[33m^[[44m Save As...                     C-x C-w ^[[0m^[[39;49m
^[[C^[[1m^[[33m^[[44mRevert Buffer                         ^[[0m^[[39;49m^[[8;4H^[[1m^[[33m^[[44mcover Crashed Session^[[0m^[[39;49m
^[[C^[[1m^[[33m^[[44m--                     ^[[0m^[[39;49m
^[[C^[[1m^[[33m^[[44mPrint Buffer^[[0m^[[39;49m
^[[37m^[[44m Print Region                           ^[[39;49m
^[[1m^[[33m^[[44m PostScript Print Buffer                ^[[0m^[[39;49m
^[[37m^[[44m PostScript Print Region                ^[[39;49m
^[[1m^[[33m^[[44m PostScript Print Buffer (B+W)          ^[[0m^[[39;49m
^[[37m^[[44m PostScript Print Region (B+W)          ^[[39;49m
^[[1m^[[33m^[[44m --                                     ^[[0m^[[39;49m
^[[C^[[1m^[[33m^[[44mNew Window Below               C-x 2^[[0m^[[39;49m^[[18;13H^[[1m^[[33m^[[44mon Right            C-x 3^[[0m^[[39;49m
^[[37m^[[44m Remove Other Windows           C-x 1   ^[[39;49m
^[[1m^[[33m^[[44m --                                     ^[[0m^[[39;49m
^[[C^[[1m^[[33m^[[44mNew Frame                      C-x 5 2^[[0m^[[39;49m^[[22;12H^[[1m^[[33m^[[44mon Display...               ^[[0m^[[39;49m
^[[37m^[[41m Delete Frame                   C-x 5 0 ^[[39;49m^[[6;32H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[2;2H^[[1m^[[33m^[[44mClose                               ^[[0m^[[39;49m
^[[C^[[1m^[[33m^[[44m--   ^[[0m^[[39;49m
^[[37m^[[44m Save                           C-x C-s ^[[39;49m
^[[1m^[[33m^[[44m Save As...                     C-x C-w ^[[0m^[[39;49m
^[[C^[[1m^[[33m^[[44mRevert Buffer                         ^[[0m^[[39;49m^[[7;4H^[[1m^[[33m^[[44mcover Crashed Session^[[0m^[[39;49m
^[[C^[[1m^[[33m^[[44m--                     ^[[0m^[[39;49m
^[[C^[[1m^[[33m^[[44mPrint Buffer^[[0m^[[39;49m
^[[37m^[[44m Print Region                           ^[[39;49m
^[[1m^[[33m^[[44m PostScript Print Buffer                ^[[0m^[[39;49m
^[[37m^[[44m PostScript Print Region                ^[[39;49m
^[[1m^[[33m^[[44m PostScript Print Buffer (B+W)          ^[[0m^[[39;49m
^[[37m^[[44m PostScript Print Region (B+W)          ^[[39;49m
^[[1m^[[33m^[[44m --                                     ^[[0m^[[39;49m
^[[C^[[1m^[[33m^[[44mNew Window Below               C-x 2^[[0m^[[39;49m^[[17;13H^[[1m^[[33m^[[44mon Right            C-x 3^[[0m^[[39;49m
^[[37m^[[44m Remove Other Windows           C-x 1   ^[[39;49m
^[[1m^[[33m^[[44m --                                     ^[[0m^[[39;49m
^[[C^[[1m^[[33m^[[44mNew Frame                      C-x 5 2^[[0m^[[39;49m^[[21;12H^[[1m^[[33m^[[44mon Display...               ^[[0m^[[39;49m
^[[37m^[[44m Delete Frame                   C-x 5 0 ^[[39;49m
^[[1m^[[33m^[[41m --                                     ^[[0m^[[39;49m^[[6;32H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[?12l^[[?25h^[[?12;25h^[[H^[[?25l^[[7mFile Edi^[[0m^[[39;49m^[[27m
^[[31m;; This buffer is for notes you don't wa^[[39;49m
^[[31m;; If you want to create a file, visit t^[[39;49m
^[[31m;; then enter the text in that file's ow^[[39;49m
^[[K
(setq max-mini-window-height 1)^[[K
^[[K
^[[K
^[[K
^[[K
^[[K
^[[K
^[[K
^[[K
^[[K
^[[K
^[[K
^[[K
^[[K
^[[K
^[[K
^[[K
^[[7m-UUU:**--F1  ^[[0m^[[39;49m^[[27m^[[7m^[[1m*scratch*   ^[[0m^[[39;49m^[[27m^[[7m   All L5     (^[[0m^[[39;49m^[[27m^[[6;32H^[[?12l^[[?25h^[[?12;25h

^ permalink raw reply	[flat|nested] 76+ messages in thread

* Re: Menus with more items than the TTY can display
  2013-10-18 14:35                                         ` martin rudalics
@ 2013-10-18 15:30                                           ` Eli Zaretskii
  2013-10-18 19:17                                             ` Eli Zaretskii
  0 siblings, 1 reply; 76+ messages in thread
From: Eli Zaretskii @ 2013-10-18 15:30 UTC (permalink / raw)
  To: martin rudalics; +Cc: emacs-devel

> Date: Fri, 18 Oct 2013 16:35:37 +0200
> From: martin rudalics <rudalics@gmx.at>
> CC: emacs-devel@gnu.org
> 
>  > What, you mean neither of the display corruptions happen with the
>  > above breakpoint active?  Then it sounds like we have some timing or
>  > race condition problems, and debugging this will be very hard indeed.
> 
> Debugging this way extremely slows down movement in the menu.

Yes, but it's unclear to me why should this change the phenomenon.

>  > Let's try to see the problem from the other end.  Please do:
>  >
>  >   M-x open-termscript RET SOME-FILE RET
>  >
>  > then hit F10, type C-n and/or C-p several times, make sure the problem
>  > happens, then exit Emacs and then post SOME-FILE.
> 
> Attached as ts.txt.

It looks like we are completely delusional in what we write.  I will
need to think about this some more.

>  > (Btw, this warrants a bug filed long ago.  So please do, and let's
>  > continue there.)
> 
> I'm already quite confused with the present TTY threads

The only one that is still active is this one.  There's a sufficient
amount of information posted here to make it unwise to continue here.



^ permalink raw reply	[flat|nested] 76+ messages in thread

* Re: Menus with more items than the TTY can display
  2013-10-18 15:30                                           ` Eli Zaretskii
@ 2013-10-18 19:17                                             ` Eli Zaretskii
  2013-10-19 10:38                                               ` martin rudalics
  0 siblings, 1 reply; 76+ messages in thread
From: Eli Zaretskii @ 2013-10-18 19:17 UTC (permalink / raw)
  To: rudalics; +Cc: emacs-devel

> Date: Fri, 18 Oct 2013 18:30:48 +0300
> From: Eli Zaretskii <eliz@gnu.org>
> Cc: emacs-devel@gnu.org
> 
> > Date: Fri, 18 Oct 2013 16:35:37 +0200
> > From: martin rudalics <rudalics@gmx.at>
> > CC: emacs-devel@gnu.org
> > 
> >  > What, you mean neither of the display corruptions happen with the
> >  > above breakpoint active?  Then it sounds like we have some timing or
> >  > race condition problems, and debugging this will be very hard indeed.
> > 
> > Debugging this way extremely slows down movement in the menu.
> 
> Yes, but it's unclear to me why should this change the phenomenon.
> 
> >  > Let's try to see the problem from the other end.  Please do:
> >  >
> >  >   M-x open-termscript RET SOME-FILE RET
> >  >
> >  > then hit F10, type C-n and/or C-p several times, make sure the problem
> >  > happens, then exit Emacs and then post SOME-FILE.
> > 
> > Attached as ts.txt.
> 
> It looks like we are completely delusional in what we write.

Actually, I take this back.  If I "re-play" the termscript file you
sent incrementally to the screen, line after line, I see the correct
display, and no artifacts.  At least as long as I re-play the script
on PuTTY.

So I'm going to claim that Emacs does TRT here, and it's some problem
with this specific terminal emulator.  Unless there's someone who can
explain what are we doing wrong.

Here's a script I used to "re-play" the termscript (Unix aficionados
will forgive me my rudimentary skills of shell scripting):

  #! /bin/sh
  # Invoke as "script FILE"
  l=`wc -l $1 | awk '{ print $1 }'`
  i=1
  while (expr $i "<=" $l > /dev/null); do
    sed -n -e `echo $i`p $1 && sleep 2 && i=`expr $i "+" 1`;
  done

If you use this script on your terminal, do you see any incorrect
display, similar to what happens when Emacs runs?



^ permalink raw reply	[flat|nested] 76+ messages in thread

* Re: Menus with more items than the TTY can display
  2013-10-18  7:02                               ` Eli Zaretskii
  2013-10-18  7:59                                 ` martin rudalics
@ 2013-10-18 22:59                                 ` Xue Fuqiao
  2013-10-19  7:43                                   ` Eli Zaretskii
  1 sibling, 1 reply; 76+ messages in thread
From: Xue Fuqiao @ 2013-10-18 22:59 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: rudalics, emacs-devel

On Fri, Oct 18, 2013 at 3:02 PM, Eli Zaretskii <eliz@gnu.org> wrote:
> Is it possible that gnome-terminal lies to us about its height, when
> you disable its own menu bar?  What do the following evaluate to, in
> the situation where you see the problem?
>
>   M-: (window-height) RET

22 (#o26, #x16)

>   M-: (window-screen-lines) RET

21.0

-- 
Best regards, Xue Fuqiao.
http://www.gnu.org/software/emacs/



^ permalink raw reply	[flat|nested] 76+ messages in thread

* Re: Menus with more items than the TTY can display
  2013-10-18 22:59                                 ` Xue Fuqiao
@ 2013-10-19  7:43                                   ` Eli Zaretskii
  2013-10-19 22:51                                     ` Xue Fuqiao
  0 siblings, 1 reply; 76+ messages in thread
From: Eli Zaretskii @ 2013-10-19  7:43 UTC (permalink / raw)
  To: Xue Fuqiao; +Cc: rudalics, emacs-devel

> Date: Sat, 19 Oct 2013 06:59:13 +0800
> From: Xue Fuqiao <xfq.free@gmail.com>
> Cc: rudalics@gmx.at, emacs-devel <emacs-devel@gnu.org>
> 
> On Fri, Oct 18, 2013 at 3:02 PM, Eli Zaretskii <eliz@gnu.org> wrote:
> > Is it possible that gnome-terminal lies to us about its height, when
> > you disable its own menu bar?  What do the following evaluate to, in
> > the situation where you see the problem?
> >
> >   M-: (window-height) RET
> 
> 22 (#o26, #x16)
> 
> >   M-: (window-screen-lines) RET
> 
> 21.0

What happens if you do not disable the menu bar of gnome-terminal?
(If F10 does the wrong thing then, you can invoke menu-bar-open by its
name via M-x.)  Do the TTY menus work correctly then?  And what are
the values returned by the above functions in that case?



^ permalink raw reply	[flat|nested] 76+ messages in thread

* Re: Menus with more items than the TTY can display
  2013-10-18 19:17                                             ` Eli Zaretskii
@ 2013-10-19 10:38                                               ` martin rudalics
  2013-10-19 11:54                                                 ` Eli Zaretskii
  0 siblings, 1 reply; 76+ messages in thread
From: martin rudalics @ 2013-10-19 10:38 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: emacs-devel

 > So I'm going to claim that Emacs does TRT here, and it's some problem
 > with this specific terminal emulator.  Unless there's someone who can
 > explain what are we doing wrong.

The behavior differs when I set `resize-mini-windows' to nil or t or
when I set `max-mini-window-height' to 1.  The terminal emulator does
not know about these.  How does that fit in here?

 > Here's a script I used to "re-play" the termscript (Unix aficionados
 > will forgive me my rudimentary skills of shell scripting):
 >
 >   #! /bin/sh
 >   # Invoke as "script FILE"
 >   l=`wc -l $1 | awk '{ print $1 }'`
 >   i=1
 >   while (expr $i "<=" $l > /dev/null); do
 >     sed -n -e `echo $i`p $1 && sleep 2 && i=`expr $i "+" 1`;
 >   done
 >
 > If you use this script on your terminal, do you see any incorrect
 > display, similar to what happens when Emacs runs?

No.  The display is correct.  So can we be sure that this is a timing
issue?

martin



^ permalink raw reply	[flat|nested] 76+ messages in thread

* Re: Menus with more items than the TTY can display
  2013-10-19 10:38                                               ` martin rudalics
@ 2013-10-19 11:54                                                 ` Eli Zaretskii
  2013-10-19 13:57                                                   ` martin rudalics
  0 siblings, 1 reply; 76+ messages in thread
From: Eli Zaretskii @ 2013-10-19 11:54 UTC (permalink / raw)
  To: martin rudalics; +Cc: emacs-devel

> Date: Sat, 19 Oct 2013 12:38:52 +0200
> From: martin rudalics <rudalics@gmx.at>
> CC: emacs-devel@gnu.org
> 
>  > So I'm going to claim that Emacs does TRT here, and it's some problem
>  > with this specific terminal emulator.  Unless there's someone who can
>  > explain what are we doing wrong.
> 
> The behavior differs when I set `resize-mini-windows' to nil or t or
> when I set `max-mini-window-height' to 1.  The terminal emulator does
> not know about these.  How does that fit in here?

We write different stuff in each case, obviously.  I suspect different
cursor motion commands.  If you want to analyze these more precisely,
produce 3 termscripts where the keyboard commands were exactly the
same, then using Diff might show the differences.

>  >   #! /bin/sh
>  >   # Invoke as "script FILE"
>  >   l=`wc -l $1 | awk '{ print $1 }'`
>  >   i=1
>  >   while (expr $i "<=" $l > /dev/null); do
>  >     sed -n -e `echo $i`p $1 && sleep 2 && i=`expr $i "+" 1`;
>  >   done
>  >
>  > If you use this script on your terminal, do you see any incorrect
>  > display, similar to what happens when Emacs runs?
> 
> No.  The display is correct.  So can we be sure that this is a timing
> issue?

Most probably, yes.  If you play with the sleeping period, do you see
any differences?

Can you try without removing the menu bar produced by the terminal
itself, and see if the same problems are present then?



^ permalink raw reply	[flat|nested] 76+ messages in thread

* Re: Menus with more items than the TTY can display
  2013-10-19 11:54                                                 ` Eli Zaretskii
@ 2013-10-19 13:57                                                   ` martin rudalics
  2013-10-19 14:57                                                     ` Eli Zaretskii
  0 siblings, 1 reply; 76+ messages in thread
From: martin rudalics @ 2013-10-19 13:57 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: emacs-devel

 >> The behavior differs when I set `resize-mini-windows' to nil or t or
 >> when I set `max-mini-window-height' to 1.  The terminal emulator does
 >> not know about these.  How does that fit in here?
 >
 > We write different stuff in each case, obviously.

We?  Why?  In term.c you've bound `resize-mini-windows' to nil.

 > I suspect different
 > cursor motion commands.  If you want to analyze these more precisely,
 > produce 3 termscripts where the keyboard commands were exactly the
 > same, then using Diff might show the differences.

Too difficult :-(

 >> No.  The display is correct.  So can we be sure that this is a timing
 >> issue?
 >
 > Most probably, yes.  If you play with the sleeping period, do you see
 > any differences?

Down to 0.01, no differences.  But couldn't, in the original scenario,
Emacs redisplay (which BTW seems to redraw the modeline too) garble the
display (and termscript doesn't see that)?  Or is that a silly question?

 > Can you try without removing the menu bar produced by the terminal
 > itself, and see if the same problems are present then?

I do so for quite some time as my caps should have shown.  BTW
`window-height' and `window-screen-lines' give the same values (22 and
21.0) as for the w/o terminal menubar case.

martin



^ permalink raw reply	[flat|nested] 76+ messages in thread

* Re: Menus with more items than the TTY can display
  2013-10-19 13:57                                                   ` martin rudalics
@ 2013-10-19 14:57                                                     ` Eli Zaretskii
  2013-10-19 16:23                                                       ` Eli Zaretskii
  2013-10-19 18:36                                                       ` martin rudalics
  0 siblings, 2 replies; 76+ messages in thread
From: Eli Zaretskii @ 2013-10-19 14:57 UTC (permalink / raw)
  To: martin rudalics; +Cc: emacs-devel

> Date: Sat, 19 Oct 2013 15:57:46 +0200
> From: martin rudalics <rudalics@gmx.at>
> CC: emacs-devel@gnu.org
> 
>  >> The behavior differs when I set `resize-mini-windows' to nil or t or
>  >> when I set `max-mini-window-height' to 1.  The terminal emulator does
>  >> not know about these.  How does that fit in here?
>  >
>  > We write different stuff in each case, obviously.
> 
> We?  Why?  In term.c you've bound `resize-mini-windows' to nil.

But you reported that it didn't work, somehow.  So it doesn't have the
same effect as setting the variable manually, evidently.  (And that
change isn't installed, so only you have it in your sources.)

>  > I suspect different
>  > cursor motion commands.  If you want to analyze these more precisely,
>  > produce 3 termscripts where the keyboard commands were exactly the
>  > same, then using Diff might show the differences.
> 
> Too difficult :-(

Why is that?  You just need to count down- and up-arrow keystrokes.
Or am I missing something?

Anyway, I'm out of ideas, so please try that, and maybe we will have a
lead.

> But couldn't, in the original scenario, Emacs redisplay (which BTW
> seems to redraw the modeline too) garble the display (and termscript
> doesn't see that)?

Termscript is supposed to show everything we write to the terminal, so
I don't expect this to be possible.  Unless, that is, there's a bug,
and we don't double on the termscript some of the stuff we write to
the terminal.

Anyway, I certainly hope we don't redisplay the mode line, as that
could very easily screw up the menus (which overwrite it).

Which reminds me: if you increase the height of that terminal window,
such that the longest menu fits in its entirety without reaching the
mode line, does the problem still happen?



^ permalink raw reply	[flat|nested] 76+ messages in thread

* Re: Menus with more items than the TTY can display
  2013-10-19 14:57                                                     ` Eli Zaretskii
@ 2013-10-19 16:23                                                       ` Eli Zaretskii
  2013-10-19 18:36                                                         ` martin rudalics
  2013-10-19 18:36                                                       ` martin rudalics
  1 sibling, 1 reply; 76+ messages in thread
From: Eli Zaretskii @ 2013-10-19 16:23 UTC (permalink / raw)
  To: rudalics; +Cc: emacs-devel

The more I look at your screenshots, the more it looks to me as if
some cursor addressing commands in x coordinate direction are not
obeyed by the terminal emulator.

For example, the one where the echo area shows this:

  Write current buffer to another file    Re-read current buffer from its

It is quite clear that this happened because the second help-echo, the
one on the right, was written starting at the x-coordinate where menu
ends, and not at x = 0, as it should have.

Or take this:

  --                                      --
  Print Buffer

where both the leftmost "--" and "Print Buffer" have red background.
Here, instead of overwriting the red-background "--" with the
blue-background "--", the terminal drew the latter starting where the
menu ends, i.e. again at the wrong x-coordinate.

Etc., etc.

The question is: how come the same terminal obeys those same commands
when they are re-played (perhaps more slowly) later?

Could some termcap/terminfo specialist please help figure this out?



^ permalink raw reply	[flat|nested] 76+ messages in thread

* Re: Menus with more items than the TTY can display
  2013-10-19 14:57                                                     ` Eli Zaretskii
  2013-10-19 16:23                                                       ` Eli Zaretskii
@ 2013-10-19 18:36                                                       ` martin rudalics
  2013-10-19 19:14                                                         ` Eli Zaretskii
  1 sibling, 1 reply; 76+ messages in thread
From: martin rudalics @ 2013-10-19 18:36 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: emacs-devel

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

 > But you reported that it didn't work, somehow.  So it doesn't have the
 > same effect as setting the variable manually, evidently.  (And that
 > change isn't installed, so only you have it in your sources.)

I lied.  I don't have them any more.

 >>  > I suspect different
 >>  > cursor motion commands.  If you want to analyze these more precisely,
 >>  > produce 3 termscripts where the keyboard commands were exactly the
 >>  > same, then using Diff might show the differences.
 >>
 >> Too difficult :-(
 >
 > Why is that?  You just need to count down- and up-arrow keystrokes.

I have to count _and_ hit a key at the same time.

 > Or am I missing something?

Obviously not.

 > Anyway, I'm out of ideas, so please try that, and maybe we will have a
 > lead.

I attach two termscript files.  The first one (ts-base) is standard, the
second (ts-rmwnil) has `resize-mini-windows' set to nil (you can see it
in the final window).  I did F10, hit the down key 10 times and then F10
again.  In the ts-base case I had the "--" artefact and the sticky
highlighting as in one of the caps.

Please tell me if the differences you see have any significance.  I
can't interpret them and diffing without newlines is a pain.  I can then
continue doing anything you suggest (as long as we keep the number of
keystrokes reasonably low).

 > Which reminds me: if you increase the height of that terminal window,
 > such that the longest menu fits in its entirety without reaching the
 > mode line, does the problem still happen?

Looks like your crystal ball knows no weekend ;-) In this case there's
no problem.

One more strange thing I noted: If I invoke

script some FILE

in the terminal just before calling emacs (to avoid calling
`open-termscript' there) the bug does not happen either.

martin

[-- Attachment #2: ts-base.txt --]
[-- Type: text/plain, Size: 4496 bytes --]

^[[K^[[1;33H^[[?25l^[[7mLisp-Interaction Help^[[0m^[[39;49m^[[27m^[[6;1H^[[?12l^[[?25h^[[?12;25h^[[H^[[?25l^[[1m^[[33m^[[41m File > ^[[0m^[[39;49m^[[6;1H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[2d^[[1m^[[33m^[[41m Visit New File...              C-x C-f ^[[0m^[[39;49m
^[[1m^[[33m^[[44m Open File...                           ^[[0m^[[39;49m
^[[1m^[[33m^[[44m Open Directory...              C-x d   ^[[0m^[[39;49m
^[[1m^[[33m^[[44m Insert File...                 C-x i   ^[[0m^[[39;49m
^[[1m^[[33m^[[44m Close                                  ^[[0m^[[39;49m
^[[1m^[[33m^[[44m --                                     ^[[0m^[[39;49m
^[[37m^[[44m Save                           C-x C-s ^[[39;49m
^[[1m^[[33m^[[44m Save As...                     C-x C-w ^[[0m^[[39;49m
^[[1m^[[33m^[[44m Revert Buffer                          ^[[0m^[[39;49m
^[[1m^[[33m^[[44m Recover Crashed Session                ^[[0m^[[39;49m
^[[1m^[[33m^[[44m --                                     ^[[0m^[[39;49m
^[[1m^[[33m^[[44m Print Buffer                           ^[[0m^[[39;49m
^[[37m^[[44m Print Region                           ^[[39;49m
^[[1m^[[33m^[[44m PostScript Print Buffer                ^[[0m^[[39;49m
^[[37m^[[44m PostScript Print Region                ^[[39;49m
^[[1m^[[33m^[[44m PostScript Print Buffer (B+W)          ^[[0m^[[39;49m
^[[37m^[[44m PostScript Print Region (B+W)          ^[[39;49m
^[[1m^[[33m^[[44m --                                     ^[[0m^[[39;49m
^[[1m^[[33m^[[44m New Window Below               C-x 2   ^[[0m^[[39;49m
^[[1m^[[33m^[[44m New Window on Right            C-x 3   ^[[0m^[[39;49m
^[[37m^[[44m Remove Other Windows           C-x 1   ^[[39;49m
^[[1m^[[33m^[[44m --                                     ^[[0m^[[39;49m^[[6;1H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[24dSpecify a new file's name, to edit the file^[[6;1H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[2d^[[1m^[[33m^[[44m Visit New File...              C-x C-f ^[[0m^[[39;49m
^[[1m^[[33m^[[41m Open File...                           ^[[0m^[[39;49m


^[[?12l^[[?25h^[[?12;25h^[[?25l^[[24dRead an existing file into an Emacs buffer^[[K^[[6;1H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[3d^[[1m^[[33m^[[44m Open File...                           ^[[0m^[[39;49m
^[[1m^[[33m^[[41m Open Directory...              C-x d   ^[[0m^[[39;49m

^[[?12l^[[?25h^[[?12;25h^[[?25l^[[24;7H directory, to operate on its files^[[K^[[6;1H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[4d^[[1m^[[33m^[[44m Open Directory...              C-x d   ^[[0m^[[39;49m
^[[1m^[[33m^[[41m Insert File...                 C-x i   ^[[0m^[[39;49m
^[[?12l^[[?25h^[[?12;25h^[[?25l^[[24dInsert another file into current buffer^[[K^[[6;1H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[A^[[1m^[[33m^[[44m Insert File...                 C-x i   ^[[0m^[[39;49m
^[[1m^[[33m^[[41m Close                                  ^[[0m^[[39;49m\r^[[?12l^[[?25h^[[?12;25h^[[?25l^[[24dDiscard (kill)^[[10P^[[6;1H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[1m^[[33m^[[44m Close                                  ^[[0m^[[39;49m
^[[1m^[[33m^[[41m --                                     ^[[0m^[[39;49m\r^[[A^[[?12l^[[?25h^[[?12;25h^[[?25l^[[24d^[[K^[[6d^[[?12l^[[?25h^[[?12;25h^[[?25l
^[[1m^[[33m^[[44m --                                     ^[[0m^[[39;49m
^[[37m^[[41m Save                           C-x C-s ^[[39;49m^[[6;1H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[24dSave current buffer to its file^[[6;1H^[[?12l^[[?25h^[[?12;25h^[[?25l

^[[37m^[[44m Save                           C-x C-s ^[[39;49m
^[[1m^[[33m^[[41m Save As...                     C-x C-w ^[[0m^[[39;49m^[[6;1H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[24dWrite current buffer to another file^[[6;1H^[[?12l^[[?25h^[[?12;25h^[[?25l


^[[1m^[[33m^[[44m Save As...                     C-x C-w ^[[0m^[[39;49m
^[[1m^[[33m^[[41m Revert Buffer                          ^[[0m^[[39;49m^[[6;1H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[24dRe-read current buffer from its^[[6;1H^[[?12l^[[?25h^[[?12;25h^[[?25l



^[[1m^[[33m^[[44m Revert Buffer                          ^[[0m^[[39;49m
^[[1m^[[33m^[[41m Recover Crashed Session                ^[[0m^[[39;49m^[[6;1H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[24;3Hcover edits from a crashed session^[[6;1H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[11d^[[1m^[[33m^[[44m Recover Crashed Session                ^[[0m^[[39;49m
^[[1m^[[33m^[[41m --                                     ^[[0m^[[39;49m^[[6;1H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[24d^[[K^[[6d^[[?12l^[[?25h^[[?12;25h^[[?25l^[[?12l^[[?25h^[[?12;25h^[[H^[[?25l^[[7mFile Edi^[[0m^[[39;49m^[[27m
^[[31m;; This buffer is for notes you don't wa^[[39;49m
^[[31m;; If you want to create a file, visit t^[[39;49m
^[[31m;; then enter the text in that file's ow^[[39;49m
^[[K
^[[K
^[[K
^[[K
^[[K
^[[K
^[[K
^[[K
^[[K
^[[K
^[[K
^[[K
^[[K
^[[K
^[[K
^[[K
^[[K
^[[K
^[[7m-UUU:----F1  ^[[0m^[[39;49m^[[27m^[[7m^[[1m*scratch*   ^[[0m^[[39;49m^[[27m^[[7m   All L5     (^[[0m^[[39;49m^[[27m^[[6;1H^[[?12l^[[?25h^[[?12;25h

[-- Attachment #3: ts-rmwnil.txt --]
[-- Type: text/plain, Size: 4600 bytes --]

^[[K^[[1;33H^[[?25l^[[7mLisp-Interaction Help^[[0m^[[39;49m^[[27m^[[6;31H^[[?12l^[[?25h^[[?12;25h^[[H^[[?25l^[[1m^[[33m^[[41m File > ^[[0m^[[39;49m^[[6;31H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[H
^[[1m^[[33m^[[41m Visit New File...              C-x C-f ^[[0m^[[39;49m
^[[1m^[[33m^[[44m Open File...                           ^[[0m^[[39;49m
^[[1m^[[33m^[[44m Open Directory...              C-x d   ^[[0m^[[39;49m
^[[1m^[[33m^[[44m Insert File...                 C-x i   ^[[0m^[[39;49m
^[[1m^[[33m^[[44m Close                                  ^[[0m^[[39;49m
^[[1m^[[33m^[[44m --                                     ^[[0m^[[39;49m
^[[37m^[[44m Save                           C-x C-s ^[[39;49m
^[[1m^[[33m^[[44m Save As...                     C-x C-w ^[[0m^[[39;49m
^[[1m^[[33m^[[44m Revert Buffer                          ^[[0m^[[39;49m
^[[1m^[[33m^[[44m Recover Crashed Session                ^[[0m^[[39;49m
^[[1m^[[33m^[[44m --                                     ^[[0m^[[39;49m
^[[1m^[[33m^[[44m Print Buffer                           ^[[0m^[[39;49m
^[[37m^[[44m Print Region                           ^[[39;49m
^[[1m^[[33m^[[44m PostScript Print Buffer                ^[[0m^[[39;49m
^[[37m^[[44m PostScript Print Region                ^[[39;49m
^[[1m^[[33m^[[44m PostScript Print Buffer (B+W)          ^[[0m^[[39;49m
^[[37m^[[44m PostScript Print Region (B+W)          ^[[39;49m
^[[1m^[[33m^[[44m --                                     ^[[0m^[[39;49m
^[[1m^[[33m^[[44m New Window Below               C-x 2   ^[[0m^[[39;49m
^[[1m^[[33m^[[44m New Window on Right            C-x 3   ^[[0m^[[39;49m
^[[37m^[[44m Remove Other Windows           C-x 1   ^[[39;49m
^[[1m^[[33m^[[44m --                                     ^[[0m^[[39;49m^[[6;31H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[24;1HSpecify a new file's name, to edit the file^[[6;31H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[H
^[[1m^[[33m^[[44m Visit New File...              C-x C-f ^[[0m^[[39;49m
^[[1m^[[33m^[[41m Open File...                           ^[[0m^[[39;49m^[[6;31H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[24;1HRead an existing file into an Emacs buffer^[[K^[[6;31H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[H

^[[1m^[[33m^[[44m Open File...                           ^[[0m^[[39;49m
^[[1m^[[33m^[[41m Open Directory...              C-x d   ^[[0m^[[39;49m^[[6;31H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[24;7H directory, to operate on its files^[[K^[[6;31H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[4;1H^[[1m^[[33m^[[44m Open Directory...              C-x d   ^[[0m^[[39;49m
^[[1m^[[33m^[[41m Insert File...                 C-x i   ^[[0m^[[39;49m^[[6;31H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[24;1HInsert another file into current buffer^[[K^[[6;31H^[[?12l^[[?25h^[[?12;25h^[[?25l\r^[[A^[[1m^[[33m^[[44m Insert File...                 C-x i   ^[[0m^[[39;49m
^[[1m^[[33m^[[41m Close                                  ^[[0m^[[39;49m^[[6;31H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[24;1HDiscard (kill)^[[10P^[[6;31H^[[?12l^[[?25h^[[?12;25h^[[?25l\r^[[1m^[[33m^[[44m Close                                  ^[[0m^[[39;49m
^[[1m^[[33m^[[41m --                                     ^[[0m^[[39;49m^[[6;31H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[24;1H^[[K^[[6;31H^[[?12l^[[?25h^[[?12;25h^[[?25l
^[[1m^[[33m^[[44m --                                     ^[[0m^[[39;49m
^[[37m^[[41m Save                           C-x C-s ^[[39;49m^[[6;31H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[24;1HSave current buffer to its file^[[6;31H^[[?12l^[[?25h^[[?12;25h^[[?25l

^[[37m^[[44m Save                           C-x C-s ^[[39;49m
^[[1m^[[33m^[[41m Save As...                     C-x C-w ^[[0m^[[39;49m^[[6;31H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[24;1HWrite current buffer to another file^[[6;31H^[[?12l^[[?25h^[[?12;25h^[[?25l


^[[1m^[[33m^[[44m Save As...                     C-x C-w ^[[0m^[[39;49m
^[[1m^[[33m^[[41m Revert Buffer                          ^[[0m^[[39;49m^[[6;31H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[24;1HRe-read current buffer from its^[[6;31H^[[?12l^[[?25h^[[?12;25h^[[?25l



^[[1m^[[33m^[[44m Revert Buffer                          ^[[0m^[[39;49m
^[[1m^[[33m^[[41m Recover Crashed Session                ^[[0m^[[39;49m^[[6;31H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[24;3Hcover edits from a crashed session^[[6;31H^[[?12l^[[?25h^[[?12;25h^[[?25l




^[[1m^[[33m^[[44m Recover Crashed Session                ^[[0m^[[39;49m
^[[1m^[[33m^[[41m --                                     ^[[0m^[[39;49m^[[6;31H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[24;1H^[[K^[[6;31H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[?12l^[[?25h^[[?12;25h^[[H^[[?25l^[[7mFile Edi^[[0m^[[39;49m^[[27m
^[[31m;; This buffer is for notes you don't wa^[[39;49m
^[[31m;; If you want to create a file, visit t^[[39;49m
^[[31m;; then enter the text in that file's ow^[[39;49m
^[[K
(setq resize-mini-windows nil)^[[K
^[[K
^[[K
^[[K
^[[K
^[[K
^[[K
^[[K
^[[K
^[[K
^[[K
^[[K
^[[K
^[[K
^[[K
^[[K
^[[K
^[[7m-UUU:**--F1  ^[[0m^[[39;49m^[[27m^[[7m^[[1m*scratch*   ^[[0m^[[39;49m^[[27m^[[7m   All L5     (^[[0m^[[39;49m^[[27m^[[6;31H^[[?12l^[[?25h^[[?12;25h

^ permalink raw reply	[flat|nested] 76+ messages in thread

* Re: Menus with more items than the TTY can display
  2013-10-19 16:23                                                       ` Eli Zaretskii
@ 2013-10-19 18:36                                                         ` martin rudalics
  2013-10-19 19:15                                                           ` Eli Zaretskii
  0 siblings, 1 reply; 76+ messages in thread
From: martin rudalics @ 2013-10-19 18:36 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: emacs-devel

 > It is quite clear that this happened because the second help-echo, the
 > one on the right, was written starting at the x-coordinate where menu
 > ends, and not at x = 0, as it should have.

Sometimes the second help-echo starts some characters _left_ of the
position where the menu ends.

martin



^ permalink raw reply	[flat|nested] 76+ messages in thread

* Re: Menus with more items than the TTY can display
  2013-10-19 18:36                                                       ` martin rudalics
@ 2013-10-19 19:14                                                         ` Eli Zaretskii
  2013-10-20 10:19                                                           ` martin rudalics
  0 siblings, 1 reply; 76+ messages in thread
From: Eli Zaretskii @ 2013-10-19 19:14 UTC (permalink / raw)
  To: martin rudalics; +Cc: emacs-devel

> Date: Sat, 19 Oct 2013 20:36:07 +0200
> From: martin rudalics <rudalics@gmx.at>
> CC: emacs-devel@gnu.org
> 
> I attach two termscript files.  The first one (ts-base) is standard, the
> second (ts-rmwnil) has `resize-mini-windows' set to nil (you can see it
> in the final window).  I did F10, hit the down key 10 times and then F10
> again.  In the ts-base case I had the "--" artefact and the sticky
> highlighting as in one of the caps.
> 
> Please tell me if the differences you see have any significance.

They do, thanks.  The differences that caught my eyes are precisely in
cursor addressing, but there might be more.  I will analyze them and
see what I can find.

>  > Which reminds me: if you increase the height of that terminal window,
>  > such that the longest menu fits in its entirety without reaching the
>  > mode line, does the problem still happen?
> 
> Looks like your crystal ball knows no weekend ;-) In this case there's
> no problem.

Is it also true that the problem disappears as soon as the menu stops
overwriting the mode line?  If not, what is the minimum number of line
between the bottom of the menu and the mode line that we need to keep
to prevent the problem from happening?

> One more strange thing I noted: If I invoke
> 
> script some FILE
> 
> in the terminal just before calling emacs (to avoid calling
> `open-termscript' there) the bug does not happen either.

AFAIK, 'script' forks a shell and reads its output through a pipe (or
maybe a pty), which also slows down the terminal writes.  Or maybe
something else is at work here.

Thanks.



^ permalink raw reply	[flat|nested] 76+ messages in thread

* Re: Menus with more items than the TTY can display
  2013-10-19 18:36                                                         ` martin rudalics
@ 2013-10-19 19:15                                                           ` Eli Zaretskii
  2013-10-20 10:20                                                             ` martin rudalics
  0 siblings, 1 reply; 76+ messages in thread
From: Eli Zaretskii @ 2013-10-19 19:15 UTC (permalink / raw)
  To: martin rudalics; +Cc: emacs-devel

> Date: Sat, 19 Oct 2013 20:36:18 +0200
> From: martin rudalics <rudalics@gmx.at>
> CC: emacs-devel@gnu.org
> 
>  > It is quite clear that this happened because the second help-echo, the
>  > one on the right, was written starting at the x-coordinate where menu
>  > ends, and not at x = 0, as it should have.
> 
> Sometimes the second help-echo starts some characters _left_ of the
> position where the menu ends.

Examples?  Are those per chance the cases where Emacs writes only part
of the new line, because it shared some characters with the old one?
Like when Emacs needs to replace "Foobar" with "Foobaz", and writes
only "baz" starting at the 4th character?



^ permalink raw reply	[flat|nested] 76+ messages in thread

* Re: Menus with more items than the TTY can display
  2013-10-19  7:43                                   ` Eli Zaretskii
@ 2013-10-19 22:51                                     ` Xue Fuqiao
  2013-10-20  2:44                                       ` Eli Zaretskii
  0 siblings, 1 reply; 76+ messages in thread
From: Xue Fuqiao @ 2013-10-19 22:51 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: rudalics, emacs-devel

On Sat, Oct 19, 2013 at 3:43 PM, Eli Zaretskii <eliz@gnu.org> wrote:
>> > Is it possible that gnome-terminal lies to us about its height, when
>> > you disable its own menu bar?  What do the following evaluate to, in
>> > the situation where you see the problem?
>> >
>> >   M-: (window-height) RET
>>
>> 22 (#o26, #x16)
>>
>> >   M-: (window-screen-lines) RET
>>
>> 21.0
>
> What happens if you do not disable the menu bar of gnome-terminal?
> (If F10 does the wrong thing then, you can invoke menu-bar-open by its
> name via M-x.)  Do the TTY menus work correctly then?

Yes.

> And what are the values returned by the above functions in that case?

The same as above.

-- 
Best regards, Xue Fuqiao.
http://www.gnu.org/software/emacs/



^ permalink raw reply	[flat|nested] 76+ messages in thread

* Re: Menus with more items than the TTY can display
  2013-10-19 22:51                                     ` Xue Fuqiao
@ 2013-10-20  2:44                                       ` Eli Zaretskii
  0 siblings, 0 replies; 76+ messages in thread
From: Eli Zaretskii @ 2013-10-20  2:44 UTC (permalink / raw)
  To: Xue Fuqiao; +Cc: rudalics, emacs-devel

> Date: Sun, 20 Oct 2013 06:51:57 +0800
> From: Xue Fuqiao <xfq.free@gmail.com>
> Cc: rudalics@gmx.at, emacs-devel <emacs-devel@gnu.org>
> 
> > What happens if you do not disable the menu bar of gnome-terminal?
> > (If F10 does the wrong thing then, you can invoke menu-bar-open by its
> > name via M-x.)  Do the TTY menus work correctly then?
> 
> Yes.

Thanks.  That contradicts what Martin sees.



^ permalink raw reply	[flat|nested] 76+ messages in thread

* Re: Menus with more items than the TTY can display
  2013-10-19 19:14                                                         ` Eli Zaretskii
@ 2013-10-20 10:19                                                           ` martin rudalics
  2013-10-20 16:19                                                             ` Eli Zaretskii
  0 siblings, 1 reply; 76+ messages in thread
From: martin rudalics @ 2013-10-20 10:19 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: emacs-devel

 > Is it also true that the problem disappears as soon as the menu stops
 > overwriting the mode line?

No.  The problem disappears "earlier".

 > If not, what is the minimum number of line
 > between the bottom of the menu and the mode line that we need to keep
 > to prevent the problem from happening?

The problem disappears when I increase the size of the Emacs window from
22/21.0 (`window-height'/`window-screen-lines') to 24/23.0 which is,
however, not sufficient to cover the entire File menu - the menu item
"New Frame on Display" initially overlays the mode line in that case.

martin



^ permalink raw reply	[flat|nested] 76+ messages in thread

* Re: Menus with more items than the TTY can display
  2013-10-19 19:15                                                           ` Eli Zaretskii
@ 2013-10-20 10:20                                                             ` martin rudalics
  2013-10-20 16:38                                                               ` Eli Zaretskii
  0 siblings, 1 reply; 76+ messages in thread
From: martin rudalics @ 2013-10-20 10:20 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: emacs-devel

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

 > Examples?  Are those per chance the cases where Emacs writes only part
 > of the new line, because it shared some characters with the old one?
 > Like when Emacs needs to replace "Foobar" with "Foobaz", and writes
 > only "baz" starting at the 4th character?

I can't remember but it's possible.  Unfortunately, I can't reproduce it
currently very well.  The attached screenshot is not representative of
what I mean.  It shows that the help echo "Insert ..." can start before
the position where the menu ends but there's already some other gruft
before it.  Believe me that I've seen an echo area where text like "rate
on its file" doesn't appear but the first help echo is written out
correctly, followed by some spaces, followed by the second help echo
written out correctly and the second help echo does not align with the
right border of the menu but starts on the left of it.

Reproducing things reliably is practically impossible.  Somehow, the
state after killing a terminal or terminating emacs in it seems to
affect the next invocation of the terminal and/or emacs.

martin

[-- Attachment #2: help-echo.png --]
[-- Type: image/png, Size: 70978 bytes --]

^ permalink raw reply	[flat|nested] 76+ messages in thread

* Re: Menus with more items than the TTY can display
  2013-10-20 10:19                                                           ` martin rudalics
@ 2013-10-20 16:19                                                             ` Eli Zaretskii
  2013-10-20 18:41                                                               ` martin rudalics
  0 siblings, 1 reply; 76+ messages in thread
From: Eli Zaretskii @ 2013-10-20 16:19 UTC (permalink / raw)
  To: martin rudalics; +Cc: emacs-devel

> Date: Sun, 20 Oct 2013 12:19:34 +0200
> From: martin rudalics <rudalics@gmx.at>
> CC: emacs-devel@gnu.org
> 
>  > Is it also true that the problem disappears as soon as the menu stops
>  > overwriting the mode line?
> 
> No.  The problem disappears "earlier".
> 
>  > If not, what is the minimum number of line
>  > between the bottom of the menu and the mode line that we need to keep
>  > to prevent the problem from happening?
> 
> The problem disappears when I increase the size of the Emacs window from
> 22/21.0 (`window-height'/`window-screen-lines') to 24/23.0 which is,
> however, not sufficient to cover the entire File menu - the menu item
> "New Frame on Display" initially overlays the mode line in that case.

Interesting.  Does anything change in the 22.21.0 frame case if you
customize tty-menu-enabled-face to not have the bold attribute, and/or
use the same color as the tty-menu-disabled-face?



^ permalink raw reply	[flat|nested] 76+ messages in thread

* Re: Menus with more items than the TTY can display
  2013-10-20 10:20                                                             ` martin rudalics
@ 2013-10-20 16:38                                                               ` Eli Zaretskii
  2013-10-20 18:41                                                                 ` martin rudalics
  0 siblings, 1 reply; 76+ messages in thread
From: Eli Zaretskii @ 2013-10-20 16:38 UTC (permalink / raw)
  To: martin rudalics; +Cc: emacs-devel

> Date: Sun, 20 Oct 2013 12:20:30 +0200
> From: martin rudalics <rudalics@gmx.at>
> CC: emacs-devel@gnu.org
> 
>  > Examples?  Are those per chance the cases where Emacs writes only part
>  > of the new line, because it shared some characters with the old one?
>  > Like when Emacs needs to replace "Foobar" with "Foobaz", and writes
>  > only "baz" starting at the 4th character?
> 
> I can't remember but it's possible.  Unfortunately, I can't reproduce it
> currently very well.  The attached screenshot is not representative of
> what I mean.  It shows that the help echo "Insert ..." can start before
> the position where the menu ends but there's already some other gruft
> before it.  Believe me that I've seen an echo area where text like "rate
> on its file" doesn't appear but the first help echo is written out
> correctly, followed by some spaces, followed by the second help echo
> written out correctly and the second help echo does not align with the
> right border of the menu but starts on the left of it.

I believe this happens when Emacs deletes and inserts characters on
the current line to optimize its screen writes.  Emacs does that when
the current and the desired contents of a screen line share some
characters at the beginning and/or at the end.

> Reproducing things reliably is practically impossible.  Somehow, the
> state after killing a terminal or terminating emacs in it seems to
> affect the next invocation of the terminal and/or emacs.

Too bad, as this might play nasty games with our minds.

Anyway, I've analyzed the termscript files you've posted.  At least
some of the differences are due to the fact that you set
resize-mini-windows by evaluating the setq form in the *scratch*
buffer.  That has the side effect of starting the menu display with
the cursor in a position that is different from when you start the
menu right after entering Emacs.  The crucial difference is that in
the latter case, the cursor is at the leftmost column, so many cursor
addressing commands omit the x coordinate, assuming that the terminal
will keep the column address while changing only the row.

The next request might sound silly, but please humor me.  Please
repeat the experiment with setting resize-mini-windows to nil, and
with the original 22/21.0 frame size, but this time set
resize-mini-windows via M-:, and make sure the cursor is in the same
position as when you enter Emacs.  Please do the same 10 presses on
the down arrow key as you did before, so that I could compare the
termscripts again.  I expect the termscripts to be identical in this
case.

Note that I half expect the magical resize-mini-windows effect to
disappear, when you do the above, i.e. I expect you to see the problem
even with resize-mini-windows nil.  If this is indeed so, it is a Good
Thing, because I cannot imagine any relation between that variable and
what you see.

Finally, after you do all that, please comment out the line marked
below at the end of tty_menu_display, recompile, and see if the
problem persists.

	display_tty_menu_item (menu->text[j], max_width, face, x, y + i,
			       menu->submenu[j] != NULL);
      }
    update_frame_with_menu (sf);
    cursor_to (sf, row, col);  <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
  }

Thanks.



^ permalink raw reply	[flat|nested] 76+ messages in thread

* Re: Menus with more items than the TTY can display
  2013-10-20 16:38                                                               ` Eli Zaretskii
@ 2013-10-20 18:41                                                                 ` martin rudalics
  2013-10-20 19:16                                                                   ` Eli Zaretskii
  0 siblings, 1 reply; 76+ messages in thread
From: martin rudalics @ 2013-10-20 18:41 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: emacs-devel

 > The next request might sound silly, but please humor me.  Please
 > repeat the experiment with setting resize-mini-windows to nil, and
 > with the original 22/21.0 frame size, but this time set
 > resize-mini-windows via M-:, and make sure the cursor is in the same
 > position as when you enter Emacs.  Please do the same 10 presses on
 > the down arrow key as you did before, so that I could compare the
 > termscripts again.  I expect the termscripts to be identical in this
 > case.

I didn't even care to check: Typing at least one character into the
*scratch* window makes the problem disappear.  It's only when I type
nothing into the window that the problem persists.  What a silly red
herring I dished up here.

(If you still think that I should compare the termscript files I'll
obviously do so.)

 > Note that I half expect the magical resize-mini-windows effect to
 > disappear, when you do the above, i.e. I expect you to see the problem
 > even with resize-mini-windows nil.  If this is indeed so, it is a Good
 > Thing, because I cannot imagine any relation between that variable and
 > what you see.

OK.  Then we have at least one good thing now.

 > Finally, after you do all that, please comment out the line marked
 > below at the end of tty_menu_display, recompile, and see if the
 > problem persists.
 >
 > 	display_tty_menu_item (menu->text[j], max_width, face, x, y + i,
 > 			       menu->submenu[j] != NULL);
 >       }
 >     update_frame_with_menu (sf);
 >     cursor_to (sf, row, col);  <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
 >   }

Unfortunately the problem persists with this line commented out.

martin



^ permalink raw reply	[flat|nested] 76+ messages in thread

* Re: Menus with more items than the TTY can display
  2013-10-20 16:19                                                             ` Eli Zaretskii
@ 2013-10-20 18:41                                                               ` martin rudalics
  2013-10-20 19:27                                                                 ` Eli Zaretskii
  0 siblings, 1 reply; 76+ messages in thread
From: martin rudalics @ 2013-10-20 18:41 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: emacs-devel

> Interesting.  Does anything change in the 22.21.0 frame case if you
> customize tty-menu-enabled-face to not have the bold attribute, and/or
> use the same color as the tty-menu-disabled-face?

The problem persists without bold attributes and when using the same
faces for enabled and disabled items.

martin




^ permalink raw reply	[flat|nested] 76+ messages in thread

* Re: Menus with more items than the TTY can display
  2013-10-20 18:41                                                                 ` martin rudalics
@ 2013-10-20 19:16                                                                   ` Eli Zaretskii
  0 siblings, 0 replies; 76+ messages in thread
From: Eli Zaretskii @ 2013-10-20 19:16 UTC (permalink / raw)
  To: martin rudalics; +Cc: emacs-devel

> Date: Sun, 20 Oct 2013 20:41:36 +0200
> From: martin rudalics <rudalics@gmx.at>
> CC: emacs-devel@gnu.org
> 
>  > The next request might sound silly, but please humor me.  Please
>  > repeat the experiment with setting resize-mini-windows to nil, and
>  > with the original 22/21.0 frame size, but this time set
>  > resize-mini-windows via M-:, and make sure the cursor is in the same
>  > position as when you enter Emacs.  Please do the same 10 presses on
>  > the down arrow key as you did before, so that I could compare the
>  > termscripts again.  I expect the termscripts to be identical in this
>  > case.
> 
> I didn't even care to check: Typing at least one character into the
> *scratch* window makes the problem disappear.  It's only when I type
> nothing into the window that the problem persists.  What a silly red
> herring I dished up here.

Don't feel bad, you couldn't possibly know.  It's not before I saw in
the script that Emacs insists on returning the cursor to column 31
after each operation, that I figured out what was going on.

> (If you still think that I should compare the termscript files I'll
> obviously do so.)

No need, this issue is clear.

>  > Note that I half expect the magical resize-mini-windows effect to
>  > disappear, when you do the above, i.e. I expect you to see the problem
>  > even with resize-mini-windows nil.  If this is indeed so, it is a Good
>  > Thing, because I cannot imagine any relation between that variable and
>  > what you see.
> 
> OK.  Then we have at least one good thing now.
> 
>  > Finally, after you do all that, please comment out the line marked
>  > below at the end of tty_menu_display, recompile, and see if the
>  > problem persists.
>  >
>  > 	display_tty_menu_item (menu->text[j], max_width, face, x, y + i,
>  > 			       menu->submenu[j] != NULL);
>  >       }
>  >     update_frame_with_menu (sf);
>  >     cursor_to (sf, row, col);  <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
>  >   }
> 
> Unfortunately the problem persists with this line commented out.

Too bad, although it was a stab in the dark.



^ permalink raw reply	[flat|nested] 76+ messages in thread

* Re: Menus with more items than the TTY can display
  2013-10-20 18:41                                                               ` martin rudalics
@ 2013-10-20 19:27                                                                 ` Eli Zaretskii
  2013-10-21  7:19                                                                   ` martin rudalics
  0 siblings, 1 reply; 76+ messages in thread
From: Eli Zaretskii @ 2013-10-20 19:27 UTC (permalink / raw)
  To: martin rudalics; +Cc: emacs-devel

> Date: Sun, 20 Oct 2013 20:41:43 +0200
> From: martin rudalics <rudalics@gmx.at>
> CC: emacs-devel@gnu.org
> 
> > Interesting.  Does anything change in the 22.21.0 frame case if you
> > customize tty-menu-enabled-face to not have the bold attribute, and/or
> > use the same color as the tty-menu-disabled-face?
> 
> The problem persists without bold attributes and when using the same
> faces for enabled and disabled items.

Thanks.

So, to summarize what we discovered until now:

  . The problem seems to happen because, for some reason, the cursor
    does not keep its horizontal coordinate, and Emacs is not aware of
    that.  If cursor motion commands emitted by Emacs explicitly
    specify an x-coordinate, the problem disappears.

  . This seems to happen only when output is delivered at high rate to
    the screen, and seems to disappear when output is slowed down,
    e.g. by hitting GDB breakpoints, even if their commands
    immediately continue the debuggee.

  . Enlarging the frame by merely 2 lines, to 26 lines overall, makes
    the problem disappear.

  . Faces used to display the menus don't have any effect on the
    problem.

Anything else?



^ permalink raw reply	[flat|nested] 76+ messages in thread

* Re: Menus with more items than the TTY can display
  2013-10-20 19:27                                                                 ` Eli Zaretskii
@ 2013-10-21  7:19                                                                   ` martin rudalics
  2013-10-21 16:42                                                                     ` Eli Zaretskii
  0 siblings, 1 reply; 76+ messages in thread
From: martin rudalics @ 2013-10-21  7:19 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: emacs-devel

 > So, to summarize what we discovered until now:
 >
 >   . The problem seems to happen because, for some reason, the cursor
 >     does not keep its horizontal coordinate, and Emacs is not aware of
 >     that.  If cursor motion commands emitted by Emacs explicitly
 >     specify an x-coordinate, the problem disappears.

For the problem to occur, the cursor must be at a leftmost position of
the frame, regardless of whether it's in the (possibly split) root
window or the echo area.

 >   . This seems to happen only when output is delivered at high rate to
 >     the screen, and seems to disappear when output is slowed down,
 >     e.g. by hitting GDB breakpoints, even if their commands
 >     immediately continue the debuggee.
 >
 >   . Enlarging the frame by merely 2 lines, to 26 lines overall, makes
 >     the problem disappear.

Changing the number of columns of the frame does not seem to have any
impact.

 >   . Faces used to display the menus don't have any effect on the
 >     problem.
 >
 > Anything else?

The problem manifests itself with fonts larger than 10 pts.  With fonts
less equal 10 pts the problem does not occur.

martin



^ permalink raw reply	[flat|nested] 76+ messages in thread

* Re: Menus with more items than the TTY can display
  2013-10-21  7:19                                                                   ` martin rudalics
@ 2013-10-21 16:42                                                                     ` Eli Zaretskii
  2013-10-21 17:34                                                                       ` martin rudalics
  0 siblings, 1 reply; 76+ messages in thread
From: Eli Zaretskii @ 2013-10-21 16:42 UTC (permalink / raw)
  To: martin rudalics; +Cc: emacs-devel

> Date: Mon, 21 Oct 2013 09:19:16 +0200
> From: martin rudalics <rudalics@gmx.at>
> CC: emacs-devel@gnu.org
> 
>  > So, to summarize what we discovered until now:
>  >
>  >   . The problem seems to happen because, for some reason, the cursor
>  >     does not keep its horizontal coordinate, and Emacs is not aware of
>  >     that.  If cursor motion commands emitted by Emacs explicitly
>  >     specify an x-coordinate, the problem disappears.
> 
> For the problem to occur, the cursor must be at a leftmost position of
> the frame, regardless of whether it's in the (possibly split) root
> window or the echo area.
> 
>  >   . This seems to happen only when output is delivered at high rate to
>  >     the screen, and seems to disappear when output is slowed down,
>  >     e.g. by hitting GDB breakpoints, even if their commands
>  >     immediately continue the debuggee.
>  >
>  >   . Enlarging the frame by merely 2 lines, to 26 lines overall, makes
>  >     the problem disappear.
> 
> Changing the number of columns of the frame does not seem to have any
> impact.
> 
>  >   . Faces used to display the menus don't have any effect on the
>  >     problem.
>  >
>  > Anything else?
> 
> The problem manifests itself with fonts larger than 10 pts.  With fonts
> less equal 10 pts the problem does not occur.

Thanks.

So before we file this under "weird problem with a couple of simple
work-arounds", can I please ask you to produce one last termscript --
when the frame has 26 lines (i.e. the problem should not happen), when
you do those same 10 keystrokes?  I'd like to make sure the commands
we send to the terminal in that case are identical, except for the
obvious differences due to higher window.

TIA



^ permalink raw reply	[flat|nested] 76+ messages in thread

* Re: Menus with more items than the TTY can display
  2013-10-21 16:42                                                                     ` Eli Zaretskii
@ 2013-10-21 17:34                                                                       ` martin rudalics
  2013-10-21 18:17                                                                         ` Eli Zaretskii
  0 siblings, 1 reply; 76+ messages in thread
From: martin rudalics @ 2013-10-21 17:34 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: emacs-devel

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

 > So before we file this under "weird problem with a couple of simple
 > work-arounds", can I please ask you to produce one last termscript --
 > when the frame has 26 lines (i.e. the problem should not happen), when
 > you do those same 10 keystrokes?  I'd like to make sure the commands
 > we send to the terminal in that case are identical, except for the
 > obvious differences due to higher window.

Attached find two termscript files made with the most recent trunk:

- base24.txt with a 24 lines frame

- base26.txt with a 26 lines frame

martin

[-- Attachment #2: base24.txt --]
[-- Type: text/plain, Size: 4495 bytes --]

^[[K^[[1;33H^[[?25l^[[7mLisp-Interaction Help^[[0m^[[39;49m^[[27m^[[6;1H^[[?12l^[[?25h^[[?12;25h^[[H^[[?25l^[[1m^[[33m^[[41m File > ^[[0m^[[39;49m^[[6;1H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[2d^[[1m^[[33m^[[41m Visit New File...              C-x C-f ^[[0m^[[39;49m
^[[1m^[[33m^[[44m Open File...                           ^[[0m^[[39;49m
^[[1m^[[33m^[[44m Open Directory...              C-x d   ^[[0m^[[39;49m
^[[1m^[[33m^[[44m Insert File...                 C-x i   ^[[0m^[[39;49m
^[[1m^[[33m^[[44m Close                                  ^[[0m^[[39;49m
^[[1m^[[33m^[[44m --                                     ^[[0m^[[39;49m
^[[37m^[[44m Save                           C-x C-s ^[[39;49m
^[[1m^[[33m^[[44m Save As...                     C-x C-w ^[[0m^[[39;49m
^[[1m^[[33m^[[44m Revert Buffer                          ^[[0m^[[39;49m
^[[1m^[[33m^[[44m Recover Crashed Session                ^[[0m^[[39;49m
^[[1m^[[33m^[[44m --                                     ^[[0m^[[39;49m
^[[1m^[[33m^[[44m Print Buffer                           ^[[0m^[[39;49m
^[[37m^[[44m Print Region                           ^[[39;49m
^[[1m^[[33m^[[44m PostScript Print Buffer                ^[[0m^[[39;49m
^[[37m^[[44m PostScript Print Region                ^[[39;49m
^[[1m^[[33m^[[44m PostScript Print Buffer (B+W)          ^[[0m^[[39;49m
^[[37m^[[44m PostScript Print Region (B+W)          ^[[39;49m
^[[1m^[[33m^[[44m --                                     ^[[0m^[[39;49m
^[[1m^[[33m^[[44m New Window Below               C-x 2   ^[[0m^[[39;49m
^[[1m^[[33m^[[44m New Window on Right            C-x 3   ^[[0m^[[39;49m
^[[37m^[[44m Remove Other Windows           C-x 1   ^[[39;49m
^[[1m^[[33m^[[44m --                                     ^[[0m^[[39;49m^[[6;1H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[24dSpecify a new file's name, to edit the file^[[6;1H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[2d^[[1m^[[33m^[[44m Visit New File...              C-x C-f ^[[0m^[[39;49m
^[[1m^[[33m^[[41m Open File...                           ^[[0m^[[39;49m


^[[?12l^[[?25h^[[?12;25h^[[?25l^[[24dRead an existing file into an Emacs buffer^[[K^[[6;1H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[3d^[[1m^[[33m^[[44m Open File...                           ^[[0m^[[39;49m
^[[1m^[[33m^[[41m Open Directory...              C-x d   ^[[0m^[[39;49m

^[[?12l^[[?25h^[[?12;25h^[[?25l^[[24;7H directory, to operate on its files^[[K^[[6;1H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[4d^[[1m^[[33m^[[44m Open Directory...              C-x d   ^[[0m^[[39;49m
^[[1m^[[33m^[[41m Insert File...                 C-x i   ^[[0m^[[39;49m
^[[?12l^[[?25h^[[?12;25h^[[?25l^[[24dInsert another file into current buffer^[[K^[[6;1H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[A^[[1m^[[33m^[[44m Insert File...                 C-x i   ^[[0m^[[39;49m
^[[1m^[[33m^[[41m Close                                  ^[[0m^[[39;49m\r^[[?12l^[[?25h^[[?12;25h^[[?25l^[[24dDiscard (kill)^[[10P^[[6;1H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[1m^[[33m^[[44m Close                                  ^[[0m^[[39;49m
^[[1m^[[33m^[[41m --                                     ^[[0m^[[39;49m\r^[[A^[[?12l^[[?25h^[[?12;25h^[[?25l^[[24d^[[K^[[6d^[[?12l^[[?25h^[[?12;25h^[[?25l
^[[1m^[[33m^[[44m --                                     ^[[0m^[[39;49m
^[[37m^[[41m Save                           C-x C-s ^[[39;49m^[[6;1H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[24dSave current buffer to its file^[[6;1H^[[?12l^[[?25h^[[?12;25h^[[?25l

^[[37m^[[44m Save                           C-x C-s ^[[39;49m
^[[1m^[[33m^[[41m Save As...                     C-x C-w ^[[0m^[[39;49m^[[6;1H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[24dWrite current buffer to another file^[[6;1H^[[?12l^[[?25h^[[?12;25h^[[?25l


^[[1m^[[33m^[[44m Save As...                     C-x C-w ^[[0m^[[39;49m
^[[1m^[[33m^[[41m Revert Buffer                          ^[[0m^[[39;49m^[[6;1H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[24dRe-read current buffer from its^[[6;1H^[[?12l^[[?25h^[[?12;25h^[[?25l



^[[1m^[[33m^[[44m Revert Buffer                          ^[[0m^[[39;49m
^[[1m^[[33m^[[41m Recover Crashed Session                ^[[0m^[[39;49m^[[6;1H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[24;3Hcover edits from a crashed session^[[6;1H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[11d^[[1m^[[33m^[[44m Recover Crashed Session                ^[[0m^[[39;49m
^[[1m^[[33m^[[41m --                                     ^[[0m^[[39;49m^[[6;1H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[24d^[[K^[[6d^[[?12l^[[?25h^[[?12;25h^[[?25l^[[?12l^[[?25h^[[?12;25h^[[H^[[?25l^[[7mFile Edi^[[0m^[[39;49m^[[27m
^[[31m;; This buffer is for notes you don't wa^[[39;49m
^[[31m;; If you want to create a file, visit t^[[39;49m
^[[31m;; then enter the text in that file's ow^[[39;49m
^[[K
^[[K
^[[K
^[[K
^[[K
^[[K
^[[K
^[[K
^[[K
^[[K
^[[K
^[[K
^[[K
^[[K
^[[K
^[[K
^[[K
^[[K
^[[7m-UUU:----F1  ^[[0m^[[39;49m^[[27m^[[7m^[[1m*scratch*   ^[[0m^[[39;49m^[[27m^[[7m   All L5     (^[[0m^[[39;49m^[[27m^[[6;1H^[[?12l^[[?25h^[[?12;25h

[-- Attachment #3: base26.txt --]
[-- Type: text/plain, Size: 4639 bytes --]

^[[K^[[1;33H^[[?25l^[[7mLisp-Interaction Help^[[0m^[[39;49m^[[27m^[[6;1H^[[?12l^[[?25h^[[?12;25h^[[H^[[?25l^[[1m^[[33m^[[41m File > ^[[0m^[[39;49m^[[6;1H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[2d^[[1m^[[33m^[[41m Visit New File...              C-x C-f ^[[0m^[[39;49m
^[[1m^[[33m^[[44m Open File...                           ^[[0m^[[39;49m
^[[1m^[[33m^[[44m Open Directory...              C-x d   ^[[0m^[[39;49m
^[[1m^[[33m^[[44m Insert File...                 C-x i   ^[[0m^[[39;49m
^[[1m^[[33m^[[44m Close                                  ^[[0m^[[39;49m
^[[1m^[[33m^[[44m --                                     ^[[0m^[[39;49m
^[[37m^[[44m Save                           C-x C-s ^[[39;49m
^[[1m^[[33m^[[44m Save As...                     C-x C-w ^[[0m^[[39;49m
^[[1m^[[33m^[[44m Revert Buffer                          ^[[0m^[[39;49m
^[[1m^[[33m^[[44m Recover Crashed Session                ^[[0m^[[39;49m
^[[1m^[[33m^[[44m --                                     ^[[0m^[[39;49m
^[[1m^[[33m^[[44m Print Buffer                           ^[[0m^[[39;49m
^[[37m^[[44m Print Region                           ^[[39;49m
^[[1m^[[33m^[[44m PostScript Print Buffer                ^[[0m^[[39;49m
^[[37m^[[44m PostScript Print Region                ^[[39;49m
^[[1m^[[33m^[[44m PostScript Print Buffer (B+W)          ^[[0m^[[39;49m
^[[37m^[[44m PostScript Print Region (B+W)          ^[[39;49m
^[[1m^[[33m^[[44m --                                     ^[[0m^[[39;49m
^[[1m^[[33m^[[44m New Window Below               C-x 2   ^[[0m^[[39;49m
^[[1m^[[33m^[[44m New Window on Right            C-x 3   ^[[0m^[[39;49m
^[[37m^[[44m Remove Other Windows           C-x 1   ^[[39;49m
^[[1m^[[33m^[[44m --                                     ^[[0m^[[39;49m
^[[1m^[[33m^[[44m New Frame                      C-x 5 2 ^[[0m^[[39;49m
^[[1m^[[33m^[[44m New Frame on Display...                ^[[0m^[[39;49m^[[6;1H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[26dSpecify a new file's name, to edit the file^[[6;1H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[2d^[[1m^[[33m^[[44m Visit New File...              C-x C-f ^[[0m^[[39;49m
^[[1m^[[33m^[[41m Open File...                           ^[[0m^[[39;49m


^[[?12l^[[?25h^[[?12;25h^[[?25l^[[26dRead an existing file into an Emacs buffer^[[K^[[6;1H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[3d^[[1m^[[33m^[[44m Open File...                           ^[[0m^[[39;49m
^[[1m^[[33m^[[41m Open Directory...              C-x d   ^[[0m^[[39;49m

^[[?12l^[[?25h^[[?12;25h^[[?25l^[[26;7H directory, to operate on its files^[[K^[[6;1H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[4d^[[1m^[[33m^[[44m Open Directory...              C-x d   ^[[0m^[[39;49m
^[[1m^[[33m^[[41m Insert File...                 C-x i   ^[[0m^[[39;49m
^[[?12l^[[?25h^[[?12;25h^[[?25l^[[26dInsert another file into current buffer^[[K^[[6;1H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[A^[[1m^[[33m^[[44m Insert File...                 C-x i   ^[[0m^[[39;49m
^[[1m^[[33m^[[41m Close                                  ^[[0m^[[39;49m\r^[[?12l^[[?25h^[[?12;25h^[[?25l^[[26dDiscard (kill)^[[10P^[[6;1H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[1m^[[33m^[[44m Close                                  ^[[0m^[[39;49m
^[[1m^[[33m^[[41m --                                     ^[[0m^[[39;49m\r^[[A^[[?12l^[[?25h^[[?12;25h^[[?25l^[[26d^[[K^[[6d^[[?12l^[[?25h^[[?12;25h^[[?25l
^[[1m^[[33m^[[44m --                                     ^[[0m^[[39;49m
^[[37m^[[41m Save                           C-x C-s ^[[39;49m^[[6;1H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[26dSave current buffer to its file^[[6;1H^[[?12l^[[?25h^[[?12;25h^[[?25l

^[[37m^[[44m Save                           C-x C-s ^[[39;49m
^[[1m^[[33m^[[41m Save As...                     C-x C-w ^[[0m^[[39;49m^[[6;1H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[26dWrite current buffer to another file^[[6;1H^[[?12l^[[?25h^[[?12;25h^[[?25l


^[[1m^[[33m^[[44m Save As...                     C-x C-w ^[[0m^[[39;49m
^[[1m^[[33m^[[41m Revert Buffer                          ^[[0m^[[39;49m^[[6;1H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[26dRe-read current buffer from its^[[6;1H^[[?12l^[[?25h^[[?12;25h^[[?25l



^[[1m^[[33m^[[44m Revert Buffer                          ^[[0m^[[39;49m
^[[1m^[[33m^[[41m Recover Crashed Session                ^[[0m^[[39;49m^[[6;1H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[26;3Hcover edits from a crashed session^[[6;1H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[11d^[[1m^[[33m^[[44m Recover Crashed Session                ^[[0m^[[39;49m
^[[1m^[[33m^[[41m --                                     ^[[0m^[[39;49m^[[6;1H^[[?12l^[[?25h^[[?12;25h^[[?25l^[[26d^[[K^[[6d^[[?12l^[[?25h^[[?12;25h^[[?25l^[[?12l^[[?25h^[[?12;25h^[[H^[[?25l^[[7mFile Edi^[[0m^[[39;49m^[[27m
^[[31m;; This buffer is for notes you don't wa^[[39;49m
^[[31m;; If you want to create a file, visit t^[[39;49m
^[[31m;; then enter the text in that file's ow^[[39;49m
^[[K
^[[K
^[[K
^[[K
^[[K
^[[K
^[[K
^[[K
^[[K
^[[K
^[[K
^[[K
^[[K
^[[K
^[[K
^[[K
^[[K
^[[K
^[[K
^[[K
^[[7m-UUU:----F1  ^[[0m^[[39;49m^[[27m^[[7m^[[1m*scratch*   ^[[0m^[[39;49m^[[27m^[[7m   All L5     (^[[0m^[[39;49m^[[27m^[[6;1H^[[?12l^[[?25h^[[?12;25h

^ permalink raw reply	[flat|nested] 76+ messages in thread

* Re: Menus with more items than the TTY can display
  2013-10-21 17:34                                                                       ` martin rudalics
@ 2013-10-21 18:17                                                                         ` Eli Zaretskii
  0 siblings, 0 replies; 76+ messages in thread
From: Eli Zaretskii @ 2013-10-21 18:17 UTC (permalink / raw)
  To: martin rudalics; +Cc: emacs-devel

> Date: Mon, 21 Oct 2013 19:34:42 +0200
> From: martin rudalics <rudalics@gmx.at>
> CC: emacs-devel@gnu.org
> 
>  > So before we file this under "weird problem with a couple of simple
>  > work-arounds", can I please ask you to produce one last termscript --
>  > when the frame has 26 lines (i.e. the problem should not happen), when
>  > you do those same 10 keystrokes?  I'd like to make sure the commands
>  > we send to the terminal in that case are identical, except for the
>  > obvious differences due to higher window.
> 
> Attached find two termscript files made with the most recent trunk:
> 
> - base24.txt with a 24 lines frame
> 
> - base26.txt with a 26 lines frame

Thanks.  The only differences are indeed the 2 extra lines in the menu
display, and the address of the help-echo being line 26 vs 24.  No
other differences whatsoever.

I guess this concludes this longish discussion, until and unless
someone comes up with an explanation of what we see.

Thanks again for your help in this complicated matter.



^ permalink raw reply	[flat|nested] 76+ messages in thread

end of thread, other threads:[~2013-10-21 18:17 UTC | newest]

Thread overview: 76+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-10-11 11:28 Menus with more items than the TTY can display Eli Zaretskii
2013-10-11 11:40 ` Dmitry Antipov
2013-10-11 14:43   ` Eli Zaretskii
2013-10-11 17:06     ` chad
2013-10-11 17:48       ` Eli Zaretskii
2013-10-14 15:38     ` Eli Zaretskii
2013-10-15 18:28       ` martin rudalics
2013-10-15 19:04         ` Eli Zaretskii
2013-10-16  7:44           ` martin rudalics
2013-10-16 15:19             ` Eli Zaretskii
2013-10-16 17:45               ` martin rudalics
2013-10-16 18:15                 ` Eli Zaretskii
2013-10-16 18:34                   ` martin rudalics
2013-10-16 18:59                     ` Eli Zaretskii
2013-10-17  9:27                       ` martin rudalics
2013-10-17 16:21                         ` Eli Zaretskii
2013-10-17 17:11                           ` martin rudalics
2013-10-17 17:41                             ` Eli Zaretskii
2013-10-17 18:01                               ` martin rudalics
2013-10-17 18:08                                 ` chad
2013-10-18  7:54                                   ` martin rudalics
2013-10-17 20:04                                 ` Eli Zaretskii
2013-10-18  7:54                               ` martin rudalics
2013-10-17 22:52                             ` Xue Fuqiao
2013-10-18  7:02                               ` Eli Zaretskii
2013-10-18  7:59                                 ` martin rudalics
2013-10-18 22:59                                 ` Xue Fuqiao
2013-10-19  7:43                                   ` Eli Zaretskii
2013-10-19 22:51                                     ` Xue Fuqiao
2013-10-20  2:44                                       ` Eli Zaretskii
2013-10-18  7:56                               ` martin rudalics
2013-10-18  9:51                                 ` Eli Zaretskii
2013-10-16 19:05                     ` Eli Zaretskii
2013-10-17  9:28                       ` martin rudalics
2013-10-17 16:38                         ` Eli Zaretskii
2013-10-17 17:13                           ` martin rudalics
2013-10-17 17:45                             ` Eli Zaretskii
2013-10-17 18:01                               ` martin rudalics
2013-10-17 20:06                                 ` Eli Zaretskii
2013-10-17 20:25                                   ` Eli Zaretskii
2013-10-18  7:55                                     ` martin rudalics
2013-10-18  9:32                                       ` Eli Zaretskii
2013-10-18 14:35                                         ` martin rudalics
2013-10-18 15:30                                           ` Eli Zaretskii
2013-10-18 19:17                                             ` Eli Zaretskii
2013-10-19 10:38                                               ` martin rudalics
2013-10-19 11:54                                                 ` Eli Zaretskii
2013-10-19 13:57                                                   ` martin rudalics
2013-10-19 14:57                                                     ` Eli Zaretskii
2013-10-19 16:23                                                       ` Eli Zaretskii
2013-10-19 18:36                                                         ` martin rudalics
2013-10-19 19:15                                                           ` Eli Zaretskii
2013-10-20 10:20                                                             ` martin rudalics
2013-10-20 16:38                                                               ` Eli Zaretskii
2013-10-20 18:41                                                                 ` martin rudalics
2013-10-20 19:16                                                                   ` Eli Zaretskii
2013-10-19 18:36                                                       ` martin rudalics
2013-10-19 19:14                                                         ` Eli Zaretskii
2013-10-20 10:19                                                           ` martin rudalics
2013-10-20 16:19                                                             ` Eli Zaretskii
2013-10-20 18:41                                                               ` martin rudalics
2013-10-20 19:27                                                                 ` Eli Zaretskii
2013-10-21  7:19                                                                   ` martin rudalics
2013-10-21 16:42                                                                     ` Eli Zaretskii
2013-10-21 17:34                                                                       ` martin rudalics
2013-10-21 18:17                                                                         ` Eli Zaretskii
2013-10-18  7:55                                   ` martin rudalics
2013-10-18  9:50                                     ` Eli Zaretskii
2013-10-18 14:36                                       ` martin rudalics
2013-10-18  8:36                             ` Eli Zaretskii
2013-10-18 14:35                               ` martin rudalics
2013-10-11 11:41 ` Dani Moncayo
2013-10-11 12:07   ` Dmitry Antipov
2013-10-11 14:44     ` Eli Zaretskii
2013-10-11 17:49     ` Stefan Monnier
2013-10-11 18:00       ` Eli Zaretskii

Code repositories for project(s) associated with this public inbox

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

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).