From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 5643 invoked from network); 10 Dec 2005 20:46:17 -0000 X-Spam-Checker-Version: SpamAssassin 3.1.0 (2005-09-13) on f.primenet.com.au X-Spam-Level: X-Spam-Status: No, score=-2.5 required=5.0 tests=AWL,BAYES_00, FORGED_RCVD_HELO autolearn=ham version=3.1.0 Received: from news.dotsrc.org (HELO a.mx.sunsite.dk) (130.225.247.88) by ns1.primenet.com.au with SMTP; 10 Dec 2005 20:46:17 -0000 Received: (qmail 50871 invoked from network); 10 Dec 2005 20:46:11 -0000 Received: from sunsite.dk (130.225.247.90) by a.mx.sunsite.dk with SMTP; 10 Dec 2005 20:46:11 -0000 Received: (qmail 21871 invoked by alias); 10 Dec 2005 20:46:09 -0000 Mailing-List: contact zsh-workers-help@sunsite.dk; run by ezmlm Precedence: bulk X-No-Archive: yes X-Seq: 22069 Received: (qmail 21861 invoked from network); 10 Dec 2005 20:46:09 -0000 Received: from news.dotsrc.org (HELO a.mx.sunsite.dk) (130.225.247.88) by sunsite.dk with SMTP; 10 Dec 2005 20:46:09 -0000 Received: (qmail 50556 invoked from network); 10 Dec 2005 20:46:08 -0000 Received: from mta07-winn.ispmail.ntl.com (81.103.221.47) by a.mx.sunsite.dk with SMTP; 10 Dec 2005 20:46:07 -0000 Received: from aamta10-winn.ispmail.ntl.com ([81.103.221.35]) by mta07-winn.ispmail.ntl.com with ESMTP id <20051210204606.XKTD21883.mta07-winn.ispmail.ntl.com@aamta10-winn.ispmail.ntl.com> for ; Sat, 10 Dec 2005 20:46:06 +0000 Received: from pwslaptop.csr.com ([81.105.238.64]) by aamta10-winn.ispmail.ntl.com with SMTP id <20051210204606.ULLQ11396.aamta10-winn.ispmail.ntl.com@pwslaptop.csr.com> for ; Sat, 10 Dec 2005 20:46:06 +0000 Date: Sat, 10 Dec 2005 20:45:52 +0000 From: Peter Stephenson To: Zsh Hackers' List Subject: Re: Completion listing multibyte bug? was: Re: Simple Tip of the Day Message-Id: <20051210204552.10b2ef7f.p.w.stephenson@ntlworld.com> In-Reply-To: <237967ef0512021807w74299bb3j85c0f6c3b099722c@mail.gmail.com> References: <237967ef0512021807w74299bb3j85c0f6c3b099722c@mail.gmail.com> X-Mailer: Sylpheed version 0.9.12 (GTK+ 1.2.10; i386-redhat-linux-gnu) Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit On Sat, 3 Dec 2005 03:07:18 +0100 Mikael Magnusson wrote: > I just noticed while sorting some mp3's that cd - lists multibyte > paths wrong: I believe this fixes the problem. This is an old bug: it would be wrong with metafied characters even without multibyte support. Index: Src/Zle/complist.c =================================================================== RCS file: /cvsroot/zsh/zsh/Src/Zle/complist.c,v retrieving revision 1.78 diff -u -r1.78 complist.c --- Src/Zle/complist.c 15 Nov 2005 08:44:18 -0000 1.78 +++ Src/Zle/complist.c 10 Dec 2005 20:43:03 -0000 @@ -879,10 +879,12 @@ fmt = mlistp; } for (p = fmt; *p; p++) { - if (doesc && *p == '%') { - if (*++p) { + int chr = (*p == Meta) ? *++p ^ 32 : *p; + if (doesc && chr == '%') { + chr = (*++p == Meta) ? *++p ^ 32 : *p; + if (chr) { m = 0; - switch (*p) { + switch (chr) { case '%': if (dopr == 1) putc('%', shout); @@ -929,7 +931,7 @@ case '{': for (p++; *p && (*p != '%' || p[1] != '}'); p++) if (dopr) - putc(*p, shout); + putc(*p == Meta ? *++p ^ 32 : *p, shout); if (*p) p++; else @@ -1006,9 +1008,9 @@ } else break; } else { - if ((++cc == columns - 2 || *p == '\n') && stat) + if ((++cc == columns - 2 || chr == '\n') && stat) dopr = 2; - if (*p == '\n') { + if (chr == '\n') { if (dopr == 1 && mlbeg >= 0 && tccan(TCCLEAREOL)) tcout(TCCLEAREOL); l += 1 + ((cc - 1) / columns); @@ -1019,7 +1021,7 @@ dopr = 0; continue; } - putc(*p, shout); + putc(chr, shout); if ((beg = !(cc % columns)) && !stat) { ml++; fputs(" \010", shout); -- Peter Stephenson Web page still at http://www.pwstephenson.fsnet.co.uk/