Hello, First, I finished replacing individual functions overriding by full interface modules. There is one downsize, many Perl modules are now divided in two files, but overall I think that the clarification of what is and what is not in XS is worth it. Individual functions overriding remain for MiscXS and ConfigXS.
I think that the current situation regarding erroring out in case some XS interfaces are not loaded in the default case, with TEXINFO_XS unset is not the best. Indeed, for XS interfaces requiring the use of the XS/C parser, it is erroneous to have only some XS interface files loaded. The errors are diverse, some with visible messages (document/converter not found), or segfaults, some with silent incorrect output. None of those errors should be seen by users. I think that instead texi2any should abort with a message telling that some XS interface object code could not be loaded. In practice, this would mean making the TEXINFO_XS requiredifenabled behaviour the default for XS interfaces requiring the use of the XS/C parser. The Paragraph XS and Misc XS interfaces could still silently fail to be loaded in the default case. What do you think? -- Pat
