groff
[Top][All Lists]
Advanced

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

Re: Error messages I thought we got rid of


From: G. Branden Robinson
Subject: Re: Error messages I thought we got rid of
Date: Wed, 21 Aug 2024 18:15:58 -0500

At 2024-08-21T17:22:02-0400, Peter Schaffter wrote:
> Processing two files from mom/examples produces error messages.
> The groff version is 1.23.0.1757-8fe01 (latest sources from the repo).
> 
> mom-pdf.mom spits out
>   troff:mom-pdf.mom:20: error: cannot write a node to device-independent 
> output
> 
> mon-premier-doc spits out
>   troff:mon_premier_doc.mom:13: error: cannot translate character code 233
>   to special character ''e' in device-independent output
> 
> In both cases, the .AUTHOR macro generates the error.  In mom-pdf,
> the second arg to .AUTHOR contains an escape sequence; in
> mon-premier-doc, the author's name contains é (e-acute).
> 
> I haven't seen these messages for a while, so I was a bit surprised.

Hi Peter,

I brought these back on purpose, albeit with altered wording.

commit 6fd27d5d0b69985ae5f8a68b8fa058d82ad9d233
Author: G. Branden Robinson <g.branden.robinson@gmail.com>
Date:   Tue Aug 13 05:45:57 2024 -0500

    [troff]: Drop GROFF_ENABLE_TRANSPARENCY_WARNINGS.

    * src/roff/troff/div.cpp (top_level_diversion::transparent_output):
    * src/roff/troff/input.cpp (transparent_translate): Drop
      `GROFF_ENABLE_TRANSPARENCY_WARNINGS` environment variable kludge.  The
      underlying problems are better understood now and giving the user
      tools to fix them is on the horizon.

    See <https://savannah.gnu.org/bugs/?63074>.

The reason is that they are flagging a real problem--one that has taken
me most of my 7 years of contributing to groff to come to understand.

I started writing a lengthy explanation here, and got really far along
before realizing that my understanding still is not yet total.

So please await a full answer, but in the meantime, the warnings are
restored so that it's easier for me to tell when I've fixed what causes
them.

1.  A node _can't_ be represented in a device-independent output command
    (I see I need to further improve the diagnostic wording), and

2.  You can, in fact, represent a special character in a
    device-independent output command now, as long as it has a code
    points in Unicode.  I don't know why that isn't happening for
    mon_premier_doc.mom; it bears investigation.

(Or maybe it _is_ happening, and the diagnostic is wholly spurious and
needs killin'.  I'll check.)

Evidence of #2:

$ cat EXPERIMENTS/simple-pdf2.groff
.pdfinfo /Author Sebastián
.pdfbookmark 1 Enseñanza
Hello, world!\(dg
$ ./build/test-groff -K utf8 -T pdf -Z EXPERIMENTS/simple-pdf2.groff | grep '^x 
X'
x X ps:exec [/Author (Sebasti\[u00E1]n) /DOCINFO pdfmark
x X ps:exec [/Dest /pdf:bm1 /View [/FitH 5000 u] /DEST pdfmark
x X ps:exec [/Dest /pdf:bm1 /Title (Ense\[u00F1]anza) /Level 1 /OUT pdfmark

Will advise when I know more.

Regards,
Branden

Attachment: signature.asc
Description: PGP signature


reply via email to

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