On Sat, 26 Apr 2008 16:05:48 +0100 Clint Adams <[EMAIL PROTECTED]> wrote: > On Sat, Apr 26, 2008 at 12:00:03PM +0100, Samuel Thibault wrote: > > On a french keyboard, '|' is typed by using alt-gr, and the non-breaking > > space is often typed by using alt-gr space. That often leads to this: > > > > € echo a | grep a > > zsh: command not found: grep > > > > Because zsh looks for a " grep" command, with leading non-breaking space > > because my thumb remained a bit too long on the alt-gr key. > > > > This doesn't happen with bash, because bash treats non-breaking space as > > a word separator. Could zsh do the same? (currently, I have defined > > alias grep=grep > > alias vi=vi > > ...) > > Having locale-based (and multibyte) word separators sounds like a nightmare > to me, but maybe someone has some ideas.
I tend to agree with this. It's doable, and the standard (SUS 2004) supports the idea (see under LC_CTYPE) although it's a little bit two-faced (only ASCII space characters are listed as requiring quoting, for example). However, - I've been resisting having to convert the byte stream into anything else for basic shell parsing. I've got far better things to do than make the shell slower and buggier for a feature of doubtful general utility. - Having basic syntactic elements depending on the locale is really nasty. We have one such kludge ourselves, (NO_)POSIX_IDENTIFIERS, which is mostly a sop to traditional pre-multibyte zsh behaviour. I would actively discourage people from assuming this sort of behaviour. - It seems to me somewhat ludicrous making a change specifically so that arguments can be separated by a "non-breaking" space. Is it or isn't it breakable? - This isn't a general solution to mistyping anyway. You might be able to fix alt-gr space with xmodmap or the terminal emulator translation table. (Yes, I know "a little bit two-faced" is meaningless, strictly speaking. I stopped speaking strictly years ago now.) -- Peter Stephenson <[EMAIL PROTECTED]> Web page now at http://homepage.ntlworld.com/p.w.stephenson/ -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]