[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
signature.asc
Description: PGP signature