| 2026-05-13 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/C/convert/convert_html.c (html_prepare_converted_output_info): |
| access command flags only if an element is not a text element. |
| |
| * tta/perl/Makefile.tres, tta/perl/t/converters_tests.t |
| (documentinfo_with_empty_line): new test with empty line in |
| @documentinfo. |
| |
| 2026-05-13 Patrice Dumas <pertusus@free.fr> |
| |
| Do not install nor put on the web the texi2any internals manual |
| |
| * doc/Makefile.am (wwwdoc-build, wwwdoc-install): do not generate the |
| texi2any internals manual. The manual is only useful to develop |
| texi2any and can be with the sources only. |
| |
| * doc/tta_api/Makefile.am (AUTOMAKE_OPTIONS): add no-installinfo to |
| avoid installing the texi2any internals Info manual. |
| |
| 2026-05-13 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/perl/t/z_misc/html_convert_tree.t, |
| tta/perl/t/z_misc/test_fill_gaps_in_sectioning.t: use a combination of |
| XS_parser_enabled call return true and core_modules_built set to |
| determine if the XS Parser is used, as it is the good way to check |
| that the XS Parser is actually used. |
| |
| 2026-05-13 Patrice Dumas <pertusus@free.fr> |
| |
| * Pod-Simple-Texinfo/pod2texi.pl, tta/perl/t/*.t: remove unused code, |
| change formatting of functions beginning. Change in spacing. |
| Cosmetic changes. |
| |
| 2026-05-12 Patrice Dumas <pertusus@free.fr> |
| |
| * util/htmlxref.d/Texinfo_GNU.cnf: add autosprintf. |
| |
| 2026-05-11 Patrice Dumas <pertusus@free.fr> |
| |
| * Pod-Simple-Texinfo/t/Pod-Simple-Texinfo.t: change formatting of |
| functions beginning. Change in spacing. |
| |
| * Pod-Simple-Texinfo/lib/Pod/Simple/Texinfo.pm: update Pod |
| documentation. |
| |
| 2026-05-11 Patrice Dumas <pertusus@free.fr> |
| |
| * Pod-Simple-Texinfo/lib/Pod/Simple/Texinfo.pm: change formatting of |
| functions beginning. Use defined or exists if the value is not used. |
| Change in spacing. |
| |
| 2026-05-11 Patrice Dumas <pertusus@free.fr> |
| |
| * Pod-Simple-Texinfo/lib/Pod/Simple/Texinfo.pm (%line_commands) |
| (_texinfo_handle_element_end): keep %pod_head_commands_level levels |
| out of %line_commands. |
| |
| * Pod-Simple-Texinfo/lib/Pod/Simple/Texinfo.pm, |
| Pod-Simple-Texinfo/pod2texi.pl: change formatting of functions |
| beginning. Use defined or exists if the value is not used. Change in |
| spacing. Other cosmetic changes. |
| |
| 2026-05-11 Patrice Dumas <pertusus@free.fr> |
| |
| * Pod-Simple-Texinfo/pod2texi.pl (BEGIN): update to match the change |
| in Texinfo::ModulePath::init call. |
| |
| 2026-05-11 Patrice Dumas <pertusus@free.fr> |
| |
| * Pod-Simple-Texinfo/pod2texi.pl (pod2texi_help), POD: use document |
| instead of manual, convert instead of translate. Other updates. |
| |
| * doc/texinfo.texi (Invoking @command{pod2texi}): use document |
| instead of manual, convert instead of translate. |
| |
| 2026-05-11 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/perl/ext/epub3.pm (@epub_language, epub_setup, epub_init) |
| (epub_finish): add epub_init handler where all the languages are |
| gathered. Use configured documentlanguage and documentscript and |
| go through global commands information language_commands to gather |
| all the language in the document, and use all the languages to set |
| dc:language elements. Only add a language with @documentscript or |
| @documentlanguagevariant if there was already a script or variant |
| setup, to avoid setting languages without following @documentscript or |
| @documentlanguagevariant values set. |
| |
| * tta/perl/Makefile.tres, tta/perl/t/epub_tests.t |
| (languages_scripts_variants): new test of multilingual document. |
| |
| 2026-05-10 Patrice Dumas <pertusus@free.fr> |
| |
| Generic metadata in HTML and DocBook in @documentinfo |
| |
| * tta/C/convert/build_html_perl_info.c (pass_sv_converter_info), |
| tta/C/convert/convert_html.c (html_prepare_converted_output_info), |
| tta/C/convert/format_html.c (html_default_format_begin_file) |
| (html_default_format_node_redirection_page), |
| tta/C/convert/html_converter_finish.c (html_free_converter), |
| tta/C/convert/html_prepare_converter.c |
| (html_conversion_initialization), tta/C/main/converter_types.h |
| (CONVERTER), tta/perl/Texinfo/Convert/HTML.pm |
| (_file_header_information, _default_format_begin_file) |
| (_default_format_node_redirection_page), |
| tta/perl/Texinfo/Convert/HTMLNonXS.pm (%available_converter_info) |
| (_prepare_converted_output_info): add documentinfo_metadata |
| to converter in C and to 'converter_info' in Perl with @documentinfo |
| content except for metadata_commands. Get in _file_header_information |
| in Perl. Output in file headers. |
| |
| * doc/texi2any_api.texi (Converter General Information): document |
| documentinfo_metadata in converter information. |
| |
| * tta/perl/Texinfo/Convert/DocBook.pm (conversion_output_begin): |
| gather @documentinfo content except for metadata_commands and output |
| in documentinfo element. |
| |
| * tta/perl/t/converters_tests.t (metadata_in_documentinfo), |
| tta/perl/Makefile.tres: new test for metadata in @documentinfo. |
| |
| 2026-05-10 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/perl/ext/epub3.pm ($epub_doc_dest_dir): reindent. Rename |
| $epub_document_destination_directory as $epub_doc_dest_dir. |
| |
| 2026-05-10 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/C/api_for_swig/swig_element_types.h (TXI_CM_OTHER_FLAGS_LIST), |
| tta/C/main/builtin_commands.h (CF_metadata), |
| tta/C/main/command_data.awk, tta/data/command_data.txt: add metadata |
| flag for @-commands with document metadata information that are |
| supposed to be handled explicitly in output formats conversion. |
| |
| * tta/perl/ext/epub3.pm: remove local definition of |
| $metadata_commands, use Texinfo::Commands::metadata_commands. |
| |
| 2026-05-10 Patrice Dumas <pertusus@free.fr> |
| |
| Generic metadata in EPUB in @documentinfo |
| |
| * tta/perl/ext/epub3.pm (%metadata_commands, conversion_output_begin): |
| convert content of @documentinfo that is not an explicit @-command |
| usually used for metadata in the <metadata> EPUB element. |
| |
| * tta/perl/t/epub_tests.t (epub_metadata), tta/perl/Makefile.tres: new |
| test. |
| |
| 2026-05-09 Gavin Smith <gavinsmith0123@gmail.com> |
| |
| Fix M-TAB moving before DEL-quoted cross-reference |
| |
| * info/scan.c (scan_reference_label) [hide-note-references=On]: |
| If "quoting" DEL bytes surround the reference label, remove them |
| when rewriting the node contents. |
| |
| Because these bytes are invisible, if the node position is placed |
| on one of these bytes, it would be advanced past that byte in |
| display_cursor_at_point, which is called in the main loop in |
| info_read_and_dispatch. Then the cursor would get "stuck" |
| when trying to move before a cross-reference with M-TAB. |
| |
| Report from Aidan <aidanczhai@gmail.com>. |
| |
| 2026-05-07 Patrice Dumas <pertusus@free.fr> |
| |
| * doc/texi2any_api.texi (Text Tree Elements Conversion): document |
| xml_format_text_with_numeric_entities. |
| |
| * doc/texi2any_api.texi (Commands Without Arguments Formatting): |
| document expand_today. |
| |
| * doc/texi2any_api.texi (Accent Commands with Arguments Formatting): |
| document %Texinfo::UnicodeData::unicode_accented_letters. |
| |
| * doc/texi2any_api.texi (Specific Formatting for Indices): add |
| the description of more indices related formatting functions. |
| |
| * doc/texi2any_api.texi (@code{@@verbatiminclude} Formatting) |
| (Definition Commands Formatting) |
| (Float and List of Floats Formatting) |
| (Block Commands with @code{@@item}) |
| (Informative Commands): add nodes for diverse elements. |
| |
| * doc/texi2any_api.texi (Specific Functions for Specific Elements): |
| remove previous "Specific Functions for Specific Elements" node and |
| rename "Functions and Data for Default Formatting" as "Specific |
| Functions for Specific Elements". |
| |
| * doc/texi2any_api.texi (Specific Functions for Specific Elements): |
| document simple_arg_text, empty_spaces_argument and |
| Texinfo::Convert::NodeNameNormalization methods. |
| |
| * tta/perl/Texinfo/Convert/HTML.pm (_convert_float_command): call |
| float_name_caption object oriented. |
| |
| * tta/perl/Texinfo/Convert/NodeNameNormalization.pm (@EXPORT_OK): |
| export convert_to_normalized. |
| |
| 2026-05-06 Patrice Dumas <pertusus@free.fr> |
| |
| * doc/texi2any_api.texi (Command Tree Element Conversion) |
| (Functions and Data for Default Formatting): put information on |
| default formatting functions used for diverse commands in a spearate |
| chapter, keeping only formatting of commands that require calling some |
| specific functions in "Command Tree Element Conversion". |
| |
| 2026-05-06 Gavin Smith <gavinsmith0123@gmail.com> |
| |
| Replace use of strcat and strncat |
| |
| * install-info/install-info.c (split_entry): |
| Remove sole remaining use of strncat. |
| |
| 2026-05-06 Gavin Smith <gavinsmith0123@gmail.com> |
| |
| Replace use of strcat |
| |
| * install-info/install-info.c (format_entry): |
| Eliminate use of strcat and strncat. |
| |
| 2026-05-06 Gavin Smith <gavinsmith0123@gmail.com> |
| |
| Replace use of strcat |
| |
| * install-info/install-info.c (split_entry): |
| Eliminate use of strcat in this function, as it always needs to scan |
| the string from the beginning, which is a well-known defect in the use |
| of this function. |
| Remove pointless division by "sizeof (char)". |
| |
| 2026-05-06 Gavin Smith <gavinsmith0123@gmail.com> |
| |
| * install-info/install-info.c (split_entry): |
| Only convert "\n" to " " a limited number of times, and allocate |
| enough memory to do so. |
| |
| Memory overflow reported by LogicLuminary <memorylogicdev@gmail.com>. |
| |
| 2026-05-06 Patrice Dumas <pertusus@free.fr> |
| |
| * doc/texi2any_api.texi (Texinfo Tree Conversion Functions), |
| POD documentation: update/improve. |
| |
| 2026-05-06 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/C/api_for_swig/swig_interface.c |
| (txi_ext_get_index_sorted_by_index), tta/C/convert/converter.c |
| (lang_info_sorting_locale, get_converter_indices_sorted_by_index) |
| (get_converter_indices_sorted_by_letter), tta/C/main/document.c |
| (sorted_indices_by_index, sorted_indices_by_letter) |
| (print_document_indices_sort_strings), tta/C/main/document_types.h, |
| tta/C/main/utils.c, tta/perl/Texinfo/Convert/ConverterNonXS.pm |
| (get_converter_indices_sorted_by_letter) |
| (get_converter_indices_sorted_by_index), tta/perl/Texinfo/Document.pm |
| (sorted_indices_by_letter, sorted_indices_by_index), |
| tta/perl/Texinfo/DocumentNonXS.pm |
| (print_document_indices_sort_strings): determine the |
| lang_sorting_locale based either on COLLATION_LANGUAGE customization |
| variable or current_lang_translations lang and script in Converter |
| code, in get_converter_indices_sorted_by_index and |
| get_converter_indices_sorted_by_letter instead of in Document code. |
| Move lang_info_sorting_locale to converter.c. Remove |
| SORTING_LANG_INFO and new_sorting_lang_info. |
| |
| 2026-05-05 Patrice Dumas <pertusus@free.fr> |
| |
| * doc/texi2any_api.texi: add indices entries. |
| |
| * tta/perl/Texinfo/Indices.pm (setup_index_entries_sort_strings) |
| (_setup_sortable_index_entries, sort_indices_by_letter): cosmetic |
| changes and variable names change. |
| |
| Changes in POD and comments. |
| |
| 2026-05-05 Gavin Smith <gavinsmith0123@gmail.com> |
| |
| info: Fix infinite loop |
| |
| * info/session-cmd.c (forward_move_node_structure): |
| Replace call to info_handle_pointer to follow "Up" pointer. |
| Check Up pointer is not to a different file, to avoid going |
| all the way up to "(dir)". Also check that it does not point |
| to the current node, to avoid an infinite loop. Fall through to |
| code handling last node in the file when we can't go Up any more. |
| Remove braces and extra level of indentation. |
| |
| An infinite loop occured when the "dir" node had an Up node. |
| Report from Aidan <aidanczhai@gmail.com>. |
| |
| 2026-05-04 Gavin Smith <gavinsmith0123@gmail.com> |
| |
| * doc/texinfo.tex (@documentlanguagevariant, @documentscript): |
| Add stub implementations. |
| |
| 2026-05-03 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/C/convert/get_converter_perl_info.c (get_hv_lang_translation) |
| (copy_sv_options_for_convert_text), tta/C/main/get_perl_info.c |
| (get_lang_translation_sv), |
| tta/perl/XSTexinfo/parser_document/TranslationsXS.xs |
| (cache_translate_string): add get_hv_lang_translation and |
| get_lang_translation_sv based on copy_sv_options_for_convert_text |
| code. Use in TranslationsXS.xs cache_translate_string. |
| |
| * tta/C/api_for_swig/swig_interface.c |
| (txi_ext_get_index_sorted_by_index), tta/C/convert/converter.c |
| (get_converter_indices_sorted_by_index) |
| (get_converter_indices_sorted_by_letter), tta/C/main/document.c |
| (lang_info_sorting_locale, sorted_indices_by_index) |
| (sorted_indices_by_letter, print_document_indices_sort_strings), |
| tta/C/main/document.h (SORTING_LANG_INFO), tta/C/main/utils.c |
| (new_sorting_lang_info), tta/perl/Texinfo/Convert/ConverterNonXS.pm |
| (get_converter_indices_sorted_by_letter), tta/perl/Texinfo/Document.pm |
| (sorted_indices_by_letter, sorted_indices_by_index), |
| tta/perl/Texinfo/DocumentNonXS.pm |
| (print_document_indices_sort_strings), |
| tta/perl/XSTexinfo/convert/ConvertConverterXS.xs |
| (get_converter_indices_sorted_by_index): setup information on |
| language for sorting based COLLATION_LANGUAGE or on current lang |
| translations lang_info in a SORTING_LANG_INFO structure in |
| get_converter_indices_sorted_by_*, using new_sorting_lang_info in C. |
| Use this information in sorted_indices_by_* to determine the |
| language to use for sorting, based either on COLLATION_LANGUAGE |
| or on the main language and script from the lang_info, using |
| lang_info_sorting_locale in C. |
| |
| * tta/perl/Texinfo/Indices.pm (_setup_collator): rename $locale_lang |
| as $lang_sorting_locale. |
| |
| * tta/tests/other/Makefile.am (EXTRA_DIST), |
| tta/tests/other/index_collation_script_test.texi, |
| tta/tests/other/list-of-tests |
| (index_collation_script_test_documentlanguage_collation): add test |
| with documentscript and DOCUMENTLANGUAGE_COLLATION set. This test is |
| not final, as the order is not different with and without the |
| documentscript for the selected index entries. |
| |
| * tta/tests/other/list-of-tests: comment out tests of |
| XS_STRXFRM_COLLATION_LOCALE. |
| |
| 2026-05-03 Gavin Smith <gavinsmith0123@gmail.com> |
| |
| * doc/texinfo.texi (Internationalization, Setting the language): |
| Grammar fixes. |
| |
| 2026-05-03 Patrice Dumas <pertusus@free.fr> |
| |
| document @documentscript and @documentlanguagevariant |
| |
| * doc/texinfo.texi (Inserting Accents): add a pragraph stating that |
| accented chracters and other can in general be input as encoded |
| characters. |
| |
| * doc/texinfo.texi (Internationalization): be more precise on the |
| current status of Internationalization in Texinfo. |
| |
| * doc/texinfo.texi (Internationalization): introduce the @-commands |
| and elements of a language locale. |
| |
| * doc/texinfo.texi (Setting the language): rename |
| @code{@@documentlanguage} as "Setting the language". Document that |
| the IANA language subtag registry is used, use CC for the country code |
| and do not use a precise ISO 639 standard. |
| |
| * doc/texinfo.texi (Setting the language) |
| (Customization Variables for @@-Commands) |
| (Global Customization Variables, Command List) |
| (Internationalization of Document Strings): add |
| @documentlanguagevariant and @documentscript. |
| |
| * doc/texinfo.texi (Invoking @command{texi2any}): update description |
| of --document-language. |
| |
| 2026-05-02 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/perl/Texinfo/Convert/HTML.pm (bcp47_tag), |
| tta/perl/t/init/translated_strings_customization.pm: rename |
| bcp47_locale as bcp47_tag. |
| |
| * doc/texi2any_api.texi (Translated Strings Customization): document |
| the lang_info argument of format_translate_message and xpg_locale and |
| bcp47_tag use. |
| |
| * tta/perl/init/documentation_examples.pm, doc/texi2any_api.texi |
| (Translated Strings Customization): use a country code in language to |
| show an XPG locale name in example. |
| |
| 2026-05-02 Patrice Dumas <pertusus@free.fr> |
| |
| object-based interface for format_translate_message lang info argument |
| |
| * tta/perl/Texinfo/Translations.pm (get_lang_info_xpg_locale): rename |
| get_lang_info_xdg_locale as get_lang_info_xpg_locale. Update callers. |
| |
| * tta/perl/Texinfo/Convert/HTML.pm (Texinfo::Convert::HTML::Language) |
| (new, bcp47_locale, xpg_locale): new package turning lang_info to a |
| blessed reference, with two accessors xpg_locale and bcp47_locale. |
| |
| * tta/perl/Texinfo/Convert/HTML.pm ($unknown_lang_info) |
| (_html_cache_translate_string): call |
| Texinfo::Convert::HTML::Language::new on the lang_info argument of |
| format_translate_message. |
| |
| * tta/C/convert/call_html_perl_function.c |
| (call_formatting_function_format_translate_message): bless lang_info |
| argument of format_translate_message into the |
| Texinfo::Convert::HTML::Language class. |
| |
| * tta/perl/t/init/translated_strings_customization.pm (%translations) |
| (_texi2any_tests_format_translate_message), |
| tta/perl/t/init_files_tests.t (customize_translations): use bcp47 |
| locale name, add test of language with country code. |
| |
| 2026-05-02 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/perl/Texinfo/Translations.pm: rename translations argument as |
| translations_cache. |
| |
| 2026-05-01 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/C/convert/build_html_perl_state.c (build_html_translated_names), |
| tta/perl/Texinfo/Translations.pm (_init_lang_translation) |
| (_set_lang_info_translation, $converters_translation_cache), |
| tta/perl/Texinfo/TranslationsNonXS.pm (cache_translate_string): use |
| lang_translations array references as |
| $Texinfo::Translations::converters_translation_cache values, not |
| translated strings hash. The translated strings hash is last in the |
| lang_translations array references and now set in |
| _init_lang_translation. Preset the empty string lang_translations in |
| converters_translation_cache for the unknown language. |
| |
| 2026-05-01 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/perl/Texinfo/Translations.pm (_lang_info_bcp47_locale): rename |
| lang_info_bcp47_locale as _lang_info_bcp47_locale. |
| |
| * tta/C/main/translations.c (set_lang_info_translation), |
| tta/perl/Texinfo/Translations.pm (_set_lang_info_translation): set |
| bcp47_locale in set_lang_info_translation instead of right before in |
| callers. Update callers. |
| |
| * tta/C/main/translations.c (new_element_language_translation), |
| tta/perl/Texinfo/Translations.pm (new_element_language_translation): |
| inline new_lang_info in new_element_language_translation. Remove |
| new_lang_info. |
| |
| 2026-05-01 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/C/main/translations.c (set_translations_documentlanguage) |
| (set_translations_documentscript) |
| (set_translations_documentlanguagevariant), |
| tta/perl/Texinfo/Translations.pm (set_translations_documentlanguage) |
| (set_translations_documentscript) |
| (set_translations_documentlanguagevariant): do not check the current |
| lang translations to return it, as it can only happen if the |
| user use the same command twice, which is not supposed to happen. |
| |
| 2026-05-01 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/C/convert/convert_html.c (html_prepare_converted_output_info), |
| tta/C/convert/html_prepare_converter.c (html_setup_output), |
| tta/C/main/translations.c (reset_lang_translation_from_customization): |
| add reset_lang_translation_from_customization and use it in |
| html_prepare_converted_output_info and html_setup_output. |
| |
| 2026-05-01 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/C/main/convert_utils.c (definition_category_tree), |
| tta/perl/Texinfo/Convert/Utils.pm (definition_category_tree): remove |
| unused command_line_encoding argument. Update callers. |
| |
| 2026-05-01 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/C/convert/build_html_perl_state.c (build_html_translated_names): |
| pass a full current_lang_translations including the translated strings |
| cache hash, setup if needed. |
| |
| * tta/perl/Texinfo/TranslationsNonXS.pm (cache_translate_string): |
| update code now that lang translations always have a translation cache |
| associated. |
| |
| 2026-05-01 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/C/main/get_perl_info.c (get_lang_info_hv): get bcp47_locale from |
| Perl data. |
| |
| * tta/C/main/get_perl_info.c (set_lang_info_copy_translation): rename |
| get_lang_info_translation as set_lang_info_copy_translation. Update |
| caller. |
| |
| * tta/C/main/get_perl_info.c (new_lang_info_copy) |
| (set_lang_info_copy_translation): add new_lang_info_copy based on |
| new_copy_translation. Inline the remaining of new_copy_translation in |
| set_lang_info_copy_translation. |
| |
| * tta/perl/Texinfo/Translations.pm (_init_lang_translation) |
| (_new_lang_info): rename new_lang_info as _new_lang_info and |
| _set_lang_info_translation as _init_lang_translation. |
| |
| * tta/perl/Texinfo/Translations.pm (%parser_translation_cache): rename |
| %indices_lang_translations as %parser_translation_cache. |
| |
| * tta/perl/Texinfo/Translations.pm (complete_indices): call |
| new_element_language_translation instead of two levels caching. |
| |
| 2026-05-01 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/perl/Texinfo/Translations.pm (new_element_language_translation): |
| add a translations cache argument and call _set_lang_info_translation. |
| Update callers. |
| |
| * tta/perl/Texinfo/Translations.pm: remove new_lang_translations. |
| |
| 2026-04-30 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/C/main/translations.c (set_translations_documentscript) |
| (set_translations_documentlanguagevariant): copy lang only if it is |
| set. |
| |
| * tta/perl/Makefile.tres, tta/perl/t/languages.t |
| (documentscript_documentlanguagevariant) |
| (documentlanguagevariant_documentscript): add tests for current lang |
| translations without @documentlanguage being set. |
| |
| 2026-04-30 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/C/main/translations.c: move code around. |
| |
| 2026-04-30 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/C/main/translations.c (new_element_language_translation): add |
| lang translation cache arguments, such that they are always set by the |
| callers, call set_lang_info_translation. Update callers. |
| |
| * tta/C/parsetexi/indices.c (complete_indices): call |
| new_element_language_translation. |
| |
| * tta/C/main/translations.c: remove new_element_lang_info and |
| new_lang_translations. Make more functions static. |
| |
| * tta/C/main/translations.c (cache_translate_string): simplify now |
| that translations can only be unset if the lang_translation argument |
| is NULL. |
| |
| * tta/C/main/translations.c (unknown_lang_translations) |
| (set_output_strings_translate_method, cache_translate_string): |
| add a specific lang translation tree list for unknown language, and |
| simpler code for that case. Remove unknown_lang_info. |
| |
| 2026-04-29 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/C/convert/build_html_perl_state.c (build_html_translated_names): |
| build language_env again, reverting recent change, in case |
| cache_translate_string is not overriden. |
| |
| * tta/perl/Texinfo/TransformationsNonXS.pm |
| (complete_tree_nodes_missing_menu, regenerate_master_menu): set |
| the translation cache when calling set_preamble_language_commands. |
| |
| * tta/C/main/translations.c (cache_translate_string), |
| tta/perl/Texinfo/TranslationsNonXS.pm (cache_translate_string): move |
| code around to have all the code related to finding the translation |
| hash before the code finding the string and context in the hash. |
| Reorganize Perl code to be more like C code, to first find |
| translations hash. |
| |
| 2026-04-29 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/C/convert/build_html_perl_state.c (build_html_translated_names): |
| inline set_perl_lang_translations in build_html_translated_names and |
| remove set_perl_lang_translations. |
| |
| 2026-04-29 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/C/convert/build_html_perl_state.c (set_perl_lang_translations): |
| do not pass language_env, it is not needed as cache_translate_string |
| is overriden. |
| |
| 2026-04-29 Patrice Dumas <pertusus@free.fr> |
| |
| add const for current lang translation in argument and return |
| |
| 2026-04-29 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/C/convert/build_html_perl_state.c (set_perl_lang_translations): |
| do not pass translations at all, it is not needed as |
| cache_translate_string is overriden. |
| |
| 2026-04-29 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/C/convert/build_html_perl_state.c (set_perl_lang_translations): |
| update for the changes in Perl code, by using converters_translation_cache |
| directly. |
| |
| 2026-04-29 Patrice Dumas <pertusus@free.fr> |
| |
| gnulib update |
| |
| * tta: run "gnulib-tool --add-import". |
| |
| 2026-04-29 Patrice Dumas <pertusus@free.fr> |
| |
| revert 2026-04-22 change of bcp47.c now fixed upstream |
| |
| 2026-04-29 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/perl/Texinfo/Convert/Converter.pm (converter_perl_release) |
| (converter_set_documentlanguage, converter_set_documentscript) |
| (converter_set_documentlanguagevariant) |
| (set_converter_preamble_language_commands), |
| tta/perl/Texinfo/Convert/Text.pm (copy_options_for_convert_text): do |
| not add a 'translations' state in converters, pass directly |
| $Texinfo::Translations::converters_translation_cache argument. |
| |
| 2026-04-29 Patrice Dumas <pertusus@free.fr> |
| |
| * README-hacking: add a note to update TXI_DOCUMENT_TRANSLATED_STRINGS_NR |
| |
| * tta/C/main/translations.c (converters_translation_cache), |
| tta/C/parsetexi/indices.c (parser_translation_cache), |
| tta/perl/Texinfo/Translations.pm ($converters_translation_cache) |
| ($parser_translation_cache): rename translation_cache as |
| converters_translation_cache and |
| lang_translations_cache/lang_translations as parser_translation_cache. |
| Update users |
| |
| * tta/C/main/translations.c (get_lang_info_translation): add const. |
| |
| 2026-04-28 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/perl/Texinfo/Convert/Text.pm (copy_options_for_convert_text) |
| (convert, output): inline and remove |
| _initialize_converter_text_options_encoding and |
| _initialize_text_options_encoding. |
| |
| * tta/C/main/convert_to_text.c, tta/perl/Texinfo/Convert/Text.pm: |
| remove text_set_language, text_set_script, text_set_languagevariant, |
| set_language, set_script and set_languagevariant. |
| |
| * tta/C/convert/convert_html.c (html_prepare_converted_output_info): |
| remove language_variants unused variable code. |
| |
| * tta/perl/t/z_misc/convert_to_text.t: add a test with a |
| @documentlanguage before the translated appendix @-command. |
| |
| 2026-04-27 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/C/main/build_perl_info.c (build_lang_info): build bcp47_locale |
| field too. |
| |
| 2026-04-27 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/C/main/manipulate_tree.c (parse_node_manual): destroy node if it |
| is not registered. |
| |
| * tta/C/main/translations.c (set_translations_documentlanguage): free |
| bcp47_locale. |
| |
| 2026-04-27 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/C/main/build_perl_info.c (pass_global_info): remove unsed |
| variables. |
| |
| 2026-04-27 Patrice Dumas <pertusus@free.fr> |
| |
| Document language_commands global commands data |
| |
| 2026-04-27 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/perl/texi2any.pl: do not set main_configuration documentlanguage |
| based on document information, as it is not gathered in document |
| information anymore. It wouldn't be needed from there anyway, as |
| values set from command-line or init files are already in |
| main_configuration. |
| |
| * tta/C/parsetexi/parser.c (get_parser_info): rename get_document_info |
| as get_parser_info to have the same name as in Perl. |
| |
| Changes in comments. |
| |
| 2026-04-27 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/perl/t/test_utils.pl (test): pass documentlanguage and |
| documentscript to test_customization_options. |
| |
| * tta/perl/t/transformations.t (@tests_converted): set full_document. |
| |
| * tta/perl/Makefile.tres, tta/perl/t/transformations.t |
| (regenerate_master_menu_language_at_beginning_and_end) |
| (regenerate_master_menu_language_at_beginning_end_set_lang), |
| tta/tests/formatting/no_detailmenu_lang_at_begin_end.texi, |
| tta/tests/formatting/Makefile.am (EXTRA_DIST), |
| tta/tests/formatting/list-of-tests (no_detailmenu_lang_at_begin_end) |
| (no_detailmenu_lang_at_begin_end_set_lang): add tests of |
| regenerate_master_menu tree transformations and documentlanguage at |
| beginning and end of Texinfo file, and setting documentlanguage. |
| |
| |
| 2026-04-27 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/C/convert/converter.c |
| (set_converter_preamble_language_commands), |
| tta/perl/Texinfo/Convert/Converter.pm |
| (set_converter_preamble_language_commands): reset configuration |
| variables to begin values in set_converter_preamble_language_commands. |
| Update callers. |
| |
| * tta/C/main/translations.c (set_preamble_language_commands), |
| tta/perl/Texinfo/Translations.pm (set_preamble_language_commands): |
| start from a NULL lang_translations, remove the corresponding |
| argument. Update callers. |
| |
| * tta/C/convert/build_html_perl_state.c (set_perl_lang_translations): |
| rename set_perl_translations_documentlanguage as |
| set_perl_lang_translations. |
| |
| * tta/C/convert/build_html_perl_state.c (build_html_translated_names): |
| remove code setting documentlanguage for Text converter, as it is not |
| used. |
| |
| 2026-04-26 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/C/main/build_perl_info.c (pass_global_info): do not register |
| language related commands information directly in global_info. |
| |
| 2026-04-26 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/C/main/manipulate_tree.c (copy_tree_internal), |
| tta/perl/Texinfo/ManipulateTree.pm (_copy_tree): do not add a parent |
| to the copied element if the source element does not have a parent. |
| |
| * tta/perl/Texinfo/Translations.pm (gdt): use |
| Texinfo::ManipulateTree::copy_element_tree to copy tree, and not |
| dclone, to get the same detailed tree as in C. |
| |
| * tta/perl/Texinfo/Translations.pm (_set_lang_info_translation): |
| handle an undef $translations. |
| |
| * tta/C/structuring_transfo/transformations.c |
| (complete_tree_nodes_missing_menu, regenerate_master_menu), |
| tta/perl/Texinfo/TransformationsNonXS.pm |
| (complete_tree_nodes_missing_menu, regenerate_master_menu): create |
| lang_translation by calling set_preamble_language_commands. |
| |
| * tta/perl/Texinfo/ParserNonXS.pm (get_parser_info): do not register |
| language related commands information directly in global_info. |
| |
| 2026-04-26 Patrice Dumas <pertusus@free.fr> |
| |
| for DocBook, take into account resetting by @documentlanguage in preamble |
| |
| * tta/perl/Texinfo/Convert/DocBook.pm (conversion_output_begin): call |
| set_converter_preamble_language_commands to determine the bcp47_locale |
| at the end of the preamble. |
| |
| 2026-04-26 Patrice Dumas <pertusus@free.fr> |
| |
| for HTML, take into account resetting by @documentlanguage in preamble |
| |
| * tta/C/convert/convert_html.c (html_translate_names) |
| (html_convert_tree_append), tta/perl/Texinfo/Convert/HTML.pm |
| (_convert), tta/perl/Texinfo/Convert/HTMLNonXS.pm (_translate_names), |
| tta/perl/XSTexinfo/convert/ConvertHTMLXS.xs (_translate_names): do not |
| set current_lang_translations converter in *_translate_names, set it |
| before calling *_translate_names, for instance in |
| html_convert_tree_append. Remove language_variants *_translate_names |
| argument, update callers. |
| |
| * tta/perl/Texinfo/Common.pm (in_preamble), tta/C/main/utils.c |
| (in_preamble): rename _in_preamble as in_preamble in Perl. Make |
| function extern in C and add const. |
| |
| * tta/C/main/command_data.awk, tta/C/parsetexi/end_line.c |
| (end_line_misc_line), tta/C/main/build_perl_info.c |
| (build_global_commands), tta/C/main/utils.c (delete_global_commands), |
| tta/perl/Texinfo/ParserNonXS.pm (_end_line_misc_line): add new elements |
| list in global_commands with all the language related commands in the |
| order they appear in in the document. This allows to get the commands |
| in order to take into acount that @documentlanguage resets |
| @documentscript and @documentlanguagevariant. |
| |
| * tta/C/main/document_types.h (PREAMBLE_LANG_CMD) |
| (PREAMBLE_LANG_CMD_LIST, GLOBAL_INFO), tta/C/main/utils.c |
| (delete_global_info), tta/C/parsetexi/parser.c (add_preamble_lang_cmd), |
| (get_document_info, parse_texi_document), tta/C/main/build_perl_info.c |
| (pass_global_info), tta/perl/Texinfo/ParserNonXS.pm (get_parser_info): |
| new global info field, preamble_lang_cmd with add textual information |
| on lang related commands appearing in preamble in the order the appear |
| in the preamble, and only if the values are not already set from |
| command-line. |
| |
| * tta/C/convert/converter.c |
| (set_converter_preamble_language_commands), tta/C/main/translations.c |
| (set_preamble_language_commands), tta/C/main/convert_to_text.c |
| (copy_options_for_convert_text), tta/perl/Texinfo/Convert/Converter.pm |
| (set_converter_preamble_language_commands), |
| tta/perl/Texinfo/Translations.pm (set_preamble_language_commands), |
| tta/perl/Texinfo/Convert/Text.pm (copy_options_for_convert_text): add |
| to set current_lang_translations based on global info |
| preamble_lang_cmd. Use in copy_options_for_convert_text. |
| |
| * tta/C/convert/convert_html.c (html_prepare_converted_output_info), |
| tta/C/convert/html_prepare_converter.c (html_setup_output), |
| tta/perl/Texinfo/Convert/HTMLNonXS.pm (_prepare_converted_output_info) |
| (_setup_output): call set_converter_preamble_language_commands to set |
| current_lang_translations to the end of the preamble values. Reset |
| afterwards. |
| |
| * tta/perl/t/languages.t (documentscript_variant_reset_in_preamble), |
| tta/perl/Makefile.tres: add a test with @documentscript and |
| @documentlanguagevariant reset by @documentlanguge in preamble. |
| |
| 2026-04-24 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/perl/t/languages.t (unknown_documentscript_selection) |
| (documentlanguagevariant_selection): add more testing to have some |
| combinations now that documentlanguage unset the other language |
| commands. |
| |
| 2026-04-24 Patrice Dumas <pertusus@free.fr> |
| |
| documentlanguage resets documentscript and variants in conversion |
| |
| * tta/C/main/translations.c (set_translations_documentlanguage), |
| tta/perl/Texinfo/Translations.pm (set_translations_documentlanguage): |
| reset script and language variants. |
| |
| * tta/perl/Texinfo/Convert/Text.pm (copy_options_for_convert_text): |
| call set_translations_documentlanguage first to avoid resetting the |
| other commands values. |
| |
| 2026-04-24 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/perl/Texinfo/Translations.pm (%indices_lang_translations) |
| (complete_indices): collect a lang_info only from the definition |
| element, and cache the corresponding lang_translations. Separate the |
| current_lang_translations and the element lang_translations such that |
| the element lang_translations can be undef independently of the |
| current_lang_translations. |
| |
| * tta/C/main/translations.c (new_element_lang_info) |
| (new_element_language_translation), tta/perl/Texinfo/Translations.pm |
| (new_element_language_translation): return undef/NULL immediately |
| if documentlanguage is not present. |
| |
| 2026-04-24 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/perl/Texinfo/Convert/Converter.pm |
| (converter_set_documentlanguage, converter_set_documentscript) |
| (converter_set_documentlanguagevariant), |
| tta/perl/Texinfo/Convert/Text.pm (set_language, set_script) |
| (set_languagevariant): do not register undef as |
| current_lang_translations. |
| |
| * tta/perl/Texinfo/Translations.pm (new_lang_translations): return |
| directly undef if $lang_info is undef. |
| |
| * tta/perl/Texinfo/Convert/HTML.pm (_html_cache_translate_string): use |
| a file scoped $unknown_lang_info when lang_translation is undef. |
| |
| * tta/perl/Texinfo/Translations.pm (lang_info_bcp47_locale): add. |
| |
| * tta/perl/Texinfo/Translations.pm (new_lang_info) |
| (set_translations_documentlanguage, set_translations_documentscript) |
| (set_translations_documentlanguagevariant): always set 'bcp47_locale' |
| when creating a lang translations. Remove get_lang_info_bcp47_locale. |
| Update get_lang_info_bcp47_locale callers. |
| |
| 2026-04-24 Patrice Dumas <pertusus@free.fr> |
| |
| documentlanguage resets documentscript and variants in parsers |
| |
| * tta/C/parsetexi/end_line.c (end_line_misc_line), |
| tta/perl/Texinfo/ParserNonXS.pm (_end_line_misc_line): reset |
| documentscript and documentlanguagevariant states when encountering |
| documentlanguage. |
| |
| 2026-04-24 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/C/main/build_perl_info.c (pass_global_info): pass |
| documentlanguagevariant from the end of the preamble. |
| |
| * tta/C/main/utils.c (documentlanguagevariant_variants): change a |
| variable name. |
| |
| 2026-04-26 Gavin Smith <gavinsmith0123@gmail.com> |
| |
| Index sort key output for UTF-8 |
| |
| * doc/texinfo.tex (\unicodechardefs): |
| Use \DeclareUnicodeCharacterSK instead of \DeclareUnicodeCharacter |
| for several characters in the Latin-1 block (U+00A0-U+OOFF). |
| |
| 2026-04-26 Gavin Smith <gavinsmith0123@gmail.com> |
| |
| Index sort key output for UTF-8 |
| |
| * doc/texinfo.tex (\DeclareUnicodeCharacterSK): Add definition |
| to be used in place of \DeclareUnicodeCharacter to allow defining |
| sort string for index sort key along with the main definition for |
| the character. |
| |
| 2026-04-26 Gavin Smith <gavinsmith0123@gmail.com> |
| |
| Index sort key output for UTF-8 |
| |
| * doc/texinfo.tex |
| (\ifinindexsortkey): Define with \newif. |
| (\doindexsegment): Set \inindexsortkeytrue when processing index |
| sort key. |
| (\UTFviiiSortkeyTwo, \UTFviiiSortkeyThree, \UTFviiiSortkeyFour): |
| Special definitions for UTF-8 sequences inside UTF-8 sequences. |
| By default, output the sequences as they are within a pair of |
| curly brackets. Check for special sort key definition and |
| use that instead if available. |
| (\DefineSortKey): Add macro to define special sort key for |
| Unicode codepoint. Do not actually use it anywhere yet. |
| (\DeclareUnicodeCharacterNative): Handle \ifinindexsortkey similarly |
| for luatex and xetex. |
| (\DeclareUnicodeCharacterUTFviii): Correct a comment. |
| |
| There would be errors with texindex output with a UTF-8-encoded |
| Texinfo file under a non-UTF-8 locale, or with an awk program |
| that didn't pay attention to the locale encoding. |
| |
| Report from Vincent Belaïche, March 2026, and Werner Lemberg, |
| November 2022. |
| |
| 2026-04-23 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/C/convert/get_converter_perl_info.c |
| (copy_sv_options_for_convert_text), tta/C/main/get_perl_info.c |
| (get_lang_info_hv), |
| tta/perl/XSTexinfo/parser_document/TranslationsXS.xs |
| (cache_translate_string): allocate lang info in get_lang_info_hv. |
| |
| * tta/C/main/translations.c (lang_info_bcp47_locale): add. |
| |
| * tta/C/main/get_perl_info.c (get_lang_info_hv), |
| tta/C/main/translations.c (new_lang_info, new_copy_translation) |
| (set_translations_documentlanguage, set_translations_documentscript) |
| (set_translations_documentlanguagevariant): always set bcp47_locale |
| when creating a lang info. Remove get_lang_info_bcp47_locale. Update |
| get_lang_info_bcp47_locale callers to access directly bcp47_locale. |
| The bcp47_locale is always needed soon after the creation and it |
| simplifies the code. |
| |
| * tta/C/parsetexi/indices.c (complete_indices): rename |
| current_lang_translations variable as element_lang_translations. |
| |
| 2026-04-23 Patrice Dumas <pertusus@free.fr> |
| |
| use documentlanguagevariant in HTML, DocBook and LaTeX conversion |
| |
| * tta/C/main/utils.c (documentlanguagevariant_variants): add. |
| |
| * tta/C/convert/convert_html.c (html_translate_names) |
| (html_prepare_converted_output_info, html_convert_tree_append), |
| tta/C/convert/format_html.c |
| (html_convert_documentlanguagevariant_command), |
| tta/C/convert/html_prepare_converter.c |
| (commands_internal_conversion_table), tta/perl/Texinfo/Convert/HTML.pm |
| (_convert_documentlanguagevariant_command, _convert), |
| tta/perl/Texinfo/Convert/HTMLNonXS.pm (_translate_names) |
| (_prepare_converted_output_info), |
| tta/perl/XSTexinfo/convert/ConvertHTMLXS.xs (_translate_names): add |
| language_variants argument to *_translate_names. Set variants based |
| on documentlanguagevariant and value at the end of the preamble and |
| pass to translate_names. Update *_translate_names callers. |
| |
| * tta/C/convert/html_prepare_converter.c (html_setup_output), |
| tta/perl/Texinfo/Convert/HTMLNonXS.pm (_setup_output): handle |
| documentlanguagevariant for BODY_ELEMENT_ATTRIBUTES lang attribute. |
| |
| * tta/perl/Texinfo/Convert/DocBook.pm (%docbook_global_commands) |
| (conversion_output_begin, _convert): handle documentlanguagevariant. |
| |
| * tta/perl/Texinfo/Convert/LaTeX.pm (%LaTeX_formatted_line_commands) |
| (%LaTeX_formatted_nobrace_commands): rename %formatted_line_commands |
| as %LaTeX_formatted_line_commands and %formatted_nobrace_commands as |
| %LaTeX_formatted_nobrace_commands. |
| |
| * tta/perl/Texinfo/Convert/LaTeX.pm (%LaTeX_formatted_line_commands) |
| (_convert): handle documentlanguagevariant. |
| |
| 2026-04-23 Patrice Dumas <pertusus@free.fr> |
| |
| use documentlanguagevariant in Plaintext and in Text with converter |
| |
| * tta/C/main/utils.c (join_strings_list): add const. |
| |
| * tta/C/main/convert_to_text.c (copy_options_for_convert_text) |
| (text_set_languagevariant), tta/C/main/translations.c |
| (set_translations_documentlanguagevariant), |
| tta/perl/Texinfo/Convert/Converter.pm (converter_set_documentscript), |
| tta/perl/Texinfo/Convert/Text.pm (copy_options_for_convert_text) |
| (set_languagevariant), tta/perl/Texinfo/Translations.pm |
| (set_translations_documentlanguagevariant): handle |
| documentlanguagevariant with set_translations_documentlanguagevariant, |
| converter_set_documentscript and text_set_languagevariant. Add |
| document argument to copy_options_for_convert_text and update callers. |
| Use global_information for documentlanguage and documentscript in Perl |
| copy_options_for_convert_text. |
| |
| * tta/perl/Texinfo/Convert/Plaintext.pm (%formatted_line_commands) |
| (_convert): set current lang translation based on |
| documentlanguagevariant. |
| |
| * tta/C/main/translations.c (new_copy_translation): inline |
| copy_lang_info in new_copy_translation. |
| |
| * tta/C/main/translations.c (set_translations_documentscript): set to |
| 0 before copying. |
| |
| * po_document/qaa.po, po_document/qaa@1234.po, |
| po_document/qaa@latin.po, tta/perl/t/z_misc/convert_to_text.t |
| (@tests_specs, run_test): add a function to generalize running tests |
| and tests specifications that also test documentscript and |
| documentlanguagevariant. Call parse_texi_text instead of |
| parse_texi_piece and let the generic code set documentlanguage and |
| documentscript. |
| |
| 2026-04-22 Patrice Dumas <pertusus@free.fr> |
| |
| use documentlanguagevariant in completed def alias translations |
| |
| * tta/C/main/translations.c (init_lang_translation): use both the XPG |
| full locale and the lang part if they are different. |
| |
| * tta/C/main/translations.c (new_lang_info), tta/C/main/translations.c |
| (new_element_lang_info, new_element_language_translation), |
| tta/perl/Texinfo/Translations.pm (new_lang_info) |
| (new_element_language_translation): get documentlanguagevariant from |
| element and put variants in lang info. |
| |
| * tta/perl/Makefile.tres, tta/perl/t/languages.t |
| (documentlanguagevariant_conversion): add test of |
| @documentlanguagevariant for conversion. |
| |
| 2026-04-22 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/gnulib/lib/bcp47.c (bcp47_to_xpg): do not consider a subtag with |
| numbers to possibly be a script subtag. Local fix reported upstream: |
| https://lists.gnu.org/archive/html/bug-gnulib/2026-04/msg00154.html |
| |
| 2026-04-22 Patrice Dumas <pertusus@free.fr> |
| |
| * po_document/LINGUAS, po_document/Makevars (UNDESIRED_LINGUAS), |
| po_document/qaa@1234.po: rename qaa@123.po as qaa@1234.po and update |
| translations. A variant with numbers must be at least 4 characters |
| long. |
| |
| 2026-04-22 Patrice Dumas <pertusus@free.fr> |
| |
| Set documentlanguagevariant in extra for translations and global info |
| |
| * tta/C/main/utils.c (analyze_documentlanguagevariant_argument_e), |
| tta/C/parsetexi/end_line.c (end_line_misc_line), |
| tta/perl/Texinfo/Common.pm |
| (_analyze_documentlanguagevariant_argument_e) |
| (warn_documentlanguagevariant_arguments) |
| (documentlanguagevariant_variants), tta/perl/Texinfo/ParserNonXS.pm |
| (_end_line_misc_line) (@translation_commands), : add |
| analyze_documentlanguagevariant_argument_e. Add warnings on malformed |
| or unknown documentlanguagevariant arguments. |
| |
| * tta/C/main/tree_types.h (AI_KEYS_LIST), tta/C/parsetexi/def.c |
| (parse_def), tta/C/parsetexi/end_line.c (end_line_def_line), |
| tta/perl/Texinfo/ManipulateTree.pm (_print_element_associated_info), |
| tta/perl/Texinfo/ParserNonXS.pm (@translation_commands): add extra |
| documentlanguagevariant and pass it to def elements to translate. |
| |
| * tta/C/main/build_perl_info.c (pass_global_info), |
| tta/C/main/document_types.h (GLOBAL_INFO), tta/C/main/utils.c |
| (delete_global_info), tta/C/parsetexi/end_line.c (end_line_misc_line), |
| tta/perl/Texinfo/ParserNonXS.pm (get_parser_info): pass |
| documentlanguagevariant to global info. |
| |
| * tta/perl/Makefile.tres, tta/perl/t/08misc_commands.t |
| (documentlanguagevariant_validity), tta/perl/t/languages.t |
| (documentlanguagevariant_selection): add tests for malformed |
| documentlanguagevariant arguments, and to see extra being set. |
| |
| 2026-04-22 Patrice Dumas <pertusus@free.fr> |
| |
| * po_document/qaa@123.po: add pseudo-translations that make clear |
| which file they come from. |
| |
| 2026-04-21 Patrice Dumas <pertusus@free.fr> |
| |
| Use documentscript in conversion |
| |
| * tta/C/main/utils.c (analyze_documentscript_argument): handle NULL |
| text. |
| |
| * tta/perl/Texinfo/Translations.pm (get_lang_info_xdg_locale): fix |
| typo in module name. |
| |
| * tta/perl/Texinfo/Translations.pm |
| (set_translations_documentlanguage): return current_lang_translations |
| if the documentlanguage is bogus. |
| |
| * tta/C/convert/build_html_perl_state.c |
| (set_perl_translations_documentlanguage), |
| tta/C/convert/get_converter_perl_info.c |
| (copy_sv_options_for_convert_text): use converter |
| current_lang_translations to build the lang info Perl information |
| through a call to build_lang_info. |
| |
| * tta/C/main/translations.c (new_lang_info, new_element_lang_info) |
| (new_lang_translations, new_element_language_translation) |
| (set_translations_documentlanguage), tta/C/main/tree_types.h |
| (LANG_TRANSLATION), tta/perl/Texinfo/Translations.pm (new_lang_info) |
| (new_lang_translations, new_element_language_translation), |
| tta/perl/XSTexinfo/parser_document/TranslationsXS.xs |
| (cache_translate_string): add new_lang_info and new_element_lang_info, |
| new_lang_translations and new_element_language_translation. Use a |
| pointer for DOCUMENT_LANG_INFO info in LANG_TRANSLATION. Update |
| set_translations_documentlanguage and other users. Remove |
| new_documentlanguage_translation, get_documentlanguage_translation and |
| fill_document_lang_info. |
| |
| * tta/C/main/translations.c (destroy_document_lang_info): replace |
| free_document_lang_info by destroy_document_lang_info and free the |
| lang_info too. |
| |
| * tta/C/main/translations.c (set_translations_documentscript), |
| tta/perl/Texinfo/Translations.pm (set_translations_documentscript): |
| add. |
| |
| * tta/C/main/build_perl_info.c (build_convert_text_options), |
| tta/C/main/convert_to_text.c (destroy_text_options) |
| (copy_options_for_convert_text, text_set_language, text_set_script) |
| tta/C/main/convert_to_text.h (TEXT_OPTIONS), |
| tta/perl/Texinfo/Convert/Text.pm (copy_options_for_convert_text) |
| (set_script): remove documentlanguage from text options, instead set |
| current_lang_translations based on documentlanguage and documentscript |
| options values. Add text_set_script and set_script. |
| |
| * tta/C/convert/converter.c (set_converter_init_information), |
| tta/perl/Texinfo/Convert/Converter.pm (converter_set_documentscript), |
| tta/perl/Texinfo/Convert/ConverterNonXS.pm (_generic_converter_init): |
| pass documentscript. Add converter_set_documentscript. |
| |
| * tta/C/convert/convert_html.c (html_prepare_converted_output_info), |
| tta/perl/Texinfo/Convert/HTMLNonXS.pm |
| (_prepare_converted_output_info): use current_lang_translations to get |
| bcp47_locale and set documentlanguage and documentscript in |
| html_prepare_converted_output_info. |
| |
| * tta/C/parsetexi/indices.c (complete_indices), |
| tta/perl/Texinfo/Translations.pm (complete_indices): use |
| new_element_lang_info and set_lang_info_translation in |
| complete_indices in C and new_element_language_translation in Perl. |
| |
| * tta/C/structuring_transfo/transformations.c |
| (complete_tree_nodes_missing_menu, regenerate_master_menu), |
| tta/perl/Texinfo/TransformationsNonXS.pm |
| (complete_tree_nodes_missing_menu, regenerate_master_menu): setup |
| lang_translation with a call to new_lang_translations. |
| |
| * tta/C/convert/convert_html.c (html_translate_names) |
| (conf_for_documentlanguage, html_convert_tree_append), |
| tta/C/convert/html_prepare_converter.c (informative_global_commands) |
| (conf_for_documentlanguage, commands_internal_conversion_table), |
| tta/perl/Texinfo/Convert/HTML.pm (@informative_global_commands) |
| (_convert), tta/perl/Texinfo/Convert/HTMLNonXS.pm (_translate_names): |
| in html_translate_names, call text_set_script and |
| set_translations_documentscript based on documentscript option. Get |
| documentscript value during conversion, and call html_translate_names |
| for documentscript too. |
| |
| * tta/perl/Texinfo/Convert/DocBook.pm (%docbook_global_commands) |
| (conversion_output_begin, _convert), tta/perl/Texinfo/Convert/LaTeX.pm |
| (_informative_command_output, _latex_begin_output), |
| tta/perl/Texinfo/Convert/Plaintext.pm (@informative_global_commands) |
| (_convert): handle documentscript. |
| |
| * tta/C/main/convert_to_text.c (convert_to_text_internal), |
| tta/C/main/convert_utils.c (definition_category_tree), |
| tta/perl/Texinfo/Convert/Text.pm (_convert), |
| tta/perl/Texinfo/Convert/Utils.pm (definition_category_tree): use |
| new_element_language_translation to set lang translations for category |
| text when there is no converter. |
| |
| * tta/C/convert/html_prepare_converter.c (html_setup_output), |
| tta/perl/Texinfo/Convert/HTMLNonXS.pm (_setup_output): use |
| new_lang_info with configuration options to determine the body lang |
| attribute. |
| |
| * tta/perl/t/languages.t (documentscript_conversion), |
| tta/perl/Makefile.tres: add test for documentscript in conversions. |
| |
| * tta/perl/t/z_misc/do_master_menu.t: simply pass undef for |
| lang_translation. |
| |
| 2026-04-20 Patrice Dumas <pertusus@free.fr> |
| |
| * po_document/qaa.po po_document/qaa@latin.po: add pseudo-translations |
| that make clear which file they come from. |
| |
| 2026-04-20 Patrice Dumas <pertusus@free.fr> |
| |
| Setup po files with private use language for script and variant tests |
| |
| * README-hacking, po_document/LINGUAS, po_document/Makevars |
| (UNDESIRED_LINGUAS, INST_LINGUAS, CATALOGS), po_document/qaa.po, |
| po_document/qaa@123.po, po_document/qaa@latin.po: add po files solely |
| used for in-build tests. Reset CATALOGS in Makevars excluding these |
| po files such that they are not installed. Use qaa language for these |
| files, which is in a range with "Private use" Description in |
| language-subtag-registry. |
| |
| 2026-04-20 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/C/main/tree_types.h (enum extra_type): rename extra_misc_args as |
| extra_string_list. Update users. |
| |
| * tta/C/main/extra.c (add_extra_string_list) |
| (lookup_extra_string_list): rename lookup_extra_misc_args as |
| lookup_extra_string_list and add_extra_misc_args as |
| add_extra_string_list. Update callers. |
| |
| * tta/C/main/tree_types.h (AI_KEYS_LIST), tta/C/parsetexi/macro.c |
| (parse_macro_command_line, lookup_macro_parameter) |
| (expand_macro_arguments, expand_linemacro_arguments, handle_macro), |
| tta/perl/Texinfo/Example/TexinfoMarkup.pm (_convert), |
| tta/perl/Texinfo/ManipulateTree.pm (_print_element_associated_info), |
| tta/perl/Texinfo/ParserNonXS.pm (_parse_macro_command_line) |
| (_expand_macro_arguments, _expand_linemacro_arguments) |
| (_handle_macro): add formal_args extra_string_list extra element for |
| macro formal arguments list and use it. |
| |
| * tta/C/api_for_swig/swig_interface.c (txi_ext_element_formal_args), |
| tta/swig/texinfo.i (element_formal_args): add. |
| |
| 2026-04-19 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/C/convert/html_converter_finish.c (html_free_converter): clear |
| units_direction_names_index (found with valgrind). |
| |
| 2026-04-19 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/C/main/build_perl_info.c: move code around. |
| |
| 2026-04-19 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/C/main/build_perl_info.c (build_key_pair_info), |
| tta/C/tree_elements/build_perl_tree_elements.c |
| (build_element_attribute): replace build_extra_misc_args by a call to |
| build_string_list. Remove build_extra_misc_args. |
| |
| 2026-04-19 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/perl/t/languages.t (invalid_documentlanguage) |
| (documentlanguage_selection_accented_region) |
| (documentlanguage_selection_region_unicode): do not set |
| COMMAND_LINE_ENCODING as documentlanguage argument is not encoded |
| anymore. |
| |
| 2026-04-19 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/C/parsetexi/end_line.c (end_line_misc_line), |
| tta/perl/Texinfo/ParserNonXS.pm (_end_line_misc_line): do not set |
| documentscript state if it is an empty string. |
| |
| * tta/perl/Makefile.tres, tta/perl/t/languages.t |
| (documentscript_selection, documentscript_before_documentlanguage) |
| (unknown_documentscript_selection): add tests of documentscript |
| being set in translated elements extra. |
| |
| 2026-04-19 Patrice Dumas <pertusus@free.fr> |
| |
| Set documentscript extra on translated elements |
| |
| * tta/C/main/utils.c (analyze_documentscript_argument): rename |
| analyse_documentscript_argument as analyze_documentscript_argument. |
| Add valid_script argument. Fix one-off NUL. |
| |
| * tta/C/parsetexi/parser.c (text_contents_to_plain_text): return an |
| empty string, never return NULL. Update callers. |
| |
| * tta/C/main/parser_conf.h (PARSER_CONF), tta/C/parsetexi/api.c |
| (initialize_parsing), tta/C/parsetexi/conf.c |
| (parser_conf_set_documentscript), tta/C/parsetexi/parser.c |
| (global_documentscript), tta/C/parsetexi/end_line.c |
| (end_line_def_line), tta/perl/Texinfo/Common.pm |
| (analyze_documentscript_argument), tta/perl/Texinfo/ParserNonXS.pm |
| (@translation_commands, get_parser_info, _initialize_parsing) |
| (_end_line_misc_line), tta/perl/Texinfo/ParserXS.pm (parser), |
| tta/perl/XSTexinfo/parser_document/ParserXS.xs |
| (parser_conf_set_documentscript), tta/C/convert/texinfo.c |
| (txi_parser), tta/C/main/build_perl_info.c (pass_global_info), |
| tta/perl/texi2any.pl, tta/C/main/document.c (set_document_options): |
| pass documentscript from command line. Analyze documentscript |
| argument and warn if needed. Set documentscript in parser state. |
| |
| * tta/C/parsetexi/def.c (parse_def), tta/C/main/tree_types.h |
| (AI_KEYS_LIST), tta/C/parsetexi/end_line.c (end_line_def_line), |
| tta/perl/Texinfo/ParserNonXS.pm (_parse_def, _end_line_def_line): |
| put documenscript in extra for elements needing to be translated. |
| |
| * tta/C/api_for_swig/swig_parser_api.c |
| (txi_ext_parser_conf_set_documentscript), tta/swig/texinfo.i |
| (parser_conf_set_documentscript): add. |
| |
| * tta/perl/t/08misc_commands.t (documentscript_argument), |
| tta/perl/Makefile.tres: add @documentscript arguments test. |
| |
| 2026-04-19 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/perl/Texinfo/Convert/Converter.pm |
| (converter_set_documentlanguage), tta/perl/Texinfo/Convert/Text.pm |
| (set_language), tta/perl/Texinfo/Convert/Utils.pm, |
| tta/perl/Texinfo/Translations.pm (_set_lang_info_translation) |
| (set_translations_documentlanguage): move _set_lang_info_translation |
| and set_translations_documentlanguage, have |
| set_translations_documentlanguage return the new current translations, |
| pass translations hashes and current translations in argument. Add |
| converter_set_documentlanguage wrapper and use Text.pm set_language |
| as wrapper. Update callers to call the wrappers. For a more logical |
| separation of code and to be more like C. |
| |
| * tta/perl/Texinfo/Translations.pm (_new_lang_info_translation): |
| rename new_lang_info_translation as _new_lang_info_translation. |
| |
| 2026-04-19 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/C/main/translations.c (set_translations_documentlanguage), |
| tta/perl/Texinfo/Convert/Utils.pm (set_translations_documentlanguage), |
| tta/C/convert/build_html_perl_state.c |
| (set_perl_translations_documentlanguage): rename |
| switch_lang_translations as set_translations_documentlanguage and |
| switch_perl_lang_translations as |
| set_perl_translations_documentlanguage. |
| |
| 2026-04-19 Patrice Dumas <pertusus@free.fr> |
| |
| Merge new documentlanguage with current lang translations |
| |
| * tta/perl/Texinfo/Translations.pm (new_lang_info_translation): |
| split out of new_documentlanguage_translation. |
| |
| * tta/C/main/translations.c (switch_lang_translations), |
| tta/perl/Texinfo/Convert/Utils.pm (switch_lang_translations) |
| (_switch_lang_info_translations): compare lang and region to |
| current_lang_translations. Merge current_lang_translations lang_info |
| with new documentlanguage information. add _set_lang_info_translation |
| in Perl. |
| |
| * tta/C/structuring_transfo/structuring.c (new_complete_node_menu): |
| allow NULL lang_translations. |
| |
| * tta/perl/Texinfo/Common.pm (analyze_documentlanguage_argument): |
| allow undef argument. |
| |
| * tta/C/main/translations.c (set_lang_info_translation): inline and |
| remove new_set_translation. Rename info as lang_info. |
| |
| 2026-04-18 Patrice Dumas <pertusus@free.fr> |
| |
| Add data fields for language scripts and variants |
| |
| * tta/C/convert/build_html_perl_state.c |
| (switch_perl_lang_translations), |
| tta/C/convert/call_html_perl_function.c |
| (call_formatting_function_format_translate_message), |
| tta/C/main/build_perl_info.c (build_lang_info): add build_lang_info. |
| |
| * tta/C/main/translations.c (free_document_lang_info): rename |
| clear_document_lang_info as free_document_lang_info. Update callers. |
| |
| * tta/C/main/translations.c (copy_lang_info, new_copy_translation): |
| add copy_lang_info, based on new_copy_translation. |
| |
| * tta/C/convert/build_html_perl_state.c |
| (switch_perl_lang_translations), |
| tta/C/convert/call_html_perl_function.c |
| (call_formatting_function_format_translate_message), |
| tta/C/convert/convert_html.c (unknown_lang_info), |
| tta/C/convert/html_prepare_converter.c (html_setup_output), |
| tta/C/main/build_perl_info.c (build_lang_info), |
| tta/C/main/get_perl_info.c (get_lang_info_hv), |
| tta/C/main/translations.c (get_lang_info_bcp47_locale) |
| (fill_document_lang_info, free_document_lang_info) |
| (init_lang_translation, new_documentlanguage_translation) |
| (new_set_translation, copy_lang_info, new_copy_translation) |
| (find_lang_translation, set_lang_info_translation) |
| (get_lang_info_translation, switch_lang_translations) |
| (unknown_lang_info), tta/C/main/tree_types.h (DOCUMENT_LANG_INFO), |
| tta/perl/Texinfo/Convert/Converter.pm (current_bcp47_locale), |
| tta/perl/Texinfo/Convert/HTML.pm (_html_cache_translate_string), |
| tta/perl/Texinfo/Convert/HTMLNonXS.pm (_setup_output), |
| tta/perl/Texinfo/Convert/Utils.pm (switch_lang_translations), |
| tta/perl/Texinfo/Translations.pm (get_lang_info_xdg_locale), |
| (get_lang_info_bcp47_locale, fill_document_lang_info) |
| (new_documentlanguage_translation, complete_indices), |
| tta/perl/Texinfo/TranslationsNonXS.pm (cache_translate_string), |
| tta/perl/XSTexinfo/parser_document/TranslationsXS.xs |
| (cache_translate_string): use a hash for lang_info in Perl. Add |
| script and variants to lang info data structures. Add |
| get_lang_info_bcp47_locale in C. Do not set immediately bcp47_locale, |
| set when needed by calling get_lang_info_bcp47_locale. Initialize |
| lang info to 0. Because get_lang_info_bcp47_locale modifies the data, |
| remove const for most LANG_TRANSLATION. Add get_lang_info_hv. Modify |
| get_lang_info_xdg_locale and get_lang_info_bcp47_locale to prepare for |
| having script and variants set in lang info. |
| |
| * tta/C/parsetexi/indices.c: reindent. |
| |
| 2026-04-18 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/maintain/regenerate_documentlanguages-iana.pl: add |
| %documentscript_XPG_script to associated ISO script name to name |
| usable for XPG locales. |
| |
| 2026-04-18 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/data/options_data.txt (documentscript): add documentscript. |
| |
| 2026-04-18 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/C/main/utils.c (join_strings_list): add delimiter argument. |
| Update callers. |
| |
| * tta/C/main/utils.c (analyse_documentscript_argument): add. |
| |
| * tta/C/main/utils.h (TXI_DOCUMENT_SCRIPT): add typedef. |
| |
| 2026-04-18 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/perl/t/init/translate_txiinternalvalue_macro.init: change |
| beginning of function, use exists instead of defined. |
| |
| 2026-04-17 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/C/Makefile.am (C_libtexinfo_sources), |
| tta/maintain/regenerate_documentlanguages-iana.pl: get language |
| variants. |
| |
| 2026-04-17 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/C/main/utils.h (TXI_DOCUMENT_SCRIPT), |
| tta/maintain/regenerate_documentlanguages-iana.pl: add aliases for |
| script names to be able to specify scripts usually part of XPG locale |
| @variant. |
| |
| 2026-04-16 Patrice Dumas <pertusus@free.fr> |
| |
| @documentlanguagevariant and @documentscript in texi2any tree |
| |
| * tta/C/parsetexi/end_line.c (end_line_misc_line), |
| tta/C/parsetexi/handle_commands.c (handle_line_command), |
| tta/perl/Texinfo/ParserNonXS.pm (_end_line_misc_line) |
| (_handle_line_command): handle variadic line command. Use the same |
| condition to remove remaining_args for line commands as for adding it. |
| |
| * tta/C/parsetexi/end_line.c (end_line_misc_line), |
| tta/data/command_data.txt (documentscript, documentlanguagevariant), |
| tta/perl/Texinfo/ParserNonXS.pm (_end_line_misc_line): |
| add @documentlanguagevariant and @documentscript. |
| |
| * tta/perl/t/08misc_commands.t (documentlanguagevariant_arguments), |
| tta/perl/Makefile.tres: add test of @documentlanguagevariant. |
| |
| 2026-04-19 Gavin Smith <gavinsmith0123@gmail.com> |
| |
| * doc/texinfo.tex (\onepageout): Remove call to \turnoffactive |
| directly after \atdummies as \atdummies also calls \turnoffactive. |
| |
| 2026-04-19 Gavin Smith <gavinsmith0123@gmail.com> |
| |
| * info/dir.c (build_dir_node): avoid crash if dir file is malformed |
| or couldn't be loaded. |
| |
| Report from Hilmar Preuße. |
| |
| 2026-04-14 Patrice Dumas <pertusus@free.fr> |
| |
| Use BCP 47 language format in output formats |
| |
| * tta/C/convert/html_prepare_converter.c (html_setup_output), |
| tta/perl/Texinfo/Convert/Converter.pm (current_bcp47_locale), |
| tta/perl/Texinfo/Convert/DocBook.pm (conversion_output_begin) |
| (_convert), tta/perl/Texinfo/Convert/HTMLNonXS.pm (_setup_output), |
| tta/perl/Texinfo/Convert/LaTeX.pm (_informative_command_output) |
| (_latex_header): add current_bcp47_locale to get the BCP 47 language |
| locale in the current_lang_translations. Output BCP 47 language |
| locales for output formats, as output formats use this language |
| specification format. |
| |
| * tta/C/main/convert_utils.h: do not include translations.h in |
| convert_utils.h. Update users. |
| |
| * tta/C/main/translations.c (init_lang_translation): add const. |
| |
| 2026-04-14 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/perl/Texinfo/Convert/DocBook.pm, |
| tta/perl/Texinfo/Convert/HTMLNonXS.pm, |
| tta/perl/Texinfo/Convert/Info.pm, tta/perl/Texinfo/Convert/LaTeX.pm, |
| tta/perl/Texinfo/Convert/Plaintext.pm, |
| tta/perl/Texinfo/Convert/Text.pm, |
| tta/perl/Texinfo/Example/ReadDocBook.pm: remove now unused command |
| line encoding argument in calls to |
| Texinfo::Convert::Utils::switch_lang_translations. |
| |
| * tta/perl/Texinfo/Convert/DocBook.pm: minor changes in code order. |
| |
| 2026-04-12 Patrice Dumas <pertusus@free.fr> |
| |
| add lang information in lang_translation and use bcp47 locale |
| |
| * tta/perl/Texinfo/Common.pm (analyze_documentlanguage_argument): add. |
| |
| * tta/perl/Texinfo/Translations.pm ($lang_translations_cache): rename |
| $lang_translations as $lang_translations_cache. |
| |
| * tta/C/convert/build_html_perl_state.c |
| (switch_perl_lang_translations, build_html_translated_names), |
| tta/C/convert/convert_html.c (html_cache_translate_string), |
| tta/C/main/call_perl_function.c (call_translations_translate_string), |
| tta/C/main/translations.c (translate_string, fill_document_lang_info) |
| (clear_document_lang_info, init_lang_translation) |
| (new_documentlanguage_translation, new_set_translation) |
| (new_copy_translation, free_lang_translation, find_lang_translation) |
| (set_lang_info_translation, get_lang_info_translation) |
| (get_documentlanguage_translation, switch_lang_translations) |
| (cache_translate_string), tta/C/main/tree_types.h (DOCUMENT_LANG_INFO) |
| (LANG_TRANSLATION), tta/C/parsetexi/indices.c (complete_indices), |
| (analyze_documentlanguage_argument), tta/perl/Texinfo/Convert/HTML.pm |
| (_html_cache_translate_string), tta/perl/Texinfo/Convert/Utils.pm |
| (switch_lang_translations), tta/perl/Texinfo/Translations.pm |
| (translate_string, fill_document_lang_info) |
| (new_documentlanguage_translation, complete_indices), |
| tta/perl/Texinfo/TranslationsNonXS.pm (cache_translate_string), |
| tta/perl/XSTexinfo/parser_document/TranslationsXS.xs |
| (cache_translate_string): add lang information with the language, |
| region and bcp47 language locale name to lang_translation. Setup |
| string to use with LANGUAGE environement variable for gettext when |
| creating lang_translation and pass it to translate_string to avoid |
| recomputing it many times. Rename new_lang_translation as |
| new_documentlanguage_translation and get_lang_translation as |
| get_documentlanguage_translation. Use the bcp47 language name to |
| retrieve translations. Remove encoded language as argument |
| and remove get_lang_encoded_lang_translation. |
| |
| * tta/perl/Texinfo/Translations.pm (get_lang_info_xdg_locale) |
| (get_lang_info_bcp47_locale, get_lang_info_language) |
| (get_lang_info_region): add accessors for lang_info. |
| |
| * tta/C/convert/call_html_perl_function.c |
| (call_formatting_function_format_translate_message), |
| tta/C/convert/convert_html.c (format_translate_message) |
| (html_custom_translate_string, html_cache_translate_string): pass |
| lang_info to html_custom_translate_string and |
| format_translate_message. |
| |
| * tta/perl/init/documentation_examples.pm (*_translate_message), |
| tta/perl/t/init/css_in_node_redirection_page.pm (*_translate_message), |
| tta/perl/t/init/special_element_customization.pm |
| (*_translate_message), |
| tta/perl/t/init/translated_strings_customization.pm |
| (*_translate_message), |
| tta/perl/t/init/translation_in_parser_in_translation.pm |
| (*_translate_message): use get_lang_info_xdg_locale to get language |
| from lang_info. |
| |
| * tta/C/main/utils.c (analyze_documentlanguage_argument): allocate |
| region. Update callers. |
| |
| 2026-04-11 Patrice Dumas <pertusus@free.fr> |
| |
| add gnulib bcp47 module |
| |
| * tta: run "gnulib-tool --add-import bcp47". |
| |
| 2026-04-10 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/C/main/utils.c (analyze_documentlanguage_argument), |
| tta/perl/Texinfo/Common.pm (warn_unknown_language): if the |
| documentlanguage is invalid, for instance if not ASCII, or not |
| lower-case language and upper-case region, return NULL/undef for the |
| language code. |
| |
| * tta/perl/Texinfo/ParserNonXS.pm (_end_line_misc_line), |
| tta/C/parsetexi/end_line.c (end_line_misc_line), tta/C/texi2any.c |
| (main), tta/perl/texi2any.pl: do not set documentlanguage if the |
| argument is invalid. |
| |
| 2026-04-10 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/C/Makefile.am (C_libtexinfo_sources), |
| tta/maintain/regenerate_documentlanguages-iana.pl: improve |
| regenerate_documentlanguages-iana.pl to correctly extract language |
| names and region names. Extract scripts names and generate Perl hash, |
| gperf input and gperf generated C code. |
| |
| 2026-04-10 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/tests/coverage/formatting.texi: add something in Top. |
| |
| 2026-04-10 Patrice Dumas <pertusus@free.fr> |
| |
| Add @ifepub and @ifnotepub in texi2any |
| |
| * tta/C/texi2any.c (is_texinfo_output_formats) |
| (format_expanded_formats): add is_texinfo_output_formats. |
| |
| * tta/C/texi2any.c (main): add converted_format_specification |
| for the converted format, and keep format_specification for the |
| main format. |
| |
| * tta/C/texi2any.c (format_expanded_formats), tta/perl/texi2any.pl |
| (_format_expanded_formats): add expanded region for main format (as |
| opposed to converted format). |
| |
| * tta/C/main/parser_conf.h (PARSER_CONF), tta/C/main/utils.c |
| (default_expanded_formats), tta/data/command_data.txt (ifepub) |
| (ifnotepub), tta/perl/Texinfo/Common.pm (%texinfo_output_formats): |
| add ifepub and ifnotepub block @-commands and epub expanded format. |
| |
| * tta/C/texi2any.c (converter_format_expanded_region_name) |
| (IFEPUB_OPT, NO_IFEPUB_OPT, long_options, main), |
| tta/perl/t/test_utils.pl (convert_to_html, test), tta/perl/texi2any.pl |
| (%converter_format_expanded_region_name, makeinfo_help, GetOptions): |
| add epub as expanded format for EPUB output format and corresponding |
| command-line options. |
| |
| * NEWS, doc/texinfo.texi (Conditional Commands, Raw Formatter Commands) |
| (Inline Conditionals, Invoking @command{texi2any}, Command List): |
| document @ifepub, @ifnotepub and associated command-line arguments. |
| |
| * tta/perl/Makefile.tres, tta/perl/t/16raw.t (raw_epub), |
| tta/perl/t/epub_tests.t (epub_conditional, epub_inline_conditional), |
| tta/perl/t/html_tests.t (epub_conditionals): add tests for epub |
| conditionals. |
| |
| 2026-04-09 Gavin Smith <gavinsmith0123@gmail.com> |
| |
| No menu positioning after "Up" to different file |
| |
| * info/session-cmd.c (info_handle_pointer): |
| If going up to a different file, do not try to find the current |
| node in the new node's menu. This led to a bad result when going |
| "Up" to the dir node. |
| |
| Report from Aidan <aidanczhai@gmail.com>. |
| |
| 2026-04-09 Gavin Smith <gavinsmith0123@gmail.com> |
| |
| No crash for repeated visit to "*" node |
| |
| * info/nodes.c (info_get_node_of_file_buffer): |
| If nodename is "*", set replica bit on node so to avoid attempt |
| to free the contents of the node. |
| |
| Report from Aidan <aidanczhai@gmail.com>. |
| |
| 2026-04-09 Gavin Smith <gavinsmith0123@gmail.com> |
| |
| Fix searching dir node |
| |
| * info/scan.c (scan_node_contents): Clear N_Simple flag. |
| As we used info_node_of_tag_fast to build the dir node, the final |
| dir node still had this flag set on it, which led to an infinite |
| recursion in info_search_in_node_internal attempting to retrieve |
| the dir node without the N_Simple flag set. |
| |
| * info/session-cmd.c (info_search_internal): Avoid attempting |
| to load other nodes when searching in the dir node (or other nodes |
| flagged as internal). |
| |
| Report from Aidan <aidanczhai@gmail.com>. |
| |
| 2026-04-08 Gavin Smith <gavinsmith0123@gmail.com> |
| |
| Fix dir node for hide-note-references=On |
| |
| * info/nodes.c (info_get_node_tag_of_file_buffer): |
| New function, returning pointer into tags table. |
| (info_get_node_of_file_buffer): Use it. |
| |
| * info/dir.c (build_dir_node): Use info_get_node_tag_of_file_buffer |
| along with info_node_of_tag_fast to load dir nodes without scanning |
| their contents. Only call scan_node_contents once, on the composite |
| dir node. |
| |
| When hide-note-references was On, the dir node was completely broken |
| due to parts of it being processed by scan_node_contents multiple |
| times. Report from Aidan <aidanczhai@gmail.com>. |
| |
| 2026-04-08 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/C/main/translations.c (translate_string), |
| tta/perl/Texinfo/Translations.pm (translate_string): only get the main |
| language, do not try to match the region code at all, such that bogus |
| region codes do not prevent matching the main language, in case |
| gettext does not do it already. |
| |
| * tta/perl/t/test_utils.pl (test): pass COMMAND_LINE_ENCODING to |
| convert_to_text. |
| |
| * tta/perl/Makefile.tres, tta/perl/t/languages.t |
| (invalid_documentlanguage, documentlanguage_selection_accented_region) |
| (documentlanguage_selection_region_unicode): add more tests of invalid |
| documentlanguage. Check if the main language is selected with a bogus |
| region code. |
| |
| 2026-04-08 Gavin Smith <gavinsmith0123@gmail.com> |
| |
| * info/session-cmd.c (info_move_to_next_xref, info_move_to_prev_xref): |
| If cursor-movement-scrolls=On and scroll-behaviour="Page Only", issue |
| an error message when there is no later (resp. earlier) cross-reference |
| to move to. Suggestion from Aidan <aidanczhai@gmail.com>. |
| |
| 2026-04-07 Gavin Smith <gavinsmith0123@gmail.com> |
| |
| * info/dir.c (build_dir_node): Add blank line at end of list of |
| used dir nodes. Report from Aidan <aidanczhai@gmail.com>. |
| |
| 2026-04-06 Patrice Dumas <pertusus@free.fr> |
| |
| * README-hacking: information on testing ffmpeg HTML customization |
| init file. |
| |
| 2026-04-06 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/C/structuring_transfo/transformations.c (new_node): add missing |
| NUL at end of string in place of white spaces. |
| |
| * tta/perl/Texinfo/ManipulateTree.pm (modify_tree): if the returned |
| content is an empty string, remove the tree contents if it becomes |
| empty. |
| |
| * tta/perl/Texinfo/Transformations.pm (_reference_to_arg): rename |
| $result as $new. Always return a list if the element is an @*ref |
| element. |
| |
| * tta/C/structuring_transfo/transformations.c |
| (reference_to_arg_internal), tta/perl/Texinfo/Transformations.pm |
| (_reference_to_arg): put new element in returned elements list only if |
| there is a non-empty argument for the @*ref command. |
| |
| * tta/perl/Makefile.tres, tta/perl/t/transformations.t |
| (test_new_node_empty_ref): test adding nodes with empty @ref to test |
| reference_to_arg_in_tree with empty @ref, and the result in _new_node. |
| |
| 2026-04-06 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/perl/t/transformations.t (insert_nodes_for_sectioning_commands): |
| sync with tta/perl/t/z_misc/automatic_nodes.t $sections_text. |
| |
| 2026-04-06 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/perl/Texinfo/Convert/Plaintext.pm (node_name), |
| tta/perl/Texinfo/Transformations.pm |
| (_protect_first_parenthesis_in_targets): simplify conditions on |
| Texinfo::Common::get_label_element returned element. |
| |
| 2026-04-06 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/perl/Texinfo/Transformations.pm, |
| tta/perl/Texinfo/TransformationsNonXS.pm (_new_node): move _new_node |
| to TransformationsNonXS.pm. |
| |
| 2026-04-06 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/perl/t/z_misc/automatic_nodes.t: remove test_new_node and |
| associated tests, that are now equivalently done in the |
| t/transformations.t various_added_nodes_and_refs test. |
| |
| 2026-04-06 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/perl/Makefile.tres, tta/perl/t/transformations.t |
| (various_added_nodes_and_refs): add test of node additions with |
| insert_nodes_for_sectioning_commands tree transformation corresponding |
| to tests of _new_node in tta/perl/t/z_misc/automatic_nodes.t. |
| |
| * tta/perl/Texinfo/Transformations.pm (_reference_to_arg): undef |
| contents of removed tree elements to remove more references. |
| |
| 2026-04-06 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/C/structuring_transfo/transformations.c |
| (move_selected_element_index_entries_after_items), |
| tta/perl/Texinfo/ManipulateTreeNonXS.pm |
| (_move_selected_element_index_entries_after_items): remove condition |
| on @subentry, which is not relevant now that subentries are in index |
| commands in the tree. |
| |
| * tta/C/parsetexi/handle_commands.c (handle_line_command), |
| tta/perl/Texinfo/ParserNonXS.pm (_handle_line_command): rename |
| internal variable to avoid reusing the name of an external variable |
| for a more readable code. |
| |
| 2026-04-06 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/perl/Makefile.tres, tta/perl/t/transformations.t |
| (index_entry_before_item_with_subentry): test index entry with |
| @subentry before @item with with move_index_entries_after_items. |
| |
| 2026-04-06 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/tests/formatting/indices_in_begin_tables_lists.texi: add index |
| command and comments or something else in @itemize in @example. |
| |
| 2026-04-03 Gavin Smith <gavinsmith0123@gmail.com> |
| |
| gnulib update |
| |
| * tta: run "gnulib-tool --add-import". |
| * .gitignore: update |
| |
| 2026-04-03 Gavin Smith <gavinsmith0123@gmail.com> |
| |
| gnulib update |
| |
| * (top-level): run "gnulib-tool --add-import". |
| |
| 2026-04-03 Gavin Smith <gavinsmith0123@gmail.com> |
| |
| * tta: run "gnulib-tool --add-import |
| unictype/property-unified-ideograph uninorm/nfd |
| uninorm/u32-normalize unistr/u8-to-u32" in preparation for |
| testing collation code. |
| |
| 2026-04-03 Gavin Smith <gavinsmith0123@gmail.com> |
| |
| * tta: replace gnulib module uchar (old name) with uchar-h. |
| |
| 2026-04-02 Gavin Smith <gavinsmith0123@gmail.com> |
| |
| Remove misleading messages for move-to-next/prev-xref. |
| |
| * info/session-cmd.c |
| (forward_move_node_structure, backward_move_node_structure) |
| [scroll-behaviour=Page Only]: Do not print message saying we |
| are already on the last (or first) page of a node. This may |
| not be true if called via move-to-next-xref (or move-to-prev-xref). |
| |
| (point_next_line, point_prev_line, _scroll_backward, _scroll_forward): |
| Reinstate the removed messages for cursor movement and scrolling |
| commands where they would be accurate. |
| |
| 2026-04-02 Gavin Smith <gavinsmith0123@gmail.com> |
| |
| Fix M-Tab with "info -v scroll-behaviour=Page\ Only" |
| |
| * info/session-cmd.c (info_move_to_prev_xref): |
| Move misplaced ) in order to correctly pass value of |
| info_scroll_behaviour to backward_move_node_structure. |
| |
| M-Tab would move to a previous node with scroll-behavior=Page Only |
| and cursor-movement-scrolls=On, which was incorrect. |
| |
| Report from Aidan <aidanczhai@gmail.com>. |
| |
| 2026-04-02 Gavin Smith <gavinsmith0123@gmail.com> |
| |
| * info/variables.c (variable_long_description_string): |
| Handle alias variable specially, in part to avoid printing |
| null pointer. |
| |
| 2026-04-02 Gavin Smith <gavinsmith0123@gmail.com> |
| |
| Implement scroll-behavior/scroll-behaviour alias differently |
| |
| * info/variables.c (ALIAS_VAR, alias_var): |
| New macro and dummy variable for declaring an alias of a variable. |
| (info_variables) <"scroll-behavior">: Use it. |
| (variable_by_name): Check if variable is an alias and if so resolve |
| the alias. |
| |
| This is to avoid using separate 'where_set' fields for the two |
| equivalent names of the variable, which could lead to inconsistency, |
| including in the help buffer. |
| |
| 2026-04-02 Gavin Smith <gavinsmith0123@gmail.com> |
| |
| * info/variables.c (set_variable_to_value): |
| For variables with a list of possible choices, if requested value |
| is not in that list, do not update 'where_set' field and return 0. |
| |
| This has the effect of printing an error message if an incorrect |
| value is used in an infokey file, which wasn't done before with this |
| version of the code. |
| |
| 2026-04-02 Gavin Smith <gavinsmith0123@gmail.com> |
| |
| * doc/info-stnd.texi (Selecting Xrefs): |
| Remove text "in this node" from description of move-to-next-xref |
| and move-to-prev-xref as this is incorrect. |
| |
| Report from Aidan <aidanczhai@gmail.com>. |
| |
| 2026-04-02 Gavin Smith <gavinsmith0123@gmail.com> |
| |
| * doc/info-stnd.texi (Cursor Commands): |
| Add a note mentioning that some of these commands are governed |
| by the "cursor-movement-scrolls" variable. |
| |
| 2026-04-02 Gavin Smith <gavinsmith0123@gmail.com> |
| |
| * doc/info-stnd.texi (Xref Commands): Move chapter before |
| "Searching Commands" and "Index Commands". |
| |
| 2026-04-01 Patrice Dumas <pertusus@free.fr> |
| |
| Update po files |
| |
| 2026-04-01 Patrice Dumas <pertusus@free.fr> |
| |
| * po/POTFILES.in: add XS interface files with translated strings. |
| |
| * Makefile.am (po-check, po_document-check): match .xs files. |
| |
| 2026-04-01 Patrice Dumas <pertusus@free.fr> |
| |
| Update po files |
| |
| 2026-04-01 Patrice Dumas <pertusus@free.fr> |
| |
| * configure.ac (AC_CONFIG_FILES): remove removed doc/refcard/Makefile. |
| |
| 2026-04-01 Patrice Dumas <pertusus@free.fr> |
| |
| * NEWS, configure.ac, tta/configure.ac: remove |
| --enable-refcounts-checks, --enable-perl-api-texi-build and |
| --enable-pod-simple-texinfo-tests configure flags, keeping the |
| automatic detection only. |
| |
| 2026-04-01 Patrice Dumas <pertusus@free.fr> |
| |
| * po/POTFILES.in, po_document/POTFILES.in: update. |
| |
| * Makefile.am (po-check, po_document-check): update. |
| |
| 2026-04-01 Patrice Dumas <pertusus@free.fr> |
| |
| * TODO: update, item on translations, SWIG information when relevant, |
| update non implemented manuals installation support to hint that it is |
| not really rejected, but one possibility among others. |
| |
| 2026-04-01 Bruno Haible <bruno@clisp.org> |
| |
| * INSTALL: edit description of --enable-xs-perl-libintl. |
| |
| 2026-04-01 Gavin Smith <gavinsmith0123@gmail.com> |
| |
| * TODO: remove done items |
| |
| 2026-04-01 Gavin Smith <gavinsmith0123@gmail.com> |
| |
| No -c DUMP_TREE=1 |
| |
| * tta/perl/texi2any.pl, |
| * tta/C/texi2any.c (main): |
| Do not accept "1" as synonym for "-". |
| * doc/texinfo.texi, TODO: update |
| |
| 2026-04-01 Gavin Smith <gavinsmith0123@gmail.com> |
| |
| * README-hacking: update for refcard removal. |
| |
| 2026-04-01 Gavin Smith <gavinsmith0123@gmail.com> |
| |
| * doc/refcard/txicmdcheck, doc/txicmdcheck, |
| * doc/refcard/txivarcheck, doc/txivarcheck: |
| Move to doc/. |
| * doc/refcard: remove subdirectory. |
| |
| 2026-04-01 Gavin Smith <gavinsmith0123@gmail.com> |
| |
| Remove refcard |
| |
| * doc/refcard/txicmdcheck, doc/refcard/txivarcheck: |
| check texi2any and manual only. |
| * doc/refcard/txirefcard.tex: deleted |
| |
| 2026-04-01 Gavin Smith <gavinsmith0123@gmail.com> |
| |
| * TODO: remove done item |
| |
| 2026-04-01 Gavin Smith <gavinsmith0123@gmail.com> |
| |
| * NEWS, |
| * doc/texinfo.texi (Click Sequences, Macro Details, Command List) |
| (Obsolete @-Commands): |
| Document @clickstyle removal. |
| |
| 2026-04-01 Gavin Smith <gavinsmith0123@gmail.com> |
| |
| Test updates for removal of @clickstyle |
| |
| * tta/perl/t/08misc_commands.t |
| (clickstyle, clickstyle_no_end_of_line, invalid_clickstyle) |
| (clickstyle_and_comments): remove. |
| |
| 2026-04-01 Gavin Smith <gavinsmith0123@gmail.com> |
| |
| Test updates for removal of @clickstyle |
| |
| * tta/perl/t/50value.t (value_in_misc_commands), |
| * tta/perl/t/60value.t (macro_in_misc_commands), |
| * tta/perl/t/html_tests.t, |
| * tta/perl/t/xml_tests.t (commands_and_spaces): |
| Remove use of @clickstyle. |
| |
| 2026-04-01 Gavin Smith <gavinsmith0123@gmail.com> |
| |
| Test updates for removal of @clickstyle |
| |
| * tta/tests/coverage_macro.texi: remove use of @clickstyle. |
| |
| 2026-04-01 Gavin Smith <gavinsmith0123@gmail.com> |
| |
| Remove @clickstyle |
| |
| * tta/data/command_data.txt, |
| * tta/C/parsetexi/handle_commands.c (parse_rawline_command), |
| * tta/perl/Texinfo/ParserNonXS.pm (_parse_rawline_command), |
| * tta/perl/Texinfo/Example/TexinfoMarkup.pm (_convert): |
| Remove @clickstyle as a Texinfo command. |
| |
| 2026-04-01 Gavin Smith <gavinsmith0123@gmail.com> |
| |
| * TODO: remove done item |
| |
| 2026-03-31 Gavin Smith <gavinsmith0123@gmail.com> |
| |
| * doc/texinfo.tex (\indexwritesortas): Remove useless change |
| of catcode around definition. |
| |
| 2026-03-31 Gavin Smith <gavinsmith0123@gmail.com> |
| |
| * doc/texinfo.tex (\dummybox): Move definition in file. |
| |
| 2026-03-31 Gavin Smith <gavinsmith0123@gmail.com> |
| |
| Fix "Missing character" messages in log file |
| |
| * doc/texinfo.tex |
| (\extractindexcommands, \checksortas, \checkseealso, \checkseeentry): |
| New. Use TeX macros to check if @sortas, @seeentry and @seealso occur |
| in the text of an index entry. |
| (\doindexsegment): |
| Replace implementation of the @sortas, @seeentry and @seealso commands |
| with call to \extractindexcommands. The problem with the old way was |
| that we typeset the index text inside a dummy box, which could lead to |
| many error messages about missing glyphs being output in the log file. |
| |
| Report from Jamenson Espindula. |
| |
| 2026-03-30 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/C/convert/convert_html.c, tta/C/main/convert_to_text.c, |
| tta/C/main/convert_utils.c, tta/C/main/converter_types.h (CONVERTER), |
| tta/C/main/translations.c (find_lang_translation) |
| (store_new_lang_translation, get_lang_translation) |
| (get_lang_encoded_lang_translation, switch_lang_translations) |
| (cache_translate_string, gdt_string, gdt_tree, pgdt_tree), |
| tta/C/parsetexi/indices.c, tta/C/structuring_transfo/structuring.c, |
| tta/perl/XSTexinfo/parser_document/TranslationsXS.xs |
| (cache_translate_string): add const for LANG_TRANSLATION passed |
| around. |
| |
| * tta/C/main/translations.c (substitute_substrings_in_tree) |
| (substitute_element_array): const for replaced_substrings. |
| |
| 2026-03-30 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/perl/Texinfo/Convert/LaTeX.pm (%LaTeX_environment_commands) |
| (_convert): use Texinfoindented environment for @indentedblock and |
| @def item. |
| |
| * tta/perl/t/converters_tests.t (table_in_display_in_example) |
| (table_in_example_in_display): add some text for easier visualization. |
| |
| 2026-03-30 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/tests/coverage_macro.texi: remove empty line in @displaymath to |
| avoid invalid LaTeX. |
| |
| 2026-03-30 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/perl/Texinfo/Convert/DocBook.pm (_convert): use blockquote for |
| @indentedblock and @smallindentedblock. Report from Per Bothner in |
| 2014. |
| |
| * tta/tests/coverage_macro.texi: add @indentedblock and |
| @smallindentedblock. |
| |
| 2026-03-30 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/perl/Texinfo/Convert/LaTeX.pm (_stop_embrac, _convert_def_line) |
| (_convert): simplify code related to embrac context stack. |
| |
| 2026-03-30 Noé Lopez <noelopez@free.fr> (tiny change) |
| |
| * util/htmlxref.d/Texinfo_GNU.cnf: Update URLs for Guix and |
| Shepherd. |
| |
| 2026-03-29 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/perl/Texinfo/Convert/Utils.pm (output_files_rename_opened): add. |
| |
| * tta/perl/Texinfo/Convert/Info.pm (output): call |
| Texinfo::Convert::Utils::output_files_rename_opened instead of setting |
| an unused array. |
| |
| 2026-03-29 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/perl/Texinfo/Convert/LaTeX.pm (_tree_anchor_label): get an |
| element in argument. |
| |
| * tta/perl/Texinfo/Convert/LaTeX.pm: use |
| Texinfo::Common::empty_spaces_argument to determine if arguments are |
| empty. Use elements instead of contents when relevant. Use exists or |
| defined when the value is not used. |
| |
| 2026-03-29 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/perl/Texinfo/Convert/Plaintext.pm (_convert): do not output |
| anything for @itemx in @itemize or @enumerate in @table. |
| |
| 2026-03-29 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/perl/XSTexinfo/convert/get_html_perl_info.c |
| (html_converter_get_customization_sv): initialize |
| direction_node_name->direction_nr to 0. |
| |
| * tta/C/convert/html_prepare_converter.c (html_set_global_direction) |
| (html_set_main_units_direction_names) |
| (html_prepare_output_units_global_targets), |
| tta/perl/Texinfo/Convert/HTML.pm (converter_initialize), |
| tta/perl/Texinfo/Convert/HTMLNonXS.pm (set_global_direction): warn if |
| a customized global direction is set on a relative direction. |
| |
| * tta/C/convert/html_prepare_converter.c |
| (html_prepare_output_units_global_targets): more explicit fatal |
| message. |
| |
| * tta/perl/t/init/set_global_direction_for_relative.pm: also test |
| calling set_global_direction on a relative direction. |
| |
| * tta/perl/Makefile.tres, tta/perl/t/init_files_tests.t |
| (set_global_direction_for_relative_direction): enable test. |
| |
| 2026-03-28 Patrice Dumas <pertusus@free.fr> |
| |
| * ta/maintain/generate_code_convert_data.pl (@ordered_text_directions) |
| (%ordered_text_global_directions_hash, %direction_orders) |
| (@orders_order, @ordered_directions): separate text directions from |
| global units directions. |
| |
| * tta/maintain/generate_code_convert_data.pl, |
| tta/C/convert/format_html.c, tta/C/convert/html_prepare_converter.c: |
| generate DEFAULT_GLOBAL_DIRECTION_LAST_IDX and |
| DEFAULT_TEXT_DIRECTION_LAST_IDX and use instead of D_Last and |
| D_direction_This. |
| |
| * tta/C/convert/html_prepare_converter.c |
| (html_prepare_output_units_global_targets), |
| tta/perl/Texinfo/Convert/HTMLNonXS.pm |
| (_prepare_output_units_global_targets): show default text directions |
| in debugging code. |
| |
| * tta/perl/Texinfo/Convert/HTML.pm (@text_directions_order) |
| (converter_initialize): set @text_directions_order based on |
| automatically generated directions and use it to set default text |
| directions in converter_initialize. |
| |
| 2026-03-28 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/perl/Texinfo/Convert/DocBook.pm (_convert): determine $part if |
| not already determined. |
| |
| 2026-03-28 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/C/main/document.c (setup_texinfo_main), |
| tta/C/main/translations.c (set_output_strings_translate_method) |
| (setup_output_strings_translations): split |
| set_output_strings_translate_method out of |
| setup_output_strings_translations. Call it in setup_texinfo_main, as |
| it sets use_external_translate_string, which should always be set, |
| even if C functions are not used for translation of output strings. |
| |
| * tta/C/convert/texinfo.c (txi_general_output_strings_setup), |
| tta/perl/XSTexinfo/parser_document/TranslationsXS.xs |
| (setup_output_strings): update for change in |
| setup_output_strings_translations. Update callers. |
| |
| 2026-03-28 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/C/structuring_transfo/structuring.c |
| (check_node_tree_menu_structure), tta/perl/Texinfo/StructuringNonXS.pm |
| (check_node_tree_menu_structure): remove a condition on node |
| associated to node menu relation being set, as if there is a number, |
| the relation exists. |
| |
| * tta/perl/Makefile.tres, tta/perl/t/10menu.t |
| (menu_pointing_to_anchor_nodes): add test of anchor and namedanchor |
| nodes in menu, with another node with a sectioning command too, such |
| that the menu structure is checked (with CHECK_NORMAL_MENU_STRUCTURE). |
| |
| 2026-03-28 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/perl/Texinfo/Translations.pm (BEGIN): do not load XS module for |
| translations if Perl is older than 5.38.0 as before Perl 5.38.0 |
| getenv/setenv and similar cannot be reliably used in XS. |
| |
| * tta/configure.ac: remove setting HAVE_USABLE_GETENV_IN_XS, unused. |
| |
| 2026-03-27 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/perl/Texinfo/TranslationsNonXS.pm (setup_output_strings), |
| tta/perl/XSTexinfo/parser_document/TranslationsXS.xs |
| (setup_output_strings): rename configure as setup_output_strings. |
| Update callers. |
| |
| * tta/C/main/translations.c (setup_output_strings_translations): |
| rename configure_output_strings_translations as |
| setup_output_strings_translations. Update callers. |
| |
| 2026-03-27 Patrice Dumas <pertusus@free.fr> |
| |
| XS interface for Texinfo::Translations configure |
| |
| * tta/perl/Texinfo/DocumentNonXS.pm, tta/perl/Texinfo/Translations.pm, |
| tta/perl/Texinfo/TranslationsNonXS.pm (configure), |
| tta/perl/XSTexinfo/parser_document/DocumentXS.xs, |
| tta/perl/XSTexinfo/parser_document/TranslationsXS.xs (configure): add |
| an XS interface for Texinfo::Translations configure. Remove |
| configure_output_strings_translations from Perl code and from Document |
| XS interface. |
| |
| 2026-03-27 Patrice Dumas <pertusus@free.fr> |
| |
| XS interface for Texinfo::Translations for cache_translate_string |
| |
| * tta/configure.ac (use_libintl_perl_in_xs), tta/perl/Makefile.am |
| (ModulePath.pm), tta/perl/Texinfo/ModulePath.pm.in |
| ($use_libintl_perl_in_xs): pass use_libintl_perl_in_xs to Perl. |
| |
| * tta/C/main/translations.c (find_lang_translation) |
| (get_lang_translation, store_new_lang_translation) |
| (get_lang_encoded_lang_translation): split find_lang_translation and |
| store_new_lang_translation out of get_lang_translation. Add |
| get_lang_encoded_lang_translation that is very similar to |
| get_lang_translation, but directly uses encoded lang instead of |
| determining it. |
| |
| * tta/perl/Texinfo/Translations.pm (BEGIN), |
| tta/perl/XSTexinfo/Makefile.am (xs_LTLIBRARIES, TranslationsXS*), |
| tta/perl/Makefile.am (dist_modules_DATA), |
| tta/perl/Texinfo/TranslationsNonXS.pm (cache_translate_string), |
| tta/perl/XSTexinfo/parser_document/TranslationsXS.xs |
| (cache_translate_string): add an XS interface for |
| Texinfo::Translations cache_translate_string. |
| |
| 2026-03-27 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/perl/t/z_misc/do_master_menu.t: setup the lang_translation by |
| calling new_lang_translation. |
| |
| 2026-03-26 Patrice Dumas <pertusus@free.fr> |
| |
| * doc/texi2any_api.texi (Tree Elements and Document Structure) |
| (Heading Commands Formatting): describe relevant functions in "Tree |
| Elements and Document Structure" not in the appendix. Improve |
| references to this node. |
| |
| * tta/perl/Texinfo/Convert/DocBook.pm (%docbook_level_section) |
| (%docbook_sections, _docbook_section_element): split |
| %docbook_level_section out of %docbook_sections for the map of section |
| levels, for a more readable code. |
| |
| * tta/perl/t/z_misc/no_structure_test.t: add raisesctions to the |
| test Texinfo code. |
| |
| 2026-03-26 Patrice Dumas <pertusus@free.fr> |
| |
| * doc/texi2any_api.texi (Simple Formatting Customization) |
| (Internationalization of Output Strings): rename "Simple formatting |
| customization" as "Simple Formatting Customization" and |
| "Internationalization of Strings Function" as "Internationalization of |
| Output Strings". |
| |
| * doc/texi2any_api.texi (Accent Commands with Arguments Formatting): |
| add. |
| |
| * doc/texi2any_api.texi: remove cross-references to modules |
| documentation that are not needed for the described tasks. Copy the |
| function or data descriptions instead of having a cross reference, as |
| the corresponding text is small and requiring to go to another |
| document to get the information is distracting. |
| |
| Improve Pod documentation of output strings translation language |
| switching. |
| |
| 2026-03-23 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/C/main/utils.h (ARG_INDICES), tta/C/main/utils.c |
| (non_leading_trailing_indices): add the ARG_INDICES struct to hold the |
| first and last indices of non trailing non leading contents. Use it |
| in non_leading_trailing_indices. Update callers. |
| |
| 2026-03-22 Gavin Smith <gavinsmith0123@gmail.com> |
| |
| Always build info/makedoc when cross-compiling |
| |
| * Makefile.am (SUBDIRS) [TOOLS_ONLY]: |
| Always include "info" subdirectory to allow "makedoc" program |
| to be built on "build" system when cross-compiling, even if terminal |
| library is not found on "build". |
| * info/Makefile.am (bin_PROGRAMS): Use HAVE_TERMLIBS conditional to |
| only include "ginfo" if terminal library is found. Use TOOLS_ONLY |
| not to built "ginfo" if building tools for cross-compiling. |
| (LDADD, ginfo_LDADD): Only use $(TERMLIBS) in ginfo_LDADD. |
| |
| Report and investigation by Manuel Jacob, |
| |
| 2026-03-23 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/C/convert/convert_html.c (html_convert_tree_append), |
| tta/perl/Texinfo/Convert/HTML.pm (_convert): different message for |
| ignored text type and other ignored types and commands. |
| |
| 2026-03-23 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/C/convert/html_prepare_converter.c (html_converter_customize): |
| set ignored types for css conversion too. This is not needed when |
| called from Perl XS, but necessary for ctexi2any. |
| |
| 2026-03-23 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/C/parsetexi/macro.c (expand_macro_body), |
| tta/perl/Texinfo/ParserNonXS.pm (_expand_macro_body): simplify |
| conditions, taking into account that macro call arguments can only |
| contain text elements. |
| |
| 2026-03-23 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/C/parsetexi/handle_commands.c (handle_line_command), |
| tta/perl/Texinfo/ParserNonXS.pm (_handle_line_command): use |
| spaces_before_argument for an empty lineraw line. |
| |
| * tta/perl/Texinfo/Common.pm (non_leading_trailing_indices): verify |
| that end_idx is not negative. This could happen if there are only |
| spaces_after_argument. |
| |
| * tta/perl/Texinfo/ParserNonXS.pm (_expand_macro_body): use a tree |
| element in input for macro arguments. |
| |
| 2026-03-23 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/C/main/element_types.txt, tta/C/parsetexi/parser.c |
| (process_remaining_on_line), tta/perl/Texinfo/ParserNonXS.pm |
| (%trailing_space_types, _process_remaining_on_line): use |
| spaces_after_argument for ignored spaces before @subentry. Remove |
| ignorable_spaces_before_command type everywhere. |
| |
| * tta/C/parsetexi/parser.c (isolate_leading_trailing), |
| tta/perl/Texinfo/ParserNonXS.pm (_isolate_leading_trailing): add a |
| debugging statement. |
| |
| 2026-03-23 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/perl/Texinfo/ParserNonXS.pm (_is_container_empty): do not check |
| info value, and avoid checking contents for text elements, with same |
| code as in C. |
| |
| 2026-03-23 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/C/parsetexi/close.c (remove_empty_content), |
| tta/perl/Texinfo/ParserNonXS.pm (_remove_empty_content): remove the |
| empty element, which could theoretically be before comments and |
| trailing spaces. |
| |
| 2026-03-23 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/C/parsetexi/close.c (close_container), |
| tta/perl/Texinfo/ParserNonXS.pm (_close_container): remove check that |
| was needed when there were args in tree. Reorganize code to be easier |
| to read. |
| |
| 2026-03-22 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/perl/Texinfo/Example/TexinfoMarkup.pm (_convert): inline |
| and remove _arg_leading_spaces_arg and simplify attribute setting of |
| endspaces. |
| |
| 2026-03-22 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/C/main/element_types.awk, tta/C/main/element_types.txt, |
| tta/C/main/tree_types.h (enum elt_info_type), tta/C/main/tree.c |
| (elt_info_names), tta/C/parsetexi/parser.c (do_abort_empty_line) |
| (merge_text), tta/perl/Texinfo/ParserNonXS.pm (%leading_space_types) |
| (_merge_text, _abort_empty_line): remove |
| internal_spaces_after_command, now unused. Remove spaces_before and |
| spaces_after flags too, as they are not generated anymore. Remove |
| spaces_before_argument, spaces_after_argument and comment_at_end names |
| and enums. Remove move_last_space_to_element, not called anymore. |
| |
| * tta/C/structuring_transfo/structuring.c (new_block_command), |
| tta/C/structuring_transfo/transformations.c (correct_level) |
| (fill_gaps_in_sectioning_in_document, new_node), |
| tta/perl/Texinfo/ManipulateTree.pm (_print_tree_elements_ref) |
| (tree_remove_parents, _element_remove_references, @elt_info_names), |
| tta/perl/Texinfo/Structuring.pm (new_block_command), |
| tta/perl/Texinfo/Transformations.pm (_new_node), |
| tta/perl/Texinfo/TransformationsNonXS.pm (_correct_level) |
| (fill_gaps_in_sectioning_in_document): do not generate |
| spaces_before_argument, spaces_after_argument nor comment_at_end in |
| info additional information, directly in the tree. Update to match |
| the new tree structure. |
| |
| * tta/C/main/convert_to_texinfo.c (convert_to_texinfo_internal), |
| tta/C/main/convert_utils.c (get_comment_or_end_line), |
| tta/perl/Texinfo/Convert/Converter.pm (comment_or_end_line), |
| tta/perl/Texinfo/Convert/DocBook.pm (_format_comment), |
| tta/perl/Texinfo/Convert/Texinfo.pm (_convert_to_texinfo), |
| tta/perl/Texinfo/DebugTree.pm, |
| tta/perl/Texinfo/Example/TexinfoMarkup.pm: remove use of |
| spaces_before_argument, spaces_after_argument and comment_at_end in |
| info additional information. |
| |
| * tta/perl/t/z_misc/01use.t: update for the new tree structure. |
| |
| 2026-03-22 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/C/main/element_types.txt, tta/perl/Texinfo/ParserNonXS.pm |
| (%leading_space_types): remove |
| internal_spaces_before_context_argument, which is not set |
| anymore, and remove all conditions with this type. |
| |
| 2026-03-22 Patrice Dumas <pertusus@free.fr> |
| |
| Put lineraw line commands leading and trailing directly in tree |
| |
| * tta/C/parsetexi/handle_commands.c (raw_line_command_arg_spaces) |
| (handle_line_command, add_comment_at_end), |
| tta/perl/Texinfo/ParserNonXS.pm (_raw_line_command_arg_spaces) |
| (_add_comment_at_end, _handle_line_command): put lineraw line commands |
| leading and trailing spaces, and comments directly in tree, not in |
| info elements. Remove raw_line_command_arg_spaces second argument, |
| since it is not used anymore. |
| |
| * tta/perl/Texinfo/Convert/DocBook.pm (_format_comment), |
| tta/perl/Texinfo/Convert/LaTeX.pm (_convert), |
| tta/perl/Texinfo/Example/TexinfoMarkup.pm (_format_comment, _convert), |
| tta/perl/t/init/ignore_and_comments_output.init: adapt for change in |
| tree. |
| |
| 2026-03-22 Patrice Dumas <pertusus@free.fr> |
| |
| Put context brace commands leading spaces directly in tree |
| |
| * tta/C/main/element_types.txt (spaces_before_argument), |
| tta/C/parsetexi/separator.c (handle_open_brace), |
| tta/perl/Texinfo/ParserNonXS.pm (%leading_space_types) |
| (_handle_open_brace): use spaces_before_argument instead of |
| internal_spaces_before_context_argument at context brace command |
| opening such that it stays as is in the tree and is not collected in |
| info. |
| |
| * tta/C/convert/format_html.c (html_convert_float_command) |
| (html_convert_listoffloats_command), tta/C/main/floats.c |
| (print_caption_shortcaption), tta/perl/Texinfo/Convert/HTML.pm |
| (_convert_listoffloats_command, _convert_float_command), |
| tta/perl/Texinfo/Convert/LaTeX.pm (_convert), |
| tta/perl/Texinfo/Convert/Plaintext.pm (_convert), |
| tta/perl/Texinfo/ManipulateTree.pm (_print_caption_shortcaption): |
| update for change in tree, and also to cope with bogus @caption |
| without brace at all. |
| |
| * tta/perl/t/27float.t (no_brace_caption), tta/perl/Makefile.tres: |
| caption without brace in float with listoffloats. |
| |
| 2026-03-22 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/C/main/element_types.txt, tta/perl/Texinfo/ParserNonXS.pm |
| (%leading_space_types): remove internal_spaces_before_argument as it |
| is not set anywhere anymore. Remove in test in all the using codes. |
| |
| 2026-03-22 Patrice Dumas <pertusus@free.fr> |
| |
| Put macro expansion element leading spaces directly in tree |
| |
| * tta/C/parsetexi/close.c (remove_empty_content), |
| tta/perl/Texinfo/ParserNonXS.pm (_remove_empty_content): remove empty |
| elements starting from the end, avoiding empty spaces. |
| |
| * tta/C/parsetexi/macro.c (expand_macro_arguments) |
| (expand_linemacro_arguments, expand_macro_body), |
| tta/perl/Texinfo/ParserNonXS.pm (_expand_macro_arguments) |
| (_expand_linemacro_arguments, _expand_macro_body): put leading spaces |
| directly in argument elements, and call isolate_leading_trailing in |
| expand_macro_body. Avoid leading and trailing spaces when gathering |
| formal arguments. |
| |
| 2026-03-21 Patrice Dumas <pertusus@free.fr> |
| |
| Put leading and trailing spaces directly in tree for block and line non |
| raw |
| |
| * tta/C/parsetexi/separator.c (handle_close_brace): remove spurious |
| backslash in string. |
| |
| * tta/C/main/utils.c (informative_command_value), |
| tta/perl/Texinfo/Common.pm (informative_command_value): do not handle |
| rawline @-command with more than one argument, as it is only the case |
| for @set, which is not an informative command associated to a |
| customization variable. More const. |
| |
| * tta/C/main/manipulate_tree.c (parse_node_manual): set node_content |
| in result only if not empty. |
| |
| * tta/C/parsetexi/parser.c (isolate_leading_spaces_element), |
| tta/perl/Texinfo/ParserNonXS.pm (_isolate_leading_spaces_element): |
| rebase remaining source marks. Always set the type. Consider that |
| spaces are ascii. Rename leading_spaces as spaces_len. |
| |
| * tta/C/main/utils.c (simple_arg_text, empty_text), |
| tta/perl/Texinfo/Common.pm (simple_arg_text): ignore comments. |
| Return TEXT instead of string in C and update callers. |
| |
| * tta/C/parsetexi/parser.c (text_contents_to_plain_text), |
| tta/perl/Texinfo/ParserNonXS.pm (_text_contents_to_plain_text): ignore |
| comments. |
| |
| * tta/perl/Texinfo/Common.pm (non_leading_trailing_tree): remove |
| optional arguments. |
| |
| * tta/perl/Texinfo/Common.pm (non_trailing_tree), |
| tta/perl/Texinfo/Convert/Converter.pm (comment_end_line_end_space): |
| add. |
| |
| * tta/C/main/convert_to_texinfo.c (convert_contents_to_texinfo), |
| tta/C/main/structure_list.c: use non_leading_trailing_indices to |
| determine the slice to convert. Update callers as the function can |
| now return NULL if the argument is empty. |
| |
| * tta/C/main/manipulate_tree.c, tta/C/main/utils.c |
| (non_leading_trailing_indices): move non_leading_trailing_indices to |
| utils.c. |
| |
| * tta/perl/Texinfo/Common.pm (non_leading_trailing_indices): rename |
| _non_leading_trailing_indices as non_leading_trailing_indices. |
| |
| * tta/C/parsetexi/def.c (split_def_args), |
| tta/C/structuring_transfo/transformations.c |
| (protect_first_parenthesis), tta/perl/Texinfo/ManipulateTree.pm |
| (protect_first_parenthesis), tta/perl/Texinfo/ParserNonXS.pm |
| (_split_element_delimiters): catch all types of text elements and |
| spaces_before_argument. |
| |
| * tta/perl/Texinfo/ParserNonXS.pm (_parse_def): move code around to be |
| more similar to C implementation. |
| |
| * tta/C/parsetexi/def.c (parse_def), tta/C/parsetexi/end_line.c |
| (parse_line_command_args, end_line_starting_block) |
| (end_line_misc_line), tta/C/parsetexi/labels.c |
| (check_register_target_element_label), tta/C/parsetexi/parser.c |
| (parent_of_command_as_argument, process_remaining_on_line), |
| tta/C/parsetexi/separator.c (handle_close_brace, handle_comma), |
| tta/perl/Texinfo/ParserNonXS.pm (_parse_def, _end_line_misc_line) |
| (_end_line_starting_block, _check_register_target_element_label) |
| (_parent_of_command_as_argument, _handle_line_command) |
| (_handle_close_brace, _handle_comma, _process_remaining_on_line): |
| put leading and trailing spaces and comments directly in tree by |
| isolate_leading_trailing instead of isolate_last_space, having effect |
| on all block command lines and most line commands arguments, except |
| for raw line commands. Remove isolate_last_space. |
| |
| * tta/C/parsetexi/handle_commands.c (handle_other_command), |
| tta/C/parsetexi/parser.c, tta/perl/Texinfo/ParserNonXS.pm |
| (_handle_other_command): inline start_empty_line_after_command as now |
| there is only one case that remains and remove |
| start_empty_line_after_command. |
| |
| * tta/perl/Texinfo/Convert/Texinfo.pm (convert_contents_to_texinfo): |
| add. |
| |
| * tta/C/main/convert_utils.c (get_comment_or_end_line), |
| tta/C/main/manipulate_tree.c (copy_contents), tta/C/main/utils.c |
| (block_line_argument_command, multitable_columnfractions) |
| (informative_command_value, enumerate_item_representation), |
| tta/perl/Texinfo/Common.pm (multitable_columnfractions) |
| (block_line_argument_command, informative_command_value) |
| (enumerate_item_representation), tta/perl/Texinfo/Convert/Converter.pm |
| (comment_or_end_line, table_item_content_tree), |
| tta/perl/Texinfo/Convert/Texinfo.pm (target_element_to_texi_label) |
| (check_node_same_texinfo_code), tta/perl/Texinfo/ManipulateTree.pm |
| (copy_contents, _print_root_command, print_element_base), |
| tta/perl/Texinfo/OutputUnits.pm (_output_unit_name_string), |
| tta/perl/Texinfo/StructuringNonXS.pm (_print_line_command) |
| (_print_root_command, _print_menu_node, print_headings_list) |
| (print_nodes_list): update for changes in tree. |
| |
| * tta/C/main/convert_to_texinfo.c (link_element_to_texi): call |
| convert_to_texinfo instead of convert_contents_to_texinfo as there is |
| no need to convert contents only, and to always return a string. |
| |
| * tta/C/main/convert_utils.c: comment out item_itemize_prepended as it |
| is unused. |
| |
| * tta/C/convert/format_html.c (html_internal_command_tree) |
| (html_convert_enumerate_command, html_convert_item_command) |
| (html_open_quotation_command), tta/C/main/convert_utils.c |
| (itemize_line_prepended_element), |
| tta/C/structuring_transfo/transformations.c |
| (protect_hashchar_at_line_beginning_internal), |
| tta/perl/Texinfo/Convert/Converter.pm (sort_element_counts), |
| tta/perl/Texinfo/Convert/DocBook.pm (conversion_output_begin) |
| (_format_comment_or_end_line, _convert_def_line, _convert), |
| tta/perl/Texinfo/Convert/HTML.pm (_convert_enumerate_command) |
| (_convert_item_command, _open_quotation_command), |
| tta/perl/Texinfo/Convert/HTMLNonXS.pm (_internal_command_tree) |
| (_node_redirections), tta/perl/Texinfo/Convert/Info.pm (output), |
| tta/perl/Texinfo/Convert/LaTeX.pm (_set_environment_options) |
| (_convert), tta/perl/Texinfo/Convert/Plaintext.pm (_convert), |
| tta/perl/Texinfo/Convert/TextContent.pm (_convert), |
| tta/perl/Texinfo/Document.pm (_existing_label_error), |
| tta/perl/Texinfo/Example/TexinfoMarkup.pm, |
| tta/perl/Texinfo/Transformations.pm |
| (_protect_hashchar_at_line_beginning), |
| tta/perl/init/documentation_examples.pm |
| (_set_appendix_direction_node_name), |
| tta/perl/t/init/index_direction_from_index_name.pm |
| (_set_index_global_direction_from_index_name): update for changes in |
| tree, mainly by using empty_spaces_argument, simple_arg_text, or |
| handling especially spaces_* types. Also calling |
| convert_contents_to_texinfo in Perl. |
| |
| 2026-03-17 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/C/main/utils.c (simple_arg_text), tta/perl/Texinfo/Common.pm |
| (simple_arg_text): return information related to unexpected non text |
| elements. Update callers. |
| |
| * tta/C/parsetexi/separator.c (handle_close_brace), |
| tta/perl/Texinfo/ParserNonXS.pm (_handle_close_brace): add more |
| information on superfluous argument to @U. |
| |
| * tta/C/parsetexi/end_line.c (parse_line_command_args), |
| tta/perl/Texinfo/ParserNonXS.pm (_parse_line_command_args): use |
| simple_arg_text. |
| |
| 2026-03-17 Patrice Dumas <pertusus@free.fr> |
| |
| Move @math command from context commands to arguments commands |
| |
| * tta/data/command_data.txt (math), tta/C/parsetexi/close.c |
| (close_brace_command, close_current), tta/C/parsetexi/separator.c |
| (handle_open_brace, handle_close_brace), |
| tta/perl/Texinfo/ParserNonXS.pm (_close_brace_command, _close_current) |
| (_handle_open_brace, _handle_close_brace): change math data type to be |
| arguments. Move code related to math to arguments brace commands |
| handling, with explicit setting of context. |
| |
| * tta/C/convert/html_conversion_state.c |
| (html_open_command_update_context) |
| (html_convert_command_update_context), |
| tta/perl/Texinfo/Convert/DocBook.pm (_convert), |
| tta/perl/Texinfo/Convert/HTMLNonXS.pm (_open_command_update_context) |
| (_convert_command_update_context): set explicitly math context for |
| brace math command. |
| |
| 2026-03-17 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/perl/Texinfo/ParserNonXS.pm (_end_line_def_line): reorganize the |
| code to be more legible, and converge to C version. |
| |
| 2026-03-17 Patrice Dumas <pertusus@free.fr> |
| |
| Put leading spaces and trailing spaces directly in brace arg elements |
| |
| * tta/C/main/manipulate_tree.c (non_leading_trailing_indices) |
| (parse_node_manual), tta/C/main/utils.c (empty_spaces_argument) |
| (simple_arg_text), tta/perl/Texinfo/Common.pm |
| (_non_leading_trailing_indices, parse_node_manual) |
| (empty_spaces_argument, simple_arg_text): add functions to |
| determine if empty, what are the non empty argument and simple text |
| argument if there are trailing, leading spaces and comments. Use in |
| parse_node_manual. |
| |
| * tta/C/parsetexi/close.c (close_all_style_commands, close_current), |
| tta/C/parsetexi/def.c (split_def_args), tta/C/parsetexi/parser.c |
| (isolate_leading_spaces_element, isolate_leading_trailing), |
| tta/C/parsetexi/separator.c (handle_open_brace, handle_close_brace) |
| (handle_comma), tta/perl/Texinfo/ParserNonXS.pm |
| (_close_all_style_commands, _close_current) |
| (_isolate_leading_spaces_element, _split_element_def_args) |
| (_end_line_def_line, _handle_open_brace, _handle_close_brace) |
| (_handle_comma): add functions to isolate trailing spaces and comments |
| and leading spaces and comments, use them in parsing for brace |
| commands and also use simple_arg_text and empty_spaces_argument. |
| Isolate trailing spaces in @math too. |
| |
| * tta/C/main/element_types.txt (empty_line), |
| tta/perl/Texinfo/ParserNonXS.pm (%trailing_space_types): set |
| empty_line as trailing space such that it is not replaced by |
| spaces_after_argument. |
| |
| * tta/C/parsetexi/parser.c (isolate_last_space), |
| tta/perl/Texinfo/ParserNonXS.pm (_isolate_last_space): simplify, it is not |
| called for brace commands anymore. |
| |
| * tta/C/structuring_transfo/transformations.c |
| (reference_to_arg_internal), tta/perl/Texinfo/Common.pm |
| (non_leading_trailing_tree), tta/perl/Texinfo/Transformations.pm |
| (_reference_to_arg), tta/perl/ext/tex4ht.pm (tex4ht_prepare): update |
| for change in tree. |
| |
| * tta/C/convert/html_prepare_converter.c (ignored_types), |
| tta/C/main/convert_to_text.c (convert_to_text_internal), |
| tta/C/main/node_name_normalization.c (convert_to_normalized_internal), |
| tta/C/main/manipulate_indices.c (idx_leading_text_or_command), |
| tta/C/parsetexi/end_line.c (end_line_def_line), |
| tta/C/parsetexi/parser.c (text_contents_to_plain_text), |
| tta/perl/Texinfo/ParserNonXS.pm (_text_contents_to_plain_text), |
| tta/perl/Texinfo/Convert/DocBook.pm, tta/perl/Texinfo/Convert/HTML.pm, |
| tta/perl/Texinfo/Convert/LaTeX.pm, |
| tta/perl/Texinfo/Convert/NodeNameNormalization.pm, |
| tta/perl/Texinfo/Convert/Plaintext.pm, |
| tta/perl/Texinfo/Convert/Text.pm, |
| tta/perl/Texinfo/Convert/TextContent.pm: ignore spaces_before_argument |
| and spaces_after_argument. Catch all spaces in more code. |
| |
| * tta/C/convert/convert_html.c, tta/perl/Texinfo/Convert/DocBook.pm |
| (_convert), tta/perl/Texinfo/Convert/HTML.pm, |
| tta/perl/Texinfo/Convert/HTMLNonXS.pm, |
| tta/perl/Texinfo/Convert/Info.pm, tta/perl/Texinfo/Convert/LaTeX.pm, |
| tta/perl/Texinfo/Convert/Plaintext.pm: call empty_spaces_argument to |
| determine if an argument is empty, cannot check only that there are no |
| contents anymore. |
| |
| 2026-03-16 Gavin Smith <gavinsmith0123@gmail.com> |
| |
| * NEWS: mention removal of --xml etc. options |
| |
| 2026-03-14 Gavin Smith <gavinsmith0123@gmail.com> |
| |
| * doc/texinfo.texi (@example): Tweak description of tab handling. |
| Report from Werner Lemberg. |
| |
| 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. |
| |