]> git.ipfire.org Git - thirdparty/coreutils.git/commitdiff
(qmark_funny_chars): Add comment from Paul eggert.
authorJim Meyering <jim@meyering.net>
Sat, 15 Aug 1998 16:43:13 +0000 (16:43 +0000)
committerJim Meyering <jim@meyering.net>
Sat, 15 Aug 1998 16:43:13 +0000 (16:43 +0000)
src/ls.c

index d61266a8984fadd7c82d01c5630683a94648cd35..1d311c8c55d838b41807b1ff334ff7bd4e410b21 100644 (file)
--- a/src/ls.c
+++ b/src/ls.c
@@ -449,8 +449,15 @@ struct ignore_pattern
 
 static struct ignore_pattern *ignore_patterns;
 
-/* Nonzero means output nongraphic chars in file names as `?'.  -q  */
-
+/* Nonzero means output nongraphic chars in file names as `?'.
+   (-q, --hide-control-chars)
+   qmark_funny_chars and the quoting style (-Q, --quoting-style=WORD) are
+   independent.  The algorithm is: first, obey the quoting style to get a
+   string representing the file name;  then, if qmark_funny_chars is set,
+   replace all nonprintable chars in that string with `?'.  It's necessary
+   to replace nonprintable chars even in quoted strings, because we don't
+   want to mess up the terminal if control chars get sent to it, and some
+   quoting methods pass through control chars as-is.  */
 static int qmark_funny_chars;
 
 /* Quoting options for file and dir name output.  */
@@ -820,6 +827,7 @@ decode_switches (int argc, char **argv)
       if (isatty (1))
        {
          format = many_per_line;
+         /* See description of qmark_funny_chars, above.  */
          qmark_funny_chars = 1;
        }
       else