Dear Texinfo / texi2any developers, if some of the experts have time, I would highly appreciate some feedback on a texi2any customization file for LilyPond: https://gitlab.com/lilypond/lilypond/-/merge_requests/2089 As a bit of context, LilyPond uses texi2html for its HTML documentation since quite some time because it had superior customization possibilities when the switch was made from makeinfo to texi2html. With texi2html being legacy now, it would of course be nice to transition "back" to texi2any.
A transition to texi2any isn't entirely trivial because LilyPond's current customization file for texi2html is around 600 lines of code - already after significant cleanups and simplifications. For that reason I decided to rewrite the customization file basically from scratch (still 550 lines of code), and organize the different parts into logical commits which should both make it easier to review right now and serve as documentation of sorts in the future. A couple of specific questions to start with: * Is it possible to make texi2any fail if there is a syntax error or other severe problems in an initialization file? Right now, the 'eval' call only seems to emit a warning and just carry on without our customization code which was a bit infuriating during development... * For lilypond_label_target_name, we need to deal with three different function signatures if we want to support a range of Texinfo versions: four arguments in current master / post-7.0; three arguments in Texinfo 7.0; two arguments before Texinfo 7.0. Can we expect this signature (and others) to be stable after the release of Texinfo 7.1? (originally I thought Texinfo 7.0 already marked a stable API, but here we are...) * Is it possible to format the external reference href without dealing with the entire reference in lilypond_format_ref? It seems possible to control the manual's directory name using htmlxrefs, but there seems to be no hook to control the node file names, ie lower-case them (label_target_name seems to be called though). texi2html had a hook to customize the external_href and I also see left-overs in older versions of texi2any. Would you accept adding such hook again? * What would be the best way to translate some of the extra strings in our customization file? Using libintl-perl from a process with LANG=C and forcing it to honor documentlanguage seems a pain, at least from my experiments and looking at gdt() and _switch_messages_locale() in tp/Texinfo/Translations.pm... But please, if you see anything in the customization that should not be done that way and / or is likely to break in the future, please let me know or directly comment on the merge request! Thanks in advance! Jonas
signature.asc
Description: This is a digitally signed message part