bugGNU roff - Bugs: bug #63500, [man,mdoc] doesn't respect unset...

 
 

bug #63500: [man,mdoc] doesn't respect unset 'C' register when switching packages and continuous rendering off

Submitter:  G. Branden Robinson <gbranden>
Submitted:  Sat 10 Dec 2022 02:36:11 PM UTC
   
 
Category:  Macro - others/general Severity:  3 - Normal
Item Group:  Incorrect behaviour Status:  Fixed
Privacy:  Public Assigned to:  gbranden
Open/Closed:  Closed Planned Release:  1.23.0
* Mandatory Fields

Add a New Comment Rich Markup
   

Tue 13 Dec 2022 12:30:52 AM UTC, comment #1: 


commit 478494e32112aabaa04f8314b5305c7bf6ea1689
Author: G. Branden Robinson <g.branden.robinson@gmail.com>
Date:   Mon Dec 12 10:31:19 2022 -0600

    [man, mdoc]: Fix Savannah #63500.

    Support use of `P` (initial page number) register when batch rendering,
    regardless of switching macro packages between man(7) and mdoc(7) or
    setting of `C` (continuous numbering) register.  (`P` without `C` means
    "start numbering each rendered document at \n[P]".)

    * tmac/an.tmac (an-end): Call `an*break-page-with-new-number` instead of
      invoking `bp`.

      (an*break-page-with-new-number): If `P` is set and `C` is not, use
      value of `P` as the next page number.

      (TH): If `C` register is set, remove `P` register after ending a
      previous document.

      (initialization): If `P` is set, assign the page number using the `pn`
      request if the transition to the first formatted page has not yet
      occurred; otherwise update page number register `%` directly.  Also
      ignore it with diagnostic if `ps4html` register (for grohtml's
      internal use) is set.   Add explanatory comment.

    * tmac/mdoc/doc-common (Dd): If `C` register is set, remove `P` register
      after ending a previous document.

      (doc-end-macro): Call `doc-break-page-with-new-number` instead of
      invoking `bp`.

      (doc-break-page-with-new-number): If `P` is set and `C` is not, use
      value of `P` as the next page number.

    * tmac/doc.tmac (initialization): If `P` is set, assign the page number
      using the `pn` request if the transition to the first formatted page
      has not yet occurred; otherwise update page number register `%`
      directly.  Also ignore it with diagnostic if `ps4html` register (for
      grohtml's internal use) is set.  Add explanatory comment.

    Fixes <https://savannah.gnu.org/bugs/?63500>.


G. Branden Robinson <gbranden>
Group administrator
Sat 10 Dec 2022 02:36:11 PM UTC, original submission:  

Observed on groff 1.22.4.


$ zcat /usr/share/man/man7/groff_man.7.gz /usr/share/man/man7/groff_mdoc.7.gz | nroff -t -rcR=0 -mandoc | grep -E '^(BSD|groff)'
groff 1.22.4                    27 January 2021                              1
groff 1.22.4                    27 January 2021                              2
groff 1.22.4                    27 January 2021                              3
groff 1.22.4                    27 January 2021                              4
groff 1.22.4                    27 January 2021                              5
groff 1.22.4                    27 January 2021                              6
groff 1.22.4                    27 January 2021                              7
groff 1.22.4                    27 January 2021                              8
groff 1.22.4                    27 January 2021                              9
groff 1.22.4                    27 January 2021                             10
groff 1.22.4                    27 January 2021                             11
groff 1.22.4                    27 January 2021                             12
groff 1.22.4                    27 January 2021                             13
groff 1.22.4                    27 January 2021                             14
groff 1.22.4                    27 January 2021                             15
groff 1.22.4                    27 January 2021                             16
groff 1.22.4                    27 January 2021                             17
mdoc warning: Empty input line #34
groff 1.22.4                    27 January 2021                             18
BSD                            November 2, 2010                             20
BSD                            November 2, 2010                             21
BSD                            November 2, 2010                             22
BSD                            November 2, 2010                             23
BSD                            November 2, 2010                             24
BSD                            November 2, 2010                             25
BSD                            November 2, 2010                             26
BSD                            November 2, 2010                             27
BSD                            November 2, 2010                             28
BSD                            November 2, 2010                             29
BSD                            November 2, 2010                             30
BSD                            November 2, 2010                             31
BSD                            November 2, 2010                             32
BSD                            November 2, 2010                             33
BSD                            November 2, 2010                             34
BSD                            November 2, 2010                             35
BSD                            November 2, 2010                             36
BSD                            November 2, 2010                             37
BSD                            November 2, 2010                             38
BSD                            November 2, 2010                             39
BSD                            November 2, 2010                             40
BSD                            November 2, 2010                             41
BSD                            November 2, 2010                             42
BSD                            November 2, 2010                             43
BSD                            November 2, 2010                             44
BSD                            November 2, 2010                             45
BSD                            November 2, 2010                             46
BSD                            November 2, 2010                             47
BSD                            November 2, 2010                             48
BSD                            November 2, 2010                             49
BSD                            November 2, 2010                             50
BSD                            November 2, 2010                             51
BSD                            November 2, 2010                             52
BSD                            November 2, 2010                             53
BSD                            November 2, 2010                             54
BSD                            November 2, 2010                             55
BSD                            November 2, 2010                             56
BSD                            November 2, 2010                             57
BSD                            November 2, 2010                             58
BSD                            November 2, 2010                             59
BSD                            November 2, 2010                             60
BSD                            November 2, 2010                             61
BSD                            November 2, 2010                             62
BSD                            November 2, 2010                             63
BSD                            November 2, 2010                             64


Problem is evident in both directions (an -> doc, above, and doc -< an).


$ zcat /usr/share/man/man7/groff_mdoc.7.gz /usr/share/man/man7/groff_man.7.gz | nroff -t -rcR=0 -mandoc | grep -E '^(BSD|groff)'
mdoc warning: Empty input line #34
BSD                            November 2, 2010                              2
BSD                            November 2, 2010                              3
BSD                            November 2, 2010                              4
BSD                            November 2, 2010                              5
BSD                            November 2, 2010                              6
BSD                            November 2, 2010                              7
BSD                            November 2, 2010                              8
BSD                            November 2, 2010                              9
BSD                            November 2, 2010                             10
BSD                            November 2, 2010                             11
BSD                            November 2, 2010                             12
BSD                            November 2, 2010                             13
BSD                            November 2, 2010                             14
BSD                            November 2, 2010                             15
BSD                            November 2, 2010                             16
BSD                            November 2, 2010                             17
BSD                            November 2, 2010                             18
BSD                            November 2, 2010                             19
BSD                            November 2, 2010                             20
BSD                            November 2, 2010                             21
BSD                            November 2, 2010                             22
BSD                            November 2, 2010                             23
BSD                            November 2, 2010                             24
BSD                            November 2, 2010                             25
BSD                            November 2, 2010                             26
BSD                            November 2, 2010                             27
BSD                            November 2, 2010                             28
BSD                            November 2, 2010                             29
BSD                            November 2, 2010                             30
BSD                            November 2, 2010                             31
BSD                            November 2, 2010                             32
BSD                            November 2, 2010                             33
BSD                            November 2, 2010                             34
BSD                            November 2, 2010                             35
BSD                            November 2, 2010                             36
BSD                            November 2, 2010                             37
BSD                            November 2, 2010                             38
BSD                            November 2, 2010                             39
BSD                            November 2, 2010                             40
BSD                            November 2, 2010                             41
BSD                            November 2, 2010                             42
BSD                            November 2, 2010                             43
BSD                            November 2, 2010                             44
BSD                            November 2, 2010                             45
BSD                            November 2, 2010                              1
groff 1.22.4                    27 January 2021                              1
BSD                            November 2, 2010                              2
groff 1.22.4                    27 January 2021                              2
BSD                            November 2, 2010                              3
groff 1.22.4                    27 January 2021                              3
BSD                            November 2, 2010                              4
groff 1.22.4                    27 January 2021                              4
BSD                            November 2, 2010                              5
groff 1.22.4                    27 January 2021                              5
BSD                            November 2, 2010                              6
groff 1.22.4                    27 January 2021                              6
BSD                            November 2, 2010                              7
groff 1.22.4                    27 January 2021                              7
BSD                            November 2, 2010                              8
groff 1.22.4                    27 January 2021                              8
BSD                            November 2, 2010                              9
groff 1.22.4                    27 January 2021                              9
BSD                            November 2, 2010                             10
groff 1.22.4                    27 January 2021                             10
BSD                            November 2, 2010                             11
groff 1.22.4                    27 January 2021                             11
BSD                            November 2, 2010                             12
groff 1.22.4                    27 January 2021                             12
BSD                            November 2, 2010                             13
groff 1.22.4                    27 January 2021                             13
BSD                            November 2, 2010                             14
groff 1.22.4                    27 January 2021                             14
BSD                            November 2, 2010                             15
groff 1.22.4                    27 January 2021                             15
BSD                            November 2, 2010                             16
groff 1.22.4                    27 January 2021                             16
BSD                            November 2, 2010                             17
groff 1.22.4                    27 January 2021                             17
BSD                            November 2, 2010                             18
groff 1.22.4                    27 January 2021                             18
BSD                            November 2, 2010                             19
groff 1.22.4                    27 January 2021                             19
BSD                            November 2, 2010                             20
groff 1.22.4                    27 January 2021                             20
BSD                            November 2, 2010                             21
groff 1.22.4                    27 January 2021                             21
BSD                            November 2, 2010                             22
groff 1.22.4                    27 January 2021                             22
BSD                            November 2, 2010                             23
groff 1.22.4                    27 January 2021                             23
BSD                            November 2, 2010                             24
groff 1.22.4                    27 January 2021                             24
BSD                            November 2, 2010                             25
groff 1.22.4                    27 January 2021                             25
BSD                            November 2, 2010                             26
groff 1.22.4                    27 January 2021                             26
BSD                            November 2, 2010                             27
groff 1.22.4                    27 January 2021                             27
BSD                            November 2, 2010                             28
[...]
BSD                            November 2, 2010                            225
groff 1.22.4                    27 January 2021                            225
BSD                            November 2, 2010                            226
groff 1.22.4                    27 January 2021                            226
troff: <standard input>:4315: fatal error: input stack limit exceeded (probable infinite loop)
BSD                            November 2, 2010                            227
groff 1.22.4                    27 January 2021                            227
BSD                            November 2, 2010                            228
groff 1.22.4                    27 January 2021                            228
BSD                            November 2, 2010                            229
[...]


There were other problems, as can be seen, but they have since been resolved in groff Git.  The one that remains observable is the failure to reset the page number to 1 at a new document.

G. Branden Robinson <gbranden>
Group administrator

 

(Note: upload size limit is set to 16384 kB, after insertion of the required escape characters.)

Attach Files:
   
   
Comment:
   

No files currently attached

 

Depends on the following items: None found

Items that depend on this one: None found

 

Carbon-Copy List
  • -email is unavailable- added by gbranden (Submitted the item)
  •  

    There are 0 votes so far. Votes easily highlight which items people would like to see resolved in priority, independently of the priority of the item set by tracker managers.

    Only logged-in users can vote.

     

    Follow 6 latest changes.

    Date Changed by Updated Field Previous Value => Replaced by
    2022-12-13 gbranden StatusIn Progress Fixed
        Open/ClosedOpen Closed
    2022-12-12 gbranden StatusNone In Progress
        Assigned toNone gbranden
        Planned ReleaseNone 1.23.0
    2022-12-10 gbranden Summary[man,mdoc] doesn't respect unset 'C' register when switching packages [man,mdoc] doesn't respect unset 'C' register when switching packages and continuous rendering off

    Back to the top

    Powered by Savane 3.13-02a9.
    Corresponding source code