the copy part looks good to me (first 2 commits)
handling of separators in completion still lacks a couple of items
`dir "a+<TAB>` differs from native
`dir a,<TAB>` differs from native
`dir a"<TAB>` differs from native
note there are characters (other than '+') that native (tested on Win10 only) uses for file separation: '\\', '&', '(', ')', '/', '!', '\~', '{', '}', '\[', '\]' and surprisingly '^' (as ^ is an escape character)
what is not supported as separator:
'\<', '\>' how strange!!! you want a filename after a redirection!
'|' (that's strange I would have expected & and | to behave similarly)
and `dir a><TAB>` the '\>' is swallowed by completion... not sure we want that (esp. since you'd expect to type a filename after a redirection operator)
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/8200#note_106573
The function was passing a 32-bit `UNICODE_STRING` pointer directly to the 64-bit
function, causing string corruption. Use the `unicode_str_32to64()` helper like other
similar functions.
This fixes 32-bit .NET Framework applications failing to create windows, such as
[dnSpyEx v6.5.1 (x86)](https://github.com/dnSpyEx/dnSpy/releases/tag/v6.5.1), when using a new-style WoW64 build.
Fixes: 73f4aeb2dcc33abd2f3ee02ee8fc1042d1998399
--
v2: wow64win: Fix UNICODE_STRING thunking in wow64_NtUserRegisterWindowMessage.
https://gitlab.winehq.org/wine/wine/-/merge_requests/8323
The function was passing a 32-bit `UNICODE_STRING` pointer directly to the 64-bit
function, causing string corruption. Use the `unicode_str_32to64()` helper like other
similar functions.
This fixes 32-bit .NET Framework applications failing to create windows, such as
[dnSpyEx v6.5.1 (x86)](https://github.com/dnSpyEx/dnSpy/releases/tag/v6.5.1), when using a new-style WoW64 build.
Fixes: 73f4aeb2dcc33abd2f3ee02ee8fc1042d1998399
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/8323
Before this change we've treated Rbp as a CONTEXT_CONTROL register, but it is a CONTEXT_INTEGER register on windows (unlike ebp on i386, which is indeed a CONTEXT_CONTROL register on windows).
This caused issues with debuggers, specifically the Visual Studio 2022 Remote Debugging Server issues a SetThreadContext call with ContextFlags=CONTEXT_CONTROL, without Rbp set, which leads to Rbp getting erroneously zero'd.
Attached a simple test program [capture.c](/uploads/74698f4cd99246880250d6a139777603/capture.c), not sure if this should be part of the ntdll tests instead.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/8317