Update of bug #64597 (project groff):
Status: None => Fixed
Open/Closed: Open => Closed
Planned Release: None => 1.24.0
_______________________________________________________
Follow-up Comment #5:
[comment #4 comment #4:]
> >> I just took a look at the PDF_IMAGE source code in mom, but I
> >> think it would take me a week of intense meditation to make heads
> >> and tails of it. :)
> >
> > I haven't even dared to try. :D
>
> Can't say I blame you. The bug was introduced in 2.5, when shaded
backgrounds and frames were added. I used '.if \n[pdfbx-running]' to test for
the presence of a shaded background/frame in PDF_IMAGE, which initialized the
register so that later, when
> '.if r pdfbx-running' was called, it returned true even though the nominal
value was zero.
>
> I've pushed the fix and updated the tarball on the mom website.
Cool. Thanks! Closing ticket as fixed.
> This isn't the first time I've been bitten by the slight difference between
'.if \n[foo]' and '.if r foo' when 'foo' does not exist. Both return 'false'
but the first initializes the register where the second does not. I looked in
the info docs for mention of this but can't find it.
The difference is that the escape sequences \n and \* _interpolate_ registers
and strings, respectively. GNU _troff_'s 'r' and 'd' conditional operators
don't interpolate anything (nor do AT&T _troff_'s).
I'll see if I can find a good spot (or two) to emphasize this distinction.
_______________________________________________________
Reply to this item at:
<https://savannah.gnu.org/bugs/?64597>
_______________________________________________
Message sent via Savannah
https://savannah.gnu.org/