> Date: Thu, 14 Mar 2024 22:52:20 +0100 > From: Patrice Dumas <pertu...@free.fr> > Cc: Gavin Smith <gavinsmith0...@gmail.com>, ar...@aarsen.me, > help-texinfo@gnu.org > > I had a look at the code in admin/admin.el that (unless I missed > something) seems to do that, and indeed, it makes extensive changes and > needs to parse specific constructs.
Right. > Also it seems that you try to target a wide range of makeinfo > versions output. That's correct. The reason is that it cannot be known which version of Texinfo is installed on the system where an Emacs maintainer produces the manuals for uploading to the GNU Software site. For example, for a long time I was doing this on fencepost, where the versions of Texinfo were quite old, and building my own Texinfo from the latest tarball was not always an option I could afford. > I think that we do not actually try to keep the level of stability > of the makeinfo HTML output you would need to avoid the need to > change your code now and then, and although I agree that we should > lean towards stability, I do not think that we should target that > level of stability, because we need to cater for the needs of all > the users, as you already mentionned. I imagined that much. Which is why I'm quite nervous about these changes, especially after a period that the output format stabilized enough for me to have absolutely no problems in this area for several recent Emacs releases and several Texinfo versions. > What we envisionned, instead, was to provide with the HTML customization > API to do the kind of modifications you want to do. I can imagine a > number of reasons why this solution is not that attractive for your use > case, for instance it does not allow to be compatible with a wide range > of makeinfo releases, may not be that stable, is in Perl, and could > require important work. Still, maybe you could consider using that > possibility in the future if you face incompatible changes again. I think the main reason this solution is not used is that it is still a kind of "black magic" for almost everyone, definitely for me personally. The relevant sections of the Texinfo manual are basically a very terse man-page style reference of options in alphabetical order, without any kind of tutorial or general explanations or examples (without which it is hard to even understand some of the customization variables unless one is an HTML expert). This is very unlike the other sections of the manual, which invariably provide detailed background explanations for each group of commands, describe the recommended practices, and provide a lot of examples. I write Texinfo manuals for 20 years, and still consult the Texinfo manual all the time, always finding valuable information in it in the sections that describe the Texinfo language and how to use them in a well-written manual. With better documentation, it is quite possible that we could consider switching most, if not all, of the code in admin.el to using the texi2any customization capabilities -- provided again that those customization variables can be relied upon to be stable enough, without fearing they will be completely redesigned at some future time.