diff options
author | Ron Yorston <rmy@pobox.com> | 2021-02-03 13:46:19 +0000 |
---|---|---|
committer | Ron Yorston <rmy@pobox.com> | 2021-02-03 13:46:19 +0000 |
commit | ab7a10870d7347056d86eed03f6aca62aaf4d083 (patch) | |
tree | 776553a397440cffa6d5b0f232593ad7113752e3 | |
parent | be23fca994e1dd8b81ea49cb735834e4008839fb (diff) | |
download | busybox-w32-ab7a10870d7347056d86eed03f6aca62aaf4d083.tar.gz busybox-w32-ab7a10870d7347056d86eed03f6aca62aaf4d083.tar.bz2 busybox-w32-ab7a10870d7347056d86eed03f6aca62aaf4d083.zip |
winansi: change default 'skip ANSI emulation' setting
Change the default 'skip ANSI emulation' setting which is used when
the environment variable BB_SKIP_ANSI_EMULATION is unset. Previously
it was 0 (always emulate) now it's 2 (detect whether or not the
terminal supports ANSI escape sequences and behave accordingly).
The default value is also now a build-time option.
-rw-r--r-- | Config.in | 17 | ||||
-rw-r--r-- | configs/mingw32_defconfig | 3 | ||||
-rw-r--r-- | configs/mingw64_defconfig | 3 | ||||
-rw-r--r-- | win32/winansi.c | 16 |
4 files changed, 24 insertions, 15 deletions
@@ -455,6 +455,23 @@ config FEATURE_EURO | |||
455 | requires the OEM code page to be 858. If the OEM code page of | 455 | requires the OEM code page to be 858. If the OEM code page of |
456 | the console is 850 when BusyBox starts it's changed to 858. | 456 | the console is 850 when BusyBox starts it's changed to 858. |
457 | 457 | ||
458 | config SKIP_ANSI_EMULATION_DEFAULT | ||
459 | int "Default setting for ANSI escape sequences" | ||
460 | default 2 | ||
461 | range 0 2 | ||
462 | depends on PLATFORM_MINGW32 | ||
463 | help | ||
464 | Control how ANSI escape sequences are handled. Possible values | ||
465 | are: | ||
466 | |||
467 | 0 Always emulate escape sequences. | ||
468 | 1 Always emit escape sequences. | ||
469 | 2 Emit escape sequences if the terminal supports them, otherwise | ||
470 | emulate them. | ||
471 | |||
472 | Setting the environment variable BB_SKIP_ANSI_EMULATION overrides | ||
473 | this default. | ||
474 | |||
458 | config FEATURE_EXTRA_FILE_DATA | 475 | config FEATURE_EXTRA_FILE_DATA |
459 | bool "Read additional file metadata (2.1 kb)" | 476 | bool "Read additional file metadata (2.1 kb)" |
460 | default y | 477 | default y |
diff --git a/configs/mingw32_defconfig b/configs/mingw32_defconfig index f95f71607..51b27f366 100644 --- a/configs/mingw32_defconfig +++ b/configs/mingw32_defconfig | |||
@@ -1,7 +1,7 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Busybox version: 1.34.0.git | 3 | # Busybox version: 1.34.0.git |
4 | # Thu Jan 14 12:07:38 2021 | 4 | # Wed Feb 3 13:41:09 2021 |
5 | # | 5 | # |
6 | CONFIG_HAVE_DOT_CONFIG=y | 6 | CONFIG_HAVE_DOT_CONFIG=y |
7 | # CONFIG_PLATFORM_POSIX is not set | 7 | # CONFIG_PLATFORM_POSIX is not set |
@@ -52,6 +52,7 @@ CONFIG_FEATURE_ICON=y | |||
52 | # CONFIG_FEATURE_ICON_STERM is not set | 52 | # CONFIG_FEATURE_ICON_STERM is not set |
53 | CONFIG_FEATURE_ICON_ALL=y | 53 | CONFIG_FEATURE_ICON_ALL=y |
54 | CONFIG_FEATURE_EURO=y | 54 | CONFIG_FEATURE_EURO=y |
55 | CONFIG_SKIP_ANSI_EMULATION_DEFAULT=2 | ||
55 | CONFIG_FEATURE_EXTRA_FILE_DATA=y | 56 | CONFIG_FEATURE_EXTRA_FILE_DATA=y |
56 | CONFIG_FEATURE_READLINK2=y | 57 | CONFIG_FEATURE_READLINK2=y |
57 | 58 | ||
diff --git a/configs/mingw64_defconfig b/configs/mingw64_defconfig index cf0e3ec8e..a8cb75215 100644 --- a/configs/mingw64_defconfig +++ b/configs/mingw64_defconfig | |||
@@ -1,7 +1,7 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Busybox version: 1.34.0.git | 3 | # Busybox version: 1.34.0.git |
4 | # Thu Jan 14 12:07:38 2021 | 4 | # Wed Feb 3 13:41:09 2021 |
5 | # | 5 | # |
6 | CONFIG_HAVE_DOT_CONFIG=y | 6 | CONFIG_HAVE_DOT_CONFIG=y |
7 | # CONFIG_PLATFORM_POSIX is not set | 7 | # CONFIG_PLATFORM_POSIX is not set |
@@ -52,6 +52,7 @@ CONFIG_FEATURE_ICON=y | |||
52 | # CONFIG_FEATURE_ICON_STERM is not set | 52 | # CONFIG_FEATURE_ICON_STERM is not set |
53 | CONFIG_FEATURE_ICON_ALL=y | 53 | CONFIG_FEATURE_ICON_ALL=y |
54 | CONFIG_FEATURE_EURO=y | 54 | CONFIG_FEATURE_EURO=y |
55 | CONFIG_SKIP_ANSI_EMULATION_DEFAULT=2 | ||
55 | CONFIG_FEATURE_EXTRA_FILE_DATA=y | 56 | CONFIG_FEATURE_EXTRA_FILE_DATA=y |
56 | CONFIG_FEATURE_READLINK2=y | 57 | CONFIG_FEATURE_READLINK2=y |
57 | 58 | ||
diff --git a/win32/winansi.c b/win32/winansi.c index 3767e7534..59292efc3 100644 --- a/win32/winansi.c +++ b/win32/winansi.c | |||
@@ -68,19 +68,9 @@ int skip_ansi_emulation(int reset) | |||
68 | 68 | ||
69 | if (skip < 0 || reset) { | 69 | if (skip < 0 || reset) { |
70 | const char *var = getenv(bb_skip_ansi_emulation); | 70 | const char *var = getenv(bb_skip_ansi_emulation); |
71 | skip = var != NULL; | 71 | skip = var == NULL ? CONFIG_SKIP_ANSI_EMULATION_DEFAULT : atoi(var); |
72 | if (skip) { | 72 | if (skip < 0 || skip > 2) |
73 | switch (xatou(var)) { | 73 | skip = 0; |
74 | case 1: | ||
75 | break; | ||
76 | case 2: | ||
77 | skip = 2; | ||
78 | break; | ||
79 | default: | ||
80 | skip = 0; | ||
81 | break; | ||
82 | } | ||
83 | } | ||
84 | 74 | ||
85 | if (is_console(STDOUT_FILENO)) { | 75 | if (is_console(STDOUT_FILENO)) { |
86 | HANDLE h = get_console(); | 76 | HANDLE h = get_console(); |