summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog5
-rw-r--r--Src/options.c9
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++;
}