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