X-Recipient: archive-cygwin AT delorie DOT com X-Spam-Check-By: sourceware.org Date: Thu, 20 Dec 2012 14:42:42 +0100 From: Corinna Vinschen To: cygwin AT cygwin DOT com Subject: Re: argv @-expansion with pathname containing spaces Message-ID: <20121220134242.GB24713@calimero.vinschen.de> Reply-To: cygwin AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com References: <20121219162048 DOT GA4564 AT qp9482> <20121220115536 DOT GA300 AT qp9482> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline In-Reply-To: <20121220115536.GA300@qp9482> User-Agent: Mutt/1.5.21 (2010-09-15) Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com Delivered-To: mailing list cygwin AT cygwin DOT com On Dec 20 12:55, Denis Excoffier wrote: > On Thu, Dec 20, 2012 at 11:34:37AM +0100, Csaba Raduly wrote: > >> H Denis, > >> > >> On Wed, Dec 19, 2012 at 5:20 PM, Denis Excoffier wrote: > >> > > >> > Hello, > >> > > >> > I try to use the @pathname feature (see > >> > http://cygwin.com/cygwin-ug-net/using-specialnames.html#pathnames-at), > >> > but it does not seem to work when pathname contains a space character. > >> > > >> > My test pathname is D:\Documents and Settings\myuser\Desktop\test; with > >> > C:\Home\myuser\test it works perfectly. > >> > > >> > I have tried @"path name" or @'path name', @path\\ name, or even > >> > @path" "name, with no interpretation of the @. > >> > >> Have you tried with '@D:\Documents and Settings\myuser\Desktop\test' ? > Does not work. > >> Have you tried with '@D:\Docume~1\myuser\Desktop\test' ? > Does not work either, but @D:\Docume~1\myuser\Desktop\test > (without the simple quotes) does work. However i don't see how to > derive the 8.3 form from my original filename, using DOS only. > > For the moment, the best solution i have is to copy > the original file into, say, %TEMP%\dummy.txt, hoping that %TEMP% > will not contain any spaces: > > copy "%pathname%" %TEMP%\dummy.txt > nul In fact the @ expression was not allowed to be quoted, since the quoted string was kept intact for a later call to glob(3). Unfortunately, the insert_file function, which handles reading the DOS file given as @ parameter doesn't handle quoting either. I applied a patch which allows a simple, quoted string after the @ expression now. So this works: @"a b\foo" But this still won't work: "@a b\foo" The @ must be the first character in a word. Hope that helps, Corinna -- Corinna Vinschen Please, send mails regarding Cygwin to Cygwin Project Co-Leader cygwin AT cygwin DOT com Red Hat -- Problem reports: http://cygwin.com/problems.html FAQ: http://cygwin.com/faq/ Documentation: http://cygwin.com/docs.html Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple