diff options
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | Src/options.c | 9 |
2 files changed, 13 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog index fb2a3f5cc..5e3fb4ae3 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2007-03-15 Peter Stephenson <pws@csr.com> + + * 23219: Src/options.c: Ismail Dönmez reported that lower + casing of I to dotless i in tr_TR.UTF-8 broke option handling. + 2007-03-14 Clint Adams <clint@zsh.org> * 23215: Completion/Unix/Command/_module: completion for diff --git a/Src/options.c b/Src/options.c index d0474498c..89178b313 100644 --- a/Src/options.c +++ b/Src/options.c @@ -603,7 +603,14 @@ optlookup(char const *name) if (*t == '_') chuck(t); else { - *t = tulower(*t); + /* + * Some locales (in particular tr_TR.UTF-8) may + * have non-standard mappings of ASCII characters, + * so be careful. Option names must be ASCII so + * we don't need to be too clever. + */ + if (*t >= 'A' && *t <= 'Z') + *t = (*t - 'A') + 'a'; t++; } |