source /etc/default/locale only if LANG is not set
[grml-etc-core.git] / etc / zsh / zshenv
index d33bb5d..0f12462 100644 (file)
@@ -3,35 +3,41 @@
 # Authors:       grml-team (grml.org), (c) Michael Prokop <mika@grml.org>
 # Bug-Reports:   see http://grml.org/bugs/
 # License:       This file is licensed under the GPL v2.
-# Latest change: Sam Sep 23 14:20:25 CEST 2006 [mika]
+# Latest change: Sam Feb 24 18:59:11 CET 2007 [mika]
 ################################################################################
 # This file is sourced on all invocations of the shell.
-# If the -f flag is present or if the NO_RCS option is
-# set within this file, all other initialization files
-# are skipped.
+# It is the 1st file zsh reads; it's read for every shell,
+# even if started with -f (setopt NO_RCS), all other
+# initialization files are skipped.
 #
 # This file should contain commands to set the command
 # search path, plus other important environment variables.
 # This file should not contain commands that produce
 # output or assume the shell is attached to a tty.
 #
+# Notice: .zshenv is the same, execpt that it's not read
+# if zsh is started with -f
+#
 # Global Order: zshenv, zprofile, zshrc, zlogin
 ################################################################################
 
 # language settings (read in /etc/environment before /etc/default/locale as
 # the latter one is the default on Debian nowadays)
   [ -r /etc/environment    ] && source /etc/environment
-  [ -r /etc/default/locale ] && source /etc/default/locale
-  [ -n "$LANG" ]          && export LANG        || export LANG="en_US.iso885915"
-  [ -n "$LC_ALL" ]        && export LC_ALL #     || export LC_ALL="$LANG"
+  if [ -n "$LANG" ]  ; then
+     export LANG
+  else
+     [ -r /etc/default/locale ] && source /etc/default/locale
+  fi
+  [ -n "$LANG" ]          && export LANG || export LANG="en_US.iso885915"
+  [ -n "$LC_ALL" ]        && export LC_ALL
   [ -n "$LC_MESSAGES" ]   && export LC_MESSAGES
 
   [ -r /etc/sysconfig/keyboard ] && source /etc/sysconfig/keyboard
 
 # set environment variables (important for autologin on tty)
-  [ -n "$HOSTNAME" ] || export HOSTNAME=`hostname`
-  [ -z "$USER" ]     && export USER=`id -un`
-
+  [ -z "$HOSTNAME" ]      && export HOSTNAME=`hostname`
+  [ -z "$USER" ]          && export USER=`id -un`
   [[ $LOGNAME == LOGIN ]] && LOGNAME=$(id -un)
 
 # workaround for live-cd mode as $HOME is not set via rungetty
 #  export LESS=C
   export LESSOPEN="|lesspipe.sh %s"
   export READNULLCMD=${PAGER:-/usr/bin/pager}
+
+# allow zeroconf for distcc
   export DISTCC_HOSTS="+zeroconf"
+
 # MAKEDEV should be usable on udev as well by default:
   export WRITE_ON_UDEV=yes