RFR: 8352693: Use a simpler console reader instead of JLine for System.console()
Magnus Ihse Bursie
ihse at openjdk.org
Mon Mar 31 12:40:19 UTC 2025
On Wed, 26 Mar 2025 07:54:48 GMT, Jan Lahoda <jlahoda at openjdk.org> wrote:
> The `java.io.Console` has several backends: a simple on in `java.base`, a more convenient one in `jdk.internal.le` (with line-reading based on JLine) and one for JShell.
>
> The backend based on JLine is proving to be a somewhat problematic - JLine is very powerful, possibly too powerful and complex for the simple task of editing a line with no completion, no history, no variables, no commands, etc. As a consequence, there are inevitable sharp edges in this backend.
>
> The idea in this PR is to replace the use of JLine in the `jdk.internal.le` backend with a simple escape code interpreter, that only handles a handful of keys/codes (left/right arrow, home, end, delete, backspace, enter), and ignores the rest. The goal is to have something simple with less surprising behavior.
src/jdk.internal.le/windows/native/lible/WindowsTerminal.cpp line 32:
> 30: #include <stdlib.h>
> 31: #include <Windows.h>
> 32: //#include <wincon.h>
Should you really check in new files with commented-out code?
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/24242#discussion_r2020962013
More information about the build-dev
mailing list