bug-texinfo
[Top][All Lists]
Advanced

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

Re: Request for feedback on texi2any customization file


From: Patrice Dumas
Subject: Re: Request for feedback on texi2any customization file
Date: Mon, 4 Sep 2023 22:27:35 +0200

On Mon, Sep 04, 2023 at 10:00:42PM +0200, Jonas Hahnfeld wrote:
> On Mon, 2023-09-04 at 13:29 +0200, Patrice Dumas wrote:
> > On Tue, Aug 29, 2023 at 10:58:21AM +0200, Jonas Hahnfeld wrote:
> 
> > The other reason is that there is a translation to C of perl code
> > going on with, hopefully, the possibility to have both perl and C
> > implementations of the HTML converter.  But it leads to quite a bit of
> > changes in the tree and in the perl API, in particular to have a similar
> > API in C, and also because it reveals flaws of the API.
> 
> Does this mean texi2any will move away from being a pure Perl program?

Not really, for now we are aiming to keep both C and perl in parallel.
In general, the parser implementation used is the C parser already,
Gavin did a C version of the parser, integrated with perl through the
perl XS mechanism.  The pure perl parser still exists and is, for now,
maintained.  Even if/when the HTML converter is also implmented in C, it
should be possible to extend it in perl as it is possible now, as it
should be possible to call perl function from C using the XS interface.
Also not all the converters will be translated to C, anly those used
enough that there is a use case for more rapid/efficient converter.

> I don't think I like that idea: For CI testing and also for producing
> the official documentation, LilyPond uses a Docker image based on
> Ubuntu 20.04 with Texinfo 6.7. Even if we moved to Ubuntu 22.04, we'd
> still only get version 6.8. We could of course build our own texi2any
> into the container image, but I don't think requiring a yet unreleased
> version is a good idea: LilyPond is already hard to build right now.
> The switch away from texi2html is supposed to make this easier, not
> more difficult by requiring the very latest texi2any which doesn't even
> build with the very latest gettext 0.22...
> 
> So no, I think the minimum required version has to stay Texinfo 6.7 for
> now, with the potential of bumping to Texinfo 6.8 if we find something
> that absolutely cannot be done. But on the other hand, everything is
> free game for released versions, we can use any undocumented and
> private API as long as we have a better alternative available in the
> future because those old versions are never going to change.

Ok, I get it.  You're in for a lot of portability conditions...

> Ok, not replacing external_node_href makes sense then (our texi2html
> setup just called the default implementation after tweaking some
> arguments).
> 
> As I write above, label_target_name is already called for external
> references (via _normalized_label_id_file). So all we would need is
> something like node_file_name for external nodes (or just use the same
> function) and a hook to tweak the manual directory, with the default
> returning $manual_base.'_'.$converter->{'output_format'}, right?

You are right, I did not realize that label_target_name was actually
called for external references too, this is the way to go.  I will
extend the function to have it return the filename or both a relative
file name and a file path and to take the file name in argument.  Not
sure that it will make it to the release to come, it may be too much
change.

> > I could not find a way to register without giving a phone number or
> > credit card number, so I will send you mails directly (you can then add
> > comments on my behalf if you want to).
> 
> Thanks for taking a look!
> I think you should be able to login with a GitHub account (if you have
> one) or via one of the other service providers. A credit card number is
> only needed to use continuous integration and I wasn't even aware that
> GitLab is asking for phone numbers these days...

I do not have a github account, and even if I had one, I would not use
it on another entity website, only for the services belonging to the
service provider.

-- 
Pat



reply via email to

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