System V style platforms where this information is available only
in the global variable 'tzname'. [bug introduced in coreutils-8.24]
+ nl now resets numbering for each page section rather than just for each page.
+ [This bug was present in "the beginning".]
+
stty --help no longer outputs extraneous gettext header lines
for translated languages. [bug introduced in coreutils-8.24]
@end example
@cindex logical pages, numbering on
-@command{nl} decomposes its input into (logical) pages; by default, the
-line number is reset to 1 at the top of each logical page. @command{nl}
-treats all of the input files as a single document; it does not reset
-line numbers or logical pages between files.
+@command{nl} decomposes its input into (logical) page sections;
+by default, the line number is reset to 1 at each logical page section.
+@command{nl} treats all of the input files as a single document;
+it does not reset line numbers or logical pages between files.
@cindex headers, numbering
@cindex body, numbering
fputs (_("\
-b, --body-numbering=STYLE use STYLE for numbering body lines\n\
- -d, --section-delimiter=CC use CC for separating logical pages\n\
+ -d, --section-delimiter=CC use CC for logical page delimiters\n\
-f, --footer-numbering=STYLE use STYLE for numbering footer lines\n\
"), stdout);
fputs (_("\
-i, --line-increment=NUMBER line number increment at each line\n\
-l, --join-blank-lines=NUMBER group of NUMBER empty lines counted as one\n\
-n, --number-format=FORMAT insert line numbers according to FORMAT\n\
- -p, --no-renumber do not reset line numbers at logical pages\n\
+ -p, --no-renumber do not reset line numbers for each section\n\
-s, --number-separator=STRING add STRING after (possible) line number\n\
"), stdout);
fputs (_("\
- -v, --starting-line-number=NUMBER first line number on each logical page\n\
+ -v, --starting-line-number=NUMBER first line number for each section\n\
-w, --number-width=NUMBER use NUMBER columns for line numbers\n\
"), stdout);
fputs (HELP_OPTION_DESCRIPTION, stdout);
fputs (VERSION_OPTION_DESCRIPTION, stdout);
fputs (_("\
\n\
-By default, selects -v1 -i1 -l1 -sTAB -w6 -nrn -hn -bt -fn. CC are\n\
-two delimiter characters for separating logical pages, a missing\n\
-second character implies :. Type \\\\ for \\. STYLE is one of:\n\
+By default, selects -v1 -i1 -l1 -sTAB -w6 -nrn -hn -bt -fn.\n\
+CC are two delimiter characters used to construct logical page delimiters,\n\
+a missing second character implies :. Type \\\\ for \\. STYLE is one of:\n\
"), stdout);
fputs (_("\
\n\
{
current_type = body_type;
current_regex = &body_regex;
+ if (reset_numbers)
+ line_no = starting_line_number;
putchar ('\n');
}
{
current_type = footer_type;
current_regex = &footer_regex;
+ if (reset_numbers)
+ line_no = starting_line_number;
putchar ('\n');
}
1^Ia$
$
EOF
+compare exp out || fail=1
+# Ensure numbering reset at each delimiter.
+# coreutils <= v8.25 only reset at a page header.
+printf '%s\n' '\:\:\:' a '\:\:' b '\:' c > in.txt || framework_failure_
+nl -ha -fa in.txt > out.tmp || fail=1
+nl -p -ha -fa in.txt >> out.tmp || fail=1
+sed '/^$/d' < out.tmp > out || framework_failure_
+cat <<\EOF > exp
+ 1 a
+ 1 b
+ 1 c
+ 1 a
+ 2 b
+ 3 c
+EOF
compare exp out || fail=1
Exit $fail