https://bugzilla.novell.com/show_bug.cgi?id=236063 Summary: lang.csh can leave LANG, LC_ALL shell variables set Product: openSUSE 10.2 Version: Final Platform: All OS/Version: Other Status: NEW Severity: Normal Priority: P5 - None Component: Basesystem AssignedTo: bnc-team-screening@forge.provo.novell.com ReportedBy: jmichaud@sgi.com QAContact: qa@suse.de When tcsh is invoked it sources the profile.d scripts (including lang.csh). lang.csh sets the environment variables according to what is set in the /etc/sysconfig/language file. Unfortunately, in the processing, lang.csh sets the *shell* variables but doesn't *unset* them. lang.csh: .. 18 if ( -s /etc/sysconfig/language ) then 19 eval `sed -n \ 20 -e 's/^RC_\(\(LANG\|LC_[A-Z_]\+\)\)=/set \1=/p' \ 21 -e 's/^\(ROOT_USES_LANG\)=/set \1=/p' \ 22 < /etc/sysconfig/language` 23 if ( "$uid" != 0 ) set ROOT_USES_LANG=yes 24 endif 25 if ( -s $HOME/.i18n ) then 26 eval `sed -n \ 27 -e 's/^\(\(LANG\|LC_[A-Z_]\+\)\)=/set \1=/p' \ 28 < $HOME/.i18n 29 endif 30 31 # 32 # Handle all LC and the LANG variable 33 # 34 foreach lc (LANG LC_CTYPE LC_NUMERIC LC_TIME \ 35 LC_COLLATE LC_MONETARY LC_MESSAGES \ 36 LC_PAPER LC_NAME LC_ADDRESS \ 37 LC_TELEPHONE LC_MEASUREMENT \ 38 LC_IDENTIFICATION LC_ALL) 39 eval set val=\${\?$lc} 40 if ( $val == 0 ) continue 41 eval set val=\$$lc 42 if ( "$ROOT_USES_LANG" == "yes" ) then 43 if ( ${%val} == 0 ) then 44 eval unsetenv $lc 45 eval unset $lc 46 else 47 eval setenv $lc $val 48 endif 49 else if ( "$ROOT_USES_LANG" == "ctype" ) then .. The *shell* variables LANG and others are set on line 19. For normal users, the empty shell variables are unset on line 45. Environment variables to be set are done on line 47 but the *shell* variable is not (properly) unset. The following example shows the resulting confusion: iron-penguin 111% iron-penguin 111% grep RC_LANG= /etc/sysconfig/language RC_LANG="en_US.UTF-8" iron-penguin 112% setenv LANG C iron-penguin 113% env | grep LANG LANG=C iron-penguin 114% echo $LANG en_US.UTF-8 iron-penguin 115% The same issue appears to exist for the lang.sh file. -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug, or are watching someone who is.