On 2019-02-23 17:37:19 -0500, Thomas Dickey wrote:
> On Tue, Feb 12, 2019 at 06:48:19PM +0100, Vincent Lefevre wrote:
> > Package: ncurses-base
> > Version: 6.1+20181013-2
> > Severity: wishlist
> > 
> > terminfo description of screen and variants have:
> > 
> >   smacs=^N
> >   rmacs=^O
> > 
> > One issue is that these sequences are not recognized by "less -R".
> 
> ...a wishlist item for "less".

I had reported the issue more than 12 years ago, in 2006:

  https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=399848

> > A workaround would be to change them to:
> > 
> >   smacs=\E(0
> >   rmacs=\E(B
> > 
> > as in various other terminfo descriptions (e.g., xterm).
> > 
> > This seems to work even in the Linux consoles (virtual terminals),
> > which do not support \E(0 and \E(B, i.e. it appears that GNU Screen
> 
> hmm - see "infocmp linux".  We've discussed this before, by the way.
> 
> > does the translation for the real terminal.
> > 
> > Thus I suggest such a change, if there are no drawbacks.
> > 
> > Note: this was also suggested in
> > 
> >   https://savannah.gnu.org/bugs/?23646
> 
> not exactly - the last comment there points out that enacs has to be sent.

No, "tput enacs" returns an error in Linux consoles, and has no effect
there. For instance, in xterm:

$ echo "`tput smacs`mq`tput rmacs`> foo" > z

(i.e. this uses the \E(0 and \E(B escape sequences).

If I cat z directly in a Linux console, I get

mq> foo

but if I cat z in a GNU Screen running in a Linux console, I get

└─> foo

This means that using

  smacs=\E(0
  rmacs=\E(B

in a screen terminfo should be OK.

-- 
Vincent Lefèvre <vinc...@vinc17.net> - Web: <https://www.vinc17.net/>
100% accessible validated (X)HTML - Blog: <https://www.vinc17.net/blog/>
Work: CR INRIA - computer arithmetic / AriC project (LIP, ENS-Lyon)

Reply via email to