RFR: 8356165: System.in in jshell replace supplementary characters with ??
Jan Lahoda
jlahoda at openjdk.org
Wed May 7 06:49:27 UTC 2025
When reading from `System.in` in a JShell snippet, JShell first reads the whole line (getting a `String`), and then converts this characters from this `String` to bytes on demand. But, it does not convert multi-surrogate code points correctly, it tries to convert each surrogate separately, which cannot work.
The proposal herein is to, when the current character is a high surrogate, peek at the next character, and if it is a low surrogate, convert both the high and low surrogates to bytes together.
-------------
Commit messages:
- Fixing tests.
- 8356165: System.in in jshell replace supplementary characters with ??
Changes: https://git.openjdk.org/jdk/pull/25079/files
Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=25079&range=00
Issue: https://bugs.openjdk.org/browse/JDK-8356165
Stats: 74 lines in 3 files changed: 70 ins; 0 del; 4 mod
Patch: https://git.openjdk.org/jdk/pull/25079.diff
Fetch: git fetch https://git.openjdk.org/jdk.git pull/25079/head:pull/25079
PR: https://git.openjdk.org/jdk/pull/25079
More information about the kulla-dev
mailing list