Package: irssi
Version: 0.8.15-5
Severity: normal

Hi,

 If an incoming message has a combining or zero-width character as the 
first code-point (or sequence of code-points) then irssi does nothing about
this; causing it to be processed by the terminal as if the combining 
character applied to the last character of the previous part of the irssi 
format string (or in the case of a zero-width character that causes printing 
for it to overprint on that character).  In the default case this last
character is a space; causing the result to look as if that space is 
missing.  It is possible that with other format strings this could be used
to trick the reader into believing false things.

 What irssi should do is detect this case and either:

a) strip the offending combining or zero-width characters
b) insert an additional space at the beginning of the message such that
  the combining or zero-width characters are presented as in the first
  column of the usual message area.

 I think the latter is preferable.

 I have attached two images of bad output lines; and below is uniname(1)
output of what is being displayed.  The images are also currently available
on my webserver at:

http://www.ysolde.ucam.org/~jdamery/bugs.debian.org/irssi-rtl.png
http://www.ysolde.ucam.org/~jdamery/bugs.debian.org/irssi-acute.png

 Thanks,

J.

character  byte       UTF-32   encoded as     glyph   name
        0          0  00005B   5B             [      LEFT SQUARE BRACKET
        1          1  000053   53             S      LATIN CAPITAL LETTER S
        2          2  000047   47             G      LATIN CAPITAL LETTER G
        3          3  00004F   4F             O      LATIN CAPITAL LETTER O
        4          4  00005D   5D             ]      RIGHT SQUARE BRACKET
        5          5  000020   20                     SPACE
        6          6  00003C   3C             <      LESS-THAN SIGN
        7          7  000061   61             a      LATIN SMALL LETTER A
        8          8  000064   64             d      LATIN SMALL LETTER D
        9          9  000061   61             a      LATIN SMALL LETTER A
       10         10  00006D   6D             m      LATIN SMALL LETTER M
       11         11  00003E   3E             >      GREATER-THAN SIGN
       12         12  000020   20                     SPACE
       13         13  00202E   E2 80 AE       ‮      RIGHT-TO-LEFT OVERRIDE
       14         16  000067   67             g      LATIN SMALL LETTER G
       15         17  00006E   6E             n      LATIN SMALL LETTER N
       16         18  000069   69             i      LATIN SMALL LETTER I
       17         19  00006B   6B             k      LATIN SMALL LETTER K
       18         20  000072   72             r      LATIN SMALL LETTER R
       19         21  00006F   6F             o      LATIN SMALL LETTER O
       20         22  000077   77             w      LATIN SMALL LETTER W
       21         23  000020   20                     SPACE
       22         24  000074   74             t      LATIN SMALL LETTER T
       23         25  000027   27             '      APOSTROPHE
       24         26  00006E   6E             n      LATIN SMALL LETTER N
       25         27  000073   73             s      LATIN SMALL LETTER S
       26         28  000069   69             i      LATIN SMALL LETTER I
       27         29  000020   20                     SPACE
       28         30  000020   20                     SPACE
       29         31  00004C   4C             L      LATIN CAPITAL LETTER L
       30         32  000054   54             T      LATIN CAPITAL LETTER T
       31         33  000052   52             R      LATIN CAPITAL LETTER R
       32         34  000020   20                     SPACE
       33         35  000073   73             s      LATIN SMALL LETTER S
       34         36  000069   69             i      LATIN SMALL LETTER I
       35         37  000068   68             h      LATIN SMALL LETTER H
       36         38  000074   74             t      LATIN SMALL LETTER T
       37         39  00000A   0A                     LINE FEED (LF)

