busybox/coreutils
Sören Tempel 3d9c649158 ls: don't output any colors with TERM=dumb
The TERM variable is usually set to "dumb" to indicate that the terminal
does not support any ANSI escape sequences. Presently, ls does not honor
this variable and outputs colors anyhow which results in unreadable
output, unless the user explicitly disables colors using `ls
--color=never`. The rational behind this change is that ls should "just
work" by default, even on dumb terminals.

For this reason, this patch adds a check which additionally consults the
TERM variable before printing any colors. This is analogous to the
existing check for ensuring that standard output is a tty. As such,
colors can still be forced with `--color=force`, even if TERM is set to
dumb.

function                                             old     new   delta
is_TERM_dumb                                           -      40     +40
ls_main                                              579     598     +19
.rodata                                           103246  103251      +5
------------------------------------------------------------------------------
(add/remove: 1/0 grow/shrink: 2/0 up/down: 64/0)               Total: 64 bytes

Signed-off-by: Sören Tempel <soeren+git@soeren-tempel.net>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2021-06-04 22:39:10 +02:00
..
libcoreutils whitespace and comment format fixes, no code changes 2017-10-05 15:19:25 +02:00
basename.c config: update size information 2018-12-28 03:20:17 +01:00
cat.c libbb: introduce and use fputs_stdout 2021-02-03 20:52:40 +01:00
chgrp.c *: --help text tweaks 2021-04-14 15:15:45 +02:00
chmod.c libbb: shrink recursive_action() by reducing memory pressure 2020-10-01 21:52:16 +02:00
chown.c *: --help text tweaks 2021-04-14 15:15:45 +02:00
chroot.c make 17 state-changing execing applets (ex: "nice PROG ARGS") noexec 2017-08-04 19:55:01 +02:00
cksum.c config: update size information 2018-12-28 03:20:17 +01:00
comm.c config: update size information 2018-12-28 03:20:17 +01:00
Config.src restore documentation on the build config language 2018-06-06 15:16:48 +02:00
cp.c *: --help text tweaks 2021-04-14 15:15:45 +02:00
cut.c *: --help text tweaks 2021-04-14 15:15:45 +02:00
date.c libbb: in @SECONDS date format, use 64-bit time if libc allows 2020-11-28 23:21:13 +01:00
dd.c dd: support iflag=count_bytes 2021-04-13 21:35:57 +02:00
df.c libbb: reduce the overhead of single parameter bb_error_msg() calls 2019-07-02 11:35:03 +02:00
dirname.c config: update size information 2018-12-28 03:20:17 +01:00
dos2unix.c config: update size information 2018-12-28 03:20:17 +01:00
du.c *: --help text tweaks 2021-04-14 15:15:45 +02:00
echo.c echo: fix !ENABLE_FEATURE_FANCY_ECHO build 2021-04-14 18:55:30 +02:00
env.c libbb: reduce the overhead of single parameter bb_error_msg() calls 2019-07-02 11:35:03 +02:00
expand.c libbb: introduce and use fputs_stdout 2021-02-03 20:52:40 +01:00
expr.c libbb: reduce the overhead of single parameter bb_error_msg() calls 2019-07-02 11:35:03 +02:00
factor.c factor: fix comment 2020-12-23 02:03:04 +01:00
false.c config: deindent all help texts 2017-07-21 09:50:55 +02:00
fold.c *: --help text tweaks 2021-04-14 15:15:45 +02:00
head.c head,tail: trim --help text 2021-06-02 04:01:10 +02:00
hostid.c config: update size information 2018-12-28 03:20:17 +01:00
id_test.sh id: coreutils compat by Tito + test script 2008-10-29 00:27:31 +00:00
id.c libbb: introduce and use fputs_stdout 2021-02-03 20:52:40 +01:00
install.c libbb: reduce the overhead of single parameter bb_error_msg() calls 2019-07-02 11:35:03 +02:00
Kbuild.src shells: make hush test optional, rename ASH_BUILTIN_foo -> ASH_foo 2017-01-10 15:13:30 +01:00
link.c config: update size information 2018-12-28 03:20:17 +01:00
ln.c help text: replace [OPTIONS] with actual options (if not too long) 2020-12-13 22:34:05 +01:00
logname.c libbb: reduce the overhead of single parameter bb_error_msg() calls 2019-07-02 11:35:03 +02:00
ls.c ls: don't output any colors with TERM=dumb 2021-06-04 22:39:10 +02:00
md5_sha1_sum.c sha3sum: fix --help: -a does not depend on FEATURE_MD5_SHA1_SUM_CHECK 2020-11-27 15:55:46 +01:00
mkdir.c help text tweaks 2020-12-13 19:04:19 +01:00
mkfifo.c config: update size information 2018-12-28 03:20:17 +01:00
mknod.c Fix mknod compilation on the FreeBSD 2021-01-04 13:28:28 +01:00
mktemp.c config: update size information 2018-12-28 03:20:17 +01:00
mv.c *: --help text tweaks 2021-04-14 15:15:45 +02:00
nice.c config: update size information 2018-12-28 03:20:17 +01:00
nl.c nl: ensure '-b n' option displays file content 2021-02-02 17:37:41 +01:00
nohup.c whitespace and comment format fixes, no code changes 2017-10-05 15:19:25 +02:00
nproc.c config: update size information 2018-12-28 03:20:17 +01:00
od_bloaty.c libbb: introduce and use fputs_stdout 2021-02-03 20:52:40 +01:00
od.c do not use `a' quoting style in comments 2017-08-02 14:26:33 +02:00
paste.c libbb: introduce and use fputs_stdout 2021-02-03 20:52:40 +01:00
printenv.c config: update size information 2018-12-28 03:20:17 +01:00
printf.c timeout,top,watch,ping: parse NN.N fractional duration in locales with other separators 2021-03-23 13:50:02 +01:00
pwd.c config: update size information 2018-12-28 03:20:17 +01:00
readlink.c config: update size information 2018-12-28 03:20:17 +01:00
realpath.c *: --help text tweaks 2021-04-14 15:15:45 +02:00
rm.c libbb: reduce the overhead of single parameter bb_error_msg() calls 2019-07-02 11:35:03 +02:00
rmdir.c help text tweaks 2020-12-13 19:04:19 +01:00
seq.c config: update size information 2018-12-28 03:20:17 +01:00
shred.c config: update size information 2018-12-28 03:20:17 +01:00
shuf.c regularize format of source file headers, no code changes 2017-09-18 16:28:43 +02:00
sleep.c timeout,top,watch,ping: parse NN.N fractional duration in locales with other separators 2021-03-23 13:50:02 +01:00
sort.c timeout,top,watch,ping: parse NN.N fractional duration in locales with other separators 2021-03-23 13:50:02 +01:00
split.c decrease paddign: gcc-9.3.1 slaps 32-byte alignment on arrays willy-nilly 2020-11-30 13:03:03 +01:00
stat.c libbb: introduce and use fputs_stdout 2021-02-03 20:52:40 +01:00
stty.c libbb: introduce and use fputs_stdout 2021-02-03 20:52:40 +01:00
sum.c config: update size information 2018-12-28 03:20:17 +01:00
sync.c fsync,sync: merge into one source module 2019-04-02 14:55:29 +02:00
tac.c config: update size information 2018-12-28 03:20:17 +01:00
tail.c tail: do not lose the tail of old file if new file (-F) is detected 2021-06-02 05:17:44 +02:00
tee.c tee: do not intercept SIGPIPE 2019-10-07 14:25:45 +02:00
test_ptr_hack.c *: make GNU licensing statement forms more regular 2010-08-16 20:14:46 +02:00
test.c decrease paddign: gcc-9.3.1 slaps 32-byte alignment on arrays willy-nilly 2020-11-30 13:03:03 +01:00
timeout.c help text tweaks 2020-12-18 04:12:51 +01:00
touch.c *: --help text tweaks 2021-04-14 15:15:45 +02:00
tr.c libbb: reduce the overhead of single parameter bb_error_msg() calls 2019-07-02 11:35:03 +02:00
true.c config: deindent all help texts 2017-07-21 09:50:55 +02:00
truncate.c *: --help text tweaks 2021-04-14 15:15:45 +02:00
tty.c config: update size information 2018-12-28 03:20:17 +01:00
uname.c config: update size information 2018-12-28 03:20:17 +01:00
uniq.c help text tweaks 2020-12-18 04:12:51 +01:00
unlink.c config: update size information 2018-12-28 03:20:17 +01:00
usleep.c config: update size information 2018-12-28 03:20:17 +01:00
uudecode.c libbb: introduce and use fputs_stdout 2021-02-03 20:52:40 +01:00
uuencode.c libbb: reduce the overhead of single parameter bb_error_msg() calls 2019-07-02 11:35:03 +02:00
wc.c *: --help text tweaks 2021-04-14 15:15:45 +02:00
who.c config: update size information 2018-12-28 03:20:17 +01:00
whoami.c config: update size information 2018-12-28 03:20:17 +01:00
yes.c libbb: introduce and use fputs_stdout 2021-02-03 20:52:40 +01:00