bugGNU roff - Bugs: bug #44708, groff's own man pages don't work...

 
 

bug #44708: groff's own man pages don't work in compatibility mode

Submitter:  None
Submitted:  Fri 03 Apr 2015 01:39:48 AM UTC
   
 
Category:  General Severity:  3 - Normal
Item Group:  Incorrect behaviour Status:  Fixed
Privacy:  Public Assigned to:  wl
Open/Closed:  Closed Planned Release:  1.22.4
* Mandatory Fields

Add a New Comment Rich Markup
   

Jump to the original submission

Mon 02 May 2022 01:22:32 AM UTC, comment #6: 


commit 8ac03ed2a5e1672754749df87c1742e7d161e32c
Author: Werner Lemberg <wl@gnu.org>
Date:   Fri Apr 3 16:55:03 2015 +0200

    Fix Savannah bug #44708 (2/2).

    Make man pages work in compatibility mode.
    Also fix some minor typos.

    * contrib/pic2graph/pic2graph.man, man/ditroff.man, man/groff.man,
    man/groff_diff.man, man/groff_out.man, man/groff_tmac.man,
    man/roff.man, src/devices/grodvi/grodvi.man,
    src/devices/grohtml/grohtml.man, src/devices/grolbp/grolbp.man,
    src/devices/grolj4/grolj4.man, src/devices/grolj4/lj4_font.man,
    src/devices/gropdf/gropdf.man, src/devices/gropdf/pdfmom.man,
    src/devices/grops/grops.man, src/devices/grotty/grotty.man,
    src/devices/xditview/xditview.man, src/preproc/eqn/eqn.man,
    src/preproc/eqn/neqn.man, src/preproc/grn/grn.man,
    src/preproc/pic/pic.man, src/preproc/preconv/preconv.man,
    src/preproc/refer/refer.man, src/preproc/soelim/soelim.man,
    src/preproc/tbl/tbl.man, src/roff/groff/groff.man,
    src/roff/grog/grog.man, src/roff/nroff/nroff.man,
    src/roff/troff/troff.man, src/utils/addftinto/addftinfo.man,
    src/utils/afmtodit/afmtodit.man, src/utils/hpftodit/hpftodit.man,
    src/utils/indxbib/indxbib.man, src/utils/lkbib/lkbib.man,
    src/utils/lookbib/lookbib.man, src/utils/pfbtops/pfbtops.man,
    src/utils/tfmtodit/tfmtodit.man, src/utils/xtotroff/xtotroff.man,
    tmac/groff_man.man, tmac/groff_trace.man: Do it.

commit 42c866a3fc0552f7f91a4af1ba93a942130e1bd7
Author: Werner Lemberg <wl@gnu.org>
Date:   Fri Apr 3 16:54:12 2015 +0200

    Fix Savannah bug #44708 (1/2).

    * tmac/andoc.tmac (reload_doc, reload_man): Don't use `de1',
    otherwise we can't manipulate the compatibility flag within the
    macro.

    * tmac/doc-common-u (Dt): Remove invalid leading whitespace.


G. Branden Robinson <gbranden>
Group administrator
Fri 03 Apr 2015 11:23:33 PM UTC, comment #5: 


Building the git version, works and installs all files,
but grog fails due to @grog_dir@ not being substituted
in the installed grog command (source is the same)

Testing with groff-1.22.3 of all manual pages in the
/pkgs/64-bit/release/groff-git_2014_04_04/share/man
shows that all errors are gone :-)

Many Thanks!!!

Peter Bray
Sydney, Australia

PS: I'll look into @grog_dir@ substitution failure after
family events this long weekend.

Anonymous
Fri 03 Apr 2015 03:29:30 PM UTC, comment #4: 

Thanks for the report; this should be fixed now in the git repository, please test.

Werner LEMBERG <wl>
Group administrator
Fri 03 Apr 2015 02:34:09 AM UTC, comment #3: 

Verified: Replacing "Quoted" with "Qu" and "EnvVar" "En" in
man1/groff.1, allows the manual page to format without error, though
warnings are issued. The postscript font issue probably deserves
further investigation.

Regards,
Peter Bray
Sydney, Australia

In -Tascii:

man1/groff.1:1701: warning [p 13, 8.2i]: can't break line
man1/groff.1:1704: warning [p 13, 8.8i]: can't break line
man1/groff.1:1750: warning [p 14, 6.0i]: cannot adjust line
man1/groff.1:1795: warning [p 14, 9.3i]: cannot adjust line

In -Tps:

man1/groff.1:149: warning: can't find font `['


Anonymous
Fri 03 Apr 2015 02:21:05 AM UTC, comment #2: 

Follow up: Long macro names seems to be the cause of the error.

A little looking into the errors suggests that the files with problems
are the exact same set as the files using .de <string>, where string
is greater than 2 characters long. This could either be a code
regression or a manual page regression, I know that macros typically
have 2 character names, but is that a hard rule? (unknown). The error
message is suggesting it is.

Regards,
Peter Bray
Sydney, Australia

% for manual in man*/*
do
`grog $manual` 2>&1 > /dev/null | grep error
done

man1/chem.1:65: error: end of file while defining macro `FO'
man1/groff.1:59: error: end of file while defining macro `En'
man5/groff_out.5:70: error: end of file while defining macro `of'
man7/groff_hdtbl.7:69: error: end of file while defining macro `ma'
man7/groff_mom.7:65: error: end of file while defining macro `FO'
man7/roff.7:44: error: end of file while defining macro `Es'
/pkgs/64-bit/release/groff-1.22.3/share/man

% egrep '^\.de ...' man*/*

