## 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