diff options
-rw-r--r-- | ChangeLog | 3 | ||||
-rw-r--r-- | Functions/Misc/run-help | 9 |
2 files changed, 11 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog index 2d0e10d9c..e9f3e0149 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,8 @@ 2005-11-01 Peter Stephenson <pws@csr.com> + * users/9604: Functions/Misc/run-help: enhanced to strip quotes + from argument if necessary. + * 21967 (docmentation tweaked): Doc/Zsh/expn.yo, Src/subst.c: ${(#)foo} uses matheval to produce characters. diff --git a/Functions/Misc/run-help b/Functions/Misc/run-help index 4f447b9f0..7dd875842 100644 --- a/Functions/Misc/run-help +++ b/Functions/Misc/run-help @@ -33,15 +33,22 @@ then fi # No zsh help; use "whence" to figure out where else we might look -local what places newline=' +local what places noalias newline=' ' integer i=0 didman=0 places=( "${(@f)$(builtin whence -va $1)}" ) +if [[ $places = *"not found"* && $1 != ${(Q)1} ]]; then + # Different when unquoted, so try stripping quotes. + places=( "${(@f)$(builtin whence -va ${(Q)1})}" ) + # Quotation is significant to aliases, so suppress lookup. + noalias=1 +fi while ((i++ < $#places)) do what=$places[$i] + [[ -n $noalias && $what = *" is an alias "* ]] && continue builtin print -r $what case $what in (*( is an alias)*) |