Hello Loïc, and thanks for the good report. On Tuesday, December 11, 2007 at 17:30:13 +0100, Loïc Minier wrote:
> My terminal is completely garbled when I load up a particular message The only unusual thing in this message is that 4 lines begin by a character U+FEFF (the ZERO WIDTH NO-BREAK SPACE). Those chars should be invisible, like a space drawn on zero columns wide. But on your screenshot, they appear to move the second character, like the "H" of "Hi Kash", from the expected leftmost column #1 to the last column of the previous line. The same happens for the "h" of "http:", and for the "I" of "It's based on". Just like if something wrongly counted that the column width of U+FEFF was -1 instead of 0. The other garblings, like those parasite header lines, may be only secondary consequences of the above problem, and may perhaps disappear on <redraw-screen> (^L). Note that such U+FEFF has in UCS context the alternate function of a BOM (Byte Order Mark). However we're in UTF-8 context, always bigendian, where a BOM has no sense. I'm sorry I can't currently investigate more. This should be reproduced, and if confirmed then upstreamed. I attach a small test QP UTF-8 text with an U+FEFF prepending a line, and another in the middle of a word. Bye! Alain. -- « if you believe in Glibc wcwidth(), I've got a bridge to sell you. »
UTF-8 test file. Line prepended by U+FEFF. U+FEFF in the middle of the two d.