man1/chem.1:.de FONT
man1/groff.1:.de EnvVar
man1/groff.1:.de Quoted
man5/groff_out.5:.de offset
man5/groff_out.5:.de indexed_offset
man5/groff_out.5:.de command
man5/groff_out.5:.de D-command
man5/groff_out.5:.de Da-command
man5/groff_out.5:.de D-multiarg
man5/groff_out.5:.de x-command
man5/groff_out.5:.de xsub
man7/groff.7:.de TPx
man7/groff.7:.de Text
man7/groff.7:.de option
man7/groff.7:.de squoted_char
man7/groff.7:.de dquoted_char
man7/groff.7:.de REQ
man7/groff.7:.de request
man7/groff.7:.de scalednumber
man7/groff.7:.de scaleindicator
man7/groff.7:.de operator
man7/groff.7:.de ESC
man7/groff.7:.de ESC[]
man7/groff.7:.de ESCq
man7/groff.7:.de ESC?
man7/groff.7:.de esc
man7/groff.7:.de escarg
man7/groff.7:.de esc[]
man7/groff.7:.de escq
man7/groff.7:.de STRING
man7/groff.7:.de string
man7/groff.7:.de REG
man7/groff.7:.de register
man7/groff_hdtbl.7:.de XAA
man7/groff_hdtbl.7:.de XDEF
man7/groff_hdtbl.7:.de XDEFR
man7/groff_hdtbl.7:.de XDEFS
man7/groff_mom.7:.de FONT
man7/roff.7:.de Esc
man7/roff.7:.de QuotedChar

Anonymous
Fri 03 Apr 2015 01:45:57 AM UTC, comment #1: 

The markup has incorrectly rendered the "script", it should read:

for manual in manASTERISK/ASTERISK

Anonymous
Fri 03 Apr 2015 01:39:48 AM UTC, original submission:  

Greetings,

While using using a locally built groff-1.22.3 on Solaris 10 & 11
(X86_32 & X86_64 / gcc 4.8.4 & gcc 4.9.2), I noticed that groff(1) can
not format some of its own manual pages, giving the error:

  "<filename>:<line>: error: end of file while defining macro `<name>'

The following simple command line loop, shows that this is not limited
to the groff.1 manual page, but that the EOF issues affect many
installed manual pages.

cd /pkgs/64-bit/release/groff-1.22.3/share/man
for manual in man*/*
do
`grog $manual` > /dev/null       
done

Regards,
Peter Bray
Sydney, Australia

Output from the about "script", look for "error" lines.

man1/chem.1:65: error: end of file while defining macro `FO'
man1/geqn.1:102: warning [p 1, 3.4i]: cannot adjust line
man1/groff.1:59: error: end of file while defining macro `En'
man1/groffer.1:105: warning: can't find font `['
man1/gropdf.1:432: warning: can't find font `BM'
man1/gropdf.1:504: warning: can't find font `HN'
man1/gropdf.1:606: warning: can't find font `ZC'
man1/grops.1:577: warning: can't find font `BM'
man1/grops.1:649: warning: can't find font `HN'
man1/grops.1:751: warning: can't find font `ZC'
man1/gtroff.1:540: warning [p 3, 5.9i]: cannot adjust line
man1/gtroff.1:560: warning [p 3, 7.2i]: cannot adjust line
man5/groff_out.5:52: warning: numeric expression expected (got `S')
man5/groff_out.5:60: warning: numeric expression expected (got `T')
man5/groff_out.5:64: warning: numeric expression expected (got `a')
man5/groff_out.5:70: error: end of file while defining macro `of'
man5/groff_tmac.5:346: warning: can't find font `['
man7/groff.7:2659: warning: can't find font `['
man7/groff_char.7:595: warning: can't find special character `.j'
man7/groff_char.7:811: warning: can't find special character `\o'
man7/groff_char.7:958: warning: can't find special character `vA'
man7/groff_char.7:1038: warning: can't find special character `bs'
man7/groff_char.7:1126: warning: can't find special character `-+'
man7/groff_char.7:1175: warning: can't find special character `coproduct'
man7/groff_char.7:1295: warning: can't find special character `+e'
man7/groff_char.7:1310: warning: can't find special character `u2661'
man7/groff_char.7:1312: warning: can't find special character `u2662'
man7/groff_diff.7:352: warning: can't find font `['
man7/groff_filenames.7:77: warning: can't find font `['
man7/groff_hdtbl.7:41: warning: numeric expression expected (got `[')
man7/groff_hdtbl.7:41: warning: can't find font `[R'
man7/groff_hdtbl.7:41: warning: can't find font `['
man7/groff_hdtbl.7:42: warning: numeric expression expected (got `[')
man7/groff_hdtbl.7:44: warning: numeric expression expected (got `[')
man7/groff_hdtbl.7:45: warning: numeric expression expected (got `[')
man7/groff_hdtbl.7:47: warning: numeric expression expected (got `[')
man7/groff_hdtbl.7:48: warning: numeric expression expected (got `[')
man7/groff_hdtbl.7:69: error: end of file while defining macro `ma'
man7/groff_man.7:970: warning: can't find font `['
man7/groff_mom.7:65: error: end of file while defining macro `FO'
man7/roff.7:44: error: end of file while defining macro `Es'

Anonymous

 

(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 (Posted a comment)
  • -email is unavailable- added by wl (Posted a comment)
  •  

    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-05-02 gbranden CategoryNone General
        Summaryerror: end of file while defining macro - groff-1.22.3 - own installed manual pages groff's own man pages don't work in compatibility mode
    2015-04-03 wl StatusNone Fixed
        Assigned toNone wl
        Open/ClosedOpen Closed
        Planned ReleaseNone 1.22.4

    Back to the top

    Powered by Savane 3.13-f8d8.
    Corresponding source code