blob: 0aa2c11fc6c670eec251380ca6ccaf5961746607 [file] [log] [blame]
2026-03-12 Patrice Dumas <pertusus@free.fr>
Obey @exampleindent in plaintext and Info output
* tta/perl/Texinfo/Convert/Plaintext.pm (_convert): use exampleindent
customization info to increase the indent length for
%example_indented_commands. Report from Rik.
* tta/perl/Makefile.tres, tta/perl/t/20preformatted.t
($nested_examples, exampleindent_set, exampleindent_zero)
(exampleindent_set_nestings, exampleindent_zero_nestings): new tests
of @exampleindent.
2026-03-12 Patrice Dumas <pertusus@free.fr>
* tta/perl/Texinfo/Convert/Plaintext.pm (new_formatter, _convert):
never put 'indent_length' in 'format_context', only in new_formatter
$conf.
2026-03-12 Patrice Dumas <pertusus@free.fr>
* tta/perl/Texinfo/Convert/Plaintext.pm (%example_indented_commands):
set to the indented %preformatted_commands.
* tta/perl/Texinfo/Convert/Plaintext.pm (push_top_formatter)
(new_formatter, new_formatter, _convert): replace 'indent_level'
by a length, 'context_indent_len'. This prepares for indentation
added being different from the default.
2026-03-12 Patrice Dumas <pertusus@free.fr>
* tta/perl/Texinfo/Convert/Plaintext.pm
(@informative_global_commands): add exampleindent.
* tta/perl/Texinfo/Convert/Plaintext.pm ($default_indent_length)
(_text_heading): rename $indent_length as $default_indent_length.
Rename $indent_length in _text_heading as $indented_len.
2026-03-12 Patrice Dumas <pertusus@free.fr>
* tta/C/convert/convert_html.c (html_cache_translate_string):
initialize lang.
2026-03-11 Gavin Smith <gavinsmith0123@gmail.com>
* info/infodoc.c (create_internal_info_help_node):
Free return value of variable_long_description_string.
2026-03-11 Gavin Smith <gavinsmith0123@gmail.com>
* info/infodoc.c (create_internal_info_help_node):
Check if return value of where_is is null before using it. This
shouldn't happen but it is not easy to see this just by looking
at this function. Avoid calling strdup on a string.
Report from Patrice.
2026-03-10 Gavin Smith <gavinsmith0123@gmail.com>
* tta/perl/Texinfo/Translations.pm (fake_setlocale) [openbsd]:
Remove forced override of POSIX::setlocale as now we use the
"gettext_dumb" option of Locale::Messages.
2026-03-09 Patrice Dumas <pertusus@free.fr>
* Pod-Simple-Texinfo/t/Pod-Simple-Texinfo.t: set number of tests when
importing Test::More.
2026-03-09 Patrice Dumas <pertusus@free.fr>
* tta/C/texi2any.c (main), tta/perl/texi2any.pl: if TEST is set and
OUTFILE is set to /dev/null and /dev/null is not a null device, reset
OUTFILE to a platform null device. For a test that uses -o /dev/null.
2026-03-09 Patrice Dumas <pertusus@free.fr>
* tta/C/Makefile.am (libtexinfo_main_la_LDFLAGS): add $(LTLIBINTL)
since gettext is used in texinfo.c.
2026-03-09 Patrice Dumas <pertusus@free.fr>
* tta/perl/Texinfo/Indices.pm (BEGIN): add missing texinfo libraries
dependencies.
2026-03-08 Patrice Dumas <pertusus@free.fr>
* tta/C/Makefile.am (libtexinfo_convert_la_LIBADD)
(libtexinfo_main_la_LIBADD, ctexi2any_LDADD): remove libgnu.la from
libraries and executable linking against libtexinfo, as libtexinfo
already includes libgnu.a files through libperlcall_utils convenience
library linked in libtexinfo. Based on Bruno Haible report.
2026-03-08 Patrice Dumas <pertusus@free.fr>
* tta/C/main/utils.c (html_get_direction_index): remove unused
variable.
2026-03-08 Patrice Dumas <pertusus@free.fr>
* doc/texinfo.texi (@command{texi2any} Environment Variables):
remove explanations on TEXINFO_XS_* and TEXINFO_C_EMBED_PERL as these
environment variables are likely to be removed at some point.
2026-03-08 Patrice Dumas <pertusus@free.fr>
* doc/texinfo.texi (@command{texi2any} Environment Variables):
update for changes in TEXINFO_XS.
2026-03-08 Patrice Dumas <pertusus@free.fr>
* doc/texinfo.texi (Invoking @command{texi2any})
(Global Customization Variables): remove references to xml
command-line and format options.
2026-03-08 Patrice Dumas <pertusus@free.fr>
* tta/perl/Makefile.tres, tta/perl/t/xml_tests.t: remove the
sectioning_test_no_use_nodes that is now a duplicate. Replace
$sectioning_test by its value.
2026-03-08 Patrice Dumas <pertusus@free.fr>
* tta/maintain/check_back_xml_forth_texi_t.sh: update.
* util/txixml2texi.pl: update Perl modules names.
2026-03-08 Patrice Dumas <pertusus@free.fr>
* NEWS, TODO: update for Texinfo XML removed as an output format.
2026-03-08 Patrice Dumas <pertusus@free.fr>
* doc/tta_api/Makefile.am (texi2any_internals_dependencies): fix
TexinfoMarkup.pm and TexinfoXML.pm paths.
2026-03-08 Patrice Dumas <pertusus@free.fr>
Move TexinfoXML.pm, TexinfoSXML.pm and TexinfoMarkup.pm to Example
* tta/perl/Makefile.am (dist_convertmodules_DATA),
tta/perl/Texinfo/Example/TexinfoMarkup.pm,
tta/perl/Texinfo/Example/TexinfoSXML.pm,
tta/perl/Texinfo/Example/TexinfoXML.pm: move TexinfoMarkup.pm,
TexinfoSXML.pm and TexinfoXML.pm out of Texinfo/ to Example/.
* tta/C/texi2any.c (formats_table),
tta/perl/Texinfo/Example/TexinfoMarkup.pm,
tta/perl/Texinfo/Example/TexinfoSXML.pm,
tta/perl/Texinfo/Example/TexinfoXML.pm, tta/perl/t/test_utils.pl,
tta/perl/t/z_misc/no_structure_test.t, tta/perl/texi2any.pl: update
Perl modules names.
* tta/maintain/regenerate_converters_documentation.sh,
tta/perl/Convert_format_template.pod: update to handle TexinfoXML
being in Example.
2026-03-08 Patrice Dumas <pertusus@free.fr>
* tta/perl/t/test_utils.pl (test): remove xml from the default
expanded formats.
2026-03-08 Patrice Dumas <pertusus@free.fr>
Mark texinfo XML related @-command as deprecated
* tta/data/command_data.txt: mark xml, ifxml and ifnotxml as
deprecated.
2026-03-08 Patrice Dumas <pertusus@free.fr>
Remove Texinfo XML command line options
* tta/C/texi2any.c (format_command_line_names, long_options)
(main), tta/perl/texi2any.pl (%format_command_line_names)
(makeinfo_help): remove Texinfo XML related command line options.
* tta/tests/coverage/list-of-tests (formatting_xml): update.
2026-03-08 Patrice Dumas <pertusus@free.fr>
Deprecate xml format in documentation and associated variables
* doc/texinfo.texi (Output Formats, Adding Output Formats)
(Conditional Commands, Conditional Not Commands)
(Raw Formatter Commands, Inline Conditionals)
(Generic Translator @command{texi2any}, Invoking @command{texi2any})
(Output Format Selection, Command List)
(Customization Variables for Multiple Formats): do not document
Texinfo XML as being a supported output format. Document @ifxml, @xml
and @ifnotxml as being deprecated.
* tta/maintain/catalog.xml.in,
tta/perl/Texinfo/Convert/TexinfoMarkup.pm (_convert),
tta/perl/Texinfo/Convert/TexinfoXML.pm (txi_markup_header): remove
TXI_MARKUP_NO_SECTION_EXTENT, considering that it is always false.
Hardcode TEXINFO_DTD_VERSION to 7.3.
* tta/data/options_data.txt: set TEXINFO_DTD_VERSION to 7.3, document
markup and Texinfo XML customization variables as not being used
anymore.
* doc/texinfo.texi (Other Formats Customization Variables),
tta/Makefile.am (maintain/catalog.xml), tta/perl/Makefile.am
(do_subst): remove Texinfo XML customization variables documentation
and substitutions.
* configure.ac, tta/configure.ac,
tta/maintain/change_perl_modules_version.sh: do not set
TEXINFO_DTD_VERSION.
* tta/C/convert/texinfo.c (txi_set_base_default_options),
tta/perl/texi2any.pl ($main_program_set_options): do not set
TEXINFO_DTD_VERSION.
* tta/perl/t/xml_tests.t (sectioning_test_no_use_nodes): do not set
TXI_MARKUP_NO_SECTION_EXTENT.
* Makefile.am, README-hacking: remove dtd-check.
2026-03-08 Patrice Dumas <pertusus@free.fr>
* tta/perl/XSTexinfo/convert/ConvertTextXS.xs (XS_convert_tree):
remove call of get_sv_element_document and get_sv_element_element,
no code sets the corresponding handle and document descriptor.
* tta/C/tree_elements/get_perl_tree_elements.c
(get_sv_element_document, get_sv_element_element),
tta/C/main/get_perl_info.c: move unused get_sv_element_document and
get_sv_element_element to get_perl_tree_elements.c.
* tta/C/main/document.c (destroy_document),
tta/C/main/document_types.h (DOCUMENT): comment out definition of
element_handles document field and associated code, as no code built
uses it currently.
2026-03-08 Patrice Dumas <pertusus@free.fr>
* tta/C/Makefile.am (libtexinfo_convertxs_la_SOURCES, EXTRA_DIST): do
not build tree_elements/build_perl_tree_elements.c and
tree_elements/get_perl_tree_elements.c.
2026-03-08 Patrice Dumas <pertusus@free.fr>
remove the Texinfo::TreeElement XS interface
* doc/tta_api/Makefile.am (texi2any_internals_dependencies),
tta/perl/Makefile.am (dist_modules_DATA),
tta/perl/Texinfo/TreeElement.pm, tta/perl/XSTexinfo/Makefile.am:
rename TreeElementNonXS.pm as TreeElement.pm. Remove TreeElement XS
loading and reader_element/TreeElementXS.xs.
2026-03-08 Patrice Dumas <pertusus@free.fr>
* tta/perl/Texinfo/TreeElementNonXS.pm,
tta/perl/XSTexinfo/reader_element/TreeElementXS.xs: remove all the
methods except for new. Those methods should not be used.
2026-03-08 Patrice Dumas <pertusus@free.fr>
* tta/perl/Texinfo/Convert/Converter.pm (txt_image_text),
tta/perl/Texinfo/Example/ReadDocBook.pm (_convert): do not use the
TreeElement interface.
2026-03-08 Patrice Dumas <pertusus@free.fr>
* tta/C/tree_elements/build_perl_tree_elements.c: remove unused header
includes.
* tta/C/tree_elements/get_perl_tree_elements.c: remove
get_sv_reader_reader.
2026-03-08 Patrice Dumas <pertusus@free.fr>
remove the Texinfo::Reader XS interface
* doc/tta_api/Makefile.am (texi2any_internals_dependencies),
tta/perl/Makefile.am (dist_modules_DATA), tta/perl/Texinfo/Reader.pm,
tta/perl/XSTexinfo/Makefile.am:
remove XS interface of Texinfo::Reader. Rename ReaderNonXS.pm as
Reader.pm. Remove reader_element/ReaderXS.xs.
2026-03-08 Patrice Dumas <pertusus@free.fr>
* tta/C/tree_elements/build_perl_tree_elements.c: remove
register_document_sections_list_elements,
register_document_nodes_list_elements,
register_document_headings_list_elements,
register_document_relations_lists_elements,
build_tree_elements_relations_lists,
build_tree_elements_sections_list, build_tree_elements_nodes_list,
build_tree_elements_headings_list that were only used in
TreeElementConverterXS.
* tta/C/tree_elements/get_perl_tree_elements.c: remove
get_lang_translations_sv.
2026-03-08 Patrice Dumas <pertusus@free.fr>
* doc/tta_api/Makefile.am (texi2any_internals_dependencies),
tta/perl/Makefile.am (dist_convertmodules_DATA),
tta/perl/XSTexinfo/Makefile.am: remove completely
TreeElementConverter by removing TreeElementConverterXS.xs,
TreeElementConverter.pm and TreeElementConverterXS.pm.
2026-03-08 Patrice Dumas <pertusus@free.fr>
* Texinfo/Example/ReadDocBook.pm: remove or replace code related to XS
interfaces.
2026-03-08 Patrice Dumas <pertusus@free.fr>
* tta/perl/Makefile.am (dist_convertmodules_DATA),
tta/perl/texi2any.pl (%formats_table): remove completely
Texinfo::Example::TreeElementReadDocBook.
* tta/perl/Texinfo/Example/TODO: move information on obsolete code to
this new file.
2026-03-08 Patrice Dumas <pertusus@free.fr>
* tta/perl/Texinfo/XSLoader.pm: make $disable_C_libraries a file
scoped variable.
2026-03-08 Patrice Dumas <pertusus@free.fr>
* tta/perl/Texinfo/Parser.pm (BEGIN): do not call
set_XS_parser_loaded.
* tta/perl/Texinfo/XSLoader.pm: remove XS_parser_loaded and
set_XS_parser_loaded. The information can be determined in advance
with $Texinfo::XSLoader::core_modules_built and XS_parser_enabled.
2026-03-08 Patrice Dumas <pertusus@free.fr>
* tta/perl/Texinfo/ManipulateTree.pm (tree_remove_references):
determine early the object count number by using the
$Texinfo::XSLoader::core_modules_built variable value to determine if
the XS parser module is loaded.
2026-03-08 Patrice Dumas <pertusus@free.fr>
* tta/swig/perl/t/20index_sort.t: load the SWIG interface before the
texi2any internal modules and call Texinfo::setup in a BEGIN block to
make sure that set_XS_mandatory is called before any module reading
TEXINFO_XS_* environmnent variables is loaded.
2026-03-07 Patrice Dumas <pertusus@free.fr>
* tta/perl/Texinfo/XSLoader.pm (set_XS_mandatory, init): unset
$ENV{'TEXINFO_XS'} if set to omit in set_XS_mandatory, not in init.
* tta/perl/Texinfo/XSLoader.pm (init): handle first the case where
there is no attempt to load XS module. Make $TEXINFO_XS a file
lexical.
* tta/perl/Texinfo/XSLoader.pm ($core_modules_built): add.
2026-03-07 Patrice Dumas <pertusus@free.fr>
* tta/C/main/call_perl_function.c (call_eval_load_texinfo_modules): no
need to check whether Document XS loaded, XS is mandatory such that
XSLoader would already have died if Document XS was not loaded.
* tta/perl/Texinfo/Document.pm (BEGIN): no more need to detect that
Document XS was loaded. In general, it should be better to make sure
in upstream codes that failure happens as soon as the XS module does
not load.
2026-03-07 Patrice Dumas <pertusus@free.fr>
* tta/swig/perl/test_refold.sh: avoid using diff exit status.
2026-03-07 Patrice Dumas <pertusus@free.fr>
* tta/C/main/call_perl_function.c (call_eval_load_texinfo_modules):
call set_XS_mandatory to be more like C texi2any and simplify the
possible cases.
2026-03-07 Patrice Dumas <pertusus@free.fr>
* tta/perl/Texinfo/XSLoader.pm (init): handle mandatory_xs more like
other cases since in situations with mandatory_xs set, all the XS
modules should be enabled.
Show missing fallback only after the required modules that have not
been loaded caused to die.
Silently reset TEXINFO_XS if set to omit and mandatory_xs is set.
2026-03-07 Patrice Dumas <pertusus@free.fr>
* tta/perl/Texinfo/XSLoader.pm ($mandatory_xs, set_XS_mandatory):
rename embedded_xs to mandatory_xs and set_XS_embedded to
set_XS_mandatory. Update users and callers.
2026-03-07 Patrice Dumas <pertusus@free.fr>
* tta/perl/Texinfo/Convert/Converter.pm (BEGIN),
tta/perl/Texinfo/Convert/HTML.pm (BEGIN),
tta/perl/Texinfo/Convert/Texinfo.pm (BEGIN),
tta/perl/Texinfo/Convert/Text.pm (BEGIN), tta/perl/Texinfo/Indices.pm
(BEGIN), tta/perl/Texinfo/ManipulateTree.pm (BEGIN),
tta/perl/Texinfo/OutputUnits.pm (BEGIN),
tta/perl/Texinfo/Structuring.pm (BEGIN),
tta/perl/Texinfo/Transformations.pm (BEGIN): remove unused
Texinfo::XSLoader::init return value variable.
2026-03-07 Patrice Dumas <pertusus@free.fr>
* tta/perl/Texinfo/ModulePath.pm.in ($XS_modules_dir, init),
tta/perl/Texinfo/XSLoader.pm (init): set $XS_modules_dir in ModulePath
instead of prepending to @INC. Search for libtool archive in
$XS_modules_dir only in XSLoader init. Remove _find_file_in_inc.
2026-03-07 Patrice Dumas <pertusus@free.fr>
* INSTALL, README-hacking: document TEXINFO_XS_CONVERT only in
INSTALL. Move documentation about all the TEXINFO_XS_* to
README-hacking. Mention that those variables will be removed in the
future.
2026-03-07 Patrice Dumas <pertusus@free.fr>
* INSTALL, tta/perl/Texinfo/XSLoader.pm (_message, init, override):
make requiredifenabled the default for TEXINFO_XS. Remove
TEXINFO_XS warn, required and previous default possibilities.
2026-03-07 Patrice Dumas <pertusus@free.fr>
* tta/perl/Makefile.am (modulesdir), tta/perl/Texinfo/Config.pm
(BEGIN): move ConfigXS.pm code to Config.pm. Remove ConfigXS.pm.
2026-03-06 Patrice Dumas <pertusus@free.fr>
* tta/perl/init/documentation_examples.pm: add a license.
2026-03-06 Patrice Dumas <pertusus@free.fr>
* tta/perl/Makefile.am (test_files): remove unused
test_renamed_nodes.init.
2026-03-06 Patrice Dumas <pertusus@free.fr>
* tta/C/main/get_perl_info.c, tta/C/main/txi_config.c,
tta/C/tree_elements/get_perl_tree_elements.c,
tta/perl/XSTexinfo/convert/ConvertConverterXS.xs,
tta/perl/XSTexinfo/convert/ConvertHTMLXS.xs,
tta/perl/XSTexinfo/convert/get_html_perl_info.c,
tta/perl/XSTexinfo/parser_document/ConfigXS.xs,
tta/perl/XSTexinfo/parser_document/DocumentXS.xs,
tta/perl/XSTexinfo/parser_document/ManipulateTreeXS.xs,
tta/perl/XSTexinfo/parser_document/OutputUnitsXS.xs,
tta/perl/XSTexinfo/parser_document/ParserXS.xs: remove cast for
SvPVutf8_nolen and SvPVbyte_nolen. Add const.
2026-03-06 Patrice Dumas <pertusus@free.fr>
* tta/perl/XSTexinfo/convert/ConvertHTMLXS.xs (direction_string):
remove static for const size_t, as the solaris compiler does not want
a non-constant initializer with strlen call.
2026-03-06 Patrice Dumas <pertusus@free.fr>
* tta/perl/XSTexinfo/convert/ConvertHTMLXS.xs: remove cast to char *
for SvPVutf8_nolen, it should not be useful.
2026-03-05 Patrice Dumas <pertusus@free.fr>
* tta/perl/Texinfo/Convert/ParagraphNonXS.pm,
tta/perl/XSTexinfo/xspara.c: minor changes in spacing, parentheses
use.
2026-03-05 Patrice Dumas <pertusus@free.fr>
* tta/perl/Texinfo/Convert/ParagraphNonXS.pm (dump, add_text): check
if $paragraph->{'end_sentence'} exists, not if defined.
* tta/perl/XSTexinfo/xspara.c (enum eos_status): rename eos_undef as
eos_unset. Update users.
2026-03-05 Patrice Dumas <pertusus@free.fr>
* tta/perl/Texinfo/Convert/ParagraphNonXS.pm (add_end_sentence),
tta/perl/XSTexinfo/ParagraphXS.xs (xspara_add_end_sentence),
tta/perl/XSTexinfo/xspara.c (xspara_add_end_sentence): remove
add_end_sentence value argument, always set to eos_present. Update
callers.
2026-03-05 Patrice Dumas <pertusus@free.fr>
* tta/perl/Texinfo/Convert/ParagraphNonXS.pm (get_pending)
(_add_pending_word): do not delete $paragraph->{'space'}, set it to an
empty string instead.
2026-03-05 Patrice Dumas <pertusus@free.fr>
* tta/perl/Texinfo/Convert/ParagraphNonXS.pm (new, get_pending)
(_add_pending_word, _add_next, set_space_protection, add_text):
instead of setting paragraph->{'word'} to undef to signal that there
is no empty string pending that need to be kept as is, add
invisible_pending_word to signal it, as in C.
* tta/perl/XSTexinfo/xspara.c (xspara__add_next)
(xspara_set_space_protection): change conditions to be simpler.
* tta/perl/XSTexinfo/xspara.c (xspara_add_text, xspara__add_next):
more similar debug messages as in Perl.
2026-03-04 Patrice Dumas <pertusus@free.fr>
* tta/perl/Texinfo/Convert/ParagraphNonXS.pm: reformat functions
beginning.
2026-03-04 Patrice Dumas <pertusus@free.fr>
* doc/texi2any_api.texi, tta/perl/init/documentation_examples.pm:
change the formatting of functions beginning in
documentation_examples.pm and in texi2any_api.texi examples.
2026-03-04 Patrice Dumas <pertusus@free.fr>
* tta/perl/Texinfo/ParserNonXS.pm: update POD.
2026-03-04 Patrice Dumas <pertusus@free.fr>
* tta/C/main/get_perl_info.c (find_element_from_sv),
tta/C/main/tree_types.h (enum string_info_type),
tta/C/parsetexi/labels.c (check_register_target_element_label),
tta/C/structuring_transfo/transformations.c (new_node),
tta/perl/Texinfo/Transformations.pm (_new_node),
tta/perl/Texinfo/ParserNonXS.pm
(_check_register_target_element_label): set 'identifier' extra
information with element label instead of 'normalized' for elements
being targets of links. Update code accessing the extra information.
2026-03-04 Patrice Dumas <pertusus@free.fr>
* tta/C/main/targets.c: remove unused compare_labels.
* tta/C/main/build_perl_info.c: update comments.
2026-03-04 Patrice Dumas <pertusus@free.fr>
* doc/texi2any_api.texi (Simple Customization for Commands Without
Arguments): fix documentation of
texinfo_register_no_arg_command_texinfo.
2026-03-03 Patrice Dumas <pertusus@free.fr>
* tta/C/convert/build_html_perl_info.c,
tta/C/convert/build_html_perl_state.c: commented out code and unused
variables. Remove unused build_directions_strings function.
2026-03-03 Patrice Dumas <pertusus@free.fr>
TODO: update DevHelp information
2026-03-02 Patrice Dumas <pertusus@free.fr>
* tta/C/main/api_to_perl.c: remove useless includes and preprocessor
code.
2026-03-02 Patrice Dumas <pertusus@free.fr>
* tta/perl/XSTexinfo/Makefile.am: remove BUILD_C_CODE conditional use,
as it should always be true. BUILD_C_CODE true is implied by XS being
enabled, and code is built in the directory only if XS is enabled.
2026-03-02 Patrice Dumas <pertusus@free.fr>
* tta/perl/Texinfo/Convert/Paragraph.pm (BEGIN),
tta/perl/XSTexinfo/Makefile.am, tta/perl/XSTexinfo/ParagraphXS.xs:
rename XSParagraph.xs as ParagraphXS.xs.
2026-03-02 Patrice Dumas <pertusus@free.fr>
* tta/perl/Texinfo/Parser.pm (BEGIN), tta/perl/XSTexinfo/Makefile.am,
tta/perl/XSTexinfo/parser_document/ParserXS.xs: rename Parsetexi.xs to
ParserXS.xs.
2026-03-02 Patrice Dumas <pertusus@free.fr>
Finish TEXINFO_XS requiredifenabled implementation
* tta/perl/Texinfo/XSLoader.pm (init): now that all the modules that
need one have fallback, die if fallback is missing when it should be
present. Update comments.
* tta/perl/Texinfo/XSLoader.pm (override): die if overriding a
function failed and embedded_xs is set.
2026-03-02 Patrice Dumas <pertusus@free.fr>
* tta/configure.ac (prefer_c_t2a): move ctexi2any related code later
to depend on use_shared_txi_libraries rather than am_func_iconv.
2026-03-02 Patrice Dumas <pertusus@free.fr>
* tta/perl/Texinfo/Structuring.pm (_associate_internal_references):
rename associate_internal_referencesNonXS as
_associate_internal_references. Update callers.
2026-03-02 Patrice Dumas <pertusus@free.fr>
* tta/C/main/manipulate_tree.c (copy_tree_root),
tta/perl/Texinfo/ManipulateTreeNonXS.pm (copy_tree_root),
tta/perl/XSTexinfo/parser_document/ManipulateTreeXS.xs
(copy_tree_root), tta/perl/t/z_misc/test_tree_copy.t: add
copy_tree_root that copies a whole tree root element.
* tta/perl/Texinfo/ManipulateTree.pm (copy_element_tree),
tta/C/main/manipulate_tree.c (copy_element_tree): rename
copy_treeNonXS as copy_element_tree in Perl. Rename copy_tree as
copy_element_tree in C. Update callers.
2026-03-02 Patrice Dumas <pertusus@free.fr>
* tta/perl/Texinfo/Convert/Texinfo.pm (BEGIN),
tta/perl/XSTexinfo/Makefile.am,
tta/perl/XSTexinfo/convert/ConvertTexinfoXS.xs: rename
ConvertToTexinfoXS.xs to ConvertTexinfoXS.xs.
2026-03-02 Patrice Dumas <pertusus@free.fr>
Finish TEXINFO_XS requiredifenabled implementation
* tta/perl/Texinfo/XSLoader.pm (init): now that all the modules that
need one have fallback, die if fallback is missing when it should be
present. Update comments.
* tta/perl/Texinfo/XSLoader.pm (override): die if overriding a
function failed and embedded_xs is set.
2026-03-02 Patrice Dumas <pertusus@free.fr>
* tta/configure.ac (prefer_c_t2a): move ctexi2any related code later
to depend on use_shared_txi_libraries rather than am_func_iconv.
2026-03-02 Patrice Dumas <pertusus@free.fr>
* tta/perl/Texinfo/Structuring.pm (_associate_internal_references):
rename associate_internal_referencesNonXS as
_associate_internal_references. Update callers.
2026-03-02 Patrice Dumas <pertusus@free.fr>
* tta/C/main/manipulate_tree.c (copy_tree_root),
tta/perl/Texinfo/ManipulateTreeNonXS.pm (copy_tree_root),
tta/perl/XSTexinfo/parser_document/ManipulateTreeXS.xs
(copy_tree_root), tta/perl/t/z_misc/test_tree_copy.t: add
copy_tree_root that copies a whole tree root element.
* tta/perl/Texinfo/ManipulateTree.pm (copy_element_tree),
tta/C/main/manipulate_tree.c (copy_element_tree): rename
copy_treeNonXS as copy_element_tree in Perl. Rename copy_tree as
copy_element_tree in C. Update callers.
2026-03-02 Patrice Dumas <pertusus@free.fr>
* tta/perl/Texinfo/ManipulateTree.pm (copy_contents): remove
copy_contentsNonXS, copy_contents does not have an XS implementation.
Update callers.
2026-03-02 Patrice Dumas <pertusus@free.fr>
* tta/C/structuring_transfo/transformations.c
(move_selected_element_index_entries_after_items): rename
move_index_entries_after_items as
move_selected_element_index_entries_after_items.
* tta/perl/Texinfo/ManipulateTreeNonXS.pm
(_move_selected_element_index_entries_after_items): rename
move_index_entries_after_items as
_move_selected_element_index_entries_after_items.
* tta/perl/Texinfo/ManipulateTreeNonXS.pm
(move_index_entries_after_items_in_document): remove
move_index_entries_after_items_in_tree.
2026-03-02 Patrice Dumas <pertusus@free.fr>
* tta/perl/XSTexinfo/convert/ConvertToTexinfoXS.xs
(_XS_texinfo_convert_tree): rename plain_texinfo_convert_tree as
_XS_texinfo_convert_tree.
* tta/perl/Texinfo/Convert/Texinfo.pm (_convert_to_texinfo): rename
convert_to_texinfoNonXS as _convert_to_texinfo.
* tta/perl/Texinfo/Convert/Texinfo.pm (BEGIN, convert_to_texinfo),
tta/perl/Texinfo/Convert/TexinfoNonXS.pm (_XS_texinfo_convert_tree),
tta/perl/XSTexinfo/convert/ConvertToTexinfoXS.xs
(_XS_texinfo_convert_tree): have _XS_texinfo_convert_tree return undef
if the C data is not found. Override _XS_texinfo_convert_tree in
TexinfoNonXS.pm, returning undef. Define convert_to_texinfo in
Texinfo.pm, by calling _XS_texinfo_convert_tree and switching to Perl
implementation if _XS_texinfo_convert_tree returns undef.
* tta/perl/Makefile.am (dist_convertmodules_DATA): remove
Texinfo/Convert/TexinfoXS.pm.
2026-03-02 Patrice Dumas <pertusus@free.fr>
* tta/perl/Texinfo/Convert/Converter.pm (table_item_content_tree):
rename table_item_content_tree_noxs as table_item_content_tree.
Update callers.
* tta/C/main/get_perl_info.c (get_messages_from_sv),
tta/perl/Texinfo/Convert/Converter.pm,
tta/perl/Texinfo/Convert/ConverterNonXS.pm
(merge_converter_error_messages_lists),
tta/perl/XSTexinfo/convert/ConvertConverterXS.xs
(merge_converter_error_messages_lists): add get_messages_from_sv, and
use it in merge_converter_error_messages_lists to get messages from
the Perl object if a C converter could not be found. Move
merge_converter_error_messages_lists_noxs code to
merge_converter_error_messages_lists in ConverterNonXS.pm. Remove
merge_converter_error_messages_lists_noxs.
2026-03-02 Patrice Dumas <pertusus@free.fr>
Change in comments
2026-03-02 Patrice Dumas <pertusus@free.fr>
* tta/perl/Texinfo/Config.pm, tta/perl/Texinfo/Convert/HTML.pm,
tta/perl/Texinfo/Convert/Plaintext.pm,
tta/perl/Texinfo/Convert/Unicode.pm,
tta/perl/Texinfo/Example/TreeElementConverter.pm,
tta/perl/Texinfo/ParserNonXS.pm: make $module_loaded a file scoped my
variable.
2026-03-02 Patrice Dumas <pertusus@free.fr>
* tta/perl/Texinfo/Convert/HTML.pm,
tta/perl/Texinfo/Convert/HTMLNonXS.pm,
tta/perl/XSTexinfo/convert/ConvertHTMLXS.xs: prepend _ to function
names for functions that are not supposed to be called outside of
HTML converter.
* tta/perl/Texinfo/Convert/HTMLNonXS.pm
(command_is_in_referred_command_stack),
tta/perl/XSTexinfo/convert/ConvertHTMLXS.xs
(command_is_in_referred_command_stack): rename
_command_is_in_referred_command_stack as
command_is_in_referred_command_stack. Update callers.
* tta/perl/XSTexinfo/convert/ConvertHTMLXS.xs: remove
_push_referred_command_stack_command and _pop_referred_command_stack
XS interfaces, the functions are only called from already overriden
functions.
2026-03-02 Patrice Dumas <pertusus@free.fr>
* tta/perl/Makefile.am (dist_modules_DATA),
tta/perl/Texinfo/Indices.pm (BEGIN), tta/perl/Texinfo/IndicesNonXS.pm,
tta/perl/XSTexinfo/parser_document/IndicesXS.xs: add IndicesNonXS.pm
based on Indices.pm for the code also in the XS interface. Add
loading of XS module in Indices.pm.
Remove tta/perl/Texinfo/IndicesXS.pm.
2026-03-02 Patrice Dumas <pertusus@free.fr>
* tta/perl/Texinfo/Convert/HTML.pm,
tta/perl/Texinfo/Convert/HTMLNonXS.pm,
tta/perl/XSTexinfo/convert/ConvertHTMLXS.xs: prepend _ to function
names for functionss that are not supposed to be called outside of
HTML converter.
* tta/perl/Texinfo/Convert/HTMLNonXS.pm
(command_is_in_referred_command_stack),
tta/perl/XSTexinfo/convert/ConvertHTMLXS.xs
(command_is_in_referred_command_stack): rename
_command_is_in_referred_command_stack as
command_is_in_referred_command_stack. Update callers.
* tta/perl/XSTexinfo/convert/ConvertHTMLXS.xs: remove
_push_referred_command_stack_command and _pop_referred_command_stack
XS interfaces, the functions are only called from already overriden
functions.
2026-03-02 Patrice Dumas <pertusus@free.fr>
* tta/perl/XSTexinfo/convert/ConvertHTMLXS.xs: fix names in strings
used in warn message. Modify 2 XS interface names.
2026-03-02 Patrice Dumas <pertusus@free.fr>
* tta/C/convert/format_html.c (html_unit_is_top_output_unit): rename
unit_is_top_output_unit as html_unit_is_top_output_unit.
* tta/C/main/get_perl_info.c (get_output_unit_from_sv): add, based on
find_root_command code.
* tta/perl/Texinfo/Convert/HTML.pm,
tta/perl/Texinfo/Convert/HTMLNonXS.pm (_get_top_unit)
(unit_is_top_output_unit), tta/perl/XSTexinfo/convert/ConvertHTMLXS.xs
(unit_is_top_output_unit): add an XS interface for
unit_is_top_output_unit.
2026-03-02 Patrice Dumas <pertusus@free.fr>
* tta/C/convert/html_prepare_converter.c
(html_set_main_units_direction_names), tta/C/main/converter_types.h
(CONVERTER), tta/C/main/utils.c (html_get_direction_index): setup an
hash associating direction names to their index in
main_units_direction_names while filling the array. Use it in
html_get_direction_index.
2026-03-02 Patrice Dumas <pertusus@free.fr>
* tta/C/convert/format_html.c (html_direction_string): rename
direction_string as html_direction_string.
* tta/perl/Texinfo/Convert/HTML.pm,
tta/perl/Texinfo/Convert/HTMLNonXS.pm (direction_string),
tta/perl/XSTexinfo/convert/ConvertHTMLXS.xs (direction_string): add XS
interface for direction_string.
* tta/C/convert/build_html_perl_info.c
(html_pass_converter_initialization_state),
tta/C/convert/build_html_perl_state.c (build_html_translated_names):
do not pass nor reset direction_string converter hash, as nothing
access the Perl data when going through the XS interface.
2026-03-02 Patrice Dumas <pertusus@free.fr>
* tta/C/convert/format_html.c (html_special_unit_info): handle an
unknown special_unit_variety being given in argument.
* tta/perl/Texinfo/Convert/HTML.pm,
tta/perl/Texinfo/Convert/HTMLNonXS.pm
(get_special_unit_info_varieties, special_unit_info),
tta/perl/XSTexinfo/convert/ConvertHTMLXS.xs
(get_special_unit_info_varieties, special_unit_info): do not sort
get_special_unit_info_varieties output. Add an XS interface for
get_special_unit_info_varieties and special_unit_info.
2026-03-02 Patrice Dumas <pertusus@free.fr>
* tta/C/convert/format_html.c (html_get_top_unit): reorganize code to
be more efficient, and more similar to Perl code.
2026-03-02 Patrice Dumas <pertusus@free.fr>
* doc/texi2any_api.texi (Customizing Output Target Names)
(Target Tree Element Link), tta/perl/Texinfo/Convert/ConverterNonXS.pm
(converter_find_identifier_target), tta/perl/Texinfo/Convert/HTML.pm,
tta/perl/XSTexinfo/convert/ConvertConverterXS.xs
(converter_find_identifier_target): rename find_identifier_target as
converter_find_identifier_target. Move to ConverterNonXS.pm and add
an XS implementation. Update callers.
* tta/perl/Texinfo/Convert/HTML.pm (_get_top_unit)
(_convert_xref_command, _convert_printindex_command): use
converter_find_identifier_target.
2026-03-02 Patrice Dumas <pertusus@free.fr>
* doc/texi2any_api.texi (Customizing Output Target Names)
(Target Tree Element Link), tta/perl/Texinfo/Convert/HTML.pm
(find_identifier_target), tta/perl/init/documentation_examples.pm,
tta/perl/t/init/access_output_unit_in_handler.pm: rename label_command
as find_identifier_target. Update callers.
* tta/perl/Texinfo/Convert/HTML.pm (_convert_xref_command): rename
_convert_xref_commands as _convert_xref_command.
2026-03-02 Patrice Dumas <pertusus@free.fr>
* tta/perl/t/init/t2h_singular.init (singular_collect_values)
(singular_get_value): collect version set values in the tree. Use
them in formatting.
* tta/perl/Texinfo/Convert/HTML.pm: remove get_value.
* tta/tests/coverage/formatting.texi: add setting of VERSION value,
for t2h_singular.init testing.
2026-03-02 Patrice Dumas <pertusus@free.fr>
* tta/perl/Texinfo/Convert/HTML.pm,
tta/perl/Texinfo/Convert/HTMLNonXS.pm: move functions around and
modify comments for a better organized code.
2026-03-02 Patrice Dumas <pertusus@free.fr>
* tta/perl/Makefile.am (dist_convertmodules_DATA),
tta/perl/Texinfo/Convert/HTML.pm (BEGIN),
tta/perl/Texinfo/Convert/HTMLNonXS.pm, tta/perl/XSTexinfo/Makefile.am
(xs_LTLIBRARIES, *_ConvertHTMLXS_la_*),
tta/perl/XSTexinfo/convert/ConvertHTMLXS.xs: add HTMLNonXS.pm based on
HTML.pm for the code also in the XS interface. Rename ConvertXS.xs as
ConvertHTMLXS.xs. Add loading of XS module in HTML.pm. Use the same
name in Perl code and in XS interface.
2026-03-02 Patrice Dumas <pertusus@free.fr>
* tta/perl/Texinfo/Convert/HTML.pm (%XS_conversion_overrides),
tta/perl/XSTexinfo/convert/ConvertXS.xs: use the same name in Perl
code and in XS interface.
2026-03-02 Patrice Dumas <pertusus@free.fr>
* tta/C/convert/converter.c (setup_converter_generic_done)
(setup_converter_generic), tta/C/convert/html_prepare_converter.c
(html_format_setup): have html_format_setup call
setup_converter_generic_done as it depends on some xml conversion data
having been set. Add setup_converter_generic_done to avoid running
setup_converter_generic code twice.
* tta/perl/Texinfo/Convert/HTML.pm (%XS_conversion_overrides, import),
tta/perl/XSTexinfo/convert/ConvertXS.xs (init): call html_format_setup
in init in ConvertXS.xs. Remove html_format_setup.
* tta/perl/Texinfo/Convert/HTML.pm (%XS_conversion_overrides)
(html_converter_initialize_beginning)
(XS_html_converter_get_customization),
tta/perl/XSTexinfo/convert/ConvertXS.xs
(XS_html_converter_get_customization): rename
_XS_html_converter_initialize_beginning as
html_converter_initialize_beginning and
_XS_html_converter_get_customization and
html_converter_get_customization_sv as
XS_html_converter_get_customization.
* tta/perl/Texinfo/Convert/HTML.pm
(html_converter_initialize_beginning, converter_initialize): do not
use a dynamic check of converter_descriptor presence before
html_converter_initialize_beginning and converter_initialize calls, it
should always set and we do not do it for any other function. Move
Perl code called where html_converter_initialize_beginning was to the
function.
2026-03-02 Patrice Dumas <pertusus@free.fr>
* tta/perl/Makefile.am (dist_convertmodules_DATA),
tta/perl/Texinfo/Convert/Text.pm (BEGIN),
tta/perl/Texinfo/Convert/TextNonXS.pm,
tta/perl/XSTexinfo/Makefile.am (xs_LTLIBRARIES, *_ConvertTextXS_la_*),
tta/perl/XSTexinfo/convert/ConvertXS.xs,
tta/perl/XSTexinfo/convert/ConvertTextXS.xs: add TextNonXS.pm based on
Text.pm with the trivial code present in the XS interface. Split
ConvertTextXS.xs out of ConvertXS.xs with the Texinfo::Convert::Text
XS interface code. Add loading of XS module in Text.pm.
* tta/perl/XSTexinfo/Makefile.am: cleanups.
2026-03-02 Patrice Dumas <pertusus@free.fr>
* tta/perl/Texinfo/Convert/Text.pm (XS_convert_tree),
tta/perl/XSTexinfo/convert/ConvertXS.xs (XS_convert_tree): rename
_convert_tree_with_XS and text_convert_tree as XS_convert_tree.
* tta/perl/Texinfo/Convert/Text.pm (XS_convert_tree, convert_to_text)
(convert, output), tta/perl/XSTexinfo/convert/ConvertXS.xs
(XS_convert_tree): determine in XS_convert_tree if a C element
corresponding to the input Perl tree element is found and if not found
return undef. Always call XS_convert_tree in Perl code, and determine
if the element was converted by checking if the return value is undef.
2026-03-02 Patrice Dumas <pertusus@free.fr>
* tta/perl/Makefile.am (dist_convertmodules_DATA),
tta/perl/Texinfo/Convert/Converter.pm,
tta/perl/Texinfo/Convert/ConverterNonXS.pm,
tta/perl/XSTexinfo/Makefile.am (xs_LTLIBRARIES)
(*ConvertConverterXS_la_*), tta/perl/XSTexinfo/convert/ConvertXS.xs,
tta/perl/XSTexinfo/convert/ConvertConverterXS.xs: add
ConverterNonXS.pm based on Converter.pm with the code also present in
the XS interface. Split ConvertConverterXS.xs out of ConvertXS.xs with
the Texinfo::Convert::Converter XS interface code. Add loading of XS
module in Converter.pm.
2026-03-02 Patrice Dumas <pertusus@free.fr>
* tta/perl/Makefile.am (dist_modules_DATA),
tta/perl/Texinfo/ManipulateTree.pm,
tta/perl/Texinfo/ManipulateTreeNonXS.pm,
tta/perl/Texinfo/OutputUnits.pm, tta/perl/Texinfo/OutputUnitsNonXS.pm,
tta/perl/XSTexinfo/Makefile.am (xs_LTLIBRARIES, *_OutputUnitsXS_*)
(*_ManipulateTreeXS_la_),
tta/perl/XSTexinfo/parser_document/ManipulateTreeXS.xs,
tta/perl/XSTexinfo/parser_document/OutputUnitsXS.xs: add
OutputUnitsNonXS.pm based on OutputUnits.pm with the code also present
in the XS interface. Similarly, add ManipulateTreeNonXS.pm based on
ManipulateTree.pm with the code also present in the XS interface.
Split StructuringTransfoXS.xs in ManipulateTreeXS.xs and
OutputUnitsXS.xs.
Add loading of XS module in OutputUnits.pm and ManipulateTree.pm,
and keep there the functions not in the XS interfaces.
Remove StructuringTransfoXS.xs and perl/Texinfo/StructTransfXS.pm.
2026-03-02 Patrice Dumas <pertusus@free.fr>
* tta/perl/Makefile.am (dist_modules_DATA),
tta/perl/Texinfo/Transformations.pm,
tta/perl/Texinfo/TransformationsNonXS.pm
tta/perl/XSTexinfo/parser_document/TransformationsXS.xs,
tta/perl/XSTexinfo/Makefile.am (xs_LTLIBRARIES)
(*_TransformationsXS_la_*),
tta/perl/XSTexinfo/parser_document/StructuringTransfoXS.xs: add
TransformationsNonXS.pm based on Transformations.pm with the code also
present in the XS interface. Separate TransformationsXS.xs from
StructuringTransfoXS.xs with the transformations interface only. Add
loading of XS modules in Transformations.pm and keep the code not in
the XS interface in that file too.
2026-03-02 Patrice Dumas <pertusus@free.fr>
* tta/perl/Makefile.am (dist_modules_DATA),
tta/perl/Texinfo/StructuringNonXS.pm, tta/perl/Texinfo/Structuring.pm,
tta/perl/XSTexinfo/parser_document/StructuringTransfoXS.xs,
tta/perl/XSTexinfo/parser_document/StructuringXS.xs,
tta/perl/XSTexinfo/Makefile.am (xs_LTLIBRARIES, *_StructuringXS_la_*):
add StructuringNonXS.pm based on Structuring.pm code, keeping only
code also in the XS interface. Separate StructuringXS.xs from
StructuringTransfoXS.xs with the structuring interface only. Add
loading of XS in Structuring.pm and keep code not in the XS interface
too.
2026-03-02 Patrice Dumas <pertusus@free.fr>
* tta/C/Makefile.am (libcallperl_libtexinfo_la_SOURCES)
(libcallperl_libtexinfo_convert_la_SOURCES): move
call_document_perl_functions.c to libtexinfo.
* tta/perl/Makefile.am (dist_modules_DATA),
tta/perl/XSTexinfo/parser_document/DocumentXS.xs (destroy_document):
call call_document_remove_document_references in destroy_document in
DocumentXS.xs. Remove DocumentXS.pm.
2026-03-02 Patrice Dumas <pertusus@free.fr>
* tta/perl/Makefile.am (dist_modules_DATA),
tta/perl/Texinfo/Document.pm (BEGIN),
tta/perl/Texinfo/DocumentNonXS.pm, tta/perl/Texinfo/DocumentXS.pm
(destroy_document), tta/perl/XSTexinfo/parser_document/DocumentXS.xs
(MODULE, PACKAGE): move code loading XS to Document.pm, move non XS
interface code to the new DocumentNonXS.pm code file. Use
DocumentXS.pm for the only Perl function needed by the XS interface.
Update XS interface function names.
* tta/perl/Texinfo/Translations.pm (configure): simply call
Texinfo::Document::configure_output_strings_translations, remove XS
override.
* tta/C/main/call_perl_function.c (call_eval_load_texinfo_modules):
update for change in Perl modules.
2026-02-21 Patrice Dumas <pertusus@free.fr>
* tta/perl/Makefile.am (dist_modules_DATA),
tta/perl/XSTexinfo/Makefile.am, tta/perl/Texinfo/Parser.pm (BEGIN),
tta/perl/Texinfo/ParserXS.pm: rename tta/perl/XSTexinfo/Parsetexi.pm
as ParserXS.pm and move to tta/perl/Texinfo/ to be consistent with
the other modules.
2026-03-02 Patrice Dumas <pertusus@free.fr>
* tta/perl/Texinfo/Translations.pm (translate_string): switch to
gettext_dumb implementation to use a gettext implementation that does
not use the current locale information at all. Idea of Guido Flohr.
2026-03-02 Gavin Smith <gavinsmith0123@gmail.com>
* README-hacking: add instructions for updating refcard on
website
2026-03-02 Gavin Smith <gavinsmith0123@gmail.com>
* TODO: change "Post-release" section to "After 7.3 release".
2026-03-02 Gavin Smith <gavinsmith0123@gmail.com>
* tta/perl/t/08misc_commands.t
(definfoenclose_command_on_section_line):
Re-enable test.
2026-03-02 Patrice Dumas <pertusus@free.fr>
* tta/C/convert/call_html_perl_function.c: add includes for libc files
used in the code. Report from Eli Zaretskii.
2026-03-02 Gavin Smith <gavinsmith0123@gmail.com>
* configure.ac: bump version to 7.3dev.
Copyright 2026 Free Software Foundation, Inc.
Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright
notice and this notice are preserved.