RFR: JDK-8214491: Upgrade to JLine 3.9.0

Robert Field robert.field at oracle.com
Tue Dec 4 22:59:02 UTC 2018


I saw no issues with JShell tool and test portions of the webrev.  I did 
not review the nashorn changes.

Testing it: editing multi-line snippets is vastly easier and more intuitive.
There is one issue, with the old mechanism, as horridly clunky as it 
was, you could add new lines of code (a frequently needed functionality).
Since <return> is accept, I could find no way to add lines with this 
JLine 3 version.  Thoughts?

I looked into readline commands as an approach to addressing this, found 
nothing.  However, most readline commands worked. Ctrl-u however did not 
behave as documented in readline (instead deleting to the beginning of 
the line).  I notice that the there is zero in-command documentation of 
command-line editing -- not even a mention.  Independent from the review 
of this port, it seems we should have in-command documentation of 
command editing -- even more so now that multiline editing is useful.

The JShell User Manual will also need a little edit in the History 
Navigation section.

-Robert


On 11/29/18 1:06 PM, Jan Lahoda wrote:
> Hi,
>
> I'd like to update the internal JLine used by JShell and jjs to JLine 
> 3.9.0. Two notable advantages of this version is multi-line snippet 
> editing and better UI on Windows (escape sequence support on Windows). 
> As a consequence, this patch drops EditingHistory, as it does not seem 
> to be needed anymore.
>
> JBS:
> https://bugs.openjdk.java.net/browse/JDK-8214491
>
> The full patch is here:
> http://cr.openjdk.java.net/~jlahoda/8214491/webrev.00/
>
>
> To make the changes more clear, I've split it into two:
> -replacement of existing JLine with the new on in jdk.internal.le, no 
> changes to JLine code:
> http://cr.openjdk.java.net/~jlahoda/8214491/webrev.00.replace/
>
> -tweaks to JLine (repackaging, eliminating references to j.u.l.Logger, 
> adding hooks to wrap input streams with our stop-detecting input 
> stream, adding unicode escapes to unicode characters, support for 
> Windows without JNA), adjustments to JShell and jjs (unfortunately, 
> 3.9.0 is not compatible with the JLine 2 branch, so the changes are 
> substantial):
> http://cr.openjdk.java.net/~jlahoda/8214491/webrev.00.update/
>
> Any feedback is welcome!
>
> Thanks,
>     Jan


More information about the kulla-dev mailing list