The first 7 patches have already been sent to wine-devel, but felt into the void (adding interactive tests framework to cmd, and fixing a couple of bugs in interactive more handling, including tests). So, resubmitting.
The rest (4) patches implement tab and shift tab completion for filenames in cmd (trying to mimic native behavior).
NB: I intentionnaly left ioctl 23 unused (as it appears in Roman's patches about GetConsoleProcessList). Won't resolve the potential merge conflict though.
A+
---
Eric Pouech (11): programs/cmd/tests: don't output more data than available programs/cmd/tests: added ability to run tests in interactive mode programs/cmd/tests: some interactive test about input echo programs/cmd/tests: added support for multi-line input programs/cmd: handle white space only lines within ( ) block programs/cmd: expand commandline before parsing it (interactive mode) programs/cmd: detect badly quoted operand in 'if' statement kernelbase/console, programs/conhost: support CONSOLE_READCONSOLE_CONTROL in ReadConsoleW dlls/kernelbase, programs/conhost: return key state in ReadConsoleW with completion programs/cmd: implement filename completion programs/conhost: handle csi escape sequence for shift tab
dlls/kernelbase/console.c | 36 ++- include/wine/condrv.h | 1 + programs/cmd/batch.c | 252 +++++++++++++++++- programs/cmd/builtins.c | 10 + programs/cmd/tests/batch.c | 111 ++++++-- programs/cmd/tests/interactive_builtins.cmd | 42 +++ .../cmd/tests/interactive_builtins.cmd.exp | 67 +++++ programs/cmd/tests/rsrc.rc | 10 + programs/cmd/wcmdmain.c | 34 ++- programs/conhost/conhost.c | 114 ++++++-- programs/conhost/conhost.h | 2 + server/console.c | 1 + 12 files changed, 618 insertions(+), 62 deletions(-) create mode 100644 programs/cmd/tests/interactive_builtins.cmd create mode 100644 programs/cmd/tests/interactive_builtins.cmd.exp