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 \n \E7 \E[?47h \E7 \E[r \E[m \E[?7h \E[?1;3;4;6l \E[4l \E8 \E> \E[4l \E[?1h \E= \E[m^O \E[1;76r \E[H \E[2J \E[H \E[2J \E[7mq:Quit d:Del u:Undel s:Save c:Mail g:Group ?:Help \rq:Q \n \E[m1 \E[5COct 16 Florian_Oelmaie ( 110) Antwort: Verst\344ndnisproblem zum Thema op\r \n2 \E[5COct 16 Peter Wintrich ( 25) ^Ntq^O>\r \n3 A big chunk comes from the termcap initialization string (and has nothing to do with line-drawing, so we can ignore that): :is=\E7\E[r\E[m\E[?7h\E[?1;3;4;6l\E[4l\E8\E>:\ 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 :eA=\E)0: 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 1c1 < # $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 $ 1745,1747c1745 < :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:\ 1782c1780 < :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 http://invisible-island.net ftp://invisible-island.net
Attachment:
pgpKlgUyMNP0S.pgp
Description: PGP signature