summaryrefslogtreecommitdiff
path: root/etc/functions/xsource
blob: b5cd904a16607be5a4a20522678ad076ef8e4fff (plain)
1
2
3
4
5
6
7
8
9
10
11
12
## vim:ft=zsh
# Since source in a function makes typeset'ed parameters local
# (which is not what we want), we use a combination of functions
# and aliases here:
# autoload xsource; alias x_source='source $xsource_files; unset xsource_files'
# xsource file anotherfile && x_source
typeset file
(( ${#*} )) && unset xsource_files
for file in $*; {
	[[ -r $file ]] && xsource_files=($xsource_files $file)
}
(( ${#xsource_files} )) || return 1