File git-27-c0ecf2e203db2b03e684132669563f7ca71edac4.patch of Package aaa_base.4074
commit c0ecf2e203db2b03e684132669563f7ca71edac4
Author: Werner Fink <werner@suse.de>
Date: Wed Mar 8 10:07:53 2017 +0100
Make lang.csh work again (bsc#1025673)
that is let the parser for /etc/sysconfig/language like it
is done for the bash in lang.sh. This not only fix the
bug bsc#1025673 but also increases maintainability.
Signed-off-by: Werner Fink <werner@suse.de>
diff --git a/files/etc/profile.d/lang.csh b/files/etc/profile.d/lang.csh
index 0ff8ce3..fac68cb 100644
--- a/files/etc/profile.d/lang.csh
+++ b/files/etc/profile.d/lang.csh
@@ -36,18 +36,25 @@ endif
# Get the system and after that the users configuration
#
if ( -s /etc/sysconfig/language ) then
- # Allow GDM to override system settings
- if ( ${?GDM_LANG} ) then
- if ( "$uid" == 0 ) then
- eval `sed -rn -e 's/^(ROOT_USES_LANG)=/set \1=/p' < /etc/sysconfig/language`
- else
- set ROOT_USES_LANG=yes
- endif
- else
- eval `sed -rn \
- -e 's/^RC_((LANG|LC_[A-Z_]+))=/set \1=/p' -e 's/^(ROOT_USES_LANG)=/set \1=/p' \
- < /etc/sysconfig/language`
- endif
+ foreach line ("`sed -rn '/^[^#]/p' < /etc/sysconfig/language`")
+ switch ("$line")
+ case RC_*:
+ # Allow GDM to override system settings
+ if ( ${?GDM_LANG} ) continue
+ eval set ${line:s/RC_//}
+ breaksw
+ case ROOT_USES_LANG*:
+ if ( "$uid" == 0 ) then
+ eval set $line
+ else
+ set ROOT_USES_LANG=yes
+ endif
+ breaksw
+ default:
+ breaksw
+ endsw
+ end
+ unset line
endif
if ( -s $HOME/.i18n ) then
eval `sed -rn -e 's/^((LANG|LC_[A-Z_]+))=/set \1=/p' < $HOME/.i18n`