Sonntag, 30. Oktober 2005

Don't mess with locales...

Just a little advice: DO NOT MESS WITH LOCALE SETTINGS.

I just had to fight with a Fedora Core 4 machine. The standard GNU readline and emacs alt-d "kill-word" key binding froze my emacs. It took me a while to figure out that a crazy locale setting was the root of the problem: The admin chose


LANG=en_US.UTF-8
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=


This is crazy! Hitting alt-d in the shell gives you some perverted Umlaut (an "ä"). Changing these settings in my .bashrc to

LANG=POSIX
LC_CTYPE="POSIX"
LC_NUMERIC="POSIX"
LC_TIME="POSIX"
LC_COLLATE="POSIX"
LC_MONETARY="POSIX"
LC_MESSAGES="POSIX"
LC_PAPER="POSIX"
LC_NAME="POSIX"
LC_ADDRESS="POSIX"
LC_TELEPHONE="POSIX"
LC_MEASUREMENT="POSIX"
LC_IDENTIFICATION="POSIX"
LC_ALL=


fixed this.

Update:

On some systems it is necessary to modify the ~/.inputrc according to this:

set meta-flag Off
set convert-meta On
set output-meta Off
$if mode=emacs
"\M-d": kill-word
$endif


Also, I found setting

LANG=C
LC_CTYPE="C"
LC_NUMERIC="C"
LC_TIME="C"
LC_COLLATE="C"
LC_MONETARY="C"
LC_MESSAGES="C"
LC_PAPER="C"
LC_NAME="C"
LC_ADDRESS="C"
LC_TELEPHONE="C"
LC_MEASUREMENT="C"
LC_IDENTIFICATION="C"
LC_ALL=


to work nicely as well. Just like above POSIX setting.

User Status

Du bist nicht angemeldet.

Links

Suche

 

Status

Online seit 7053 Tagen
Zuletzt aktualisiert: 3. Aug, 18:48

Credits

hmmm. ja.


Basics
blahblah
not so regular bullshit
todo
What's new
Profil
Abmelden
Weblog abonnieren