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@byu.net>
User-Agent: Mozilla Thunderbird 1.0.2 (Windows/20050317)
MIME-Version: 1.0
To: Tom Plunket <tomas@fancy.org>
CC: cygwin@cygwin.com
Subject: Re: chere problem with directories with single quote marks
References: <193897177.20051223224814@fancy.org>
In-Reply-To: <193897177.20051223224814@fancy.org>
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit
X-IsSubscribed: yes
Mailing-List: contact cygwin-help@cygwin.com; run by ezmlm
List-Subscribe: <mailto:cygwin-subscribe@cygwin.com>
List-Archive: <http://sourceware.org/ml/cygwin/>
List-Post: <mailto:cygwin@cygwin.com>
List-Help: <mailto:cygwin-help@cygwin.com>, <http://sourceware.org/ml/#faqs>
Sender: cygwin-owner@cygwin.com
Mail-Followup-To: cygwin@cygwin.com
Delivered-To: mailing list cygwin@cygwin.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@byu.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/

