## vim:ft=zsh # Note: This function's behaviour differs hrom source. # With source, parameters declared local are available to the sourcing script. # With xsource, parameters declared local will NOT be available unless you use # eval $(xsource -e file) typeset -i eval=0 while [[ $1 == -* ]] { case $1 in -e) eval=1 ;; esac shift } if [[ -r $1 ]] { if (( eval )) { echo source $1 } else { source $1 } }