From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 7136 invoked by alias); 9 Jan 2011 16:45:02 -0000 Mailing-List: contact zsh-workers-help@zsh.org; run by ezmlm Precedence: bulk X-No-Archive: yes List-Id: Zsh Workers List List-Post: List-Help: X-Seq: 28605 Received: (qmail 4793 invoked from network); 9 Jan 2011 16:44:49 -0000 X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on f.primenet.com.au X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,RCVD_IN_DNSWL_NONE autolearn=ham version=3.3.1 Received-SPF: pass (ns1.primenet.com.au: SPF record at ntlworld.com designates 81.103.221.47 as permitted sender) Date: Sun, 9 Jan 2011 16:44:39 +0000 From: Peter Stephenson To: zsh-workers@zsh.org Subject: Re: filename completion with umlauts (again) Message-ID: <20110109164439.00543f3b@pws-pc.ntlworld.com> In-Reply-To: <110108164814.ZM2240@torch.brasslantern.com> References: <20110106232712.GA11387@spiegl.de> <20110107094419.141d8d67@pwslap01u.europe.root.pri> <20110107233459.GA29168@spiegl.de> <110107231048.ZM919@torch.brasslantern.com> <20110108202122.5decaa0b@pws-pc.ntlworld.com> <110108142301.ZM2102@torch.brasslantern.com> <20110108232140.2661ba00@pws-pc.ntlworld.com> <110108164814.ZM2240@torch.brasslantern.com> X-Mailer: Claws Mail 3.7.8 (GTK+ 2.22.0; x86_64-redhat-linux-gnu) Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit X-Cloudmark-Analysis: v=1.1 cv=JvdXmxIgLJv2/GthKqHpGJEEHukvLcvELVXUanXFreg= c=1 sm=0 a=L80sod66sRkA:10 a=kj9zAlcOel0A:10 a=q2GGsy2AAAAA:8 a=NLZqzBF-AAAA:8 a=8HE8p3diOfd0kAcVGt8A:9 a=LNEtQpFXhvo5lm9jPGsTX2JX31gA:4 a=CjuIK1q_8ugA:10 a=I6wTmPyJxzYA:10 a=_dQi-Dcv4p4A:10 a=HpAAvcLHHh0Zw7uRqdWCyQ==:117 On Sat, 08 Jan 2011 16:48:14 -0800 Bart Schaefer wrote: > Would it even be sufficient to metafy around the match_str() entry > point, or is the real problem that the *entire* completion system > needs to stop treating the input line as a (char *)? > > In which case we almost may as well start over from scratch. I think it is actually relatively localised, unfortunately still quite a lot of hard-to-understand code. Most of the completion system uses proper metafied strings and counts characters approprlately. It's only when we get to the matching stage and inserting the result into the command line that the boundaries blur a bit. I think apart from quite a lot of compmatch.c, chunks of compresult.c, and a few bits elsewhere, it doesn't actually need changing much. However, one of the problems is deciding quite where the boundaries are. A start could probably be made by introducing appropriate types so that we know where a char * is being treated as an array of individual characters rather than a generic, possibly multibyte, string --- I forget this every time I stop looking at it. -- Peter Stephenson Web page now at http://homepage.ntlworld.com/p.w.stephenson/