Zsh Mailing List Archive
Messages sorted by: Reverse Date, Date, Thread, Author

Re: crash in completing code with unicode support



On 8/16/05, Andrey Borzenkov <arvidjaar@xxxxxxxxxx> wrote:
> On Tuesday 16 August 2005 05:37, Mikael Magnusson wrote:
> > I tried the recent developments with unicode support, and it's going
> > pretty well. I can write text in zle without it showing up as
> > ^{saa'*^+{^ instaed of actual text. Backspacing over doublewidth
> > characters only steps back one cell, but i understand this has not
> > been worked on yet.
> 
> this works for me using UTF-8 Russian. Backward word has problems but backword
> char works. Or do you mean, characters with double display width? I am not
> aware of these in European languages?

No, they are single display width. Your russion character works fine
for me too, only crashes with the characters i listed.

> > One problem i have encountered though, is if i
> > have a couple file that starts with the same multibyte character (it
> > seems to be important that it is at the very beginning of the name),
> > and then different endings, zsh crashes when i try to tabcomplete
> > them. An obvious case where this happens is tabcompleting mp3 files
> > where the artist's name starts with Ø (a danish capital O with a /
> > through it, any of åäöæøÅÄÖÆØ seems to do the same thing too).
> 
> Does not crash here but looks pretty weird:
> 
> {pts/1}% pkg/bin/zsh -f
> localhost% cd tmp/foo
> localhost% autoload -U compinit; compinit
> localhost% la Ф
> \M-P\M-$1  \M-P\M-$2
> localhost% ls
> Ф1  Ф2
> 
> When I continue to complete it inserts correct string in command line so it is
> just listing that is wrong.
> 
> Using complist/menuselect works just nicely. Could you please try to reproduce
> it using zsh -f with the smallest set of extra options. And please, show
> UTF-8 (or UNICDOE) representation of characters that crash zsh and yuor OS
> and locale settings.

This should create the files i have,

mkdir /tmp/foo
cd /tmp/foo
a=`echo +ANg- | iconv -f utf-7 -t utf-8`
touch ${a}a ${a}b
zsh -f
autoload -U compinit; compinit
ls <tab><tab>

That is all i have to do to get the crash. (I didn't compile with
--enable-zsh-debug, because then i only get an error message like
"BUG: substring ends in the middle of a metachar in ztrsub()", instead
i specified the flags manually)

> -andrey

-- 
Mikael Magnusson


Messages sorted by: Reverse Date, Date, Thread, Author