On Mon, 14 Jul 2025 20:23:25 GMT, Naoto Sato <na...@openjdk.org> wrote:

>> In prior JDK releases, `System.console()` could return a `Console` instance 
>> even when the JVM was not attached to an interactive terminal. This could 
>> lead to confusion, particularly when input was not from a keyboard or output 
>> was redirected, such as to or from a file or pipe, especially when using 
>> methods like `readPassword()`. Starting with JDK 25, the default behavior 
>> has changed: `System.console()` now returns `null` if standard input and/or 
>> output is redirected. However, if a JLine-based Console implementation is 
>> explicitly specified via the system property 
>> `-Djdk.console=jdk.internal.le`, the previous behavior may still occur.
>> This PR aims to align the behavior of the JLine-based `Console` 
>> implementation with the default `System.console()` behavior. The actual code 
>> change is a one-liner in `JdkConsoleProviderImpl.java`; the rest of the 
>> changes are adjustments to test cases to reflect the updated behavior. A 
>> corresponding CSR has also been drafted.
>
> Naoto Sato has updated the pull request incrementally with one additional 
> commit since the last revision:
> 
>   Reflects review comments

src/java.base/share/classes/java/lang/System.java line 244:

> 242:      *
> 243:      * @return  The system console, if any, otherwise {@code null}.
> 244:      * @see Console

The method declaration already links to Console so I don't think we need 
another link in the "See also" section.

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

PR Review Comment: https://git.openjdk.org/jdk/pull/26273#discussion_r2207473872

Reply via email to