Subject: Re: bug#44248: Indentation of --help and --version

From: Paul Eggert <[email-masked]>
Date: Mon, 26 Oct 2020 19:19:10 -0700

One way to attack the problem is (1) use only one-liners for option help, and 
(2) not worry about indentation so much (either in English or in German) as the 
excess indenting doesn't help readability enough to justify the translation 
hassle. To do that, I propose changes like the attached for comm. This will 
cause 'comm --help' output to look like the following, which is good enough and 
which will still work with help2man:

Usage: comm [OPTION]... FILE1 FILE2
Compare sorted files FILE1 and FILE2 line by line.

When FILE1 or FILE2 (not both) is -, read standard input.

With no options, produce three-column output.  Column one contains
lines unique to FILE1, column two contains lines unique to FILE2,
and column three contains lines common to both files.

   -1  suppress column 1 (lines unique to FILE1)
   -2  suppress column 2 (lines unique to FILE2)
   -3  suppress column 3 (lines that appear in both files)

   --check-order  check that the input is correctly sorted
   --nocheck-order  do not check that the input is correctly sorted
   --output-delimiter=STR  separate columns with STR
   --total  output a summary
   -z, --zero-terminated  line delimiter is NUL, not newline
       --help     display this help and exit
       --version  output version information and exit

Note, comparisons honor the rules specified by 'LC_COLLATE'.

Examples:
   comm -12 file1 file2  Print only lines present in both file1 and file2.
   comm -3 file1 file2  Print lines in file1 not in file2, and vice versa.

GNU coreutils online help: <https://www.gnu.org/software/coreutils/>
Full documentation <https://www.gnu.org/software/coreutils/comm>
or available locally via: info '(coreutils) comm invocation'
diff --git a/src/comm.c b/src/comm.c
index 2bf8094bf..2893746cb 100644
--- a/src/comm.c
+++ b/src/comm.c
@@ -128,24 +128,23 @@ and column three contains lines common to both files.\n\
 "), stdout);
       fputs (_("\
 \n\
-  -1              suppress column 1 (lines unique to FILE1)\n\
-  -2              suppress column 2 (lines unique to FILE2)\n\
-  -3              suppress column 3 (lines that appear in both files)\n\
+  -1  suppress column 1 (lines unique to FILE1)\n\
+  -2  suppress column 2 (lines unique to FILE2)\n\
+  -3  suppress column 3 (lines that appear in both files)\n\
 "), stdout);
       fputs (_("\
 \n\
-  --check-order     check that the input is correctly sorted, even\n\
-                      if all input lines are pairable\n\
-  --nocheck-order   do not check that the input is correctly sorted\n\
+  --check-order  check that the input is correctly sorted\n\
+  --nocheck-order  do not check that the input is correctly sorted\n\
 "), stdout);
       fputs (_("\
   --output-delimiter=STR  separate columns with STR\n\
 "), stdout);
       fputs (_("\
-  --total           output a summary\n\
+  --total  output a summary\n\
 "), stdout);
       fputs (_("\
-  -z, --zero-terminated    line delimiter is NUL, not newline\n\
+  -z, --zero-terminated  line delimiter is NUL, not newline\n\
 "), stdout);
       fputs (HELP_OPTION_DESCRIPTION, stdout);
       fputs (VERSION_OPTION_DESCRIPTION, stdout);