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

Re: crash/memory corruption when completing dynamic named directory



On Sat, 26 Mar 2011, Johan Sundström wrote:

On Sat, Mar 26, 2011 at 05:54, Mikael Magnusson wrote:

I can't reproduce this in zsh -f yet, all that happens is that the completion just fails quietly without doing anything.
% echo ネネネネネ ~[<tab>
results in
% echo <e3><ad><e3><ad><e3><ad><e3><ad><e3><ad> ~[

any idea what could be wrong or what I can try to narrow it down?


Not an answer per se, but maybe bits of data giving someone else a lead: ネ is Unicode code point 12493, or "\u30CD", which normalizes to itself in all four Unicode normalization forms NFC, NFD, NFKC and NFKD, and which UTF-8 encodes to 0xE3, 0x83, 0x8D. I have no ideas about what the pretty-printing or <ad>:s could be related to.


The problem is that the string of 'ne's is being unmetafy'ed when it shouldn't be. I don't know where. But that's what's happening.

Not sure if there's programmatic access to the metafy and unmetafy functions from within zsh. I verified with the attached program. To compile it, first compile zsh. Then compile the test program via:

$ gcc -o zsh-metafy zsh-metafy.c -lm -lcurses /path/to/zsh/compilation/*.o~*/main.o
$ print -l ネネネネネ | ./zsh-metafy -u | myod
00000000 e3 ad e3 ad e3 ad e3 ad e3 ad 0a -- -- -- -- --  »..........¬«

(myod is, as the name implies, just 'my' version of 'od')

--
Best,
Ben

Attachment: zsh-metafy
Description: Binary data



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