RFR: 8356245: stdin.encoding and stdout.encoding in jshell don't respect console code pages
Jan Lahoda
jlahoda at openjdk.org
Tue May 20 13:34:01 UTC 2025
JShell, by default, uses two processes: the main one which compiles snippets, and a remote, that runs them.
The remote process is not connected to console, and hence its in/out/err encoding will be derived from the platform encoding, while the main process will use encoding derived from the console settings.
This PR proposes to pass the stdin/out/err encoding from the main process to the remote process. It also has to change the char->byte conversion for System.in to use the `stdin.encoding`, so that the remote process understands it.
The `InputUITest` requires explicitly setting encoding, as the tests sometimes run with the ASCII encoding, but use Unicode characters, and fail, as the ASCII encoding is not really followed by JShell now.
-------------
Commit messages:
- Attempting to fix test failures.
- Clarifying duration, as suggested.
- 8356245: stdin.encoding and stdout.encoding in jshell don't respect console code pages
Changes: https://git.openjdk.org/jdk/pull/25328/files
Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=25328&range=00
Issue: https://bugs.openjdk.org/browse/JDK-8356245
Stats: 24 lines in 3 files changed: 13 ins; 2 del; 9 mod
Patch: https://git.openjdk.org/jdk/pull/25328.diff
Fetch: git fetch https://git.openjdk.org/jdk.git pull/25328/head:pull/25328
PR: https://git.openjdk.org/jdk/pull/25328
More information about the kulla-dev
mailing list