** Improvements
+ dircolors now supports globbing of TERM entries in its database.
+ For example "TERM *256color*" is now supported.
+
du no longer stats all mount points at startup, only doing so
upon detection of a directory cycle.
[issue introduced in coreutils-8.20]
#include <config.h>
#include <sys/types.h>
+#include <fnmatch.h>
#include <getopt.h>
#include "system.h"
unrecognized = false;
if (c_strcasecmp (keywd, "TERM") == 0)
{
- if (STREQ (arg, term))
+ if (fnmatch (arg, term, 0) == 0)
state = ST_TERMSURE;
else if (state != ST_TERMSURE)
state = ST_TERMNO;
# The keywords COLOR, OPTIONS, and EIGHTBIT (honored by the
# slackware version of dircolors) are recognized but ignored.
-# Below, there should be one TERM entry for each termtype that is colorizable
+# Below are TERM entries, which can be a glob patterns, to match
+# against the TERM environment variable to determine if it is colorizable.
TERM Eterm
TERM ansi
TERM color-xterm
-TERM con132x25
-TERM con132x30
-TERM con132x43
-TERM con132x60
-TERM con80x25
-TERM con80x28
-TERM con80x30
-TERM con80x43
-TERM con80x50
-TERM con80x60
+TERM con[0-9]*x[0-9]*
TERM cons25
TERM console
TERM cygwin
TERM mlterm
TERM putty
TERM putty-256color
-TERM rxvt
-TERM rxvt-256color
-TERM rxvt-cygwin
-TERM rxvt-cygwin-native
-TERM rxvt-unicode
-TERM rxvt-unicode-256color
-TERM rxvt-unicode256
-TERM screen
-TERM screen-256color
-TERM screen-256color-bce
-TERM screen-bce
-TERM screen-w
-TERM screen.Eterm
-TERM screen.rxvt
-TERM screen.linux
+TERM rxvt*
+TERM screen*
TERM st
TERM st-256color
TERM terminator
-TERM tmux
-TERM tmux-256color
+TERM tmux*
TERM vt100
-TERM xterm
-TERM xterm-16color
-TERM xterm-256color
-TERM xterm-88color
-TERM xterm-color
-TERM xterm-debian
-TERM xterm-termite
+TERM xterm*
# Below are the color init strings for the basic file types. A color init
# string consists of one or more of the following numeric codes:
. "export LS_COLORS\n"}],
['other-wr', '-b', {IN => "owt 40;33\n"},
{OUT => "LS_COLORS='tw=40;33:';\nexport LS_COLORS\n"}],
+ ['term-1', '-b', {IN => "TERM none\nowt 40;33\n"},
+ {OUT => "LS_COLORS='tw=40;33:';\nexport LS_COLORS\n"}],
+ ['term-2', '-b', {IN => "TERM non*\nowt 40;33\n"},
+ {OUT => "LS_COLORS='tw=40;33:';\nexport LS_COLORS\n"}],
+ ['term-3', '-b', {IN => "TERM nomatch\nowt 40;33\n"},
+ {OUT => "LS_COLORS='';\nexport LS_COLORS\n"}],
+ ['term-4', '-b', {IN => "TERM N*match\nowt 40;33\n"},
+ {OUT => "LS_COLORS='';\nexport LS_COLORS\n"}],
# CAREFUL: always specify the -b option, unless explicitly testing
# for csh syntax output.