--- a/cygwin.rst Wed Dec 30 23:13:56 2020 +0200
+++ b/cygwin.rst Thu Dec 31 23:19:59 2020 +0200
@@ -22,12 +22,22 @@
Cygwin behavior can be altered via ``CYGWIN`` env var::
- set CYGWIN=nodosfilewarning noglob
+ set CYGWIN=noglob wincmdln
+
+* ``noglob`` disable reinterpreting positional arguments native Windows application as if they
+ contain shell wildcards. With ``glob`` running ``ls *`` from ``cmd`` works as if it is run from
+ Unix shell.
-Currently only ``noglob`` is useful. It disables interpreting special shell wildcard characters
-passed verbatim from native Windows apps. So you will unable to do ``ls *`` from ``cmd.exe``. But
-without this option (``glob`` is default) Mercurial patterns, like ``{rev}`` are broken. For me
-native Windows Emacs can't determine file revision with my ``hg`` wrapper.
+ When I used native Emacs & Cygwin wrapper for ``hg`` default option ``glob`` broke Emacs VC mode
+ because Emacs is using ``{rev}`` as one of the arguments and it was replaced by empty string when
+ ``glob`` is active.
+
+ ``noglob`` enshures that there are no any magical replacement.
+
+* ``wincmdln`` helps during process invocation troubleshooting. Cygwin maintains own structures for
+ program positional arguments so argument list is invisible to Windows programs like Process
+ Monitor. The option ``wincmdln`` tells Cygwin program to copy internal structure for arguments to
+ Windows managed structure making arguments visible.
https://cygwin.com/cygwin-ug-net/using-cygwinenv.html
The ``CYGWIN`` environment variable. Available options.