From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 5180 invoked from network); 22 Oct 2001 01:50:44 -0000 Received: from sunsite.dk (130.225.247.90) by ns1.primenet.com.au with SMTP; 22 Oct 2001 01:50:44 -0000 Received: (qmail 20271 invoked by alias); 22 Oct 2001 01:50:36 -0000 Mailing-List: contact zsh-workers-help@sunsite.dk; run by ezmlm Precedence: bulk X-No-Archive: yes X-Seq: 16098 Received: (qmail 20253 invoked from network); 22 Oct 2001 01:50:33 -0000 Date: Sun, 21 Oct 2001 21:50:22 -0400 From: Clint Adams To: Geoff Wing Cc: Zsh Hackers Subject: Re: multibyte backwarddeletechar Message-ID: <20011021215022.A25491@dman.com> References: <20011021114254.A17952@dman.com> <20011022105702.A4297@primenet.com.au> Mime-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline Content-Transfer-Encoding: 8bit User-Agent: Mutt/1.2.5i In-Reply-To: <20011022105702.A4297@primenet.com.au>; from gcw@zsh.org on Mon, Oct 22, 2001 at 10:57:02AM +1000 > My first thought is whether it is meaningful to use multibyte glyphs > on the command line. And it may well be if, say, people name files using > multibyte glyphs and other programs (e.g. ls) display those names. > My second is whether we truly want to handle multibyte glyphs. I don't > think minihacks will work. It may be a major overhaul. Not just the ZLE > refresh code would need updating but other areas too. Of course, it > may not be as much work as I think but would definitely need some > discussion about what should and should not be handled. For one thing, the %D escape in my prompt is substituted with multibyte glyphs in the relevant locales. That in itself poses a potential width calculation problem even if the user doesn't input any multibyte characters. As for the command line: --8<--snip--8<-- To delete a multi-byte character you have to press backspace multiple times. Beside normal irritation this can lead to you feeding non-conformant utf8 streams into programs expecting conformant utf8. Hard to explain. The following is probally totaly messed up but I'm trying to pipe the single letter 'latin small letter a with ring above' which is 0xE5 in iso8859-1 into od -x. The first time I get the real letter on the command line and everything seems ok. The second time I get the right letter on the command line and press backspace once before continuing with '|'. plugh% echo -n å| od -x 0000000 a5c3 0000002 plugh% echo -n | od -x 0000000 00c3 0000001 plugh%