summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBill Nottingham <notting@redhat.com>2008-04-29 11:48:38 -0400
committerBill Nottingham <notting@redhat.com>2008-04-29 11:48:38 -0400
commit39d1593aad51817f5b64a9e95f2144dfaa018ebb (patch)
tree76b654e6882cffa74ccab957c69a15ca53f5e98b
parent98a6595a35e51c34bee9c66ab8d9fc4302d3301c (diff)
downloadinitscripts-39d1593aad51817f5b64a9e95f2144dfaa018ebb.tar.gz
initscripts-39d1593aad51817f5b64a9e95f2144dfaa018ebb.tar.xz
initscripts-39d1593aad51817f5b64a9e95f2144dfaa018ebb.zip
Canonicalize the behavior. (#372151)initscripts-8.74-1
If no LANG is set, read system and then user configuration. If an existing one is set (via GDM, ssh, etc.) only read the user-specific customizations.
-rwxr-xr-xlang.csh17
-rwxr-xr-xlang.sh15
2 files changed, 17 insertions, 15 deletions
diff --git a/lang.csh b/lang.csh
index 6a4867b7..0fd1e498 100755
--- a/lang.csh
+++ b/lang.csh
@@ -1,21 +1,22 @@
# /etc/profile.d/lang.csh - set i18n stuff
set sourced=0
+
if ($?LANG) then
- set sourced=1
set saved_lang=$LANG
-endif
-
-foreach file (/etc/sysconfig/i18n $HOME/.i18n)
- if ( -f $file ) then
+ if ( -f $HOME/.i18n ) then
eval `grep -v '^[:blank:]*#' $file | sed 's|\([^=]*\)=\([^=]*\)|setenv \1 \2|g' | sed 's|$|;|'`
set sourced=1
endif
-end
-
-if ($?saved_lang) then
setenv LANG $saved_lang
unset saved_lang
+else
+ foreach file (/etc/sysconfig/i18n $HOME/.i18n)
+ if ( -f $file ) then
+ eval `grep -v '^[:blank:]*#' $file | sed 's|\([^=]*\)=\([^=]*\)|setenv \1 \2|g' | sed 's|$|;|'`
+ set sourced=1
+ endif
+ end
endif
if ($sourced == 1) then
diff --git a/lang.sh b/lang.sh
index 705e7a58..7fe9e3ff 100755
--- a/lang.sh
+++ b/lang.sh
@@ -2,15 +2,16 @@
sourced=0
-saved_lang="$LANG"
-for langfile in /etc/sysconfig/i18n $HOME/.i18n ; do
- [ -f $langfile ] && . $langfile && sourced=1
-done
-
-if [ -n "$saved_lang" ]; then
+if [ -n "$LANG" ]; then
+ saved_lang="$LANG"
+ [ -f $HOME/.i18n ] && . $HOME/.i18n && sourced=1
LANG="$saved_lang"
+ unset saved_lang
+else
+ for langfile in /etc/sysconfig/i18n $HOME/.i18n ; do
+ [ -f $langfile ] && . $langfile && sourced=1
+ done
fi
-unset saved_lang
if [ "$sourced" = 1 ]; then
[ -n "$LANG" ] && export LANG || unset LANG