RFR: JDK-8214491: Upgrade to JLine 3.9.0

Jan Lahoda jan.lahoda at oracle.com
Fri Nov 30 14:04:02 UTC 2018


On 30.11.2018 04:10, Robert Field wrote:
> Nit: Why are the hyphens in the comments of AnsiWriter.java changed to
> unicode?

These were unicode hyphens (–), not ordinary hyphens (-). I could have 
replace them with ordinary hyphens, but opted to keeping the semantics 
the same by using a unicode escape.

>
> utils/Display.java -- please document the change

Will do. (As a note, this is used when reading user input in cases like:
{ System.out.print("Provide input:");
   System.in.read();
}
where, when the read is executed, the user should enter some input, but 
should not be able to get the cursor into the printed text.)

>
> utils/StyleResolver.java et. al. -- if we want less surface area to
> update when we get new versions, we could perhaps a non-op logger.  No
> changes required.  Why is logging pulled out?

jdk.internal.le currently does not depend on java.logging. jdk.jshell 
does, so there would be no problem with using j.u.l.Logger for jshell, 
but jjs does not depend on java.logging. If it would be OK to make jjs 
depend on java.logging, we can undo these changes.

Another alternative would be to convert the use of Logger to 
System.Logger, but that requires non-trivial changes as well.

>
> terminal/impl/jna/win/Kernel32.java -- short doc of the Windows change

Will do.

Thanks!

Jan

>
> Review of JShell tool and test code in separate email.
>
> -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