On Wed, 22 Mar 2023 18:38:08 GMT, Jan Lahoda <jlah...@openjdk.org> wrote:
>> If JShell is run on a system that does not have `/bin/test` (which is, >> apparently, possible for some systems, which only have `/usr/bin/test`), it >> won't switch the terminal into the raw mode, and the input will not work >> properly. >> >> The proposed fix herein is to detect whether `test` existing in >> `/usr/bin/test`, and if yes, use that location. Use the existing `/bin/test` >> otherwise. > > Jan Lahoda has updated the pull request incrementally with one additional > commit since the last revision: > > Checking the executable flags instead of running the program, as suggested. LGTM the test call seems to be only used in one method where JLine attempts to test the tty fd value (AFAICT) - they're hacking into java.lang.ProcessBuilder$RedirectPipeImpl for that purpose. wonder if there's anything else the JDK libs can offer. https://github.com/openjdk/jdk/blob/master/src/jdk.internal.le/share/classes/jdk/internal/org/jline/terminal/impl/exec/ExecTerminalProvider.java#L120 ------------- Marked as reviewed by coffeys (Reviewer). PR Review: https://git.openjdk.org/jdk/pull/13100#pullrequestreview-1354582322