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

Re: Locale related problem with zshrc parsing



Ismail Dönmez <ismail@xxxxxxxxxxxxx> wrote:
> zsh seems to be affected by infamous Turkish locale (LC_ALL=tr_TR.UTF-8)
> problem. In Turkish lowercase of "I" is not i but its ı (i-dotless). And
> this seems to affect zsh too :
> 
> [~]> zsh --version
> zsh 4.3.2-dev-1 (i686-pc-linux-gnu)
> 
> [~]> setopt SHARE_HISTORY
> setopt: no such option: SHARE_HISTORY

Thanks, I've fixed this occurrence but you may see similar things
occurring from other places in the code.

Index: Src/options.c
===================================================================
RCS file: /cvsroot/zsh/zsh/Src/options.c,v
retrieving revision 1.34
diff -u -r1.34 options.c
--- Src/options.c	6 Feb 2007 21:47:55 -0000	1.34
+++ Src/options.c	15 Mar 2007 14:32:42 -0000
@@ -603,7 +603,14 @@
 	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++;
 	}
 


-- 
Peter Stephenson <pws@xxxxxxx>                  Software Engineer
CSR PLC, Churchill House, Cambridge Business Park, Cowley Road
Cambridge, CB4 0WZ, UK                          Tel: +44 (0)1223 692070


To access the latest news from CSR copy this link into a web browser:  http://www.csr.com/email_sig.php

To get further information regarding CSR, please visit our Investor Relations page at http://ir.csr.com/csr/about/overview



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