[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#254632: xterm update results in worse thread view in mutt running inside a GNU screen

On Tue, Jun 22, 2004 at 03:48:49AM +0200, Adrian Bunk wrote:
> The typescript file is attached.

It does show that screen isn't issuing the initialization string.
And in setting out to explain the results, I see the problem (the termcap).

Here's a readable version of the typescript from covering the initialization
through the first use of line-drawing text:

\n$ screen -r m\r
\E[7mq:Quit  d:Del  u:Undel  s:Save  c:Mail    g:Group  ?:Help                       \rq:Q
\E[5COct 16 Florian_Oelmaie ( 110) Antwort:  Verst\344ndnisproblem zum Thema op\r   
\E[5COct 16 Peter Wintrich  (  25) ^Ntq^O>\r   

A big chunk comes from the termcap initialization string (and has nothing
to do with line-drawing, so we can ignore that):


What's left consists mostly of cursor movement (\E[H), clearing (\E[J), some
text - and ^N/^O to turn on line-drawing temporarily.  What I don't see is a
string such as \E)0.  Referring to ctlseqs.ms

SO             Shift Out (Ctrl-N) -> Switch to Alternate Character Set:
               invokes the G1 character set.

ESC ) C        Designate G1 Character Set (ISO 2022)
                 C = 0  -> DEC Special Character and Line Drawing Set

This was not noticeable before #182, since xterm's initialization did
that (incorrectly).  Fixing xterm exposed this error.

The termcap should have a string such as


which would tell screen how to initialize the alternate character set.

Here's a diff of NetBSD's termcap which shows when the bug was added:

> diff netbsd.tc-1.53 netbsd.tc-1.52
< #     $NetBSD: termcap.src,v 1.53 2000/04/16 01:27:44 mycroft Exp $
> #     $NetBSD: termcap.src,v 1.52 2000/02/14 05:41:11 jun Exp $
<       :RI=\E[%dC:UP=\E[%dA:\
<       :ac=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:\
<       :ae=^O:al=\E[L:as=^N:bl=^G:cd=\E[J:\
>       :RI=\E[%dC:UP=\E[%dA:ae=^O:al=\E[L:as=^N:bl=^G:cd=\E[J:\
<       :tc=xterm-xf86-v33:
>       :tc=xterm-r6:

See that 1.53 adds some of the line-drawing features, but omits "eA".

The termcap that comes with xterm has no line-drawing (to fit in 1023
bytes, you must choose features from line-drawing, color and function
keys).  This change was from another source.  It doesn't appear to be
copied from the termcaps I'm maintaining for ncurses.  Anyway, it's
a NetBSD bug (appears to be in the current 1.84 file).

Thomas E. Dickey

Attachment: pgpyGmecCccfs.pgp
Description: PGP signature

Reply to: