diff --git a/docs/src/tty.rst b/docs/src/tty.rst index 8b1cafd8..0276999f 100644 --- a/docs/src/tty.rst +++ b/docs/src/tty.rst @@ -30,16 +30,13 @@ Data types UV_TTY_MODE_NORMAL, /* * Raw input mode (On Windows, ENABLE_WINDOW_INPUT is also enabled). - * Currently an alias for UV_TTY_MODE_RAW_LEGACY but may become an - * alias for UV_TTY_MODE_RAW_VT in libuv v2.x. + * May become equivalent to UV_TTY_MODE_RAW_VT in future libuv versions. */ UV_TTY_MODE_RAW, /* Binary-safe I/O mode for IPC (Unix-only) */ UV_TTY_MODE_IO, /* Raw input mode. On Windows ENABLE_VIRTUAL_TERMINAL_INPUT is also set. */ - UV_TTY_MODE_RAW_VT, - /* Alias for UV_TTY_MODE_RAW in libuv 1.x. */ - UV_TTY_MODE_RAW_LEGACY + UV_TTY_MODE_RAW_VT } uv_tty_mode_t; .. c:enum:: uv_tty_vtermstate_t diff --git a/include/uv.h b/include/uv.h index 42a64e5f..b6de3def 100644 --- a/include/uv.h +++ b/include/uv.h @@ -807,16 +807,13 @@ typedef enum { UV_TTY_MODE_NORMAL, /* * Raw input mode (On Windows, ENABLE_WINDOW_INPUT is also enabled). - * Currently an alias for UV_TTY_MODE_RAW_LEGACY but may become an - * alias for UV_TTY_MODE_RAW_VT in libuv v2.x. + * May become equivalent to UV_TTY_MODE_RAW_VT in future libuv versions. */ UV_TTY_MODE_RAW, /* Binary-safe I/O mode for IPC (Unix-only) */ UV_TTY_MODE_IO, /* Raw input mode. On Windows ENABLE_VIRTUAL_TERMINAL_INPUT is also set. */ - UV_TTY_MODE_RAW_VT, - /* Alias for UV_TTY_MODE_RAW in libuv 1.x. */ - UV_TTY_MODE_RAW_LEGACY + UV_TTY_MODE_RAW_VT } uv_tty_mode_t; typedef enum { diff --git a/src/uv-common.h b/src/uv-common.h index df124d99..f957dda8 100644 --- a/src/uv-common.h +++ b/src/uv-common.h @@ -140,10 +140,9 @@ enum { UV_HANDLE_REAP = 0x10000000 }; -#define uv__is_raw_tty_mode(m) \ - ((m) == UV_TTY_MODE_RAW || \ - (m) == UV_TTY_MODE_RAW_VT || \ - (m) == UV_TTY_MODE_RAW_LEGACY) +static inline int uv__is_raw_tty_mode(uv_tty_mode_t m) { + return m == UV_TTY_MODE_RAW || m == UV_TTY_MODE_RAW_VT; +} int uv__loop_configure(uv_loop_t* loop, uv_loop_option option, va_list ap); diff --git a/src/win/tty.c b/src/win/tty.c index 9bd80c03..66ca99cd 100644 --- a/src/win/tty.c +++ b/src/win/tty.c @@ -372,9 +372,6 @@ int uv_tty_set_mode(uv_tty_t* tty, uv_tty_mode_t mode) { uv_read_cb read_cb; int err; - if (mode == UV_TTY_MODE_RAW_LEGACY) - mode = UV_TTY_MODE_RAW; - if (!(tty->flags & UV_HANDLE_TTY_READABLE)) { return UV_EINVAL; } @@ -383,7 +380,7 @@ int uv_tty_set_mode(uv_tty_t* tty, uv_tty_mode_t mode) { return 0; } - flags = ENABLE_ECHO_INPUT | ENABLE_LINE_INPUT | ENABLE_PROCESSED_INPUT; + try_set_flags = 0; switch (mode) { case UV_TTY_MODE_NORMAL: flags = ENABLE_ECHO_INPUT | ENABLE_LINE_INPUT | ENABLE_PROCESSED_INPUT; @@ -417,10 +414,8 @@ int uv_tty_set_mode(uv_tty_t* tty, uv_tty_mode_t mode) { } uv_sem_wait(&uv_tty_output_lock); - if ( - !SetConsoleMode(tty->handle, flags | try_set_flags) && - !SetConsoleMode(tty->handle, flags) - ) { + if (!SetConsoleMode(tty->handle, flags | try_set_flags) && + !SetConsoleMode(tty->handle, flags)) { err = uv_translate_sys_error(GetLastError()); uv_sem_post(&uv_tty_output_lock); return err; @@ -2333,7 +2328,7 @@ int uv_tty_reset_mode(void) { if ( uv__tty_console_handle_in != INVALID_HANDLE_VALUE && uv__tty_console_in_original_mode != (DWORD)-1 && - InterlockedOr(&uv__tty_console_in_need_mode_reset, 0) != 0 + InterlockedExchange(&uv__tty_console_in_need_mode_reset, 0) != 0 ) { SetConsoleMode(uv__tty_console_handle_in, uv__tty_console_in_original_mode); }