Cygwin is not passing arguments to Windows apps

Brian Inglis Brian.Inglis@SystematicSW.ab.ca
Sun Dec 17 16:05:42 GMT 2023


On 2023-12-17 07:29, Karl Crary via Cygwin wrote:
> On Sun, Dec 17, 2023 at 8:45 AM Karl Crary wrote:
>> On 12/17/2023 7:29 AM, Eliot Moss wrote:
>>> On 12/16/2023 10:55 PM, Karl Crary via Cygwin wrote:
>>>> I am encountering a bug wherein Cygwin is not passing arguments to most
>>>> Windows programs (although Cygwin programs are doing fine).
>>>> For example, the following command ought to be dumping a lot of usage 
>>>> information, but instead it starts a command prompt, which is what it
>>>> does when not passed any argument.
>>>> $ cmd /?
>>>> Microsoft Windows [Version 10.0.22621.2715]
>>>> (c) Microsoft Corporation. All rights reserved.
>>>> C:\crary>
>>>> I am experiencing the same behavior with bash, tcsh, zsh, and also 
>>>> make.  In addition to cmd, I've also confirmed that arguments are not
>>>> being passed to wsl, explorer, and (Miktex's) latex.  Some third-party
>>>> apps are getting their arguments, including Standard ML of New Jersey.
>>>> This is a brand-new install on a brand-new Windows 11 machine. (A Dell 
>>>> Precision 3660 tower, if that matters.) I also tried varying the
>>>> cygwin dll version (a little, not exhaustively) to no effect.
>>>> Any theory as to what could be going on would be most appreciated.
>>>> My cygcheck output (lightly redacted) follows.

>>> Cygwin's shell (generally bash) will try to pattern match ("glob") the
>>> /? because of the ?. I get intended results if I type:
>>> cmd '/?'
>>> Because what is in the root directory / may vary from system to system, 
>>> behavior without the quotes will may vary.
 >> Thank you, but I guess I posted a bad example then.
 >> latex --version
 >> This is pdfTeX, Version 3.141592653-2.6-1.40.25 (MiKTeX 23.10.12)
 >> (preloaded fomat=latex.fmt)
 >>    restricted \write18 enabled.
 >> **
 >> It should print version information, but instead that is what I would
 >> expect to see if I ran latex with no arguments.  The same thing happens if
 >> I call latex with a filename.  Or, to fix my previous example:
 >> $ cmd '/?'
 >> Microsoft Windows [Version 10.0.22621.2861]
 >> (c) Microsoft Corporation. All rights reserved.
 >> C:\crary>
 >> Any other thoughts?

 > I have stumbled on to a fix, but I am still puzzled. The problem arises
 > when either of the following lines appears in my /etc/fstab:
 > c: /c ntfs binary,noacl,cygexec,user 0 0
 > c: /home ntfs binary,noacl,cygexec,user 0 0
 > I've taken them out and it's working now, but I'm still puzzled by how
 > those lines created the problem. Those lines worked verbatim on my last
 > Cygwin installation; what changed?

$ man mount [NOTE: Reference to missing section "The Cygwin Mount Table"]

Looks like bugs have been fixed and /etc/fstab mount option cygexec is now 
skipping or overriding detection of *Windows* executables, treating all files as 
*Cygwin* executables, which expect their extended command line elsewhere, and 
are launched without arguments in the DOS command buffer.

-- 
Take care. Thanks, Brian Inglis              Calgary, Alberta, Canada

La perfection est atteinte                   Perfection is achieved
non pas lorsqu'il n'y a plus rien à ajouter  not when there is no more to add
mais lorsqu'il n'y a plus rien à retirer     but when there is no more to cut
                                 -- Antoine de Saint-Exupéry



More information about the Cygwin mailing list