On Fri, Aug 13, 2004 at 09:00:13PM +0200, Joey Hess wrote:
> I've managed to capture some pstree output to a file that seems to
> reproduce the problem when I cat it in an xterm, even an xterm on
> another machine. I've attached that file. When this file is catted,
> the result is not identical to the pstree indentation problem I
> described above; only one or two lines are displated without
> indentation. I hope it's enough to help reproduce the bug.
I only see a problem with wrapping on the line containing "xterm zsh upnet"
which does the wrong thing at the "p" in "offlineimap". Rendering the
file, I see this (all characters are printable, I'm showing the full line):
\n
\E(0^Ox
\E(B
\E(0^Ox
\E(B
\E(0^Otq
\E(B4*[xterm
\E(0^Oqqq
\E(Bzsh]
\n
\E(0^Ox
\E(B
\E(0^Ox
\E(B
\E(0^Otq
\E(Bxterm
\E(0^Oqqq
\E(Bzsh
\E(0^Oqqq
\E(Bupnet
\E(0^Oqqq
\E(Bmovemail
\E(0^Oqqq
\E(Bofflineimap
\E+
\n
Note the "\E+". That's an error (in psmisc, since it has no reason to generate
something like that). There's no such escape sequence. That is, not as you
see it. \E+ followed by a final character looks like this in ctlseqs.ms:
ESC + C Designate G3 Character Set (ISO 2022)
Final character C for designating character sets (0 , A
and B apply to VT100 and up, the remainder to VT220 and
up):
C = 0 -> DEC Special Character and Line Drawing Set
C = A -> United Kingdom (UK)
C = B -> United States (USASCII)
C = 4 -> Dutch
C = C or 5 -> Finnish
C = R -> French
C = Q -> French Canadian
C = K -> German
C = Y -> Italian
C = E or 6 -> Norwegian/Danish
C = Z -> Spanish
C = H or 7 -> Swedish
C = = -> Swiss
(this doesn't apply if you're in UTF-8 mode by the way). A correctly
behaving terminal will allow some control characters in the middle of
the sequence, so the newline gets through. But when it hits a noncontrol
character such as space, it terminates the sequence (eats the characters).
I don't see the \E+ explicitly in pstree.c - it's most likely some trash
that it's producing in out_char as I noted in my first response.
--
Thomas E. Dickey
http://invisible-island.net
ftp://invisible-island.net
Attachment:
pgpem_8Uz8pMW.pgp
Description: PGP signature