https://bugs.winehq.org/show_bug.cgi?id=52872
Bug ID: 52872 Summary: vbscript:run fails in Wine in Hindi Product: Wine Version: unspecified Hardware: x86-64 OS: Linux Status: NEW Severity: normal Priority: P2 Component: vbscript Assignee: wine-bugs@winehq.org Reporter: fgouget@codeweavers.com Distribution: ---
vbscript:run fails in Wine in Hindi
run.c:1874: Error in line 1813: 0 L"Invalid procedure call or argument" run.c:1888: Test failed: unexpected call OnScriptError run.c:2933: Test failed: expected global_success_d run.c:2934: Test failed: expected global_success_i run.c:2936: Test failed: parse_script failed: 800a0005
https://test.winehq.org/data/patterns.html#vbscript:run
A bisect shows that these failures started happening with the following commit:
commit e81327358a26b160740b3421a4c7f300b4d2f06f Author: Alexandre Julliard julliard@winehq.org Date: Wed Apr 13 15:13:16 2022 +0200
kernelbase: Move codepage initialization to ntdll.
Signed-off-by: Alexandre Julliard julliard@winehq.org
https://bugs.winehq.org/show_bug.cgi?id=52872
François Gouget fgouget@codeweavers.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords| |regression, source, | |testcase Regression SHA1| |e81327358a26b160740b3421a4c | |7f300b4d2f06f
https://bugs.winehq.org/show_bug.cgi?id=52872
--- Comment #1 from François Gouget fgouget@codeweavers.com --- Oddly this is the same commit as for a recent set of oleaut32:typelib failures (see bug 52873).
https://bugs.winehq.org/show_bug.cgi?id=52872
--- Comment #2 from François Gouget fgouget@codeweavers.com --- This commit is also involved in the following failures: * Bug 52875 - riched20:editor fails in Wine in Hindi * Bug 52870 - shlwapi:url - The UrlGetPartA() tests fails in Wine in Hind
https://bugs.winehq.org/show_bug.cgi?id=52872
Robert Wilhelm sloper42@yahoo.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |sloper42@yahoo.com
--- Comment #3 from Robert Wilhelm sloper42@yahoo.com --- The failing test is asc(chr(255))
with LANG=hi_IN.utf8 chr(255) is converted to '\fffd' unicode replacement char.
https://bugs.winehq.org/show_bug.cgi?id=52872
--- Comment #4 from Robert Wilhelm sloper42@yahoo.com --- It is an issue with MultiByteToWideChar.
After
char buf[2]; buf[0] = 255; WCHAR ch; MultiByteToWideChar(CP_ACP, 0, buf, 1, &ch, 1);
ch is 0xfffd.
https://bugs.winehq.org/show_bug.cgi?id=52872
--- Comment #5 from Robert Wilhelm sloper42@yahoo.com --- This stackoverflow entry is good summery of issues with Hindi: https://stackoverflow.com/questions/25384288/whats-the-default-character-enc...
Maybe we should explicitly use code page 1252 for CHR builtin.
https://bugs.winehq.org/show_bug.cgi?id=52872
--- Comment #6 from Robert Wilhelm sloper42@yahoo.com --- Created attachment 72304 --> https://bugs.winehq.org/attachment.cgi?id=72304 use code page 1252 for chr and asc builtin.
https://bugs.winehq.org/show_bug.cgi?id=52872
--- Comment #7 from Robert Wilhelm sloper42@yahoo.com --- (In reply to Robert Wilhelm from comment #6)
Created attachment 72304 [details] use code page 1252 for chr and asc builtin.
While this patch fixes the regression with 0xff, it is wrong. Under Hindi locale you can use unicode characters, e.g "msgbox chr(&h0915)" displays क (Ka) at least under W11pro 2H21. Under English locale you cannot use them.
https://bugs.winehq.org/show_bug.cgi?id=52872
François Gouget fgouget@codeweavers.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |julliard@winehq.org
https://bugs.winehq.org/show_bug.cgi?id=52872
--- Comment #8 from Nikolay Sivov bunglehead@gmail.com --- This looks bigger than a test failure on some locale. As far as I can tell, Chr() does depend on host's locale. That's confusing when testing on Windows, because we return user-default locale in tests, and switching system locale does not change it.
What Chr() definitely doesn't do is to use GetACP() the way we do.
https://bugs.winehq.org/show_bug.cgi?id=52872
--- Comment #9 from Nikolay Sivov bunglehead@gmail.com --- Just posted a draft here https://gitlab.winehq.org/wine/wine/-/merge_requests/1442. It needs splitting.
https://bugs.winehq.org/show_bug.cgi?id=52872
Nikolay Sivov bunglehead@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Summary|vbscript:run fails in Wine |vbscript: incorrect |in Hindi |codepage handling in | |Asc/Chr, causing tests | |failures Hindi locales
https://bugs.winehq.org/show_bug.cgi?id=52872
Nikolay Sivov bunglehead@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Summary|vbscript: incorrect |vbscript: incorrect |codepage handling in |codepage handling in |Asc/Chr, causing tests |Asc/Chr, causing tests |failures Hindi locales |failures on Hindi locale
https://bugs.winehq.org/show_bug.cgi?id=52872
Robert Wilhelm sloper42@yahoo.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Fixed by SHA1| |beb9e1137087ed822656cdd1b29 | |9130f9ee3c575 Status|NEW |RESOLVED Resolution|--- |FIXED
--- Comment #10 from Robert Wilhelm sloper42@yahoo.com --- Nikolay´s patch was accepted as beb9e1137087ed822656cdd1b299130f9ee3c575.
https://bugs.winehq.org/show_bug.cgi?id=52872
Alexandre Julliard julliard@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #11 from Alexandre Julliard julliard@winehq.org --- Closing bugs fixed in 7.22.