]> git.ipfire.org Git - thirdparty/coreutils.git/commit
ls: fix a regression by honoring NORMAL attributes again
authorMoritz Orbach <ml-coreutils@apfelboymchen.homeunix.net>
Tue, 16 Feb 2010 22:48:00 +0000 (22:48 +0000)
committerPádraig Brady <P@draigBrady.com>
Wed, 17 Feb 2010 23:25:12 +0000 (23:25 +0000)
commitf5268e2749d5649a3364550ef54bf31d9aa9c4e1
tree0e259b5508f68218d0ef02e7237ff99ec7cc28c9
parentcba49d57da12df9de9950d53ef31a1ff6341b9ab
ls: fix a regression by honoring NORMAL attributes again

Output the NORMAL attribute before non file name text.
This attribute will continue into file names that would
not otherwise be colored unless FILE is also set.
The regression was introduced with commit 483297d5, 28-02-2009,
"ls --color no longer outputs unnecessary escape sequences".

* src/ls.c (set_normal_color): A new function to output the
NORMAL attribute sequence if it's enabled.
(print_current_files): Output NORMAL before printing long format info.
(print_file_name_and_frills): Output NORMAL before printing file name.
(print_color_indicator): Reset the attributes before a file name with
attributes so that NORMAL attributes will not combine with them.
(print_name_with_quoting): Ensure attributes are reset after printing
the file name if NORMAL attributes were output.
* tests/ls/color-norm: A new test for NORMAL and FILE combinations.
* tests/Makefile.am: Reference the new test.
* NEWS: Mention the fix.
Reported in https://savannah.gnu.org/bugs/?26512
NEWS
src/ls.c
tests/Makefile.am
tests/ls/color-norm [new file with mode: 0755]