Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

un-matched .ie in mm macros (patch)

1 view
Skip to first unread message

Jim Avera

unread,
Mar 1, 2013, 1:35:05 AM3/1/13
to bug-...@gnu.org
The mm macros contain a couple of cases of .ie without a matching .el

This somehow triggers irrational groff behavior later, for example,
occasionally executing both branches of .ie/.el (the exact circumstances
are unstable, but may depend on macro nesting depth).

Anyway, I had some "impossible" execution paths which started
working normally after fixing these bugs in mm.

Below, and attached, is a patch against contrib/mm/m.tmac revision 2.53

-Jim

--- contrib/mm/m.tmac.ORIG 2013-02-27 23:40:03.768415121 -0800
+++ contrib/mm/m.tmac 2013-02-28 22:16:57.654569076 -0800
@@ -2015,7 +2015,7 @@
.if \\n[D]>2 .tm set format=\\n[ds*format]
.\" fill or not to fill, that is the...
.nr ds*fill 0
-.ie \\n[.$]>1 \{\
+.if \\n[.$]>1 \{\
. ie r ds*fill!\\$2 .nr ds*fill \\n[ds*fill!\\$2]
. el .@error "\\*[ds*type]:wrong fill:\\$2"
.\}
@@ -2197,7 +2197,7 @@
.if \\n[li*type]=5 .ds li*c-mark <\\n[li*cnt!\\n[li*lvl]]>
.if \\n[li*type]=6 .ds li*c-mark {\\n[li*cnt!\\n[li*lvl]]}
.if \\n[.$]=1 .ds li*c-mark \\$1
-.ie \\n[.$]=2 \{\
+.if \\n[.$]=2 \{\
. ie (\\$2=2):(\\n[Limsp]=0) .ds li*c-mark \\$1\\*[li*c-mark]
. el .ds li*c-mark \\$1\ \\*[li*c-mark]
.\}

mm.patch

Werner LEMBERG

unread,
Mar 1, 2013, 2:43:52 AM3/1/13
to james...@yahoo.com, bug-...@gnu.org

> Below, and attached, is a patch against contrib/mm/m.tmac revision
> 2.53

Applied, thanks.


Werner

0 new messages