[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Further reducing special case code for XS structuring
From: |
Gavin Smith |
Subject: |
Re: Further reducing special case code for XS structuring |
Date: |
Fri, 5 Apr 2024 14:40:41 +0100 |
On Fri, Apr 05, 2024 at 12:20:19AM +0200, Patrice Dumas wrote:
> I do not think that having the same interface for XS and pure Perl is
> important. It could even make clearer what is going on in XS. What is
> important is to have a code that is easy to understand as a whole in my
> opinion.
>
> > The current state of the change is below. I'd also plan on reviewing
> > the other parse_texi_* functions in Parsetexi.pm (such as parse_texi_piece)
> > to see if the $no_build and $no_store arguments are necessary.
>
> I expect no_build not to be relevant anymore, as with your changes
> building Perl structures is never done by the Parser if the XS Parser is
> used, building Perl structures is always done later on.
>
> I am not sure that no_store is used, but I think that it should be
> considered completely separately from no_build and the on-demand Perl
> structures build, as it is a completely different issue.
parse_texi_piece is declared in Parsetexi.pm as
"sub parse_texi_piece($$;$$$)" while it is declared in ParserNonXS.pm as
"sub parse_texi_piece($$;$)", taking two fewer optional arguments. (I
believe this hasn't led to an error message from Perl as the function
signatures are not checked when a sub is called with method call syntax.)
The $no_store argument doesn't appear to be used anywhere.
I've committed a change to remove the $no_build parameter but not the
$no_store parameter.