X-Git-Url: https://git.josue.xyz/?p=VSoRC%2F.git;a=blobdiff_plain;f=node_modules%2Fnode-pty%2Fdeps%2Fwinpty%2Fmisc%2FEnableExtendedFlags.txt;fp=node_modules%2Fnode-pty%2Fdeps%2Fwinpty%2Fmisc%2FEnableExtendedFlags.txt;h=0000000000000000000000000000000000000000;hp=37914dac26874348c6f4ffedfad54190790be0b9;hb=5e96dd57ddd883604e87f62bdddcb111c63a6e1a;hpb=acb5f682a2b75b972710cabd81658f63071324b0 diff --git a/node_modules/node-pty/deps/winpty/misc/EnableExtendedFlags.txt b/node_modules/node-pty/deps/winpty/misc/EnableExtendedFlags.txt deleted file mode 100644 index 37914da..0000000 --- a/node_modules/node-pty/deps/winpty/misc/EnableExtendedFlags.txt +++ /dev/null @@ -1,46 +0,0 @@ -Note regarding ENABLE_EXTENDED_FLAGS (2016-05-30) - -There is a complicated interaction between the ENABLE_EXTENDED_FLAGS flag -and the ENABLE_QUICK_EDIT_MODE and ENABLE_INSERT_MODE flags (presumably for -backwards compatibility?). I studied the behavior on Windows 7 and Windows -10, with both the old and new consoles, and I didn't see any differences -between versions. Here's what I seemed to observe: - - - The console has three flags internally: - - QuickEdit - - InsertMode - - ExtendedFlags - - - SetConsoleMode psuedocode: - void SetConsoleMode(..., DWORD mode) { - ExtendedFlags = (mode & (ENABLE_EXTENDED_FLAGS - | ENABLE_QUICK_EDIT_MODE - | ENABLE_INSERT_MODE )) != 0; - if (ExtendedFlags) { - QuickEdit = (mode & ENABLE_QUICK_EDIT_MODE) != 0; - InsertMode = (mode & ENABLE_INSERT_MODE) != 0; - } - } - - - Setting QuickEdit or InsertMode from the properties dialog GUI does not - affect the ExtendedFlags setting -- it simply toggles the one flag. - - - GetConsoleMode psuedocode: - GetConsoleMode(..., DWORD *result) { - if (ExtendedFlags) { - *result |= ENABLE_EXTENDED_FLAGS; - if (QuickEdit) { *result |= ENABLE_QUICK_EDIT_MODE; } - if (InsertMode) { *result |= ENABLE_INSERT_MODE; } - } - } - -Effectively, the ExtendedFlags flags controls whether the other two flags -are visible/controlled by the user application. If they aren't visible, -though, there is no way for the user application to make them visible, -except by overwriting their values! Calling SetConsoleMode with just -ENABLE_EXTENDED_FLAGS would clear the extended flags we want to read. - -Consequently, if a program temporarily alters the QuickEdit flag (e.g. to -enable mouse input), it cannot restore the original values of the QuickEdit -and InsertMode flags, UNLESS every other console program cooperates by -keeping the ExtendedFlags flag set.