This is my 4th attempt at fixing the cmd command line treatment. All patches pass the cmd tests with 0 errors both under wine and on the Test Bot, including NT. Whitespace issues are fixed, too. Apart from that, the code is the same as before.
The size of my patches has been criticized - only patch 2/5 is really big, but it has to be that way to pass the tests.
This will also be my last attempt to get this merged. If the patches don't get applied this time, I hope that the cmd Gurus (Frederic or Dan) will take up the bits they like and get them in over time. If there are any technical issues or bugs in my code, I'll of course take care (please email me privately, as I'm not monitoring wine-devel).
A private side note: I estimate that I have spent at least 10x more effort and time to get the tests right and the patches submission-ready than I spent on fixing the actual Wine code. I believe this project needs to think over its policies. I fully understand that a project this big needs to take a lot of care to maintain qualitiy standards. But the way this is currently working is discouraging and frustrating for casual contributors like myself.
Martin Wilck (5): cmd/tests: add tests for command line parsing cmd: use GetCommandline() rather than argv cmd: improve parsing of quotes in command line cmd: fix handling of special characters in command line cmd: fix parameter parsing of quotes and special chars
programs/cmd/batch.c | 82 ++++++--- programs/cmd/tests/rsrc.rc | 6 + programs/cmd/tests/test_builtins.cmd.exp | 8 +- programs/cmd/tests/test_cmdline.cmd | 158 +++++++++++++++++ programs/cmd/tests/test_cmdline.cmd.exp | 77 +++++++++ programs/cmd/wcmdmain.c | 276 ++++++++++++------------------ 6 files changed, 406 insertions(+), 201 deletions(-) create mode 100755 programs/cmd/tests/test_cmdline.cmd create mode 100755 programs/cmd/tests/test_cmdline.cmd.exp