diff options
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | Completion/Unix/Command/_rlogin | 6 |
2 files changed, 8 insertions, 3 deletions
diff --git a/ChangeLog b/ChangeLog index 24437878b..a19c99bbb 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2003-06-05 Oliver Kiddle <opk@zsh.org> + + * 18607: Completion/Unix/Command/_rlogin: correctly handle + quoting for remote files for rcp completion + 2003-06-05 Peter Stephenson <pws@csr.com> * users/6154: Src/subst.c: anchors didn't work with // diff --git a/Completion/Unix/Command/_rlogin b/Completion/Unix/Command/_rlogin index 4fb010ec6..0d8355bfb 100644 --- a/Completion/Unix/Command/_rlogin +++ b/Completion/Unix/Command/_rlogin @@ -5,7 +5,7 @@ _rcp_remote_files () { local expl remfiles remdispf remdispd suf ret=1 if zstyle -T ":completion:${curcontext}:" remote-access; then - remfiles=(${(M)${(f)"$(rsh ${IPREFIX%:} ls -d1F ${PREFIX%%[^./][^/]#}\* 2>/dev/null)"}%%[^/]#(|/)}) + remfiles=(${(M)${(f)"$(rsh ${IPREFIX%:} ls -d1F ${(Q)PREFIX%%[^./][^/]#}\* 2>/dev/null)"}%%[^/]#(|/)}) compset -P '*/' compset -S '/*' || suf='remote file' @@ -16,9 +16,9 @@ _rcp_remote_files () { while _tags; do while _next_label files expl ${suf:-remote directory}; do [[ -n $suf ]] && compadd "$@" "$expl[@]" -d remdispf \ - ${remdispf%[*=@|]} && ret=0 + ${(q)remdispf%[*=@|]} && ret=0 compadd ${suf:+-S/} "$@" "$expl[@]" -d remdispd \ - ${remdispd%/} && ret=0 + ${(q)remdispd%/} && ret=0 done (( ret )) || return 0 done |