From 46bad169a8962ac75e64206b1034338f4e01b595 Mon Sep 17 00:00:00 2001 From: Peter Stephenson Date: Wed, 16 Dec 2009 11:07:09 +0000 Subject: 27492 based on Jörg Sommer: 27473: fix run-help alias problem. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Functions/Misc/run-help | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) (limited to 'Functions/Misc/run-help') diff --git a/Functions/Misc/run-help b/Functions/Misc/run-help index 837ce1ff0..6a1b3a418 100644 --- a/Functions/Misc/run-help +++ b/Functions/Misc/run-help @@ -49,6 +49,7 @@ if [[ $places = *"not found"* && $1 != ${(Q)1} ]]; then noalias=1 fi +{ while ((i++ < $#places)) do what=$places[$i] @@ -56,7 +57,8 @@ do builtin print -r $what case $what in (*( is an alias)*) - [[ ${what[(w)6]:t} != ${what[(w)1]} ]] && run-help ${what[(w)6]:t} + [[ ${what[(w)6]:t} != ${what[(w)1]} ]] && + run_help_orig_cmd=${what[(w)1]} run-help ${what[(w)6]:t} ;; (*( is a * function)) case ${what[(w)1]} in @@ -96,9 +98,9 @@ do builtin print -z "$cmd_args" cmd_args=( ${(z)cmd_args} ) # Discard environment assignments, etc. - while [[ $cmd_args[1] != $1 ]] + while [[ $cmd_args[1] != ${run_help_orig_cmd:-$1} ]] do - shift cmd_args + shift cmd_args || return 1 done eval "run-help-$1:t ${(q@)cmd_args[2,-1]}" else @@ -115,3 +117,6 @@ do [[ $what == [qQ] ]] && break fi done +} always { + unset run_help_orig_cmd +} -- cgit 1.4.1