| 2026-08-02 Gavin Smith <gavinsmith0123@gmail.com> |
| |
| * tta/C/main/unicode-collation/: Sync |
| |
| 2026-08-02 Gavin Smith <gavinsmith0123@gmail.com> |
| |
| Import uninorm/filter |
| |
| * tta/: Run "gnulib-tool --add-import uninorm/filter". |
| |
| For C collation code. |
| |
| 2026-08-03 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/C/parsetexi/parser.c (add_preamble_lang_cmd): fix type name in |
| sizeof. |
| |
| * tta/C/main/converter_types.h, tta/C/main/document_types.h |
| (ENCODING_CONVERSION): move ENCODING_CONVERSION to document_types.h |
| as it is used earlier than conversion. |
| |
| * tta/perl/XSTexinfo/parser_document/OutputUnitsXS.xs, |
| tta/perl/XSTexinfo/parser_document/ManipulateTreeXS.xs, |
| tta/perl/XSTexinfo/parser_document/DocumentIndicesXS.xs, |
| tta/perl/XSTexinfo/parser_document/StructuringXS.xs: use non_perl_free |
| instead of free. |
| |
| * tta/C/*/*.c, tta/maintain/*.pl, tta/perl/XSTexinfo/*.xs, |
| tta/perl/XSTexinfo/*/*.xs, tta/perl/XSTexinfo/*.c, |
| tta/perl/XSTexinfo/*/*.c: correct includes using include-what-you-use |
| from iwyu. |
| |
| 2026-08-01 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/C/*/*.*, tta/perl/XSTexinfo/convert/get_html_perl_info.h: |
| correct includes mainly for header files using include-what-you-use |
| from iwyu. This leads to removing the include of config.h from |
| xs_utils.h, which is a good thing as the xs_utils.h file is included in |
| Perl C code that should not include Gnulib headers. |
| |
| 2026-08-01 Gavin Smith <gavinsmith0123@gmail.com> |
| |
| Plaintext C converter: use curly quotes |
| |
| * tta/C/convert/convert_to_plaintext.c (convert_to_plaintext_internal) |
| Hardcode use of UTF-8 curly quotes for now. |
| |
| 2026-08-01 Gavin Smith <gavinsmith0123@gmail.com> |
| |
| Plaintext C converter asis_commands |
| |
| * tta/C/convert/convert_to_plaintext.h (PF_asis): Add flag. |
| * tta/C/convert/convert_to_plaintext.c |
| (plaintext_format_setup): Set PF_asis on some commands. |
| (convert_to_plaintext_internal): Update. |
| |
| 2026-08-01 Gavin Smith <gavinsmith0123@gmail.com> |
| |
| Separate asis_commands from style_map |
| |
| * tta/perl/Texinfo/Convert/Plaintext.pm |
| (@asis_commands, %asis_commands): Change from array to hash. |
| (%style_map): Do not include asis_commands. |
| (_convert) <style map>: Update. |
| |
| 2026-08-01 Gavin Smith <gavinsmith0123@gmail.com> |
| |
| * tta/perl/Texinfo/Convert/Plaintext.pm (%command_style_map): |
| Remove unused hash. |
| |
| 2026-08-01 Patrice Dumas <pertusus@free.fr> |
| |
| plaintext C converter contents formatting |
| |
| * tta/perl/Texinfo/Convert/Plaintext.pm: move node_name and |
| _cache_node_names. |
| |
| * tta/perl/Texinfo/Convert/Plaintext.pm (format_contents): remove |
| useless code. Move repeat_count and spaces output before. |
| |
| * tta/perl/Texinfo/Convert/Plaintext.pm (_convert): call |
| contents, shortcontents and summarycontents conversion in the same |
| condition. |
| |
| * tta/C/convert/convert_to_plaintext.c (plaintext_convert_line) |
| (plaintext_convert_line_new_context): call para_end as should be. |
| |
| * tta/C/convert/convert_to_info.c (info_format_contents), |
| tta/C/convert/convert_to_plaintext.c (PLAINTEXT_COMMAND_STRUCT) |
| (plaintext_format_contents, plaintext_functions) |
| (convert_to_plaintext_internal): implement plaintext_format_contents |
| and add dispatch and conversion of contents. |
| |
| 2026-08-01 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/C/convert/converter.c (converter_txt_image_text): do not use the |
| buffer size as string length. |
| |
| * tta/C/convert/convert_to_plaintext.c |
| (plaintext_image_formatted_text): add warning message. |
| |
| * tta/C/convert/convert_to_plaintext.c |
| (plaintext_format_image_element), tta/C/convert/converter.c |
| (converter_txt_image_text): free strings. |
| |
| 2026-08-01 Patrice Dumas <pertusus@free.fr> |
| |
| Info and plaintext C converter @image formatting |
| |
| * tta/C/convert/converter.c (converter_txt_image_text): add. |
| |
| * tta/C/convert/convert_to_info.c (protect_image_string) |
| (info_format_image, info_format_image_element), |
| tta/C/convert/convert_to_plaintext.c (PLAINTEXT_FORMAT_FUNCTIONS) |
| (plaintext_image_formatted_text, plaintext_format_image_element) |
| (plaintext_functions, convert_to_plaintext_internal), |
| tta/C/main/converter_types.h (STRING_LINE_COUNT): implement Info and |
| plaintext image formatting, add dispatch. In Info, the result is |
| incorrect because NULL is used as a quoting character and the code is |
| not adapted to that. |
| |
| * tta/C/convert/convert_to_info.c (info_format_node): check that |
| node_directions is set before accessing. |
| |
| 2026-07-31 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/C/convert/convert_to_plaintext.c |
| (plaintext_conversion_finalization, convert_to_plaintext_internal), |
| tta/C/main/plaintext_converter_state.h (PLAINTEXT_CONVERTER_STATE): |
| add current_node in PLAINTEXT_CONVERTER_STATE, set and zero it. |
| |
| * tta/C/convert/convert_to_info.c |
| (info_format_error_outside_of_any_node), |
| tta/C/convert/convert_to_plaintext.c (PLAINTEXT_FORMAT_FUNCTIONS) |
| (plaintext_format_error_outside_of_any_node): implement |
| info_format_error_outside_of_any_node and add to dispatch table. |
| |
| 2026-07-31 Gavin Smith <gavinsmith0123@gmail.com> |
| |
| * tta/perl/Texinfo/Convert/Plaintext.pm (%style_map): |
| Simplify initialisation slightly. |
| |
| 2026-07-31 Gavin Smith <gavinsmith0123@gmail.com> |
| |
| C plaintext converter: initial style map implementation |
| |
| * tta/C/convert/convert_to_plaintext.c |
| (struct style_map): Add type. |
| (style_map): Add array. |
| (plaintext_format_setup): Sort style_map array, and set PF_style_map |
| command for commands listed therein. |
| (convert_to_plaintext): Check PF_style_map and retrieve style map data. |
| |
| 2026-07-31 Gavin Smith <gavinsmith0123@gmail.com> |
| |
| * tta/C/convert/convert_to_plaintext.c: remove superannuated comment. |
| |
| 2026-07-31 Gavin Smith <gavinsmith0123@gmail.com> |
| |
| * tta/C/convert/convert_to_plaintext.c (convert_to_plaintext_internal): |
| Initial @dfn implementation. |
| |
| 2026-07-31 Gavin Smith <gavinsmith0123@gmail.com> |
| |
| Use constant style map |
| |
| * tta/perl/Texinfo/Convert/Plaintext.pm |
| (%command_style_map): Remove 'dfn'. |
| (@double_quoted_commands, %double_quoted_commands): |
| Change from array to hash. |
| |
| (conversion_initialization): Initialize $self->{'open_double_quote'} |
| and $self->{'close_double_quote'}. Do not copy $self->{'style_map'} |
| from %style_map. |
| |
| (_convert) <style commands>: |
| Update to access %style_map rather than $self->{'style_map'}. |
| Access $self->{'open_double_quote'} and $self->{'close_double_quote'}. |
| |
| 2026-07-31 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/C/convert/convert_to_plaintext.c |
| (plaintext_convert_line_new_context), |
| tta/C/convert/convert_to_plaintext.h (STRING_COUNT_LINE_COUNT): add |
| plaintext_convert_line_new_context and associated |
| STRING_COUNT_LINE_COUNT return struct. |
| |
| * tta/C/convert/convert_to_info.c (info_format_ref), |
| tta/C/convert/convert_to_plaintext.c (plaintext_process_printindex): |
| use plaintext_convert_line_new_context to check colon in name and set |
| outside_of_any_node_text. |
| |
| * tta/C/convert/convert_to_info.c (info_format_ref, info_format_node): |
| do the check of character to quote in node names only if the node |
| names are quoted or there is a warning emitted. |
| |
| 2026-07-31 Patrice Dumas <pertusus@free.fr> |
| |
| Implement conversion of printindex in plaintext and Info C converters |
| |
| * tta/C/convert/format_html.c (html_convert_printindex_command) |
| (html_output_internal_links), tta/perl/Texinfo/Convert/HTML.pm |
| (_convert_printindex_command, output_internal_links): rename |
| index_entries_by_letter as sorted_indexes_by_letter. |
| |
| * tta/perl/Texinfo/Convert/Plaintext.pm (process_printindex): rename |
| index_entries as sorted_indexes. Add sorted_index variable. Change |
| conditions for clearer code. Put subentries in the same container as |
| the main entry. |
| |
| * tta/C/main/utils.c (string_width_multibyte): rename width_multibyte |
| as string_width_multibyte. Update callers. |
| |
| * tta/C/main/hashmap.c (c_hashmap_set_value): add. |
| |
| * tta/perl/Texinfo/Convert/Plaintext.pm, tta/C/main/element_types.txt: |
| rename frenchspacing special type as _frenchspacing. Add to C. |
| |
| * tta/C/convert/convert_indices.c (converter_sort_index_names), |
| tta/C/convert/converter.c (free_generic_converter), |
| tta/C/convert/html_converter_finish.c (html_free_converter), |
| tta/C/convert/html_prepare_converter.c |
| (html_conversion_initialization), tta/C/main/html_converter_state.h |
| (HTML_CONVERTER_STATE), tta/C/main/converter_types.h (CONVERTER): move |
| code used to sort index names and remove empty indices in converter |
| out of HTML conversion to the converter_sort_index_names function in |
| convert_indices.c. Move sorted_index_names from HTML_CONVERTER_STATE |
| to CONVERTER. Update users. |
| |
| * tta/C/convert/convert_to_plaintext.c (add_lines_count): add. |
| |
| * tta/C/convert/convert_to_plaintext.c |
| (plaintext_conversion_initialization) |
| (plaintext_conversion_finalization), |
| tta/C/main/plaintext_converter_state.h (PLAINTEXT_CONVERTER_STATE): add |
| index_entries_no_node and index_entry_node_colon hash maps, |
| outside_of_any_node_text and outside_of_any_node_text_width used for |
| printindex output to PLAINTEXT_CONVERTER_STATE, initialize and release. |
| |
| * tta/C/convert/convert_to_info.c (info_format_printindex), |
| tta/C/convert/convert_to_plaintext.c (PLAINTEXT_FORMAT_FUNCTIONS) |
| (CONVERT_PRINTINDEX_ENTRIES_INFO, plaintext_process_printindex) |
| (plaintext_format_printindex, plaintext_functions) |
| (convert_to_plaintext_internal): implement |
| plaintext_process_printindex and dispatch functions to use in |
| conversion to plaintext and Info. |
| |
| * tta/perl/Texinfo/Convert/Info.pm (format_contents): return undef. |
| |
| 2026-07-30 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/perl/Texinfo/Convert/Info.pm: move code around. |
| |
| 2026-07-30 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/perl/XSTexinfo/ParagraphXS.xs (para_end_line): adapt for |
| para_end_line return value being const. |
| |
| 2026-07-30 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/C/convert/convert_to_plaintext.c (push_formatter) |
| (pop_formatter): add push_formatter that wraps add_(formatter) and |
| para_set_state. Add para_set_state call to pop_formatter. Replace |
| calls of add_(formatter) by calls of push_formatter. Remove calls of |
| para_set_state that are not needed anymore. |
| |
| * tta/C/convert/convert_to_plaintext.c (stream_output_add_text): |
| finish implementation. |
| |
| 2026-07-30 Patrice Dumas <pertusus@free.fr> |
| |
| Implement node line formatting in C info converter |
| |
| * tta/C/convert/plaintext_paragraph.c (para_end_line): make return |
| value const. |
| |
| * tta/C/convert/convert_to_plaintext.c (plaintext_convert_line): add. |
| |
| * tta/C/convert/convert_to_info.c (info_output), |
| tta/C/convert/convert_to_plaintext.c (plaintext_free_converter), |
| tta/C/main/plaintext_converter_state.h (PLAINTEXT_CONVERTER_STATE): |
| add output_filename field to PLAINTEXT_CONVERTER_STATE, fill it and |
| free it. |
| |
| * tta/C/convert/convert_to_info.c (info_format_node, directions): |
| implement info_format_node. |
| |
| * tta/C/convert/convert_to_plaintext.c (PLAINTEXT_FORMAT_FUNCTIONS) |
| (plaintext_format_node, plaintext_functions) |
| (convert_to_plaintext_internal): add noop plaintext_format_node and |
| add dispatch of node formatting in conversion. |
| |
| * tta/perl/Texinfo/Convert/Info.pm (format_node): always return |
| nothing. |
| |
| 2026-07-29 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/C/main/utils.c (normalize_top_node_name): add. |
| |
| * tta/C/convert/plaintext_paragraph.c (para_add_pending_word), |
| tta/perl/XSTexinfo/ParagraphXS.xs (para_add_pending_word): make return |
| value of para_add_pending_word const as it is allocated and freed in |
| the function. |
| |
| * tta/C/convert/convert_to_plaintext.c (fill_formatter): add. |
| |
| * tta/C/main/plaintext_converter_state.h (STRING_WITH_WIDTH) |
| (PLAINTEXT_CONVERTER_STATE), tta/C/convert/convert_to_plaintext.c |
| (plaintext_conversion_initialization) |
| (plaintext_conversion_finalization): add node_names_cache array. |
| Allocate and release. |
| |
| * tta/C/convert/convert_to_plaintext.c (plaintext_convert_node_name) |
| (plaintext_node_name): implement. Cache node names only, not other |
| commands names, since it is more complex to do and not often useful. |
| |
| * tta/C/convert/convert_to_info.c (info_format_ref): use |
| plaintext_node_name. |
| |
| * tta/C/convert/convert_to_plaintext.c (plaintext_format_ref): copied |
| elements cannot be const. |
| |
| 2026-07-28 Patrice Dumas <pertusus@free.fr> |
| |
| Add dispatch for plaintext or Info specific functions, use for format_ref |
| |
| * tta/C/convert/converter.c (converter_format_data), |
| tta/C/convert/converter.h (TXI_CONVERSION_FORMAT_NR), |
| tta/C/main/converter_types.h (enum converter_format): start the list |
| of converters by plaintext and info to make simpler using the same |
| index to dispatch plaintext or info specific functions. |
| |
| * tta/C/convert/convert_to_plaintext.c (PLAINTEXT_FORMAT_FUNCTIONS) |
| (plaintext_functions, convert_to_plaintext_internal): add dispatch |
| table for formatting functions that are different for Info and |
| plaintext output. Use it for format_ref. |
| |
| * tta/perl/Texinfo/Convert/Info.pm (format_ref): do not replace |
| $args[0] by empty text, instead handle especially undefined |
| $label_element. Move code around. Reorganize code to follow more the |
| order of output and simplify a bit. |
| |
| * tta/C/convert/convert_to_info.c (info_format_ref), |
| tta/C/main/plaintext_converter_state.h (PLAINTEXT_CONVERTER_STATE): |
| add silent field in PLAINTEXT_CONVERTER_STATE. Implement |
| most of info_format_ref. |
| |
| 2026-07-27 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/C/convert/convert_to_plaintext.c |
| (convert_to_plaintext_internal): return immediately if a text type is |
| ignored. |
| |
| * tta/C/main/element_types.txt (_code, _stop_upper_case) |
| (_suppress_styles): add types used internally in plaintext converter. |
| |
| * tta/C/convert/convert_to_plaintext.c (plaintext_format_ref) |
| (convert_to_plaintext_internal): add plaintext_format_ref and use in |
| convert_to_plaintext_internal. |
| |
| * tta/perl/Texinfo/Convert/Info.pm (output): minor change to set |
| encoding only if not empty, and use defined in conditions when the |
| value is not used. |
| |
| * tta/perl/Texinfo/Convert/Plaintext.pm (format_ref): remove useless |
| variable and reset target_element too (in code that cannot be called). |
| |
| 2026-07-27 Gavin Smith <gavinsmith0123@gmail.com> |
| |
| Use "$@" |
| |
| * util/texi2dvi, |
| Replace use of ${1+"$@"} with "$@". |
| |
| 2026-07-27 Gavin Smith <gavinsmith0123@gmail.com> |
| |
| Use "$@" |
| |
| * util/texi2pdf, util/pdftexi2dvi: |
| Replace use of ${1+"$@"} with "$@" and remove zsh workaround. |
| ${1+"$@"} is no longer recommended as a workaround for ancient shells, |
| as documented in the Autoconf 2.73 manual. |
| |
| 2026-07-27 Patrice Dumas <pertusus@free.fr> |
| |
| Finish C info converter output function except for node tags |
| |
| * tta/C/convert/convert_to_info.c (INDIRECT_FILE_OFFSET), |
| INDIRECT_FILE_OFFSET_LIST, *indirect_files*: add indirect files lists |
| types and functions. |
| |
| * tta/C/convert/convert_to_info.c (info_output): file indirect files |
| list and output tag table with indirect tags file and local variables. |
| |
| 2026-07-26 Patrice Dumas <pertusus@free.fr> |
| |
| Continue C info converter output implementation |
| |
| * tta/C/main/convert_utils.c (output_files_rename_opened): add. |
| |
| * tta/perl/Texinfo/Convert/Info.pm (_open_info_file, output): have |
| _open_info_file return the encoded file name. Use that information to |
| replace _register_closed_info_file by a simple call to |
| output_files_register_closed. Add a variable for new output file and |
| new encoded output filename. |
| |
| * tta/C/convert/convert_to_info.c (info_output): implement writing |
| output units to files. |
| |
| 2026-07-26 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/C/convert/convert_to_plaintext.c (pop_count_context): destroy |
| the previously top context, not the one above. |
| |
| * tta/C/main/list_macros.h (decl_stack_fns): fix top_of_* generated |
| prototype. |
| |
| * tta/perl/Texinfo/Convert/Info.pm (output): set complete_header only |
| if there are nodes. |
| |
| * tta/perl/Texinfo/Convert/Info.pm (output): do not add a new context |
| when there are no nodes. |
| |
| * tta/C/convert/html_prepare_converter.c, tta/C/main/errors.c |
| (fill_source_info_file): move fill_source_info_file to errors.c. |
| |
| * tta/C/convert/convert_to_info.c (open_info_file): pass encoded |
| output file name back from open_info_file. Update caller. |
| |
| * tta/C/convert/convert_to_info.c (info_header): free result text. |
| |
| * tta/C/convert/convert_to_info.c (info_header, info_output): use |
| stream_yield_result to get hold of the resulting string. |
| |
| * tta/C/convert/convert_to_info.c (info_output): set conversion, |
| implement writing file without node. |
| |
| 2026-07-26 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/perl/Texinfo/Convert/Plaintext.pm: move code around. |
| |
| 2026-07-25 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/perl/Texinfo/Convert/Plaintext.pm (pop_top_formatter) |
| (process_printindex): destroy more unused formatters. |
| |
| * tta/C/convert/plaintext_paragraph.c (para_destroy): add deebugging |
| output. |
| |
| 2026-07-25 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/C/convert/convert_to_info.c (info_header), |
| tta/C/convert/convert_to_plaintext.c (convert_to_plaintext_internal): |
| call para_destroy to release the current formatter when it is not used |
| anymore. |
| |
| 2026-07-25 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/perl/Texinfo/Convert/Info.pm (format_ref): if the |
| cross-reference target is an internal identifier, call node_name to |
| get the cached value or setup the cached value, it will be present |
| or needed for the tag table. |
| |
| * tta/perl/Texinfo/Convert/Plaintext.pm (node_name): do not check that |
| node_names_text key exists, it should always be initialized. |
| |
| * tta/perl/Texinfo/Indices.pm (print_indices_information): check |
| if argument is not undef to avoid spurious autovivification. |
| |
| 2026-07-25 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/perl/Texinfo/Convert/Plaintext.pm (_cache_node_names): use the |
| same long-living formatter as node_name. |
| |
| 2026-07-25 Patrice Dumas <pertusus@free.fr> |
| |
| Distinguish paragraph end and destruction; improve node name caching |
| |
| * tta/C/convert/plaintext_paragraph.c (para_end, para_destroy), |
| tta/perl/Texinfo/Convert/ParagraphNonXS.pm (destroy), |
| tta/perl/Texinfo/Convert/Plaintext.pm (destroy_formatter), |
| tta/perl/XSTexinfo/ParagraphXS.xs (para_destroy): add destroy for |
| paragraph and formatter and distinguish from end. |
| |
| * tta/perl/Texinfo/Convert/Plaintext.pm, |
| tta/perl/Texinfo/Convert/Info.pm: destroy formatters when they are not |
| used anymore. |
| |
| * tta/perl/Texinfo/Convert/Plaintext.pm (node_name): use a long-living |
| formatter instead of calling convert_line_new_context. |
| |
| * tta/perl/Texinfo/Convert/Plaintext.pm (_cache_node_names): go |
| through nodes_list instead of going through output units. |
| |
| * tta/perl/Texinfo/Convert/Plaintext.pm (convert_line) |
| (convert_line_new_context): remove bogus third argument. |
| |
| * tta/perl/Texinfo/Convert/Plaintext.pm (new_formatter): simplify |
| indent_length_next setting. Set max for paragraph type only. |
| |
| * tta/perl/Texinfo/Convert/Plaintext.pm: inline and remove |
| _normalize_top_node. |
| |
| 2026-07-25 Patrice Dumas <pertusus@free.fr> |
| |
| Enable C info converter |
| |
| * tta/C/convert/converter.c (converter_format_data), |
| tta/C/convert/converter.h (TXI_CONVERSION_FORMAT_NR), |
| tta/C/main/converter_types.h (COF_info), tta/C/texi2any.c (main): |
| register info converter functions in converter_format_data and enable |
| in texi2any.c. |
| |
| * tta/C/convert/plaintext_paragraph.c (para_end): mark returned |
| char * as const, as it should be free'd in para_end, not by the |
| caller. |
| |
| * tta/C/convert/convert_to_info.c (info_header): do not free |
| para_end return value. |
| |
| 2026-07-25 Patrice Dumas <pertusus@free.fr> |
| |
| Do not call import on Texinfo::ModulePath without args in XSLoader.pm |
| |
| * tta/perl/Texinfo/XSLoader.pm (BEGIN): do not call |
| Texinfo::ModulePath->import() without argument, it is always wrong not |
| to pass the directories. Report and bisection from Dimitris |
| Papavasiliou. |
| |
| 2026-07-25 Patrice Dumas <pertusus@free.fr> |
| |
| Begin C info converter |
| |
| * tta/perl/Texinfo/Convert/Info.pm (_info_header): use directly |
| element instead of using contents. |
| |
| * tta/C/convert/convert_to_plaintext.c |
| (plaintext_get_informative_global_commands): add. |
| |
| * tta/C/convert/convert_to_plaintext.c |
| (plaintext_convert_output_unit), tta/C/convert/convert_to_plaintext.h: |
| rename convert_output_unit as plaintext_convert_output_unit. Update |
| callers. Make some functions extern for the C info converter, and |
| move PF_* defines to convert_to_plaintext.h. |
| |
| * tta/C/Makefile.am (C_libtexinfo_convert_sources), |
| tta/C/main/plaintext_converter_state.h (PLAINTEXT_CONVERTER_STATE), |
| C/convert/convert_to_info.c: start on the C info converter. |
| Add in_copying_header in PLAINTEXT_CONVERTER_STATE. |
| |
| 2026-07-23 Patrice Dumas <pertusus@free.fr> |
| |
| 2026-07-23 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/C/convert/converter.c (set_output_units_files), |
| tta/perl/Texinfo/Convert/Converter.pm (set_output_units_files), |
| tta/perl/Texinfo/Convert/Info.pm (output): |
| rename node_top as top_node. Rename top_node as top_target_element |
| before it is checked that the element is a @node element. Check |
| that the element is a @node when needed. |
| |
| 2026-07-23 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/perl/Texinfo/Convert/Info.pm (output, _info_header): set |
| informative commands to the values at the end of the preamble outside |
| of _info_header and reset only after converting and caching the node |
| names. Use set_converter_preamble_language_commands and |
| reset_lang_translation_from_customization to set all the language |
| information. |
| |
| 2026-07-25 Gavin Smith <gavinsmith0123@gmail.com> |
| |
| * tta/C/convert/convert_to_plaintext.c (convert_to_plaintext_internal): |
| Add TODO comment to match structure of Perl code. |
| |
| 2026-07-24 Gavin Smith <gavinsmith0123@gmail.com> |
| |
| * tta/C/convert/convert_to_plaintext.c: |
| Initial implementation of handling "quoted commands". |
| |
| 2026-07-24 Gavin Smith <gavinsmith0123@gmail.com> |
| |
| Split quoted commands from "style map" |
| |
| * tta/perl/Texinfo/Convert/Plaintext.pm, |
| (@quoted_commands, %quoted_commands): Change from array to hash. |
| (%style_map): Do not add quoted commands. |
| (conversion_initialization) <quoted commands>: Rather than updating |
| $self->{'style_map'}, save the open and close quote strings in |
| $self->{'open_quote'} and $self->{'close_quote'}. |
| (_convert) <style map commands>: Check for commands in %quoted_commands |
| as well as in $self->{'style_map'}; |
| |
| This is intended to simplify the C implementation as it will be |
| slightly easier to check a Boolean flag for a Texinfo command |
| rather than retrieving string values for that command. Many of the |
| "quoted commands" are very frequently used commands such as @code |
| so this should simplify a common case. |
| This also means that the only command left whose values are likely |
| to change inside $self->{'style_map'} is @dfn. |
| |
| 2026-07-24 Gavin Smith <gavinsmith0123@gmail.com> |
| |
| * tta/perl/Texinfo/Convert/Plaintext.pm |
| (%no_punctation_munging_commands, no_punctuation_munging_commands): |
| Rename. Remove 'var' as it is no longer checked for in this hash. |
| |
| 2026-07-24 Gavin Smith <gavinsmith0123@gmail.com> |
| |
| Split out handling of @var and @sc from "style map" |
| |
| * tta/perl/Texinfo/Convert/Plaintext.pm (_convert) <style map>: |
| Separate handling of "upper case commands" (@var and @sc) from |
| handling of commands added to $self->{'style_map'}. Most of the |
| code in the "style map" clause was irrelevant, except for the |
| code under the %no_punctation_munging_commands (sic) condition to |
| set frenchspacing, which applied to @var. However, @var already |
| had special-case code under the "upper case commands" condition, |
| so adding the frenchspacing code under the @var condition doesn't |
| increase complexity too much. |
| (@asis_commands): Remove 'var', 'sc'. |
| |
| 2026-07-23 Gavin Smith <gavinsmith0123@gmail.com> |
| |
| Shadow targets for texinfo.tex |
| |
| * doc/texinfo.tex (\donoderef): If no preceding @node, use the |
| section text itself as the target name, passed to new macro |
| \setrefshadow. |
| (\setrefshadow): Output @xrshad line to .aux file for shadow target, |
| and run \pdfdest in PDF output. |
| (\setref, \dosetref): Split out \dosetref. |
| |
| (\xrshad): Provide definition for control sequence written to .aux |
| file. Save information on shadow targets. |
| |
| (\checkshadowactive): New macro, used to check if a shadow target can |
| be referenced. |
| (\xrefX): Use \checkshadowactive to decide if we should output a |
| reference to a shadow target or not. |
| |
| (\xrdef, \xrdefctxt): Split out \xrdefctxt. |
| (\getrefx): Use \xrdefctx. Check for a shadow target if information |
| on the target couldn't be found. |
| |
| (\countA): Move definition earlier in file to use it as a |
| general purpose count register. |
| |
| 2026-07-23 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/C/main/plaintext_converter_state.h (PLAINTEXT_COMMAND_STRUCT): |
| move to plaintext_converter_state.h. |
| |
| * tta/C/convert/convert_to_plaintext.c (PF_ignored) |
| (plaintext_format_setup, plaintext_converter_initialize) |
| (convert_to_plaintext_internal), |
| tta/C/main/plaintext_converter_state.h (PLAINTEXT_CONVERTER_STATE): |
| setup default ignored commands in plaintext_commands_data flags. Add |
| commands_data PLAINTEXT_COMMAND_STRUCT array in |
| PLAINTEXT_CONVERTER_STATE. Copy plaintext_commands_data to |
| commands_data in plaintext_converter_initialize, and modify based on |
| customization. |
| |
| * tta/C/convert/convert_to_plaintext.c (PF_informative) |
| (plaintext_format_setup, convert_to_plaintext_internal): setup |
| informative commands as a flag in plaintext_commands_data. |
| |
| 2026-07-23 Gavin Smith <gavinsmith0123@gmail.com> |
| |
| Add const |
| |
| * info/tag.c (tag_expand, struct tag_handler, tag_image) |
| (find_tag_handler, tag_expand): |
| Change type of parameters from char * to const char *, or |
| char ** to const char **. |
| |
| 2026-07-23 Gavin Smith <gavinsmith0123@gmail.com> |
| |
| * info/terminal.c (terminal_new_terminal, terminal_new_terminal_hook): |
| Remove unused. |
| |
| 2026-07-23 Gavin Smith <gavinsmith0123@gmail.com> |
| |
| Add const |
| |
| * info/terminal.c (terminal_initialize_terminal) |
| (terminal_initialize_terminal_hook): |
| * info/pcterm.c (pc_initialize_terminal): |
| Change types of arguments from char * to const char *. |
| * info/terminal.c (term_name): |
| change type from char * to const char *. |
| |
| 2026-07-23 Gavin Smith <gavinsmith0123@gmail.com> |
| |
| Add const |
| |
| * info/variables.c (update_rendition_from_string) |
| (update_highlight_searches, set_variable_to_value): |
| Change argument from type char * to const char *. |
| |
| 2026-07-22 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/C/convert/convert_to_plaintext.c (plaintext_free_converter): |
| free plaintext_converter only if it was allocated. It is allocated |
| if the converter is created from C, but not if created from XS. |
| |
| 2026-07-22 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/C/main/converter_types.h (TRANSLATED_COMMAND) |
| (TRANSLATED_COMMAND_LIST, DEPRECATED_DIR_INFO, DEPRECATED_DIRS_LIST) |
| (enum command_type_variety, COMMAND_ID_LIST, FILE_STREAM) |
| (FILE_STREAM_LIST, OUTPUT_FILES_INFORMATION, FILE_NAME_PATH_COUNTER) |
| (FILE_NAME_PATH_COUNTER_LIST, CONVERTER, COMMAND_OR_TYPE) |
| (COMMAND_OR_TYPE_STACK, STRING_STACK, INTEGER_STACK) |
| (SORTED_INDEX_NAMES, ACCENT_ENTITY_INFO, COMMAND_ACCENT_ENTITY_INFO), |
| tta/C/main/html_converter_state.h, tta/maintain/generate_css_data.pl: |
| now that HTML_CONVERTER_STATE is used through a pointer, it is |
| possible to have a declaration without definition and reverse the |
| inclusion order of header files, by having html_converter_state.h |
| include converter_types.h. Move back some non-HTML specific types to |
| converter_types.h. Add #include "html_converter_state.h" where |
| needed. |
| |
| * tta/C/convert/convert_to_plaintext.c, tta/C/main/converter_types.h |
| (CONVERTER): declare struct PLAINTEXT_CONVERTER_STATE and do not |
| include plaintext_converter_state.h in converter_types.h. |
| |
| 2026-07-22 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/C/convert/convert_to_plaintext.c (plaintext_free_converter) |
| (plaintext_converter_initialize), tta/C/main/converter_types.h |
| (CONVERTER): make plaintext_converter a pointer. Update users. |
| |
| * tta/C/convert/convert_to_plaintext.c: rename self_pt as |
| self_plaintext, more homogeneous code. |
| |
| 2026-07-22 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/C/convert/converter.c (set_output_units_files): free |
| file_name_text text. |
| |
| * tta/C/convert/html_prepare_converter.c |
| (html_converter_initialize_beginning), |
| tta/C/convert/html_converter_finish.c (html_free_converter), |
| tta/C/main/converter_types.h (CONVERTER): make html_converter a |
| pointer in CONVERTER. Update users. |
| |
| * tta/C/main/get_perl_info.c (find_element_extra_index_entry_sv): |
| access html_converter only if converter is set. |
| |
| * tta/C/main/get_perl_info.c (converter_release_output_units_built), |
| tta/C/convert/converter.c (destroy_converter_output_units), |
| tta/C/convert/converter.c (reset_tree_to_build): check if |
| html_converter is set. |
| |
| 2026-07-22 Gavin Smith <gavinsmith0123@gmail.com> |
| |
| * doc/texinfo.texi (HTML Output Structure Customization): |
| Move discussion of SPLIT after discussion of USE_NODES and say |
| that by default, "each output unit" rather than "each node" is |
| output in a separate file as this may not be the case if USE_NODES=0. |
| |
| 2026-07-22 Gavin Smith <gavinsmith0123@gmail.com> |
| |
| * info/signals.c (info_signal_proc) <SIGWINCH>: |
| Do not attempt to unblock signal, as this should be unnecessary. |
| |
| 2026-07-22 Gavin Smith <gavinsmith0123@gmail.com> |
| |
| * info/signals.c, info/signals.h: |
| Move most of the contents of signals.h into signals.c. |
| Provide declaration of initialize_info_signal_handler in signals.h. |
| |
| 2026-07-22 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/C/structuring_transfo/structuring.c (register_referenced_node) |
| (check_nodes_are_referenced): add some const. |
| |
| 2026-07-22 Gavin Smith <gavinsmith0123@gmail.com> |
| |
| * info/signals.c, info/infomap.c: |
| Remove lines setting vim editing options. |
| |
| 2026-07-22 Gavin Smith <gavinsmith0123@gmail.com> |
| |
| * info/info.c: fix formatting |
| |
| 2026-07-22 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/C/convert/format_html.c (html_get_top_unit), |
| tta/C/convert/html_prepare_converter.c (html_set_pages_files), |
| tta/C/main/output_unit.c (units_directions), |
| tta/C/structuring_transfo/structuring. (check_nodes_are_referenced) |
| (complete_node_tree_with_menus, set_top_node_next) |
| (construct_nodes_tree), tta/C/structuring_transfo/transformations.c |
| (regenerate_master_menu), tta/perl/Texinfo/Convert/HTMLNonXS.pm |
| (_get_top_unit, _html_set_pages_files), |
| tta/perl/Texinfo/OutputUnits.pm (units_directions), |
| tta/perl/Texinfo/StructuringNonXS.pm (check_nodes_are_referenced) |
| (complete_node_tree_with_menus, construct_nodes_tree), |
| tta/perl/Texinfo/TransformationsNonXS.pm (regenerate_master_menu): |
| rename node_top as top_node. Rename top_node as top_target_element |
| when it is not checked that the element is a @node element. Check |
| that the element is a @node when needed. |
| |
| * tta/perl/Makefile.tres, tta/perl/t/converters_tests.t |
| (top_is_an_anchor, top_is_an_anchor_and_node): test an anchor being |
| named Top. |
| |
| * tta/perl/Makefile.tres, tta/perl/t/converters_tests.t (@file_tests): |
| also test file_plaintext. |
| |
| 2026-07-22 Patrice Dumas <pertusus@free.fr> |
| |
| * info/info.c (main): fix removed first letters of function name |
| calls. |
| |
| 2026-07-22 Patrice Dumas <pertusus@free.fr> |
| |
| C plaintext converter output and convert |
| |
| * tta/C/convert/convert_to_plaintext.c |
| (plaintext_converter_initialize): fix sizeof call. |
| |
| * tta/C/convert/convert_to_plaintext.c (plaintext_convert_tree): do |
| not set top_formatter context that is supposed to be already set. |
| |
| * tta/C/main/html_converter_state.h (HTML_CONVERTER_STATE), |
| tta/C/main/converter_types.h (CONVERTER): move |
| output_unit_file_indices field to the generic converter as it should |
| be along with output_unit_files. Update users. |
| |
| * tta/C/convert/convert_to_plaintext.c |
| (plaintext_conversion_finalization), |
| tta/C/main/plaintext_converter_state.h (PLAINTEXT_CONVERTER_STATE): |
| add encoding_disabled field. |
| |
| * tta/perl/Texinfo/Convert/Converter.pm (set_output_units_files): |
| use directly associated_unit for Top node. Fix set_output_unit_file |
| call in the last resort code (which is probably never called). |
| |
| * tta/C/convert/converter.c (set_output_units_files): add. |
| |
| * tta/C/convert/convert_to_plaintext.c (convert_output_unit) |
| (plaintext_output, plaintext_convert): implement plaintext_output |
| and plaintext_convert fully, and convert_output_unit partially. |
| |
| * tta/perl/Texinfo/Convert/Plaintext.pm (output): change a variable |
| name. |
| |
| 2026-07-21 Gavin Smith <gavinsmith0123@gmail.com> |
| |
| info: expand tabs to spaces |
| |
| * info/echo-area.c, info/filesys.c, info/info.c, info/infopath.c, |
| info/makedoc.c, info/m-x.c info/nodemenu.c, info/run-external.c, |
| info/signals.c, info/tag.c, info/tilde.c, info/variables.c, |
| info/session.h: |
| Expand tabs used for indentation in files where they are anomalous. |
| |
| Leading tabs can make the output of "git diff" look wrong due |
| to lines being misaligned. |
| |
| 2026-07-21 Gavin Smith <gavinsmith0123@gmail.com> |
| |
| info: do less in SIGWINCH handler |
| |
| * info/signals.c (signal_block_winch, signal_unblock_winch): |
| Remove functions. Remove all calls to these functions. |
| (sigwinch_block_count): Remove. |
| (This reverses much of change on 2014-07-07.) |
| |
| (info_signal_proc) <SIGWINCH, SIGUSR1>: Do not do any redrawing |
| of terminal inside this function. Instead, set a volatile variable |
| to indicate that the terminal size may have changed and that windows |
| need to be redrawn. |
| (maybe_update_after_signal): New function, to be called outside of |
| a signal handler on a regular basis. Redraw display if it's possible |
| the screen size has changed. |
| |
| * info/session.c (fill_input_buffer): Call maybe_update_after_signal. |
| |
| According to C standards and glibc documentation, accessing data |
| structures or calling library functions in a signal handler can |
| lead to undefined behaviour. |
| |
| 2026-07-21 Patrice Dumas <pertusus@free.fr> |
| |
| Continue C plaintext converter and conversion initialization |
| |
| * tta/C/convert/converter.c (initialize_cmd_list), |
| tta/C/convert/html_prepare_converter.c: move initialize_cmd_list to |
| converter.c. |
| |
| * tta/C/convert/convert_to_plaintext.c |
| (plaintext_converter_initialize), |
| tta/C/main/plaintext_converter_state.h (PLAINTEXT_CONVERTER_STATE): |
| implement plaintext_converter_initialize. |
| |
| * tta/perl/Texinfo/Convert/Plaintext.pm (converter_initialize): |
| info_special_chars_warning is an integer, not a string. |
| |
| * tta/C/convert/convert_to_plaintext.c |
| (plaintext_conversion_initialization, informative_global_commands) |
| (contents_commands, plaintext_free_converter) |
| (plaintext_converter_initialize), |
| tta/C/main/plaintext_converter_state.h (PLAINTEXT_CONVERTER_STATE): |
| being the implemention of plaintext_conversion_initialization. |
| |
| * tta/C/convert/convert_to_plaintext.c (format_raw_cmd) |
| (PLAINTEXT_COMMAND_STRUCT, plaintext_commands_data) |
| (plaintext_format_setup), tta/C/convert/converter.c |
| (converter_format_data): setup constant data related to raw formt |
| commands. |
| |
| 2026-07-20 Gavin Smith <gavinsmith0123@gmail.com> |
| |
| Change info test not to use :cntrl: in grep regex |
| |
| * info/t/quoted-index-target.sh: Strip out DEL bytes |
| from output file with tr. Remove use of "[[:cntrl:]]" in |
| grep regex to check for such bytes. Alter test slightly |
| to be effective with updated regex, using "--index-search" |
| instead of "--index-search --all", which means we actually |
| go to the referenced node. |
| |
| The use of "[[:cntrl:]]" in a grep regex led to a failure on |
| Solaris 11, where apparently such character classes are not |
| recognised by the grep program. Report from Bruno. |
| |
| 2026-07-20 Gavin Smith <gavinsmith0123@gmail.com> |
| |
| * info/info.c (main) <--index-search>: |
| Pass -1 as starting offset to next_index_match otherwise we |
| skip over the very first index entry in the first index node. |
| |
| 2026-07-19 Gavin Smith <gavinsmith0123@gmail.com> |
| |
| * doc/texinfo.tex (\include): Remove \tracingmacros=1 left in |
| by mistake. |
| |
| 2026-07-18 Gavin Smith <gavinsmith0123@gmail.com> |
| |
| Remove unused definitions for !HAVE_SIGPROCMASK |
| |
| * info/signals.h [!HAVE_SIGPROCMASK] |
| (sigmask, SIG_UNBLOCK, SIG_BLOCK, sigset_t, sigemptyset, sigfillset) |
| (sigaddset, sigdelset, sigismember, sigsuspend): |
| Remove #define's as these symbols are not otherwise used under |
| this condition. |
| |
| 2026-07-18 Gavin Smith <gavinsmith0123@gmail.com> |
| |
| Remove check of SA_NOCLDSTOP |
| |
| * info/signals.c (initialize_info_signal_handler): |
| Use #ifdef HAVE_SIGACTION instead of #ifdef SA_NOCLDSTOP. |
| * info/signals.h: Remove check of SA_NOCLDSTOP from condition. |
| |
| The use of SA_NOCLDSTOP was introduced on 2004-03-27 for |
| the benefit of Solaris 7, which is likely no longer a relevant |
| system to support. |
| signals.h had a comment referencing "sort.c" in the coreutils |
| sources, but recent coreutils sources do not check SA_NOCLDSTOP |
| any more (likely since change on 2025-11-22). |
| |
| 2026-07-18 Gavin Smith <gavinsmith0123@gmail.com> |
| |
| * info/signals.h: |
| Remove use of HAVE_SIGSETMASK conditional. Check for |
| sigsetmask was removed on 2019-02-17. |
| |
| 2026-07-19 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/TODO: link to recently started discussions on manuals |
| translations. |
| |
| Improve comments. |
| |
| 2026-07-18 Gavin Smith <gavinsmith0123@gmail.com> |
| |
| * configure.ac (AC_CHECK_FUNCS): |
| Re-add sigprocmask as HAVE_SIGPROCMASK is used in |
| info/signals.h. |
| |
| 2026-07-18 Gavin Smith <gavinsmith0123@gmail.com> |
| |
| * configure.ac (AC_CHECK_FUNCS): |
| Remove check for sigprocmask. |
| |
| * info/signals.c (info_signal_proc) |
| [!HAVE_SIGACTION && HAVE_SIGPROCMASK]: |
| Remove code. Systems without sigaction but which do have |
| sigprocmask may be rare - the Gnulib manual only mentions |
| that both functions are missing on mingw and MSVC 14. |
| (term_conf_busy): Remove unused. |
| |
| 2026-07-18 Gavin Smith <gavinsmith0123@gmail.com> |
| |
| * info/scan.c (scan_reference_target) <menu entry>: |
| Allow tab to follow period in terminating node name. |
| |
| 2026-07-18 Gavin Smith <gavinsmith0123@gmail.com> |
| |
| Use sig_atomic_t |
| |
| * info/signals.c [!HAVE_SIGACTION] (term_conf_busy), |
| (sigwinch_block_count): |
| Declare as volatile sig_atomic_t rather than int, as they |
| are accessed inside the signal handler info_signal_proc. |
| |
| 2026-07-17 Gavin Smith <gavinsmith0123@gmail.com> |
| |
| * info/signals.c (info_signal_handler) [!HAVE_SIGACTION]: |
| Remove #define of info_signal_handler to info_signal_proc. |
| This is incorrect as the former is a structure and the latter |
| is a function. info_signal_handler is not referred to |
| elsewhere in this file under !HAVE_SIGACTION, except under |
| #ifdef SA_NOCLDSTOP, where it is accessed as a structure. If |
| both conditions are true, there is a compilation error. |
| |
| This #define appears to have been present since the use of sigaction |
| was introduced in a patch by AIDA Shinra, dated 2003-01-25. |
| |
| 2026-07-17 Gavin Smith <gavinsmith0123@gmail.com> |
| |
| * doc/texinfo.texi (Images, Image Syntax): |
| Try to discourage using images inside paragraphs. |
| |
| 2026-07-17 Gavin Smith <gavinsmith0123@gmail.com> |
| |
| Info: Add space for image output |
| |
| * tta/perl/Texinfo/Convert/ParagraphNonXS.pm (add_to_counter), |
| * tta/C/convert/plaintext_paragraph.c (para_add_to_counter), |
| * tta/perl/XSTexinfo/ParagraphXS.xs (para_add_to_counter): |
| New functions. |
| |
| * tta/perl/Texinfo/Convert/Plaintext.pm (_convert) <image>: |
| Call it in order to account for some horizontal space taken |
| up by an image. Add a comment describing the unsatisfactory |
| situation. |
| |
| Report from Werner. |
| |
| 2026-07-16 Gavin Smith <gavinsmith0123@gmail.com> |
| |
| Change paragraphindent from string to integer |
| |
| * tta/data/options_data.txt: declare paragraphindent as integer |
| |
| * tta/perl/Texinfo/Common.pm (informative_command_value), |
| * tta/C/main/utils.c (informative_command_value), |
| * tta/perl/texi2any.pl, |
| * tta/C/texi2any.c: |
| For paragraphindent, save 'asis' value as -2 and 'none' value as 0. |
| |
| * tta/perl/Texinfo/Convert/Plaintext.pm (_convert): update to handle |
| paragraphindent setting as integer. |
| |
| * tta/C/convert/convert_to_plaintext.c: update |
| |
| This simplifies the C conversion code as we now don't need to call |
| strcmp and strtol for every paragraph. |
| |
| 2026-07-16 Gavin Smith <gavinsmith0123@gmail.com> |
| |
| LaTeX: \smallbreak before definition |
| |
| * tta/perl/Texinfo/Convert/LaTeX.pm (_convert_def_line): |
| Output \smallbreak before definition output. |
| |
| Report from Dimitris Papavasiliou <dpapavas@protonmail.ch>. |
| |
| 2026-07-15 Gavin Smith <gavinsmith0123@gmail.com> |
| |
| * tta/C/main/text.c (text_abandon, text_yield): Rename |
| and return pointer to text buffer. |
| |
| 2026-07-15 Gavin Smith <gavinsmith0123@gmail.com> |
| |
| Continue C plaintext converter |
| |
| * tta/C/main/text.c (text_abandon): New function. |
| |
| * tta/C/convert/convert_to_plaintext.c |
| (stream_reset, stream_yield_result): New. |
| (convert_to_plaintext): Call stream_yield_result to avoid calling |
| strdup unnecessarily. |
| |
| 2026-07-15 Gavin Smith <gavinsmith0123@gmail.com> |
| |
| * tta/perl/Texinfo/Convert/Plaintext.pm |
| (_stream_reset, _stream_yield_result): New functions. |
| (convert_output_unit): Use them. |
| |
| 2026-07-15 Gavin Smith <gavinsmith0123@gmail.com> |
| |
| * tta/C/Makefile.am: Fix rules to refer to main/types_data.c correctly. |
| |
| 2026-07-14 Gavin Smith <gavinsmith0123@gmail.com> |
| |
| Continue C plaintext converter |
| |
| * tta/C/convert/convert_to_plaintext.c (convert_to_plaintext_internal): |
| Add more template code. |
| |
| 2026-07-14 Gavin Smith <gavinsmith0123@gmail.com> |
| |
| Continue C plaintext converter |
| |
| * tta/C/convert/convert_to_plaintext.c (convert_to_plaintext_internal): |
| Return statement after processing text now matches Perl code. |
| |
| 2026-07-14 Gavin Smith <gavinsmith0123@gmail.com> |
| |
| * tta/perl/Texinfo/Convert/Plaintext.pm (_convert): |
| Return after processing text. |
| |
| 2026-07-14 Gavin Smith <gavinsmith0123@gmail.com> |
| |
| Rename generated file. |
| |
| * tta/C/main/element_types.awk: Rename generated file |
| element_types.c to types_data.c. This means that the comment |
| at the top of tta/C/main/types_data.h refers to a file which |
| exists, types_data.c, for which it contains declarations. |
| |
| This code has changed before, most recently in 2024-05-31 |
| when the number of .c files generated by this helper program |
| was reduced from 2 to 1. |
| |
| 2026-07-14 Gavin Smith <gavinsmith0123@gmail.com> |
| |
| * tta/: |
| run "gnulib --add-import unistr/u32-mbsnlen unistr/u32-mbtouc". |
| Report from Bruno Haible. |
| |
| 2026-07-14 Gavin Smith <gavinsmith0123@gmail.com> |
| |
| * tta/: run "gnulib --remove-import unistr/u32-strdup" as |
| this module is not needed any more. |
| |
| 2026-07-14 Gavin Smith <gavinsmith0123@gmail.com> |
| |
| * info/t/quoted-index-target.sh: update test |
| |
| 2026-07-14 Thomas <thomb@pm.me> (tiny change) |
| |
| * info/indices.c (format_reference): |
| Place quoting DEL bytes around node name if it contains a :. |
| * info/scan.h, info/scan.c: move INFO_QUOTE, INFO_QUOTE_STR definition |
| to scan.h. |
| |
| 2026-07-14 Gavin Smith <gavinsmith0123@gmail.com> |
| |
| * info/t/quoted-index-target.sh: in grep regular expression, replace |
| "[[:blank:]]\{1,\}" with " *", as this seems simpler and avoids any |
| hint of locale dependence. |
| |
| 2026-07-12 Gavin Smith <gavinsmith0123@gmail.com> |
| |
| * tta/C/main/unicode-collation: sync |
| |
| 2026-07-12 Gavin Smith <gavinsmith0123@gmail.com> |
| |
| * tta/C/convert/convert_to_plaintext.c (plaintext_converter_defaults): |
| Call new generated function add_plaintext_regular_options_defaults. |
| |
| 2026-07-12 Gavin Smith <gavinsmith0123@gmail.com> |
| |
| * tta/data/converters_defaults.txt: |
| Add section for 'plaintext'. Edit comments at top of file. |
| |
| * tta/perl/Texinfo/Convert/Plaintext.pm (%defaults): |
| Set with Texinfo::Options::get_regular_options. |
| |
| 2026-07-11 Gavin Smith <gavinsmith0123@gmail.com> |
| |
| Fix messaging after index search |
| |
| * info/indices.c (info_indices_of_file_buffer): |
| Reset list of index entries once we find a node with |
| an index tag. |
| * info/t/infodir/index-search.info: Add missing index tag to |
| test file. |
| |
| It was possible that the string "CAN'T SEE THIS" would |
| be displayed as the name of an index in the message line, |
| due to incorrect internal counting of index entries. |
| |
| 2026-07-11 Thomas <thomb@pm.me> (tiny change) |
| |
| * info/t/quoted-index-target.sh: new test. |
| |
| 2026-07-11 Gavin Smith <gavinsmith0123@gmail.com> |
| |
| Fix index reference to node with : in its name |
| |
| * info/scan.c (scan_reference_label): Include DEL byte in |
| argument to strcspn. This reverses change on 2024-12-30. |
| |
| Fix from ThomB <thomb@pm.me>. |
| |
| 2026-07-10 Gavin Smith <gavinsmith0123@gmail.com> |
| |
| * README-hacking: remove missed self-destructing note for post |
| 7.3 release, which should have been removed after DUMP_TREE |
| change on 2026-04-01. |
| |
| 2026-07-10 Gavin Smith <gavinsmith0123@gmail.com> |
| |
| Attempt at comments in data file cross-referencing other files |
| |
| * tta/data/converters_defaults.txt: add comment at top |
| of file cross-referencing other related files. |
| |
| * tta/maintain/regenerate_perl_options_info.pl, |
| * tta/maintain/regenerate_C_options_info.pl: |
| Reference converter_defaults.txt and relevant Makefile.am files. |
| Correct file names in comments at tops of files. |
| |
| * tta/perl/Makefile.am: Add comment about keeping a file name in |
| sync with a comment in a another file. |
| |
| The thinking behind these comments is that if someone finds one |
| of these files is relevant to converter options values, they should |
| be easily able to find how they are set and used across the rest of |
| the code base. |
| They should also be able to easily know what comments to update |
| in case of any changes to prevent out-of-date information. |
| |
| 2026-07-10 Gavin Smith <gavinsmith0123@gmail.com> |
| |
| Continue C plaintext converter |
| |
| * tta/C/convert/convert_to_plaintext.c (convert_to_plaintext_internal): |
| Get paragraphindent conf value as string with strtoul. From Patrice. |
| |
| 2026-07-10 Gavin Smith <gavinsmith0123@gmail.com> |
| |
| Continue C plaintext converter |
| |
| * tta/C/convert/convert_to_plaintext.c (convert_to_plaintext_internal): |
| Don't get paragraph indent from self->conf until we work out how to do |
| this. Fill out more skeleton code. |
| |
| 2026-07-09 Gavin Smith <gavinsmith0123@gmail.com> |
| |
| * tta/C/convert/convert_to_plaintext.c (convert_to_plaintext_internal): |
| Get paragraph indent from self->conf. |
| |
| 2026-07-09 Gavin Smith <gavinsmith0123@gmail.com> |
| |
| new_formatter for C plaintext converter |
| |
| * tta/C/convert/convert_to_plaintext.c (new_formatter): |
| Set appropriate paragraph formatting settings. (This produced a big |
| improvement in the output at this stage of development.) |
| |
| 2026-07-09 Gavin Smith <gavinsmith0123@gmail.com> |
| |
| Simplify new_formatter interface |
| |
| * tta/perl/Texinfo/Convert/Plaintext.pm (new_formatter): |
| Take 'indent_length' and 'indent_length_next' as subroutine |
| parameters rather than hash values. This should make this function |
| easier to replicate in a C reimplementation. |
| (convert_line, convert_line_new_context): Likewise. |
| |
| 2026-07-08 Gavin Smith <gavinsmith0123@gmail.com> |
| |
| Simplify new_formatter interface |
| |
| * tta/perl/Texinfo/Convert/Plaintext.pm (_convert) <list of floats>: |
| Do not pass "max" configuration value to 'new_formatter' as 'new_formatter' |
| retrieves this value itself. This allows simplifying the interface of |
| 'new_formatter' as now the only configuration values it takes are |
| 'indent_length' and 'indent_length_next'. |
| |
| 2026-07-07 Gavin Smith <gavinsmith0123@gmail.com> |
| |
| * tta/C/convert/convert_to_plaintext.c: |
| Increase use of stack functions slightly. |
| |
| 2026-07-06 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/C/main/builtin_commands.h, tta/C/main/command_data.awk (END): |
| rename builtin_command_data as command_data. Update users. |
| |
| 2026-07-06 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/C/parsetexi/commands.h (parsed_command_data): rename |
| command_data as parsed_command_data. Update callers. |
| |
| 2026-07-07 Gavin Smith <gavinsmith0123@gmail.com> |
| |
| * tta/C/convert/convert_to_plaintext.c (convert_to_plaintext_internal): |
| Call element_builtin_cmd and remove TODO comment. From Patrice. |
| |
| 2026-07-07 Gavin Smith <gavinsmith0123@gmail.com> |
| |
| Remove parameters from set_space_protection |
| |
| * tta/perl/Texinfo/Convert/ParagraphNonXS.pm, (set_space_protection), |
| * tta/C/convert/plaintext_paragraph.c (para_set_space_protection), |
| * tta/perl/XSTexinfo/ParagraphXS.xs (para_set_space_protection): |
| Remove all optional parameters. |
| |
| * tta/perl/t/z_misc/paragraph.t: update use of set_space_protection. |
| |
| 2026-07-07 Gavin Smith <gavinsmith0123@gmail.com> |
| |
| Reduce use of set_space_protection |
| |
| * tta/perl/XSTexinfo/ParagraphXS.xs, |
| tta/perl/Texinfo/Convert/ParagraphNonXS.pm |
| (set_frenchspacing, set_double_width_no_break): |
| New functions. |
| * tta/perl/Texinfo/Convert/Paragraph.pm: Add these to @EXPORT_OK. |
| |
| * tta/perl/Texinfo/Convert/Plaintext.pm (_open_code, _convert), |
| * tta/perl/Texinfo/Convert/Info.pm (_format_ref): |
| Use these instead of set_space_protection, as it's easier to |
| understand without remembering what all the arguments to |
| set_space_protection mean. |
| |
| 2026-07-06 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/C/main/manipulate_indices.c (print_indices_sort_strings): inline |
| setup_indices_entries_sort_strings in print_indices_sort_strings and |
| remove. More comments. |
| |
| * tta/C/main/manipulate_indices.c (INDEX_ENTRIES_SORT_STRINGS) |
| (find_indices_entries_sort_strings_index, print_indices_sort_strings): |
| replace index field in INDEX_ENTRIES_SORT_STRINGS by index_name, as it |
| is all that is accessed from the index. |
| |
| * tta/perl/t/z_misc/test_sort.t: more comments. |
| |
| 2026-07-06 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/C/main/document.c (document_sorted_indices_by_index) |
| (document_sorted_indices_by_letter): return indices sorted by index or |
| by letter instead of the collation information. Update callers. |
| |
| 2026-07-06 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/perl/t/z_misc/accents.t: add comments, remove useless FIXME. |
| |
| 2026-07-06 Gavin Smith <gavinsmith0123@gmail.com> |
| |
| * tta/C/convert/plaintext_paragraph.h (PARA_CONF_VARIABLES_LIST): |
| Remove word_counter and lines_counter as these are not set from |
| outside the module. |
| * tta/C/convert/plaintext_paragraph.c (struct PARAGRAPH): |
| Reorder struct members. |
| |
| 2026-07-06 Gavin Smith <gavinsmith0123@gmail.com> |
| |
| Paragraph conf |
| |
| * tta/perl/XSTexinfo/ParagraphXS.xs (para_new): |
| Warn if there is a key in the paragraph configuration hash that is |
| not a recognized configuration variable. |
| * tta/perl/Texinfo/Convert/Plaintext.pm (process_printindex): |
| Use 'indent_length' instead of 'indent' in call to new_formatter. |
| * tta/perl/Texinfo/Convert/Info.pm (format_ref): Fix call to |
| convert_line_new_context. |
| |
| 2026-07-05 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/perl/t/test_utils.pl (test): fix variable name. Report from |
| Gavin. |
| |
| 2026-07-05 Gavin Smith <gavinsmith0123@gmail.com> |
| |
| * tta/perl/Texinfo/Convert/Plaintext.pm (new_formatter): |
| Split $conf parameter into two parameters, one for paragraph |
| configuration only. |
| |
| 2026-07-05 Gavin Smith <gavinsmith0123@gmail.com> |
| |
| * tta/perl/Texinfo/Convert/Plaintext.pm |
| (new_formatter) <flush commands>: |
| Set 'ignore_columns' and 'keep_end_lines' on container configuration |
| rather than calling set_space_protection. |
| |
| 2026-07-05 Gavin Smith <gavinsmith0123@gmail.com> |
| |
| * tta/C/convert/plaintext_paragraph.h (PARA_CONF_VARIABLES_LIST): |
| Add double_width_no_break, for completeness. |
| |
| 2026-07-05 Patrice Dumas <pertusus@free.fr> |
| |
| Converter indices sort strings comparison in tests |
| |
| * tta/C/main/manipulate_indices.c (print_indices_sort_strings), |
| tta/perl/Texinfo/Indices.pm (print_indices_sort_strings): return |
| NULL/undef instead of an empty string. |
| |
| * tta/perl/t/test_utils.pl (test): compare converter indices sort |
| strings with reference in tests. |
| |
| 2026-07-05 Patrice Dumas <pertusus@free.fr> |
| |
| Implement printing of converter indices sort strings |
| |
| * tta/C/main/document.c (print_document_indices_sort_strings), |
| tta/C/main/manipulate_indices.c (INDEX_ENTRIES_SORT_STRINGS) |
| (INDICES_ENTRIES_SORT_STRINGS) |
| (find_indices_entries_sort_strings_index) |
| (setup_indices_entries_sort_strings, print_indices_sort_strings), |
| tta/perl/Texinfo/Document/IndicesNonXS.pm |
| (print_document_indices_sort_strings), tta/perl/Texinfo/Indices.pm |
| (print_indices_information): split out of |
| print_document_indices_sort_strings the association of index entries |
| to sort strings and the output of sort strings by index to the |
| print_indices_sort_strings function, moved to manipulate_indices.c or |
| Indices.pm. Move INDEX_ENTRIES_SORT_STRINGS, |
| INDICES_ENTRIES_SORT_STRINGS, find_indices_entries_sort_strings_index |
| and setup_indices_entries_sort_strings to manipulate_indices.c. |
| |
| * tta/C/convert/converter.c (print_converter_indices_sort_strings), |
| tta/perl/Texinfo/Convert/ConverterNonXS.pm |
| (print_converter_indices_sort_strings), |
| tta/perl/XSTexinfo/convert/ConvertConverterXS.xs |
| (print_converter_indices_sort_strings): |
| add print_converter_indices_sort_strings, including an XS interface. |
| |
| * tta/perl/t/test_utils.pl (test): prepare printing sort strings for |
| converters, setting new variables in output files and calling |
| print_converter_indices_sort_strings. |
| |
| 2026-07-04 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/perl/t/test_utils.pl, tta/perl/texi2any.pl: add comments on |
| I18N::Langinfo on Windows platform. |
| |
| 2026-07-04 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/perl/t/test_utils.pl (test): with $arg_output set, collect |
| errors messages after they have been collected and fix corresponding |
| code. |
| |
| 2026-07-05 Gavin Smith <gavinsmith0123@gmail.com> |
| |
| C plaintext converter - start on paragraph indentation |
| |
| * tta/C/main/list_macros.h (decl_stack_fns, def_stack_fns) |
| (top_, pop_): New. |
| * tta/C/main/plaintext_converter_state.h: fill out |
| * tta/C/convert/convert_to_plaintext.c: |
| At a new paragraph, access 'format_context' stack and set |
| paragraph indentation settings. |
| |
| 2026-07-05 Gavin Smith <gavinsmith0123@gmail.com> |
| |
| * tta/perl/Texinfo/Convert/Plaintext.pm (_stream_output_count_nl): |
| New function, copied from _stream_output. |
| (_stream_output): Remove optional third parameter. |
| |
| 2026-07-04 Gavin Smith <gavinsmith0123@gmail.com> |
| |
| Fix const warning |
| |
| * tta/C/main/utils.c (ultimate_index_const): Add. The same as |
| ultimate_index, except take and return const pointers. |
| * tta/C/main/manipulate_indices.c (merge_indices): Call it instead |
| of ultimate_index. |
| |
| Warning presumably introduced in commit on 2026-06-30. |
| |
| 2026-07-04 Gavin Smith <gavinsmith0123@gmail.com> |
| |
| * tta/C/convert/convert_to_plaintext.c: flesh out slightly |
| |
| 2026-07-04 Gavin Smith <gavinsmith0123@gmail.com> |
| |
| * tta/C/convert/convert_to_plaintext.c (add_newline_if_needed): Add. |
| |
| 2026-07-04 Gavin Smith <gavinsmith0123@gmail.com> |
| |
| C plaintext converter - separate paragraphs |
| |
| * tta/C/convert/convert_to_plaintext.c: add paragraph formatter |
| on stack for each paragraph. |
| * tta/C/convert/plaintext_paragraph.c (para_add_next, para_add_text): |
| Take const char * parameters rather than char *. |
| |
| 2026-07-04 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/C/convert/converter.c (CONVERTER_FORMAT_DATA): add to comment on |
| perl_converter_class. |
| |
| 2026-07-04 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/C/Makefile.am (ctexi2any_CPPFLAGS), tta/C/texi2any.c |
| (load_interpreter, main): have loading_info embedded_interpreter |
| default to txi_interpreter_want_embedded, do not set it based on the |
| EMBED_PERL flag, remove EMBED_PERL. Do not warn in load_interpreter |
| if the interpreter is not built, should be done by the calling code. |
| Add such a missing warning. |
| |
| * tta/C/Makefile.am (noinst_PROGRAMS, texistatic_*): rename |
| teximakehtml as texistatic. |
| |
| 2026-07-04 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/C/texi2any.c (main), tta/perl/texi2any.pl: determine if there |
| is no argument and error out earlier, before loading converter code. |
| |
| 2026-07-04 Gavin Smith <gavinsmith0123@gmail.com> |
| |
| * doc/texinfo.tex (\include): Check if the file name includes a |
| space character, and if it does, wrap the file name in { } before |
| running \input. |
| |
| Report from Werner Lemberg. |
| |
| 2026-07-04 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/C/main/convert_utils.c (definition_arguments_content) |
| (definition_category_tree): assume that the tree is correct and that |
| the definition line arguments container always exist. Change in |
| variable names, change in comments. |
| |
| 2026-07-03 Patrice Dumas <pertusus@free.fr> |
| |
| * README-hacking: update the list of files relevant for ppport. |
| |
| 2026-07-04 Gavin Smith <gavinsmith0123@gmail.com> |
| |
| CONVERTER_FORMAT_DATA |
| |
| * tta/C/convert/converter.h, tta/C/convert/converter.c |
| (CONVERTER_FORMAT_DATA, converter_format_data): |
| Move type definition to converter.c and declare data array |
| as static. Add a comment about the purpose of the |
| 'perl_converter_class' string. |
| |
| 2026-07-03 Gavin Smith <gavinsmith0123@gmail.com> |
| |
| Initial use of paragraph formatting |
| |
| * tta/C/convert/convert_to_plaintext.c: |
| Add formatter stack and access plaintext_paragraph.c paragraph |
| formatting. |
| |
| 2026-07-03 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/C/Makefile.am (C_libtexinfo_sources), |
| tta/C/parsetexi/set_parser_conf.c, tta/C/parsetexi/set_parser_conf.h: |
| rename parsetexi/conf.c to parsetexi/set_parser_conf.c. Update users. |
| |
| 2026-07-03 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/C/Makefile.am (C_libtexinfo_sources), |
| tta/C/parsetexi/parser_api.c, tta/C/parsetexi/parser_api.h: rename |
| parsetexi/api.c to parsetexi/parser_api.c. Update users. |
| |
| 2026-07-03 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/tests/many_input_files/*.sh: add ${dir_suffix} for staging_dir |
| to use a different one for native and non native test. |
| |
| 2026-07-03 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/C/Makefile.am (C_libtexinfo_convert_sources): add |
| main/plaintext_converter_state.h. |
| |
| 2026-07-03 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/perl/Makefile.am (documentmodulesdir) |
| (dist_documentmodules_DATA): fix installation directory for |
| Texinfo::Document::Indices* modules. |
| |
| 2026-07-03 Patrice Dumas <pertusus@free.fr> |
| |
| * doc/tta_api/Makefile.am (texi2any_internals_dependencies), |
| tta/perl/Makefile.am (dist_modules_DATA), |
| tta/perl/Texinfo/Document.pm, tta/perl/Texinfo/Document/Indices.pm |
| (merged_indices, _document_indices_sort_strings) |
| (sorted_indices_by_letter, sorted_indices_by_index), |
| tta/perl/Texinfo/DocumentNonXS.pm, |
| tta/perl/Texinfo/Document/IndicesNonXS.pm |
| (print_document_indices_information) |
| (print_document_indices_sort_strings), tta/perl/XSTexinfo/Makefile.am |
| (xs_LTLIBRARIES, DocumentIndicesXS_*), |
| tta/perl/XSTexinfo/parser_document/DocumentXS.xs, |
| tta/perl/XSTexinfo/parser_document/DocumentIndicesXS.xs |
| (print_document_indices_information) |
| (print_document_indices_sort_strings): move indices related code from |
| Texinfo::Document* and XS interfaces to a new module, |
| Texinfo::Document::Indices, to avoid a circular dependency and to |
| separate the document indices related code. |
| Update callers. |
| |
| 2026-07-03 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/perl/Texinfo/Translations.pm (_substitute_element_array): remove |
| the call to Texinfo::Document::build_tree, there should never be a |
| tree with an handle only passed to gdt and similar. |
| |
| 2026-07-03 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/perl/Texinfo/XSLoader.pm (BEGIN): call Texinfo::ModulePath |
| import after a successful require. |
| |
| 2026-07-03 Patrice Dumas <pertusus@free.fr> |
| |
| * README-hacking, tta/README: add a short information on doing a new |
| texi2any backend in C. |
| |
| 2026-07-03 Gavin Smith <gavinsmith0123@gmail.com> |
| |
| * tta/C/convert/plaintext_paragraph.c: rename all functions |
| to have para_ prefix rather than xspara_ prefix. |
| |
| 2026-07-03 Gavin Smith <gavinsmith0123@gmail.com> |
| |
| * tta/C/main/plaintext_converter_state.h: add FORMATTER. |
| |
| 2026-07-03 Gavin Smith <gavinsmith0123@gmail.com> |
| |
| Move xspara.c |
| |
| * tta/perl/XSTexinfo/xspara.c, tta/C/convert/plaintext_paragraph.c, |
| tta/perl/XSTexinfo/xspara.h, tta/C/convert/plaintext_paragraph.h: |
| |
| xspara.c and xspara.h moved and renamed in preparation for being used |
| in non-XS C code. |
| |
| 2026-07-03 Gavin Smith <gavinsmith0123@gmail.com> |
| |
| * tta/C/main/plaintext_converter_state.h (COUNT_CONTEXT_STACK): |
| Define with def_list_type etc. |
| |
| 2026-07-03 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/C/texi2any.c (INTERPRETER_LOADING_INFO): add |
| embedded_interpreter field. |
| |
| * tta/C/texi2any.c (load_interpreter, main): use embedded_interpreter |
| field of INTERPRETER_LOADING_INFO instead of the embedded_interpreter |
| variable. Check if the interpreter should be loaded based on |
| loading_info->embedded_interpreter in load_interpreter instead of in |
| the calling code. |
| |
| 2026-07-03 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/C/Makefile.am (libperlcall_utils_la_SOURCES), tta/C/texi2any.c |
| (enum interpreter_use): move enum interpreter_use to texi2any.c, and |
| define used values only. Remove interpreter_use_types.h. |
| |
| 2026-07-03 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/C/main/xs_utils.h, tta/C/main/replace_set_perl_interpreter.c: |
| fix set_use_perl_interpreter prototype. |
| |
| 2026-07-03 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/C/main/set_perl_interpreter.c (use_perl_interpreter) |
| (set_use_perl_interpreter, has_perl_interpreter): only use 2 values |
| for use_perl_interpreter, 0 or 1. Update callers. |
| |
| * tta/perl/XSTexinfo/parser_document/DocumentXS.xs (init): call |
| set_use_perl_interpreter independently of initialization of C |
| libraries. |
| |
| 2026-07-03 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/C/texi2any.c (main): remove default_is_html, considering that it |
| is always false. |
| |
| 2026-07-03 Gavin Smith <gavinsmith0123@gmail.com> |
| |
| Generic list macros |
| |
| * tta/C/main/document_types.h (VALUE_LIST, ELEMENT_STACK), |
| * tta/C/main/tree_types.h (FLOAT_RECORD_LIST, COMMAND_STACK): |
| Define with def_list_type. |
| |
| 2026-07-03 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/C/structuring_transfo/structuring.c (new_complete_node_menu) |
| (new_detailmenu): add CONVERTER_CACHE_TRANSLATE argument and pass to |
| gdt. Update callers. |
| |
| * tta/C/convert/format_html.c (html_convert_heading_command): |
| give html_translation_function to new_complete_node_menu and |
| new_complete_menu_master_menu with such that the user can replace the |
| default translations. |
| |
| 2026-07-03 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/C/main/html_converter_state.h (SPECIAL_UNIT_INFO_LIST): not a |
| list of pointers. |
| |
| 2026-07-02 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/C/main/translations.c (general_output_strings_setup): move |
| txi_general_output_strings_setup to translations.c and rename as |
| general_output_strings_setup. Update callers. |
| |
| * tta/C/parsetexi/api.c (parser): move txi_parser to api.c and rename |
| as parser. Update callers. |
| |
| * tta/C/structuring_transfo/transformations.c |
| (complete_transform_document), |
| tta/C/structuring_transfo/transformations.h (TT_TYPES_LIST), |
| tta/swig/python/Makefile.am (_Texinfo_la_CPPFLAGS), |
| tta/swig/perl/Makefile.am (Texinfo_la_CPPFLAGS): move |
| txi_complete_document to transformations.c and rename as |
| complete_transform_document. Update callers. Move TT_TYPES_LIST and |
| STTF_* to transformations.h. Add structuring_transfo to includes. |
| |
| * tta/C/Makefile.am (C_libtexinfo_main_sources): remove texinfo.c. |
| |
| 2026-07-02 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/C/main/call_perl_function.c (txi_use_interpreter_load_modules), |
| tta/C/convert/texinfo.c: move the txi_use_interpreter_load_modules |
| unused function to call_perl_function.c. |
| |
| 2026-07-02 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/C/convert/texinfo.c, tta/C/api_for_swig/swig_interface.c |
| (txi_ext_output_parser_error_messages) |
| (txi_ext_output_document_error_messages), tta/C/texi2any.c (main), |
| tta/swig/texinfo.i: inline txi_output_parser_error_messages in main. |
| Move txi_output_document_error_messages and |
| txi_output_parser_error_messages dd to swig_interface.c and rename as |
| txi_ext_output_parser_error_messages and and |
| txi_ext_output_document_error_messages. Use in texinfo.i. |
| |
| * tta/C/convert/texinfo.c, tta/C/texi2any.c (main, close_file_stream): |
| move txi_close_file_stream to texi2any.c and rename as |
| close_file_stream. |
| |
| * tta/C/convert/texinfo.c, tta/C/texi2any.c (TRANSFORMATION_NAME_FLAG) |
| (INTERPRETER_LOADING_INFO): move structures to texi2any.c. |
| |
| * tta/C/convert/texinfo.c, tta/C/texi2any.c (main) |
| (remove_converter_and_output_units), tta/swig/texinfo.i: inline |
| txi_parse_texi_file, txi_converter_output, txi_sort_element_counts, |
| txi_destroy_document, txi_converter_remove_output_units and |
| txi_destroy_converter in texi2any.c, add the |
| remove_converter_and_output_units function. Call directly |
| destroy_document in texinfo.i. |
| |
| 2026-07-01 Gavin Smith <gavinsmith0123@gmail.com> |
| |
| Use generic list macros for HTML_CONVERTER_STATE |
| |
| * tta/C/main/html_converter_state: |
| (FILE_STREAM_LIST, FILE_SOURCE_INFO_LIST, CSS_SELECTOR_STYLE_LIST) |
| (HTMLXREF_MANUAL_LIST, STRING_STACK_LIST, SORTED_INDEX_NAMES) |
| (SPECIAL_UNIT_INFO_LIST, DEPRECATED_DIRS_LIST): |
| Define with def_list_type. |
| |
| 2026-07-01 Gavin Smith <gavinsmith0123@gmail.com> |
| |
| Use generic list macros for HTML_CONVERTER_STATE |
| |
| * tta/C/main/html_converter_state: |
| (COMMAND_OR_TYPE_STACK, STRING_STACK, INTEGER_STACK) |
| (ELEMENT_REFERENCE_STACK, HTML_TARGET_LIST) |
| (EXPLAINED_COMMAND_TYPE_LIST, ELEMENT_REFERENCE_STACK_STACK) |
| (PAGES_CSS_LIST, TRANSLATED_COMMAND_LIST) |
| (HTML_FORMATTING_CONTEXT_STACK, HTML_DOCUMENT_CONTEXT_STACK) |
| (HTML_PENDING_FOOTNOTE_STACK, HTML_INLINE_CONTENT_STACK) |
| (HTML_ASSOCIATED_INLINE_CONTENT_LIST): |
| |
| Define with def_list_type. This changes the names of fields |
| 'stack' to 'list', and 'top' to 'number'. |
| |
| All uses updated. |
| |
| 2026-07-01 Gavin Smith <gavinsmith0123@gmail.com> |
| |
| * tta/C/main/translations.c |
| (add_string_to_named_string_element_list) |
| (add_element_to_named_string_element_list): |
| Define with generic macros. |
| |
| 2026-07-01 Gavin Smith <gavinsmith0123@gmail.com> |
| |
| * tta/C/main/floats.c |
| (add_to_listoffloats_list, add_to_float_information_list): |
| Use generic macros. |
| |
| 2026-07-01 Gavin Smith <gavinsmith0123@gmail.com> |
| |
| Generic list macros: add reallocate_ |
| |
| * tta/C/main/list_macros.h (decl_list_fns, def_list_fns): |
| Generate reallocation function. |
| * tta/C/main/structure_list.c (setup_reallocate_relations_list): |
| Remove this macro. Rely on def_list_fns to generate reallocation |
| functions. |
| (add_heading_to_heading_relations_list): Use generic list macros to |
| append to list. |
| |
| 2026-07-01 Gavin Smith <gavinsmith0123@gmail.com> |
| |
| Generic list macros |
| |
| * tta/C/main/structure_list.c |
| (add_to_node_relations_list, add_to_const_node_relations_list) |
| (add_to_section_relations_list): |
| Define with list_macros.h macros. |
| |
| 2026-07-01 Gavin Smith <gavinsmith0123@gmail.com> |
| |
| * tta/C/texi2any.c (main): Avoid accessing an uninitialized variable. |
| |
| 2026-06-30 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/C/convert/texinfo.c, tta/C/texi2any.c (find_tree_transformation) |
| (txi_tree_transformation_table, load_interpreter) |
| (txi_load_init_file): move txi_tree_transformation_table, |
| txi_find_tree_transformation, txi_load_interpreter, txi_load_init_file |
| and err_add_option_value to texi2any.c. Remove leading txi_ from |
| function names. |
| |
| * tta/C/convert/texinfo.c (txi_sort_element_counts), tta/C/texi2any.c |
| (main): inline txi_setup_load_interpreter, |
| txi_set_base_default_options, txi_stop_interpreter, |
| txi_converter_output_format_setup, txi_converter_format_defaults, |
| txi_converter_initialization_setup in texi2any.c main and in |
| txi_sort_element_counts and remove. |
| |
| 2026-06-30 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/C/main/translations.c (gdt_tree), |
| tta/perl/Texinfo/Translations.pm (gdt, gdt_string): change order of |
| arguments, put translation_context before debug_level. Update |
| callers. |
| |
| 2026-06-30 Gavin Smith <gavinsmith0123@gmail.com> |
| |
| * tta/C/main/manipulate_tree.c (add_source_mark): |
| Use generic list macro. |
| |
| 2026-06-30 Gavin Smith <gavinsmith0123@gmail.com> |
| |
| * tta/C/main/utils.c (add_string): Define with generic list macros. |
| |
| 2026-06-30 Gavin Smith <gavinsmith0123@gmail.com> |
| |
| Generic list appending |
| |
| * tta/C/main/list_macros.h: |
| (decl_list_fns, def_list_fns): |
| New macros for declaring and defining functions that operating on lists. |
| (add_): Macro for accessing function defined by def_list_fns. |
| * tta/C/main/tree.c (add_to_const_element_list, add_to_element_list): |
| Define with decl_list_fns/def_list_fns. |
| |
| 2026-06-30 Gavin Smith <gavinsmith0123@gmail.com> |
| |
| Start on generic list macros |
| |
| * tta/C/main/list_macros.h: new file. |
| (def_list_macro): New macro for defining list type. |
| * tta/C/main/tree_types.h: use it throughout. |
| |
| 2026-06-30 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/C/convert/convert_html.c (html_cdt_string): call gdt_string with |
| the cache function replacement argument instead of reimplementing |
| gdt_string. |
| |
| 2026-06-30 Patrice Dumas <pertusus@free.fr> |
| |
| * README-hacking: explain how to use commands and visually check |
| that caching of translated strings and reuse of associated trees |
| is effective. |
| |
| * tta/C/convert/convert_html.c (html_cache_translate_string) |
| (html_cdt_string), tta/C/main/translations.c (cache_translate_string) |
| (gdt_tree), tta/perl/Texinfo/Convert/HTML.pm |
| (_html_cache_translate_string), tta/perl/Texinfo/Translations.pm |
| (cache_translate_string, gdt): make translation caching and tree |
| reusing debugging messages easier to read and to extract. |
| |
| * tta/perl/t/test_utils.pl (test): use a variable if debugging is set. |
| Add output for the main test steps if debugging is set. |
| |
| * tta/perl/t/test_utils.pl (test): pass debug indicator to Document |
| by using completed_parser_options instead of parser_options to set |
| structuring and document options. Pass debug indicator to converter |
| to raw text. |
| |
| * 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): pass |
| debug level in more functions, when outputting raw text. |
| |
| * tta/C/main/manipulate_indices.c (merge_indices), |
| tta/perl/Texinfo/Indices.pm (setup_index_entries_sort_strings): sort |
| merged indices based on name in C, and sort directly index names |
| processed in setup_index_entries_sort_strings in Perl, to have a |
| reproducible order for index sort string generation in case there is |
| an error or debugging output. |
| |
| 2026-06-29 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/C/convert/converter.c (converter_format_data, cdt_tree), |
| tta/C/convert/converter.h (CONVERTER_FORMAT_DATA), |
| tta/C/main/convert_utils.c: add cdt_tree dispatch to |
| CONVERTER_FORMAT_DATA. Move cdt_tree out of convert_utils.c to |
| converter.c and dispatch to the cdt_tree format function if found in |
| converter_format_data, for HTML. |
| |
| * tta/C/convert/converter.c (converter_expand_today) |
| (converter_translated_command_tree): remove cdt_tree_fn argument, |
| pass directly cdt_tree. |
| |
| 2026-06-29 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/C/main/converter_types.h (CONVERTER_CACHE_TRANSLATE): rename |
| TRANSLATION_FUNCTION as CONVERTER_CACHE_TRANSLATE. Update users. |
| |
| * tta/C/main/converter_types.h (CONVERTER_CDT_TREE), |
| tta/C/main/convert_utils.c (expand_today, definition_category_tree) |
| (translated_command_tree): add CONVERTER_CDT_TREE that brings together |
| a converter and a cdt_tree function reference. Pass it as argument to |
| expand_today, definition_category_tree and translated_command_tree. |
| Update callers. |
| |
| 2026-06-29 Gavin Smith <gavinsmith0123@gmail.com> |
| |
| Start count context stack |
| |
| * tta/C/main/text.c (text_destroy): Add function to free and |
| zero text buffer. |
| |
| * tta/C/main/plaintext_converter_state.h: |
| split from tta/C/main/converter_types.h. |
| * tta/C/main/plaintext_converter_state.h |
| (PLAINTEXT_CONVERSION_STATE, PLAINTEXT_CONVERTER_STATE): rename. |
| |
| * tta/C/convert/convert_to_plaintext.c: |
| Add functions for count context stack, conversion initialization |
| and finalization. |
| |
| 2026-06-28 Gavin Smith <gavinsmith0123@gmail.com> |
| |
| * tta/C/main/html_converter.h, tta/C/main/html_converter_state.h: |
| rename to html_converter_state.h. |
| |
| 2026-06-29 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/C/convert/format_html.c (html_convert_def_line_type): handle the |
| case of parent element not existing, using the same extra information |
| as in Perl. |
| |
| * tta/C/main/converter_types.h (TRANSLATION_FUNCTION), |
| tta/C/main/translations.c (gdt_tree, gdt_string): add a translation |
| function argument to be able to replace the call to |
| cache_translate_string (same as in Perl). Update callers. |
| |
| * tta/C/convert/convert_html.c (html_cdt_tree): call gdt_tree with |
| html_cache_translate_string in argument. Remove html_gdt_tree. |
| |
| 2026-06-29 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/perl/Texinfo/Translations.pm (cache_translate_string): set the |
| context to an empty string if the language is unknown. Set |
| $cached_lang in the block it is used. |
| |
| * tta/C/main/translations.c (cache_translate_string): show |
| translation_context in debug message. |
| |
| * tta/C/convert/convert_html.c (html_cdt_string), |
| tta/C/main/translations.c (gdt_string), |
| tta/perl/Texinfo/Translations.pm (gdt_string): add debug message for |
| *_string. |
| |
| 2026-06-28 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/perl/Texinfo/Translations.pm (setup_output_strings) |
| (cache_translate_string), tta/perl/Texinfo/TranslationsNonXS.pm |
| (_XS_setup_output_strings), |
| tta/perl/XSTexinfo/parser_document/TranslationsXS.xs |
| (_XS_setup_output_strings): remove XS interface for |
| cache_translate_string. The translated string tree is in Perl only, |
| with the XS interface the tree is associated to the string in the |
| array reference returned from the XS function, therefore the array |
| reference is recreated for each call, therefore the tree is not |
| reused. Therefore remove the XS interface. |
| Add _XS_setup_output_strings to setup the strings both in C and Perl. |
| |
| * tta/C/convert/convert_html.c (html_gdt_tree), |
| tta/C/main/translations.c (gdt_tree), tta/perl/Texinfo/Translations.pm |
| (gdt): add debug output for translated tree reusing. |
| |
| 2026-06-28 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/C/main/build_perl_info.c (document_tree): change the order of |
| conditionals to have a code easier to read. |
| |
| 2026-06-28 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/perl/t/test_utils.pl (test): do not call $document->tree again |
| after structuring code, the previously obtained tree should be right. |
| |
| * tta/C/main/build_perl_info.c (document_tree): add to comment now |
| that $document->tree(1) is not called twice anymore. |
| |
| 2026-06-28 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/C/main/build_perl_info.c (document_tree): reorganize code to be |
| easier to read. Assume that sv field is set upon building tree to |
| Perl. Assert that an existing tree_document_descriptor is the same as |
| the document one. |
| |
| 2026-06-28 Gavin Smith <gavinsmith0123@gmail.com> |
| |
| Finish moving non-types out of html_converter_types.h |
| |
| * tta/maintain/generate_code_convert_data.pl: |
| Generate "enum global_unit_direction" (defining D_up etc.) |
| in html_conversion_data.h. This means that html_converter_types.h |
| does not need to include "html_conversion_data.h", which contains |
| variable declarations. This means that html_converter_types.h |
| now only contains types, matching its name. |
| |
| 2026-06-28 Gavin Smith <gavinsmith0123@gmail.com> |
| |
| Move some non-types out of html_converter_types.h |
| |
| * tta/C/convert/html_converter_types.h, |
| * tta/C/convert/html_prepare_converter.h: |
| Move declarations to html_prepare_converter.h: |
| html_command_args_flags, html_commands_data, |
| special_list_mark_css_string_no_arg_command, no_arg_formatted_cmd, |
| style_formatted_cmd, accent_cmd, format_raw_cmd. |
| |
| 2026-06-28 Gavin Smith <gavinsmith0123@gmail.com> |
| |
| Move some non-types out of html_converter_types.h |
| |
| * tta/C/convert/html_converter_types.h, |
| * tta/C/convert/convert_html.h: Move declarations of |
| html_conversion_context_type_names and |
| html_stage_handler_stage_type_names to convert_html.h. |
| |
| 2026-06-28 Gavin Smith <gavinsmith0123@gmail.com> |
| |
| Move some non-types out of html_converter_types.h |
| |
| * tta/C/convert/html_converter_types.h, |
| * tta/C/convert/format_html.h: Move declarations of |
| direction_string_type_names and direction_string_context_names |
| arrays. |
| |
| 2026-06-28 Gavin Smith <gavinsmith0123@gmail.com> |
| |
| Move some non-types out of html_converter_types.h |
| |
| * tta/maintain/generate_code_convert_data.pl: |
| Output declaration of 'translated_special_unit_info' array. |
| This is possible now that the definition of TRANSLATED_SUI_ASSOCIATION |
| is in this file. |
| * tta/C/convert/html_converter_types.h: Remove |
| declaration of 'translated_special_unit_info' array. |
| |
| 2026-06-28 Gavin Smith <gavinsmith0123@gmail.com> |
| |
| Move TRANSLATED_SUI_ASSOCIATION type definition |
| |
| * tta/maintain/generate_code_convert_data.pl: |
| Output TRANSLATED_SUI_ASSOCIATION definition in |
| html_conversion_data.h. |
| * tta/C/main/converter_types.h: Remove definition of |
| TRANSLATED_SUI_ASSOCIATION and remove #include of |
| "html_conversion_data.h". |
| |
| 2026-06-28 Gavin Smith <gavinsmith0123@gmail.com> |
| |
| Fix excess elements in array initialiser warning |
| |
| * tta/maintain/generate_code_convert_data.pl, |
| Use CUSTOMIZED_SPECIAL_UNIT_INFO_TYPE_NR instead of |
| SPECIAL_UNIT_INFO_TYPE_NR as number of elements in |
| 'special_unit_info_type_names' array. |
| |
| 2026-06-28 Gavin Smith <gavinsmith0123@gmail.com> |
| |
| * tta/maintain/generate_code_convert_data.pl: |
| Use HTML_CONVERSION_DATA_H rather than CONVERSION_DATA_H as |
| include guard symbol in a/tta/C/main/html_conversion_data.h. |
| |
| 2026-06-28 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/maintain/generate_code_convert_data.pl: fix typo in |
| snecial_unit_info_type_names -> special_unit_info_type_names. |
| |
| 2026-06-28 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/perl/t/test_utils.pl (test), |
| tta/perl/t/z_misc/test_protect_hashchar_at_line_beginning.t |
| (run_test), tta/perl/texi2any.pl: call document->tree() with an |
| argument to get an handle only independently of |
| XSLoader::XS_modules_enabled result. TEXINFO_XS=omit is checked by |
| XSLoader such that the XS module of Document will not be loaded anyway |
| if TEXINFO_XS=omit. |
| |
| 2026-06-28 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/perl/Texinfo/Convert/*.pm (BEGIN), tta/perl/Texinfo/*.pm |
| (BEGIN): do not use XS_modules_enabled to determine if the call to |
| Texinfo::XSLoader::init should be done with an undef XS module file |
| name, TEXINFO_XS=omit is checked in XSLoader::init, and that is all is |
| needed to decide if the XS module file should be loaded. |
| |
| * tta/perl/Texinfo/ManipulateTree.pm (_element_remove_references): |
| remove the case with XS for structuring only as it cannot happen |
| anymore. Remove $no_XS_objects_refcount and |
| $destroyed_objects_refcount_text. |
| |
| 2026-06-28 Gavin Smith <gavinsmith0123@gmail.com> |
| |
| Move some non-types out of html_converter_types.h |
| |
| * tta/C/convert/html_converter_types.h: Remove |
| declarations of snecial_unit_info_type_names and |
| special_unit_info_tree_names arrays. |
| * tta/maintain/generate_code_convert_data.pl: Generate them |
| in html_conversion_data.h. |
| |
| 2026-06-28 Gavin Smith <gavinsmith0123@gmail.com> |
| |
| * tta/C/main/converter_types.h, tta/C/main/html_converter.h: |
| Split out html_converter.h. |
| |
| 2026-06-27 Gavin Smith <gavinsmith0123@gmail.com> |
| |
| Continue C plaintext converter |
| |
| * tta/C/convert/plaintext_converter_api.c, |
| * tta/C/convert/convert_to_plaintext.c: |
| Merge into convert_to_plaintext.c and remove |
| plaintext_converter_api.c. |
| |
| 2026-06-27 Gavin Smith <gavinsmith0123@gmail.com> |
| |
| Continue C plaintext converter |
| |
| * tta/C/convert/convert_to_plaintext.c |
| (plaintext_free_converter, plaintext_converter_initialize): |
| New stubs.) |
| * tta/C/convert/converter.c (converter_format_data): |
| Reference these. |
| |
| 2026-06-27 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/C/convert/format_html.c (html_convert_printindex_command): call |
| get_converter_indices_sorted_by_letter only if there is an index name. |
| |
| * tta/C/main/translations.c (cache_translate_string): fix debug |
| messages. |
| |
| * tta/perl/XSTexinfo/parser_document/TranslationsXS.xs |
| (cache_translate_string): call cache_translate_string even if |
| lang_translation is undef, to get the debugging messages. |
| |
| 2026-06-27 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/perl/t/init/translation_in_parser_in_translation.pm: add more |
| code in translation Texinfo code and add another translation. |
| |
| 2026-06-27 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/README, perl/Texinfo/Convert/Plaintext.pm (new_formatter): |
| comment out setting DEBUG for Texinfo::Convert::Paragraph as there is |
| no debugging output in C. |
| |
| 2026-06-27 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/perl/Texinfo/Convert/HTML.pm (_html_cache_translate_string): |
| print debug message if $strings_cache is defined but the translation |
| is not found. |
| |
| 2026-06-27 Gavin Smith <gavinsmith0123@gmail.com> |
| |
| Separate HTML-specific conversion fields into separate object. |
| |
| * tta/C/main/converter_types.h |
| (struct CONVERTER, struct HTML_CONVERTER_STATE): Add HTML_CONVERTER_STATE |
| type for HTML-specific fields, and add "HTML_CONVERTER_STATE |
| html_converter" field to CONVERTER. |
| |
| All uses updated. |
| |
| 2026-06-27 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/perl/Texinfo/Translations.pm (_set_lang_info_translation): |
| add the new lang translations reference to the translations cache |
| hash. |
| |
| * tta/C/main/translations.c (replace_convert_substrings): call |
| reset_parser and not reset_parser_conf to get the same result as doing |
| a new parser in Perl. |
| |
| * tta/C/convert/convert_html.c (html_cache_translate_string), |
| tta/C/main/convert_to_text.c (text_heading, convert_to_text_internal), |
| tta/C/main/convert_utils.c (add_heading_number), |
| tta/C/main/translations.c (cache_translate_string, gdt_string), |
| tta/perl/Texinfo/Convert/HTML.pm (_html_cache_translate_string) |
| (cdt_string), tta/perl/Texinfo/Convert/Text.pm (_text_heading) |
| (_convert), tta/perl/Texinfo/Convert/Utils.pm (add_heading_number), |
| tta/perl/Texinfo/Translations.pm (gdt, gdt_string), |
| tta/perl/Texinfo/TranslationsNonXS.pm (cache_translate_string), |
| tta/perl/XSTexinfo/parser_document/TranslationsXS.xs |
| (cache_translate_string), tta/perl/ext/epub3.pm, tta/perl/init/chm.pm: |
| add debugging information on translations caching when debug is >= 2, |
| in *cache_translate_string. Update callers. |
| |
| 2026-06-26 Gavin Smith <gavinsmith0123@gmail.com> |
| |
| * tta/C/convert/texinfo.c |
| (txi_output_converter_error_messages, txi_builtin_default_css_text): |
| Inline into sole use sites and remove. |
| |
| 2026-06-26 Gavin Smith <gavinsmith0123@gmail.com> |
| |
| * tta/C/convert/texinfo.c (txi_converter_setup): Inline into |
| sole use site and remove. |
| |
| 2026-06-26 Gavin Smith <gavinsmith0123@gmail.com> |
| |
| Continue C plaintext converter |
| |
| * tta/C/main/converter_types.h (PLAINTEXT_CONVERSION_STATE): New type. |
| (struct CONVERTER): Add PLAINTEXT_CONVERSION_STATE plaintext_converter |
| field. |
| |
| * tta/C/convert/convert_to_plaintext.c: Take and pass around a CONVERTER |
| object. Add stubs for stream_output_* functions using text object in |
| plaintext_converter field, and call stream_output instead of appending |
| to TEXT object. |
| |
| Note: until convert_to_plaintext.c (and other new code) is complete, |
| ChangeLog entries may not be as detailed as usual. Other changes |
| affecting established parts of the code should still be described |
| to the usual standard. |
| |
| 2026-06-25 Gavin Smith <gavinsmith0123@gmail.com> |
| |
| * tta/C/convert/convert_to_plaintext.c (convert_to_plaintext_internal): |
| Start filling in structure of function. |
| |
| 2026-06-25 Gavin Smith <gavinsmith0123@gmail.com> |
| |
| Stub plaintext converter for ctexi2any |
| |
| * tta/C/convert/plaintext_converter_api.h, |
| * tta/C/convert/plaintext_converter_api.c, |
| * tta/C/convert/convert_to_plaintext.c, |
| * tta/C/convert/convert_to_plaintext.h: new stub implementations, |
| based on code for "plaintexinfo" output format. |
| |
| * tta/C/convert/converter.c (converter_format_data): add entry |
| for "plaintext". |
| |
| * tta/C/main/converter_types.h |
| (enum converter_format, TXI_CONVERSION_FORMAT_NR): update. |
| |
| * tta/C/Makefile.am, |
| * tta/C/convert/converter.h, |
| |
| * tta/C/texi2any.c (main): Disable use of Perl module for "plaintext" |
| output format if environment variable TEXINFO_XS_INCOMPLETE is set. |
| |
| 2026-06-24 Gavin Smith <gavinsmith0123@gmail.com> |
| |
| TEXINFO_XS_* variables no longer obeyed |
| |
| * tta/perl/Texinfo/XSLoader.pm |
| (XS_modules_enabled): New. |
| (XS_parser_enabled, XS_structuring_enabled, XS_convert_enabled): |
| Removed. All callers updated. |
| |
| 2026-06-24 Gavin Smith <gavinsmith0123@gmail.com> |
| |
| TEXINFO_XS_* variables no longer obeyed |
| |
| * tta/perl/Texinfo/XSLoader.pm |
| (XS_parser_enabled, XS_structuring_enabled, XS_convert_enabled): |
| Ignore environment variables TEXINFO_XS_PARSER, |
| TEXINFO_XS_STRUCTURE and TEXINFO_XS_CONVERT. Only heed TEXINFO_XS. |
| |
| * tta/tests/run_parser_all.sh (check_strxfrm_ok): |
| Only check TEXINFO_XS. |
| |
| * doc/texinfo.texi (texi2any Environment Variables): |
| Remove documentation of these variables. |
| |
| * NEWS, README-hacking, INSTALL: updated. |
| |
| 2026-06-22 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/maintain/regenerate_cmd_tests.sh (gather_tests): redirect stdin |
| by calling exec within the script instead of redirecting the while |
| loop input because in Solaris 10 /bin/sh a while loop with redirection |
| is in a subshell and the change to type_test_files remains local. |
| Solution by Gavin. |
| |
| 2026-06-22 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/C/convert/convert_html.c |
| (reset_unset_no_arg_commands_formatting_context): use else instead of |
| else if for a condition that is always true to help compiler |
| understand that a variable cannot be uninitialized. |
| |
| * tta/C/convert/convert_html.c (html_prepare_converted_output_info): |
| fix nesting. |
| |
| * tta/C/structuring_transfo/transformations.c |
| (protect_first_parenthesis): add parenthesis around flag matching. |
| |
| 2026-06-22 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/perl/XSTexinfo/Makefile.am (DocumentXS_la_LIBADD): libtexinfo.la |
| is needed, not libtexinfo-convert.la. |
| |
| 2026-06-22 Patrice Dumas <pertusus@free.fr> |
| |
| * tta: run "gnulib-tool --add-import unistr/u32-strdup", needed |
| by unicode-collation/collation_key.c. |
| |
| 2026-06-22 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/maintain/regenerate_cmd_tests.sh, autogen.sh, |
| tta/tests/Makefile.am: do not remove the previous one test script |
| files in regenerate_cmd_tests.sh but in calls in autogen.sh and |
| Makefile.am. |
| |
| 2026-06-22 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/maintain/regenerate_cmd_tests.sh, autogen.sh, |
| tta/tests/Makefile.am: do not do a cd in regenerate_cmd_tests.sh and |
| remove the destdir argument. |
| |
| 2026-06-21 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/tests/run_parser_all.sh: remove code related to html2wiki and |
| mediawiki.pm that were relevant in texi2html only. |
| |
| 2026-06-21 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/C/convert/call_conversion_perl.c |
| (call_config_GNUT_load_init_file): allow count to be 1 although it |
| should be 0, as on Solaris 11 with Perl 5.10.1 it is 1. |
| |
| 2026-06-21 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/tests/many_input_files/Makefile.am (distclean-local): remove |
| raw_out_native. |
| |
| 2026-06-21 Patrice Dumas <pertusus@free.fr> |
| |
| * maintain/generate_many_input_files_native_tests.sh, |
| tta/tests/many_input_files/Makefile.am (native_test_scripts_target): |
| add a script that generates test scripts wrapper around |
| many_input_files test scripts, with _native postpended to the script |
| name and calling the script with -native. |
| |
| * tta/tests/many_input_files/Makefile.am (test_scripts) |
| (native_test_scripts, TESTS): distribute native command tests and add |
| them as tests. |
| |
| * tta/tests/many_input_files/*.sh: fix logs and diff by adding tested |
| command language ${dir_suffix}. |
| |
| 2026-06-21 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/tests/many_input_files/*.sh: distinguish outdir and basename. |
| rename raw_output_dir as raw_out_dir. Add -native command-line |
| argument to select the command tested. Prepend the language of the |
| tested command to the out directories. Use tested_command instead of |
| TESTS_MAIN_COMMAND. |
| |
| * tta/tests/many_input_files/Makefile.am (copy-tex-html, copy-tests): |
| update. |
| |
| 2026-06-21 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/tests/run_parser_all.sh: change variables names, use |
| TESTS_MAIN_COMMAND on ly if set, set language based on input command |
| name. |
| |
| 2026-06-20 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/configure.ac: do not set TESTS_MAIN_COMMAND if prefer_c_t2a is |
| set, as now the native command is always tested. |
| |
| 2026-06-20 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/tests/run_parser_all.sh: fix diff file names. |
| |
| * tta/tests/run_parser_all.sh, tta/tests/*/Makefile.am: use perl |
| instead of parser in tests output directories name. |
| |
| * tta/tests/README: update. |
| |
| * tta/tests/Makefile.am (clean-tests): also clean native command |
| tests. |
| |
| 2026-06-20 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/tests/nested_formats/Makefile.am (EXTRA_DIST): no more |
| res_parser_html. |
| |
| * tta/tests/*/Makefile.am (distclean-local): remove new output |
| directories. |
| |
| 2026-06-20 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/tests/run_parser_all.sh (post_process_output): copy only the |
| stderr file that is modified afterwards to raw_outdir. |
| |
| 2026-06-20 Patrice Dumas <pertusus@free.fr> |
| |
| Test native ctexi2any command |
| |
| * tta/maintain/regenerate_cmd_tests.sh: generate native command tests. |
| |
| * tta/tests/Makefile.am (TESTS, tex_html_tests, other_tests): add |
| native tests scripts. |
| |
| 2026-06-20 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/maintain/regenerate_cmd_tests.sh: fix output of language_option |
| variable. |
| |
| * tta/tests/run_parser_all.sh, tta/maintain/regenerate_cmd_tests.sh: |
| use a per command language log file. |
| |
| 2026-06-20 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/maintain/regenerate_cmd_tests.sh (gather_tests) |
| (one_language_test_files): generate set test files by command language |
| implementation, add a language argument to gather_tests, add the |
| one_language_test_files variable, and the language name in the test |
| script name. |
| |
| * tta/tests/Makefile.am (TESTS, tex_html_tests, other_tests): add |
| tex_html_tests and other_tests for the list of tex_html and other |
| tests files. Update variables names. |
| |
| 2026-06-20 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/tests/parser_tests.sh, tta/tests/run_parser_all.sh: add -native |
| command-line, that selects ctexi2any and put results in a different |
| directory. |
| |
| 2026-06-20 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/maintain/regenerate_cmd_tests.sh: reindent, remove unused code |
| line. |
| |
| 2026-06-20 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/C/convert/converter.c (get_converter_indices_sorted_by_index) |
| (get_converter_indices_sorted_by_letter): free |
| input_lang_sorting_locale later on, as lang_sorting_locale may point |
| to the input_lang_sorting_locale memory location. |
| |
| 2026-06-20 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/tests/README, tta/tests/run_parser_all.sh: remove the # format |
| in list of tests formats specification code and remove the associated |
| documentation. |
| |
| 2026-06-20 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/tests/Makefile.onetst, tta/tests/nested_formats/list-of-tests: |
| remove the # format "magic" specification of tested formats in |
| nested_formats/list-of-tests, set manually the list of all the tests. |
| |
| 2026-06-20 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/perl/Texinfo/Convert/Converter.pm |
| (_converter_indices_sort_strings), tta/perl/Texinfo/Document.pm |
| (_document_indices_sort_strings): call indices_information() before |
| merged_indices, and use the result in the |
| setup_index_entries_sort_strings call instead of calling again. |
| |
| 2026-06-20 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/perl/Texinfo/Convert/LaTeX.pm (_prepare_indices): reorganize |
| conditions. |
| |
| 2026-06-20 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/C/main/document.c (document_indices_sort_strings): remove |
| error_messages and options arguments, get them from document. Update |
| callers. |
| |
| * tta/C/main/document.c (document_sorted_indices_by_index) |
| (document_sorted_indices_by_letter): remove error_messages and options |
| arguments, get them from document. Update callers. |
| |
| 2026-06-20 Gavin Smith <gavinsmith0123@gmail.com> |
| |
| * doc/texinfo.texi (@anchor): @anchor as alias for node is |
| after chapter structuring command, not before. Report from Patrice. |
| |
| 2026-06-20 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/perl/texi2any.pl (%formats_table): remove unused |
| 'setup_index_entries_sort_strings' field. |
| |
| 2026-06-20 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/C/convert/converter.c (converter_indices_sort_strings), |
| tta/C/main/document.c (document_indices_sort_strings), |
| tta/C/main/manipulate_indices.c (setup_index_entries_sort_strings), |
| tta/perl/Texinfo/Convert/Converter.pm |
| (_converter_indices_sort_strings), tta/perl/Texinfo/Document.pm |
| (_document_indices_sort_strings), tta/perl/Texinfo/Indices.pm |
| (setup_index_entries_sort_strings): pass debug_level as argument to |
| setup_index_entries_sort_strings to be more independent of document |
| and converter options specifics. |
| |
| 2026-06-19 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/perl/Texinfo/Document.pm (_document_indices_sort_strings), |
| tta/perl/Texinfo/DocumentNonXS.pm, |
| tta/perl/XSTexinfo/parser_document/DocumentXS.xs: move |
| _document_indices_sort_strings to Document.pm and call |
| indices_information() in the function to have indices built to Perl if |
| with XS. Remove the XS override. |
| |
| 2026-06-19 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/perl/Texinfo/DocumentNonXS.pm (_document_indices_sort_strings): |
| rename document_indices_sort_strings as |
| _document_indices_sort_strings. |
| |
| * tta/perl/Texinfo/Document.pm (sorted_indices_by_letter) |
| (sorted_indices_by_index): do not call merged_indices, it is already |
| called in _document_indices_sort_strings. Change calling prototype. |
| |
| * tta/perl/Texinfo/DocumentNonXS.pm |
| (print_document_indices_sort_strings): remove a spurious my. |
| |
| * tta/C/main/build_perl_info.c (fill_document_hv): remove unused |
| variable. |
| |
| * tta/perl/t/z_misc/test_sort.t: add test of |
| Texinfo::Document::sorted_indices_by_index. |
| |
| 2026-06-19 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/perl/t/z_misc/test_sort.t: replace a call of |
| document_indices_sort_strings by a call of |
| Texinfo::Indices::setup_index_entries_sort_strings, such that |
| document_indices_sort_strings is only called from XS overriden |
| functions. |
| |
| 2026-06-19 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/C/main/build_perl_info.c (fill_document_hv): do not build the |
| 'index_entries_sort_strings' hash of built Perl Document, it is built |
| on-demand. |
| |
| 2026-06-18 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/perl/Texinfo/Convert/Converter.pm |
| (index_entry_first_letter_text_or_command): remove unused argument. |
| |
| * doc/texi2any_api.texi (Specific Formatting for Indices): update. |
| |
| 2026-06-19 Gavin Smith <gavinsmith0123@gmail.com> |
| |
| * doc/texinfo.texi (GNU Sample Texts): |
| Remove "start of header" and "end of header" lines. |
| |
| 2026-06-19 Gavin Smith <gavinsmith0123@gmail.com> |
| |
| * doc/texinfo.texi (@anchor): State that @anchor giving an alias |
| for a @node should be placed immediately after the node line. |
| |
| Report from Arsen Arsenović. |
| |
| 2026-06-18 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/perl/Texinfo/Convert/Converter.pm |
| (converter_index_content_element, _idx_leading_text_or_command) |
| (index_entry_first_letter_text_or_command), |
| tta/perl/Texinfo/Indices.pm: move |
| index_entry_first_letter_text_or_command and |
| converter_index_content_element to Converter. Update callers. |
| |
| 2026-06-18 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/perl/Texinfo/Convert/ConverterNonXS.pm |
| (_get_collation_lang_info, get_converter_indices_sorted_by_index) |
| (get_converter_indices_sorted_by_letter): merge condition determining |
| language and lang_key. Add _get_collation_lang_info for the common |
| code determining language and lang_key. |
| |
| 2026-06-18 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/C/convert/converter.c (get_converter_indices_sorted_by_index) |
| (get_converter_indices_sorted_by_letter), |
| tta/perl/Texinfo/Convert/Converter.pm, |
| tta/perl/Texinfo/Convert/ConverterNonXS.pm |
| (get_converter_indices_sorted_by_letter) |
| (get_converter_indices_sorted_by_index): inline and remove |
| converter_sorted_indices_by_index in |
| get_converter_indices_sorted_by_index and |
| converter_sorted_indices_by_letter in |
| get_converter_indices_sorted_by_letter. |
| |
| * tta/perl/Texinfo/Indices.pm (_setup_collator): remove useless |
| condition. |
| |
| 2026-06-18 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/C/main/manipulate_indices.c: move code around. |
| |
| 2026-06-18 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/C/convert/convert_indices.c |
| (wrap_converter_index_content_element), tta/C/convert/converter.c, |
| tta/C/main/manipulate_indices.c (wrap_element_index_content_element) |
| (index_entry_element_sort_string, setup_index_entries_sort_strings), |
| tta/perl/XSTexinfo/parser_document/IndicesXS.xs |
| (index_entry_element_sort_string): add and use a function reference in |
| argument of entry_tree_element_sort_string for the |
| index_content_element call. Add wrap_element_index_content_element |
| and wrap_converter_index_content_element around |
| *_index_content_element implementations to have a common prototype and |
| be passed or used in entry_tree_element_sort_string. Pass to |
| index_content_element wrapper to setup_index_entries_sort_strings. |
| Remove converter_index_entry_element_sort_string and |
| entry_tree_element_sort_string. |
| |
| 2026-06-18 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/C/main/manipulate_indices.c |
| (setup_sort_sortable_strings_collator), tta/perl/Texinfo/Indices.pm |
| (_setup_sort_sortable_strings_collator): inline |
| setup_sortable_index_entries in setup_sort_sortable_strings_collator |
| and remove the function. |
| |
| * tta/C/main/manipulate_indices.c, tta/perl/Texinfo/Indices.pm: move |
| code around. |
| |
| * tta/perl/Texinfo/Indices.pm: remove _def_command_index_entry. |
| |
| 2026-06-18 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/swig/texinfo.i (txi_ext_inline_setup): remove the |
| converterdatadir argument and code, it is not used. |
| |
| 2026-06-17 Patrice Dumas <pertusus@free.fr> |
| |
| * doc/texi2any_api.texi (Specific Formatting for Indices): update. |
| |
| Update Pod documentation. |
| |
| 2026-06-17 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/perl/XSTexinfo/parser_document/IndicesXS.xs |
| (index_entry_element_sort_string): handle converter argument being |
| set (this case never happens in practice). |
| |
| 2026-06-17 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/perl/Texinfo/Document.pm (BEGIN), tta/perl/XSTexinfo/Makefile.am |
| (DocumentXS_la_CPPFLAGS, DocumentXS_la_LIBADD), |
| tta/perl/XSTexinfo/parser_document/DocumentXS.xs: remove includes and |
| linking with converter headers and libraries. |
| |
| 2026-06-17 Gavin Smith <gavinsmith0123@gmail.com> |
| |
| Sync from experimental/unicode-collation |
| |
| * tta/C/main/unicode-collation/collation_data_loader.h, |
| * tta/C/main/unicode-collation/collation_data_lookup.h: |
| rename and update. |
| * tta/C/main/unicode-collation/collation_data_loader.c, |
| * tta/C/main/unicode-collation/collation_data_lookup.c: |
| rename and update. |
| |
| * tta/C/main/unicode-collation/collation_key.c, |
| * tta/C/main/unicode-collation/collation-table.c, |
| * tta/C/main/unicode-collation/collation_key.h: update. |
| |
| * tta/C/main/manipulate_indices.c (get_sort_key) update calling code. |
| |
| 2026-06-17 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/perl/Texinfo/Indices.pm (element_index_content_element), |
| tta/C/main/manipulate_indices.c (element_index_content_element): |
| rename document_index_content_element as |
| element_index_content_element. Update callers. |
| |
| * tta/C/main/manipulate_indices.c (index_entry_element_sort_string) |
| (setup_index_entries_sort_strings): add an explicit document argument. |
| Update callers. |
| |
| * tta/C/main/manipulate_indices.c (index_entry_element_sort_string), |
| tta/perl/XSTexinfo/parser_document/IndicesXS.xs |
| (index_entry_element_sort_string): set debug_level to valid values, |
| based on options in setup_index_entries_sort_strings and |
| directly use debug_level in argument in |
| index_entry_element_sort_string. |
| |
| 2026-06-17 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/C/convert/texinfo.c (txi_complete_document): remove unused |
| converter and element_cdt_tree_fn arguments. Update caller. |
| |
| * tta/C/main/build_perl_info.c (build_sv_options_from_options_list) |
| (build_sv_converter_info_from_converter_initialization_info): remove |
| converter argument as there should never be a converter already set in |
| situation where these functions are called. Update callers. |
| |
| * tta/C/texi2any.c (main), tta/perl/texi2any.pl: move converter |
| creation later now that there is no index sorting earlier needing a |
| converter anymore. |
| |
| * tta/C/texi2any.c (main): error out if there is no converter |
| at all, a situation which should never happen if the formats table is |
| well done. |
| |
| 2026-06-16 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/C/main/document.c (document_sorted_indices_by_index) |
| (document_sorted_indices_by_letter) |
| (print_document_indices_sort_strings), |
| tta/perl/Texinfo/DocumentNonXS.pm |
| (print_document_indices_sort_string), |
| tta/perl/XSTexinfo/parser_document/DocumentXS.xs |
| (print_document_indices_sort_strings): remove unused converter |
| arguments. Update callers. |
| |
| * tta/perl/t/test_utils.pl (test): remove use of a converter for |
| a print_document_indices_sort_strings call with converter, as it is |
| not possible anymore. |
| |
| * tta/perl/Texinfo/Convert/Converter.pm |
| (_converter_indices_sort_strings): rename |
| converter_indices_sort_strings as _converter_indices_sort_strings. |
| |
| * tta/perl/Texinfo/DocumentNonXS.pm (document_indices_sort_strings), |
| tta/perl/XSTexinfo/parser_document/DocumentXS.xs: put |
| setup_indices_sort_strings code in document_indices_sort_strings and |
| remove setup_indices_sort_strings, since it is not called anymore. |
| |
| * tta/C/convert/texinfo.h, tta/swig/texinfo.i: remove |
| STTF_setup_index_entries_sort_strings now that it has no effect. |
| Update users. |
| |
| 2026-06-16 Patrice Dumas <pertusus@free.fr> |
| |
| Add separate functions to sort index entries and cache in converters |
| |
| * tta/C/Makefile.am (C_libtexinfo_convert_sources): add |
| tta/C/convert/convert_indices.c. |
| |
| * tta/C/convert/convert_indices.c (new_index_entry_text_or_command) |
| (idx_leading_text_or_command) |
| (index_entry_first_letter_text_or_command): move to convert_indices.c, |
| since index_entry_first_letter_text_or_command should only be called |
| from converters. |
| |
| * tta/C/main/document.c (document_sorted_indices_by_index) |
| (document_sorted_indices_by_letter): rename sorted_indices_by_index as |
| document_sorted_indices_by_index and sorted_indices_by_letter as |
| document_sorted_indices_by_letter. |
| |
| * tta/C/main/manipulate_indices.c (document_index_content_element), |
| tta/perl/Texinfo/Indices.pm (document_index_content_element): |
| rename index_content_element as document_index_content_element. |
| |
| * tta/perl/Texinfo/DocumentNonXS.pm (document_indices_sort_strings): |
| remove indices_sort_strings as document_indices_sort_strings. Update |
| callers. |
| |
| * tta/C/main/manipulate_indices.c (get_index_content_info_element) |
| (document_index_content_element), tta/perl/Texinfo/Indices.pm |
| (get_index_content_info_element, document_index_content_element): |
| add get_index_content_info_element that gets index content element for |
| the cases where translation is not needed, and also gets information |
| on object-oriented definitions that can be used by the caller to |
| prepare an index content element. Remove def_command_index_entry. |
| |
| * tta/C/main/manipulate_indices.c (entry_tree_element_sort_string) |
| (index_entry_element_sort_string): add entry_tree_element_sort_string |
| based on index_entry_element_sort_string code. |
| |
| * tta/C/main/manipulate_indices.c (setup_index_entries_sort_strings): |
| add index_entry_element_sort_string_fn argument to be able |
| to use a different function than the index_entry_element_sort_string |
| default, when called from converters. A function argument instead of |
| a call to a function if converter argument is set is used to avoid |
| depending on the libtexinfo-converter library. |
| |
| * tta/C/main/document.c (document_sorted_indices_by_index) |
| (document_sorted_indices_by_letter), |
| tta/C/main/manipulate_indices.c (new_collation_sorted_indices_by_index) |
| (new_base_collations_sorted_indices_by_index) |
| (get_collation_sorted_indices_by_index) |
| (new_base_collations_sorted_indices_by_letter) |
| (get_collation_sorted_indices_by_letter): |
| add new_base_collations_sorted_indices_by_index, |
| get_collation_sorted_indices_by_index, |
| new_base_collations_sorted_indices_by_letter and |
| get_collation_sorted_indices_by_letter based on |
| document_sorted_indices_by_* code and call these functions. |
| move new_collation_sorted_indices_by_index, |
| find_collation_sorted_indices_by_index, |
| new_collation_sorted_indices_by_letter and |
| find_collation_sorted_indices_by_letter to manipulate_indices.c. |
| |
| * tta/C/main/document.c (document_sorted_indices_by_index) |
| (document_sorted_indices_by_letter), tta/C/main/manipulate_indices.c |
| (sort_indices_by_index) (sort_indices_by_letter, |
| setup_sort_sortable_strings_collator), tta/perl/Texinfo/Document.pm |
| (sorted_indices_by_letter) (sorted_indices_by_index), |
| tta/perl/Texinfo/Indices.pm (_setup_sort_sortable_strings_collator) |
| (sort_indices_by_index, sort_indices_by_letter): |
| use indices_sort_strings as argument to sort_indices_by_index, |
| sort_indices_by_letter and setup_sort_sortable_strings_collator, do |
| not call document_indices_sort_strings in those functions, but in |
| document_sorted_indices_by_index, document_sorted_indices_by_letter |
| before calling sort_indices_by_index or sort_indices_by_letter. |
| |
| * tta/C/convert/converter.c |
| (converter_index_entry_element_sort_string) |
| (converter_indices_sort_strings, converter_sorted_indices_by_index) |
| (get_converter_indices_sorted_by_index) |
| (converter_sorted_indices_by_letter) |
| (get_converter_indices_sorted_by_letter), |
| tta/C/convert/convert_indices.c (converter_index_content_element) |
| (index_entry_first_letter_text_or_command), |
| tta/C/main/converter_types.h (CONVERTER), |
| tta/C/main/manipulate_indices.c (document_index_content_element), |
| tta/perl/Texinfo/Convert/Converter.pm (converter_indices_sort_strings) |
| (_converter_sorted_indices_by_letter) |
| (_converter_sorted_indices_by_index), |
| tta/perl/Texinfo/Convert/ConverterNonXS.pm |
| (get_converter_indices_sorted_by_letter) |
| (get_converter_indices_sorted_by_index), |
| tta/perl/Texinfo/Indices.pm (converter_index_content_element), |
| tta/perl/Texinfo/IndicesNonXS.pm (index_entry_element_sort_string): add |
| index sorting functions for converters that cache in the converter, |
| using the new fields indices_sort_strings, sorted_indices_by_index and |
| sorted_indices_by_letter, and use converter information. Use those |
| functions in get_converter_indices_sorted_by_*, in |
| index_entry_first_letter_text_or_command and in converters. |
| Remove document_index_content_element converter and consider only the |
| case of no converter in this function. Update |
| callers, replacing index_content_element by |
| converter_index_content_element in converters. Remove |
| index_content_element. |
| |
| * tta/C/main/document.c (document_indices_sort_strings), |
| tta/perl/Texinfo/Document.pm (sorted_indices_by_letter) |
| (sorted_indices_by_index), tta/perl/Texinfo/DocumentNonXS.pm |
| (document_indices_sort_strings), tta/perl/Texinfo/Indices.pm |
| (sort_indices_by_index, sort_indices_by_letter), |
| tta/perl/XSTexinfo/parser_document/DocumentXS.xs |
| (document_indices_sort_strings): remove converter |
| argument. Update callers. |
| |
| * tta/perl/XSTexinfo/parser_document/DocumentXS.xs |
| (setup_indices_sort_strings): never use the converter argument. |
| |
| * tta/C/convert/texinfo.c (txi_complete_document), |
| tta/perl/texi2any.pl: do not call document_indices_sort_strings or |
| Document::setup_indices_sort_strings in advance anymore, as the sorted |
| index entries used by converters are not in the document anymore. |
| |
| * tta/C/main/manipulate_indices.c (destroy_sorted_indices_by_index) |
| (destroy_sorted_indices_by_letter), tta/C/main/document.c |
| (destroy_document_information_except_tree): add |
| destroy_sorted_indices_by_index and destroy_sorted_indices_by_letter |
| based on destroy_document_information_except_tree code. |
| |
| * tta/perl/Texinfo/Convert/Converter.pm (conversion_initialization), |
| tta/perl/Texinfo/Convert/DocBook.pm (converter_initialize), |
| tta/perl/Texinfo/Convert/LaTeX.pm (conversion_initialization), |
| tta/perl/Texinfo/Convert/Plaintext.pm (conversion_initialization): |
| call set_document even if document is undef, to get the other |
| initialization/destructions. |
| |
| * tta/C/convert/converter.c (destroy_converter_index_sorting) |
| (converter_set_document, free_generic_converter), |
| tta/C/main/build_perl_info.c (pass_document_sv_to_converter_sv), |
| tta/perl/Texinfo/Convert/Converter.pm (converter_perl_release), |
| tta/perl/Texinfo/Convert/ConverterNonXS.pm (set_document): |
| destroy index sorting information set in converter. Destroy document |
| in set_document if input document is undef. |
| |
| * tta/C/convert/converter.c (element_cdt_tree): add and call |
| html_element_cdt_tree from this function only and call this function |
| directly in converter_index_content_element. Remove all the now |
| unneeded element_cdt_tree_fn arguments. |
| |
| * tta/perl/t/z_misc/test_sort.t: update. |
| |
| 2026-06-15 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/C/main/manipulate_indices.c (def_command_index_entry), |
| tta/C/main/translations.h, tta/perl/Texinfo/Indices.pm |
| (_def_command_index_entry): do not use a different cache for |
| translation without a converter, use the same cache as converters. |
| Remove the unused cache variables and comment out |
| TXI_PARSER_STRINGS_NR. |
| |
| 2026-06-15 Patrice Dumas <pertusus@free.fr> |
| |
| update po |
| |
| 2026-06-15 Patrice Dumas <pertusus@free.fr> |
| |
| * po_document/Makevars (XGETTEXT_OPTIONS): add element_cdt*. |
| |
| * Makefile.am (po_document-check), po_document/POTFILES.in: update. |
| |
| 2026-06-14 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/C/texi2any.c (main): set element_cdt_tree_fn to |
| html_element_cdt_tree if outputting HTML. |
| |
| * tta/perl/Makefile.am (test_files), |
| tta/perl/t/input_files/customize_definition_index_translations.texi, |
| tta/perl/t/init_files_tests.t |
| (customize_definition_index_translations), tta/tests/Makefile.onetst, |
| tta/tests/customization/list-of-tests |
| (translated_strings_customization): move |
| customize_definition_index_translations Texinfo to the |
| customize_definition_index_translations.texi and use it for a test of |
| the command in tests/customization/list-of-tests. |
| |
| 2026-06-14 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/C/main/manipulate_indices.c: rename cdt_element_tree_fn as |
| element_cdt_tree_fn. |
| |
| * tta/C/convert/converter.c (converter_format_data) |
| (get_converter_indices_sorted_by_index) |
| (get_converter_indices_sorted_by_letter), tta/C/convert/converter.h |
| (CONVERTER_FORMAT_DATA): add element_cdt_tree field in |
| CONVERTER_FORMAT_DATA, set it for HTML and get it in |
| get_converter_indices_sorted_by_*. |
| |
| * tta/C/convert/texinfo.c (txi_complete_document), |
| tta/C/main/document.c (document_indices_sort_strings) |
| (sorted_indices_by_index, sorted_indices_by_letter) |
| (print_document_indices_sort_strings), |
| tta/C/main/manipulate_indices.c (index_entry_element_sort_string) |
| (setup_index_entries_sort_strings) |
| (setup_sort_sortable_strings_collator, sort_indices_by_index) |
| (sort_indices_by_letter), tta/perl/Texinfo/DocumentNonXS.pm |
| (print_document_indices_sort_strings), |
| tta/perl/Texinfo/IndicesNonXS.pm (index_entry_element_sort_string), |
| tta/perl/XSTexinfo/parser_document/DocumentXS.xs |
| (setup_indices_sort_strings, indices_sort_strings) |
| (print_document_indices_sort_strings), tta/swig/texinfo.i: |
| pass converter in Perl and converter and HTML specific function from |
| index sorting and print_document_indices_sort_strings down to |
| indices_sort_strings or index_content_element. Update callers. |
| |
| * tta/C/convert/html_prepare_converter.c (html_converter_customize) |
| (html_conversion_initialization): set self->current_* in |
| html_converter_customize and not right before starting to output, as |
| the current_* struct fields may be used in code called before starting |
| the conversion, mainly for index strings sorting to use a customized |
| function for translation. |
| |
| * tta/C/texi2any.c (main), tta/perl/t/test_utils.pl (test), |
| tta/perl/texi2any.pl: setup converter earlier to have it for the call |
| to setup_indices_sort_strings or txi_complete_document. |
| |
| * tta/perl/Texinfo/Document.pm (BEGIN), tta/perl/XSTexinfo/Makefile.am |
| (DocumentXS_la_CPPFLAGS, DocumentXS_la_LIBADD): link DocumentXS |
| against conversion library now that a converter and associated |
| functions may be needed for index strings sorting translation |
| customization. |
| |
| 2026-06-14 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/C/convert/convert_html.c (html_custom_translate_string): use |
| current_formatting_references. |
| |
| 2026-06-14 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/C/main/translations.h (TXI_CONVERT_STRINGS_NR): the formerly |
| parser only strings are now also translated by converters. |
| |
| 2026-06-14 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/perl/t/init/translated_strings_customization.pm (%translations), |
| tta/perl/t/init_files_tests.t |
| (customize_definition_index_translations), tta/perl/Makefile.tres: add |
| test of definition index strings translations. |
| |
| 2026-06-14 Patrice Dumas <pertusus@free.fr> |
| |
| Customization of HTML translation for object oriented definitions index |
| |
| * tta/perl/Texinfo/Convert/Converter.pm (element_cdt), |
| tta/perl/Texinfo/Convert/HTML.pm (element_cdt), |
| tta/C/convert/convert_html.c (html_element_cdt_tree): add wrappers for |
| converters for translation based on element language information. |
| |
| * tta/C/main/manipulate_indices.c (def_command_index_entry) |
| (index_content_element, index_entry_element_sort_string) |
| (index_entry_first_letter_text_or_command), |
| tta/perl/Texinfo/Indices.pm (_def_command_index_entry) |
| (index_content_element, index_entry_first_letter_text_or_command), |
| tta/perl/Texinfo/IndicesNonXS.pm (index_entry_element_sort_string): |
| pass converter in Perl down to def_command_index_entry and use |
| element_cdt if the converter is passed, and pass converter and a |
| function reference in C. Update callers. |
| |
| * tta/C/main/manipulate_indices.c (index_entry_element_sort_string), |
| tta/perl/XSTexinfo/parser_document/IndicesXS.xs |
| (index_entry_element_sort_string): add debug level argument to |
| index_entry_element_sort_string. |
| |
| 2026-06-14 Gavin Smith <gavinsmith0123@gmail.com> |
| |
| * doc/texinfo.tex (\initial): Reduce optional space at the end |
| of a column (in the index two-column layout) from 5 lines to 4 lines. |
| |
| 2026-06-14 Gavin Smith <gavinsmith0123@gmail.com> |
| |
| * doc/txi-nb.tex: Define sort strings for Æ, Ø and Å. |
| * doc/texinfo.tex (\idxsort): Provide definition of sequence used |
| in translation files to improve reliability. |
| |
| 2026-06-14 Gavin Smith <gavinsmith0123@gmail.com> |
| |
| * doc/txi-is.tex: fix comment |
| |
| 2026-06-14 Gavin Smith <gavinsmith0123@gmail.com> |
| |
| * doc/txi-is.tex: Define sort strings for Þ, Æ, and Ö. |
| |
| 2026-06-14 Gavin Smith <gavinsmith0123@gmail.com> |
| |
| * texindex/texindex.awk (string_compare_internal): |
| If characters not in order array, use < to compare them. |
| |
| 2026-06-14 Gavin Smith <gavinsmith0123@gmail.com> |
| |
| * texindex/texindex.awk (BEGIN): Fix case-insensitive ordering |
| to keep non-ASCII values after ASCII characters. |
| (extract_initial): fix comment. |
| |
| * doc/txi-es.tex: add special sort strings for ñ and Ñ. |
| |
| 2026-06-13 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/perl/Texinfo/Convert/HTML.pm (_convert_printindex_command), |
| tta/perl/Texinfo/Convert/HTMLNonXS.pm (_prepare_index_entries_targets) |
| (output_internal_links), tta/perl/Texinfo/Convert/LaTeX.pm |
| (_index_entry), tta/perl/Texinfo/Convert/Plaintext.pm |
| (process_printindex), tta/perl/Texinfo/Indices.pm |
| (index_entry_first_letter_text_or_command) |
| (setup_index_entries_sort_strings), tta/perl/Texinfo/IndicesNonXS.pm |
| (index_entry_element_sort_string): set debug argument of |
| index_content_element, add debug argument and set argument of |
| index_entry_first_letter_text_or_command and |
| index_entry_element_sort_string. |
| |
| * tta/perl/Texinfo/Convert/HTML.pm, |
| tta/perl/Texinfo/Convert/HTMLNonXS.pm, |
| tta/perl/Texinfo/Convert/Plaintext.pm: use intermediary variable for |
| DEBUG to avoid calling get_conf too often. |
| |
| 2026-06-13 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/C/main/convert_utils.c (definition_category_tree), |
| tta/perl/Texinfo/Convert/Utils.pm (definition_category_tree): use |
| def_class_method and def_class_variable commands flags. |
| |
| 2026-06-13 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/perl/Texinfo/ManipulateTree.pm (_copy_tree, tree_remove_parents) |
| (_element_remove_references, @extra_out_of_tree), |
| tta/C/main/tree_types.h (AI_KEYS_LIST): remove def_index_element and |
| def_index_ref_element related definitions and code, as they are not in |
| the tree anymore. |
| |
| 2026-06-13 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/C/convert/format_html.c (html_convert_printindex_command): build |
| tree for level 0 index entry container. |
| |
| * tta/perl/Texinfo/Indices.pm (_remove_def_types): add. |
| |
| * tta/C/main/manipulate_indices.c (def_command_index_entry) |
| (index_content_element), tta/C/parsetexi/end_line.c |
| (end_line_def_line), tta/perl/Texinfo/Indices.pm |
| (_def_command_index_entry, index_content_element), |
| tta/perl/Texinfo/ParserNonXS.pm (_end_line_def_line): rename |
| set_def_command_index_entry as def_command_index_entry. Do not set |
| def_index_element nor def_index_ref_element in def_command_index_entry |
| or in end_line_def_line, instead return the new element from |
| def_command_index_entry, including if there was no need for |
| translation. Also make a copy of the returned element in |
| index_content_element if the index entry is not a def command index |
| entry. Update C callers of index_content_element to destroy the |
| returned element. |
| |
| 2026-06-13 Gavin Smith <gavinsmith0123@gmail.com> |
| |
| TexiWeb Jr. removal updates |
| |
| * grand-replace.sh, |
| * README-hacking, |
| * TODO, |
| * texindex/README: update for twjr removal. |
| |
| 2026-06-13 Gavin Smith <gavinsmith0123@gmail.com> |
| |
| texindex: by default, do not merge entries if text differs |
| |
| * texindex/texindex.awk |
| (usage, BEGIN): Add --combine-equal-keys option. Set CombineEqualKeys |
| variable if given. |
| |
| (main block) [!CombineEqualKeys]: Only eliminate duplicate |
| entries if index entry text is equal as well as the sort key being |
| equal. |
| |
| (index_compare) [!CombineEqualKeys]: Compare the index text if the |
| sort keys are identical. |
| |
| (write_index_entry) |
| (maybe_print_primary_entry, maybe_print_secondary_entry): |
| Split out maybe_print_primary_entry, maybe_print_seconary_entry. |
| Construct key to represent primary or secondary entry depending |
| on the --combine-equal-keys setting. |
| |
| 2026-06-12 Gavin Smith <gavinsmith0123@gmail.com> |
| |
| * texindex/texindex.awk (write_index_entry): |
| Take index key as argument directly, rather than index into the |
| Index array. |
| (check_split_null): Set Can_split_null global variable directly, |
| rather than relying on the caller to do it. |
| No functional change intended. |
| |
| 2026-06-12 Gavin Smith <gavinsmith0123@gmail.com> |
| |
| * texindex/texindex.awk (string_compare_internal): |
| Compare values with a subtraction, as stated in comment about |
| Ordval initialization. This is more concise and also is slightly |
| faster. |
| |
| 2026-06-12 Gavin Smith <gavinsmith0123@gmail.com> |
| |
| * README-hacking, AUTHORS: update for no longer using TexiWeb Jr. |
| * configure.ac: do not set GAWK variable. |
| |
| 2026-06-12 Gavin Smith <gavinsmith0123@gmail.com> |
| |
| texindex: separate ordering array for case-insensitive comparison |
| |
| * texindex/texindex.awk (BEGIN, Ordval, Ordval_ignorecase): |
| Use separate array for case-insensitive ordering of bytes. |
| (string_compare_internal): Add array argument for ordering. |
| (string_compare): Call string_compare_internal. |
| (string_compare_ignorecase, string_compare_noignorecase): |
| Remove functions. |
| |
| This results in around a 40% reduction in runtime, as it avoids |
| calling isalpha and tolower on every byte in the strings being |
| sorted. |
| |
| 2026-06-13 Patrice Dumas <pertusus@free.fr> |
| |
| Add def_class_variable and def_class_method flags |
| |
| * tta/C/main/builtin_commands.h, tta/data/command_data.txt: add |
| def_class_variable and def_class_method flags. |
| |
| * tta/C/parsetexi/end_line.c (end_line_def_line), |
| tta/C/main/manipulate_indices.c (set_def_command_index_entry), |
| tta/perl/Texinfo/Indices.pm (_set_def_command_index_entry), |
| tta/perl/Texinfo/ParserNonXS.pm (_end_line_def_line): use the new |
| flags. |
| |
| 2026-06-13 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/C/main/builtin_commands.h, tta/C/main/command_data.awk (END): |
| move preformatted_code to other flags. Update code checking that |
| flag. |
| |
| 2026-06-13 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/swig/python/Makefile.am (SWIG_header_dependencies): add missing |
| dependencies. |
| |
| 2026-06-13 Patrice Dumas <pertusus@free.fr> |
| |
| Remove accent flag, accent brace command data can be used instead |
| |
| * tta/C/api_for_swig/swig_element_types.h, tta/data/command_data.txt, |
| tta/perl/Texinfo/Convert/HTML.pm (%accent_commands), |
| tta/C/main/builtin_commands.h, tta/perl/Texinfo/Commands.pod: remove |
| accent flag, use brace flag and brace command data equal to accent |
| instead. Update code using accent flags. |
| |
| 2026-06-13 Patrice Dumas <pertusus@free.fr> |
| |
| Format @defcv like other variable definitions with class and category |
| |
| * tta/C/parsetexi/end_line.c (end_line_def_line), |
| tta/perl/Texinfo/ParserNonXS.pm (_end_line_def_line): add defcv to |
| list of @-commands with a need for translation. |
| |
| 2026-06-13 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/C/main/manipulate_indices.c (set_def_command_index_entry) |
| (index_content_element), tta/C/parsetexi/indices.c, |
| tta/C/parsetexi/parser.c (parse_texi), tta/perl/Texinfo/Indices.pm |
| (_set_def_command_index_entry, index_content_element), |
| tta/perl/Texinfo/ParserNonXS.pm (_parse_texi): add |
| set_def_command_index_entry based on complete_indices code for one def |
| command element. Call set_def_command_index_entry in |
| index_content_element to generate the tree corresponding to the index |
| entry when needed. Remove complete_indices. Update |
| index_content_element callers. |
| |
| * tta/swig/texinfo.i (txi_ext_inline_index_content_element): add |
| for change in index_content_element. |
| |
| * tta/perl/Texinfo/ManipulateTree.pm (_element_remove_references): do |
| not check refcount for def_index_element and def_index_ref_element as |
| they may not have been created in C. |
| |
| 2026-06-13 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/perl/Texinfo/Indices.pm (complete_indices), |
| tta/perl/Texinfo/Translations.pm: move complete_indices to Indices.pm. |
| Update caller. |
| |
| 2026-06-13 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/perl/Texinfo/Common.pm, tta/perl/Texinfo/Indices.pm |
| (index_content_element): move index_content_element to Indices.pm. |
| Update callers. |
| |
| 2026-06-13 Patrice Dumas <pertusus@free.fr> |
| |
| * TODO, tta/TODO, tta/perl/ext/epub3.pm: update TODOs. |
| |
| 2026-06-10 Patrice Dumas <pertusus@free.fr> |
| |
| * NEWS: add Perl and Python SWIG modules. |
| |
| * tta/swig/texinfo.i (interface_version): increase (for incompatible |
| change in setup function). |
| |
| 2026-06-08 Patrice Dumas <pertusus@free.fr> |
| |
| * NEWS: add @documentscript and @documentlanguagevariant. |
| |
| 2026-06-11 Gavin Smith <gavinsmith0123@gmail.com> |
| |
| texindex: rename array |
| |
| * texindex/texindex.awk (Keys): Rename array to "Index". The |
| contents do not need to be sort keys as far as they are used, |
| just unique strings for identifying index entries. |
| (main block): separate use of sort key as identifier for an |
| index entry from use as a sort key. Add comment why it is better |
| to eliminate duplicates at this stage. |
| |
| 2026-06-10 Gavin Smith <gavinsmith0123@gmail.com> |
| |
| * texindex/texindex.awk: Add comments with the meanings |
| of several global variables. |
| (main block): Store 1 instead of the sort key as the value in |
| the Allkeys array, as the value isn't used. |
| |
| 2026-06-09 Gavin Smith <gavinsmith0123@gmail.com> |
| |
| Change texindex sort order to two level case insensitive/sensitive |
| |
| * texindex/texindex.awk (string_compare) |
| (string_compare_ignorecase, string_compare_noignorecase) |
| (string_compare_internal): |
| Add functions beyond string_compare. Replace character-by-character |
| logic with two-pass comparison. The first is case insensitive, the |
| second is case sensitive. |
| |
| * texindex/ti.texi: add test cases and try to explain the change. |
| |
| 2026-06-09 Gavin Smith <gavinsmith0123@gmail.com> |
| |
| * doc/texinfo.texi (Details of texindex): |
| Remove old information about TexiWeb Jr. |
| |
| 2026-06-08 Gavin Smith <gavinsmith0123@gmail.com> |
| |
| Remove Texiweb Jr. infrastructure |
| |
| * texindex/jrweave, texindex/jrtangle: deleted |
| * texindex/Makefile.am, man/Makefile.am: updated. |
| |
| 2026-06-08 Gavin Smith <gavinsmith0123@gmail.com> |
| |
| * texindex/ti.texi: delete most of file, keeping introductory |
| sections and test cases. |
| |
| 2026-06-08 Gavin Smith <gavinsmith0123@gmail.com> |
| |
| * texindex/ti.twjr, texindex/ti.texi: Rename to ti.texi |
| in preparation for removal of most of file. |
| |
| 2026-06-08 Gavin Smith <gavinsmith0123@gmail.com> |
| |
| * texindex/texindex.awk: add small number of heading comments |
| to organise the file. |
| |
| 2026-06-08 Gavin Smith <gavinsmith0123@gmail.com> |
| |
| * texindex/texindex.awk: add more text from ti.twjr in comments. |
| |
| 2026-06-08 Gavin Smith <gavinsmith0123@gmail.com> |
| |
| * texindex/texindex.awk: initial tidy up. remove declarations |
| of public domain copyright status. blank lines between functions. |
| |
| 2026-06-08 Gavin Smith <gavinsmith0123@gmail.com> |
| |
| * texindex/texindex.awk: track file |
| |
| 2026-06-08 Gavin Smith <gavinsmith0123@gmail.com> |
| |
| * texindex/ti.twjr, texindex/Makefile.am: |
| Rename jrtangle output file to ti.awk in preparation |
| for committing texindex.awk as a non-generated file. |
| |
| 2026-06-08 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/perl/t/09indices.t (sorting_of_symbols): skip test if Perl is |
| too old (manually tested on Solaris 10). |
| |
| 2026-06-08 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/swig/perl/t/20index_sort.t: skip comparison of sorting |
| arrays if Perl is too old as SWIG corresponds to the C sorting, |
| which is not compatible with texi2any Perl modules old Perl |
| sorting order. |
| |
| 2026-06-08 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/perl/t/09indices.t (sorting_of_symbols), tta/perl/Makefile.tres: |
| add test with some symbols and spaces sorting test. Also a reference |
| for the SWIG sorting test. |
| |
| 2026-06-07 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/C/texi2any.c (main): call txi_load_interpreter only if |
| embedded_interpreter is txi_interpreter_want_embedded, such that the |
| interpreter is not loaded twice. |
| |
| 2026-06-07 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/C/texi2any.c (main): initialize sort_element_count_text. Even |
| though it is not possible to have it unnitialized, it is consistent |
| with the code that is written as if sort_element_count_info could be |
| NULL. |
| |
| 2026-06-07 Gavin Smith <gavinsmith0123@gmail.com> |
| |
| * texindex/ti.twjr (Library functions, Helper functions): |
| Move node text and add comments at start of utility functions. |
| |
| 2026-06-07 Gavin Smith <gavinsmith0123@gmail.com> |
| |
| * texindex/ti.twjr (Comparing index entries): |
| Move node text into comment in 'string_compare'. |
| |
| 2026-06-07 Gavin Smith <gavinsmith0123@gmail.com> |
| |
| * texindex/ti.twjr (Splitting the record): |
| Move node text into comments. |
| |
| 2026-06-07 Gavin Smith <gavinsmith0123@gmail.com> |
| |
| * texindex/ti.twjr (Multilevel comparisons) |
| (Comparing index entries): |
| Move node text into comments. |
| |
| 2026-06-07 Gavin Smith <gavinsmith0123@gmail.com> |
| |
| * texindex/ti.twjr (Splitting the record): |
| Inline chunks into function 'field_split', and move node text |
| into comments. |
| |
| 2026-06-07 Gavin Smith <gavinsmith0123@gmail.com> |
| |
| * texindex/ti.twjr (Get initial): |
| Move node text into a comment. |
| |
| 2026-06-07 Gavin Smith <gavinsmith0123@gmail.com> |
| |
| * texindex/ti.twjr (printing a single entry): |
| move node text into a comment. |
| |
| 2026-06-07 Gavin Smith <gavinsmith0123@gmail.com> |
| |
| * texindex/ti.twjr (printing a single entry): |
| inline chunks. |
| |
| 2026-06-07 Gavin Smith <gavinsmith0123@gmail.com> |
| |
| * texindex/ti.twjr: consistently place parameters and local |
| variables on separate lines in function headers. |
| |
| 2026-06-07 Gavin Smith <gavinsmith0123@gmail.com> |
| |
| * texindex/ti.twjr (Remove duplicates): |
| Remove node and inline chunks where they are used. |
| (Store the data for this line): |
| Inline "Set up control sequence regexps" chunk where it is used. |
| |
| 2026-06-07 Gavin Smith <gavinsmith0123@gmail.com> |
| |
| * texindex/ti.twjr (printing top level, printing a single entry): |
| Inline chunks "Print primary entry if necessary" and |
| "Print secondary entry if necessary". |
| |
| 2026-06-07 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/configure.ac: set with_swig to no if not detected. |
| |
| 2026-06-07 Patrice Dumas <pertusus@free.fr> |
| |
| Enable SWIG interfaces building if detected |
| |
| * tta/configure.ac (swig): enable SWIG interfaces if swig is found. |
| |
| 2026-06-07 Patrice Dumas <pertusus@free.fr> |
| |
| Link statically SWIG interface with libtexinfo code |
| |
| * tta/C/Makefile.am (noinst_LTLIBRARIES, C_libtexinfo_LIBS) |
| (libtexinfo_static_la_*, libtexinfo_convert_static_la_*) |
| (libtexinfo_main_static_la_*): add internal static libraries without |
| Perl calling code. |
| |
| * tta/swig/perl/Makefile.am (Texinfo_la_LIBADD), |
| tta/swig/python/Makefile.am (_Texinfo_la_LIBADD): link against |
| internal static library. |
| |
| 2026-06-07 Patrice Dumas <pertusus@free.fr> |
| |
| Never use a Perl interpreter in the SWIG interface |
| |
| * tta/swig/texinfo.i (txi_ext_inline_setup): remove loading of |
| an interpreter or texi2any modules from txi_ext_inline_setup. |
| Remove collation_language and collation_locale arguments of |
| txi_ext_inline_get_index_sorted_by_index. Remove |
| interpreter_use_types.h include. |
| |
| * tta/swig/perl/Makefile.PL, tta/swig/perl/Makefile.am (AM_CPPFLAGS), |
| tta/swig/python/Makefile.am (AM_CPPFLAGS): remove USE_PERL_INTERPRETER |
| and EMBED_PERL flags settings. Remove dependency on |
| interpreter_use_types.h. |
| |
| * tta/swig/perl/t/20index_sort.t: remove language argument from |
| Texinfo::get_index_sorted_by_index call and skip test of language |
| tailored sorting as it is not possible anymore. |
| |
| * tta/swig/perl/parse_refold.pl, tta/swig/python/test_Texinfo.py: |
| update call of Texinfo setup. |
| |
| * tta/swig/python/Makefile.am (AM_CPPFLAGS): remove linking against |
| perl libraries. |
| |
| 2026-06-07 Gavin Smith <gavinsmith0123@gmail.com> |
| |
| * texindex/ti.twjr (printing top level, printing a single entry): |
| Inline chunks and eliminate indirection. |
| |
| 2026-06-07 Gavin Smith <gavinsmith0123@gmail.com> |
| |
| * texindex/ti.twjr (End-of-file sorting and printing): |
| Move node text into comments. |
| |
| 2026-06-07 Gavin Smith <gavinsmith0123@gmail.com> |
| |
| * texindex/ti.twjr (Store the data for this line): |
| Inline "Split out and store the subparts of the sort key" chunk. |
| |
| 2026-06-07 Gavin Smith <gavinsmith0123@gmail.com> |
| |
| * texindex/ti.twjr (Get the initial, Processing each record): |
| Move line calling extract_initial to "Processing each record", |
| leaving the definition of extract_inital in "Get the initial". |
| |
| 2026-06-07 Gavin Smith <gavinsmith0123@gmail.com> |
| |
| * texindex/ti.twjr: Remove all index entries |
| stating where functions or variables are used. |
| |
| 2026-06-07 Gavin Smith <gavinsmith0123@gmail.com> |
| |
| * texindex/ti.twjr (Check for more initial): |
| Remove node and inline chunk. |
| |
| 2026-06-07 Gavin Smith <gavinsmith0123@gmail.com> |
| |
| * texindex/ti.twjr (Processing each record): |
| Move text to a comment before the block. This makes |
| it easier to spot where the main, unlabelled block |
| starts in the resulting awk program. |
| |
| 2026-06-07 Gavin Smith <gavinsmith0123@gmail.com> |
| |
| * texindex/ti.twjr (Processing each record): |
| Reword a sentence slightly. |
| |
| 2026-06-07 Gavin Smith <gavinsmith0123@gmail.com> |
| |
| * texindex/ti.twjr (Setup for each input file) |
| (Store the data for this line): |
| Move some text from node into code comments. |
| |
| 2026-06-07 Gavin Smith <gavinsmith0123@gmail.com> |
| |
| * texindex/ti.twjr (Remove leading \entry): |
| Remove node and inline code. |
| |
| 2026-06-07 Gavin Smith <gavinsmith0123@gmail.com> |
| |
| * texindex/ti.twjr (Set up and name fields): |
| Remove node and inline chunks where they are used. |
| |
| 2026-06-06 Karl Berry <karl@freefriends.org> |
| |
| * doc/texinfo.texi: use "uppercase" and "lowercase" instead |
| of "upper-case" and "lower-case" consistently, and other minor |
| spelling and grammar fixes. |
| |
| 2026-06-06 Gavin Smith <gavinsmith0123@gmail.com> |
| |
| * texindex/ti.twjr (Assumptions): |
| Add note about when it may not make sense to merge |
| index entries with the same sort key. |
| |
| 2026-06-06 Gavin Smith <gavinsmith0123@gmail.com> |
| |
| * texindex/ti.twjr (Output form): Elaborate on what |
| a "secondary index entry" is. |
| |
| 2026-06-06 Gavin Smith <gavinsmith0123@gmail.com> |
| |
| * texindex/ti.twjr (Input form): move a sentence. |
| |
| 2026-06-06 Gavin Smith <gavinsmith0123@gmail.com> |
| |
| * texindex/ti.twjr (Preface): Inline sub-nodes into this |
| node with @subheading's. |
| |
| 2026-06-06 Gavin Smith <gavinsmith0123@gmail.com> |
| |
| * texindex/ti.twjr (less_than, index_compare): |
| Rename to index_compare. |
| |
| 2026-06-06 Gavin Smith <gavinsmith0123@gmail.com> |
| |
| * texindex/ti.twjr (key_compare, string_compare): |
| Rename to string_compare. Move text describing the function |
| to a comment before the function. |
| |
| 2026-06-06 Gavin Smith <gavinsmith0123@gmail.com> |
| |
| * texindex/ti.twjr (quicksort): Add comment explaining |
| how to call the function and what the parameters mean. |
| Inline @<Set compare mechanism@> and |
| @<Do ``less than'' comparison@> chunks. |
| |
| 2026-06-06 Patrice Dumas <pertusus@free.fr> |
| |
| * doc/texinfo.texi (Raw Formatter Commands): explain differently the |
| relation between raw @html and EPUB, since raw EPUB can only happen in |
| @documentinfo. Expand the example to include @ifnotepub @html. |
| |
| * doc/texinfo.texi (Document Metadata): use the exact same code as in |
| "Raw Formatter Commands" node. |
| |
| 2026-06-06 Patrice Dumas <pertusus@free.fr> |
| |
| * doc/texinfo.texi (Titlepage & Copyright Page): explain that in the |
| default case, there is no title page output in HTML. |
| |
| * doc/texinfo.texi (Document Metadata): explain how Texinfo in |
| @documentinfo ends up in metadata. |
| |
| * doc/texinfo.texi (Contents): contents can be after @end |
| documentinfo. |
| |
| 2026-06-05 Gavin Smith <gavinsmith0123@gmail.com> |
| |
| * texindex/ti.twjr (Input form): Update for switch from |
| \ to @ in index files. |
| |
| 2026-06-05 Patrice Dumas <pertusus@free.fr> |
| |
| Load an embedded Perl interpreter in SWIG only when needed |
| |
| * tta/C/convert/texinfo.c (txi_use_interpreter_load_modules): return a |
| status. |
| |
| * tta/swig/texinfo.i (use_interpreter_state, txi_ext_inline_setup) |
| (txi_ext_inline_get_index_sorted_by_index): setup loaded interpreter |
| using txi_interpreter_want_embedded. Add |
| txi_ext_inline_get_index_sorted_by_index wrapper around |
| txi_ext_get_index_sorted_by_index that loads a Perl embedded |
| interpreter if needed and calls txi_ext_get_index_sorted_by_index. |
| Set use_interpreter_state to txi_interpreter_want_embedded in |
| txi_ext_inline_setup if using an existing Perl interpreter and the |
| call of txi_use_interpreter_load_modules succeeded. |
| |
| 2026-06-05 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/C/convert/texinfo.c (txi_use_interpreter_load_modules) |
| (txi_setup_load_interpreter), tta/C/texi2any.c (main), |
| tta/swig/texinfo.i (txi_ext_inline_setup): split code loading modules |
| but not embedding a Perl interpreter out of |
| txi_setup_main_load_interpreter, since there is nothing in common with |
| the case of embedding a Perl interpreter. Rename |
| txi_setup_main_load_interpreter as txi_setup_load_interpreter. |
| Update functions previously calling txi_setup_main_load_interpreter. |
| |
| * tta/swig/perl/parse_refold.pl, tta/swig/python/test_Texinfo.py, |
| tta/swig/texinfo.i (txi_ext_inline_setup): change txi_ext_inline_setup |
| argument to be a simple 1 or 0 to determine if using an interpreter |
| instead of an enum interpreter_use. |
| |
| 2026-06-05 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/swig/perl/t/20index_sort.t: add entries with sorting order |
| changing with language. Add a test with sv language used for sorting. |
| |
| 2026-06-05 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/C/convert/convert_html.c (html_convert_tree_append): add |
| type with missing conversion function in error message. |
| |
| 2026-06-05 Gavin Smith <gavinsmith0123@gmail.com> |
| |
| * texindex/ti.twjr (Top): remove @menu and @detailmenu. |
| |
| 2026-06-05 Gavin Smith <gavinsmith0123@gmail.com> |
| |
| * texindex/ti.twjr: Use @nodedescription instead of explicit |
| @menu throughout. |
| |
| 2026-06-01 Gavin Smith <gavinsmith0123@gmail.com> |
| |
| Avoid outputting extra spaces with index entry commands |
| |
| * doc/texinfo.tex (\checksortas, \checkseealso, \checkseeentry): |
| Add missing % after {. |
| |
| Report from Arnold Robbins. |
| |
| 2026-06-01 Gavin Smith <gavinsmith0123@gmail.com> |
| |
| * tta/C/main/call_perl_function.c (call_setup_collator), |
| * tta/C/main/replace_perl_api_call.c (call_setup_collator): |
| Remove unused function. |
| |
| 2026-06-01 Gavin Smith <gavinsmith0123@gmail.com> |
| |
| * tta/C/main/manipulate_indices.c (setup_collator, get_sort_key): |
| Remove #define NATIVE_UTS10_COLLATION and use |
| NATIVE_UTS10_COLLATION code unconditionally. |
| |
| 2026-05-31 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/C/main/get_perl_info.c (get_output_files_information): remove |
| useless check of value associated to file name in file information |
| opened_files. |
| |
| Changes in comments. |
| |
| 2026-05-31 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/C/convert/converter.c (setup_converter_format): do not return |
| from a void function (found on Solaris). |
| |
| 2026-05-31 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/tests/other/list-of-tests (index_collation_test_html) |
| (index_collation_test_collation_language_html) |
| (index_collation_test_documentlanguage_collation_html): add tests of |
| language tailored collation for HTML output. |
| |
| 2026-05-31 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/C/main/call_perl_function.c (call_setup_lang_collator), |
| tta/perl/Texinfo/Indices.pm (_setup_lang_collator, _setup_collator): |
| split _setup_lang_collator out of _setup_collator for a |
| language tailored collation locale and add call_setup_lang_collator |
| to call from C. |
| |
| * tta/C/main/manipulate_indices.c (setup_collator): call |
| call_setup_lang_collator if the collation language is set. |
| |
| * tta/perl/Texinfo/Indices.pm (_setup_collator): minor change in code |
| to make clearer that Texinfo::CollateStub is only used with |
| $use_unicode_collation set. |
| |
| 2026-05-31 Patrice Dumas <pertusus@free.fr> |
| |
| * README-hacking, tta/README: update for changes related to collation |
| and languages. |
| |
| 2026-05-30 Patrice Dumas <pertusus@free.fr> |
| |
| * configure.ac: mandate Unicode::Collate. In particular to provide |
| with the same features as C, which always include unicode collation |
| now. |
| |
| * tta/perl/Texinfo/Indices.pm (_setup_collator): use Unicode::Collate |
| and consider that it is always present. |
| |
| 2026-05-29 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/C/convert/converter.c (converter_format_data) |
| (setup_converter_format), tta/C/convert/converter.h |
| (CONVERTER_FORMAT_DATA), tta/C/convert/html_prepare_converter.c |
| (html_format_setup): add format_setup function reference in |
| CONVERTER_FORMAT_DATA and add setup_converter_format that calls |
| setup_converter_generic and the format specific format_setup to |
| initialize the converter format data. Add converter_format argument |
| to html_format_setup. Update callers. |
| |
| * tta/C/texi2any.c (main): call setup_converter_format. |
| |
| 2026-05-29 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/C/texi2any.c (main): verify if documentlanguage_collation_option |
| and collation_language_option are NULL before accessing the value. |
| |
| * tta/perl/XSTexinfo/parser_document/DocumentXS.xs (init): reorganize |
| code to avoid using an intermediary variable. |
| |
| * tta/C/convert/texinfo.c (txi_converter_output_format_setup), |
| tta/C/texi2any.c (main), |
| tta/perl/XSTexinfo/convert/ConvertConverterXS.xs (init), |
| tta/perl/XSTexinfo/convert/ConvertHTMLXS.xs (init): call |
| setup_converter_generic and html_format_setup from texi2any main |
| and not from XS init functions when Perl is embedded and called from |
| C. Leave only code loading Perl modules in |
| txi_converter_output_format_setup. |
| |
| 2026-05-29 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/C/convert/html_prepare_converter.c (html_format_setup), |
| tta/perl/Texinfo/Convert/Converter.pm: do not call |
| setup_converter_generic, instead add a comment in Converter.pm |
| to explain that it should be loaded first. |
| |
| * tta/C/convert/converter.c (setup_converter_generic): consider |
| that the function is called only once, now that it is not called |
| from html_format_setup anymore. |
| |
| 2026-05-29 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/C/main/manipulate_indices.c (setup_index_entries_sort_strings): |
| use a cast to convert char *to uint8_t * and avoid a useless copy |
| of the string. |
| |
| * tta/C/main/manipulate_indices.c (setup_index_entries_sort_strings): |
| use locale variables for code clarity. |
| |
| * tta/C/main/unicode.c (utf8_from_string, string_from_utf8): remove |
| comments, assume that casting is always a good way to convert between |
| char and uint8_t. |
| |
| 2026-05-29 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/C/texi2any.c (main): load a Perl interpreter for the options |
| triggering calling Perl functions from C, DOCUMENTLANGUAGE_COLLATION |
| and COLLATION_LANGUAGE. Handle txi_sort_element_counts return value |
| being NULL, even though it cannot happen right now because |
| txi_sort_element_counts aborts rather than returning NULL. |
| Add some const. |
| |
| * tta/C/convert/texinfo.c (txi_sort_element_counts): abort if the |
| external_module argument is NULL. |
| |
| 2026-05-29 Patrice Dumas <pertusus@free.fr> |
| |
| do not uppercase sort strings |
| |
| * tta/C/main/manipulate_indices.c (setup_sortable_index_entries), |
| tta/perl/Texinfo/Indices.pm (_setup_sortable_index_entries): do not |
| uppercase sort strings before getting collator sort keys, leave the |
| ordering to the collator only. |
| |
| * doc/texinfo.texi (Global Customization Variables): update |
| USE_UNICODE_COLLATION description now that sorting is also done in C |
| and that even for ASCII only the order may not be correct with |
| USE_UNICODE_COLLATION=0 regarding upper and lower case letters. |
| |
| 2026-05-29 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/C/convert/texinfo.c (txi_load_init_file): use a separate |
| variable for the interpreter loading status, which is non-zero in case |
| of failure. |
| |
| 2026-05-29 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/perl/t/30sectioning.t |
| (in_menu_only_special_spaces_node_menu_transliterate) |
| (reference_to_only_special_spaces_node_transliterate), |
| tta/perl/t/40moresectioning.t |
| (only_special_spaces_node_transliterate): shorten skip messages. |
| |
| 2026-05-29 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/perl/t/40moresectioning.t |
| (only_special_spaces_node_transliterate): skip tests with |
| transliteration if XS_convert_enabled as in C/XS the transliteration |
| result depends on the iconv implementation and is not reproducible. |
| |
| 2026-05-29 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/perl/t/30sectioning.t |
| (in_menu_only_special_spaces_node_menu_transliterate) |
| (reference_to_only_special_spaces_node_transliterate) |
| (transliterated_split_equivalent_nodes), tta/perl/t/converters_tests.t |
| (some_at_commands_in_ref_nodes_transliterate), |
| tta/perl/t/formats_encodings.t (char_utf8_latin1_in_refs) |
| (char_latin1_latin1_in_refs) |
| (char_latin1_latin1_in_refs_output_encoding_latin1) |
| (char_us_ascii_latin1_in_refs, at_commands_in_refs_utf8) |
| (at_commands_in_refs_latin1), tta/perl/t/html_tests.t |
| (redirection_same_labels, transliterated_names_conflicts) |
| (node_footnote_use_node, node_footnote_use_node_separate) |
| (simple_only_special_spaces_node): skip tests with transliteration if |
| XS_convert_enabled as in C/XS the transliteration result depends on |
| the iconv implementation and is not reproducible. |
| |
| 2026-05-29 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/C/Makefile.am (teximakehtml_LDADD): revert adding |
| $(perl_conf_LIBS), we do not want to link against Perl lib. |
| AM_LDFLAGS is already used to have linking flags consistent with |
| teximakehtml_CFLAGS. |
| |
| 2026-05-29 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/perl/CheckXS/TestXS.xs (xstest_init): fix prototype. |
| |
| 2026-05-29 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/C/Makefile.am (teximakehtml_LDADD): add $(perl_conf_LIBS) |
| to be consistent with teximakehtml_CFLAGS. |
| |
| 2026-05-29 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/perl/t/formats_encodings.t ($at_commands_in_refs_text): remove |
| duplicate test Texinfo code. |
| |
| 2026-05-28 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/perl/t/z_misc/nodenormalization.t (SKIP): fix the number of |
| tests skipped. |
| |
| 2026-05-28 Patrice Dumas <pertusus@free.fr> |
| |
| do not use Perl transliterations in tests of C code |
| |
| * tta/C/main/node_name_normalization.c (unicode_to_transliterate), |
| tta/C/main/call_perl_function.c: do not call |
| call_nodenamenormalization_unicode_to_transliterate, remove external |
| argument. Remove call_nodenamenormalization_unicode_to_transliterate. |
| Update callers. |
| |
| * tta/C/texi2any.c (main): no more use of embedded Perl for |
| transliteration. Load embedded Perl for SORT_ELEMENT_COUNT. |
| |
| * tta/perl/t/formats_encodings.t ($at_commands_in_refs_text) |
| ($at_commands_in_refs_text_no_translit, at_commands_in_refs): separate |
| @-commands with different transliteration in C and Perl from |
| $at_commands_in_refs_text, they are now in |
| $at_commands_in_refs_text_no_translit and use |
| $at_commands_in_refs_text_no_translit only without transliteration. |
| |
| * tta/perl/t/formats_encodings.t (japanese_shift_jis, sample_utf8): |
| remove transliteration. |
| |
| * tta/perl/t/input_files/char_latin2_latin2_in_refs.texi: remove |
| standalone ogonek that is not transliterated the same in C and Perl. |
| |
| * tta/perl/t/input_files/in_menu_only_special_spaces_node.texi, |
| tta/perl/t/input_files/only_special_spaces_node.texi: comment out |
| characters that are not transliterated the same in chapters. |
| |
| 2026-05-28 Patrice Dumas <pertusus@free.fr> |
| |
| only use unidecode for transliteration |
| |
| * tta/C/main/call_perl_function.c |
| (call_nodenamenormalization_unicode_to_transliterate), |
| tta/perl/Texinfo/Convert/NodeNameNormalization.pm |
| (_unicode_to_transliterate): use unidecode only to transliterate. |
| Remove in_test argument. Update callers. |
| |
| 2026-05-28 Patrice Dumas <pertusus@free.fr> |
| |
| remove USE_UNIDECODE customization variable, always set |
| |
| * NEWS, tta/data/options_data.txt: remove USE_UNIDECODE. |
| |
| 2026-05-28 Patrice Dumas <pertusus@free.fr> |
| |
| always use unidecode for transliteration |
| |
| * tta/perl/Texinfo/Convert/NodeNameNormalization.pm |
| (_unicode_to_transliterate), tta/C/main/call_perl_function.c |
| (call_nodenamenormalization_unicode_to_transliterate): always use |
| unidecode. Update callers. |
| |
| * doc/texinfo.texi (Global Customization Variables): remove |
| description of USE_UNIDECODE. |
| |
| 2026-05-28 Patrice Dumas <pertusus@free.fr> |
| |
| do not transliterate letter in identifier |
| |
| * tta/C/convert/format_html.c (html_convert_printindex_command), |
| tta/perl/Texinfo/Convert/HTML.pm (_convert_printindex_command): |
| convert to identifier only instead of using transliteration and |
| conversion to identifier for letter in identifier. |
| |
| 2026-05-28 Patrice Dumas <pertusus@free.fr> |
| |
| do not transliterate when generating index entry target |
| |
| * tta/C/convert/html_prepare_converter.c |
| (prepare_index_entries_targets), tta/perl/Texinfo/Convert/HTMLNonXS.pm |
| (_prepare_index_entries_targets): convert to identifier only instead |
| of using transliteration and conversion to identifier. |
| |
| 2026-05-28 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/C/main/manipulate_indices.c (setup_collator): handle the case of |
| language collation and no Perl interpreter. Warn in that case. |
| |
| 2026-05-28 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/C/Makefile.am (libtexinfoxs_la_LIBADD): do not include |
| libtexinfo.la twice to make sure that variables are shared. |
| |
| * tta/perl/XSTexinfo/parser_document/DocumentXS.xs (init): set |
| interpreter use to txi_interpreter_use_embedded. |
| |
| 2026-05-27 Patrice Dumas <pertusus@free.fr> |
| |
| Load a Perl interpreted from main C program only if needed |
| |
| * tta/C/convert/texinfo.c (txi_load_interpreter) |
| (txi_setup_main_load_interpreter, txi_load_init_file), |
| tta/C/convert/texinfo.h (INTERPRETER_LOADING_INFO), |
| tta/C/main/interpreter_use_types.h (enum interpreter_use), |
| tta/C/main/set_perl_interpreter.c (use_perl_interpreter), |
| tta/C/texi2any.c (main): add |
| INTERPRETER_LOADING_INFO structure for information on an interpreter |
| to be loaded. Add txi_interpreter_want_embedded enum interpreter_use. |
| Set use_perl_interpreter in set_perl_interpreter.c default value and |
| texi2any.c default value with EMBED_PERL to |
| txi_interpreter_want_embedded. Split txi_load_interpreter out of |
| txi_setup_main_load_interpreter. If use_interpreter is |
| txi_interpreter_want_embedded, do not load the interpreter in |
| txi_setup_main_load_interpreter but prepare loading interpreter data |
| only. Load interpreter in txi_load_init_file if needed, in main |
| program if test mode is set, for reproducible transliteration, if |
| USE_LIBINTL_PERL_IN_XS is set or if a Perl converter is used. Update |
| callers. |
| |
| 2026-05-26 Patrice Dumas <pertusus@free.fr> |
| |
| When C code is called first, always initialize libraries from C |
| |
| * tta/C/convert/texinfo.c (txi_setup_main_load_interpreter), |
| tta/C/texi2any.c (main), tta/perl/Texinfo/XSLoader.pm (init), |
| tta/perl/XSTexinfo/convert/ConvertConverterXS.xs (init), |
| tta/perl/XSTexinfo/convert/ConvertHTMLXS.xs (init), |
| tta/perl/XSTexinfo/parser_document/DocumentXS.xs (init), |
| tta/swig/texinfo.i (txi_ext_inline_setup): call |
| messages_and_encodings_setup and setup_texinfo_main in main and in |
| txi_ext_inline_setup, never in txi_setup_main_load_interpreter. Pass |
| $mandatory_xs in XSLoader.pm init, such that init in DocumentXS.xs |
| does not call messages_and_encodings_setup nor setup_texinfo_main |
| when $mandatory_xs is set, as it will always have been already called. |
| |
| * tta/C/texi2any.c (main): do not set XS_STRXFRM_COLLATION_LOCALE, now |
| we have a good collation in the default case. |
| |
| 2026-05-26 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/C/main/manipulate_indices.c (setup_collator): do not call |
| call_setup_collator if NATIVE_UTS10_COLLATION set. |
| |
| 2026-05-25 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/: replace deprecated locale gnulib module by locale-h. |
| |
| 2026-05-25 Patrice Dumas <pertusus@free.fr> |
| |
| TODO: After next release about unicode collation gnulib |
| |
| 2026-05-25 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/, tta/C/Makefile.am (libtexinfo_la_LDFLAGS, ctexi2any_LDADD) |
| (teximakehtml_LDADD): replace uchar-h by uchar-h-c23 gnulib module. In |
| the unicode collation C code char32_t is considered as unicode point. |
| it is probably safer for other codes too. |
| |
| 2026-05-25 Gavin Smith <gavinsmith0123@gmail.com> |
| |
| Attempt at fixing index collation bug |
| |
| * tta/C/main/unicode-collation/collation_key.c |
| (u32_make_collation_key_ext): Set length of collation key differently. |
| It was possible the length would include uninitialised memory after |
| a terminating null leading comparisons to be made incorrectly. |
| |
| Report from Bruno Haible. |
| |
| 2026-05-25 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/C/Makefile.am (libtexinfo_la_LDFLAGS, ctexi2any_LDADD) |
| (teximakehtml_LDADD): add link flags needed by gnulib. |
| |
| 2026-05-24 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/C/convert/convert_html.c (html_prepare_converted_output_info), |
| tta/perl/Texinfo/Convert/HTMLNonXS.pm |
| (_prepare_converted_output_info): do not output @html in @documentinfo |
| in the HTML preamble if EPUB is generated, such that the @html in |
| @documentinfo is only output in the EPUB metadata and can be EPUB |
| specific metadata. |
| |
| 2026-05-24 Gavin Smith <gavinsmith0123@gmail.com> |
| |
| Integrate native Unicode collation code |
| |
| * tta/C/main/unicode-collation/collation-table.c, |
| tta/C/main/unicode-collation/collation_data_loader.c, |
| tta/C/main/unicode-collation/collation_data_loader.h, |
| tta/C/main/unicode-collation/collation_key.c, |
| tta/C/main/unicode-collation/collation_key.h: |
| Copy files from 'experimental/unicode-collation' branch. |
| |
| * tta/C/main/unicode-collation/REAMDE: New file, explaining |
| origin of the files under this subdirectory. |
| |
| * tta/C/main/manipulate_indices.c (get_sort_key) <ctn_unicode>: |
| Add code to call 'u8_make_collation_key' in new code, rather than |
| calling call_collator_getSortKey in order to call Perl subroutines. |
| |
| * tta/C/Makefile.am (libtexinfo_la_SOURCES): Add new files. |
| (libtexinfo_la_LDFLAGS): Add flags that may be needed by the |
| gnulib dependencies of the collation code. |
| |
| 2026-05-24 Gavin Smith <gavinsmith0123@gmail.com> |
| |
| * configure.ac (AM_INIT_AUTOMAKE): |
| Remove dist-xz from options for speed when testing. |
| |
| 2026-05-18 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/C/main/debug.c: remove print_associate_info_debug and |
| print_element_debug_details. Detailed tree element information in |
| a compact format is available from manipulate_tree.c functions also |
| used for tests. |
| |
| * tta/C/main/output_unit.c (print_output_unit) |
| (print_output_units_details), tta/perl/Texinfo/OutputUnits.pm |
| (print_output_unit, print_output_units_details): add print_output_unit |
| based on print_output_units_details. Add more information to |
| print_output_unit, the number of contents and the sectioning commands. |
| |
| * tta/perl/Texinfo/Common.pm, tta/perl/Texinfo/OutputUnits.pm |
| (debug_print_output_unit): move debug_print_output_unit to |
| OutputUnits.pm and use print_output_unit to display the output unit. |
| |
| 2026-05-18 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/C/main/tree.c: inline and remove contents_child_by_index. It |
| has been checked that bound checking in contents_child_by_index was |
| never useful. Update callers. |
| |
| 2026-05-18 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/perl/Texinfo/ManipulateTree.pm (copy_element_tree): inline |
| non_leading_trailing_tree and reorganize code to set type early, as in |
| C. |
| |
| * tta/perl/Texinfo/Common.pm (non_leading_trailing_tree): remove TODO |
| comment and shorten code. |
| |
| * tta/C/parsetexi/separator.c (handle_open_brace), |
| tta/perl/Texinfo/ParserNonXS.pm (_handle_open_brace, _parse_texi): |
| do not set/unset internal_space_holder as it is not used anywhere. |
| |
| 2026-05-18 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/perl/Texinfo/Convert/HTML.pm (_convert_printindex_command): |
| keep the letter command if it is already uppercase. |
| |
| * tta/C/convert/convert_html.c (html_convert_tree_append), |
| tta/perl/Texinfo/Convert/HTML.pm (_convert): use print_element_debug |
| or debug_print_element for the element debugging output. |
| |
| * tta/C/main/debug.c (print_element_debug), |
| tta/C/parsetexi/debug_parser.c (print_element_debug_parser), |
| tta/perl/Texinfo/Common.pm (debug_print_element): always type before |
| command. |
| |
| * tta/perl/Texinfo/Common.pm (debug_print_element): append instead of |
| reconstituting a string. |
| |
| 2026-05-17 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/C/convert/converter.c (converter_set_document), |
| tta/perl/Texinfo/Convert/ConverterNonXS.pm (set_document), |
| tta/perl/Texinfo/Convert/HTMLNonXS.pm (conversion_initialization): |
| allow an undef/NULL document such that copy_options_for_convert_text |
| is still called in that case. |
| |
| * tta/C/convert/get_converter_perl_info.c |
| (get_converter_and_document_from_sv), |
| tta/C/convert/html_converter_api.c (html_output, html_convert), |
| tta/C/convert/html_prepare_converter.c |
| (html_conversion_initialization), |
| tta/perl/XSTexinfo/convert/ConvertConverterXS.xs (set_document), |
| tta/perl/XSTexinfo/convert/ConvertHTMLXS.xs |
| (conversion_initialization, output, convert): add document argument to |
| html_conversion_initialization, and call set_document in |
| html_conversion_initialization, as in Perl. Update callers. Add |
| get_converter_and_document_from_sv to get both document and converter |
| to use in XS. Remove converter_set_document_from_sv. |
| |
| 2026-05-17 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/C/main/get_perl_info.c (get_lang_info_hv): comment out unused |
| variable. |
| |
| 2026-05-17 Patrice Dumas <pertusus@free.fr> |
| |
| * README-hacking: add check that the debug output of pure Perl modules |
| and XS/C are the same before the release as a manual test, since it |
| allows to find real bugs. |
| |
| 2026-05-17 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/C/main/get_perl_info.c (get_lang_info_hv): do not set |
| lang_info->bcp47_locale, it will be set in set_lang_info_translation. |
| Found with valgrind as there was a memory leak. |
| |
| 2026-05-17 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/perl/Texinfo/Convert/HTMLNonXS.pm (@sorted_no_arg_commands) |
| (conversion_initialization, _translate_names): add |
| @sorted_no_arg_commands and use it to have a reproducible order for no |
| args commands processing, in particular for debug messages. |
| |
| 2026-05-17 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/C/convert/build_html_perl_info.c (pass_sv_converter_info), |
| tta/C/convert/convert_html.c (html_prepare_converted_output_info) |
| (html_convert_output), tta/perl/Texinfo/Convert/HTML.pm |
| (_file_header_information), tta/perl/Texinfo/Convert/HTMLNonXS.pm |
| (%available_converter_info, _prepare_converted_output_info): set |
| date_in_header in prepare_converted_output_info. Add it to |
| converter_info. Use it from converter_info in |
| _file_header_information. |
| |
| * doc/texi2any_api.texi (Converter General Information): document |
| date_in_header. |
| |
| * tta/C/convert/converter.c (set_file_path): fix debug message. |
| |
| 2026-05-17 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/C/main/translations.c |
| (reset_lang_translation_from_customization): no need to call |
| set_translations_documentlanguagevariant, as a NULL lang_translations |
| is used to reset fully the cur_lang_trans. |
| |
| * tta/perl/Texinfo/Convert/Converter.pm |
| (reset_lang_translation_from_customization): add. |
| |
| * tta/perl/Texinfo/Convert/DocBook.pm (conversion_output_begin), |
| tta/perl/Texinfo/Convert/HTMLNonXS.pm (_prepare_converted_output_info) |
| (_setup_output): call reset_lang_translation_from_customization to |
| properly reset the current lang_translations. |
| |
| 2026-05-17 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/C/main/utils.c (add_include_directory), |
| tta/perl/Texinfo/ParserNonXS.pm (parser): canonicalize include |
| directories in parsers. |
| |
| * tta/perl/Texinfo/OutputUnits.pm (units_directions): setup |
| NodeForward and similar directions even if there are no node |
| directions (no next, prev up). |
| |
| * tta/C/parsetexi/end_line.c (end_line_misc_line): rename fullpath as |
| included_file_path. |
| |
| * tta/perl/Texinfo/Convert/HTML.pm |
| (_default_format_special_body_about): add explanation. |
| |
| * tta/C/convert/convert_html.c (html_translate_names): handle NULL |
| OUTPUT_ENCODING_NAME in debug message. |
| |
| 2026-05-17 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/perl/Texinfo/Common.pm (%spaces_protection) |
| (debug_print_element), tta/perl/Texinfo/Convert/HTML.pm |
| (%spaces_protection, _convert), tta/perl/Texinfo/ParserNonXS.pm |
| (%spaces_protection, _debug_protect_eol): protect tabs and form feeds. |
| |
| * tta/perl/Texinfo/Convert/HTML.pm (_convert_menu_entry_type): |
| remove unneeded container around node_content. Minor changes. |
| |
| * tta/perl/Texinfo/Convert/HTML.pm (_file_header_information): |
| call Texinfo::TreeElement::new for new elements. |
| |
| * tta/perl/Texinfo/OutputUnits.pm (output_unit_texi): remove trailing |
| spaces for external node formatting. |
| |
| 2026-05-17 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/C/main/convert_to_texinfo.c (root_heading_command_to_texinfo): |
| reorganize code, use xasprintf instead of TEXT, never return NULL. |
| |
| 2026-05-17 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/perl/t/test_utils.pl: encode STDERR in UTF-8, to have the same |
| encoding as C direct output on stderr (for debugging output). |
| |
| 2026-05-17 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/C/main/translations.c (replace_convert_substrings), |
| tta/perl/Texinfo/Translations.pm (_replace_convert_substrings): show |
| debug messages if debug > 1 to avoid seeing spurious differences |
| between C and Perl debugging output in case both are compared. |
| |
| * tta/perl/Texinfo/Convert/Plaintext.pm (new_formatter): set debug in |
| the Texinfo::Convert::Paragraph container only if debug > 1 as there |
| is no equivalent debugging info in C. |
| |
| * tta/perl/Texinfo/Convert/Texinfo.pm |
| (root_heading_command_to_texinfo): check if tree is empty on |
| non_leading_trailing_tree returned tree. |
| |
| * tta/perl/Texinfo/Common.pm (debug_print_element): print type before |
| command for the main element. |
| |
| 2026-05-17 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/C/convert/format_html.c (html_special_unit_info_text): use enum |
| direction_string_context instead of enum conversion_context. Update |
| callers. |
| |
| 2026-05-16 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/C/convert/convert_html.c (html_gdt_tree): add debugging message. |
| |
| * tta/C/main/debug.c (print_element_debug): do not print type in |
| debugging if c_only flag is set. |
| |
| 2026-05-16 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/C/main/translations.c (replace_convert_substrings): |
| print debug message both with substitute substrings and without. |
| |
| * tta/perl/Texinfo/Translations.pm (_replace_convert_substrings): |
| distinguish translated string and parsed string with substitutions. |
| Print different messages with substitute substrings and without. |
| |
| * tta/perl/Texinfo/Convert/Texinfo.pm |
| (root_heading_command_to_texinfo): call non_leading_trailing_tree to |
| avoid returning leading and trailing spaces and comment. |
| |
| * tta/perl/Texinfo/Convert/HTMLNonXS.pm (conversion_initialization): |
| add debug message output in C. |
| |
| 2026-05-16 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/C/convert/convert_html.c, |
| tta/C/convert/html_prepare_converter.c: prepend C| in debug messages. |
| |
| * tta/perl/Texinfo/Convert/HTMLNonXS.pm (_html_convert_convert), |
| tta/C/convert/convert_html.c (html_convert_convert): change a debug |
| message. |
| |
| 2026-05-16 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/perl/Texinfo/ParserNonXS.pm (_process_remaining_on_line) |
| (_parse_texi), tta/C/parsetexi/parser.c (parse_texi) |
| (process_verb_contents): protect end of line and always add an end of |
| line. |
| |
| * tta/C/parsetexi/*.c: prepand debug messagaes by C| to distinguish |
| from Perl parser debug messages. |
| |
| 2026-05-16 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/C/main/translations.c (gdt_tree), |
| tta/perl/Texinfo/Translations.pm (gdt): improved and same error |
| message for gdt. |
| |
| 2026-05-16 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/perl/Texinfo/Convert/Converter.pm (table_item_content_tree): do |
| not use the tree provided by non_leading_trailing_tree such that a |
| comment is kept. |
| |
| * tta/C/parsetexi/separator.c (handle_close_brace): use & for flag. |
| |
| * tta/C/main/element_types.txt (normal_text): add c_only. |
| |
| * tta/C/convert/convert_html.c (html_convert_tree_append), |
| tta/C/parsetexi/debug_parser.c (print_element_debug_parser): do not |
| print type in debugging if c_only flag is set. |
| |
| * tta/perl/Texinfo/ParserNonXS.pm (_end_line_misc_line) |
| (_handle_line_command): set index_entry_command type as soon as |
| possible. |
| |
| * tta/perl/Texinfo/ParserNonXS.pm (_process_raw_block_contents): |
| fix missing 'conf' key. |
| |
| 2026-05-17 Gavin Smith <gavinsmith0123@gmail.com> |
| |
| * README-hacking: add note for removal of texi2any_internals |
| manual from webpages |
| |
| 2026-05-16 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/C/convert/converter.c (current_bcp47_locale): add. |
| |
| * tta/C/convert/convert_html.c (html_translate_names) |
| (html_prepare_converted_output_info), |
| tta/C/convert/html_prepare_converter.c (html_setup_output): use |
| current_bcp47_locale. |
| |
| 2026-05-16 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/perl/Texinfo/Convert/NodeNameNormalization.pm |
| (_protect_unicode_char): no need to check |
| unicode_simple_character_map, the result is the same with sprintf. |
| |
| * tta/perl/Texinfo/Convert/NodeNameNormalization.pm |
| (_unicode_to_transliterate): change ordering of conditionals for |
| clearer code. |
| |
| Changes in TODO and comments. |
| |
| 2026-05-15 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/perl/Texinfo/Convert/HTML.pm (_convert_def_line_type): call |
| set_context_convert_tree instead of _set_code_context to use the |
| HTML customization API. |
| |
| 2026-05-15 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/perl/Texinfo/Convert/HTML.pm (set_context_convert_tree) |
| ($CTXF_normal): add CTXF_normal, flag that can be used to unset code |
| context. Add set_context_convert_tree that accepts CTXF_normal or |
| CTXF_code to set or unset code context. Remove |
| convert_tree_in_code_context. Update callers. |
| |
| * doc/texi2any_api.texi (Setting the Expansion Context for |
| Conversion): update for the replacement of |
| convert_tree_in_code_context by set_context_convert_tree. |
| |
| 2026-05-15 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/C/convert/format_html.c (html_convert_printindex_command), |
| tta/C/convert/html_conversion_state.c |
| (html_open_command_update_context) |
| (html_convert_command_update_context), |
| tta/perl/Texinfo/Convert/HTML.pm (_convert_printindex_command), |
| tta/perl/Texinfo/Convert/HTMLNonXS.pm (_open_command_update_context) |
| (_convert_command_update_context): start a new context for printindex |
| in the generic conversion state updating instead of in the printindex |
| conversion function. |
| |
| 2026-05-14 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/perl/Texinfo/ManipulateTree.pm (_copy_tree), configure.ac |
| (Perl version and modules), tta/perl/Texinfo/Translations.pm |
| (_replace_convert_substrings): call Scalar::Util weaken on |
| parent added by _copy_tree. Do not remove the parent of the tree |
| returned after translation now that the reference is weakened. |
| |
| 2026-05-14 Patrice Dumas <pertusus@free.fr> |
| |
| * doc/tta_api/Makefile.am (texi2any_internals_dependencies), |
| tta/perl/Texinfo/Parser.pm: move POD documentation of the Parser out |
| of ParserNonXS.pm to Parser.pm. |
| |
| 2026-05-14 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/perl/Texinfo/*.pm, tta/perl/Texinfo/Convert/*.pm: verify that |
| there is a VERSION for all modules that are not *NonXS modules. Add |
| use warnings and use 5.006 if needed for our VERSION. |
| |
| * tta/perl/t/z_misc/test_is_content_empty.t, |
| tta/perl/t/z_misc/nodenormalization.t: add "use Texinfo::Document;". |
| |
| * tta/perl/Texinfo/Parser*: small misc changes. Add "use |
| Texinfo::Document;" in the main Parser.pm module. |
| |
| 2026-05-14 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/perl/XSTexinfo/parser_document/ParserXS.xs |
| (_register_parser_conf, _parser_store_values) |
| (_parser_store_INCLUDE_DIRECTORIES, _parser_store_EXPANDED_FORMATS): |
| add leading _ for functions that should only be called from |
| ParserXS.pm in XS. |
| |
| * tta/perl/Texinfo/Common.pm, tta/perl/Texinfo/ParserNonXS.pm |
| (%parser_document_state_configuration, %parser_inner_options) |
| (%parser_document_parsing_options): move to ParserNonXS.pm. |
| |
| 2026-05-14 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/C/main/errors.c (message_list_format_line_message) |
| (message_list_format_document_message): rename |
| message_list_line_formatted_message as |
| message_list_format_line_message and |
| message_list_document_formatted_message as |
| message_list_format_document_message to have a common part in name |
| with similar Perl functions. Update callers. |
| |
| * tta/C/main/errors.c, tta/perl/Texinfo/Report.pm: move code around. |
| |
| Improve POD and comments. |
| |
| 2026-05-13 Patrice Dumas <pertusus@free.fr> |
| |
| * tta/C/Makefile.am (libperlcall_utils_la_SOURCES), |
| tta/C/main/interpreter_use_types.h: rename use_interpreter_types.h as |
| interpreter_use_types.h. |
| |
| 2026-05-13 Patrice Dumas <pertusus@free.fr> |
| |
| * doc/texi2any_api.texi (Other Dynamic Information): document |
| command_is_in_referred_command_stack. |
| |
| 2026-05-13 Patrice Dumas <pertusus@free.fr> |
| |
| * doc/texi2any_api.texi (Document Structure): rename "Tree Elements and |
| Document Structure" as "Document Structure" and make it a section |
| directly in "Formatting HTML Output". |
| |
| * doc/texi2any_api.texi (Output Units Information): rename "Output |
| Units in User Defined Functions" as "Output Units Information" and |
| move to "Document Structure". |
| |
| 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 unused |
| 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. |
| |