URL: <https://savannah.gnu.org/bugs/?67602>
Summary: PDF bookmark lookup speed went to hell on big
documents since commit aa43ffcfb8, 2024-03-16
Group: GNU roff
Submitter: gbranden
Submitted: Tue 14 Oct 2025 12:02:02 AM UTC
Category: Macro package - others/general
Severity: 3 - Normal
Item Group: Lint
Status: None
Privacy: Public
Assigned to: gbranden
Open/Closed: Open
Discussion Lock: Any
Planned Release: None
_______________________________________________________
Follow-up Comments:
-------------------------------------------------------
Date: Tue 14 Oct 2025 12:02:02 AM UTC By: G. Branden Robinson <gbranden>
In the 21st comment to bug #67509, Deri wrote:
> The first slow commit is:-
commit aa43ffcfb87c27b888dfaf94d5cb3ce0a5ceac3a (HEAD)
Author: G. Branden Robinson <[email protected]>
Date: Sat Mar 16 10:12:54 2024 -0500
[man]: Handle "internal" `MR` link targets.
[man]: When formatting PDF, attempt lookups of `MR` destinations as
internal bookmark tags. If lookup succeeds, link to the within-document
destination rather than an "external" URL like "man:foobar(1)".
* doc/GMPfront.t.in: Drop `END` dummy macro and redefinition of `MR`
macro, moving the logic from here...
* tmac/an.tmac (MR): ...to here, and trivially refactoring to rename
variables for intelligibility. Also simplify, using the "dangling
open mark" incantation of the `pdfhref` macro that Deri innovated,
since the existing logic unconditionally writes the link text
subsequently.
Now "doc/GMPfront.t.in" really is just a cover/front page, no longer
rewriting any man(7) macros. It should be easy for maintainers of other
man page corpora to see how to adapt it for their project and use groff
man(7) to produce internally hyperlinked PDFs. Splendid.
Thanks to Deri James for blazing the trail.
See other comments in that ticket for much discussion, and a hypothetical
solution.
I reckon my task is to work out how to get O(1) performance back for _man_ and
_mdoc_, and then I can throw this ticket to Deri for _mom_, whom Peter trusts
to fiddle with PDFfy internals.
_______________________________________________________
Reply to this item at:
<https://savannah.gnu.org/bugs/?67602>
_______________________________________________
Message sent via Savannah
https://savannah.gnu.org/
signature.asc
Description: PGP signature
