public inbox for cygwin-patches@cygwin.com
 help / color / mirror / Atom feed
From: Corinna Vinschen <corinna-cygwin@cygwin.com>
To: Johannes Schindelin <Johannes.Schindelin@gmx.de>
Cc: Mingye Wang <arthur2e5@aosc.io>, cygwin-patches@cygwin.com
Subject: Re: [PATCH v6] Cygwin: rewrite cmdline parser
Date: Mon, 17 May 2021 13:03:49 +0200	[thread overview]
Message-ID: <YKJNlWSPUjihmoF1@calimero.vinschen.de> (raw)
In-Reply-To: <nycvar.QRO.7.76.6.2105142124390.57@tvgsbejvaqbjf.bet>

On May 14 21:38, Johannes Schindelin wrote:
> Hi,
> 
> first of all: thank you for working on this. I have run afoul of the
> (de-)quoting differences between MSVCRT and Cygwin on more than one
> occasion.
> [...]
> > * MSVCRT compatibility. Except for the single-quote handling (an
> >   extension for compatibility with old Cygwin), the parser now
> >   interprets option boundaries exactly like MSVCR since 2008. This fixes
> >   the issue where our escaping does not work with our own parsing.
> 
> When I read this, I immediately think: This is probably going to break
> backwards-compatibility, OMG this is making my life so much harder than it
> already is.
> [...]
> I ask because as maintainer of Git for Windows (which bundles an MSYS2
> runtime which is based on the Cygwin runtime), it is my responsibility to
> take care of backwards-compatibility on behalf of the millions of users
> out there.

Did you try it?  AFAIU, the patch actually fixes up a Cygwin weirdness,
which already results in broken behaviour, rather than breaking backward
compat.  IIRC we discussed this already a while back, you should find it
in the archives.

> > * A memory leak in the @file expansion is removed by rewriting it to use
> >   a stack of buffers. This also simplifies the code since we no longer
> >   have to move stuff. The "downside" is that tokens can no longer cross
> >   file boundaries.
> 
> This bullet point sounds as if it cries out loud to be put into a separate
> patch, accompanied by the corresponding refactored part of the diff.
> I would like to encourage you to disentangle these separate concerns:
> 
> - moving code (`git diff --color-moved` should tell the reader that
>   nothing was edited)
> 
> - clarifying documentation
> 
> - removing GLOB_NOCHECK
> 
> - introducing an MSVCRT-compatible mode (and make it opt-in!)

What?  No.  There's no point in doing that.  We want a single way of
handling the CLI when called natively.  

> - whatever else I missed in the 304 deleted and 367 inserted lines (which
>   is a tough read, and I have to admit that my attention faded after about
>   a sixth of the patch)
> 
> In essence, pretend that you are a reviewer who wants to help by ensuring
> that this patch (series) does not break anything, and that it does
> everything as intended (i.e. no subtle bugs are lurking in there). Now,
> how would you like the series to be presented (and I keep referring to it
> as a _series_ because that's what it should be, for readability). Ideally
> it would be a series of patches that tell an interesting story, in a
> manner of speaking.

I concur that it would be rather nice to see this patch converted into a
series with patches handling one problem at a time.


Thanks,
Corinna

  reply	other threads:[~2021-05-17 11:03 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-09-05  5:27 [PATCH v4 1/3] Cygwin: rewrite and make public " Mingye Wang
2020-09-05  5:27 ` [PATCH v4 2/3] regparm: make code highlight happy Mingye Wang
2020-09-07  9:11   ` Corinna Vinschen
2020-09-05  5:27 ` [PATCH v4 3/3] testsuite: don't strip dir from obj files Mingye Wang
2020-09-07  9:14   ` Corinna Vinschen
2020-11-07 12:12   ` [PATCH v5] Cygwin: rewrite cmdline parser Mingye Wang
2020-11-07 12:12     ` [PATCH] " Mingye Wang
2020-11-09 10:04       ` Corinna Vinschen
2021-05-13 13:15     ` [PATCH v6] " Mingye Wang
2021-05-13 13:28       ` Mingye Wang
2021-05-14 19:38       ` Johannes Schindelin
2021-05-17 11:03         ` Corinna Vinschen [this message]
2020-09-07  9:39 ` [PATCH v4 1/3] Cygwin: rewrite and make public " Corinna Vinschen
2020-09-24  8:39   ` Mingye Wang (Artoria2e5)
2020-10-13 12:14     ` Corinna Vinschen

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=YKJNlWSPUjihmoF1@calimero.vinschen.de \
    --to=corinna-cygwin@cygwin.com \
    --cc=Johannes.Schindelin@gmx.de \
    --cc=arthur2e5@aosc.io \
    --cc=cygwin-patches@cygwin.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).