1
0
mirror of git://git.code.sf.net/p/zsh/code synced 2024-10-02 00:41:44 +02:00

more sensible value (12769)

This commit is contained in:
Sven Wischnowsky 2000-09-07 09:14:22 +00:00
parent 0fe98894a8
commit 7ab68d2d29
2 changed files with 30 additions and 21 deletions

@ -1,5 +1,7 @@
2000-09-07 Sven Wischnowsky <wischnow@zsh.org>
* 12769: Completion/Builtins/_cd: more sensible value
* 12768: as suggested by Andrej (12767): Completion/Bsd/_bsd_pkg,
Completion/Bsd/_kld, Completion/User/_gcc, Completion/User/_gdb,
Completion/User/_mailboxes, Completion/User/_zdump: stick some

@ -13,7 +13,7 @@
setopt localoptions nonomatch
local expl
local expl ret=1
if [[ CURRENT -eq 3 ]]; then
# cd old new: look for old in $PWD and see what can replace it
@ -23,7 +23,10 @@ if [[ CURRENT -eq 3 ]]; then
# Now remove all the common parts of $PWD and the completions from this
rep=(${${rep#${PWD%%$words[2]*}}%${PWD#*$words[2]}})
(( $#rep )) && _wanted -C replacement strings expl replacement compadd -a rep
elif _popd || [[ $PREFIX != (\~|/|./|../)* && $#cdpath -ne 0 ]]; then
else
_popd && ret=0
if [[ $PREFIX != (\~|/|./|../)* && $#cdpath -ne 0 ]]; then
local tdir tdir2
# With cdablevars, we can convert foo/bar/... to ~foo/bar/... if
@ -34,14 +37,18 @@ elif _popd || [[ $PREFIX != (\~|/|./|../)* && $#cdpath -ne 0 ]]; then
if [[ -o cdablevars && -n "$PREFIX" && ! -d ${tdir::=${PREFIX%%/*}} &&
-d ${~tdir2::="~$tdir"} ]]; then
PREFIX="~$PREFIX"
_wanted directories expl directory _path_files -/
_wanted directories expl directory _path_files -/ && ret=0
else
local tmpcdpath
tmpcdpath=(${${(@)cdpath:#.}:#$PWD})
_alternative \
'local-directories:local directories:_path_files -/' \
"path-directories:directories in cdpath:_path_files -W tmpcdpath -/"
"path-directories:directories in cdpath:_path_files -W tmpcdpath -/" && ret=0
fi
else
_wanted directories expl directory _path_files -/
_wanted directories expl directory _path_files -/ && ret=0
fi
return ret
fi