summaryrefslogtreecommitdiff
path: root/etc/rc
diff options
context:
space:
mode:
authorDaniel Friesel <derf@derf.homelinux.org>2008-12-18 09:51:39 +0100
committerDaniel Friesel <derf@derf.homelinux.org>2008-12-18 09:51:39 +0100
commite9db94a1e2a72ae51e476cbc372ca774f3c65125 (patch)
treeb53916916d774f1da90959547d1f6a3bbf41127c /etc/rc
parentc56315bc005e964c3509d6f8439e4eebea446d00 (diff)
Fixed xsource to preserve typeset'ed parameters.
A quite ugly solution, but the best I could think of (and still better than [[ -r $file ]] && source $file or source $file &> /dev/null, IMHO)
Diffstat (limited to 'etc/rc')
-rw-r--r--etc/rc8
1 files changed, 5 insertions, 3 deletions
diff --git a/etc/rc b/etc/rc
index f29a547..aac5cfa 100644
--- a/etc/rc
+++ b/etc/rc
@@ -10,6 +10,7 @@
uname=$(uname)
alias 'linux:'='[[ $uname = Linux ]] &&'
alias 'openbsd:'='[[ $uname = OpenBSD ]] &&'
+alias x_source='source $xsource_files; unset xsource_files'
## include the actual config
source $ZDIR/options
@@ -26,9 +27,9 @@ source $ZDIR/alias/font
source $ZDIR/alias/default
source $ZDIR/alias/global
source $ZDIR/alias/short
-xsource $ZDIR/../provided/includes
-xsource $ZDIR/local
-xsource $HOME/var/tmp/envstore-raw-$UID
+xsource $ZDIR/../provided/includes $ZDIR/local \
+ $HOME/var/tmp/envstore-raw-$UID &&
+x_source
source $ZDIR/completion
(( ZPROFILE )) && source $ZDIR/profile
@@ -43,6 +44,7 @@ chpwd
## cleanup
unalias 'linux:'
unalias 'openbsd:'
+unalias x_source
unfunction check_com
unfunction xexport
unfunction xsource