From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 6243 invoked by alias); 19 Mar 2013 09:44:41 -0000 Mailing-List: contact zsh-workers-help@zsh.org; run by ezmlm Precedence: bulk X-No-Archive: yes List-Id: Zsh Workers List List-Post: List-Help: X-Seq: 31167 Received: (qmail 29526 invoked from network); 19 Mar 2013 09:44:28 -0000 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on f.primenet.com.au X-Spam-Level: X-Spam-Status: No, score=-6.9 required=5.0 tests=BAYES_00,RCVD_IN_DNSWL_HI autolearn=ham version=3.3.2 Received-SPF: none (ns1.primenet.com.au: domain at linux.vnet.ibm.com does not designate permitted sender hosts) Date: Tue, 19 Mar 2013 17:33:59 +0800 From: Han Pingtian To: zsh-workers@zsh.org Subject: [PATCH] scp distinguish local file from remote file Message-ID: <20130319093359.GA21738@localhost.localdomain> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit User-Agent: Mutt/1.5.21 (2010-09-15) X-TM-AS-MML: No X-Content-Scanned: Fidelis XPS MAILER x-cbid: 13031909-7606-0000-0000-0000099BE475 If a file path starting with a '.' or '/', then it should be a local file/dir, even if there are colons in the path. This will try to fix this problem: ➜aimlp7 ~ ☻ ls /var/crash/biglp9/10.33.5.227-2013.03.19-04:21:30 vmcore.flat ➜aimlp7 ~ ☻ scp /var/crash/biglp9/10.33.5.227-2013.03.19-04:21:30 No matches: `file', `option', `remote file', or `corrections' --- Completion/Unix/Command/_ssh | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/Completion/Unix/Command/_ssh b/Completion/Unix/Command/_ssh index 7e85e2b..8711b6b 100644 --- a/Completion/Unix/Command/_ssh +++ b/Completion/Unix/Command/_ssh @@ -519,7 +519,7 @@ _ssh () { fi ;; file) - if compset -P '*:'; then + if compset -P '[^./]*:'; then _remote_files -- ssh ${(kv)~opt_args[(I)-[FP1246]]/-P/-p} && ret=0 elif compset -P '*@'; then suf=( -S '' ) -- 1.7.7.6