bug-groff
[Top][All Lists]
Advanced

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

grog bugs and fixing diff


From: Alessandro Doro
Subject: grog bugs and fixing diff
Date: Wed, 25 Dec 2002 15:32:29 +0100
User-agent: Mutt/1.3.22.1i

I find a pair of bugs in the distributed grog files from
groff-1.18.1.tar.gz recently downloaded from ftp.gnu.org.

These bugs persist after patching with (24 dec 2002)
ftp://ftp.ffii.org/pub/groff/devel/groff-1.18.1-current.diff.gz

The interested source files are:
 · src/roff/grog/grog.pl
 · src/roff/grog/grog.sh
in the new lines added in order to recognize mom files.

GROFF VERSION: 1.18.1 (currently 1.18.2)
OS/MACHINE: SuSE Linux 7.3 (i386) - Kernel 2.4.10-4GB / i586
COMPILER: g++ 2.95.3


grog.pl
-------
The bug can be reproduced by:

$ grog.pl /usr/local/share/doc/groff/1.18.2/examples/typeset.mom
syntax error at ./grog.pl line 197, near "else ("
Execution of ./grog.pl aborted due to compilation errors.

Solution:
the line
else ($mom > 0) {
should be
elsif ($mom > 0) {


grog.sh
-------
The bug can be reproduced by:
$ grog /usr/local/share/doc/groff/1.18.2/examples/typeset.mom
groff -ms /usr/local/share/doc/groff/1.18.2/examples/typeset.mom

Solution:
the egrep search of PRINTSTYLE and START is omitted (twice, in line 32
and 37) so awk never increments the variable `mom' in line 74:

/^\.(PRINTSTYLE|START)/ { mom++ }

and mom files are not correctly targeted.


A unified context diff (groff_grogdiffs) is attached.

If the source tarball and the current-diff files are in the working
directory (the 3rd step is optional):
$ tar xzf groff-1.18.1.tar.gz
$ cd groff-1.18.1/
$ gzip -dc ../groff-1.18.1-current.diff.gz | patch -p1
$ patch -p0 < ../groff_grogdiffs


Also a ChangeLog entry is attached (do you need it?).


a tiny xmas gift for a great program


Bye, Alessandro.


-- 
 
                ad
                all ice
_______________________

Attachment: groff_grogdiffs
Description: groff_grogdiffs

Attachment: ChangeLog
Description: ChangeLog


reply via email to

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