On 11/05/11 18:00, Pádraig Brady wrote: > On 11/05/11 16:52, Jim Meyering wrote: >> diff --git a/src/ls.c b/src/ls.c >> index 4262923..54876ce 100644 >> --- a/src/ls.c >> +++ b/src/ls.c >> @@ -2740,7 +2740,10 @@ gobble_file (char const *name, enum filetype type, >> ino_t inode, >> /* When coloring a directory (we may know the type from >> direct.d_type), we have to stat it in order to indicate >> sticky and/or other-writable attributes. */ >> - || (type == directory && print_with_color) >> + || (type == directory && print_with_color >> + && (is_colored (C_OTHER_WRITABLE) >> + || is_colored (C_STICKY) >> + || is_colored (C_STICKY_OTHER_WRITABLE))) >> /* When dereferencing symlinks, the inode and type must come from >> stat, but readdir provides the inode and type of lstat. */ >> || ((print_inode || format_needs_type) > > Looks good. > > Cool, my `l`¹ script will no longer stat dirs now, > as it disables these colors in preference to highlighting > the pertinent bit of the permissions string.
Oops, my l script will need to stat of course to display the permissions. The above is still all fine, and applies when not showing permissions, or sorting etc. cheers, Pádraig.