bug-coreutils
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: dircolors generates "uknown colorls variable su"


From: Eric Blake
Subject: Re: dircolors generates "uknown colorls variable su"
Date: Wed, 18 Jan 2006 06:57:25 -0700
User-agent: Mozilla Thunderbird 1.0.2 (Windows/20050317)

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

According to Eric Blake on 1/17/2006 11:05 AM:
> 
> The problem is that tcsh 6.14.00 treats LS_COLORS as a magic
> environment variable, also parsing it for its own use in the
> tcsh builtin ls-F.  This means that coreutils dircolors, when given
> an SUID coloration, will output data that is expected by coreutils
> ls but unexpected by unpatched tcsh.

And here's a workaround for coreutils to make tcsh be silent when it
doesn't recognize all the categories output by dircolors.  I verified that
tcsh goes ahead and sets LS_COLORS in spite of the warning, so silencing
the warning is safe.

2006-01-18  Eric Blake  <address@hidden>

        * src/dircolors.c (main): Silence stderr to avoid warnings from
        tcsh.

- --
Life is short - so eat dessert first!

Eric Blake             address@hidden
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.1 (Cygwin)
Comment: Public key at home.comcast.net/~ericblake/eblake.gpg
Comment: Using GnuPG with Thunderbird - http://enigmail.mozdev.org

iD8DBQFDzklE84KuGfSFAYARArUPAKCDfSvXmB4J2VlP4xniAMte9andWACgy6/T
853y4bO0Or5HpoUUwBQqttg=
=iUZd
-----END PGP SIGNATURE-----
Index: src/dircolors.c
===================================================================
RCS file: /sources/coreutils/coreutils/src/dircolors.c,v
retrieving revision 1.97
diff -u -p -r1.97 dircolors.c
--- src/dircolors.c     24 Oct 2005 10:39:46 -0000      1.97
+++ src/dircolors.c     18 Jan 2006 13:54:50 -0000
@@ -1,5 +1,5 @@
 /* dircolors - output commands to set the LS_COLOR environment variable
-   Copyright (C) 1996-2005 Free Software Foundation, Inc.
+   Copyright (C) 1996-2006 Free Software Foundation, Inc.
    Copyright (C) 1994, 1995, 1997, 1998, 1999, 2000 H. Peter Anvin
 
    This program is free software; you can redistribute it and/or modify
@@ -504,8 +504,12 @@ to select a shell syntax are mutually ex
            }
          else
            {
+             /* tcsh treats LS_COLORS as a magic shell variable for its
+                builtin ls-F, but does not recognize all the categories
+                that coreutils ls does.  Therefore, silence stderr to
+                avoid messages like "Unknown colorls variable `su'.".  */
              prefix = "setenv LS_COLORS '";
-             suffix = "'\n";
+             suffix = "' >&/dev/null\n";
            }
          fputs (prefix, stdout);
          fwrite (s, 1, len, stdout);

reply via email to

[Prev in Thread] Current Thread [Next in Thread]