You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
REPL: Query libuv for virtual terminal support (#57132)
The query-and-restore logic here was pretty flawed:
- it had no way to guarantee when the "default" mode is available to
query, so it could easily save a "bad" mode
- it did not ensure / check whether the "default" mode is compatible
with the output generated by REPL (esp. ASCII escape codes / color)
- it persisted the "default" mode from pre-compilation to runtime,
causing #56073
With this PR, `ENABLE_VIRTUAL_TERMINAL_PROCESSING` is the only flag that
we're agnostic about. It was added relatively recently (Windows 10
version 1511), and `libuv` has support to emulate its behavior when it's
not available natively. We query `libuv` directly to ask whether it is
expecting to emulate, rather than measuring the console mode at some
random point in time.
Otherwise this PR resets ENABLE_PROCESSED_OUTPUT and
ENABLE_WRAP_AT_EOL_OUTPUT always, since we output ASCII control
sequences unconditionally.
Resolves#56073.
0 commit comments