[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#2607: 23.0.90; `system-type' test in `shell-quote-wildcard-pattern'
From: |
Stefan Monnier |
Subject: |
bug#2607: 23.0.90; `system-type' test in `shell-quote-wildcard-pattern' |
Date: |
Mon, 09 Mar 2009 21:14:30 -0400 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/23.0.90 (gnu/linux) |
>> The code of `shell-quote-wildcard-pattern' has this test:
>> (memq system-type '(ms-dos windows-nt cygwin)). Looking at that
>> code, the inclusion of `cygwin' here seems suspect to me.
>>
>> The Elisp manual says only that a `system-type' of `cygwin' means
>> Emacs running on Cygwin ("type of operating system Emacs is operating
>> on"). Dunno what that means, really, but I'm guessing that such a
>> system would use a shell, such as `bash', that treats characters in
>> file names similarly to how `bash' treats them for GNU/Linux or UNIX.
> Cygwin is in the same list because Cygwin runs on Windows, and Windows
> does not allow the `"' character in file names. It's true that Cygwin
> uses Bash as the shell, but no shell can fix what the underlying
> filesystem does not support.
BTW, Reading the docstring makes me wonder what this function is really
intended to do. Especially the last sentence:
Existing quote characters in PATTERN are left alone, so you can pass
PATTERN that already quotes some of the special characters.
I see what it corresponds to in the DOS part of the code, but I don't
see anything equivalent in the Unix side. And furthermore, even seeing
the code, I don't understand what is this special case supposed to be
used for.
Stefan