X-Git-Url: https://git.grml.org/?a=blobdiff_plain;f=etc%2Fzsh%2Fzshrc;h=5b86f311f6b5cfa2c638de53c0a34063b8f66464;hb=cdbb53b4514fd48e8f8edf759b9cc8341056bf27;hp=aecbabfe293782006968f294c62f5000142041b5;hpb=a5468f8195489f6c662d08c88dee8a9f6657acbf;p=grml-etc-core.git diff --git a/etc/zsh/zshrc b/etc/zsh/zshrc index aecbabf..5b86f31 100644 --- a/etc/zsh/zshrc +++ b/etc/zsh/zshrc @@ -981,7 +981,7 @@ function Accept-Line-HandleContext() { function accept-line() { setopt localoptions noksharrays - local -ax cmdline + local -a cmdline local -x alcontext local buf com fname format msg default_action @@ -1620,14 +1620,16 @@ DIRSTACKSIZE=${DIRSTACKSIZE:-20} DIRSTACKFILE=${DIRSTACKFILE:-${ZDOTDIR:-${HOME}}/.zdirs} if [[ -f ${DIRSTACKFILE} ]] && [[ ${#dirstack[*]} -eq 0 ]] ; then - dirstack=( ${(f)"$(< $DIRSTACKFILE)"} ) + # Enabling NULL_GLOB via (N) weeds out any non-existing + # directories from the saved dir-stack file. + dirstack=( ${(f)"$(< $DIRSTACKFILE)"}(N) ) # "cd -" won't work after login by just setting $OLDPWD, so [[ -d $dirstack[1] ]] && cd $dirstack[1] && cd $OLDPWD fi chpwd() { if (( $DIRSTACKSIZE <= 0 )) || [[ -z $DIRSTACKFILE ]]; then return; fi - local -ax my_stack + local -a my_stack my_stack=( ${PWD} ${dirstack} ) if is42 ; then builtin print -l ${(u)my_stack} >! ${DIRSTACKFILE} @@ -2946,12 +2948,12 @@ edfunc() { compdef _functions edfunc # use it e.g. via 'Restart apache2' -#m# f6 Start() \kbd{/etc/init.d/\em{process}}\quad\kbd{start} -#m# f6 Restart() \kbd{/etc/init.d/\em{process}}\quad\kbd{restart} -#m# f6 Stop() \kbd{/etc/init.d/\em{process}}\quad\kbd{stop} -#m# f6 Reload() \kbd{/etc/init.d/\em{process}}\quad\kbd{reload} -#m# f6 Force-Reload() \kbd{/etc/init.d/\em{process}}\quad\kbd{force-reload} -#m# f6 Status() \kbd{/etc/init.d/\em{process}}\quad\kbd{status} +#m# f6 Start() \kbd{service \em{process}}\quad\kbd{start} +#m# f6 Restart() \kbd{service \em{process}}\quad\kbd{restart} +#m# f6 Stop() \kbd{service \em{process}}\quad\kbd{stop} +#m# f6 Reload() \kbd{service \em{process}}\quad\kbd{reload} +#m# f6 Force-Reload() \kbd{service \em{process}}\quad\kbd{force-reload} +#m# f6 Status() \kbd{service \em{process}}\quad\kbd{status} if [[ -d /etc/init.d || -d /etc/service ]] ; then __start_stop() { local action_="${1:l}" # e.g Start/Stop/Restart @@ -2972,8 +2974,12 @@ if [[ -d /etc/init.d || -d /etc/service ]] ; then *) $SUDO "/etc/init.d/$service_" "${action_}" "$param_" ;; esac else - # sysvinit - $SUDO "/etc/init.d/$service_" "${action_}" "$param_" + # sysv/sysvinit-utils, upstart + if check_com -c service ; then + $SUDO service "$service_" "${action_}" "$param_" + else + $SUDO "/etc/init.d/$service_" "${action_}" "$param_" + fi fi }