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

filename completion with umlauts (again)



Hi, back in 2003 (zsh 4.0.4) there was a completion bug with filenames
that have German umlauts in them.

 Date: Mon, 20 Jan 2003 10:29:23 -0500
 From: Andy Spiegl <zsh.Andy@xxxxxxxxx>
 To: ZSH User List <zsh-users@xxxxxxxxxx>
 Subject: How to do filename completion with umlauts?

It was fixed in 4.0.6 but somehow came back now.  I can't tell exactly
when but probably when I switched from latin1 to utf-8 (LANG=de_DE.UTF-8).

Here is the full description:

 $ zstyle ":completion:*" matcher-list '' 'm:{A-ZÄÖÜa-zäöü}={a-zäöüA-ZÄÖÜ}'
 $ touch foo füü
 $ ls fO<TAB>
 $ ls foo
but
 $ ls fÜ<TAB>
just beeps.

Ctrl-x h instead of TAB shows:
tags in context :completion::complete:ls::
    argument-rest options  (_arguments _ls (eval))
tags in context :completion::complete:ls:argument-rest:
    all-files  (_files _arguments _ls (eval))

Back in 2003, Oliver Kiddle asked me to try this:
> Can you try just using a simple function like this:
> _foo () {
> compadd -M 'm:{A-Zöäüa-zÖÄÜ}={a-zÖÄÜA-Zöäü}' - Ö123 Ä123 A567 Ü987
> }
> compdef _foo foo
> foo ä<tab>
I tried the same thing today but "foo ä<tab>" just beeps instead of
giving me "foo Ä123".


My locale settings are:
$ locale
LANG=de_DE.UTF-8
LC_CTYPE="de_DE.UTF-8"
LC_NUMERIC="de_DE.UTF-8"
LC_TIME="de_DE.UTF-8"
LC_COLLATE="de_DE.UTF-8"
LC_MONETARY="de_DE.UTF-8"
LC_MESSAGES="de_DE.UTF-8"
LC_PAPER="de_DE.UTF-8"
LC_NAME="de_DE.UTF-8"
LC_ADDRESS="de_DE.UTF-8"
LC_TELEPHONE="de_DE.UTF-8"
LC_MEASUREMENT="de_DE.UTF-8"
LC_IDENTIFICATION="de_DE.UTF-8"
LC_ALL=


Thanks for any hint,
 Andy.


-- 
 Why do we put suits in a garment bag and put garments in a suitcase?



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