character  byte       UTF-32   encoded as     glyph   name
        0          0  00005B   5B             [      LEFT SQUARE BRACKET
        1          1  000053   53             S      LATIN CAPITAL LETTER S
        2          2  000047   47             G      LATIN CAPITAL LETTER G
        3          3  00004F   4F             O      LATIN CAPITAL LETTER O
        4          4  00005D   5D             ]      RIGHT SQUARE BRACKET
        5          5  000020   20                     SPACE
        6          6  00003C   3C             <      LESS-THAN SIGN
        7          7  000061   61             a      LATIN SMALL LETTER A
        8          8  000064   64             d      LATIN SMALL LETTER D
        9          9  000061   61             a      LATIN SMALL LETTER A
       10         10  00006D   6D             m      LATIN SMALL LETTER M
       11         11  00003E   3E             >      GREATER-THAN SIGN
       12         12  000020   20                     SPACE
       13         13  000301   CC 81          ́      COMBINING ACUTE ACCENT
       14         15  000020   20                     SPACE
       15         16  000074   74             t      LATIN SMALL LETTER T
       16         17  000068   68             h      LATIN SMALL LETTER H
       17         18  000069   69             i      LATIN SMALL LETTER I
       18         19  000073   73             s      LATIN SMALL LETTER S
       19         20  000020   20                     SPACE
       20         21  00006C   6C             l      LATIN SMALL LETTER L
       21         22  000069   69             i      LATIN SMALL LETTER I
       22         23  00006E   6E             n      LATIN SMALL LETTER N
       23         24  000065   65             e      LATIN SMALL LETTER E
       24         25  000020   20                     SPACE
       25         26  000073   73             s      LATIN SMALL LETTER S
       26         27  000074   74             t      LATIN SMALL LETTER T
       27         28  000061   61             a      LATIN SMALL LETTER A
       28         29  000072   72             r      LATIN SMALL LETTER R
       29         30  000074   74             t      LATIN SMALL LETTER T
       30         31  000073   73             s      LATIN SMALL LETTER S
       31         32  000020   20                     SPACE
       32         33  000077   77             w      LATIN SMALL LETTER W
       33         34  000069   69             i      LATIN SMALL LETTER I
       34         35  000074   74             t      LATIN SMALL LETTER T
       35         36  000068   68             h      LATIN SMALL LETTER H
       36         37  000020   20                     SPACE
       37         38  000061   61             a      LATIN SMALL LETTER A
       38         39  000020   20                     SPACE
       39         40  000063   63             c      LATIN SMALL LETTER C
       40         41  00006F   6F             o      LATIN SMALL LETTER O
       41         42  00006D   6D             m      LATIN SMALL LETTER M
       42         43  000062   62             b      LATIN SMALL LETTER B
       43         44  000069   69             i      LATIN SMALL LETTER I
       44         45  00006E   6E             n      LATIN SMALL LETTER N
       45         46  000069   69             i      LATIN SMALL LETTER I
       46         47  00006E   6E             n      LATIN SMALL LETTER N
       47         48  000067   67             g      LATIN SMALL LETTER G
       48         49  000020   20                     SPACE
       49         50  000061   61             a      LATIN SMALL LETTER A
       50         51  000063   63             c      LATIN SMALL LETTER C
       51         52  000075   75             u      LATIN SMALL LETTER U
       52         53  000074   74             t      LATIN SMALL LETTER T
       53         54  000065   65             e      LATIN SMALL LETTER E
       54         55  000020   20                     SPACE
       55         56  000061   61             a      LATIN SMALL LETTER A
       56         57  000063   63             c      LATIN SMALL LETTER C
       57         58  000063   63             c      LATIN SMALL LETTER C
       58         59  000065   65             e      LATIN SMALL LETTER E
       59         60  00006E   6E             n      LATIN SMALL LETTER N
       60         61  000074   74             t      LATIN SMALL LETTER T
       61         62  00000A   0A                     LINE FEED (LF)


-- System Information:
Debian Release: 7.6
  APT prefers stable-updates
  APT policy: (500, 'stable-updates'), (500, 'stable')
Architecture: i386 (i686)

Kernel: Linux 3.2.0-4-686-pae (SMP w/2 CPU cores)
Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash

Versions of packages irssi depends on:
ii  libc6                       2.13-38+deb7u4
ii  libglib2.0-0                2.33.12+really2.32.4-5
ii  libncurses5                 5.9-10
ii  libperl5.14                 5.14.2-21+deb7u1
ii  libssl1.0.0                 1.0.1e-2+deb7u12
ii  libtinfo5                   5.9-10
ii  perl                        5.14.2-21+deb7u1
ii  perl-base [perlapi-5.14.2]  5.14.2-21+deb7u1

irssi recommends no packages.

Versions of packages irssi suggests:
ii  irssi-scripts  20120326

-- debconf-show failed

Reply via email to