delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2005/12/24/09:59:54

X-Spam-Check-By: sourceware.org
Message-ID: <43AD6259.5080205@byu.net>
Date: Sat, 24 Dec 2005 07:59:37 -0700
From: Eric Blake <ebb9 AT byu DOT net>
User-Agent: Mozilla Thunderbird 1.0.2 (Windows/20050317)
MIME-Version: 1.0
To: Tom Plunket <tomas AT fancy DOT org>
CC: cygwin AT cygwin DOT com
Subject: Re: chere problem with directories with single quote marks
References: <193897177 DOT 20051223224814 AT fancy DOT org>
In-Reply-To: <193897177.20051223224814@fancy.org>
X-IsSubscribed: yes
Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm
List-Subscribe: <mailto:cygwin-subscribe AT cygwin DOT com>
List-Archive: <http://sourceware.org/ml/cygwin/>
List-Post: <mailto:cygwin AT cygwin DOT com>
List-Help: <mailto:cygwin-help AT cygwin DOT com>, <http://sourceware.org/ml/#faqs>
Sender: cygwin-owner AT cygwin DOT com
Mail-Followup-To: cygwin AT cygwin DOT com
Delivered-To: mailing list cygwin AT cygwin DOT com

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

According to Tom Plunket on 12/23/2005 11:48 PM:
> 
>        SHELL_CMD="-l -c \\\"cd '%L'; exec $SHELL_EXE\\\""
> 
> As you can see, this is clearly "wrong" for folders with a
> single-quote mark in them.
> 
> My local fix was just to edit the registry and change '%L' to "%L".
> Obviously this affects the handling of this feature with folders that
> have a double-quote mark in them, but as I only use single quotes
> (e.g. "Debbie's Truck" or "Craig's List"), it Works For Me.  ;)

Window's allows ' but not " in filenames.  However, Windows also allows $
in filenames, so switching to double quotes would trade the problems with
' to problems with $.  And you need quoting, or spacing would be
corrupted.  Off the top of my head, I can only think of one way that might
preserve ', $, and spaces in the problematic %L when dumped literally into
a shell script, but I don't know if Windows SHELL_CMD can handle embedded
newlines.  In a normal shell window,

$ xargs -0 << 'EOF'
> a  '$b
> EOF
a  '$b

the here-doc correctly preserved the input string.  So applying that to
the above problem, the registry entry MIGHT work (untested by me) if it is
written as:

SHELL_CMD="-l -c \\\"xargs -0 cd << 'EOF'\n%L\nEOF\nexec $SHELL_EXE\\\""

- --
Life is short - so eat dessert first!

Eric Blake             ebb9 AT byu DOT net
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.1 (Cygwin)
Comment: Public key at home.comcast.net/~ericblake/eblake.gpg
Comment: Using GnuPG with Thunderbird - http://enigmail.mozdev.org

iD8DBQFDrWJZ84KuGfSFAYARAgXnAJ4sy/t74TssPSFEow2nQbLnj2QUxACfdv+S
z2wvMNYE8l1bpQuc4ON06Es=
=CfzD
-----END PGP SIGNATURE-----

--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Problem reports:       http://cygwin.com/problems.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019