coreutils
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: nl: logical pages bug


From: Pádraig Brady
Subject: Re: nl: logical pages bug
Date: Sun, 1 May 2016 12:36:07 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.3.0

On 01/05/16 04:04, KOBAYASHI Takashi wrote:
Hello,

Regarding nl command, I think that behaving like 'p' option is always
enabled even if I do not enable this option.
In other words, the number is not reset for each logical pages in the
default setting.
This behavior is far from a long time ago, but is it a bug?
Version of the testing command is “nl (GNU coreutils) 8.25.5-632ed”.

Example:

$ cat test.txt
\:\:\:
header line 1
\:\:
section 1; body line 1 (total 1)
section 1; body line 2 (total 2)
\:\:
section 2; body line 1 (total 3)
section 2; body line 2 (total 4)
\:\:
section 3; body line 1 (total 5)
section 3; body line 2 (total 6)
\:
footer line 1

$ nl test.txt

     header line 1

   1  section 1; body line 1 (total 1)
   2  section 1; body line 2 (total 2)

   3  section 2; body line 1 (total 3)
   4  section 2; body line 2 (total 4)

   5  section 3; body line 1 (total 5)
   6  section 3; body line 2 (total 6)

     footer line 1

Expected output:

     header line 1

   1  section 1; body line 1 (total 1)
   2  section 1; body line 2 (total 2)

   1  section 2; body line 1 (total 3)
   2  section 2; body line 2 (total 4)

   1  section 3; body line 1 (total 5)
   2  section 3; body line 2 (total 6)

     footer line 1


I made a patch for this issue.

diff --git src/nl.c src/nl.c
index a4a48bc..be1b197 100644
--- src/nl.c
+++ src/nl.c
@@ -286,8 +286,6 @@ proc_header (void)
  {
    current_type = header_type;
    current_regex = &header_regex;
-  if (reset_numbers)
- line_no = starting_line_number;
    putchar ('\n');
  }

@@ -298,6 +296,8 @@ proc_body (void)
  {
    current_type = body_type;
    current_regex = &body_regex;
+  if (reset_numbers)
+ line_no = starting_line_number;
    putchar ('\n');
  }


Best Regards :)

KOBAYASHI, Takashi

Wow that's an old bug!
I agree that -p controls renumbering across page _delimiters_
rather than just pages. POSIX says the same thing.

I'll apply this in your name and add a test.

thanks!
Pádraig.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]