This is cmd engine rewrite serie XXXVI.
(and the second regarding introducing pipes between commands).
Aim of this serie (and next one) is to ensure all builtin commands
properly get their input from a pipe.
Basically, this serie
- hardens WCMD_fgets() to support properly pipes,
- let a couple of builtin commands use WCMD_fgets() instead of
WCMD_ReadFile (basically, we only need by line input - WCMD_fgets() -
or on the fly key strokes - WCMD_wait_for_input -.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/9020
Additionally, add explicit rules to the AQS parser for resolving shift/reduce conflicts involving NOT/OR clauses.
--
v2: cfgmgr32: Implement support for logical operators in DEVPROP_FILTER_EXPRESSION.
cfgmgr32/tests: Add tests for filters with boolean operators.
https://gitlab.winehq.org/wine/wine/-/merge_requests/9010
Giving this one final shot. If this is not deemed acceptable, I will abandon the effort and just move on to other things, no hard feelings.
This is IMO a cleaner, more conservative/less invasive change.
What is fixed:
- Bug #56381, "TYPE c:\windows\winhelp.exe >foo", i.e. binary mode operation. I would probably consider this the main reason for this change. I'm trying to get the compiler mentioned in the bug report working.
- Ctrl-Z termination of TYPE output to the console.
- "TYPE con >foo", with Ctrl-Z handling, functionally equivalent to "COPY con foo".
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=56381
--
v10: cmd: Fix TYPE behavior (now uses WCMD_copy_loop).
https://gitlab.winehq.org/wine/wine/-/merge_requests/8920
--
v5: server: Eliminate async_alerted() helper function.
server: Eliminate async_unknown_status() helper function.
server: Remove "unknown_status" field from struct async.
server: Remove "alerted" field from struct async.
server: Remove "terminated" field from struct async.
server: Remove "signaled" field from struct async.
server: Remove "direct_result" field from struct async.
server: Signal async unconditionally in async_set_result().
server: Introduce a new async state enum.
server: Introduce async_unknown_status() helper to compute the 'unknown_status' flag.
server: Introduce async_alerted() helper to compute the 'alerted' flag.
server: Introduce async_terminated() helper to compute the 'terminated' flag.
https://gitlab.winehq.org/wine/wine/-/merge_requests/6369