zsh-workers
 help / color / mirror / code / Atom feed
* File completion of scp (tentative fix)
@ 2011-11-23  0:21 Ignacy Gawędzki
  2011-11-23  9:49 ` Antwort: " Andreas Pistoor
  2011-11-23  9:52 ` Peter Stephenson
  0 siblings, 2 replies; 3+ messages in thread
From: Ignacy Gawędzki @ 2011-11-23  0:21 UTC (permalink / raw)
  To: zsh-workers

[-- Attachment #1: Type: text/plain, Size: 670 bytes --]

Hi,

It's been some time since I wanted to track this bug down and finally took the
time to do it.

Supposing you have a remote host with a file in the home directory that begins
with a dash, the completion may fail because the file argument is interpreted
by ls as an option.

See the attached patch, which adds a -- before the pattern, so that files
starting with a dash won't possibly be considered as options.  This is the way
to go with a GNU ls on the other side, but I don't know how other versions
will interpret that.  Maybe something more sophisticated has to be done to
remain as generic as possible.

-- 
Save the whales. Feed the hungry. Free the mallocs. 

[-- Attachment #2: zsh-scp-completion.patch --]
[-- Type: text/x-diff, Size: 657 bytes --]

diff --git a/Completion/Unix/Command/_ssh b/Completion/Unix/Command/_ssh
index d0944c6..0ec9c84 100644
--- a/Completion/Unix/Command/_ssh
+++ b/Completion/Unix/Command/_ssh
@@ -16,7 +16,7 @@ _remote_files () {
     then rempat="${PREFIX%%[^./][^/]#}\*"
     else rempat="${(q)PREFIX%%[^./][^/]#}\*"
     fi
-    remfiles=(${(M)${(f)"$(_call_program files ssh -o BatchMode=yes $args -a -x ${IPREFIX%:} ls -d1FL "$rempat" 2>/dev/null)"}%%[^/]#(|/)})
+    remfiles=(${(M)${(f)"$(_call_program files ssh -o BatchMode=yes $args -a -x ${IPREFIX%:} ls -d1FL -- "$rempat" 2>/dev/null)"}%%[^/]#(|/)})
     compset -P '*/'
     compset -S '/*' || suf='remote file'
 

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Antwort: File completion of scp (tentative fix)
  2011-11-23  0:21 File completion of scp (tentative fix) Ignacy Gawędzki
@ 2011-11-23  9:49 ` Andreas Pistoor
  2011-11-23  9:52 ` Peter Stephenson
  1 sibling, 0 replies; 3+ messages in thread
From: Andreas Pistoor @ 2011-11-23  9:49 UTC (permalink / raw)
  To: zsh-workers

Hello,

> Supposing you have a remote host with a file in the home directory that 
begins
> with a dash, the completion may fail because the file argument is 
interpreted
> by ls as an option.
> 
> See the attached patch, which adds a -- before the pattern, so that 
files
> starting with a dash won't possibly be considered as options.  This is 
the way
> to go with a GNU ls on the other side, but I don't know how other 
versions
> will interpret that.  Maybe something more sophisticated has to be done 
to
> remain as generic as possible.
if the file is in the home directory, should it not be possible, to 
prepend ./ to its name?

Greetings
Andreas

-- 

Informationen (einschließlich Pflichtangaben) zu einzelnen, innerhalb der EU tätigen Gesellschaften und Zweigniederlassungen des Konzerns Deutsche Bank finden Sie unter http://www.deutsche-bank.de/de/content/pflichtangaben.htm. Diese E-Mail enthält vertrauliche und/ oder rechtlich geschützte Informationen. Wenn Sie nicht der richtige Adressat sind oder diese E-Mail irrtümlich erhalten haben, informieren Sie bitte sofort den Absender und vernichten Sie diese E-Mail. Das unerlaubte Kopieren sowie die unbefugte Weitergabe dieser E-Mail ist nicht gestattet.

Please refer to http://www.db.com/en/content/eu_disclosures.htm for information (including mandatory corporate particulars) on selected Deutsche Bank branches and group companies registered or incorporated in the European Union. This e-mail may contain confidential and/or privileged information. If you are not the intended recipient (or have received this e-mail in error) please notify the sender immediately and delete this e-mail. Any unauthorized copying, disclosure or distribution of the material in this e-mail is strictly forbidden.


^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: File completion of scp (tentative fix)
  2011-11-23  0:21 File completion of scp (tentative fix) Ignacy Gawędzki
  2011-11-23  9:49 ` Antwort: " Andreas Pistoor
@ 2011-11-23  9:52 ` Peter Stephenson
  1 sibling, 0 replies; 3+ messages in thread
From: Peter Stephenson @ 2011-11-23  9:52 UTC (permalink / raw)
  To: zsh-workers

On Wed, 23 Nov 2011 01:21:50 +0100
Ignacy Gawędzki <zsh@qult.net> wrote:
> Supposing you have a remote host with a file in the home directory that begins
> with a dash, the completion may fail because the file argument is interpreted
> by ls as an option.
> 
> See the attached patch, which adds a -- before the pattern, so that files
> starting with a dash won't possibly be considered as options.  This is the way
> to go with a GNU ls on the other side, but I don't know how other versions
> will interpret that.  Maybe something more sophisticated has to be done to
> remain as generic as possible.

I can't see a problem with that: the "--" has been standard for a long
time.  If it handles "-d1FL" you would think it ought to handle "--".
I've commited it.

-- 
Peter Stephenson <pws@csr.com>            Software Engineer
Tel: +44 (0)1223 692070                   Cambridge Silicon Radio Limited
Churchill House, Cambridge Business Park, Cowley Road, Cambridge, CB4 0WZ, UK


Member of the CSR plc group of companies. CSR plc registered in England and Wales, registered number 4187346, registered office Churchill House, Cambridge Business Park, Cowley Road, Cambridge, CB4 0WZ, United Kingdom
More information can be found at www.csr.com. Follow CSR on Twitter at http://twitter.com/CSR_PLC and read our blog at www.csr.com/blog


^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2011-11-23 10:10 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-11-23  0:21 File completion of scp (tentative fix) Ignacy Gawędzki
2011-11-23  9:49 ` Antwort: " Andreas Pistoor
2011-11-23  9:52 ` Peter Stephenson

Code repositories for project(s) associated with this public inbox

	https://git.vuxu.org/mirror/zsh/

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).