RFR: 8356985: Use "stdin.encoding" in Console's read*() methods [v2]

Naoto Sato naoto at openjdk.org
Tue May 20 22:06:50 UTC 2025


On Tue, 20 May 2025 19:24:16 GMT, Volkan Yazici <vyazici at openjdk.org> wrote:

>> Also noticed `DumbTerminalProvider::sysTerminal` calls `DumbTerminal` with `new FileInputStream(FileDescriptor.in)`. Later on `DumbTerminal` applies `encoding()` both for passed `stdin` and `std{out,err}`. In short, `TerminalProvider` might need to undergo a similar refactoring separating input and output encodings.
>
> All `FileDescriptor.in` encounters in `jdk.internal.org.jline.terminal` that might need attention:
> 
> src/jdk.internal.le/share/classes/jdk/internal/org/jline/terminal/impl/DumbTerminalProvider.java
> src/jdk.internal.le/share/classes/jdk/internal/org/jline/terminal/impl/exec/ExecPty.java
> src/jdk.internal.le/share/classes/jdk/internal/org/jline/terminal/impl/ffm/FfmTerminalProvider.java

JLine is a 3rd party library. It would be desirable that they change their implementation to separately handle in/out in their terminal, but that is out of scope of this PR

-------------

PR Review Comment: https://git.openjdk.org/jdk/pull/25271#discussion_r2098947104


More information about the core-libs-dev mailing list