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.

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

Commit messages:
 - Removing trailing whitespace
 - 8352693: Use a simpler console reader instead of JLine for System.console()

Changes: https://git.openjdk.org/jdk/pull/24242/files
  Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=24242&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-8352693
  Stats: 2502 lines in 22 files changed: 1872 ins; 600 del; 30 mod
  Patch: https://git.openjdk.org/jdk/pull/24242.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/24242/head:pull/24242

PR: https://git.openjdk.org/jdk/pull/24242

Reply via email to