diff options
author | Kyle Evans <kevans@FreeBSD.org> | 2020-05-21 14:39:00 +0000 |
---|---|---|
committer | Kyle Evans <kevans@FreeBSD.org> | 2020-05-21 14:39:00 +0000 |
commit | a408dc201879e70e6508f4269e031616739fc5a0 (patch) | |
tree | 0c04268a27c330231b14c02bbc25295d8fc13595 | |
parent | e165a15b5f1eaa7d2d7edb907e87d04c8e03c060 (diff) | |
download | src-test2-a408dc201879e70e6508f4269e031616739fc5a0.tar.gz src-test2-a408dc201879e70e6508f4269e031616739fc5a0.zip |
Notes
-rw-r--r-- | bin/ls/ls.1 | 5 | ||||
-rw-r--r-- | bin/ls/ls.c | 13 |
2 files changed, 16 insertions, 2 deletions
diff --git a/bin/ls/ls.1 b/bin/ls/ls.1 index edce3491b50b..83d8fc14198a 100644 --- a/bin/ls/ls.1 +++ b/bin/ls/ls.1 @@ -32,7 +32,7 @@ .\" @(#)ls.1 8.7 (Berkeley) 7/29/94 .\" $FreeBSD$ .\" -.Dd May 20, 2020 +.Dd May 21, 2020 .Dt LS 1 .Os .Sh NAME @@ -135,7 +135,8 @@ This option is equivalent to defining .Ev CLICOLOR or .Ev COLORTERM -in the environment. +in the environment and setting +.Fl -color Ns = Ns Ar auto . (See below.) This functionality can be compiled out by removing the definition of .Ev COLORLS . diff --git a/bin/ls/ls.c b/bin/ls/ls.c index 681570e552b2..edf4b49bf0e8 100644 --- a/bin/ls/ls.c +++ b/bin/ls/ls.c @@ -265,6 +265,13 @@ main(int argc, char *argv[]) fts_options = FTS_PHYSICAL; if (getenv("LS_SAMESORT")) f_samesort = 1; + + /* + * For historical compatibility, we'll use our autodetection if CLICOLOR + * is set. + */ + if (getenv("CLICOLOR")) + colorflag = COLORFLAG_AUTO; while ((ch = getopt_long(argc, argv, "+1ABCD:FGHILPRSTUWXZabcdfghiklmnopqrstuwxy,", long_opts, NULL)) != -1) { @@ -342,7 +349,13 @@ main(int argc, char *argv[]) f_slash = 0; break; case 'G': + /* + * We both set CLICOLOR here and set colorflag to + * COLORFLAG_AUTO, because -G should not force color if + * stdout isn't a tty. + */ setenv("CLICOLOR", "", 1); + colorflag = COLORFLAG_AUTO; break; case 'H': fts_options |= FTS_COMFOLLOW; |