bugGNU roff - Bugs: bug #57720, mandoc.tmac: Missing definition of...

 
 

bug #57720: mandoc.tmac: Missing definition of some strings

Submitter:  Bjarni Ingi Gislason <bjarniig>
Submitted:  Sat 01 Feb 2020 08:34:10 PM UTC
   
 
Category:  Macro mdoc Severity:  3 - Normal
Item Group:  Warning/Suspicious behaviour Status:  Invalid
Privacy:  Public Assigned to:  gbranden
Open/Closed:  Closed Planned Release:  None
* Mandatory Fields

Add a New Comment Rich Markup
   

Sat 26 Jun 2021 11:31:10 AM UTC, comment #2: 

Bjarni wrote:

> troff: <mandoc_char.7>:730: warning: macro 'R' not defined


Cannot reproduce either.  Then, even if it were reproducible, it would totally be a non-issue because the context these user-defined strings are expanded in is explaining that their portability is dubious, recommending against their use.  So it would be just fine if they weren't portable to groff.

Branden wrote:

> I see many things to make me cringe


Admitted.  There are some things that can be improved, for example the totally wrong .PP macros in the middle of tables.  Some decisions are deliberate, for exacple the ample use of font escapes rather than font macros.  The reason is that writing font alternating macros is easy enough for humans and looks good, but hard and error-prone in auto-generation.  Font escapes are hard to write for humans and look ugly, but easy to generate automatically and reliably portable, and portability is the only point here.

The mdoc_man.c module required very little maintenance during the last decade and is needed even less nowadays than it was years ago.  That means some decisions may be outdated now.  Bitrot.

> the generated source document remains miles ahead
> of most auto-generated output I've seen generated by other tools


Thanks.

> Please file it against mandoc


Done, added to the mandoc TODO file, see below.
That is, not Bjarnis invalid complaint, of course, but the real bug that Branden found.

https://cvsweb.bsd.lv/~checkout~/mandoc/TODO?rev=HEAD

**********************************************************************

  • bugs: invalid output

**********************************************************************

- wrong number of layout columns in tbl(7) code generated by -T man
  https://savannah.gnu.org/bugs/?57720
  The reason likely is that tbl(7) does not support the .Bl -column
  feature of not explicitly specifying the last table column.
  loc *  exist   algo *  size   imp *

Ingo Schwarze <schwarze>
Group Member
Sat 26 Jun 2021 10:10:24 AM UTC, comment #1: 

mandoc_char.7 is not one of groff's man pages.

> Subject: mandoc.tmac: Missing definition of some strings


It's also not (m)andoc.tmac's job to define strings like this.

Further, I can't reproduce these problems, though my installed copy of mandoc is 1.14.4, not 1.14.5.

I do get some warnings, but they are due to bad tbl(1) construction and thus a problem with the page source.


$ zcat $(man -w mandoc_char) | ./build/test-groff -b -ww -e -man -T utf8 -t -z
tbl:<standard input>:215: error: excess data entry 'left single quotation mark' discarded
tbl:<standard input>:217: error: excess data entry 'right single quotation mark' discarded
tbl:<standard input>:219: error: excess data entry 'small tilde' discarded
tbl:<standard input>:221: error: excess data entry 'modifier letter circumflex' discarded
tbl:<standard input>:233: error: excess data entry 'grave accent' discarded
tbl:<standard input>:235: error: excess data entry 'apostrophe' discarded
tbl:<standard input>:237: error: excess data entry 'tilde' discarded
tbl:<standard input>:239: error: excess data entry 'circumflex accent' discarded


Finally, inspecting the page source I immediately see the following.


.\" Automatically generated from an mdoc input file.  Do not edit.


As the guy who had the bright idea to make a groff_man_style(7) page, I see many things to make me cringe, but I don't a sufficient quantity of electronic ink available at present to grapple with Ingo over the man(7) that mandoc(1) produces.

To do so would also be somewhat beside the point--the limited, more portable dialect of roff(7) we recommend for man(7) pages is an accommodation of mandoc(1) itself as much as anything.

In any event, the page output is well-formed, readable, and the generate source document remains miles ahead of most auto-generated output I've seen generated by other tools.

I simply don't see how this report is applicable to the GNU roff project.  Please file it against mandoc.

Closing as invalid.


G. Branden Robinson <gbranden>
Group administrator
Sat 01 Feb 2020 08:34:10 PM UTC, original submission:  

Subject: mandoc.tmac: Missing definition of some strings

Input file is ./mandoc_char.7 from "mandoc-1.14.5/"

Output is from: test-groff -b -e -mandoc -T utf8 -rF0 -t -w w -z

  [ "test-groff" is a developmental version of "groff" ]

troff: <mandoc_char.7>:730: warning: macro 'R' not defined
troff: <mandoc_char.7>:731: warning: macro 'Tm' not defined
troff: <mandoc_char.7>:737: warning: macro 'lq' not defined
troff: <mandoc_char.7>:738: warning: macro 'rq' not defined
troff: <mandoc_char.7>:740: warning: macro 'va' not defined


Bjarni Ingi Gislason <bjarniig>

 

(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 schwarze (Posted a comment)
  • -email is unavailable- added by gbranden (Posted a comment)
  • -email is unavailable- added by bjarniig (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 3 latest changes.

    Date Changed by Updated Field Previous Value => Replaced by
    2021-06-26 gbranden StatusNone Invalid
        Assigned toNone gbranden
        Open/ClosedOpen Closed

    Back to the top

    Powered by Savane 3.13-02a9.
    Corresponding source code