blob: 9595a2630dce8694c8c87a77d2a04cfa9422a146 [file] [log] [blame]
2025-03-12 Patrice Dumas <pertusus@free.fr>
* tta/C/texi2any.c (main): fix reading of options to handle options
not set at all.
2025-03-12 Patrice Dumas <pertusus@free.fr>
* tta/perl/t/test_utils.pl ($XS_conversion, test): get tree before
conversion to Texinfo and raw text or only a handler if conversion is
with XS.
2025-03-12 Patrice Dumas <pertusus@free.fr>
* tta/C/convert/get_converter_perl_info.c
(copy_sv_options_for_convert_text), tta/C/main/build_perl_info.c
(build_convert_text_options), tta/C/main/convert_to_text.c
(new_text_options, destroy_text_options)
(TEXT_INDICATOR_CONVERTER_OPTIONS, copy_options_for_convert_text),
tta/C/main/convert_to_text.h (TEXT_OPTIONS),
tta/perl/Texinfo/Convert/Text.pm (@text_indicator_converter_option)
(copy_options_for_convert_text): get and set
DOC_ENCODING_FOR_INPUT_FILE_NAME, INPUT_FILE_NAME_ENCODING,
LOCALE_ENCODING and INCLUDE_DIRECTORIES in text options.
* tta/C/main/convert_to_text.c (convert_to_text_internal): use
information directly in text_options for the call to
expand_verbatiminclude.
* tta/perl/Texinfo/Convert/Text.pm (convert, output): set
OUTPUT_ENCODING_NAME directly.
* tta/perl/Texinfo/Convert/Text.pm
(_initialize_text_options_encoding, convert, output): use only one
argument.
* tta/perl/Texinfo/Convert/Text.pm: comment out get_conf and set_conf
now that thy are not used anymore.
2025-03-12 Patrice Dumas <pertusus@free.fr>
Remove OUTPUT_PERL_ENCODING and set_output_perl_encoding
* tta/perl/Texinfo/Common.pm (count_bytes): do not set encoding to
OUTPUT_PERL_ENCODING if not set. Remove converter argument.
Update caller.
* tta/perl/texi2any.pl, tta/perl/XSTexinfo/convert/ConvertXS.xs
(converter_set_document), tta/C/convert/build_html_perl_info.c
(html_pass_conversion_initialization),
tta/C/main/call_perl_function.c, tta/perl/Texinfo/Common.pm,
tta/perl/Texinfo/Convert/Converter.pm (set_document),
tta/perl/texi2any.pl: do not call set_output_perl_encoding anymore.
Remove set_output_perl_encoding and
call_common_set_output_perl_encoding.
* tta/perl/Texinfo/Convert/Converter.pm: pass OUTPUT_ENCODING_NAME
instead of OUTPUT_PERL_ENCODING, now that the encoding is especially
in output_files_open_out.
* tta/data/options_data.txt: remove OUTPUT_PERL_ENCODING customization
variable.
2025-03-12 Patrice Dumas <pertusus@free.fr>
* tta/perl/Texinfo/Common.pm (processing_output_encoding): rename
perl_encoding_name as processing_output_encoding. Update caller.
* tta/perl/Texinfo/Convert/Utils.pm (output_files_open_out),
tta/perl/Texinfo/Convert/HTML.pm, tta/perl/Texinfo/Convert/IXIN.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/texi2any.pl: call
Texinfo::Common::processing_output_encoding on output encoding to get
the encoding name used for encoding. Update callers to pass
OUTPUT_ENCODING_NAME instead of OUTPUT_PERL_ENCODING, now that
the encoding is especially in output_files_open_out.
* tta/perl/Texinfo/Convert/LaTeX.pm (convert_math_to_images),
tta/perl/Texinfo/Convert/Plaintext.pm (conversion_initialization)
(_stream_encode), tta/perl/t/test_utils.pl (test): determine encoding
used for output files by calling
Texinfo::Common::processing_output_encoding.
* tta/perl/Texinfo/Convert/Text.pm (output), tta/perl/t/test_utils.pl
(test): do not call set_output_perl_encoding anymore.
* tta/perl/Texinfo/Common.pm (set_output_perl_encoding): minor change
for more legible code.
2025-03-12 Patrice Dumas <pertusus@free.fr>
* tta/perl/Texinfo/Common.pm (set_output_perl_encoding): do not
call Encode::resolve_alias explicitly, let Perl do the aliasing
of encoding names automatically.
2025-03-12 Patrice Dumas <pertusus@free.fr>
* tta/C/convert/format_html.c (html_convert_def_line_type),
tta/perl/Texinfo/Convert/HTML.pm (_convert_def_line_type): change
variable names.
* tta/perl/Texinfo/Convert/Utils.pm: update POD documentation.
2025-03-11 Patrice Dumas <pertusus@free.fr>
* tta/C/convert/get_converter_perl_info.c
(copy_sv_options_for_convert_text), tta/C/main/convert_to_text.c
(destroy_text_options, copy_options_for_convert_text),
tta/C/main/convert_to_text.h (TEXT_OPTIONS),
tta/perl/Texinfo/Convert/Text.pm (copy_options_for_convert_text):
store documentlanguage and DEBUG in text options.
* tta/C/convert/format_html.c (html_convert_def_line_type),
tta/C/main/convert_to_text.c (text_heading, convert_def_line)
(convert_to_text_internal), tta/C/main/convert_utils.c
(add_heading_number), tta/perl/Texinfo/Convert/HTML.pm
(_convert_def_line_type), tta/perl/Texinfo/Convert/LaTeX.pm
(_convert_def_line), , tta/perl/Texinfo/Convert/Text.pm
(_text_heading, _convert_def_line, _convert),
tta/perl/Texinfo/Convert/Utils.pm (definition_category_tree)
(add_heading_number), tta/perl/ext/epub3.pm, tta/perl/init/chm.pm: get
customization variables values as arguments for translation related
customization variables for definition_category_tree and
add_heading_number. call gdt instead of cdt for untranslated test
type element in Text converter. Call gdt_string or gdt instead of
cdt_string or cdt in definition_category_tree and add_heading_number.
* tta/C/convert/build_html_perl_state.c (build_html_translated_names),
tta/C/convert/convert_html.c (html_translate_names),
tta/C/main/convert_to_text.c (text_set_language),
tta/perl/Texinfo/Convert/HTML.pm (_translate_names),
tta/perl/Texinfo/Convert/Text.pm (set_language): reset
documentlanguage in text options in translate_names.
* tta/C/convert/convert_html.c (html_prepare_converted_output_info),
tta/perl/Texinfo/Convert/HTML.pm (_prepare_converted_output_info):
reset text options at the end of prepare_converted_output_info.
* tta/perl/Texinfo/Convert/Converter.pm: remove add_heading_number
wrapper.
2025-03-11 Patrice Dumas <pertusus@free.fr>
* tta/C/main/utils.c (input_file_name_encoding),
tta/C/main/convert_utils.c (encoded_input_file_name)
(converter_encoded_input_file_name, encoded_output_file_name)
(converter_encoded_output_file_name, expand_verbatiminclude)
(converter_expand_verbatiminclude), tta/C/convert/format_html.c,
tta/C/convert/convert_html.c, tta/C/convert/converter.c,
tta/C/convert/html_prepare_converter.c,
tta/C/convert/rawtext_converter_api.c, tta/C/main/convert_to_text.c
(convert_to_text_internal), tta/C/texi2any.c (main): get customization
variables values as arguments, add wrappers getting information from
OPTIONS. Update callers to call the wrappers or get customization
variables values.
* tta/C/main/convert_to_text.c (text_heading),
tta/C/main/convert_utils.c (add_heading_number): change order of
arguments, put options last. Update callers.
* tta/C/main/convert_to_text.c (text_heading): remove code related to
indentation.
* tta/C/main/convert_to_text.c (convert_to_text_internal): handle
reproducible builds for @today.
2025-03-10 Patrice Dumas <pertusus@free.fr>
* tta/perl/Texinfo/Convert/Converter.pm (translated_command_tree)
(expand_today), tta/perl/Texinfo/Convert/Utils.pm: move
translated_command_tree and expand_today to
Texinfo::Convert::Converter. Update callers.
* tta/perl/Texinfo/Convert/Utils.pm (output_files_open_out): get
customization variable value as argument. Update callers.
* tta/perl/Texinfo/Convert/Utils.pm (definition_category_tree)
(add_heading_number): put converter argument as last argument, rename
$self as $converter. Update callers.
* tta/perl/Texinfo/Convert/Converter.pm (add_heading_number):
add wrapper to get customization variables from converter to call
function. Update callers in converters.
* tta/perl/Texinfo/Convert/Text.pm (_text_heading): remove code
related to indentation, it is not an argument of the function.
* tta/perl/Texinfo/Convert/Text.pm: rename variables.
* tta/perl/Texinfo/Convert/Text.pm (_convert): abides to reproducible
builds.
2025-03-10 Patrice Dumas <pertusus@free.fr>
* tta/perl/Texinfo/Common.pm (input_file_name_encoding),
tta/perl/Texinfo/Convert/Utils.pm (expand_verbatiminclude)
(encoded_output_file_name, encoded_input_file_name): get
customization variables values as arguments.
* tta/perl/Texinfo/Convert/Converter.pm (encoded_input_file_name)
(encoded_output_file_name, expand_verbatiminclude): add or modify
wrappers to get customization variables from converter to call
functions. Update callers in converters.
* tta/perl/Texinfo/Convert/Text.pm (_convert): update for changes in
expand_verbatiminclude.
* tta/perl/Texinfo/Convert/Text.pm (output), tta/perl/t/test_utils.pl
(test), tta/perl/texi2any.pl: update for change in
encoded_output_file_name and input_file_name_encoding.
* tta/perl/Texinfo/Convert/Text.pm (convert, output): store document
for call to expand_verbatiminclude.
* tta/perl/Texinfo/Convert/Text.pm
(_initialize_converter_text_options_encoding)
(_initialize_text_options_encoding): duplicate to hae a version using
get_conf() and the other directly accessing the hash.
2025-03-10 Patrice Dumas <pertusus@free.fr>
* tta/C/main/customization_options.c (clear_options_list): iterate
over sorted options calling clear_option instead of calling
clear_options.
* tta/maintain/regenerate_C_options_info.pl: remove generation of
clear_options and copy_options that are not used anymore.
2025-03-10 Patrice Dumas <pertusus@free.fr>
* tta/C/convert/converter.c (copy_command_option_value_option)
(command_init, set_global_document_commands): use COMMAND_OPTION_VALUE
as return value of command_init. Add
copy_command_option_value_option. Remove new_option_value and
get_command_option_value_option.
* tta/perl/Texinfo/Convert/Converter.pm (_command_init): simplify code
and make clearer that it does the same as C code.
2025-03-09 Patrice Dumas <pertusus@free.fr>
* tta/C/main/option_types.h (COMMAND_OPTION_VALUE): turn
COMMAND_OPTION_VALUE to a union.
2025-03-09 Patrice Dumas <pertusus@free.fr>
* tta/maintain/regenerate_C_options_info.pl: do not generate
command_option_default_table anymore.
2025-03-09 Patrice Dumas <pertusus@free.fr>
* tta/C/convert/converter.c (command_init): find default option for a
command by calling get_converter_command_option and copying the
option instead of using get_command_option_value_option.
2025-03-09 Patrice Dumas <pertusus@free.fr>
* tta/maintain/regenerate_C_options_info.pl: do not generate
get_command_option anymore.
* tta/C/main/customization_options.c (txi_cmd_option_number): make
static.
2025-03-09 Patrice Dumas <pertusus@free.fr>
* tta/C/main/customization_options.c (txi_cmd_option_number)
(txi_initialise_base_options): add txi_cmd_option_number array that
associate command ids to option numbers.
* tta/C/main/customization_options.c (get_converter_command_option)
(set_informative_command_value, set_global_document_command),
tta/C/convert/converter.c (set_global_document_commands),
tta/C/convert/format_html.c (contents_shortcontents_in_title)
(html_convert_heading_command, html_convert_informative_command)
(html_convert_contents_command), tta/C/convert/html_prepare_converter.c
(prepare_special_units): add get_converter_command_option that uses
txi_cmd_option_number to locate an option. Replace get_command_option
calls by get_converter_command_option calls. Pass sorted options to
set_global_document_command and set_informative_command_value.
2025-03-09 Patrice Dumas <pertusus@free.fr>
* tta/C/convert/html_converter_init_options.c
(html_default_options_setup, html_default_options)
(html_converter_defaults), tta/C/convert/html_prepare_converter.c
(html_format_setup): setup HTML converter option defaults when loading
the converter, with the html_default_options_setup function.
* tta/C/convert/html_prepare_converter.c
(html_converter_initialize_beginning): find default value for HTML for
MAX_HEADER_LEVEL in html_default_options, more similar to Perl.
* tta/C/convert/converter.c (set_converter_init_information)
(free_generic_converter), tta/C/main/converter_types.h (CONVERTER):
do not set up the converter->format_defaults_conf field as it should
not be used anymore. Remove the format_defaults_conf field from
CONVERTER.
2025-03-09 Gavin Smith <gavinsmith0123@gmail.com>
* doc/texinfo.texi (Unstructured Nodes): Comment out discussion
of topic-oriented documentation. From Patrice.
2025-03-09 Gavin Smith <gavinsmith0123@gmail.com>
* doc/texinfo.texi (Unstructured Nodes): New node.
(Command List): Add @xrefname.
* NEWS: Update.
2025-03-09 Gavin Smith <gavinsmith0123@gmail.com>
* tta/perl/texi2any.pl: Call Texinfo::Document::remove_document
only if TEST is set. From Patrice.
2025-03-08 Patrice Dumas <pertusus@free.fr>
* tta/C/convert/converter.c (set_commands_options_value): add the
if_set_in_list argument to distinguish the call from the converter,
where only options with OF_set_in_list set are set, and the call from
the HTML converter where all the options are set. When an input
option is set, and is undefined, set it to the undefined value.
* tta/C/convert/html_prepare_converter.c (html_setup_output): move
call to set_commands_options_value to do it at the same place as in
Perl.
2025-03-08 Patrice Dumas <pertusus@free.fr>
* tta/perl/Texinfo/Convert/Converter.pm (_generic_converter_init)
(set_global_document_commands), tta/perl/Texinfo/Convert/HTML.pm
(_setup_output): rename output_init_conf converter key as
commands_init_conf and put commands only in it. Remove
output_init_conf, reset commands_init_conf in HTML converter
_setup_output instead.
* tta/C/main/option_types.h (COMMAND_OPTION_VALUE),
tta/C/main/utils.h: rename COMMAND_OPTION_DEFAULT as
COMMAND_OPTION_VALUE and move to option_types.h.
* tta/maintain/regenerate_C_options_info.pl
(setup_options_command_map), tta/C/main/customization_options.c
(txi_options_command_map), tta/C/main/option_types.h
(COMMAND_OPTION_NUMBER_CMD): setup a mapping between options numbers
and associated commands id.
* tta/C/convert/converter.c (set_commands_options_value)
(get_command_option_value_option, command_init)
(free_generic_converter), tta/C/main/converter_types.h
(commands_init_conf): add commands_init_conf list mapping commands to
option values to CONVERTER. Add set_commands_options_value to set
from options, also using txi_options_command_map. Use in
command_init. Remove init_conf field from CONVERTER.
2025-03-09 Gavin Smith <gavinsmith0123@gmail.com>
Cache result of parsing translated tree
* tta/perl/Texinfo/Translations.pm (_replace_convert_substrings):
Save result of parsing translated string in a hash and reuse with
dclone whenever needed. This dramatically reduces the amount
of times we need to parse translated strings.
2025-03-09 Gavin Smith <gavinsmith0123@gmail.com>
Cache translation results
* tta/perl/Texinfo/Translations.pm (translate_string):
Store results of conversions in a hash rather than calling
gettext every time (and all the messing about with locales
that we do before and after).
2025-03-08 Gavin Smith <gavinsmith0123@gmail.com>
* tta/perl/Texinfo/Convert/Plaintext.pm (_cache_node_names):
Reuse the same paragraph formatter for all node names.
2025-03-08 Gavin Smith <gavinsmith0123@gmail.com>
Bulk conversion of node names.
* tta/perl/Texinfo/Convert/Plaintext.pm (_cache_node_names):
New function to bulk convert node names in one go.
* tta/perl/Texinfo/Convert/Info.pm (output): Call it.
2025-03-08 Gavin Smith <gavinsmith0123@gmail.com>
Disable clean-up at end of program
* tta/perl/texi2any.pl:
Comment out call to Texinfo::Document::remove_document.
2025-03-07 Gavin Smith <gavinsmith0123@gmail.com>
* tta/perl/Texinfo/Convert/Info.pm (format_ref):
Use _stream_output_add_next for concision.
2025-03-07 Gavin Smith <gavinsmith0123@gmail.com>
* tta/perl/Texinfo/Convert/Info.pm (format_ref),
* tta/perl/Texinfo/Convert/Plaintext.pm (format_ref):
Remove formatter parameter as it can always be gotten from the
converter object.
2025-03-07 Patrice Dumas <pertusus@free.fr>
* doc/texinfo.texi (Global Customization Variables): document
DUMP_STRUCTURE.
2025-03-07 Patrice Dumas <pertusus@free.fr>
* tta/C/main/output_unit.c (do_units_directions_pages): remove useless
code allocating unused variable.
* tta/C/main/output_unit.c (print_output_units_details): free
ou_directions strings list.
* tta/C/convert/convert_html.c (html_node_redirections): free
translit_filename.
* tta/C/main/floats.c (print_caption_shortcaption): always free
caption_texi, even if an empty string.
* tta/perl/Makefile.tres, tta/perl/t/html_tests.t
(anchor_in_menu_on_sectioning_command_line): add a minimal example
demonstrating a memory leak difficult to fix, when a tree copy copies
elements out of the main copied tree.
2025-03-07 Patrice Dumas <pertusus@free.fr>
* tta/perl/Makefile.tres, tta/perl/t/30sectioning.t
(automatic_menu_with_heading), tta/perl/t/html_tests.t
(heading_node_after_chap, headings_nodes_before_chapter)
(node_heading_between, heading_between): tests of @*heading and
splitting and automatic menus. Mainly from Gavin.
* tta/perl/t/test_utils.pl (test): use is_diff instead of is for
result_texts.
2025-03-07 Patrice Dumas <pertusus@free.fr>
* tta/perl/t/test_utils.pl (use vars, test): remove unused %result_*
variables use var.
2025-03-07 Patrice Dumas <pertusus@free.fr>
* tta/perl/t/test_utils.pl (is_diff): rename is_with_diff as is_diff.
* tta/perl/t/test_utils.pl: change in spacing.
2025-03-07 Patrice Dumas <pertusus@free.fr>
* tta/perl/t/19def.t (all_commands_printindex)
(all_commands_delimiters_printindex): add an @xrefname to avoid
association of the node with the @heading appearing later on.
* tta/perl/t/test_utils.pl (test): use is_with_diff instead of is for
texinfo output.
2025-03-06 Patrice Dumas <pertusus@free.fr>
Remove USE_NEXT_HEADING_FOR_LONE_NODE, it is now always on
* tta/C/convert/format_html.c (html_convert_heading_command),
tta/perl/Texinfo/Convert/HTML.pm (_convert_heading_command),
tta/perl/init/book.pm (book_convert_heading_command): remove code
checking if a node is followed by an @*heading command when
USE_NEXT_HEADING_FOR_LONE_NODE, as now, if a node is followed by
an @*heading command extra associated_title_command is set
and the node is not used for the heading anyway.
* NEWS, doc/texinfo.texi (HTML Output Structure Customization)
(HTML Customization Variables List), tta/data/converters_defaults.txt,
tta/data/options_data.txt: remove USE_NEXT_HEADING_FOR_LONE_NODE
customization option, it is now always on.
2025-03-06 Patrice Dumas <pertusus@free.fr>
* tta/perl/init/book.pm (book_convert_heading_command): sync with
HTML.pm.
2025-03-06 Patrice Dumas <pertusus@free.fr>
* tta/C/convert/format_html.c (html_convert_menu_entry_type): use the
same condition as in Perl for href determination.
* tta/C/convert/format_html.c (html_internal_command_href),
tta/perl/Texinfo/Convert/HTML.pm (_internal_command_href): use
associated_anchor_command to determine the href for a command, if
there is no associated_node.
* tta/tests/coverage/formatting.texi: add testing of @xrefname.
2025-03-06 Patrice Dumas <pertusus@free.fr>
* tta/perl/Texinfo/Convert/LaTeX.pm (_convert): do not use Section and
number in @*ref output when @xrefname or @*heading is the command
associated to a node.
* tta/perl/t/test_utils.pl (test): use is_with_diff instead of is for
format output difference.
2025-03-06 Patrice Dumas <pertusus@free.fr>
* tta/C/parsetexi/end_line.c (end_line_misc_line),
tta/perl/Texinfo/ParserNonXS.pm (_end_line_misc_line): no message for
empty @xrefname.
* tta/perl/Makefile.tres, tta/perl/t/converters_tests.t (xrefname)
(empty_xrefname): add tests for @xrefname and empty @xrefname.
2025-03-06 Patrice Dumas <pertusus@free.fr>
* tta/C/parsetexi/end_line.c (end_line_misc_line), : associate
correctly the line command to the node, not the container.
* tta/data/command_data.txt (xrefname): add close_paragraph and global
flags.
* tta/C/convert/html_prepare_converter.c (heading_commands_list),
tta/perl/Texinfo/Convert/HTML.pm (_set_heading_commands_targets):
handle @xrefname as a target command, like @*heading commands.
2025-03-06 Patrice Dumas <pertusus@free.fr>
* tta/perl/texi2any.pl: fix print_tree_details call arguments order.
* tta/perl/Texinfo/ManipulateTree.pm (set_element_tree_numbers),
tta/C/main/manipulate_tree.c (set_element_tree_numbers): number
@xrefname.
2025-03-06 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
associate node to part as associated_title_command.
* tta/perl/Texinfo/Structuring.pm (new_node_menu_entry),
tta/C/convert/format_html.c (file_header_information)
(html_convert_heading_command, html_convert_xref_command),
(html_convert_menu_entry_type), tta/perl/Texinfo/Convert/HTML.pm
(_convert_heading_command, _convert_menu_entry_type)
(_file_header_information), tta/perl/Texinfo/Convert/LaTeX.pm
(_convert): use associated_title_command instead
of associated_section when relevant, for instance for heading, file
title, in menu if !NODE_NAME_IN_MENU.
2025-03-06 Patrice Dumas <pertusus@free.fr>
* tta/data/command_data.txt (xrefname): add xrefname.
* tta/C/main/tree_types.h (AI_KEYS_LIST), tta/C/parsetexi/end_line.c
(associate_title_command_anchor, end_line_misc_line),
tta/perl/Texinfo/ParserNonXS.pm (_associate_title_command_anchor)
(_end_line_misc_line): add extra information associated_anchor_command
and associated_title_command to associate a @node to the following
@*heading, sectioning command or @xrefname.
2025-03-05 Patrice Dumas <pertusus@free.fr>
* tta/C/convert/html_prepare_converter.c (load_htmlxref_files),
tta/perl/Texinfo/Convert/HTML.pm (_load_htmlxref_files): do not add
the current directory, it is already in TEXINFO_LANGUAGE_DIRECTORIES.
Report from Gavin.
* tta/C/texi2any.c (main), tta/perl/texi2any.pl: canonicalize input
directory and us the canonical form when comparing to curdir. Report
from Gavin.
2025-03-05 Patrice Dumas <pertusus@free.fr>
* tta/C/main/tree_types.h (FLOAT_RECORD): set type to const.
2025-03-05 Gavin Smith <gavinsmith0123@gmail.com>
* tta/perl/Texinfo/Convert/Plaintext.pm (_stream_output_add_next):
New function.
(_convert): Use throughout.
2025-03-05 Gavin Smith <gavinsmith0123@gmail.com>
* tta/perl/Texinfo/Convert/Plaintext.pm (_convert):
Call _stream_output_add_text throughout.
2025-03-05 Patrice Dumas <pertusus@free.fr>
Remove unused code using Perl data structure for tests
* tta/perl/t/test_utils.pl (test): remove $do_perl_tree and all the
related code.
2025-03-05 Gavin Smith <gavinsmith0123@gmail.com>
* tta/perl/Texinfo/Convert/Plaintext.pm (_stream_output_add_text):
New function.
* tta/perl/Texinfo/Convert/Info.pm (format_ref): Call it.
2025-03-05 Patrice Dumas <pertusus@free.fr>
* tta/perl/XSTexinfo/parser_document/StructuringTransfoXS.xs (unsplit)
(rebuild_output_units): add warning message argument to
get_sv_document_document and get_sv_output_units_descriptor.
2025-03-05 Patrice Dumas <pertusus@free.fr>
* tta/perl/Texinfo/OutputUnits.pm (%XS_overrides, unsplit): let
unsplit be overriden as a whole. Remove _XS_unsplit.
2025-03-05 Patrice Dumas <pertusus@free.fr>
* tta/C/main/document_types.h (DOCUMENT), tta/C/main/output_unit.c
(do_units_directions_pages),
tta/perl/XSTexinfo/parser_document/StructuringTransfoXS.xs
(rebuild_output_units, do_units_directions_pages): store output units
descriptors associated to document in the new output_units_descriptors
field. This allows output units list that are needed when rebuilt to
Perl with rebuild_output_units to be found even if they are not
associated to a Perl reference passed to the XS function.
* tta/perl/XSTexinfo/parser_document/StructuringTransfoXS.xs
(print_output_units_tree_details, do_units_directions_pages):
rearrange code.
* tta/C/main/build_perl_info.c (output_unit_to_perl_hash): improve
fatal error message.
2025-03-05 Patrice Dumas <pertusus@free.fr>
* tta/C/convert/convert_html.c (html_node_redirections): free
redirection_files.
* tta/C/main/document.c (print_document_indices_sort_strings):
reindent. Free indices_entries_sort_string,
sorted_index_entries_n_nr and indices_sort_strings_n_nr.
* tta/perl/XSTexinfo/parser_document/DocumentXS.xs
(print_document_listoffloats, print_document_indices_information)
(print_document_indices_sort_strings): free strings after they have
been passed to Perl.
2025-03-05 Gavin Smith <gavinsmith0123@gmail.com>
* tta/perl/Texinfo/Convert/Info.pm (format_ref):
Convert label twice, once for checking for ':', a second time
for actually outputting the label. This leads to much more
straightforward code.
2025-03-04 Gavin Smith <gavinsmith0123@gmail.com>
* tta/perl/Texinfo/Convert/Plaintext.pm (new_formatter):
Call throughout without using method call syntax, as this is one
of the most frequently called functions and this produces a slight
speed-up.
2025-03-05 Patrice Dumas <pertusus@free.fr>
* tta/perl/t/test_utils.pl (test), tta/perl/Texinfo/Document.pm
(print_document_indices_sort_strings): move code used to print index
sort strings to Document.pm as the print_document_indices_sort_strings
function to be able to do an XS override.
* tta/C/main/document.c (INDEX_ENTRIES_SORT_STRINGS)
(INDICES_ENTRIES_SORT_STRINGS, setup_indices_entries_sort_strings)
(find_indices_entries_sort_strings_index)
(print_document_indices_sort_strings): implement
print_document_indices_sort_strings in C.
* tta/perl/Texinfo/Document.pm (%XS_overrides),
tta/perl/XSTexinfo/parser_document/DocumentXS.xs
(print_document_indices_sort_strings): XS override for
print_document_indices_sort_strings.
2025-03-05 Patrice Dumas <pertusus@free.fr>
* tta/C/convert/html_conversion_state.c,
tta/C/convert/html_converter_finish.c (html_reset_converter),
tta/C/convert/html_prepare_converter.c
(html_prepare_units_directions_files), tta/C/main/utils.c
(allocate_name_number_list, compare_name_number, find_name_number)
(sort_name_number_list, free_name_number_list): move
compare_name_number and find_name_number to utils.c and add
allocate_name_number_list, sort_name_number_list and
free_name_number_list functions to handle NAME_NUMBER_LIST and use
them when relevant.
* tta/C/main/manipulate_indices.c (setup_index_entries_sort_strings):
store number of entries at the end of the loop only.
2025-03-05 Patrice Dumas <pertusus@free.fr>
* tta/perl/t/test_utils.pl (test): use a textual representation for
result_indices_sort_strings.
2025-03-05 Patrice Dumas <pertusus@free.fr>
* tta/C/convert/html_prepare_converter.c
(html_initialize_output_state), tta/C/main/manipulate_indices.c
(compare_index_name, sort_index_names): move code used to sort index
names from html_prepare_converter.c to manipulate_indices.c.
* tta/C/main/document.c (print_document_indices_information),
tta/C/main/manipulate_indices.c (print_indices_information),
tta/perl/Texinfo/Document.pm (%XS_overrides),
tta/perl/XSTexinfo/parser_document/DocumentXS.xs
(print_document_indices_information), tta/perl/t/test_utils.pl (test):
implement print_document_indices_information and
print_indices_information in C and add an XS interface.
2025-03-05 Patrice Dumas <pertusus@free.fr>
* tta/perl/Texinfo/Document.pm (print_document_indices_information),
tta/perl/t/test_utils.pl (test): add wrapper around
Texinfo::Indices::print_indices_information that is called with the
document, to be able to do an XS override. Call it in test.
2025-03-05 Patrice Dumas <pertusus@free.fr>
* tta/perl/Texinfo/Indices.pm (print_indices_information): add
print_indices_information that returns textual information on the
indices, but not on the index entries.
* tta/perl/t/test_utils.pl (test): use print_indices_information
as information on indices for tests.
2025-03-04 Patrice Dumas <pertusus@free.fr>
* tta/perl/t/test_utils.pl (test): build the Perl tree especially only
if do_perl_tree.
2025-03-04 Patrice Dumas <pertusus@free.fr>
* tta/C/main/manipulate_tree.c (print_tree_details),
tta/perl/Texinfo/ManipulateTree.pm (print_tree_details): rename
print_tree as print_tree_details. Update callers.
* tta/C/main/manipulate_tree.c (print_element_extra): handle
extra_deleted.
* tta/perl/Texinfo/ManipulateTree.pm (%XS_overrides),
tta/perl/XSTexinfo/parser_document/StructuringTransfoXS.xs
(print_tree_details): XS override for print_tree_details.
2025-03-04 Patrice Dumas <pertusus@free.fr>
* tta/perl/t/test_utils.pl (test): rebuild Perl output_units only if
Perl data is needed, if do_perl_tree is set.
2025-03-04 Patrice Dumas <pertusus@free.fr>
* tta/perl/Texinfo/OutputUnits.pm (%XS_overrides),
tta/perl/XSTexinfo/parser_document/StructuringTransfoXS.xs
(do_units_directions_pages): add XS override for
do_units_directions_pages.
* tta/perl/Texinfo/OutputUnits.pm (_output_unit_name_string): use
directly contents to avoid leading and trailing spaces.
2025-03-04 Patrice Dumas <pertusus@free.fr>
* tta/C/main/converter_types.h, tta/C/main/document_types.h
(ELEMENT_STACK), tta/C/main/tree_types.h (COMMAND_STACK): move
COMMAND_STACK to tree_types.h and ELEMENT_STACK to document_types.h.
Update header files includes.
2025-03-04 Patrice Dumas <pertusus@free.fr>
* tta/C/main/document_types.h (enum output_units_descriptor_type),
tta/C/main/converter_types.h: move to output_units_descriptor_type
to document_types.h as it is used in output units code.
* tta/perl/Texinfo/OutputUnits.pm (do_units_directions_pages),
tta/perl/t/test_utils.pl (test): do not split_pages only if the
specification is undef. Leave $split_pages undef in test_utils.pl
test.
* tta/C/main/output_unit.c (do_units_directions_pages),
tta/C/main/output_unit.h (enum units_split_type),
tta/perl/Texinfo/OutputUnits.pm (%XS_overrides),
tta/perl/XSTexinfo/parser_document/StructuringTransfoXS.xs
(do_units_directions_pages), tta/perl/t/test_utils.pl (test): add a C
implementation of the do_units_directions_pages function used in tests
only, and add an XS override. Call rebuild_output_units in
test_utils.pl test now that the changes may be done in C only.
* tta/C/main/build_perl_info.c (setup_output_units_handler): store
output_units_document_descriptor to do the same as
fill_output_units_descriptor_av.
2025-03-04 Patrice Dumas <pertusus@free.fr>
* tta/perl/Texinfo/OutputUnits.pm (do_units_directions_pages),
tta/perl/t/test_utils.pl (test): add do_units_directions_pages based
on output units code in test. Use a 0/1 specification for splitting
at node or sections.
2025-03-03 Patrice Dumas <pertusus@free.fr>
XS interface for printing list of floats
* tta/C/main/floats.c (print_caption_shortcaption): fix detection of
empty captions.
* tta/perl/Texinfo/ManipulateTree.pm (_print_caption_shortcaption):
keep trailing end of lines.
* tta/C/main/document.c (print_document_listoffloats),
tta/perl/Texinfo/Document.pm (%XS_overrides),
tta/perl/XSTexinfo/parser_document/DocumentXS.xs
(print_document_listoffloats): add an XS override for
print_document_listoffloats.
2025-03-03 Patrice Dumas <pertusus@free.fr>
* tta/perl/Texinfo/Document.pm (print_document_listoffloats): add a
wrapper around Texinfo::ManipulateTree print_listoffloats_types.
* tta/perl/t/test_utils.pl (test): use print_document_listoffloats,
separate more handling of floats with and without do_perl_tree set.
2025-03-03 Patrice Dumas <pertusus@free.fr>
* tta/perl/t/test_utils.pl (test): always generate and compare
$tree_text.
* tta/perl/t/test_utils.pl (is_with_diff): handle better undefined
result.
* tta/perl/t/test_utils.pl (test): move code around, in particular
move COMPARE label down, such that less variables are set if there
was nothing done.
2025-03-03 Patrice Dumas <pertusus@free.fr>
* tta/perl/t/test_utils.pl (test): fix generation of floats results.
* tta/perl/t/test_utils.pl (test): reorganize code.
2025-03-03 Patrice Dumas <pertusus@free.fr>
Text representation of listoffloats
* tta/C/main/floats.c (compare_listoffloats_type)
(float_list_to_listoffloats_list): sort listofflots types.
* tta/C/main/floats.c: add include of float.h, correct
add_to_float_record_list prototype.
* tta/C/main/floats.c (print_indented, print_caption_shortcaption)
(print_listoffloats_types), tta/perl/Texinfo/ManipulateTree.pm
(_print_caption_shortcaption, print_listoffloats_types): add printing
of listoffloats, to verify listoffloats types, association with
floats.
* tta/perl/t/test_utils.pl (is_with_diff): handle $reference not being
a string.
* tta/perl/t/test_utils.pl (test): determine float structure before
generating/checking results.
* tta/perl/t/test_utils.pl (test): use print_listoffloats_types for
floats representation if $do_perl_tree is not set.
2025-03-03 Patrice Dumas <pertusus@free.fr>
* tta/C/convert/convert_html.c (html_setup_output_simple_page),
tta/C/convert/html_conversion_state.c (compare_name_number)
(find_name_number), tta/C/convert/html_converter_finish.c
(html_reset_converter), tta/C/convert/html_prepare_converter.c
(compare_name_number, html_prepare_units_directions_files),
tta/C/main/converter_types.h (CONVERTER), tta/C/main/tree_types.h
(NAME_NUMBER, NAME_NUMBER_LIST): move PAGE_NAME_NUMBER and
PAGE_NAME_NUMBER_LIST to tree_types.h and rename NAME_NUMBER and
NAME_NUMBER_LIST. Rename compare_page_name_number as
compare_name_number and find_page_name_number as find_name_number.
Update callers.
2025-03-03 Patrice Dumas <pertusus@free.fr>
* tta/C/main/manipulate_tree.c (print_element_extra): add a local
context for extra_misc_args case, which has a variable definition.
* tta/C/main/manipulate_tree.c (print_element_extra): initialize
need_free to 1 as it is what is used in most cases.
* tta/C/main/manipulate_tree.c (print_element_extra): free memory.
* tta/C/texi2any.c (main): free dump_structure_name and
dump_tree_name.
2025-03-02 Patrice Dumas <pertusus@free.fr>
* tta/perl/t/test_utils.pl (test): do not output floats information if
there is no float.
2025-03-02 Patrice Dumas <pertusus@free.fr>
* tta/C/parsetexi/separator.c (handle_comma),
tta/perl/Texinfo/ParserNonXS.pm (_handle_comma): do not add format
extra information for @*inline if the first argument is empty.
2025-03-02 Patrice Dumas <pertusus@free.fr>
* tta/C/main/manipulate_tree.c (add_info_name_string_value),
tta/perl/Texinfo/ManipulateTree.pm (_print_element_associated_info):
specific output when extra string is undef/NULL.
2025-03-02 Patrice Dumas <pertusus@free.fr>
* tta/perl/t/test_utils.pl ($nr_comparisons, test): do not output
separate sectioning, nodes, menus, output_units nor elements if test
results are a textual representation, as the information is already in
the textual representation of the tree.
2025-03-02 Patrice Dumas <pertusus@free.fr>
* tta/C/main/manipulate_tree.c (print_element_details),
tta/perl/Texinfo/ManipulateTree.pm (print_element_details): print root
commands Texinfo code for a more readable tree.
* tta/perl/texi2any.pl: prepend information on output encoding of
DUMP_STRUCTURE tree only if not utf-8.
2025-03-02 Patrice Dumas <pertusus@free.fr>
Switch tta/perl/t/*.t tests tree results to a textual representation
* tta/perl/t/test_utils.pl ($do_perl_tree): set to a textual
representation.
2025-03-02 Patrice Dumas <pertusus@free.fr>
* tta/perl/t/test_utils.pl ($do_perl_tree, test): prepare a new
representation of test results for the tree using a textual
representation. Code is changed in the commit, but only the header is
changed in output, to add the new tree variable.
* tta/perl/t/test_utils.pl (is_with_diff), tta/README: detect if the
Text::Diff module can be loaded at run time. If so, the difference
between reference and obtained textual test results can be shown as a
diff, which should be more readable.
2025-03-02 Patrice Dumas <pertusus@free.fr>
* tta/perl/Texinfo/OutputUnits.pm (_output_unit_name_string): fix
external_node_unit unit type unit_command conversion.
2025-03-02 Patrice Dumas <pertusus@free.fr>
* tta/perl/Texinfo/ManipulateTree.pm (_print_element_associated_info):
handle associated_index_entry as index entries.
* tta/perl/Texinfo/OutputUnits.pm (_output_unit_name_string)
(print_output_units_details): rename 'index' key as '_index'. Delete
index keys at the end of print_output_units_details.
* tta/perl/Texinfo/OutputUnits.pm (print_output_units_details)
(print_output_units_tree_details): pass $fname_encoding argument.
2025-03-02 Patrice Dumas <pertusus@free.fr>
* tta/C/main/manipulate_tree.c (print_source_marks),
tta/perl/Texinfo/ManipulateTree.pm (_print_source_marks): protect eol
in source mark line.
* tta/C/main/manipulate_tree.c (print_element_details),
tta/perl/Texinfo/ManipulateTree.pm (print_element_details): change
leading character.
2025-03-02 Patrice Dumas <pertusus@free.fr>
* tta/perl/Texinfo/ManipulateTree.pm (remove_element_tree_numbers):
recurse in the tree.
2025-03-02 Gavin Smith <gavinsmith0123@gmail.com>
* doc/texinfo.tex (@xrefname): Add command.
2025-03-02 Gavin Smith <gavinsmith0123@gmail.com>
* doc/texinfo.texi (HTML Output Structure Customization)
<ADD_TRANSLITERATED_REDIRECTION_FILES>: Do not say that node
name transliteration must be turned off for this option to do
anything. Report from Patrice.
2025-03-02 Patrice Dumas <pertusus@free.fr>
In C program pass unclosed files from Perl as PerlIO and close
* tta/C/main/utils.c (allocate_file_stream),
tta/C/main/convert_utils.c (register_unclosed_file),
tta/C/main/converter_types.h (FILE_STREAM), tta/C/convert/texinfo.c
(txi_converter_output): add file_path argument to
allocate_file_stream, update callers. Add io field to FILE_STREAM,
and as argument to register_unclosed_file, update callers. Initialize
the whole FILE_STREAM to 0 in allocate_file_stream.
* tta/C/convert/texinfo.c (txi_close_file_stream),
tta/C/main/api_to_perl.c (call_close_perl_io): add to be able to close
a PerlIO passed as io in FILE_STREAM.
* tta/C/main/get_perl_info.c (get_output_files_information): pass
unclosed PerlIO associated to filehandle to output files information
as FILE_STREAM io.
* tta/C/texi2any.c (main): make main_program_unclosed_stdout a
FILE_STREAM such that it may hold a C FILE or a Perl PerlIO. Set it
and call txi_close_file_stream to close. Also call
txi_close_file_stream to close unclosed file streams returned by the
converter.
2025-03-02 Gavin Smith <gavinsmith0123@gmail.com>
* doc/texinfo.texi (HTML Xref 8-bit Character Expansion)
(HTML Output Structure Customization):
Document ADD_TRANSLITERATED_REDIRECTION_FILES.
* NEWS: update.
2025-03-02 Patrice Dumas <pertusus@free.fr>
* tta/perl/t/html_tests.t
(simple_only_special_spaces_node_no_translit_files),
tta/perl/Makefile.tres, tta/perl/t/formats_encodings.t
(char_us_ascii_latin1_in_refs_no_translit_files): add tests explicitly
without transliteration of file names.
* tta/perl/t/formats_encodings.t: remove useless spaces.
2025-03-02 Patrice Dumas <pertusus@free.fr>
Set explicitly TRANSLITERATE_FILE_NAMES for tests needing it
* tta/perl/t/30sectioning.t (transliterated_split_equivalent_nodes),
tta/perl/t/formats_encodings.t (char_utf8_latin1_in_refs)
(char_latin1_latin1_in_refs, char_us_ascii_latin1_in_refs)
(char_latin2_latin2_in_refs, sample_utf8, 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): set explicitly
TRANSLITERATE_FILE_NAMES when it is important for the test.
* tta/perl/t/test_utils.pl (convert_to_html): do not set
TRANSLITERATE_FILE_NAMES.
2025-03-01 Patrice Dumas <pertusus@free.fr>
* tta/perl/t/converters_tests.t (conversion_with_undef_customization):
restore setting of TRANSLITERATE_FILE_NAMES to undef now that now that
it takes effect in the tests again.
2025-03-01 Patrice Dumas <pertusus@free.fr>
Add ADD_TRANSLITERATED_REDIRECTION_FILES
* tta/C/convert/convert_html.c (html_node_redirections),
tta/data/options_data.txt (ADD_TRANSLITERATED_REDIRECTION_FILES),
tta/perl/Texinfo/Convert/HTML.pm (_node_redirections): add
ADD_TRANSLITERATED_REDIRECTION_FILES customization variable to add
redirection files with transliterated file names for backward
compatibility with previous default HTML Xrefs.
Modify html_node_redirections to have the possibility to do
node redirection files based on a list of redirection files. Add the
node redirection file to the list, and also add a transliterated file
if ADD_TRANSLITERATED_REDIRECTION_FILES is set, and the file name is
different from already set files.
* tta/perl/t/test_utils.pl (convert_to_html): set
TRANSLITERATE_FILE_NAMES only if not already set.
* tta/perl/t/html_tests.t (set_add_transliterated_redirection_files),
tta/perl/Makefile.tres: test ADD_TRANSLITERATED_REDIRECTION_FILES.
2025-03-01 Gavin Smith <gavinsmith0123@gmail.com>
@*heading for "@xrefautomaticsectiontitle on"
* doc/texinfo.tex (\setref, \donoderef): take an extra argument
instead of referring to \currentsection.
(\currentsection): remove use throughout.
No functional changes intended.
2025-03-01 Gavin Smith <gavinsmith0123@gmail.com>
@*heading for "@xrefautomaticsectiontitle on"
* doc/texinfo.tex (\sectionheading): unconditionally set
\currentsection, even for heading commands.
bug-texinfo discussion, 2025-02-14.
2025-03-01 Gavin Smith <gavinsmith0123@gmail.com>
DUMP_TREE plans
* README-hacking,
* TODO,
* doc/texinfo.texi (Global Customization Variables): Add notes
to change DUMP_TREE behaviour in future.
2025-03-01 Patrice Dumas <pertusus@free.fr>
* NEWS, doc/texinfo.texi (Global Customization Variables),
tta/C/texi2any.c (main), tta/data/options_data.txt (DUMP_STRUCTURE)
(DUMP_TREE), tta/perl/texi2any.pl: consider DUMP_TREE and
DUMP_STRUCTURE to be file names instead of flag. If set to -, print
to STDERR. For DUMP_TREE print to STDERR if set to 1, too, temporary
for backward compatibility. Set document options earlier in main
programs to have them available for DUMP_TREE.
* tta/C/main/convert_utils.c (encoded_input_file_name),
tta/C/main/utils.c (input_file_name_encoding),
tta/perl/Texinfo/Common.pm (input_file_name_encoding),
tta/perl/Texinfo/Convert/Utils.pm (encoded_input_file_name): add
input_file_name_encoding based on code removed from
encoded_input_file_name.
* tta/C/main/manipulate_tree.c (print_element_source_info, print_tree)
(print_*), tta/C/main/output_unit.c (print_output_units_details)
(print_output_units_tree_details), tta/C/texi2any.c (main),
tta/perl/Texinfo/ManipulateTree.pm (_print_element_source_info)
(print_tree, print_*), tta/perl/texi2any.pl: decode source info file
names to internal encoding/UTF-8 for print_tree. Call
input_file_name_encoding in main program to determine input files
encoding. Pass input file encoding down to print_element_source_info.
2025-03-01 Gavin Smith <gavinsmith0123@gmail.com>
TRANSLITERATE_FILE_NAMES is off by default
* tta/data/options_data.txt (TRANSLITERATE_FILE_NAMES): Change
from 0 to 1.
* tta/perl/t/test_utils.pl (convert_to_html),
* tta/tests/tex_html/list-of-tests,
* tta/tests/encoded/list-of-tests: Set TRANSLITERATE_FILE_NAMES to
1 in order not to disturb test results.
* tta/perl/t/converters_tests.t (conversion_with_undef_customization):
Comment out setting of TRANSLITERATE_FILE_NAMES to undef as it
does not take effect in the tests.
* NEWS: update.
2025-03-01 Patrice Dumas <pertusus@free.fr>
* tta/perl/Texinfo/ManipulateTree.pm (set_element_tree_numbers)
(remove_element_tree_numbers): add a definition for the recursive
functions. Report from Gavin.
2025-03-01 Gavin Smith <gavinsmith0123@gmail.com>
* NEWS: update
2025-02-28 Patrice Dumas <pertusus@free.fr>
Detailed tree and output units printing in Perl
* tta/C/main/output_unit.c (output_unit_name_string): fix conditions.
* tta/perl/Texinfo/ManipulateTree.pm (set_element_tree_numbers)
(_print_source_marks, _print_text_element)
(_print_element_add_prepend_info, element_number_or_error)
(_debug_protect_eol, _print_element_associated_info)
(_print_element_source_info, print_element_details)
(remove_element_tree_numbers, print_tree): detailed print of tree in
Perl.
* tta/perl/Texinfo/OutputUnits.pm (_output_unit_name_string)
(print_output_units_details, print_output_units_tree_details):
detailed print of output units in Perl.
* tta/perl/texi2any.pl: use print_tree for DUMP_TREE. Add
DUMP_STRUCTURE handling.
2025-02-28 Patrice Dumas <pertusus@free.fr>
* tta/C/main/debug.c (debug_protect_eol): do not protect /, but
protect TAB and line feed.
* tta/C/main/build_perl_info.c (element_to_perl_hash),
tta/C/main/manipulate_tree.c (print_element_extra): do not store
omit_def_name_space flag twice.
* tta/C/main/manipulate_tree.c (print_source_marks): also show source
mark counter when status is none.
* tta/C/main/manipulate_tree.c (print_element_info)
(print_element_extra): print flags like strings.
* tta/C/main/manipulate_tree.c (set_element_tree_numbers): change
order in conditional to hopefully have more likely first.
2025-02-26 Patrice Dumas <pertusus@free.fr>
Output units detailed print
* tta/C/main/manipulate_tree.c (set_element_tree_numbers)
(print_element_details, remove_element_tree_numbers): rename
setup_element_number as set_element_tree_numbers, print_element as
print_element_details, remove_element_number as
remove_element_tree_numbers.
* tta/C/main/output_unit.c (output_unit_name_string, add_ou_direction)
(print_output_units_details, print_output_units_tree_details): print
output units details, including with tree details.
2025-02-26 Patrice Dumas <pertusus@free.fr>
Source marks in detailed print of the tree in C
* tta/C/main/manipulate_tree.c (print_source_marks)
(print_text_element, print_element): print source marks.
2025-02-26 Patrice Dumas <pertusus@free.fr>
Add a detailed print of the tree in C
* tta/C/main/manipulate_tree.c (setup_element_number)
(remove_element_number): put a number for elements that are referred
to by other elements recursively, at the end of element->elt_info with
setup_element_number. Remove the number with remove_element_number.
* tta/C/main/manipulate_tree.c (ADDITIONAL_INFO_NAME_VAL)
(ADDITIONAL_INFO_NAME_VAL_LIST, add_info_name_value)
(compare_name_value, print_info_strings, add_info_name_string_value)
(print_element_info, print_element_extra): add
ADDITIONAL_INFO_NAME_VAL with a name and value to help with printing
additional info and extra of an ellement. Register with
add_info_name_value or add_info_name_string_value, print with
print_info_strings, after sorting by name. Add print_element_info and
print_element_extra to register info or extra information and print.
* tta/C/main/manipulate_tree.c (print_text_element)
(print_element, print_element_add_prepend_info)
(element_number_or_error, print_element_source_info, print_tree): add
print_tree to print tree elements, with a first pass to add numbers,
calling setup_element_number, then the recursive printing of the tree
elements with print_text_element and print_element. No source marks
for now.
* tta/data/options_data.txt: add DUMP_STRUCTURE option.
* tta/C/texi2any.c (main), doc/texinfo.texi (Global Customization
Variables): call print_tree if DUMP_TREE or DUMP_STRUCTURE is set.
2025-02-26 Patrice Dumas <pertusus@free.fr>
* tta/C/main/build_perl_info.c (element_to_perl_hash): remove
redundant setting of is_target.
* tta/C/main/debug.c (debug_protect_eol): protect \ in addition to \n,
for clarity of the output and to distinguish end of line from \n.
* tta/perl/texi2any.pl: check that DUMP_TREE is true in addition to be
defined.
2025-02-24 Patrice Dumas <pertusus@free.fr>
* tta/perl/Makefile.tres, tta/perl/t/html_tests.t
(automatic_menus_format_menu_no_detailmenu): add test of FORMAT_MENU
set to menu_no_detailmenu.
2025-02-24 Patrice Dumas <pertusus@free.fr>
* tta/perl/Texinfo/Convert/Plaintext.pm (_convert): set explicit
$arguments_line for clearer code.
* tta/perl/Texinfo/Convert/TextContent.pm (_convert): reindent.
2025-02-24 Patrice Dumas <pertusus@free.fr>
Add menu_no_detailmenu for FORMAT_MENU without automatic @detailmenu
* doc/texinfo.texi (Global Customization Variables, HTML Output
Structure Customization), tta/C/convert/format_html.c
(html_convert_heading_command), tta/C/convert/html_prepare_converter.c
(html_converter_customize), tta/C/convert/texinfo.c (txi_parser),
tta/perl/Texinfo/Convert/HTML.pm (_convert_heading_command)
(converter_initialize), tta/perl/Texinfo/ParserNonXS.pm
(_register_extra_menu_entry_information, _handle_block_command),
tta/perl/Texinfo/Structuring.pm (set_menus_node_directions),
tta/perl/XSTexinfo/Parsetexi.pm (parser): add the possibility to set
FORMAT_MENU to menu_no_detailmenu to use menus for navigation but do
not automatically generate a @detailmenu in the Top node master menu
for HTML. Report from Werner Lemberg.
2025-02-24 Gavin Smith <gavinsmith0123@gmail.com>
* doc/texinfo.texi (Overview): Change reference for texinfo.tex
to section in this chapter.
2025-02-24 Gavin Smith <gavinsmith0123@gmail.com>
* doc/texinfo.texi (History, Adding Output Formats):
Move exhortation to use texi2any test cases to "Adding Output
Formats" and merge with existing text.
2025-02-24 Gavin Smith <gavinsmith0123@gmail.com>
* doc/texinfo.texi (History): Move discussion of "reference
implementation" into list of advantages of Perl program, and
edit.
2025-02-24 Gavin Smith <gavinsmith0123@gmail.com>
* doc/texinfo.texi (No Space After Definition Name):
Alter example slightly to avoid creating index entry for 'index',
which clashes with actual discussion of Texinfo indexing.
2025-02-24 Gavin Smith <gavinsmith0123@gmail.com>
* doc/texinfo.texi (History, Adding Output Formats): Swap nodes.
2025-02-24 Gavin Smith <gavinsmith0123@gmail.com>
* doc/texinfo.texi (Overview): Mention the main Texinfo processors
in this node. Suggestion from Patrice.
2025-02-23 Patrice Dumas <pertusus@free.fr>
* doc/texinfo.texi (Adding Output Formats): remove useless index
entry, add index entries, fix path.
* doc/texinfo.texi (History): remove old information on makeinfo C
implementation and texi2html already implied by the history.
* doc/texinfo.texi (HTML Customization for Math): add missing to.
2025-02-23 Patrice Dumas <pertusus@free.fr>
* tta/perl/XSTexinfo/convert/get_html_perl_info.c
(html_converter_get_customization_sv): fix conditional on Perl
version by adding to external_references_number only if the version is
below 5.21.4, not above.
2025-02-23 Patrice Dumas <pertusus@free.fr>
* doc/texinfo.texi (History): trim a bit. Encourage to use the
Texinfo code of texi2any tests, not the tests themselves.
2025-02-23 Gavin Smith <gavinsmith0123@gmail.com>
* doc/texinfo.texi (History): trim down, by removing too specific and
dated parts.
2025-02-23 Gavin Smith <gavinsmith0123@gmail.com>
Info hooks
* info/configfiles.c (run_info_hook): New function. Locate
and run hook program by name.
* info/info.c (get_initial_file): If couldn't open file, call
'run_info_hook' with "manual-not-found" hook.
2025-02-23 Gavin Smith <gavinsmith0123@gmail.com>
* info/infomap.c, info/configfiles.c (locate_init_file):
Move to new file configfiles.c.
2025-02-23 Gavin Smith <gavinsmith0123@gmail.com>
info init file loading
* info/infomap.c (locate_init_file): Take arguments instead
of hardcoding name of infokey file. Check ~/.infokey file first
before XDG locations, as is documented.
(locate_infokey_file): New function, passing name of infokey
file to 'locate_init_file'.
2025-02-22 Patrice Dumas <pertusus@free.fr>
* doc/texi2any_api.texi (Navigation Panel and Navigation Header
Formatting), tta/C/convert/call_html_perl_function.c
(call_formatting_function_format_navigation_panel),
tta/C/convert/format_html.c (html_default_format_navigation_panel)
(format_navigation_panel, html_default_format_navigation_header)
(html_default_format_element_header)
(html_default_format_element_footer), tta/perl/Texinfo/Convert/HTML.pm
(_default_format_navigation_panel, _default_format_navigation_header)
(_default_format_element_header): add an argument to
format_navigation_panel to specify if in header or footer.
2025-02-22 Patrice Dumas <pertusus@free.fr>
* tta/C/convert/format_html.c (html_convert_command_tree)
(html_internal_command_text, html_command_text)
(html_internal_command_name, from_element_direction),
tta/C/main/option_types.h (enum html_text_type), tta/C/main/utils.c
(html_button_direction_names), tta/perl/Texinfo/Convert/HTML.pm
(_convert_command_tree, command_text, %valid_direction_return_type)
(from_element_direction), doc/texi2any_api.texi (Target Tree Element
Link, Navigation Panel Button Formatting): add section_nonumber in
addition to section for the type of link. Handle better
string_nonumber.
* tta/C/convert/format_html.c
(default_panel_button_dynamic_direction_internal),
tta/perl/Texinfo/Convert/HTML.pm
(_default_panel_button_dynamic_direction),
tta/perl/t/init/redefined_buttons.pm: use section_nonumber instead of
section.
2025-02-22 Patrice Dumas <pertusus@free.fr>
* tta/C/texi2any.c (get_cmdline_customization_option),
tta/C/main/txi_config.c (set_option_value): do not decode input in
set_option_value but in get_cmdline_customization_option.
* tta/C/main/convert_utils.c (encoded_output_file_name): do not
consider DOC_ENCODING_FOR_OUTPUT_FILE_NAME set if undef.
* tta/C/main/utils.c (encode_with_iconv): distinguish error message
from C.
2025-02-22 Patrice Dumas <pertusus@free.fr>
* tta/C/convert/rawtext_converter_api.c
(initialize_text_options_encoding), tta/perl/Texinfo/Convert/Text.pm
(_initialize_text_options_encoding): rename initialize_options_encoding
as initialize_text_options_encoding.
2025-02-22 Patrice Dumas <pertusus@free.fr>
* tta/perl/Texinfo/Convert/Converter.pm: remove a FIXME on new HTML5
named accent entities, we won't use them, as decided by Gavin.
2025-02-21 Patrice Dumas <pertusus@free.fr>
* doc/texinfo.texi (HTML Xref Configuration): document omitting
urlprefix in htmlxref files.
* doc/texinfo.texi (Global Customization Variables):
CHECK_MISSING_MENU_ENTRY is on by default.
* doc/texinfo.texi (Generic Translator @command{texi2any}): comment
out too detailed information on C/Perl. Shorten the remainign of the
paragraph.
2025-02-20 Patrice Dumas <pertusus@free.fr>
NEWS: add entries for htmlxref.d and empty string for htmlxref URL
2025-02-20 Patrice Dumas <pertusus@free.fr>
* tta/C/convert/format_html.c (external_node_href),
tta/perl/Texinfo/Convert/HTML.pm (_external_node_href): if an htmlxref
information is an empty string, meaning that the URL was empty in the
htmlxref files information, use the default local link href. Report
by Gavin.
2025-02-20 Patrice Dumas <pertusus@free.fr>
* tta/C/convert/format_html.c (external_node_href),
tta/perl/Texinfo/Convert/HTML.pm (_external_node_href): skip htmlxref
related code if HTMLXREF_MODE is none. Based on a report by Sebastian
Meyer.
2025-02-20 Patrice Dumas <pertusus@free.fr>
@namedanchor in LaTeX output
* tta/perl/Texinfo/Convert/LaTeX.pm (_convert): if
xrefautomaticsectiontitle is on, use th e@namedanchor second argument
as name.
2025-02-19 Patrice Dumas <pertusus@free.fr>
* tta/C/convert/format_html.c (html_convert_command_tree)
(html_internal_command_text, html_internal_command_name_tree)
(html_internal_command_name, html_command_name),
tta/C/convert/html_converter_finish.c (reset_html_targets_list),
tta/C/main/converter_types.h (HTML_TARGET),
tta/perl/Texinfo/Convert/HTML.pm (_convert_command_tree)
(_internal_command_text, _internal_command_name_tree)
(_internal_command_name, command_name): split
html_convert_command_tree out of html_internal_command_text. Add
html_internal_command_name_tree, html_internal_command_name and
html_command_name that returns the name of the command if it exists,
rather than the text corresponding to the identifier. The command
name is only obtained for namedanchor, using the second argument of
the command.
* tta/C/convert/format_html.c (html_convert_xref_command),
tta/perl/Texinfo/Convert/HTML.pm (_convert_xref_commands): if
xrefautomaticsectiontitle is set and a node sectioning command hasn't
been found and the command is not a float, call command_name instad of
command_text for the name of the xref.
* tta/perl/Texinfo/Convert/HTML.pm (%XS_conversion_overrides),
tta/perl/XSTexinfo/convert/ConvertXS.xs
(html_internal_command_name_tree, html_internal_command_name): XS
overrides for _internal_command_name_tree and _internal_command_name.
2025-02-19 Gavin Smith <gavinsmith0123@gmail.com>
Document @namedanchor
* doc/texinfo.texi (@anchor): Revise node and add @named anchor.
(Three Arguments) <xrefautomaticsectiontitle>: Reference @namedanchor.
* doc/refcard/txirefcard.tex, NEWS: update
2025-02-19 Patrice Dumas <pertusus@free.fr>
* util/texinfo.dtd: add namedanchor.
2025-02-19 Patrice Dumas <pertusus@free.fr>
* tta/perl/Texinfo/Convert/TexinfoMarkup.pm (_convert),
util/texinfo.dtd, t/z_misc/no_structure_test.t: rename name attribute
of node, *anchor and float to identifier.
2025-02-19 Patrice Dumas <pertusus@free.fr>
* tta/C/convert/format_html.c (LABEL_CMD_TYPES_NR)
(html_output_internal_links): add LABEL_CMD_TYPES_NR, remove enum
label_cmd_types.
2025-02-19 Patrice Dumas <pertusus@free.fr>
Initial incomplete implementation of @namedanchor in texi2any
* tta/C/convert/format_html.c (html_command_description)
(html_internal_command_tree, html_convert_anchor_command)
(label_cmd_types_ids), tta/C/convert/html_prepare_converter.c
(default_commands_args, commands_internal_conversion_table),
tta/C/main/node_name_normalization.c (convert_to_normalized_internal),
tta/C/main/utils.c (get_label_element), tta/C/parsetexi/parser.c
(check_valid_nesting_context, handle_close_brace),
tta/data/command_data.txt, tta/perl/Texinfo/Common.pm
(get_label_element), tta/perl/Texinfo/Convert/Converter.pm
(%default_args_code_style), tta/perl/Texinfo/Convert/DocBook.pm
(_convert), tta/perl/Texinfo/Convert/HTML.pm (_internal_command_tree)
(command_description, %html_default_commands_args)
(_convert_anchor_command, %default_commands_conversion)
(output_internal_links), tta/perl/Texinfo/Convert/LaTeX.pm (_convert),
tta/perl/Texinfo/Convert/NodeNameNormalization.pm
(%ignored_brace_commands), tta/perl/Texinfo/Convert/Plaintext.pm
(_convert), tta/perl/Texinfo/Convert/TexinfoMarkup.pm
(%commands_args_elements, _convert), tta/perl/Texinfo/Convert/Text.pm
(%ignored_brace_commands), tta/perl/Texinfo/ParserNonXS.pm
(%command_ignore_space_after, %in_basic_inline_commands)
(_handle_close_brace): add @namedanchor. For now same as @anchor
but with two arguments.
* tta/perl/Makefile.tres, tta/perl/t/converters_tests.t (namedanchor):
add test of @namedanchor.
2025-02-18 Gavin Smith <gavinsmith0123@gmail.com>
* doc/texinfo.tex (\getprintedrefname): remove unnecessary call
to \getrefx.
2025-02-18 Gavin Smith <gavinsmith0123@gmail.com>
@namedanchor
* doc/texinfo.tex (\namedanchor): Implement @namedanchor command
with second argument giving text for cross-references to an
@anchor.
(\anchor): Set \currentsection to the anchor name so that it
will be output as NAME-title in the .aux file.
(\getprintedrefname) <xrefautomaticsectiontitle>:
Eliminate special case for @anchor and unconditionally use the
"-title" string for the anchor.
Discussion on bug-texinfo, February 2025. Suggestions from
Werner Lemberg and Patrice Dumas.
2025-02-18 Patrice Dumas <pertusus@free.fr>
* tta/C/main/errors.c (reallocate_error_messages, new_error_message)
(merge_error_messages_lists): split reallocate_error_messages in two
with reallocation remaining in reallocate_error_messages and adding
new error message in new_error_message. Update callers. Add
merge_error_messages_lists.
* tta/C/texi2any.c (handle_parser_errors, main): do not handle parser
errors immediately, instead merge with structuring errors and handle
afterwards (like in texi2any.pl). Add handle_parser_errors to output
parser errors and exit if needed. Use it when parser errors need to
be handled before structuring.
2025-02-17 Patrice Dumas <pertusus@free.fr>
* tta/data/converters_defaults.txt,
tta/maintain/regenerate_C_options_info.pl,
tta/maintain/regenerate_perl_options_info.pl: use two - for new format
name, to be consistent with commands values format.
2025-02-16 Gavin Smith <gavinsmith0123@gmail.com>
* doc/texinfo.texi (Customization Variables for Multiple Formats):
Add missing '@.'.
2025-02-16 Patrice Dumas <pertusus@free.fr>
* tta/configure.ac (ICONV_CONVERTS_EUC_CN): add a missing NUL to the
out buffer. Check that the input counter is set to 0.
* tta/perl/Texinfo/Convert/Converter.pm: move comments.
2025-02-16 Patrice Dumas <pertusus@free.fr>
Register new HTML base accent entities
* tta/C/convert/converter.c (xml_accent_text_entities),
tta/perl/Texinfo/Convert/Converter.pm (%xml_accent_entities),
tta/perl/Texinfo/Convert/TexinfoMarkup.pm (%accent_types): add dot,
macr, breve, caron and dblac as XML accents base entities.
* NEWS: document that the type of some accents changed in TexinfoXML.
2025-02-16 Patrice Dumas <pertusus@free.fr>
* tta/perl/Texinfo/Convert/Converter.pm: change in comments and Pod.
2025-02-16 Patrice Dumas <pertusus@free.fr>
* doc/tta_api/Makefile.am (texi2any_internals_dependencies),
tta/perl/Makefile.am (dist_modules_DATA),
tta/perl/Texinfo/CommandsValues.pod: add separate Pod file with the
documentation of the relevant hashes from Texinfo/CommandsValues.pm.
2025-02-16 Patrice Dumas <pertusus@free.fr>
* tta/maintain/generate_code_commands_values.pl: add 1 at the end of
the generated Perl module.
* tta/TODO, tta/perl/Texinfo/Common.pm: update TODO and comments
related to documentation of hashes mainly.
2025-02-16 Patrice Dumas <pertusus@free.fr>
* tta/C/Makefile.am, tta/perl/Makefile.am, tta/Makefile.am
(maintenance_files), tta/maintain/generate_code_commands_values.pl:
rename generate_code_commands_text.pl as
generate_code_commands_values.pl for consistency with other file
names.
2025-02-15 Patrice Dumas <pertusus@free.fr>
* tta/perl/Makefile.am (dist_modules_DATA),
tta/perl/Texinfo/Convert/Unicode.pm, tta/perl/Texinfo/UnicodeData.pm:
split Texinfo/UnicodeData.pm out of Texinfo/Convert/Unicode.pm, moving
hashes that are either big, used to generate C, not used in
Texinfo/Convert/Unicode.pm or not used. Update users.
* tta/C/Makefile.am (accent_tables_8bit_codepoints.c): add a
dependency on Texinfo/UnicodeData.pm.
2025-02-15 Patrice Dumas <pertusus@free.fr>
* tta/C/Makefile.am (convert/cmd_converter.c),
tta/data/commands_values.txt,
tta/maintain/generate_code_commands_text.pl,
tta/perl/Texinfo/Convert/Converter.pm : add
xml_text_entity_no_arg_commands to commands_values.txt, remove from
Texinfo/Convert/Converter.pm, generate in
generate_code_commands_text.pl, not in
setup_converters_code_tables.pl.
* tta/C/Makefile.am, tta/Makefile.am (maintenance_files): remove
setup_converters_code_tables.pl and dependences rules, it is not used
anymore.
2025-02-15 Patrice Dumas <pertusus@free.fr>
* tta/perl/Texinfo/CommandsValues.pm, tta/data/commands_values.txt,
tta/C/Makefile.am, tta/perl/Makefile.am (Texinfo/CommandsValues.pm),
tta/Makefile.am, tta/maintain/generate_code_commands_text.pl: rename
command_text.txt as commands_values.txt and TextData.pm as
CommandsValues.pm. Update users.
* tta/data/commands_values.txt, tta/C/Makefile.am
(main/cmd_structuring.c), tta/maintain/generate_code_commands_text.pl,
tta/maintain/setup_converters_code_tables.pl, tta/perl/Makefile.am
(Texinfo/CommandsValues.pm), tta/perl/Texinfo/Common.pm: add
command_structuring_level to commands_values.txt. Generate
command_structuring_level in generate_code_commands_text.pl, remove
from Texinfo/Common.pm and setup_converters_code_tables.pl. Update
callers.
2025-02-15 Patrice Dumas <pertusus@free.fr>
* tta/C/main/document.c (setup_texinfo_main), tta/C/main/utils.c
(enum structuring_commands_categories, structuring_commands_levels)
(level_to_structuring_command, setup_structuring_data),
tta/maintain/setup_converters_code_tables.pl: new function,
setup_structuring_data to setup level_to_structuring_command with C
code. Call it in setup_texinfo_main, do not set
level_to_structuring_command anymore in
setup_converters_code_tables.pl.
2025-02-15 Patrice Dumas <pertusus@free.fr>
Generate commands text and unicode characters information from data
* tta/perl/Texinfo/Convert/Unicode.pm (%base_unicode_map): add
%base_unicode_map for the %unicode_map that is not %extra_unicode_map.
* tta/data/command_text.txt, tta/Makefile.am (dist_noinst_DATA): add
information on commands as text with Texinfo::Common
nobrace_symbol_text and text_brace_no_arg_commands,
Texinfo::Convert::Unicode base_unicode_map, extra_unicode_map and
unicode_diacritics and Texinfo::Convert::Text
sort_brace_no_arg_commands.
* tta/maintain/generate_code_commands_text.pl,
tta/perl/Texinfo/Convert/Unicode.pm, tta/Makefile.am
(maintenance_files), tta/perl/Makefile.am (dist_modules_DATA)
(Texinfo/TextData.pm), tta/perl/Texinfo/Common.pm,
tta/perl/Texinfo/Convert/Text.pm: generate %base_unicode_map,
%extra_unicode_map and %unicode_diacritics in
generate_code_commands_text.pl, remove from Unicode.pm. Generate
%nobrace_symbol_text and %text_brace_no_arg_commands in
generate_code_commands_text.pl, remove from Common.pm. Generate
%sort_brace_no_arg_commands in generate_code_commands_text.pl, remove
from Text.pm. Update callers to use Texinfo::TextData data.
* tta/maintain/generate_code_commands_text.pl, tta/C/Makefile.am
(cmd_unicode.c, cmd_text.c), tta/C/main/document.c
(setup_texinfo_main), tta/C/main/unicode.c (setup_unicode_data),
tta/C/main/unicode.h (COMMAND_UNICODE_CHARACTER),
tta/maintain/setup_converters_code_tables.pl: generate
base_unicode_map and extra_unicode_map in
generate_code_commands_text.pl. Add setup_unicode_data to setup
unicode_character_brace_no_arg_commands. Call setup_unicode_data in
setup_texinfo_main.
* tta/C/Makefile.am (EXTRA_DIST, BUILT_SOURCES),
tta/maintain/setup_converters_code_tables.pl, tta/C/main/document.c
(setup_texinfo_main), tta/C/main/node_name_normalization.c
(setup_node_name_normalization): add setup_node_name_normalization to
setup command_normalization_text. Call in setup_texinfo_main. Remove
cmd_normalization.c.
* tta/maintain/generate_code_convert_data.pl: update comments.
2025-02-15 Patrice Dumas <pertusus@free.fr>
* tta/maintain/generate_code_convert_data.pl: give the name of the
input CSV file in comments in the generated code for each of the
sections in the generated file.
2025-02-15 Patrice Dumas <pertusus@free.fr>
* tta/data/default_direction_strings.csv,
tta/data/default_special_unit_info.csv,
tta/maintain/generate_code_convert_data.pl: add a metadata header for
the CSV files with unclear use and content. Report from Gavin.
* tta/data/converters_defaults.txt: improve comments.
2025-02-14 Patrice Dumas <pertusus@free.fr>
* tta/tests/run_parser_all.sh (check_strxfrm_ok): check more
environment variable to determine if conversion with XS is set.
2025-02-14 Patrice Dumas <pertusus@free.fr>
* tta/C/convert/format_html.c (external_node_href),
tta/perl/Texinfo/Convert/HTML.pm (_external_node_href): do not mention
explicitly the htmlxref.cnf file name.
2025-02-14 Patrice Dumas <pertusus@free.fr>
* tta/C/Makefile.am (libtexinfo_*la_LDFLAGS): bump current version
number for libraries with changes.
2025-02-13 Patrice Dumas <pertusus@free.fr>
Distribute Texinfo_*.cnf files installed in htmlxref.d for HTML cross-references
* grand-replace.sh, util/Makefile.am (nobase_dist_pkgdata_DATA),
util/htmlxref.d/Texinfo_GNU.cnf, util/htmlxref.d/Texinfo_nonGNU.cnf:
split util/htmlxref.cnf in two files, Texinfo_GNU.cnf for GNU manuals
and Texinfo_nonGNU.cnf for non GNU free manuals and move the two files
to util/htmlxref.d.
* doc/texinfo.texi (HTML Xref Configuration): update for change in
files distributed with Texinfo.
* infog/README: update to avoid naming htmlxref.cnf.
* doc/texinfo.texi (File Names and Links Customization for HTML)
(HTML Customization Variables List): describe htmlxref.d/*.cnf.
2025-02-13 Patrice Dumas <pertusus@free.fr>
* doc/texinfo.texi (HTML Xref Configuration): describe
htmlxref.d/*.cnf.
2025-02-12 Patrice Dumas <pertusus@free.fr>
Use htmlxref.d/*.cnf files as htmlxref files
* tta/C/convert/html_prepare_converter.c (load_htmlxref_files),
tta/perl/Texinfo/Convert/HTML.pm (_load_htmlxref_files): do not call
locate_file_in_dirs, instead reuse locate_file_in_dirs relevant code
and add code to also get htmlxref.d/*.cnf files in the same
directories where htmlxref.cnf files are searched for. Also based on
Gavin idea.
2025-02-12 Patrice Dumas <pertusus@free.fr>
* NEWS: texi2any uses the Perl extensions in C for converters
in the default case now.
2025-02-11 Patrice Dumas <pertusus@free.fr>
* Pod-Simple-Texinfo/pod2texi.pl,
Pod-Simple-Texinfo/t/Pod-Simple-Texinfo.t,
tta/perl/t/z_misc/convert_to_text.t: use forward slashes
systematically.
2025-02-11 Patrice Dumas <pertusus@free.fr>
* tta/C/texi2any.c (main): move call to nl_langinfo after
txi_setup_main_load_interpreter call, to have setlocale be called
before nl_langinfo.
* tta/C/texi2any.c (main), tta/perl/texi2any.pl: decode input file
name and corrected input file name for the message on .info and
replacement by .texi.
2025-02-11 Patrice Dumas <pertusus@free.fr>
* util/texi-elements-by-size: update using texi2any.pl and other
scripts code.
2025-02-11 Patrice Dumas <pertusus@free.fr>
* util/Makefile.am: remove AM_CPPFLAGS and LDADD that do not seem to
be used. Remove localedir that is not used anymore.
2025-02-11 Patrice Dumas <pertusus@free.fr>
* util/txicmdlist (BEGIN), util/txicustomvars (BEGIN): update paths.
2025-02-11 Patrice Dumas <pertusus@free.fr>
README-hacking: update paths.
2025-02-10 Gavin Smith <gavinsmith0123@gmail.com>
Fix auxiliary files for xetex with Latin-1 or Latin-2.
* doc/texinfo.tex (\xetexpreauxfile, \xetexpostauxfile): New macros.
(\setbytewiseio) [xetex]: Set these new macros to specify "UTF-8"
encoding for input files, even if we are otherwise using "bytes".
This is necessary as XeTeX always writes files in UTF-8.
(\pdfmakeoutlines) [xetex],
(\printindex, \contents, \summarycontents, \tryauxfile):
Use new macros to read auxiliary files with UTF-8 encoding.
(\documentwarning) [xetex]: Remove warning about non-ASCII
characters in auxiliary files.
2025-02-10 Gavin Smith <gavinsmith0123@gmail.com>
* doc/texinfo.tex (\ifpdf, \ifpdforxetex):
Move definitions before block of LuaTeX code so it is easier to
see the conditions under which they are set. Set \ifpdf directly
depending on LuaTeX version rather than indirectly depending on
setting \pdfoutput. No functional change intended.
2025-02-11 Patrice Dumas <pertusus@free.fr>
* tta/tests/many_input_files/*.sh: comment out escape_file_names.pl
call when there are no non-ASCII output file names.
Add --utf8-argument option to escape_file_names.pl to normalize UTF-8
encoded files before escaping. Report from Daniel Macks.
2025-02-11 Patrice Dumas <pertusus@free.fr>
* tta/C/main/build_perl_info.c: try to have better comments, remove a
FIXME.
* tta/tests/many_input_files/*.sh: remove spurious echo, harmonize
somewhat spacing and remove set -x.
2025-02-11 Patrice Dumas <pertusus@free.fr>
* tta/C/main/build_perl_info.c: remove FIXME, change comment.
* tta/C/main/output_unit.c (destroy_output_unit): call
unregister_perl_data.
2025-02-11 Patrice Dumas <pertusus@free.fr>
* tta/C/convert/converter.c (reset_generic_converter): set converter
document to NULL.
2025-02-11 Patrice Dumas <pertusus@free.fr>
* tta/perl/texi2any.pl: call Texinfo::XSLoader::XS_convert_enabled
instead of checking ENV{TEXINFO_XS_CONVERT}.
* tta/tests/run_parser_all.sh: fix check of TEXINFO_XS_CONVERT now
that it is set in the default case.
2025-02-10 Patrice Dumas <pertusus@free.fr>
* tta/C/convert/html_prepare_converter.c (parse_htmlxref_files): reset
line count for each read htmlxref file. Report from Gavin.
2025-02-10 Patrice Dumas <pertusus@free.fr>
Normalize UTF-8 tests output file names for reproducibility
* tta/tests/escape_file_names.pl: if --utf8-argument is given, decode,
normalize and reencode input file name.
* tta/tests/run_parser_all.sh (escape_file_names): if
OUTPUT_FILE_NAME_ENCODING=UTF-8 appears on the command line pass
utf8_output_file argument to escape_file_names and have
escape_file_names pass the --utf8-argument command-line option to
escape_file_names.pl.
This allows to normalize output files to get the same result
independently of the platform notmalization of UTF-8 file names.
Report from Daniel Macks.
2025-02-10 Patrice Dumas <pertusus@free.fr>
* tta/perl/XSTexinfo/convert/get_html_perl_info.c
(html_converter_get_customization_sv): increase
converter->external_references_number if the version of Perl prevents
C functions to be used for default buttons, such that Perl will
necessarily be called in default buttons.
* tta/perl/XSTexinfo/convert/get_html_perl_info.c
(html_converter_get_customization_sv): increase
converter->external_references_number when handlers are registered, as
they could directly access Perl or setup buttons that will access Perl
later on.
* tta/C/convert/html_prepare_converter.c (html_converter_customize):
add to converter->external_references_number instead of setting it
since it may now already be set in
html_converter_get_customization_sv.
2025-02-10 Patrice Dumas <pertusus@free.fr>
* tta/C/main/call_perl_function.c
(call_nodenamenormalization_unicode_to_transliterate),
tta/C/main/node_name_normalization.c (unicode_to_transliterate)
(normalize_transliterate_texinfo)
(normalize_transliterate_texinfo_contents),
tta/perl/Texinfo/Convert/NodeNameNormalization.pm
(normalize_transliterate_texinfo, transliterate_texinfo)
(transliterate_protect_file_name, _unicode_to_transliterate),
tta/perl/Texinfo/Convert/Unicode.pm (%transliterate_map)
(%tests_specific_transliterate_map, %tests_transliterate_map):
split characters that need to be transliterated to the same value
than with unidecode for tests out of %transliterate_map to
%tests_specific_transliterate_map and merge with %transliterate_map to
set %tests_transliterate_map. Add in_test argument for
_unicode_to_transliterate, if set, use %tests_transliterate_map
instead of %transliterate_map. Update callers, including through
call_nodenamenormalization_unicode_to_transliterate XS.
* tta/C/convert/converter.c (normalized_sectioning_command_filename)
(node_information_filename), tta/C/convert/format_html.c
(html_convert_printindex_command),
tta/C/convert/html_prepare_converter.c
(prepare_index_entries_targets), tta/perl/Texinfo/Convert/Converter.pm
(normalized_sectioning_command_filename, node_information_filename),
tta/perl/Texinfo/Convert/HTML.pm (_convert_printindex_command)
(_prepare_index_entries_targets), tta/perl/Texinfo/Convert/LaTeX.pm
(_prepare_floats), tta/perl/t/z_misc/nodenormalization.t: add argument
based on TESTS for the new argument of transliteration functions.
2025-02-10 Patrice Dumas <pertusus@free.fr>
* tta/C/main/call_perl_function.c
(call_nodenamenormalization_unicode_to_transliterate),
tta/C/main/node_name_normalization.c (unicode_to_transliterate)
(normalize_transliterate_texinfo)
(normalize_transliterate_texinfo_contents): add no_unidecode argument
to call_nodenamenormalization_unicode_to_transliterate and to callers.
* tta/C/convert/converter.c (normalized_sectioning_command_filename)
(node_information_filename), tta/C/convert/format_html.c
(html_convert_printindex_command),
tta/C/convert/html_prepare_converter.c
(prepare_index_entries_targets): use USE_UNIDECODE to set no_unidecode
argument.
* tta/perl/Texinfo/Convert/Unicode.pm: changes in comments.
2025-02-10 Gavin Smith <gavinsmith0123@gmail.com>
* doc/texinfo.tex (\iftxiuseunicodedestname): Set to true by
default to avoid clashes between node names that differ only
by an accent, such as "Bogen" vs. "Bögen".
* doc/texinfo-tex-test.texi (Test of diacritics in node names):
Add section.
Report from Werner.
2025-02-10 Gavin Smith <gavinsmith0123@gmail.com>
* doc/texinfo.tex (\pdfmakeoutlines) [pdftex]:
Move output of contents at end inside the group with the definitions
and catcode changes for the rest of the outline.
2025-02-10 Patrice Dumas <pertusus@free.fr>
* tta/perl/Texinfo/Convert/HTML.pm (_convert_printindex_command),
tta/perl/Texinfo/Convert/LaTeX.pm (_prepare_floats): set
systematically the no_unidecode argument.
* tta/perl/Texinfo/Convert/NodeNameNormalization.pm
(_unicode_to_transliterate): use a variable for the representation of
a character as hexadecimal for a more readable code.
2025-02-10 Patrice Dumas <pertusus@free.fr>
* doc/texinfo.texi (@direntry): pod2texi manual is included in texinfo
manual. Report from
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1012612
2025-02-10 Patrice Dumas <pertusus@free.fr>
* configure.ac (ICONV_CONVERTS_EUC_CN): use *-solaris* to match
solaris host.
2025-02-09 Gavin Smith <gavinsmith0123@gmail.com>
* doc/texinfo.tex (\doindexinitialentry): Remove output
of empty vbox as it appears to mess up the double column
index formatting in some cases.
2025-02-09 Patrice Dumas <pertusus@free.fr>
* tta/maintain/all_tests.sh: update defs path. Use DIFF_OPTIONS.
2025-02-09 Gavin Smith <gavinsmith0123@gmail.com>
* doc/texinfo.tex (\indexnofonts): Define \lbracechar and
\rbracechar with an argument to eat following {} in the PDF
outline.
2025-02-09 Patrice Dumas <pertusus@free.fr>
* tta/perl/XSTexinfo/convert/ConvertXS.xs
(html_prepare_units_directions_files)
(html_prepare_output_units_global_targets, html_output, html_convert):
call store_output_units_texinfo_tree only if
self->external_references_number.
2025-02-09 Patrice Dumas <pertusus@free.fr>
* tta/C/convert/build_html_perl_info.c,
tta/perl/XSTexinfo/convert/ConvertXS.xs
(html_prepare_units_directions_files)
(html_prepare_output_units_global_targets, html_output, html_convert):
inline html_prepare_units_directions_files and
html_prepare_output_units_global_targets in calling functions, and
remove the inlined functions.
2025-02-09 Patrice Dumas <pertusus@free.fr>
* tta/C/convert/build_html_perl_info.c
(html_pass_units_directions_files): do not call
pass_output_unit_files, it is not needed, everything it sets is only
needed by functions called from already overriden functions.
* tta/perl/XSTexinfo/convert/get_html_perl_info.c
(get_output_units_descriptor_converter_sv): fix warning string.
2025-02-09 Patrice Dumas <pertusus@free.fr>
* tta/perl/XSTexinfo/parser_document/DocumentXS.xs (build_tree): fix
warning string.
* tta/perl/Texinfo/Structuring.pm
(associate_internal_referencesNonXS): add for
t/z_misc/automatic_nodes.t test.
* tta/perl/t/z_misc/automatic_nodes.t (test_new_node): setup a @ref to
the added node (unprotected) to verify that
associate_internal_references actually use the new node. Since the
node is unprotected, there will be errors for some nodes that get
protection in _new_node without being test failures. Use
associate_internal_referencesNonXS instead of
associate_internal_references as everything needs to happen in pure
Perl. Add a comment explaining why $document->labels_information()
returns labels information modified by pure Perl code in _new_node and
not C data, which is not modified.
Add references of error messages and check them.
2025-02-09 Patrice Dumas <pertusus@free.fr>
* tta/perl/Texinfo/Document.pm (%XS_overrides, build_tree),
tta/perl/XSTexinfo/parser_document/DocumentXS.xs (build_tree):
rename rebuild_tree as build_tree. Updte callers.
2025-02-09 Patrice Dumas <pertusus@free.fr>
* tta/C/main/build_perl_info.c (build_document): setup registrar only
if a new Perl hash is setup.
* tta/perl/XSTexinfo/parser_document/DocumentXS.xs (rebuild_tree):
change the logic of the code. build document first, and get tree from
Perl hash if no_store is set.
2025-02-09 Patrice Dumas <pertusus@free.fr>
* tta/C/main/build_perl_info.c (document_tree): call
store_document_tree_output_units instead of
store_document_texinfo_tree.
* tta/perl/Makefile.am (test_files), tta/perl/Makefile.tres,
tta/perl/t/init_files_tests.t (access_tree_output_unit_in_handler),
tta/t/init/access_tree_output_unit_in_handler.pm: add
access_tree_output_unit_in_handler test, testing access to output
units from an handler directly from the tree.
2025-02-09 Patrice Dumas <pertusus@free.fr>
* tta/perl/Texinfo/Convert/Plaintext.pm (output),
tta/perl/t/test_utils.pl (test): comment out calls to
Texinfo::OutputUnits::rebuild_output_units as currently there is no XS
override of functions called just before, such that everything is done
in Perl only, no need to rebuild to Perl.
2025-02-09 Patrice Dumas <pertusus@free.fr>
* tta/C/convert/converter.c (set_output_unit_file),
tta/C/main/output_unit.c (destroy_output_unit): duplicate
output_unit->unit_filename in set_output_unit_file, such that, if
output_unit_file is destroyed, the string still exists. Free it.
* tta/C/main/output_unit.c (destroy_output_unit): set associated_unit
to 0 for all the elements in output_unit->unit_contents that are
associated to an output unit being destroyed.
* tta/C/convert/converter.c (reset_generic_converter): free output
units lists associated to the converter.
* tta/C/main/build_perl_info.c (output_unit_to_perl_hash): set
associated_unit in Perl output unit only if there is an associated
unit for the element in C.
* tta/C/main/build_perl_info.c (store_document_tree_output_units): add
to be able to build Perl output units with the information on document
only.
* tta/C/main/build_perl_info.c (BUILD_PERL_DOCUMENT_ITEM)
(BUILD_PERL_DOCUMENT_LIST): call store_document_tree_output_units
instead of store_document_texinfo_tree in the macros used to set the
document XS interface functions.
* tta/perl/t/init/access_output_unit_in_handler.pm,
tta/perl/Makefile.am (test_files), tta/perl/Makefile.tres,
tta/perl/t/init_files_tests.t (access_output_unit_in_handler): add
test testing access to output units from an handler from the tree
elements.
2025-02-08 Gavin Smith <gavinsmith0123@gmail.com>
* doc/texinfo.tex (\pdfmakeoutlines) [pdftex]: Make
\idxinitialentry capture arguments otherwise we typeset
junk at the end of the table of contents.
2025-02-08 Gavin Smith <gavinsmith0123@gmail.com>
* doc/texinfo.tex (\pdfmakeoutlines) [xetex]: Output index
initials at the right level.
2025-02-08 Gavin Smith <gavinsmith0123@gmail.com>
* doc/texinfo.tex (\pdfmakeoutlines) [pdftex]: Output entries
for index initials at the right level if @printindex is used
at the level of @section or below.
(\pdfmakeoutlines): Remove obsolete comment about Latin-2 encoding.
Remove unnecessary call to \indexnofonts as this is also done
later in \setpdfoutlinetext.
2025-02-08 Gavin Smith <gavinsmith0123@gmail.com>
* doc/texinfo.tex (\listoffloats): Define \entry as \entryinternal.
* doc/texinfo-tex-test.texi: Define \entry for tests of index
formatting.
2025-02-08 Gavin Smith <gavinsmith0123@gmail.com>
Index page links
* doc/texinfo.tex (\entry, \entryinternal): Rename to \entryinternal.
For PDF output, if \linkentrytextfalse and \entrypagetarget is set,
use \pdlinkpage to link the entry text to the page number.
(\indexentry): Add wrapper for \entryinternal. Check if index
page number list has a comma in it, and if not, set \entrypagetarget.
(\printindex): Use \indexentry for \entry.
2025-02-08 Gavin Smith <gavinsmith0123@gmail.com>
* doc/texinfo.tex (\pdfmkpgn): Remove completely, as it appears to
be useless.
2025-02-07 Gavin Smith <gavinsmith0123@gmail.com>
* doc/texinfo.tex (\expandaftergroup): add utility definition.
(\macrodef, \linemacrodef): Use it.
2025-02-07 Patrice Dumas <pertusus@free.fr>
* tta/C/convert/build_html_perl_info.c
(html_pass_units_directions_files)
(html_pass_output_units_global_targets),
tta/perl/XSTexinfo/convert/ConvertXS.xs (html_global_direction_unit):
call html_setup_global_units_direction_names directly in
html_global_direction_unit before calling
html_find_direction_name_global_unit. Call also
store_output_units_texinfo_tree.
* tta/perl/t/init_files_tests.t
(access_global_direction_unit_in_handler),
tta/perl/t/init/access_global_direction_unit_in_handler.pm,
tta/perl/Makefile.am (test_files), tta/perl/Makefile.tres: add test
with set_global_direction called in setup handler and
global_direction_unit called in button formatting function.
2025-02-07 Patrice Dumas <pertusus@free.fr>
* tta/C/convert/build_html_perl_info.c
(html_pass_units_directions_files)
(html_pass_output_units_global_targets),
tta/perl/XSTexinfo/convert/ConvertXS.xs (html_global_direction_text):
call html_setup_global_texts_direction_names in
html_global_direction_text just before it is used, and call it only if
not already filled. Do not call in html_pass_units_directions_files
nor html_pass_output_units_global_targets.
2025-02-07 Patrice Dumas <pertusus@free.fr>
* tta/C/convert/build_html_perl_info.c
(html_pass_units_directions_files): remove
pass_html_elements_in_file_count, as the information is accessed
through an XS interface only.
* tta/perl/Texinfo/Convert/Converter.pm: remove unused
registered_filename function.
* tta/C/main/build_perl_info.c: change in spacing.
2025-02-07 Patrice Dumas <pertusus@free.fr>
* tta/C/main/build_perl_info.c (output_unit_to_perl_hash): if output
units are built late, there will already be directions but no hv, so
it is not an error to have no hv where a direction points to.
* tta/perl/XSTexinfo/convert/ConvertXS.xs (html_current_output_unit):
call store_output_units_texinfo_tree to rebuild output units to Perl
before returning the output unit Perl reference.
* tta/perl/t/init/access_document_name_in_handler.pm
(_button_show_document_name): also access current_output_unit to
trigger an error with XS if the output unit is not built to Perl.
2025-02-07 Patrice Dumas <pertusus@free.fr>
* tta/C/convert/format_html.c (html_output_internal_links): remove
unused variable.
* tta/perl/t/init/access_document_name_in_handler.pm
(_texi2any_tests_access_document_name_in_handler): return 0.
Changes in comments.
2025-02-07 Patrice Dumas <pertusus@free.fr>
* tta/C/main/build_perl_info.c (pass_output_units_list): new function
to build output unit array to Perl. Can set output units arrays, if
they are not set in input, or reuse them if they are passed.
* tta/C/main/build_perl_info.c (store_output_units_texinfo_tree): add
function that rebuild the tree and all the output units to Perl,
setting "document_units" in Perl converter too. Move function needed
before store_output_units_texinfo_tree.
* tta/C/convert/build_html_perl_info.c
(html_pass_conversion_output_units, html_pass_units_directions_files)
(html_pass_output_units_global_targets),
tta/perl/XSTexinfo/convert/ConvertXS.xs
(html_prepare_conversion_units),
tta/perl/XSTexinfo/convert/ConvertXS.xs (html_convert): use
store_output_units_texinfo_tree instead of build_output_units_list
or rebuild_output_units_list. Set arrays references to 0 in callers
in xs.
* tta/C/convert/html_prepare_converter.c
(html_prepare_conversion_units, html_prepare_units_directions_files),
tta/C/main/build_perl_info.c (store_output_units_texinfo_tree): use
F_DOCM_output_units document->modified_information flag to notify that
the output_units should be rebuilt to Perl.
* tta/perl/XSTexinfo/parser_document/StructuringTransfoXS.xs
(split_by_node, split_by_section), tta/C/main/build_perl_info.c: use
pass_output_units_list instead of
build_output_units_list/rebuild_output_units_list. Remove
build_output_units_list and rebuild_output_units_list.
2025-02-07 Patrice Dumas <pertusus@free.fr>
* tta/C/convert/html_prepare_converter.c: add const.
* tta/C/convert/html_prepare_converter.c
(html_prepare_output_units_global_targets): rename variables.
2025-02-07 Gavin Smith <gavinsmith0123@gmail.com>
Macros with > 10 arguments
* doc/texinfo.tex (\parsemargdef): Move change of catcode of @,
as we were unable to call \parsemmanyargdef@@. This has apparently
been broken for many years.
* doc/texinfo-tex-test.texi (More than ten arguments): add test case.
2025-02-07 Gavin Smith <gavinsmith0123@gmail.com>
* po_document/adjust-translations.pl: add missing braces
for argument of accent command, for Catalan translation.
Report from Werner.
2025-02-07 Gavin Smith <gavinsmith0123@gmail.com>
* doc/texinfo.tex (\eatleadingcr, \eatleadingcrthen):
Rename to \eatleadingcrthen and pass extra argument to pass
the result of expansion to.
(\scanmacro) <\xeatspaces>: Call \eatleadingcrthen with
\eatspaces. This avoids having to provide the right number
of \expandafter's to expand \eatleadingcr exactly three times.
2025-02-07 Gavin Smith <gavinsmith0123@gmail.com>
* doc/texinfo.tex (\xrefX): Use \getrefx.
2025-02-07 Gavin Smith <gavinsmith0123@gmail.com>
* doc/texinfo.tex (\getrefx): Call \turnoffactive and make the
other changes to make node names expandable, as was done in \refx.
(\refx): Call \getrefx.
Report from Werner.
2025-02-06 Gavin Smith <gavinsmith0123@gmail.com>
Macro argument space trimming
* doc/texinfo.tex (\eatleadingcr): replace with implementation
that deals with an empty argument and only handles an active
newline.
(\parsemargdef): do not use an \xempty macro in the definition
of the macro arguments.
* doc/texinfo-tex-test.texi: Update test case. This means that
spaces are once again trimmed from the end of macro arguments.
\xempty could appear in macro expansions and be undefined. Report
from Werner. Rather than providing it with a definition, it is
simpler to get rid of it.
2025-02-05 Patrice Dumas <pertusus@free.fr>
* tta/C/convert/convert_html.c (html_convert_css_string): add missing
%s xasprintf argument.
* tta/C/convert/format_html.h: remove duplicate ;.
2025-02-05 Patrice Dumas <pertusus@free.fr>
* tta/configure.ac: move gl_INIT before AM_GNU_GETTEXT, otherwise
LTLIBINTL may not be defined (tested on Solaris).
2025-02-05 Patrice Dumas <pertusus@free.fr>
* tta/C/Makefile.am (ctexi2any_LDADD), tta/perl/XSTexinfo/Makefile.am
(Parsetexi_la_LDFLAGS, ConvertXS_la_LDFLAGS): add Gnulib link flags to
ctexi2any_LDADD and to one module in XSTexinfo for Solaris to get the
symbols after linking.
2025-02-05 Patrice Dumas <pertusus@free.fr>
* Pod-Simple-Texinfo/lib/Pod/Simple/Texinfo.pm (_compatibility_idify)
(new, _texinfo_handle_element_end): add _compatibility_idify in case
idify method is missing for old Pod::Simple::XHTML.
2025-02-05 Patrice Dumas <pertusus@free.fr>
* tta/m4/txi_perl_conf.m4 (PACKAGE_XS_VERSION): use -e to have two sed
instructions instead of ;, which does not seems to be portable to
Solaris sed.
* tta/maintain/regenerate_non_ascii_tar_file.sh: redirect stderr of
tar --version test to /dev/null to avoid an error message being shown
if tar do not understand long options, as is the case on Solaris.
2025-02-05 Patrice Dumas <pertusus@free.fr>
* tta/C/convert/texinfo.c (txi_complete_document),
tta/perl/texi2any.pl: call fill_gaps_in_sectioning_in_document if the
fill_gaps_in_sectioning tree transformation is set.
* tta/perl/t/test_utils.pl (test): replace fill_gaps_in_sectioning by
fill_gaps_in_sectioning_in_document.
2025-02-05 Patrice Dumas <pertusus@free.fr>
* tta/C/structuring_transfo/transformations.c
(fill_gaps_in_sectioning_in_document),
tta/perl/Texinfo/Transformations.pm (%XS_overrides)
(fill_gaps_in_sectioning_in_document),
tta/perl/XSTexinfo/parser_document/StructuringTransfoXS.xs
(fill_gaps_in_sectioning_in_document): replace fill_gaps_in_sectioning
by fill_gaps_in_sectioning_in_document that uses a document in
argument instead of a tree. Set document->modified_information in
fill_gaps_in_sectioning_in_document. Add some const. Update callers.
2025-02-05 Patrice Dumas <pertusus@free.fr>
* tta/C/convert/texinfo.c (txi_complete_document): call
complete_tree_nodes_missing_menu for
STTF_complete_tree_nodes_missing_menu.
2025-02-05 Patrice Dumas <pertusus@free.fr>
* Pod-Simple-Texinfo/pod2texi.pl (_parsed_manual_tree): replace
complete_tree_nodes_menus by complete_tree_nodes_menus_in_document.
2025-02-05 Patrice Dumas <pertusus@free.fr>
* tta/C/structuring_transfo/transformations.c
(complete_tree_nodes_menus_in_document),
tta/perl/Texinfo/Transformations.pm (%XS_overrides)
(complete_tree_nodes_menus_in_document),
tta/perl/XSTexinfo/parser_document/StructuringTransfoXS.xs
(complete_tree_nodes_menus_in_document): replace
complete_tree_nodes_menus by complete_tree_nodes_menus_in_document,
using document in argument. Set document->modified_information in
complete_tree_nodes_menus_in_document. Update callers.
* tta/perl/Texinfo/Transformations.pm
(complete_tree_nodes_menus_in_document): use document in argument.
Update callers.
2025-02-05 Patrice Dumas <pertusus@free.fr>
* tta/C/structuring_transfo/transformations.c
(move_index_entries_after_items)
(move_index_entries_after_items_internal)
(move_index_entries_after_items_in_document),
tta/perl/Texinfo/ManipulateTree.pm
(move_index_entries_after_items_in_document, %XS_overrides),
tta/perl/XSTexinfo/parser_document/StructuringTransfoXS.xs
(move_index_entries_after_items_in_document): add
move_index_entries_after_items_in_document, with an XS interface.
Remove move_index_entries_after_items_in_tree from C and from
documentation in Perl. Add document to move_index_entries_after_items
arguments. Set document->modified_information in
move_index_entries_after_items. Replace
Texinfo::ManipulateTree::move_index_entries_after_items_in_tree by
Texinfo::ManipulateTree::move_index_entries_after_items_in_document in
callers.
2025-02-05 Patrice Dumas <pertusus@free.fr>
* tta/C/structuring_transfo/transformations.c
(relate_index_entries_to_table_items_in)
(relate_index_entries_to_table_items_internal)
(relate_index_entries_to_table_items_in_document): rename
relate_index_entries_to_table_items_in_tree as
relate_index_entries_to_table_items_in_document. Pass only a document
to functions. Update callers. Get the indices info in
relate_index_entries_to_table_items_in from the document.
* tta/perl/Texinfo/ManipulateTree.pm (%XS_overrides)
(relate_index_entries_to_table_items_in_document),
tta/perl/XSTexinfo/parser_document/StructuringTransfoXS.xs
(relate_index_entries_to_table_items_in_document),
tta/C/structuring_transfo/transformations.c
(relate_index_entries_to_table_items_in): rename
relate_index_entries_to_table_items_in_tree as
relate_index_entries_to_table_items_in_document. Update callers. Set
document->modified_information in
relate_index_entries_to_table_items_in, where the tree or indices
information is actually modified.
2025-02-05 Patrice Dumas <pertusus@free.fr>
Enable XS for conversion in the default case, update documentation
* tta/perl/Texinfo/XSLoader.pm (XS_convert_enabled): enable XS for
conversion in the default case.
* INSTALL: update for XS enabled for conversion in the default case.
Add information on C implementation. Document TEXINFO_XS=warn.
* doc/texinfo.texi (@command{texi2any} Environment Variables):
document TEXINFO_XS required. Document the 3 steps of texi2any and
TEXINFO_XS_STRUCTURE and TEXINFO_XS_CONVERT. Move and reword C
implementation information and use of TEXINFO_XS=debug in that case.
2025-02-04 Patrice Dumas <pertusus@free.fr>
* contrib/mass_test/generate_perlVSC.sh: update paths.
* contrib/mass_test/get_manuals.sh: add or modify manuals and add
notes on missing manuals.
* contrib/mass_test/extract_manuals.sh: add more manuals.
* contrib/mass_test/generate_C.sh,
contrib/mass_test/output_convert_C.sh,
contrib/mass_test/check_perlVSC.sh: generate output from C texi2any
implementation and compare.
2025-02-04 Patrice Dumas <pertusus@free.fr>
* NEWS, doc/texinfo.texi (Invoking @command{texi2any}),
tta/C/convert/format_html.c (enum label_cmd_types)
(label_cmd_types_ids, html_output_internal_links),
tta/perl/Texinfo/Convert/HTML.pm (output_internal_links): change 'toc'
to 'unit' item type name in --internal-links file output. Add
sections, nodes, anchors and float items.
Based on Werner report.
2025-02-04 Patrice Dumas <pertusus@free.fr>
* tta/C/convert/format_html.c (html_output_internal_links),
tta/perl/Texinfo/Convert/HTML.pm (output_internal_links): use 'unit'
instead of 'toc' for output units targets.
2025-02-04 Patrice Dumas <pertusus@free.fr>
* tta/C/README: move tta/C/parsetexi/README to tta/C/README.
* tta/tests/Makefile.am (EXTRA_DIST): distribute the README.
* tta/TODO, tta/data/command_data.txt,
tta/maintain/change_perl_modules_version.sh: fix paths.
* doc/texinfo.texi (Generic Translator @command{texi2any}): fix typo.
2025-02-04 Patrice Dumas <pertusus@free.fr>
* README-hacking, tta/C/parsetexi/README, tta/README, tta/TODO,
tta/perl/t/README, tta/tests/README: update paths.
* tta/README: add information on C and Perl and on the conversion of
Texinfo to output formats.
2025-02-04 Patrice Dumas <pertusus@free.fr>
* tta/data/command_data.txt, tta/data/options_data.txt,
tta/data/converters_defaults.txt, tta/data/*.csv: move
tta/perl/Texinfo/Data/*.csv, tta/perl/Texinfo/*.txt and
tta/perl/Texinfo/Convert/converters_defaults.txt to tta/data/.
* tta/Makefile.am (dist_noinst_DATA), tta/perl/Makefile.am,
tta/C/Makefile.am: update rules, prerequisites and variables for the
move to tta/data/.
2025-02-04 Patrice Dumas <pertusus@free.fr>
* doc/texinfo.texi (Adding Output Formats): precise that the
Texinfo::Convert::Converter documentation is for backends in Perl.
* doc/texinfo.texi (History): describe the change in 2012 in the past.
Update with information on the use of C.
* doc/texinfo.texi (Generic Translator @command{texi2any}): describe
that two implementations, in Perl and in C exist and how to install
teh C implementation.
* doc/texinfo.texi (@command{texi2any} Environment Variables): update
to clearly explain the differences between the Perl and C
implementations for environment variables. Document
TEXINFO_C_EMBED_PERL.
* doc/texinfo.texi (Global Customization Variables): explain that
DUMP_TREE is not available in th eC implementation. Expand on TEST
description.
2025-02-03 Patrice Dumas <pertusus@free.fr>
* doc/texi2any_api.texi: fix typo, remove Perl as an adjective for the
Texinfo tree and fix examples of Texinfo code.
2025-02-03 Patrice Dumas <pertusus@free.fr>
NEWS: add information on texi2any program implementation in C.
2025-02-03 Patrice Dumas <pertusus@free.fr>
Add --enable-c-texi2any to use C implementation for tests and install
* configure.ac (USE_EXTERNAL_LIBINTL_PERL), tta/Makefile.am: rename
USE_EXTERNAL_LIBINTL as USE_EXTERNAL_LIBINTL_PERL.
* configure.ac, tta/configure.ac (USE_EXTERNAL_EASTASIANWIDTH)
(USE_EXTERNAL_UNIDECODE, USE_EXTERNAL_LIBINTL_PERL): move to
tta/configure.ac. Use simpler AC_ARG_WITH/AC_ARG_ENABLE in main
configure.ac for flags that are only used in tta.
* tta/perl/Texinfo/Parser.pm (BEGIN), tta/perl/XSTexinfo/Makefile.am
(modulesdir, dist_modules_DATA), tta/perl/XSTexinfo/Parsetexi.pm:
move Parsetexi.pm up to tta/perl/XSTexinfo/. Update/fix paths.
* configure.ac (--enable-c-texi2any), tta/configure.ac
(--enable-c-texi2any, PREFER_C_TEXI2ANY, prefer_c_t2a): add
--enable-c-texi2any configure option that sets TESTS_MAIN_COMMAND and
PREFER_C_TEXI2ANY.
* tta/C/Makefile.am (bin_PROGRAMS, texi2any_SOURCES, texi2any_LDADD)
(texi2any_CPPFLAGS, install-exec-hook), tta/perl/Makefile.am
(noinst_SCRIPTS): add texi2any as bin_PROGRAMS if PREFER_C_TEXI2ANY is
set, using the ctexi2any variables. Add install-exec-hook if
PREFER_C_TEXI2ANY to do a link to makeinfo. Set perl texi2any as
noinst_SCRIPTS if PREFER_C_TEXI2ANY is set.
* tta/defs.in, tta/tests/run_parser_all.sh,
tta/tests/many_input_files/*.sh: set TESTS_MAIN_COMMAND in defs.in and
use TESTS_MAIN_COMMAND in tests.
2025-02-03 Patrice Dumas <pertusus@free.fr>
* tta/C/convert/call_conversion_perl.c: change failure messages and
comments.
* tta/perl/Texinfo/XSLoader.pm (init): simplify condition. Change in
comments.
2025-02-03 Gavin Smith <gavinsmith0123@gmail.com>
* doc/texinfo.texi (Tips):
Reference GNU Coding Standards.
Remove pronunciation of "Texinfo" as this is not a writing tip
and is covered elsewhere in the manual.
Remove example of K&R C function definition to show what not to
do.
Change "an @code" to "a @code command".
Change "nodes (sections)" to "nodes".
Move info on capitalizing "TeX" etc. later.
Cut down verbiage in section on indexing. Remove recommendation to
"write each index entry differently" as it not clear what this means.
Remove section on Definition Commands as it doesn't add much
beyond what is in the main section of the manual.
Move section on Spaces next to that on Blank Lines.
Reorder section on "Bad Examples" to put corrections after the
example. Change @code to @t to prevent quotes appearing in
Info output.
2025-02-02 Gavin Smith <gavinsmith0123@gmail.com>
No xrefautomaticsectiontitle for links to @anchor commands
* doc/texinfo.tex (\Yanchor): new macro.
(\anchor): output \Yanchor in .aux file.
(\getprintedrefname): check for reference to anchor and use anchor
name regardless of xrefautomaticsectiontitle setting.
(\getrefx): helper macro to retrieve xref strings.
* NEWS: mention
Report from Werner.
2025-02-02 Gavin Smith <gavinsmith0123@gmail.com>
* doc/texinfo.texi (Three Arguments) <xrefautomaticsectiontitle>:
state that this option does not do anything for Info output.
2025-02-03 Patrice Dumas <pertusus@free.fr>
* tta/configure.ac (ICONV_CONVERTS_EUC_CN): Solaris iconv does not lead
to the same output than GNU libiconv for some characters used in
tests, so we do not set ICONV_CONVERTS_EUC_CN if the platform is
solaris.
2025-02-02 Patrice Dumas <pertusus@free.fr>
* Makefile.am (HTMLData.pm), po/POTFILES.in, po_document/POTFILES.in:
fix paths. Add tta/perl/init/documentation_examples.pm in
po_document/POTFILES.in.
* tta/maintain/setup_accent_tables.pl (BEGIN): update paths, use
forward slashes.
2025-02-02 Patrice Dumas <pertusus@free.fr>
Rename tta/perl/TestXS as tta/perl/CheckXS
* autogen.sh, tta/configure.ac (enable_xs),
tta/maintain/change_perl_modules_version.sh, tta/perl/Makefile.am
(DIST_SUBDIRS): rename tta/perl/TestXS as tta/perl/CheckXS. Update
paths. The objective is to have a different name for the package and
the directory, and also avoid beginning with the same letters as
Texinfo.
* tta/perl/CheckXS/TestXS.pm: set package to TestXS.
2025-02-02 Patrice Dumas <pertusus@free.fr>
Move tta/perl/Texinfo/XS to tta/perl/XSTexinfo
* tta/configure.ac (AC_CONFIG_FILES), tta/perl/Makefile.am (SUBDIRS)
(DIST_SUBDIRS), tta/perl/Texinfo/ModulePath.pm.in,
tta/perl/Texinfo/Parser.pm, tta/perl/XSTexinfo/Makefile.am
(txi_libs_srcdir, MiscXS_la_SOURCES, libparagraph_la_SOURCES),
tta/perl/XSTexinfo: move tta/perl/Texinfo/XS to tta/perl/XSTexinfo,
update paths.
2025-02-02 Patrice Dumas <pertusus@free.fr>
Move tta/perl/Texinfo/TestXS to tta/perl/TestXS
* autogen.sh, tta/configure.ac (TestXS), tta/perl/TestXS,
tta/perl/Makefile.am (DIST_SUBDIRS), tta/perl/TestXS/Makefile.am
(ACLOCAL_AMFLAGS), tta/perl/TestXS/configure.ac
(AC_CONFIG_MACRO_DIRS): move tta/perl/Texinfo/TestXS up.
2025-02-02 Patrice Dumas <pertusus@free.fr>
* tta/Makefile.am (distclean-local), tta/perl/Makefile.am
(distclean-local): add distclean-local target to tta/perl/Makefile.am
and move the t/*.t related rules from tta/Makefile.am to
tta/perl/Makefile.am.
Remove obsolete rules.
2025-02-02 Patrice Dumas <pertusus@free.fr>
* util/Makefile.am (EXTRA_DIST): remove deleted texinfo-cat.in.
2025-02-02 Patrice Dumas <pertusus@free.fr>
* tta/Makefile.am (maintenance_files),
tta/maintain/regenerate_converters_documentation.sh,
tta/perl/Makefile.am (EXTRA_DIST),
tta/perl/Convert_format_template.pod: rename tta/maintain/template.pod
as perl/Convert_format_template.pod.
* tta/maintain/regenerate_converters_documentation.sh: change name of
temporary pod file.
2025-02-02 Patrice Dumas <pertusus@free.fr>
Put tta Perl code and t/*.t tests in a perl subdir in tta
* tta/Makefile.am, tta/perl/Makefile.am: move code related to Perl
only from tta/Makefile.am to tta/perl/Makefile.am, including tests in
t/*.t.
Update directories and 'updirs'.
* tta/configure.ac (enable_xs): redirect stderror of build, call and
grep module output to stderror but also to AS_MESSAGE_LOG_FD, using a
temporary file.
* tta/perl/t/test_utils.pl: distinguish directories more clearly, with
$srcdir for input files, and locales in builddir. Always add a / in
code using directories names.
* tta/perl/t/z_misc/no_structure_test.t: distinguish directories more
clearly, with $srcdir for test results and $t2a_srcdir for input
files.
* tta/perl/t/z_misc/same_parser_multiple_files.t: distinguish
directories more clearly, with $srcdir for test results, $t2a_srcdir
for input files and locales in builddir.
* tta/tests/many_input_files/*.sh (main_command, command_run, cmd):
use main_command, set command_run based on source directory and build
directory, add PERL to prepended_command automatically if main_command
is perl/texi2any.pl and update cmd to remove PERL arguments. This
allows to set main_command='C/ctexi2any'.
* tta/maintain/setup_converters_code_tables.pl,
tta/maintain/regenerate_file_lists.pl,
tta/maintain/setup_converters_code_tables.pl: use forward slashes.
2025-02-02 Patrice Dumas <pertusus@free.fr>
* tta/t/test_utils.pl: fix script name in message.
* doc/refcard/txicmdcheck (main): rename tp_cmds as t2a_cmds, tp_only
as t2a_only and read_tp as read_cmds.
* doc/refcard/txivarcheck (main): rename tp_vars as t2a_vars,
tp_cmds_vars as t2a_cmds_vars, tp_vars_only as t2a_vars_only,
tp_cmds_vars_only as t2a_cmds_vars_only and read_tp as read_vars.
2025-02-02 Patrice Dumas <pertusus@free.fr>
Rename tp_srcdir as t2a_srcdir and tp_builddir as t2a_builddir
* tta/t/test_utils.pl: rename $srcdir as $t2a_srcdir.
2025-02-02 Patrice Dumas <pertusus@free.fr>
* tta/configure.ac, tta/tta/Makefile.am (T2A_TESTS): rename TP_TESTS
as T2A_TESTS.
2025-02-02 Patrice Dumas <pertusus@free.fr>
Rename tp directory as tta and tp_api as tta_api
* configure.ac (--enable-t2a-tests), tta/configure.ac
(--enable-t2a-tests): rename --enable-tp-tests as --enable-t2a-tests
and tp_tests as t2a_tests.
* doc/Makefile.am (gendocs_envvars): use tp_srcdir and tp_builddir
instead of top_srcdir and top_builddir.
* man/Makefile.am: rename tpdir as tp_srcdir.
* tta/t/z_misc/no_structure_test.t,
tta/t/z_misc/same_parser_multiple_files.t,
tta/t/z_misc/test_tree_copy.t: rename $srcdir as $tp_srcdir. Fix
fallback based on Texinfo::ModulePath::tp_srcdir.
* util/texi-elements-by-size (BEGIN): update BEGIN block to be like
other similar scripts in util.
* doc/generate_html_doc_texi.pl,
tta/t/z_misc/same_parser_multiple_files.t,
tta/t/z_misc/test_tree_copy.t, util/txixml2texi.pl: use only forward
slashes.
2025-02-02 Gavin Smith <gavinsmith0123@gmail.com>
* util/texinfo-cat.in: deleted
* util/Makefile.am: remove commented-out rules to build texinfo.cat.
2025-02-01 Patrice Dumas <pertusus@free.fr>
* tp/maintain/setup_accent_tables.pl (BEGIN),
tp/maintain/setup_converters_code_tables.pl (BEGIN): update paths.
2025-02-01 Patrice Dumas <pertusus@free.fr>
* tp/Texinfo/Parser.pm (BEGIN), tp/Texinfo/XS/Makefile.am (modulesdir)
(dist_modules_DATA, *_SOURCES, EXTRA_DIST, CLEANFILES),
tp/Texinfo/XS/parser_document*.xs: move XS code from main, parsetexi
and structuring_transfo to the parser_document directory to reduce the
number of directories.
2025-02-01 Patrice Dumas <pertusus@free.fr>
* tp/maintain/regenerate_documentlanguages-loc.pl: update paths.
2025-02-01 Patrice Dumas <pertusus@free.fr>
Replace XS by C in comments and debugging to use C when relevant
2025-02-01 Patrice Dumas <pertusus@free.fr>
* tp/C/texi2any.c (main): fix path for determination if uninstalled
and setting tp_srcdir.
2025-02-01 Patrice Dumas <pertusus@free.fr>
Move C libraries and program from tp/Texinfo/XS/ to tp/C
* tp/Texinfo/XS/xspara.h: include "text.h" without directory.
* po/POTFILES.in, po_document/POTFILES.in, tp/Makefile.am (SUBDIRS)
(DIST_SUBDIRS), tp/Texinfo/ModulePath.pm.in (init),
tp/configure.ac (AC_CONFIG_HEADERS, AC_CONFIG_FILES),
tp/Texinfo/XS/Makefile.am, tp/C/Makefile.am, tp/C/*: move C code files
and Makefile.am associated code from tp/Texinfo/XS/ to tp/C/ for
texi2any.c and code used in libraries. XS objects and C code only
used in XS objects remain in tp/Texinfo/XS/.
* Makefile.am (BUILT_SOURCES, html_conversion_data.c): update paths.
* grand-replace.sh, tp/maintain/change_perl_modules_version.sh: update
paths.
2025-02-01 Patrice Dumas <pertusus@free.fr>
Move tp/Texinfo/XS/configure.ac and tp/Texinfo/XS/gnulib to tp
* Makefile.am (ACLOCAL_AMFLAGS), configure.ac (AC_CONFIG_MACRO_DIRS)
(DIFF_OPTIONS), m4/txi_DIFF_OPTION.m4 (txi_DIFF_OPTIONS): move code
setting DIFF_OPTIONS to a macro file, such that it may be shared.
* autogen.sh, configure.ac (AC_CONFIG_FILES, AC_CONFIG_SUBDIRS),
tp/configure.ac (AC_CONFIG_MACRO_DIRS, AC_CONFIG_HEADERS)
(ICONV_CONVERTS_EUC_CN, DISABLE_XS, TP_TESTS, PERL_UNICODE_COLLATE_OK)
(AC_CONFIG_FILES), tp/Makefile.am (AUTOMAKE_OPTIONS, ACLOCAL_AMFLAGS)
(SUBDIRS, DIST_SUBDIRS), tp/Texinfo/TestXS/Makefile.am
(ACLOCAL_AMFLAGS), tp/Texinfo/TestXS/configure.ac
(AC_CONFIG_MACRO_DIRS), tp/Texinfo/XS/Makefile.am (AUTOMAKE_OPTIONS)
(GNULIB_CPPFLAGS, libparagraph_la_LIBADD): move
tp/Texinfo/XS/configure.ac and tp/Texinfo/XS/gnulib to tp. Put code
from main/configure.ac to tp/configure.ac.
* tp/load_txi_modules.pl, tp/texi2any.pl: also match two arguments
AC_INIT to get the version.
* tp/Texinfo/ModulePath.pm.in ($tp_srcdir, init),
tp/Texinfo/XS/texi2any.c (main), tp/Texinfo/XS/convert/texinfo.c
(txi_setup_main_load_interpreter), tp/Texinfo/XS/main/DocumentXS.xs
(init), tp/Texinfo/XS/main/document.c
(free_converter_paths_information, setup_txi_paths_information),
tp/Texinfo/XS/main/document.h (UNINSTALLED_PATHS),
tp/Texinfo/XSLoader.pm (init): set and use tp_srcdir, read tp_builddir
env for tp_builddir. Do not get top_srcdir nor top_builddir. This
change is in line with paths being set from outside of the tp
subdirectory, in which case top_srcdir and top_buildir will be
different from inside tp.
* Pod-Simple-Texinfo/pod2texi.pl (BEGIN),
Pod-Simple-Texinfo/t/Pod-Simple-Texinfo.t (BEGIN),
tp/load_txi_modules.pl (BEGIN), tp/texi2any.pl (BEGIN),
util/txicmdlist (BEGIN), util/txicustomvars (BEGIN),
util/txixml2texi.pl (BEGIN): update paths, setting tp_srcdir, using
env tp_buildir and tp_srcdir.
* doc/Makefile.am (MAKEINFO_ENVIRONMENT), doc/tp_api/Makefile.am
(MAKEINFO_ENVIRONMENT), man/Makefile.am (MAKEINFO_ENVIRONMENT),
tp/Makefile.am (AM_TESTS_ENVIRONMENT), tp/tests/Makefile.am
(AM_TESTS_ENVIRONMENT), tp/tests/many_input_files/Makefile.am
(AM_TESTS_ENVIRONMENT), tp/Texinfo/Convert/HTML.pm
(_load_htmlxref_files, _do_js_files),
tp/Texinfo/XS/convert/convert_html.c (html_do_js_files),
tp/Texinfo/XS/convert/html_prepare_converter.c (load_htmlxref_files),
tp/maintain/catalog.xml.in, tp/t/test_utils.pl, tp/texi2any.pl,
tp/load_txi_modules.pl: update paths.
* tp/t/*.t, tp/t/z_misc/*.t: update updirs argument number.
* autogen.sh: call autoreconf --no-recursive in the main directory,
as there are explicit calls of autoreconf in all the directories
with configure.ac.
* README-hacking: update.
* tp/Texinfo/TestXS/TestXS.pm: set package to Texinfo::TestXS::TestXS.
2025-01-31 Patrice Dumas <pertusus@free.fr>
* tp/t/z_misc/html_convert_tree.t (convert tree with tree handle)
($XS_parser, SKIP): skip "convert tree with tree handle" test if
XS_parser is set, as it is possible that the Perl parser is used even
if XS_parser is set. Indeed, if iconv is not functional, $XS_parser
will be set, but the Parser XS won't be built.
2025-01-31 Gavin Smith <gavinsmith0123@gmail.com>
Accent commands for PDF outline
* doc/texinfo.tex
(\pdfaccentliteralsutfviii, \pdfaccentliteralsliteral)
(\pdfaccentliterals):
New macros to make definitions for accent commands in the PDF
outline.
(\setpdfoutlinetext) [pdftex, luatex, xetex]: Call \pdfaccentliterals.
(\unicodechardefs): add dummy definitions for combining accents.
* doc/texinfo-tex-test.texi: add test of accent commands in
PDF outline.
2025-01-30 Gavin Smith <gavinsmith0123@gmail.com>
* doc/texinfo.tex (\ogonek): Check \ifrmisbold and use bold
font if so. Otherwise we get regular weight Ä… etc. in section
titles.
2025-01-31 Patrice Dumas <pertusus@free.fr>
Remove TestXS from tp/Texinfo/XS
* tp/Texinfo/TestXS/Makefile.am: remove TestXS related variables.
Remove TestXS.pm and TestXS.xs from tp/Texinfo/XS.
2025-01-31 Patrice Dumas <pertusus@free.fr>
Test XS build in tp/Texinfo/TestXS/ directory
* autogen.sh, configure.ac (AC_CONFIG_SUBDIRS), tp/Makefile.am
(DIST_SUBDIRS): change main configure.ac to run _AC_OUTPUT_SUBDIRS in
tp/Texinfo/TestXS/, compile and run TestXS in this directory.
Use AC_CONFIG_SUBDIRS for tp/Texinfo/XS. Add Texinfo/TestXS in
tp/Makefile.am DIST_SUBDIRS.
2025-01-31 Patrice Dumas <pertusus@free.fr>
* tp/Texinfo/TestXS/configure.ac, tp/Texinfo/TestXS/Makefile.am,
tp/Texinfo/TestXS/TestXS.pm, tp/Texinfo/TestXS/TestXS.xs,
tp/maintain/change_perl_modules_version.sh: add a simple project
directory that builds TestXS modules isolated from the main XS
directory, to be used to check whether XS modules can be built.
2025-01-31 Patrice Dumas <pertusus@free.fr>
* tp/Texinfo/XS/m4/txi_perl_conf.m4 (txi_LOOKUP_PERL_CONF)
(txi_LOOKUP_PERL_CONF_VALUES, txi_PERL_CONF),
tp/Texinfo/XS/configure.ac, tp/Texinfo/XS/Makefile.am
(ACLOCAL_AMFLAGS): move XS/configure.ac code determining Perl
variables to an autoconf macro, txi_LOOKUP_PERL_CONF
in XS/m4/txi_perl_conf.m4. Rename lookup_perl_conf macro as
txi_LOOKUP_PERL_CONF and lookup_perl_conf_values macro as
txi_LOOKUP_PERL_CONF_VALUES and move to txi_perl_conf.m4 too.
The objective is to be able to call the macro from another directory
to come.
2025-01-31 Patrice Dumas <pertusus@free.fr>
* tp/Texinfo/XS/configure.ac: move code around, to have Perl variables
setting in the same block and separate test with Autoconf/Gnulib
headers and tests with Perl headers better.
2025-01-31 Patrice Dumas <pertusus@free.fr>
* tp/Texinfo/XS/configure.ac (PERL_CONF_cc): always define.
* tp/Texinfo/XS/configure.ac: remove unset and unused
perl_conf_EMBED_LDFLAGS variable.
* tp/Texinfo/XS/configure.ac: move code around, mainly to have Perl
variables setting in the same block.
2025-01-31 Patrice Dumas <pertusus@free.fr>
* tp/Texinfo/XS/configure.ac: set variables that do not depend on
disable_xs outside of the if disable_xs. This leaves setting CC
depending on disable_xs only, if PERL_EXT_CC is not set.
2025-01-31 Patrice Dumas <pertusus@free.fr>
* tp/Texinfo/XS/configure.ac (AC_CONFIG_HEADERS, CFLAGS, CPPFLAGS)
(LDFLAGS): move AC_CONFIG_HEADERS outside of the disable_xs block,
such that it is always set.
Set CFLAGS, CPPFLAGS and LDFLAGS outside of the disable_xs block such
that they are set to the PERL_EXT_* values in any case, even if XS is
disabled. Remove Perl flags from CFLAGS and LDFLAGS as these are used
for Autoconf/Gnulib tests and the Autoconf/Gnulib tests are for code
not compiled with the Perl flags.
2025-01-30 Patrice Dumas <pertusus@free.fr>
* tp/Texinfo/XS/Makefile.am (libcallperl_libtexinfo_la_SOURCES): move
ppport.h to a SOURCE variable of code that actually includes it.
2025-01-30 Patrice Dumas <pertusus@free.fr>
* tp/t/init/set_global_direction_for_relative.pm,
tp/t/init_files_tests.t: prepare a test in comments to test calling
texinfo_register_global_direction and texinfo_register_text_direction
with a relative direction in argument. Do not enable the test, as XS
and Perl give different results.
2025-01-30 Patrice Dumas <pertusus@free.fr>
* tp/t/init/index_direction_from_index_name.pm
(_set_index_global_direction_from_index_name): test setting an unknown
direction with set_global_direction.
Update test results.
2025-01-30 Patrice Dumas <pertusus@free.fr>
* doc/texi2any_api.texi (Setting Global Directions From Document
Information), tp/init/documentation_examples.pm
(_set_appendix_direction_node_name), tp/t/init_files_tests.t
($documentation_examples_text): add the "Setting Global Directions
From Document Information" node to document set_global_direction.
Add example code to documentation_examples.pm.
2025-01-30 Patrice Dumas <pertusus@free.fr>
* tp/Texinfo/Convert/HTML.pm (converter_initialize)
(conversion_initialization): cache all directions in
$self->{'all_directions'}.
* tp/Texinfo/Convert/HTML.pm (%XS_conversion_overrides)
(set_global_direction), tp/Texinfo/XS/convert/ConvertXS.xs
(html_set_global_direction),
tp/Texinfo/XS/convert/html_prepare_converter.c
(html_set_global_direction): add set_global_direction to set the node
name of a global direction. Should only be called on an already
registered or default global output unit. Add a C implementation and
an XS interface.
* tp/Makefile.am (test_files),
tp/t/init/index_direction_from_index_name.pm, tp/Makefile.tres,
tp/t/init_files_tests.t (printindex_set_direction): test
set_global_direction.
2025-01-30 Gavin Smith <gavinsmith0123@gmail.com>
* doc/texinfo.tex (\pdfurl, \pdfmakeurl):
Use common definition of \pdfurl for pdftex and xetex. Use
\pdfmakeurl for engine-specific part.
2025-01-30 Gavin Smith <gavinsmith0123@gmail.com>
* doc/texinfo.tex (\pdfgettoks) [pdftex, xetex]:
Use common definition for pdftex and xetex.
2025-01-30 Gavin Smith <gavinsmith0123@gmail.com>
* doc/texinfo.tex (\endlink) [pdftex, xetex]:
Provide separate definitions for pdftex and xetex. The previous
change broke the defition for xetex because xetex had another
definition of \endlink which was then overridden by the common
definition. Report from Werner.
2025-01-30 Patrice Dumas <pertusus@free.fr>
* tp/Texinfo/Convert/Converter.pm (output_tree),
tp/Texinfo/Convert/LaTeX.pm (output), tp/Texinfo/Convert/IXIN.pm: fix
precedence problem between ! and string eq, which leads to a warning
with Perl 5.41.7. Report from Igor Todorovski, details on:
https://github.com/Perl/perl5/issues/22954#issuecomment-2623408763
2025-01-29 Patrice Dumas <pertusus@free.fr>
* doc/texi2any_api.texi (Changing Global Directions Output Units)
(Adding Text And Global Output Units Directions), tp/Texinfo/Config.pm
($GNUT_text_directions, texinfo_register_text_direction)
(GNUT_get_text_directions, GNUT_reinitialize_init_files),
tp/Texinfo/Convert/HTML.pm (converter_initialize)
(conversion_initialization),
tp/Texinfo/XS/convert/get_html_perl_info.c
(html_converter_get_customization_sv): do not register text directions
with texinfo_register_global_direction, add
texinfo_register_text_direction for that. Update initialization
and getting customization.
* tp/t/init/directions_buttons.pm, tp/t/init/test_directions.init: use
texinfo_register_text_direction.
2025-01-29 Patrice Dumas <pertusus@free.fr>
* tp/Texinfo/XS/texi2any.c (main): fix reversed conditions.
2025-01-29 Patrice Dumas <pertusus@free.fr>
* tp/Texinfo/XS/main/DocumentXS.xs (rebuild_tree): if no_store is set,
but the Perl tree was never built, build it.
* tp/Makefile.tres (test_tap_files_generated_list),
tp/t/z_misc/html_convert_tree.t: add tests of HTML converter
convert_tree calls, with undefined document and with diverse
possibilities for rebuilt tree.
2025-01-29 Gavin Smith <gavinsmith0123@gmail.com>
Common code for pdftex and xetex
* doc/texinfo.tex (\rgbDarkRed, \rgbBlack, \setcolor, \maincolor)
(\thiscolor, \currentcolordefs, \makefootline, \makeheadline)
(\urlcolor, \linkcolor, \endlink): Place definitions in single
place instead of having duplicated definitions for both pdftex/luatex
and xetex. The large number of duplicated definitions made it
hard to navigate the file.
2025-01-29 Gavin Smith <gavinsmith0123@gmail.com>
* doc/texinfo.tex (\ifxetex): New conditional. Use throughout.
2025-01-29 Gavin Smith <gavinsmith0123@gmail.com>
* doc/texinfo.tex (\ifluatex): Introduce new conditional
and use throughout, rather than checking if \luatexversion is
defined every time.
2025-01-29 Gavin Smith <gavinsmith0123@gmail.com>
* doc/texinfo.tex (\pdfmakeoutlines): Remove accidentally added
use of non-existent macro.
2025-01-29 Patrice Dumas <pertusus@free.fr>
* tp/t/z_misc/automatic_nodes.t (test_new_node, duplicate node added):
call parse_texi_line such that the link to C data is removed, as the
functions used are for Perl only. Do not skip the tests with XS.
The code tested is not really the XS code, but it is still interesting
to test that configuration.
2025-01-29 Gavin Smith <gavinsmith0123@gmail.com>
* doc/texinfo.tex (\pdfmakeoutlines) [pdftex, xetex, luatex]:
Output entry for table of contents after calling \indexnofonts
to prevent expansion problems if \putwordTOC expands to use
an accent command. Report from Werner.
2025-01-29 Patrice Dumas <pertusus@free.fr>
* tp/Texinfo/XS/structuring_transfo/transformations.c
(protect_hashchar_at_line_beginning): add an explicit tree argument.
* tp/Texinfo/Transformations.pm (%XS_overrides)
(reference_to_arg_in_document)
(protect_hashchar_at_line_beginning_in_document)
(protect_first_parenthesis_in_targets_in_document),
tp/Texinfo/XS/structuring_transfo/StructuringTransfoXS.xs
(reference_to_arg_in_document)
(protect_hashchar_at_line_beginning_in_document)
(protect_first_parenthesis_in_targets_in_document),
tp/Texinfo/XS/structuring_transfo/transformations.c
(reference_to_arg_in_document)
(protect_hashchar_at_line_beginning_in_document)
(protect_first_parenthesis_in_targets_in_document): do not override
transformations on tree, but on document only, adding the needed
functions, reference_to_arg_in_document,
protect_hashchar_at_line_beginning_in_document and
protect_first_parenthesis_in_targets_in_document. Not documented, as
they should mostly be relevant for tests, in general the tree should
be manipulated in Perl only.
* tp/t/test_utils.pl (test), tp/t/z_misc/reference_to_text_in_tree.t,
tp/t/z_misc/test_protect_contents.t,
tp/t/z_misc/test_protect_hashchar_at_line_beginning.t: update to use
functions applied on document.
* Pod-Simple-Texinfo/lib/Pod/Simple/Texinfo.pm (_protect_hashchar)
(_reference_to_text_in_texi, _normalize_texinfo_name): remove link of
tree to C data.
2025-01-29 Patrice Dumas <pertusus@free.fr>
* tp/Texinfo/ManipulateTree.pm (%XS_overrides)
(protect_comma_in_document, protect_colon_in_document)
(protect_node_after_label_in_document),
tp/Texinfo/XS/main/manipulate_tree.c (protect_colon_in_document)
(protect_comma_in_document, protect_node_after_label_in_document),
tp/Texinfo/XS/structuring_transfo/StructuringTransfoXS.xs
(protect_colon_in_document, protect_comma_in_document)
(protect_node_after_label_in_document): do not override
transformations on tree, but on document only, adding the needed
functions, protect_comma_in_document, protect_colon_in_document and
protect_node_after_label_in_document. Not documented, as they should
mostly be relevant for tests, in general the tree should be
manipulated in Perl only.
* tp/t/test_utils.pl (test): update to use transformations on
documents.
* tp/t/z_misc/protect_character_in_texinfo.t: get a Perl tree without
C data for the test of parsed line. Call transformations on documents
otherwise.
* Pod-Simple-Texinfo/lib/Pod/Simple/Texinfo.pm (_protect_comma)
(_protect_colon, _prepare_anchor): get a Perl tree without C data.
* tp/t/z_misc/automatic_nodes.t: change in spacing.
2025-01-29 Patrice Dumas <pertusus@free.fr>
* tp/Texinfo/XS/convert/get_converter_perl_info.c
(converter_set_document_from_sv): handle undef document_in.
2025-01-29 Patrice Dumas <pertusus@free.fr>
* tp/Texinfo/XS/main/utils.c (null_device_names): explicit condition
for Cygwin.
* tp/Texinfo/XS/main/get_perl_info.h: remove useless get_sv_converter
definition.
2025-01-28 Patrice Dumas <pertusus@free.fr>
* tp/Texinfo/XS/main/build_perl_info.c (build_document): reuse
Perl document associated to C document if possible.
* tp/Texinfo/XS/main/build_perl_info.c (build_minimal_document)
(fill_document_hv): bug messages if the document hv is already
set in build_minimal_document. Bug message if the document hv
is set to another value than the C document associated hv in
fill_document_hv, since it should not happen anymore.
* tp/Texinfo/XS/main/build_perl_info.c: remove rebuild_document. It
could now be implemented as a wrapper around build_document, and it is
unused.
2025-01-28 Patrice Dumas <pertusus@free.fr>
* tp/Texinfo/XS/convert/build_html_perl_info.c
(html_pass_converter_initialization_state)
(html_pass_conversion_initialization): remove unused document_in
argument. Update callers.
Change in spacing and comments.
2025-01-28 Patrice Dumas <pertusus@free.fr>
* tp/Texinfo/XS/convert/build_html_perl_info.c
(html_pass_conversion_initialization): set the Perl document
associated to the converter as Perl converter "document".
2025-01-28 Patrice Dumas <pertusus@free.fr>
* tp/Texinfo/XS/main/build_perl_info.c (document_tree): prefer the
tree cached in the original Perl document associated to the C
converter document, if it exists.
* tp/Texinfo/XS/main/build_perl_info.c (store_document_texinfo_tree):
remove the document_hv argument, it is not used anymore. Update
callers.
2025-01-28 Patrice Dumas <pertusus@free.fr>
Add a customization option for DocBook for a piece, not a book
* tp/Texinfo/Convert/DocBook.pm (_convert),
tp/Texinfo/options_data.txt: add _DOCBOOK_PIECE option. If set, the
output is not a full book, but a piece of DocBook. In that case,
before_node_section is not ignored.
* tp/t/test_utils.pl (convert_to_docbook): set _DOCBOOK_PIECE if the
tree has only one element, which should then be before_node_section.
This replaces code that did not follow the API.
2025-01-28 Patrice Dumas <pertusus@free.fr>
* tp/Texinfo/XS/main/build_perl_info.c (store_document_texinfo_tree):
store tree in document->hv.
* tp/Texinfo/XS/convert/html_converter_finish.c (html_free_converter),
tp/Texinfo/XS/convert/html_prepare_converter.c
(html_free_customized_global_units_directions): add
html_free_customized_global_units_directions based on
html_free_converter code.
* tp/Texinfo/XS/convert/get_html_perl_info.c
(html_converter_get_customization_sv): rename
customized_global_units_directions variable as
custom_global_units_direction_nr.
* tp/Texinfo/XS/main/build_perl_info.c (document_tree): always
determine if there is a C document.
Changes in comments.
2025-01-28 Patrice Dumas <pertusus@free.fr>
* tp/Texinfo/XS/main/build_perl_info.c
(pass_document_sv_to_converter_sv, pass_converter_text_options): split
pass_document_to_converter_sv in two, with
pass_document_sv_to_converter_sv to add document SV to converter SV
and pass_converter_text_options. Update callers.
Changes in comments and FIXME/TODOs.
2025-01-27 Patrice Dumas <pertusus@free.fr>
* tp/Texinfo/ParserNonXS.pm, tp/Texinfo/XS/convert/convert_html.c,
tp/Texinfo/XS/parsetexi/commands.c, tp/Texinfo/XSLoader.pm: add and
remove FIXME, change in comments.
2025-01-27 Patrice Dumas <pertusus@free.fr>
* tp/Texinfo/Convert/Converter.pm (_XS_setup_converter_generic): add
a noop implementation of _XS_setup_converter_generic, which is solely
used for an XS interface.
2025-01-26 Patrice Dumas <pertusus@free.fr>
* tp/Texinfo/XS/structuring_transfo/structuring.c
(check_nodes_are_referenced): short-circuit some code if all nodes are
referenced, which should be the most common situation.
2025-01-26 Patrice Dumas <pertusus@free.fr>
* tp/Texinfo/XS/convert/ConvertXS.xs (html_convert_tree),
tp/Texinfo/XS/convert/convert_html.c (html_convert_tree_explanation)
(html_convert_tree), tp/Texinfo/XS/convert/format_html.c: rename
html_convert_tree as html_convert_tree_explanation. Update callers.
Readd html_convert_tree with a converter and a tree as arguments
to follow the general API.
* tp/Texinfo/Convert/Converter.pm (convert_accents),
tp/Texinfo/XS/convert/converter.c (convert_accents): call convert_tree
with a converter and a tree as arguments, and no explanation, to
follow the API common to converters.
* tp/Texinfo/XS/convert/converter.c (converter_format_data),
tp/Texinfo/XS/convert/converter.h (CONVERTER_FORMAT_DATA): use the
common API for converter_convert_tree field in CONVERTER_FORMAT_DATA.
Add html_convert_tree to converter_format_data.
2025-01-26 Patrice Dumas <pertusus@free.fr>
* tp/Texinfo/XS/Makefile.am: more comments.
* tp/Texinfo/XS/Makefile.am, tp/Texinfo/XS/texi2any.c: transform TODO
to NOTE.
2025-01-26 Patrice Dumas <pertusus@free.fr>
Decide if C libraries initialization is called from C or Perl in C code
* tp/Texinfo/Convert/Converter.pm (%XS_overrides, import),
tp/Texinfo/XS/convert/ConvertXS.xs (setup_converter_generic),
tp/Texinfo/XS/convert/converter.c (setup_converter_generic),
tp/Texinfo/XS/main/document.c (txi_paths_info)
(free_converter_paths_information, setup_txi_paths_information)
(setup_texinfo_main), tp/Texinfo/XS/convert/converter.h,
tp/Texinfo/XS/main/document.h (INSTALLED_PATHS, UNINSTALLED_PATHS)
(PATHS_INFORMATION): split generic_setup_main_converter in two, with
conversion specific information in setup_converter_generic and the
remaining in setup_texinfo_main. Move setup_texinfo_main,
txi_paths_info, setup_txi_paths_information and
free_converter_paths_information to main/document.c. Move
INSTALLED_PATHS, UNINSTALLED_PATHS and PATHS_INFORMATION to
document.h. Call setup_converter_generic from XS and from C.
* tp/Texinfo/XS/convert/ConvertXS.xs, tp/Texinfo/XS/convert/texinfo.c
(txi_setup_main_load_interpreter), tp/Texinfo/XS/main/DocumentXS.xs
(init), tp/Texinfo/XS/parsetexi/Parsetexi.xs, tp/Texinfo/XS/texi2any.c
(main), tp/load_txi_modules.pl: move C library main initialization to
DocumentXS.xs, from both ConvertXS.xs and Parsetexi.xs. Rename
txi_load_interpreter as txi_setup_main_load_interpreter. Modify
txi_setup_main_load_interpreter such that it sets the paths instead of
needing the paths to be set before. Call the main C library
initialization functions in txi_setup_main_load_interpreter if the
interpreter is not loaded.
* tp/Texinfo/Convert/HTML.pm (import),
tp/Texinfo/XS/convert/texinfo.c (txi_converter_output_format_setup):
call generic converter and format specific C library initialization
from txi_converter_output_format_setup if the Perl modules is not
loaded. Always initialize C HTML library in HTML.pm with XS.
* tp/texi2any.pl: move locales determination before setup of messages,
as in C.
2025-01-25 Patrice Dumas <pertusus@free.fr>
* tp/Texinfo/XS/Makefile.am (libperlembed_libtexinfo_main_la_CFLAGS),
tp/Texinfo/XS/configure.ac (perl_conf_EMBED_CFLAGS): add cccdlflags to
libperlembed_libtexinfo_main_la_CFLAGS through perl_conf_EMBED_CFLAGS,
as PERL_EXTUTILS_EMBED_ccopts does not include cccdlflags.
* tp/Texinfo/XS/configure.ac (TEXINFO_DTD_VERSION_CONFIG): move with
other variable that can be confused with customization variables.
2025-01-25 Patrice Dumas <pertusus@free.fr>
* tp/Texinfo/XS/convert/convert_html.c
(convert_output_output_unit_internal): cast to char * to remove a
const in encoded_output_file_name, as the function cannot be with
const even though the input string is not modified.
2025-01-25 Patrice Dumas <pertusus@free.fr>
* doc/texi2any_api.texi (Command Tree Element Conversion Functions)
(Command Tree Element Opening Functions)
(Type Tree Element Conversion Functions)
(Type Tree Element Opening Functions),
tp/init/documentation_examples.pm: show how to call functions to get
defaults without a converter. Add an example that uses
default_command_conversion.
* tp/Texinfo/Convert/HTML.pm,
tp/maintain/generate_code_convert_data.pl: remove TODOs, move code,
add NOTEs.
2025-01-25 Patrice Dumas <pertusus@free.fr>
* tp/Texinfo/XS/texi2any.c (main), tp/texi2any.pl: if
macro_expand_file_name, internal_links_file_name or
sort_element_count_file_name is -, which means output to STDOUT, do
not close the filehandle/file descriptor immediately, and instead put
it in main_program_unclosed_stdout/main_unclosed_files.
2025-01-25 Patrice Dumas <pertusus@free.fr>
* tp/Texinfo/Convert/HTML.pm (_do_jslicenses_file),
tp/Texinfo/XS/convert/convert_html.c (do_jslicenses_file): do not use
- as JS_WEBLABELS_FILE path.
* tp/Texinfo/Convert/Text.pm (output): do not close STDOUT. Add an
error message if there is an error when closing.
* tp/Texinfo/XS/convert/rawtext_converter_api.c (rawtext_output):
close output file.
* tp/Texinfo/XS/convert/rawtext_converter_api.c (rawtext_output): free
input_basefile, input_basename, encoded_out_filepath and outfile.
* tp/Texinfo/XS/texi2any.c (main): free the file_directories itself.
Free input_directory after next_input_file such that it is done in
every case.
Homogenize/add to comments on STDOUT not closed immediately, but left
to the main program to close.
2025-01-25 Patrice Dumas <pertusus@free.fr>
* tp/Texinfo/Convert/HTML.pm: add a check that needs to be manually
enabled to warn if some relevant commands are not converted.
Changes in comments/TODO/FIXME.
2025-01-25 Patrice Dumas <pertusus@free.fr>
* tp/t/test_utils.pl, tp/t/z_misc/*.t: change in spacing, replace
double quotes by simple quotes, use ok(1, 'modules loading');
consistently. No functional change intended.
2025-01-25 Patrice Dumas <pertusus@free.fr>
* tp/Texinfo/XS/main/DocumentXS.xs: remove the gdt XS interface unused
documentation only code. Indeed, there is not much point in
overriding the gdt function, it is better if the C gdt function is
called from overriden functions.
2025-01-25 Patrice Dumas <pertusus@free.fr>
* tp/Texinfo/Convert/Converter.pm ($converter_common_defaults): rename
$common_defaults as $converter_common_defaults.
* tp/Texinfo/Convert/Converter.pm
(%common_converters_non_options_defaults, %all_converters_defaults):
split %common_converters_non_options_defaults out of
%common_converters_defaults. Remove %common_converters_defaults.
Remove/modify FIXMEs and TODOs.
2025-01-25 Patrice Dumas <pertusus@free.fr>
* tp/Texinfo/Convert/Text.pm (output): handle the case of output file
name not being set.
* tp/Texinfo/XS/convert/rawtext_converter_api.c (rawtext_output):
simplify code in case of output file not set.
* tp/t/z_misc/raw_text_converter.t ($reference_result_text)
($converter_undef_outfile, test output with unsef outfile): add test
with outfile not set. Change in spacing.
2025-01-24 Gavin Smith <gavinsmith0123@gmail.com>
* info/info.c (info_short_help): mark translations with N_
macro rather than redefining _.
2025-01-24 Patrice Dumas <pertusus@free.fr>
* tp/Texinfo/Convert/Converter.pm (determine_files_and_directory),
tp/Texinfo/XS/convert/converter.c (determine_files_and_directory): the
document input_file_name information is already a base file name. Do
not determine a basename again.
2025-01-24 Patrice Dumas <pertusus@free.fr>
* tp/t/06columnfractions.t: add html_text format to the tests.
2025-01-24 Patrice Dumas <pertusus@free.fr>
* tp/t/html_tests.t (sectioning_check_menu_structure): replace
TEXI2HTML by the relevant customization variables values.
2025-01-24 Patrice Dumas <pertusus@free.fr>
* tp/t/27float.t: remove incorrect FIXME.
* tp/t/30sectioning.t (top_part_chapter): add docbook. Remove fixed
FIXME.
2025-01-24 Patrice Dumas <pertusus@free.fr>
* tp/Texinfo/Common.pm (replace_remove_list_element): rename
modify_array_element as replace_remove_list_element. Rename $element
as $removed. Update callers.
* tp/Texinfo/XS/main/tree.c (replace_remove_list_element): rename
replace_element_in_list as replace_remove_list_element. If added
argument is NULL, remove the removed element argument, if found.
Remove remove_element_from_list, since it is the same as
replace_remove_list_element called with added NULL. Update callers.
2025-01-24 Patrice Dumas <pertusus@free.fr>
* tp/Texinfo/Common.pm (modify_array_element): rename
remove_from_array as modify_array_element, add an optional argument to
replace the removed element. Update callers.
* tp/Texinfo/Transformations.pm (regenerate_master_menu): call
modify_array_element to replace the detailmenu in global commands.
* tp/Texinfo/XS/main/tree.c (remove_element_from_list): rename e as
removed. Call remove_from_element_list directly from the loop.
Return removed element.
* tp/Texinfo/XS/main/tree.c (replace_element_in_list): return removed
element.
* tp/Texinfo/Transformations.pm (regenerate_master_menu),
tp/Texinfo/XS/structuring_transfo/transformations.c
(regenerate_master_menu): rename detailmenu_index as current_idx.
Use a for loop in Perl as in C.
* tp/Texinfo/Common.pm, tp/Texinfo/XS/main/tree.c: remove
replace_element_in_contents.
2025-01-24 Patrice Dumas <pertusus@free.fr>
* tp/Texinfo/Config.pm, tp/Texinfo/Document.pm (get_conf),
tp/Texinfo/Indices.pm, tp/Texinfo/Structuring.pm: handle/remove
TODOs.
2025-01-24 Patrice Dumas <pertusus@free.fr>
* tp/Texinfo/Structuring.pm (check_nodes_are_referenced),
tp/Texinfo/XS/structuring_transfo/structuring.c
(check_nodes_are_referenced): check that all the nodes are in a menu
except for Top, for nodes that are referenced, if
CHECK_NORMAL_MENU_STRUCTURE is set and there is more than one node.
2025-01-20 Patrice Dumas <pertusus@free.fr>
* tp/Texinfo/XS/Makefile.am (libtexinfo_main_la_LDFLAGS): remove
linking flags not needed for libtexinfo_main.
2025-01-23 Gavin Smith <gavinsmith0123@gmail.com>
info: reduce use of variables for translated strings
* info/info.c
(msg_cant_find_window, msg_cant_kill_last, msg_no_foot_node)
(msg_no_pointer, msg_unknown_command, msg_term_too_dumb)
(msg_at_node_bottom, msg_at_node_top, msg_cant_make_help):
Remove. All uses updated. Reduce comment saying such variables
are need because of a gettext limitation, as this does not appear
to be true now.
2025-01-23 Gavin Smith <gavinsmith0123@gmail.com>
* tp/Texinfo/Translations.pm (_switch_messages_locale):
Also exclude "C.UTF-8" (matching C code).
2025-01-23 Gavin Smith <gavinsmith0123@gmail.com>
* doc/txi-cs.tex: recode from ISO-8859-2 to UTF-8
2025-01-23 Gavin Smith <gavinsmith0123@gmail.com>
* tp/Texinfo/XS/main/translations.c (switch_messages_locale):
Check if locale name begins with "C." to exclude "C.UTF-8" locale
where translations are also disabled.
2025-01-22 Karl Berry <karl@freefriends.org>
* doc/texinfo.texi: fix typos and other errors
2025-01-21 Gavin Smith <gavinsmith0123@gmail.com>
* tp/texi2any.pl (makeinfo_help): remove obsolete comment.
2025-01-20 Gavin Smith <gavinsmith0123@gmail.com>
Contents in PDF outline.
* doc/texinfo.tex (\pdfmakoutlines) [pdftex, luatex, xetex]:
Output entry for table of contents, either at beginning or at
the end of the PDF outline.
(\contents, \startcontents): Output PDF anchor.
(\donoderef): Record that a node has been seen so that if @contents
is seen, we can assume it is at the end of the document rather than
at the beginning.
Suggestion from Werner.
2025-01-19 Patrice Dumas <pertusus@free.fr>
* tp/Texinfo/XS/main/build_perl_info.c
(build_sv_converter_info_from_converter_initialization_info): add.
* tp/Texinfo/XS/convert/call_conversion_perl.c
(call_module_converter): use
build_sv_converter_info_from_converter_initialization_info to pass
deprecated directories too (and translations, but there is no way to
have translations set from texi2any main program).
2025-01-19 Patrice Dumas <pertusus@free.fr>
* tp/Texinfo/XS/main/build_perl_info.c (build_deprecated_directories):
add.
* tp/Texinfo/XS/main/build_perl_info.c
(pass_generic_converter_to_converter_sv): call
build_deprecated_directories.
* tp/Texinfo/XS/main/get_perl_info.c (get_converter_info_from_sv): do
not add translated_commands and deprecated_config_directories as
"non_valid_customization" that is passed directly from Perl, as both
are read from Perl to C and build from C to Perl.
Changes in comments.
2025-01-19 Patrice Dumas <pertusus@free.fr>
* tp/Texinfo/XS/texi2any.c (long_options, main): use mimicking instead
of the grammatically incorrect mimick. Report from Gavin.
2025-01-19 Patrice Dumas <pertusus@free.fr>
* tp/Texinfo/XS/convert/call_conversion_perl.c
(call_sort_element_counts): reuse the document hv if it already
exists.
2025-01-19 Patrice Dumas <pertusus@free.fr>
* tp/Texinfo/XS/convert/call_conversion_perl.c
(call_module_converter): rename call_convert_converter as
call_module_converter. Update callers.
2025-01-19 Patrice Dumas <pertusus@free.fr>
* tp/Texinfo/XS/convert/call_conversion_perl.c (call_converter_output)
(call_sort_element_counts): remove module_name argument. Update
callers.
2025-01-19 Patrice Dumas <pertusus@free.fr>
* tp/Texinfo/XS/main/build_perl_info.c (build_minimal_document):
rename get_document as build_minimal_document. Update callers.
* tp/Texinfo/XS/parsetexi/Parsetexi.xs: change variable names, update
includes, add const.
2025-01-19 Gavin Smith <gavinsmith0123@gmail.com>
* util/texi2pdf, util/texi2dvi: 2025
2025-01-19 Patrice Dumas <pertusus@free.fr>
* tp/Texinfo/XS/main/utils.c (locate_include_file)
(locate_file_in_dirs): destroy the lists returned by splitdir.
2025-01-19 Patrice Dumas <pertusus@free.fr>
Keep converter SV instead of HV in C
* tp/Texinfo/XS/convert/ConvertXS.xs (generic_converter_init),
tp/Texinfo/XS/main/converter_types.h (CONVERTER): keep the converter
SV instead of the converter HV in C.
* tp/Texinfo/XS/convert/call_conversion_perl.c
(call_converter_output, call_sort_element_counts): no need to reset
the converter stash anymore.
* tp/Texinfo/XS/convert/build_html_perl_state.c,
tp/Texinfo/XS/convert/call_html_perl_function.c,
tp/Texinfo/XS/main/call_perl_function.c,
tp/Texinfo/XS/main/build_perl_info.c: update for the change in
CONVERTER, change variable names.
* tp/Texinfo/XS/convert/call_conversion_perl.c
(call_converter_output): add a SvREFCNT_inc before the second Perl
function call in call_converter_output.
* tp/Texinfo/XS/convert/converter.c (free_generic_converter):
unregister converter Perl object.
2025-01-19 Gavin Smith <gavinsmith0123@gmail.com>
* grand-replace.sh: split call to find/perl into function
and call several times to mop up more files
2025-01-19 Gavin Smith <gavinsmith0123@gmail.com>
* grand-replace.sh: add option to search for possible copyright
years updated.
* README-hacking: replace long manual "find" command suggestion
with run of grand-replace.sh --missed.
2025-01-19 Patrice Dumas <pertusus@free.fr>
* tp/Texinfo/XS/convert/call_conversion_perl.c
(call_module_converter_defaults): rename
call_converter_converter_defaults as call_module_converter_defaults.
Update callers.
Minor changes in comments, typo in variable name.
2025-01-19 Patrice Dumas <pertusus@free.fr>
* doc/texi2any_api.texi (Simple Customization of Containers),
tp/Texinfo/Config.pm (texinfo_register_type_code),
(texinfo_register_type_pre_class, GNUT_get_types_code_info),
(GNUT_get_types_pre_class), tp/Texinfo/Convert/HTML.pm
(_XS_html_converter_get_customization, converter_initialize),
tp/Texinfo/XS/convert/ConvertXS.xs
(html_converter_get_customization_sv),
tp/Texinfo/XS/convert/get_html_perl_info.c
(html_converter_get_customization_sv), tp/t/init/cvs.init:
split texinfo_register_type_format_info in two functions,
texinfo_register_type_code and texinfo_register_type_pre_class.
Update setting customization and passing customization through XS to
C.
2025-01-19 Patrice Dumas <pertusus@free.fr>
* tp/Texinfo/ParserNonXS.pm (_next_text): simplify code, as
$input->{'file_name_encoding'} should always be set.
* tp/Texinfo/ParserNonXS.pm (_end_line_misc_line): call defined
explicitly.
2025-01-19 Patrice Dumas <pertusus@free.fr>
* doc/texi2any_api.texi, tp/Texinfo/Common.pm, tp/Texinfo/Config.pm:
remove texinfo_add_valid_customization_option and
add_valid_customization_option. Remove already @ignore'd text in
texi2any_api.texi.
2025-01-19 Gavin Smith <gavinsmith0123@gmail.com>
* info/variables.c (set_variable_to_value): Set 'where_set'
for all variables, including rendition styles, to allow
overriding from the command line even if these are set in infokey.
2025-01-19 Gavin Smith <gavinsmith0123@gmail.com>
Variables in info help message
* info/variables.c
(variable_description_string, variable_long_description_string):
New.
* info/infodoc.c (create_internal_info_help_node):
Output list of variables, including current value, how it
was set, and doc string.
2025-01-19 Patrice Dumas <pertusus@free.fr>
* tp/Texinfo/XS/structuring_transfo/transformations.c (new_node):
destroy arguments_line when removing the newly created node if it is
already present.
2025-01-19 Patrice Dumas <pertusus@free.fr>
* tp/t/z_misc/*.t: update ModulePath updirs.
2025-01-19 Patrice Dumas <pertusus@free.fr>
Update TODO and po files
* po/POTFILES.in: add Translations.pm, rawtext_converter_api.c and
translations.c.
2025-01-18 Patrice Dumas <pertusus@free.fr>
* tp/Texinfo/XS/convert/texinfo.c (txi_load_interpreter)
(txi_stop_interpreter): rename txi_customization_loading_setup as
txi_load_interpreter and txi_customization_loading_finish as
txi_stop_interpreter. Update caller.
2025-01-18 Patrice Dumas <pertusus@free.fr>
* tp/Texinfo/XS/texi2any.c (main): rename command_directories as
command_directory.
2025-01-18 Patrice Dumas <pertusus@free.fr>
Remove the tp/ctexi2any.pl wrapper it is not useful anymore
2025-01-18 Patrice Dumas <pertusus@free.fr>
* tp/tests/run_parser_all.sh: do not systematically prepend $PERL -w
to the command run, set it if main_command is texi2any.pl.
2025-01-18 Patrice Dumas <pertusus@free.fr>
* tp/Texinfo/XS/texi2any.c (long_options, main): set the default
program_file to be texi2any, use argv[0] only if --no-mimick is set.
2025-01-18 Patrice Dumas <pertusus@free.fr>
* tp/Texinfo/XS/texi2any.c (main): set top_srcdir and tp_builddir only
if texinfo_uninstalled.
* tp/Texinfo/XS/texi2any.c (main): handle command_directories being
NULL.
* tp/Texinfo/XS/texi2any.c (main): set top_srcdir relative to
command_directories.
2025-01-18 Patrice Dumas <pertusus@free.fr>
* tp/Texinfo/XS: run
gnulib-tool --add-import getcwd
We need Gnulib getcwd because we pass NULL as first argument such that
getcwd allocates the memory.
2025-01-18 Patrice Dumas <pertusus@free.fr>
* tp/Texinfo/XS/parsetexi/input.c (encode_file_name)
(save_line_directive), tp/Texinfo/XS/parsetexi/end_line.c
(end_line_misc_line): do not call save_string in encode_file_name, as
the encoded file name does not need to be saved in end_line_misc_line.
Call save_string in save_line_directive instead.
2025-01-18 Patrice Dumas <pertusus@free.fr>
* tp/Texinfo/XS/main/utils.h: remove unused HAS_SLASH filename
portability macro.
2025-01-18 Patrice Dumas <pertusus@free.fr>
* tp/maintain/regenerate_C_options_info.pl: remove leading directory
name in generated #include.
2025-01-18 Patrice Dumas <pertusus@free.fr>
* tp/Texinfo/XS/main/utils.c (canonpath): fix wrong dereferencing.
2025-01-18 Patrice Dumas <pertusus@free.fr>
* tp/Texinfo/XS/convert/convert_html.c (do_jslicenses_file): use
file_name_is_absolute.
* tp/Texinfo/XS/main/utils.c (canonpath, add_include_directory): use
file names portability macros.
* tp/Texinfo/XS/parsetexi/input.c (input_push_file): use
parse_file_path to get base_filename.
* tp/Texinfo/XS/parsetexi/end_line.c (end_line_misc_line): rename
sys_filename as file_path.
2025-01-18 Patrice Dumas <pertusus@free.fr>
* tp/Texinfo/XS/texi2any.c (main): determine if the program is
uninstalled by checking TEXINFO_DEV_SOURCE environment variable,
and, if not set, by looking at the absolute directory and checking the
last directories, using a report by Eli that it is how it is done in
general.
2025-01-18 Patrice Dumas <pertusus@free.fr>
File names portability
* tp/Texinfo/XS/main/utils.h (O_BINARY, HAVE_DRIVE, IS_SLASH)
(IS_ABSOLUTE): add, from system.h.
* tp/Texinfo/XS/main/utils.h (FILE_SLASH): add.
* tp/Texinfo/XS/main/utils.c (parse_file_path, file_name_is_absolute):
use file names portability macros.
* tp/Texinfo/XS/main/utils.c (splitpath): add.
* tp/Texinfo/XS/main/utils.c (locate_include_file)
(locate_file_in_dirs): use splitpath instead of parse_file_path, as in
Perl.
2025-01-18 Gavin Smith <gavinsmith0123@gmail.com>
Index entry line count adjustment
* tp/Texinfo/Convert/Plaintext.pm (_adjust_final_location):
New function, to decrement index entry line count at the end of
a node.
(convert_output_unit): Call it after processing footnotes.
(_convert) <contents>: Do not save current element on a
'current_roots' array.
(_convert) <index entry>: Do not check 'current_roots' array
for saved location at the end of a node.
This is arguably simpler and slightly quicker. This change has
minor consequences. If several index entries occur together at
the end of a node, they will all be adjusted. If an automatic
"*Menu" block is output at the end of a node, there will be
no adjustment. Adjustment in "plaintext" output is more limited.
2025-01-18 Patrice Dumas <pertusus@free.fr>
* tp/Texinfo/XS/main/utils.c (splitdir): add.
* tp/Texinfo/XS/main/utils.c (locate_include_file)
(locate_file_in_dirs): determine if a file name is relative or
contains . or .. in the same way as in Perl, by calling splitdir and
looking at the result.
2025-01-18 Patrice Dumas <pertusus@free.fr>
Use more forward slashes unconditionally in file names
* tp/Texinfo/Tests.pm, tp/ext/highlight_syntax.pm,
tp/ext/latex2html.pm, tp/texi2any.pl, tp/load_txi_modules.pl:
use forward slashes unconditionally instead of File::Spec for more
reproducible file names and consistency with other parts of the code.
Add missing use File::Spec, remove useless use File::Spec.
2025-01-18 Patrice Dumas <pertusus@free.fr>
Set locale for MS-Windows in C texi2any
* tp/Texinfo/XS/texi2any.c (main): in WIN32, set locale using GetACP
and set DOC_ENCODING_FOR_INPUT_FILE_NAME to 0, as in Perl texi2any.
GetACP call code from Eli Zaretskii.
2025-01-18 Patrice Dumas <pertusus@free.fr>
Align perl_conf flags better with ExtUtils::Embed flags
* tp/Texinfo/XS/configure.ac (perl_conf_CFLAGS): remove
PERL_CONF_optimize from perl_conf_CFLAGS, it often conflicts with
PERL_EXT_CFLAGS and it is not added by ExtUtils::Embed ccopts.
* tp/Texinfo/XS/configure.ac (perl_conf_LDFLAGS): add
PERL_CONF_ldflags, like ExtUtils::Embed ldopts does.
* tp/Texinfo/XS/configure.ac (perl_conf_LIBS): add PERL_CONF_perllibs,
like ExtUtils::Embed ldopts does.
2025-01-18 Patrice Dumas <pertusus@free.fr>
* tp/Texinfo/XS/Makefile.am (libcallperl_libtexinfo_la_CPPFLAGS)
(libcallperl_libtexinfo_la_CFLAGS, libtexinfoxs_la_CPPFLAGS)
(libtexinfoxs_la_CFLAGS, libcallperl_libtexinfo_convert_la_CPPFLAGS)
(libcallperl_libtexinfo_convert_la_CFLAGS)
(libtexinfo_convertxs_la_CPPFLAGS, libtexinfo_convertxs_la_CFLAGS):
use perl_conf_CFLAGS and perl_conf_CPPFLAGS instead of XSLIBS_CFLAGS
and XSLIBS_CPPFLAGS for shared libraries compiled against Perl that
are not XS modules.
2025-01-18 Patrice Dumas <pertusus@free.fr>
* tp/Texinfo/XS/configure.ac (perl_conf_CPPFLAGS),
tp/Texinfo/XS/Makefile.am (XSLIBS_CPPFLAGS): remove PERL_INC, instead
set perl_conf_CPPFLAGS to -I${PERL_CONF_archlibexp}/CORE.
* tp/Texinfo/XS/configure.ac (perl_conf_LIBS),
tp/Texinfo/XS/Makefile.am: rename PERL_LIBS as perl_conf_LIBS
for consistency of naming.
2025-01-18 Patrice Dumas <pertusus@free.fr>
* doc/texi2any_api.texi (Navigation Panel Button Formatting): document
global_direction_text.
2025-01-17 Patrice Dumas <pertusus@free.fr>
* tp/Texinfo/Document.pm: remove document_descriptor accessor. There
shouldn't be any situation where the document cannot be used directly.
2025-01-17 Patrice Dumas <pertusus@free.fr>
* tp/t/z_misc/test_sort.t: call get_customization_options_hash on
main_configuration to get regular options, as done in main program or
other tests, register in the document and use the document as source
of customization.
* tp/t/z_misc/test_sort.t: update Texinfo::ModulePath updirs.
2025-01-17 Patrice Dumas <pertusus@free.fr>
* tp/Texinfo/Document.pm, tp/Texinfo/Indices.pm: add/change comments,
move code around.
2025-01-17 Patrice Dumas <pertusus@free.fr>
* tp/Texinfo/XS/main/build_perl_info.c (build_global_info): add a
converter argument to try to reuse the "global_info" value of the Perl
document hash instead of systematically creating a new HV. Update
callers.
* tp/Texinfo/Document.pm (%XS_overrides, set_document_global_info):
override directly set_document_global_info. Remove
_XS_set_document_global_info.
* tp/t/z_misc/test_document.t: call global_information() after
set_document_global_info before accessing the hash.
* tp/Texinfo/XS/main/DocumentXS.xs (set_document_global_info): add a
string to get a warning if the document is not found in
set_document_global_info.
* tp/t/z_misc/test_document.t: update Texinfo::ModulePath updirs.
2025-01-17 Patrice Dumas <pertusus@free.fr>
* tp/Texinfo/Structuring.pm (construct_nodes_tree),
tp/Texinfo/XS/structuring_transfo/structuring.c
(construct_nodes_tree): rename nodes_tree as construct_nodes_tree.
Upate callers.
* tp/Texinfo/Structuring.pm (construct_nodes_tree)
(sectioning_structure), tp/Texinfo/Document.pm,
tp/Texinfo/XS/main/document.c,
tp/Texinfo/XS/structuring_transfo/structuring.c (sectioning_structure)
(construct_nodes_tree): register nodes lists
nd sections lists directly in construct_nodes_tree and
sectioning_structure. Remove register_document_nodes_list,
register_document_sections_list. Upate callers.
2025-01-17 Patrice Dumas <pertusus@free.fr>
Use the TEXINFO_C_PERL_EMBED env variable to prevent loading embedded Perl
* tp/Texinfo/XS/texi2any.c (long_options, main): remove the
no-embed-interpreter option. If the TEXINFO_C_EMBED_PERL environment
variable is 0, do not load the Perl embedded interpreter. Gavin
proposal.
* tp/Texinfo/XS/texi2any.c (main): load init files while processing
command-line options.
2025-01-16 Gavin Smith <gavinsmith0123@gmail.com>
* tp/TODO: remove suggestion to check for comma/fullstop after
@xref{...} in parser as it does not seem like it would add much
benefit and the existing check in Info.pm seems to work well enough.
2025-01-16 Patrice Dumas <pertusus@free.fr>
* doc/texi2any_api.texi (Advanced Navigation Panel Buttons
Specification, Customizing HTML Footers@comma{} Headers and Navigation
Panels): move "Advanced Navigation Panel Buttons Specification" node
to "Customizing HTML Footers@comma{} Headers and Navigation Panels".
2025-01-16 Patrice Dumas <pertusus@free.fr>
* doc/texi2any_api.texi (Simple Navigation Panel Customization):
update with explicit text direction mention. Move accesskey
description to the beginning of the node and mention rel too.
* doc/texi2any_api.texi (Navigation Panels Buttons Arrays): add a
subsection for the list of navigation panels buttons customization
variables arrays.
* doc/texi2any_api.texi (Setting The Navigation Panel Buttons)
(Modifying The Navigation Panel Buttons): add subsection explaining
more simply how to set and modify the navigation panel buttons.
* doc/texi2any_api.texi (Advanced Navigation Panel Buttons
Specification): describe all the possibilities in detail for the
buttons specification in a new node. Add the "string with a text
direction" possibilitiy.
2025-01-16 Patrice Dumas <pertusus@free.fr>
* doc/texi2any_api.texi (Managing Customization Variables)
(Getting Converter Default Variables Values): ignore a confusing
paragraph in "Managing Customization Variables". Add Getting
"Converter Default Variables Values" explaining how to get HTML
converter default values.
2025-01-16 Patrice Dumas <pertusus@free.fr>
* doc/texi2any_api.texi (Navigation Panel Button Formatting): move
"Output Unit Direction Information Type" node content to the
from_element_direction function description, where it is used. Remove
the "Output Unit Direction Information Type" node.
2025-01-15 Patrice Dumas <pertusus@free.fr>
Remove the direction and text type for a button
* tp/Texinfo/Convert/HTML.pm (_default_format_button),
tp/Texinfo/XS/convert/format_html.c (html_default_format_button),
tp/Texinfo/XS/main/create_buttons.c (new_button_specification),
tp/Texinfo/XS/main/get_perl_info.c
(html_get_button_specification_list),
tp/Texinfo/XS/main/option_types.h (enum button_specification_type):
remove the button formatting using a two element array with direction
and text type. It was already unused, undocumented and scheduled for
deletion.
2025-01-15 Patrice Dumas <pertusus@free.fr>
Remove the possibility to use a direction and scalar reference for a button
* tp/Texinfo/Convert/HTML.pm (_default_format_button),
tp/Texinfo/XS/convert/format_html.c (html_default_format_button),
tp/Texinfo/XS/main/create_buttons.c (new_button_specification),
tp/Texinfo/XS/main/customization_options.c (copy_option),
tp/Texinfo/XS/main/get_perl_info.c
(html_get_button_specification_list),
tp/Texinfo/XS/main/option_types.h (enum button_information_type)
(BUTTON_SPECIFICATION_INFO), tp/Texinfo/XS/main/utils.c
(html_free_button_specification_list): remove the button formatting
using a two element array with direction and scalar reference. In C
remove both BIT_external_string and BIT_string.
* tp/Texinfo/XS/main/create_buttons.c (new_button_specification):
remove the string argument. Update callers.
* doc/texi2any_api.texi (Simple Navigation Panel Customization), NEWS:
update. Remove text string is interpreted as an output unit direction
information type button specification @ignore'd block too.
* tp/Texinfo/XS/main/api_to_perl.c: remove now unused
get_perl_scalar_reference_value.
2025-01-15 Patrice Dumas <pertusus@free.fr>
Remove the possibility to use a scalar reference for a button
* tp/Texinfo/Convert/HTML.pm (_default_format_special_body_about),
tp/Texinfo/XS/convert/format_html.c
(html_default_format_special_body_about): do not show global direction
texts in about.
* doc/texi2any_api.texi (Simple Navigation Panel Customization),
tp/Texinfo/Convert/HTML.pm (_default_format_button),
tp/Texinfo/XS/convert/format_html.c (html_default_format_button),
tp/Texinfo/XS/main/create_buttons.c (new_button_specification),
tp/Texinfo/XS/main/customization_options.c (copy_option),
tp/Texinfo/XS/main/get_perl_info.c
(html_get_button_specification_list),
tp/Texinfo/XS/main/option_types.h (enum button_specification_type)
(BUTTON_SPECIFICATION), tp/Texinfo/XS/main/utils.c
(html_free_button_specification_list): remove the possibility to use
a scalar reference as button, a function reference or global text
directions should be used instead. In C remove both
BST_external_string and BST_string buttons types.
* tp/t/init/access_document_name_in_handler.pm
(_button_show_document_name)
(_texi2any_tests_access_document_name_in_handler): use a function
reference instead of a scalar reference as button.
* tp/t/init/test_directions.init: use global text directions instead
of scalar references as buttons.
2025-01-15 Patrice Dumas <pertusus@free.fr>
* doc/texi2any_api.texi (Directions, Default Directions)
(Direction Strings Customization)
(Adding Text And Global Output Units Directions): rearrange directions
documentation. Add information on how to modify and add global
directions using the new HTML customization API to add or replace
global directions.
2025-01-15 Gavin Smith <gavinsmith0123@gmail.com>
UTF-16 in PDF outlines
* doc/texinfo.tex
(\utfsixteentotoks): new. generate UTF-16 from codepoint.
(DeclareUnicodeCharacterUTFviii) [pdftex]: call it.
(\asciitounicode): new macro to expand ASCII to UTF-16BE.
(\defpdfoutlinetextunicode): new macro to set string for PDF
outline to UTF-16BE string if necessary.
(\setpdfoutlinetext) <pdfTeX with UTF-8>: call it.
(\UTFviiiLoop): do not make catcode changes global.
(\UTFviiiDefined): add conditional to allow suppressing error
message.
* doc/texinfo-tex-test.texi: update test case.
2025-01-15 Patrice Dumas <pertusus@free.fr>
* tp/Texinfo/XS/convert/convert_html.c
(html_clear_direction_string_type),
tp/Texinfo/XS/convert/get_html_perl_info.c
(html_conversion_initialization_sv),
tp/Texinfo/XS/convert/html_converter_finish.c (html_free_converter),
tp/Texinfo/XS/convert/html_prepare_converter.c
(html_nr_string_directions, html_converter_customize)
(html_initialize_output_state): add html_nr_string_directions and use
it to determine the total number of direction strings.
* tp/Texinfo/XS/convert/build_html_perl_info.c
(build_directions_strings): call html_nr_string_directions and use
converter->main_units_direction_names for directions names.
2025-01-15 Patrice Dumas <pertusus@free.fr>
Make converter_defaults conf argument optional
* tp/Texinfo/Convert/Converter.pm (converter_defaults),
tp/Texinfo/Convert/*.pm (converter_defaults),
tp/Texinfo/XS/convert/ConvertXS.xs (converter_defaults): make second
argument of converter_defaults optional.
* tp/Texinfo/Convert/Info.pm, tp/t/init/add_directions_buttons.pm:
update converter_defaults call.
2025-01-15 Patrice Dumas <pertusus@free.fr>
* tp/Texinfo/XS/convert/html_prepare_converter.c
(html_initialize_output_state): do not access special output units
directions outside of their range.
* tp/Texinfo/XS/convert/html_converter_finish.c (html_free_converter),
tp/Texinfo/XS/convert/convert_html.c
(html_clear_direction_string_type): correct nr_string_directions.
* tp/Texinfo/XS/convert/html_converter_finish.c (html_free_converter):
free added_global_units_directions,
customized_global_units_directions, customized_global_text_directions
and global_texts_direction_names.
* tp/Texinfo/XS/main/converter_types.h (DIRECTION_NODE_NAME_LIST),
tp/Texinfo/XS/convert/get_html_perl_info.c
(html_converter_get_customization_sv): remove space field.
2025-01-15 Patrice Dumas <pertusus@free.fr>
* tp/t/init/button_replacement_for_special_unit_direction.pm: do not
modify default buttons lists.
2025-01-15 Patrice Dumas <pertusus@free.fr>
* tp/Texinfo/XS/main/utils.c (string_exists_in_sorted_strings_list):
add.
* tp/Texinfo/XS/convert/ConvertXS.xs (html_global_direction_text),
tp/Texinfo/XS/convert/html_conversion_state.c,
tp/Texinfo/XS/convert/html_converter_finish.c (html_reset_converter),
tp/Texinfo/XS/convert/html_prepare_converter.c
(html_setup_global_texts_direction_names),
tp/Texinfo/XS/main/converter_types.h (CONVERTER): use a STRING_LIST
for global_texts_direction_names. Remove
html_find_direction_name_global_text, TEXT_DIRECTION and
TEXTS_DIRECTION_LIST.
2025-01-15 Patrice Dumas <pertusus@free.fr>
HTML customization API to add or replace global directions
* tp/Texinfo/Config.pm (texinfo_register_global_direction)
(GNUT_get_global_directions): add texinfo_register_global_direction
to register text global direction or output unit global direction with
a Texinfo node name.
* tp/Texinfo/XS/convert/ConvertXS.xs (html_global_direction_text),
tp/Texinfo/Convert/HTML.pm (conversion_initialization),
tp/Texinfo/XS/convert/format_html.c (html_global_direction_text)
(from_element_direction),
tp/Texinfo/XS/convert/html_conversion_state.c
(html_find_direction_name_global_text): simply set 1 for global
direction text in hash or as a return value.
* tp/Texinfo/Convert/HTML.pm (converter_initialize)
(conversion_initialization),
tp/Texinfo/XS/convert/get_html_perl_info.c
(html_converter_get_customization_sv),
tp/Texinfo/XS/convert/html_prepare_converter.c
(html_set_main_units_direction_names, html_converter_customize)
(html_initialize_output_state), tp/Texinfo/XS/main/converter_types.h
(DIRECTION_NODE_NAME, DIRECTION_NODE_NAME_LIST, CONVERTER),
tp/Texinfo/XS/convert/html_converter_api.c
(html_converter_initialize): get customized_global_directions and
consider the added directions to be customizable directions, pass them
to C. Separate code determining main_units_direction_names to the
html_set_main_units_direction_names function, call it in
html_converter_get_customization_sv before getting customization of
direction strings and in html_converter_initialize.
* tp/Texinfo/Convert/HTML.pm (conversion_initialization),
tp/Texinfo/XS/convert/format_html.c (html_global_direction_text)
(html_setup_global_texts_direction_names),
tp/Texinfo/XS/main/converter_types.h (CONVERTER),
tp/Texinfo/XS/convert/html_prepare_converter.c
(html_set_main_units_direction_names): add
customized_global_directions text directions.
* tp/Texinfo/Convert/HTML.pm (_prepare_output_units_global_targets),
tp/Texinfo/XS/Makefile.am (libtexinfo_convert_la_CPPFLAGS),
tp/Texinfo/XS/convert/html_prepare_converter.c
(html_converter_customize, html_initialize_output_state)
(html_prepare_output_units_global_targets)
(html_setup_global_units_direction_names): get the
customized_global_directions output units to replace or add to
global_units_directions.
* tp/Makefile.am (test_files), tp/t/init/add_directions_buttons.pm,
tp/t/init/directions_buttons.pm, tp/Makefile.tres,
tp/t/init_files_tests.t ($directions_buttons_text, directions_buttons)
(directions_buttons_buttons): test of the direction addition API,
adding directions and using in buttons.
2025-01-13 Gavin Smith <gavinsmith0123@gmail.com>
Define NULL_DEVICE in system.h
* system.h,
* info/info.h,
* install-info/install-info.c (NULL_DEVICE): move all setting
of NULL_DEVICE to system.h. Remove special case where it is
set to "/dev/null" for DJGPP as apparently "NUL" works as well.
* info/filesys.h (DEFAULT_INFOPATH) [__DJGPP__]: move override
of DEFAULT_INFOPATH here.
Report from Patrice.
2025-01-13 Patrice Dumas <pertusus@free.fr>
* tp/Texinfo/XS/parsetexi/end_line.c (end_line_starting_block): check
if parent command is found (should always be).
* tp/Texinfo/XS/texi2any.c (main): fix precedence of dump_texi_option.
* tp/Texinfo/XS/xspara.c (xspara_add_text): use PRIuLEAST32 in format.
* tp/Texinfo/XS/convert/texinfo.c (txi_general_output_strings_setup):
free locales_dir only if it was set.
2025-01-12 Patrice Dumas <pertusus@free.fr>
Consider global direction with text and no output unit as a category
* tp/Texinfo/Convert/HTML.pm (global_direction_text)
(_default_format_button, _prepare_output_units_global_targets)
(conversion_initialization), tp/Texinfo/XS/convert/format_html.c
(html_global_direction_text, html_default_format_button): generalize
the case of the Space button as a global direction with text and no
output unit.
* tp/Texinfo/XS/convert/ConvertXS.xs (html_global_direction_text),
tp/Texinfo/Convert/HTML.pm (%XS_conversion_overrides),
tp/Texinfo/XS/convert/build_html_perl_info.c
(html_pass_units_directions_files)
(html_pass_output_units_global_targets),
tp/Texinfo/XS/convert/html_conversion_state.c
(compare_global_texts_direction_name)
(html_find_direction_name_global_text),
tp/Texinfo/XS/convert/html_converter_finish.c (html_reset_converter),
tp/Texinfo/XS/convert/html_prepare_converter.c
(compare_global_texts_direction_name)
(html_setup_global_texts_direction_names),
tp/Texinfo/XS/main/converter_types.h (TEXT_DIRECTION),
(TEXTS_DIRECTION_LIST, CONVERTER): add an XS interface for
global_direction_text.
2025-01-12 Patrice Dumas <pertusus@free.fr>
* tp/Texinfo/XS/convert/html_converter_types.h
(global_unit_direction),
tp/Texinfo/XS/convert/html_prepare_converter.c
(html_global_unit_direction_names), tp/Texinfo/XS/main/option_types.h
(direction_unit_direction), tp/Texinfo/XS/main/utils.c
(html_button_direction_names),
tp/maintain/generate_code_convert_data.pl: handle Space button as part
of HTML_GLOBAL_DIRECTIONS_LIST.
2025-01-12 Patrice Dumas <pertusus@free.fr>
Rename space direction ' ' to 'Space'
* tp/Texinfo/Data/default_direction_strings.csv, NEWS,
doc/texi2any_api.texi (Directions), tp/Texinfo/Convert/HTML.pm
(%defaults, _default_format_button, _default_format_navigation_panel)
(_default_format_special_body_about, _set_variables_texi2html),
tp/Texinfo/XS/convert/html_prepare_converter.c
(html_global_unit_direction_names), tp/Texinfo/XS/main/utils.c
(html_button_direction_names), tp/init/book.pm,
tp/maintain/generate_code_convert_data.pl,
tp/t/init/access_document_name_in_handler.pm, tp/t/init/icons.init,
tp/t/init/special_element_customization.pm, tp/t/init/t2h_buttons.pm,
tp/t/init/t2h_singular.init,
tp/t/init/translated_strings_customization.pm: rename space direction
' ' to 'Space'.
2025-01-12 Patrice Dumas <pertusus@free.fr>
Rename LINKS_BUTTONS customization variable to LINKS_DIRECTIONS
* tp/Texinfo/options_data.txt, tp/Texinfo/Convert/HTML.pm (%defaults,
_get_links), tp/Texinfo/XS/convert/format_html.c (get_links),
tp/Texinfo/XS/convert/html_converter_init_options.c
(set_html_default_buttons_specifications)
(add_html_default_buttons_specifications), tp/init/book.pm,
tp/t/converters_tests.t,
tp/t/init/button_replacement_for_special_unit_direction.pm: rename
LINKS_BUTTONS to LINKS_DIRECTIONS. Also rename link_buttons variable
as link_directions and $link as $link_direction.
* NEWS, doc/texi2any_api.texi (Simple Navigation Panel Customization)
(Customizing HTML File Beginning): remove LINKS_DIRECTIONS from
"Simple Navigation Panel Customization" node. Update.
2025-01-12 Patrice Dumas <pertusus@free.fr>
* tp/Texinfo/XS/texi2any.c (main), tp/load_txi_modules.pl,
tp/texi2any.pl: postpend +nc instead of +dev when the Perl script
called is not configured, to avoid possible confusion with the dev
string in the main version used for the development version. Also do
that for texi2any.c if uninstalled, as there is no possibility to be
non-configured in C.
2025-01-11 Gavin Smith <gavinsmith0123@gmail.com>
* configure.ac (AC_INIT): bump version to 7.2dev.
* tp/Texinfo/XSLoader.pm,
* tp/Texinfo/XS/configure.ac (XS_VERSION): strip off dev suffix
as XS bootstrap function doesn't accept it.
2025-01-12 Patrice Dumas <pertusus@free.fr>
* tp/Texinfo/XS/texi2any.c (conf_file_name, main): read
texi2any-config.pm customization files.
* tp/Texinfo/XS/texi2any.c (warn_deprecated_dirs): free
deprecated_dir_info strings too.
* tp/Texinfo/XS/texi2any.c (main): destroy
converter_config_dirs_array_ref earlier.
2025-01-12 Patrice Dumas <pertusus@free.fr>
* tp/Texinfo/XS/configure.ac, README-hacking: do not use
AC_LINK_IFELSE nor ready-to-use Autoconf code to test for Perl
embedding, as it does not seems possible to avoid AC_DEFINE results
performed previously includes:
https://lists.gnu.org/archive/html/autoconf/2025-01/msg00008.html
Instead use a code every similar to the configure code generated by
AC_LINK_IFELSE. This implies using an internal Autoconf shell
function and variable. Document in README-hacking that when Autoconf
is updated, this code should be checked.
2025-01-12 Patrice Dumas <pertusus@free.fr>
* tp/Texinfo/Convert/Info.pm, tp/Texinfo/Convert/Paragraph.pm
(@EXPORT_OK, BEGIN), tp/Texinfo/Convert/Plaintext.pm,
tp/t/z_misc/paragraph.t: remove code in Paragraph.pm importing symbols
in the caller, instead use Exporter and @EXPORT_OK. Gavin analysed
that this is not needed anymore since 2019 when XSLoader.pm init
started relying on XS declaring the correct package name.
Update code using Texinfo::Convert::Paragraph.
2025-01-11 Patrice Dumas <pertusus@free.fr>
Use last @printindex for Index direction in HTML
* NEWS, doc/texi2any_api.texi (Directions), tp/Texinfo/Convert/HTML.pm
(_prepare_output_units_global_targets),
tp/Texinfo/XS/convert/html_prepare_converter.c
(html_prepare_output_units_global_targets): use last @printindex for
the Index global direction in HTML. Report from Werner Lemberg.
2025-01-10 Patrice Dumas <pertusus@free.fr>
* tp/Texinfo/XSLoader.pm (%dl_path_prepended_dirs)
(load_libtool_library): prepend directories found where libtool .la
files are only once.
2025-01-10 Patrice Dumas <pertusus@free.fr>
* tp/Texinfo/Convert/ParagraphNonXS.pm (new): do not bless returned
hash reference.
* tp/Texinfo/Convert/Info.pm (_info_header),
tp/Texinfo/Convert/ParagraphNonXS.pm (new),
tp/Texinfo/Convert/Plaintext.pm (new_formatter),
tp/Texinfo/XS/XSParagraph.xs (xspara_new), tp/t/z_misc/paragraph.t:
remove class argument of Texinfo::Convert::Paragraph new.
2025-01-10 Patrice Dumas <pertusus@free.fr>
* tp/Texinfo/XS/Makefile.am: comments, move teximakehtml down.
2025-01-09 Patrice Dumas <pertusus@free.fr>
If installed, try to find XS module even if .la file is missing
* tp/Texinfo/ModulePath.pm.in ($converterxsdir): add.
* tp/Texinfo/XSLoader.pm ($added_converterxsdir, load_libtool_library)
(init): if called from installed Texinfo and loading an XS module and
the la file is not found,
- add $converterxsdir, where the XS modules are installed to
DynaLoader path
- let DynaLoader find the module file using the usual file names.
This allows to have modules found even if packagers remove .la files
installed in the default case on platforms where modules have usual
names and are found by DynaLoader.
2025-01-09 Gavin Smith <gavinsmith0123@gmail.com>
* info/info.c (info_short_help):
Split translatable string into shorter chunks.
2025-01-08 Patrice Dumas <pertusus@free.fr>
* tp/Texinfo/XS/convert/replace_call_embed_perl.c,
tp/Texinfo/XS/convert/replace_call_conversion_perl.c: move
call_eval_use_module to replace_call_embed_perl.c.
* tp/Texinfo/XS/Makefile.am (libperlembed_libtexinfo_main_la_SOURCES)
(libperlembed_libtexinfo_main_la_LIBADD, libtexinfo_main_la_LIBADD):
if PERL_EMBEDDED is not set use replace_call_embed_perl.c instead of
call_embed_perl.c in libperlembed_libtexinfo_main and do not use
PERL_EXTUTILS_EMBED_ldopts. The resulting library won't embed a Perl
interpreter. Based on a report from Gavin.
2025-01-08 Patrice Dumas <pertusus@free.fr>
* tp/Texinfo/XS/Makefile.am (teximakehtml_SOURCES),
tp/Texinfo/XS/convert/replace_call_conversion_perl.c,
tp/Texinfo/XS/convert/replace_call_embed_perl.c: split
replace_call_embed_perl.c out of replace_call_conversion_perl.c with
replacements for call_embed_perl.c functions only.
2025-01-08 Patrice Dumas <pertusus@free.fr>
pod2texi usage message
* Pod-Simple-Texinfo/pod2texi.pl: use ; instead of . to separate
information. Indent second line of option description by two spaces.
2025-01-08 Patrice Dumas <pertusus@free.fr>
texi2any usage message
* tp/Texinfo/XS/texi2any.c (main), tp/texi2any.pl: remove periods from
options descriptions unless they end a proper sentence starting with
an upper-cased letter.
2025-01-08 Patrice Dumas <pertusus@free.fr>
texi2any usage message
* tp/Texinfo/XS/texi2any.c (main): add examples to help message.
2025-01-08 Patrice Dumas <pertusus@free.fr>
* tp/Texinfo/XS/texi2any.c (main): split translated strings at end of
lines.
2025-01-08 Gavin Smith <gavinsmith0123@gmail.com>
Remove USE_REL_REV variable
* tp/Texinfo/options_data.txt,
* tp/Texinfo/Convert/converters_defaults.txt,
* tp/Texinfo/Convert/HTML.pm
(_direction_href_attributes, _default_format_button)
* tp/Texinfo/XS/convert/format_html.c
(direction_href_attributes, html_default_format_button)
* tp/Texinfo/XS/main/options_data.h,
* tp/t/init/redefined_buttons.pm
(_redefined_buttons_button_dynamic_direction),
* doc/texinfo.texi (File Names and Links Customization for HTML),
* doc/texi2any_api.texi (Simple Navigation Panel Customization),
* NEWS:
Remove USE_REL_REV.
2025-01-08 Patrice Dumas <pertusus@free.fr>
texi2any usage message
* tp/texi2any.pl (makeinfo_help) <Examples>: substitute
$real_command_name instead of hardcoding it.
2025-01-08 Gavin Smith <gavinsmith0123@gmail.com>
texi2any usage message
* tp/texi2any.pl (makeinfo_help) <Examples>: Split translation
string, remove newline from translation string, do not mention
@setfilename in examples, refer to "texi2any" rather than "makeinfo".
2025-01-08 Gavin Smith <gavinsmith0123@gmail.com>
texi2any usage message
* tp/texi2any.pl (makeinfo_help) <conditionals>,
* tp/Texinfo/XS/texi2any.c (main) <--help output> <conditionals>
Remove trailing '.'. Describe default settings generically.
Do not document all of --no-ifFORMAT commands explicitly.
Remove "even if not generating FORMAT" provisos from some option
descriptions. @ifnotFORMAT is relevant for --ifFORMAT as well
as --no-ifFORMAT. Align long options with other long options
in usage message.
2025-01-07 Patrice Dumas <pertusus@free.fr>
* tp/Texinfo/Translations.pm (_switch_messages_locale),
tp/Texinfo/XS/main/translations.c (switch_messages_locale): redirect
"locale -a" stderr to /dev/null. We are not really interested by
locale errors and there is a more general warning just after.
2025-01-07 Patrice Dumas <pertusus@free.fr>
* tp/Texinfo/Translations.pm (_switch_messages_locale),
tp/Texinfo/XS/main/translations.c (switch_messages_locale): warn
immediately if the switch to a locale other than C and POSIX did not
succeed.
2025-01-07 Patrice Dumas <pertusus@free.fr>
* tp/Texinfo/XS/convert/call_embed_perl.c (call_init_perl): set
PL_perl_destruct_level to 0 to decrease the time needed for the
destruction of the embedded Perl interpreter. Using
PERL_DESTRUCT_LEVEL env variable to get useful leak information with
valgrind is still possible.
2025-01-07 Patrice Dumas <pertusus@free.fr>
* doc/texi2any_api.texi (Target Tree Element Link): correct the order
of the return arguments of get_element_root_command_element.
2025-01-06 Patrice Dumas <pertusus@free.fr>
* tp/Texinfo/XS/Makefile.am (ctexi2any_LDADD): remove
libtexinfo-convertxs.la, it is not used at all in the program.
2025-01-06 Patrice Dumas <pertusus@free.fr>
Separate library for main program to isolate Perl embedding code
* tp/Texinfo/XS/convert/call_conversion_perl.c,
tp/Texinfo/XS/convert/call_embed_perl.c (call_eval_use_module)
(my_perl, xs_init, call_init_perl, call_finish_perl): move functions
related to Perl embedding to a different file, to be able to use
the ExtUtils::Embed compile flags for this file only.
* tp/Texinfo/XS/Makefile.am (C_libtexinfo_convert_sources)
(libtexinfo_convert_la_CPPFLAGS, libtexinfo-main.la)
(C_libtexinfo_main_sources, libperlembed_libtexinfo_main.la)
(libperlembed_libtexinfo_main_la_SOURCES)
(libperlembed_libtexinfo_main_la_CFLAGS)
(libperlembed_libtexinfo_main_la_LDFLAGS)
(libperlembed_libtexinfo_main_la_LIBADD, libtexinfo_main_la_SOURCES)
(libtexinfo_main_la_CPPFLAGS, libtexinfo_main_la_LIBADD)
(libtexinfo_main_la_LDFLAGS, teximakehtml_SOURCES)
(ctexi2any_LDADD): add the libtexinfo-main small library to use the
ExtUtils::Embed library flags for this library only. The C part
contains texinfo.c and there is also a convenience library for
call_embed_perl.c. Do not use ExtUtils::Embed compile flags
for the main program.
2025-01-06 Patrice Dumas <pertusus@free.fr>
* tp/Texinfo/XS/configure.ac: remove the warning messages at the end,
the check for enabled XS is done in the top configure.ac.
* tp/Texinfo/XS/configure.ac (embedded_perl, PERL_EMBEDDED): add
a full check for linking against the Perl interpreter library. Even
it the Perl XS infrastructure including headers and ExtUtils::Embed
is present the Perl interpreter library may not be installed.
2025-01-06 Patrice Dumas <pertusus@free.fr>
* tp/Texinfo/XS/configure.ac: improve a message.
2025-01-06 Patrice Dumas <pertusus@free.fr>
* tp/Texinfo/XS/Makefile.am (ctexi2any, ctexi2any_LDADD)
(ctexi2any_CFLAGS, ctexi2any_LDFLAGS), tp/Texinfo/XS/configure.ac
(PERL_EMBEDDED, PERL_EXTUTILS_EMBED_ccopts)
(PERL_EXTUTILS_EMBED_ldopts): check if ExtUtils::Embed is present, if
not do not build ctexi2any, if yes, use "perl -MExtUtils::Embed -e
ccopts" in ctexi2any CFLAGS and "perl -MExtUtils::Embed -e ldopts"
in ctexi2any LDADD.
2025-01-05 Patrice Dumas <pertusus@free.fr>
* tp/Texinfo/Convert/*.pm, tp/Texinfo/ParserNonXS.pm,
tp/Texinfo/Structuring.pm, tp/Texinfo/Transformations.pm,
tp/Texinfo/XS/convert/convert_html.c,
tp/Texinfo/XS/convert/converter.c,
tp/Texinfo/XS/convert/format_html.c,
tp/Texinfo/XS/main/convert_to_texinfo.c,
tp/Texinfo/XS/main/convert_to_text.c,
tp/Texinfo/XS/main/node_name_normalization.c,
tp/Texinfo/XS/parsetexi/end_line.c,
tp/Texinfo/XS/parsetexi/handle_commands.c,
tp/Texinfo/XS/structuring_transfo/structuring.c,
tp/Texinfo/XS/structuring_transfo/transformations.c: add comments,
change variables names and add checks to make clearer when an
arguments_line element is used.
2025-01-05 Patrice Dumas <pertusus@free.fr>
* tp/ext/highlight_syntax.pm (_get_language): use the first argument
to get the language.
* tp/tests/other/highlight_example.texi: add a second argument on
@example line for one of the @example.
2025-01-05 Patrice Dumas <pertusus@free.fr>
* tp/Texinfo/Common.pm, tp/Texinfo/ParserNonXS.pm,
tp/Texinfo/Convert/*.pm, tp/Texinfo/XS/convert/converter.c,
tp/Texinfo/XS/convert/format_html.c, tp/Texinfo/XS/main/utils.c,
tp/Texinfo/XS/parsetexi/*.c, tp/ext/*.pm, tp/init/*.pm: add comments
and change variable names to make clearer when an arguments_line
element is used when the type is not tested.
2025-01-05 Patrice Dumas <pertusus@free.fr>
* tp/Texinfo/XS/texi2any.c (main), tp/texi2any.pl: add
--[no-]number-footnotes to the help message.
2025-01-05 Patrice Dumas <pertusus@free.fr>
* tp/Texinfo/XS/texi2any.c (main): if uninstalled, prepend +dev to
PACKAGE_VERSION too.
* tp/Texinfo/XS/texi2any.c (main): if the mimick option is set, reset
PROGRAM program_options too.
2025-01-05 Patrice Dumas <pertusus@free.fr>
* tp/maintain/regenerate_documentlanguages-loc.pl: update country
codes. Add Namibia country code which seems to be missing.
2025-01-05 Patrice Dumas <pertusus@free.fr>
* doc/texinfo.texi (@code{@@documentlanguage}),
tp/maintain/regenerate_documentlanguages-loc.pl: add three letter
languages that correspond to individual languages.
2025-01-05 Patrice Dumas <pertusus@free.fr>
* tp/Texinfo/XS/texi2any.c (main): use a variable to be more robust
for non_first_file_cmdline_options initialization and free'ing.
* tp/Texinfo/XS/texi2any.c (main): close files.
2025-01-05 Patrice Dumas <pertusus@free.fr>
* tp/Texinfo/XS/texi2any.c (main): free texi2dvi_args also in case
texi2dvi is not called.
2025-01-05 Patrice Dumas <pertusus@free.fr>
* tp/Texinfo/XS/main/customization_options.c (clear_option)
(clear_options_list): remove the OF_set_in_list flag in clear_option
and not in clear_options_list, to be able to do it for individual
options.
* tp/Texinfo/XS/main/customization_options.c
(options_list_remove_option_number): add.
* tp/Texinfo/XS/texi2any.c (main): set XS_EXTERNAL_CONVERSION and
XS_EXTERNAL_FORMATTING.
* tp/Texinfo/XS/texi2any.c (main): remove the options that are only
relevant for the first processed file for the other files.
* tp/texi2any.pl: comment out unused code.
2025-01-04 Patrice Dumas <pertusus@free.fr>
SHOW_BUILTIN_CSS_RULES in ctexi2any
* tp/texi2any.pl: move code related to SHOW_BUILTIN_CSS_RULES earlier.
* tp/Texinfo/XS/convert/html_prepare_converter.c
(html_builtin_default_css_text), tp/Texinfo/XS/convert/texinfo.c
(txi_builtin_default_css_text): add.
* tp/Texinfo/XS/texi2any.c (main): handle SHOW_BUILTIN_CSS_RULES by
calling txi_builtin_default_css_text.
2025-01-04 Patrice Dumas <pertusus@free.fr>
* tp/Texinfo/XS/texi2any.c (main): add ignoring splitting message.
2025-01-04 Patrice Dumas <pertusus@free.fr>
* tp/texi2any.pl: remove end of line in help message translated
strings. Report from Benno Schulenberg.
* tp/Texinfo/XS/texi2any.c (main): add --Xopt message, reorder help
message to be the same as texi2any.pl.
2025-01-04 Gavin Smith <gavinsmith0123@gmail.com>
* doc/txi-fi.tex: recode from Latin-1 into UTF-8
2025-01-04 Patrice Dumas <pertusus@free.fr>
TREE_TRANSFORMATIONS in ctexi2any
* tp/Texinfo/XS/convert/texinfo.c (txi_tree_transformation_table)
(txi_find_tree_transformation), tp/Texinfo/XS/convert/texinfo.h
(TRANSFORMATION_NAME_FLAG, TT_TYPES_LIST): add.
* tp/Texinfo/XS/convert/texinfo.c (txi_complete_document): add missing
insert_nodes_for_sectioning_commands call.
* tp/Texinfo/XS/texi2any.c (main): setup tree transformation flags
based on TREE_TRANSFORMATIONS, calling txi_find_tree_transformation
and add them to the txi_complete_document call.
2025-01-04 Gavin Smith <gavinsmith0123@gmail.com>
* doc/txi-fi.tex: recode from Latin-2 into UTF-8
2025-01-04 Patrice Dumas <pertusus@free.fr>
* tp/Texinfo/XS/convert/texinfo.c (txi_general_output_strings_setup):
rename txi_general_setup as txi_general_output_strings_setup. Update
caller.
2025-01-04 Patrice Dumas <pertusus@free.fr>
* tp/Texinfo/XS/convert/converter.c (txi_paths_info)
(setup_txi_paths_information, generic_setup_main_converter): rename
conversion_paths_info as txi_paths_info,
setup_converter_paths_information as setup_txi_paths_information and
converter_setup as generic_setup_main_converter.
2025-01-04 Patrice Dumas <pertusus@free.fr>
* tp/Texinfo/XS/convert/texinfo.c (txi_general_setup),
tp/Texinfo/XS/texi2any.c (main): remove call of converter_setup from
txi_general_setup, use conversion_paths_info. Call converter_setup
directly in main and earlier, to have txi_base_sorted_options setup
early. Call txi_general_setup later on, in the same place as in Perl.
2025-01-04 Patrice Dumas <pertusus@free.fr>
Support formats handled by texi2dvi in ctexi2any
* tp/texi2any.pl: handle TEXI2DVI being undef or empty by exiting with
error.
* tp/Texinfo/XS/texi2any.c (FORMAT_NAME, format_names)
(name_of_format): add.
* tp/Texinfo/XS/texi2any.c (formats_table, format_expanded_formats)
(long_options, main): add support for formats handled by texi2dvi.
2025-01-04 Patrice Dumas <pertusus@free.fr>
Never consider stdin to be the input file when calling texi2dvi
* tp/texi2any.pl (@input_files): do not add - to input_files if there
is something on stdin when call_texi2dvi is set. texi2dvi do not
support reading files on stdin and will give an error message of it
own, but it is better to catch the missing file as soon as possible
in texi2any.
2025-01-04 Patrice Dumas <pertusus@free.fr>
* tp/texi2any.pl: move error related to call_texi2dvi down, where
call_texi2dvi is set.
* tp/texi2any.pl (name_of_format): rename format_name as
name_of_format.
2025-01-04 Patrice Dumas <pertusus@free.fr>
* tp/Texinfo/XS/convert/build_html_perl_info.c
(html_pass_conversion_initialization): always call
call_common_set_output_perl_encoding, even if there is no formatting
of HTML as Perl, as the Perl converter encoding may be used in the
main program for calls to
Texinfo::Convert::Utils::output_files_open_out.
2025-01-04 Patrice Dumas <pertusus@free.fr>
* tp/texi2any.pl: move code around to correspond better to texi2any.c
code.
2025-01-04 Patrice Dumas <pertusus@free.fr>
* tp/Texinfo/XS/convert/texinfo.c (txi_general_setup),
tp/Texinfo/XS/texi2any.c (main): call messages_and_encodings_setup
directly in main and not in txi_general_setup. Call txi_general_setup
later on in main. Move txi_general_setup code down in texinfo.c.
2025-01-04 Patrice Dumas <pertusus@free.fr>
* tp/Texinfo/Convert/HTML.pm (%XS_conversion_overrides),
tp/Texinfo/XS/convert/ConvertXS.xs (html_output_internal_links): add
an XS interface for output_internal_links.
* tp/Texinfo/XS/convert/build_html_perl_info.c
(html_pass_conversion_initialization), tp/Texinfo/XS/texi2any.c
(main): update now that output_internal_links do not need Perl
anymore.
2025-01-04 Patrice Dumas <pertusus@free.fr>
* tp/Texinfo/XS/texi2any.c (main): exit with an error and a message if
there is no interpreter and SORT_ELEMENT_COUNT is set.
2025-01-04 Patrice Dumas <pertusus@free.fr>
* tp/Texinfo/XS/main/node_name_normalization.c
(unicode_to_transliterate), tp/Texinfo/XS/main/replace_perl_api_call.c
(call_nodenamenormalization_unicode_to_transliterate): check return of
call_nodenamenormalization_unicode_to_transliterate in
unicode_to_transliterate, and call C code if NULL.
* tp/Texinfo/XS/main/call_perl_function.c
(call_nodenamenormalization_unicode_to_transliterate)
(call_translations_translate_string, call_setup_collator): check
get_no_perl_interpreter and return an appropriate value if set.
2025-01-04 Patrice Dumas <pertusus@free.fr>
Build ctexi2any even if DISABLE_ADDITIONAL_CHECKS is set
* tp/Texinfo/XS/Makefile.am (noinst_PROGRAMS): remove
DISABLE_ADDITIONAL_CHECKS conditional for ctexi2any.
2025-01-03 Patrice Dumas <pertusus@free.fr>
Check same version in ctexi2any caller and embedded Perl modules
* tp/Texinfo/XS/texi2any.c (main): postpend +dev to the
PACKAGE_AND_VERSION program customization option if uninstalled,
similar with texi2any.pl.
* tp/Texinfo/XS/convert/call_conversion_perl.c (call_init_perl),
tp/Texinfo/XS/convert/texinfo.c (txi_customization_loading_setup),
tp/Texinfo/XS/texi2any.c (main), tp/load_txi_modules.pl: pass the
version down to call_init_perl. In call_init_perl pass the version
as argument to load_txi_modules(.pl). In load_txi_modules.pl
check that the version on the command-line matches with the Perl
modules version.
2025-01-03 Patrice Dumas <pertusus@free.fr>
Pass direction icons to C options using names
* tp/Texinfo/XS/convert/ConvertXS.xs (html_prepare_simpletitle)
(html_convert), tp/Texinfo/XS/convert/convert_html.c
(html_free_direction_icons_array, compare_direction_icon)
(prepare_direction_icons_list, html_prepare_direction_icons)
(html_prepare_converted_output_info),
tp/Texinfo/XS/convert/format_html.c (html_default_format_button)
(html_default_format_special_body_about),
tp/Texinfo/XS/convert/html_converter_api.c (html_convert),
tp/Texinfo/XS/main/build_perl_info.c (html_build_direction_icons),
tp/Texinfo/XS/main/converter_types.h (CONVERTER),
tp/Texinfo/XS/main/customization_options.c (copy_option),
tp/Texinfo/XS/main/get_perl_info.c (get_sv_option)
(html_get_direction_icons_sv), tp/Texinfo/XS/main/option_types.h
(DIRECTION_ICON, DIRECTION_ICON_LIST), tp/Texinfo/XS/main/utils.c
(html_clear_direction_icons, html_free_direction_icons),
tp/Texinfo/XS/convert/html_converter_finish.c (html_reset_converter),
tp/maintain/regenerate_C_options_info.pl: add the DIRECTION_ICON type
to specify a direction name associated to an icon file name. Modify
DIRECTION_ICON_LIST in options to hold a list of DIRECTION_ICON,
such that the direction names do not have to be known when filling
direction icons information. Remove converter arguments of
html_build_direction_icons and html_get_direction_icons_sv. Inline
html_fill_direction_icons in html_get_direction_icons_sv.
Add arrays of icon file name strings to CONVERTER, similar to the
former direction icons options, filled with the new function
html_prepare_direction_icons based on direction icons options, and use
them in conversion in format_html.c. Call
html_prepare_direction_icons before starting the tree conversion.
2025-01-03 Patrice Dumas <pertusus@free.fr>
* tp/Texinfo/XS/main/converter_types.h (CONVERTER): rename
direction_unit_direction_name field as main_units_direction_names,
special_units_direction_name as special_units_direction_names and
global_units_direction_name as global_units_direction_names. Update
users.
* tp/Texinfo/XS/convert/html_prepare_converter.c
(html_setup_global_units_direction_names): rename
global_units_direction_names variable as global_units_directions_list
and special_units_direction_name as special_units_direction_names.
2025-01-03 Patrice Dumas <pertusus@free.fr>
* tp/Texinfo/XS/convert/call_conversion_perl.c
(call_sort_element_counts), tp/Texinfo/XS/convert/texinfo.c
(txi_sort_element_counts), tp/Texinfo/XS/main/converter_types.h
(CONVERTER_TEXT_INFO), tp/Texinfo/XS/texi2any.c (main): add a call to
Perl sort_element_counts and a wrapper around in texinfo.c.
Use it to implement handling SORT_ELEMENT_COUNT in texi2any.c.
2025-01-02 Patrice Dumas <pertusus@free.fr>
* tp/Texinfo/XS/convert/format_html.c (html_output_internal_links):
use sorted indices by name to determine the order of indices
processing.
2025-01-02 Patrice Dumas <pertusus@free.fr>
* tp/Texinfo/XS/main/utils.c (analyze_documentlanguage_argument),
tp/Texinfo/XS/parsetexi/end_line.c (end_line_misc_line): move code
checking documentlanguage validity to a function,
analyze_documentlanguage_argument.
* tp/Texinfo/XS/texi2any.c (main): check the validity of
document-language option value.
2025-01-02 Patrice Dumas <pertusus@free.fr>
* tp/Texinfo/Common.pm (warn_unknown_language): do not allow trailing
characters after region code.
* tp/Texinfo/XS/parsetexi/end_line.c (end_line_misc_line): warn about
invalid @documentlanguage argument exactly like in Perl.
* tp/Makefile.tres, tp/t/languages.t (invalid_documentlanguage): test
invalid @documentlanguage.
2025-01-02 Patrice Dumas <pertusus@free.fr>
* tp/Texinfo/XS/Makefile.am (C_libtexinfo_sources),
tp/maintain/regenerate_documentlanguages-loc.pl, README-hacking:
generate C source files with hash functions to check if a language or
a region code is valid using gperf.
2025-01-02 Patrice Dumas <pertusus@free.fr>
* tp/Texinfo/XS/convert/call_conversion_perl.c
(call_converter_output): do not get output_files_information from the
Perl converter if it is already in the C converter.
2025-01-02 Patrice Dumas <pertusus@free.fr>
* tp/Texinfo/XS/convert/texinfo.c (txi_converter_output): allow
output_files_information to be NULL.
2025-01-02 Patrice Dumas <pertusus@free.fr>
* tp/Texinfo/XS/texi2any.c (long_options, main): remove the
demonstration mode.
2025-01-01 Patrice Dumas <pertusus@free.fr>
* tp/Texinfo/XS/main/txi_config.c (program_file)
(GNUT_initialize_customization, txi_config_document_warn),
tp/Texinfo/XS/texi2any.c (main): pass address of program_file in
GNUT_initialize_customization, to be able to dereference the value in
txi_config_document_warn to get the modified strings, if they are
modified.
2025-01-01 Patrice Dumas <pertusus@free.fr>
* tp/Texinfo/XS/texi2any.c (long_options, main): change the mimick
option to only reset the program_file name, and have it change it as
soon as the option is encountered.
* tp/ctexi2any.pl: set the --mimick option to get texi2any in early
messages.
2025-01-01 Gavin Smith <gavinsmith0123@gmail.com>
Index initials in PDF outline
* doc/texinfo.tex
(\pdfmakeoutlines) [pdftex, xetex]: treat \idxinitialentry like
@section.
(\doindexinitialentry): New macro to create PDF target and
entry in .toc file for index initial.
(\initial): Call it.
Suggestion from Werner Lemberg, bug-texinfo, 2024-11-10.
2025-01-01 Gavin Smith <gavinsmith0123@gmail.com>
* INSTALL: mention gnulib-l10n soft dependency
2025-01-01 Patrice Dumas <pertusus@free.fr>
Implement internal links in C
* tp/Texinfo/XS/convert/format_html.c (html_output_internal_links):
implement output_internal_links.
* tp/Texinfo/XS/texi2any.c (write_to_file): add function based on code
related to macro expansion file;
* tp/Texinfo/XS/texi2any.c (formats_table, long_options, main): add
internal-links option and implement outputting internal links text.
2025-01-01 Patrice Dumas <pertusus@free.fr>
* tp/Texinfo/XSLoader.pm (init): if embedded_xs is set, reset
TEXINFO_XS variable and environment variable if TEXINFO_XS was omit,
as it is not possible to omit XS if Perl is embedded.
* tp/Texinfo/XS/convert/texinfo.c (txi_converter_setup): call fatal if
call_convert_converter did not succeed.
* tp/Texinfo/XSLoader.pm (_fatal): show message if embedded_xs is set.
2025-01-01 Gavin Smith <gavinsmith0123@gmail.com>
No change for txicodevaristt
* doc/texinfo.tex (\var): change comments to no longer say that
we will turn off "@set txicodevaristt". In practice users appear
happy with the current behaviour.
* TODO,
* doc/texinfo.texi (@var): update
2025-01-01 Gavin Smith <gavinsmith0123@gmail.com>
* doc/texinfo.tex (\b): Call \defcharsdefault so that
"@defun foo @b{&bar}" doesn't break.
2025-01-01 Gavin Smith <gavinsmith0123@gmail.com>
* doc/texinfo.tex (\opnr, \cpnr): unconditionally use \sf
font for opening or closing parenthesis, regardless of
whether an &keyword has been seen and whether we are at
the first level of parenthesis.
The purpose of this was unknown but it was not correct for input
such as:
@defmac define-advice symbol (where lambda-list &optional name depth) &rest body
where the closing ) would be printed in a different font to the
opening (.
2025-01-01 Gavin Smith <gavinsmith0123@gmail.com>
* po/ChangeLog, po_document/ChangeLog: delete these files
as they only include automatically generated content
2025-01-01 Patrice Dumas <pertusus@free.fr>
* tp/Texinfo/Convert/Plaintext.pm (_process_text_internal): use a hash
to substitute --- before -- instead of using a control character as
placeholder, in case a binary file with that character is given in
input. Also to get the same output as in C.
* tp/tests/formatting/Makefile.am (EXTRA_DIST),
tp/tests/formatting/foo.info: add an input file for the
info_extension_warning test such as to have an output independent of
the build directory location.
2024-12-31 Gavin Smith <gavinsmith0123@gmail.com>
Add pot headers to advertise both translation domains
* po/texinfo.pot-header,
* po_document/texinfo_document.pot-header: Add headers to be
used at the start of texinfo.pot and texinfo_document.pot. This
will hopefully encourage more translators to translate the
"texinfo_document" domain as well as "texinfo".
* Makefile.am (EXTRA_DIST): Reference these files as they are
not distributed otherwise.
2024-12-31 Gavin Smith <gavinsmith0123@gmail.com>
Reset linemacro counter
* tp/Texinfo/XS/parsetexi/macro.c (expand_linemacro_arguments):
Declare COUNTER object as a local variable as it is not used
outside the function. Call counter_reset before and after using
it.
* tp/Texinfo/XS/parsetexi/counter.c (counter_element_value):
adjust formatting.
2024-12-31 Gavin Smith <gavinsmith0123@gmail.com>
Separate sui generis tp/t tests
* tp/t/01use.t,
* tp/t/accents.t,
* tp/t/automatic_menus.t,
* tp/t/automatic_nodes.t,
* tp/t/convert_to_text.t,
* tp/t/do_master_menu.t,
* tp/t/index_before_item.t,
* tp/t/no_structure_test.t,
* tp/t/nodenormalization.t,
* tp/t/paragraph.t,
* tp/t/protect_character_in_texinfo.t,
* tp/t/raw_text_converter.t,
* tp/t/reference_to_text_in_tree.t,
* tp/t/same_parser_multiple_files.t,
* tp/t/test_brace_count.t,
* tp/t/test_converter_option.t,
* tp/t/test_document.t,
* tp/t/test_fill_gaps_in_sectioning.t,
* tp/t/test_is_content_empty.t,
* tp/t/test_parse_texi_line.t,
* tp/t/test_protect_contents.t,
* tp/t/test_protect_hashchar_at_line_beginning.t,
* tp/t/test_sort.t,
* tp/t/test_tree_copy.t:
Move all these tests to a subdirectory, tp/t/z_misc. These
are the tests that do not use the tp/t/test_utils.pl framework.
This makes it clearer which tests may need manual updating as
"maintain/all_tests.sh generate" won't work for these. It also
means that our instructions for running these tests with valgrind
(by changing Perl::Destruct::Level test_utils.pl) do not work and
this will make this exception more apparent.
2024-12-30 Gavin Smith <gavinsmith0123@gmail.com>
Italic correction on def line
* doc/texinfo.tex (\opnr, \cpnr):
add an italic correction before parenthesis.
(\defunargs) <@set codevaristt>:
add a kern at end of redefintion of @var to prevent italic correction.
2024-12-30 Patrice Dumas <pertusus@free.fr>
* tp/Texinfo/XS/texi2any.c (main): free macro expansion file output
files information.
2024-12-30 Patrice Dumas <pertusus@free.fr>
* tp/Texinfo/XS/main/convert_utils.c (register_unclosed_file),
tp/Texinfo/XS/main/utils.c (new_output_files_information)
(allocate_file_stream): add allocate_file_stream based on
register_unclosed_file code, with code doing the allocation of a
FILE_STREAM in OUTPUT_FILES_INFORMATION unclosed_files. Add
new_output_files_information.
* tp/Texinfo/XS/convert/call_conversion_perl.c
(call_converter_output), tp/Texinfo/XS/convert/texinfo.c
(txi_converter_output), tp/Texinfo/XS/main/converter_types.h
(OUTPUT_TEXT_FILES_INFO), tp/Texinfo/XS/main/get_perl_info.c
(get_output_files_information): in call_converter_output, call also
converter->output_files_information and return both the output text
and output files information in OUTPUT_TEXT_FILES_INFO struct.
Add get_output_files_information to setup OUTPUT_FILES_INFORMATION
based on Perl data returned by converter->output_files_information.
Copy opened_files and unclosed_files returned by call_converter_output
to the converter output_files_information in txi_converter_output.
2024-12-30 Gavin Smith <gavinsmith0123@gmail.com>
* info/scan.c (INFO_QUOTE, INFO_QUOTE_STR):
Define to avoid using \177 literals or equivalent. This should
make the purpose of the code clearer.
(scan_node_contents, read_quoted_string)
(scan_reference_target, scan_reference_label): Use.
(scan_reference_label): Do not check for INFO_QUOTE in a place
it should not be necessary.
2024-12-30 Gavin Smith <gavinsmith0123@gmail.com>
". " terminator for index entry node name
* info/scan.c (scan_reference_target):
First check for a ". " and ".\n" terminator for node name in menu,
rather than just a ".". This allows index entries referring to
nodes with "." in their names. Report from Bruno Haible.
2024-12-30 Gavin Smith <gavinsmith0123@gmail.com>
* info/scan.c [__hpux]: remove define of __va_copy which isn't
used in this file.
2024-12-30 Gavin Smith <gavinsmith0123@gmail.com>
Remove def formatting font switching
* doc/texinfo.tex (\cpnr): remove conditional switch to \sl
font after a close bracket (but only for the outermost level of
brackets).
(\infirstlevel): remove now unused macro
2024-12-30 Gavin Smith <gavinsmith0123@gmail.com>
Remove \bfafterword for def formatting
* doc/texinfo.tex (\bfafterword): Remove. This made the
second word in parentheses bold on a definition line, but
only after an &keyword. So in "@defun func &word (foo bar)",
"bar" would be printed in bold.
I do not know the purpose of this but it is presumably something
to do with Emacs Lisp syntax. But in some cases in the Emacs Lisp
manual this font style appeared inappropriate, for example in
@defmac cl-defmethod name [qualifier] arguments [&context (expr spec)@dots{}] &rest [docstring] body
the word "spec" was in bold, and nothing else. As no attempt is
made to do anything like this in texi2any and it is likely not
appropriate in many cases, we are better getting rid of the feature.
2024-12-30 Gavin Smith <gavinsmith0123@gmail.com>
* doc/texinfo.tex (\boldbrax, \parenbrackglpyhs):
Rename \boldbrax as it is not just for square brackets and
does not only use bold.
(\clnr, \cpnr): Rename to \cpnr as the old name does not
seem to make sense.
(\opnr, \cpnr, \lbrb, \rbrb):
Add comments about what the names of the macros stand for.
2024-12-30 Patrice Dumas <pertusus@free.fr>
* tp/Texinfo/Convert/Text.pm (converter_line_error)
(converter_document_warn, get_converter_errors): implement the
functions needed in Texinfo::Convert::Utils::expand_verbatiminclude to
get the error messages by using the Texinfo::Convert::Converter code.
* tp/Texinfo/XS/convert/ConvertXS.xs (text_convert_tree),
tp/Texinfo/XS/main/convert_to_text.c (destroy_text_options)
(convert_to_text_internal), tp/Texinfo/XS/main/convert_to_text.h
(TEXT_OPTIONS): add ERROR_MESSAGE_LIST error_messages field to
TEXT_OPTIONS. Use if for verbatiminclude if there is no associated
converter, be it text or other output converter, which means that we
are in C called from Perl Text Converter. Pass the error_messages
information back to Perl.
* tp/Texinfo/Convert/Text.pm (import): use a hash to specify overriden
functions.
2024-12-30 Gavin Smith <gavinsmith0123@gmail.com>
* tp/tests/run_parser_all.sh (post_process_output):
Do not create raw output directory except in certain cases,
as stderr output is no longer filtered for all tests.
2024-12-29 Gavin Smith <gavinsmith0123@gmail.com>
No skipping lines after no-arg macro at end of line
* doc/texinfo.tex (\endlineisspace, \ignoreactivenewline):
Replace \endlineisspace with \ignoreactivenewline.
(\macrodef) <no args>: Call \ignoreactivenewline. Rather
than changing the catcode of newline to space so that newlines
following the macro name are skipped, this only changes the definition
of active newline so that it is ignored. This is an issue if
the macro is called at the end of a line inside an environment
such as @example where newlines are active, at the end of a line.
* doc/texinfo-tex-test.texi (Braceless at end of line):
update test cases.
2024-12-29 Gavin Smith <gavinsmith0123@gmail.com>
* tp/tests/run_parser_all.sh (post_process_output):
Remove code stripping out lines with file names from output
as we unconditionally use forward slash as the directory separator,
so results should not be different on MS-Windows.
2024-12-28 Gavin Smith <gavinsmith0123@gmail.com>
Move defines out of system.h
* system.h [O_BINARY]:
Remove some system-dependent defines.
* info/info.h [O_BINARY]:
Re-add defines which were relevant to 'info'.
* install-info/install-info.c: [O_BINARY]
Re-add defines for NULL_DEVICE.
2024-12-28 Gavin Smith <gavinsmith0123@gmail.com>
Rename config.in to config.h.in.
* configure.ac (AM_INIT_AUTOMAKE),
* tp/Texinfo/XS/configure.ac (AM_INIT_AUTOMAKE):
Move config.in to config.h.in.
2024-12-28 Gavin Smith <gavinsmith0123@gmail.com>
Remove DJGPP support
* configure.ac,
* tp/Texinfo/XS/configure.ac:
Do not check for "msdosdjgpp" in $host. Comments changed.
* tp/Texinfo/XS/main/utils.c (null_device_names),
* tp/Texinfo/Common.pm (%null_device_file):
Remove special case for djgpp for checking for name of null
device.
* INSTALL,
* README,
* Makefile.am (EXTRA_DIST, po-check, po_document-check):
Remove djgpp subdirectory.
* djgpp/config.sed: deleted
* djgpp/README: deleted
* djgpp/config.bat: deleted
* djgpp/config.site: deleted
2024-12-27 Patrice Dumas <pertusus@free.fr>
* tp/Texinfo/XS/texi2any.c (main): add set_message_encoding and set
the variable to the customized MESSAGE_ENCODING value. Use
set_message_encoding for calls to txi_handle_*error_messages.
* tp/Texinfo/XS/convert/texinfo.c (txi_parser): remove locale_encoding
argument, take it from options_list only. Update caller.
2024-12-27 Patrice Dumas <pertusus@free.fr>
Raw text converter in C
* tp/Texinfo/XS/convert/converter.c, tp/Texinfo/XS/main/utils.c
(STRING_AND_LEN, texinfo_extensions, remove_extension, canonpath)
(determine_files_and_directory, texinfo_input_file_basename): move
remove_extension and canonpath to utils.c. Create
texinfo_input_file_basename in utils.c based on
determine_files_and_directory code, move STRING_AND_LEN and
texinfo_extensions to utils.c.
* tp/Texinfo/XS/convert/converter.c (apply_converter_info)
(write_or_return), tp/Texinfo/XS/main/converter_types.h
(ENCODING_CONVERSION): make apply_converter_info and write_or_return
public, move ENCODING_CONVERSION to converter_types.h.
* tp/Texinfo/XS/convert/converter.c (init_generic_converter)
(copy_translated_commands, free_translated_commands)
(apply_converter_info, clear_converter_initialization_info)
(destroy_converter_initialization_info)
(copy_converter_initialization_info),
tp/Texinfo/XS/main/converter_types.h (TRANSLATED_COMMAND_LIST)
(CONVERTER, CONVERTER_INITIALIZATION_INFO), tp/Texinfo/XS/main/utils.c
(add_translated_command, clear_translated_commands),
tp/Texinfo/XS/main/build_perl_info.c (set_translated_commands,
get_converter_info_from_sv): add TRANSLATED_COMMAND_LIST for
translated command list with the number of items. Use it instead of
TRANSLATED_COMMAND arrays in CONVERTER_INITIALIZATION_INFO and
CONVERTER. Add add_translated_command and clear_translated_commands
and modify the other functions. Update callers.
* tp/Texinfo/XS/Makefile.am (C_libtexinfo_convert_sources),
tp/Texinfo/XS/convert/rawtext_converter_api.c (rawtext_converter)
(initialize_options_encoding, rawtext_output, rawtext_convert)
(rawtext_convert_tree), tp/Texinfo/XS/convert/converter.c
(converter_format_data), tp/Texinfo/XS/main/converter_types.h (enum
converter_format), tp/Texinfo/XS/texi2any.c (formats_table): add
rawtext converter.
* tp/Texinfo/Convert/Text.pm (_initialize_options_encoding): change a
variable name.
2024-12-26 Patrice Dumas <pertusus@free.fr>
* tp/Texinfo/XS/convert/converter.c (converter_format_data)
(converter_converter), tp/Texinfo/XS/convert/converter.h
(CONVERTER_FORMAT_DATA): add converter_converter field in
CONVERTER_FORMAT_DATA and use it in converter_converter to be able to
do a different converter initialization for a format.
* tp/Texinfo/XS/convert/converter.c (set_converter_init_information),
tp/texi2any.pl: handle NULL/undef converter_defaults return.
2024-12-25 Patrice Dumas <pertusus@free.fr>
PlainTexinfo converter in C
* tp/Texinfo/Convert/PlainTexinfo.pm (%defaults),
tp/Texinfo/Convert/converters_defaults.txt (plaintexinfo_converter):
add PlainTexinfo converter defaults to converters_defaults.txt.
* tp/Texinfo/XS/convert/converter.c (converter_defaults)
(converter_conversion_initialization): add default implementations.
* tp/Texinfo/XS/convert/converter.h (CONVERTER_FORMAT_DATA),
tp/Texinfo/XS/convert/converter.c (write_or_return)
(converter_output_tree): implement converter_output_tree.
* tp/Texinfo/XS/Makefile.am (C_libtexinfo_convert_sources),
tp/Texinfo/XS/convert/plaintexinfo_converter_api.c
(plaintexinfo_converter_defaults, plaintexinfo_output)
(plaintexinfo_convert, plaintexinfo_convert_tree): implement a
converter for PlainTexinfo.
* tp/Texinfo/XS/texi2any.c (formats_table),
tp/Texinfo/XS/convert/converter.c (converter_format_data):
register the PlainTexinfo C converter.
* tp/Texinfo/XS/texi2any.c (main): check if FORMAT_MENU string is set
before accessing.
* tp/Texinfo/XS/main/document.c (set_document_options): free temporary
document_options options list.
2024-12-25 Patrice Dumas <pertusus@free.fr>
* tp/Texinfo/XS/main/document.c (set_document_options): replace
initialize_document_options by set_document_options, which uses a
temporary OPTIONS_LIST and uses program_options, cmdline_options
and init_files_options too to set document options. Similar to Perl
code setting MainConfig, filling with document options, calling
get_customization_options_hash and register_document_options.
* tp/Texinfo/XS/convert/texinfo.c (txi_complete_document),
tp/Texinfo/XS/texi2any.c (main): call set_document_options in main
program, not in txi_complete_document.
2024-12-25 Patrice Dumas <pertusus@free.fr>
* tp/Texinfo/XS/main/customization_options.c
(show_options_list_options_set), tp/Texinfo/XS/main/utils.c
(sort_strings_list, join_strings_list): add functions to sort and join
strings list, and function to show the options set in OPTIONS_LIST,
to be used for debugging.
2024-12-25 Patrice Dumas <pertusus@free.fr>
* tp/Texinfo/XS/texi2any.c (main): set program_file to be "texi2any"
if TEST is set.
* tp/Texinfo/XS/texi2any.c (main): if FORMAT_MENU is not set at all,
consider that menus are to be checked.
2024-12-25 Patrice Dumas <pertusus@free.fr>
* tp/Texinfo/XS/texi2any.c (main): reset the format_specification to
the converted format format_specification if the output format is
different from the converted format.
2024-12-25 Patrice Dumas <pertusus@free.fr>
* tp/maintain/change_perl_modules_version.sh,
tp/Texinfo/XS/configure.ac (TEXINFO_DTD_VERSION)
(TEXINFO_DTD_VERSION_CONFIG): add TEXINFO_DTD_VERSION to
tp/Texinfo/XS/configure.ac. Synchronize with top-level configure.ac
value in change_perl_modules_version.sh, set as
TEXINFO_DTD_VERSION_CONFIG in AC_DEFINE_UNQUOTED.
* tp/Texinfo/XS/convert/texinfo.c (txi_set_base_default_options):
set TEXINFO_DTD_VERSION based on TEXINFO_DTD_VERSION_CONFIG.
2024-12-25 Patrice Dumas <pertusus@free.fr>
* tp/Texinfo/XS/texi2any.c (main): load HTML Perl module based on init
files being loaded but also based on customization variables values
requiring Perl, using the same rules as in build_html_perl_info.c
html_pass_conversion_initialization. Determine if
CONVERT_TO_LATEX_IN_MATH will be set as in
html_initialize_output_state.
2024-12-25 Patrice Dumas <pertusus@free.fr>
* tp/Texinfo/Config.pm (%XS_overrides), tp/Texinfo/XS/main/ConfigXS.xs
(texinfo_set_format_from_init_file), tp/Texinfo/XS/main/txi_config.c
(texinfo_set_format_from_init_file, GNUT_get_format_from_init_file),
tp/Texinfo/XS/texi2any.c (main): add Texinfo::Config
format_from_init_file XS interface.
* tp/Texinfo/XS/convert/convert_html.c (html_convert_tree_append): set
an empty string if call_latex_convert_to_latex_math returns NULL.
2024-12-25 Patrice Dumas <pertusus@free.fr>
* tp/Texinfo/XS/main/customization_options.c
(new_converter_initialization_info),
tp/Texinfo/XS/convert/converter.c: move
new_converter_initialization_info to customization_options.c such that
it may be called in get_perl_info.c.
* tp/Texinfo/XS/convert/get_converter_perl_info.c,
tp/Texinfo/XS/main/get_perl_info.c (set_translated_commands)
(get_deprecated_config_directories_sv, get_converter_info_from_sv):
move to get_perl_info.c such that it is available to functions in
call_conversion_perl.c.
* tp/Texinfo/XS/convert/call_conversion_perl.c
(call_converter_converter_defaults), tp/Texinfo/XS/convert/texinfo.c
(txi_converter_format_defaults): add call_converter_converter_defaults
to get converter defaults from Perl. Add module argument to
txi_converter_format_defaults and call
call_converter_converter_defaults if set.
* tp/Texinfo/XS/main/utils.c (main): do not exist explicitly,
handle_errors should exit if there are errors, otherwise there should
be a normal exit.
2024-12-25 Patrice Dumas <pertusus@free.fr>
* tp/ctexi2any.pl: add a ctexi2any wrapper that can be called as a
Perl script, to be called for tests.
2024-12-25 Patrice Dumas <pertusus@free.fr>
* tp/Texinfo/XS/main/ConfigXS.xs (texinfo_set_from_init_file),
tp/Texinfo/XS/main/txi_config.c (warn_obsolete_options)
(texinfo_find_init_file_option_name, GNUT_set_from_init_file):
warn for obsolete options and ignore. This is different from Perl
where values and option names may be mapped.
2024-12-25 Patrice Dumas <pertusus@free.fr>
* tp/Texinfo/XS/Makefile.am (C_libtexinfo_sources),
tp/Texinfo/XS/main/txi_config.c (GNUT_initialize_customization)
(GNUT_get_conf, GNUT_decode_input, GNUT_encode_message)
(txi_config_document_warn, set_option_value)
(GNUT_set_customization_default, GNUT_set_from_cmdline)
(GNUT_set_from_init_file, txi_config_add_to_option_list)
(txi_config_remove_from_option_list), tp/Texinfo/XS/texi2any.c:
move configuration related functions out of texi2any.c to the new
main/txi_config.c file to get an interface similar to Texinfo::Config.
* tp/Makefile.am (modulesdir), tp/Texinfo/Config.pm (%XS_overrides)
(import), tp/Texinfo/ConfigXS.pm, tp/Texinfo/XS/Makefile.am
(xs_LTLIBRARIES, ConfigXS_la_*), tp/Texinfo/XS/main/txi_config.c
(texinfo_get_conf_by_name) (texinfo_find_command_line_option_name)
(texinfo_find_init_file_option_name)
(texinfo_command_line_option_add_option_number): add an XS interface
for Texinfo::Config functions related to customization options.
2024-12-24 Patrice Dumas <pertusus@free.fr>
README-hacking, tp/Texinfo/XS/convert/call_conversion_perl.c: add
call_conversion_perl as needing ppport.h, and follow ppport.h
suggestion to include ppport.h.
2024-12-24 Patrice Dumas <pertusus@free.fr>
Update po files.
2024-12-24 Patrice Dumas <pertusus@free.fr>
* po/POTFILES.in: replace teximakehtml.c by texi2any.c.
2024-12-24 Patrice Dumas <pertusus@free.fr>
* tp/Texinfo/XS/texi2any.c, tp/Texinfo/XS/Makefile.am
(teximakehtml_SOURCES, ctexi2any_SOURCES): rename teximakehtml.c as
texi2any.c.
* tp/texi2any.pl: remove end of line from translated string.
* tp/Texinfo/XS/texi2any.c (main): use the leading message of
texi2any.pl.
2024-12-24 Patrice Dumas <pertusus@free.fr>
* tp/Texinfo/XS/teximakehtml.c (formats_table, long_options)
(main): add formats with Perl modules specifications and options.
Load the corresponding Perl module to output the format.
2024-12-24 Patrice Dumas <pertusus@free.fr>
* tp/Texinfo/XS/convert/call_conversion_perl.c (call_eval_use_module)
(call_config_GNUT_load_init_file), tp/Texinfo/XS/convert/texinfo.c
(txi_converter_output_format_setup), tp/Texinfo/XS/teximakehtml.c
(main): add call_eval_use_module that evals use module to load a
module. Pass external_module to txi_converter_output_format_setup
to call call_eval_use_module.
* tp/init/book.pm (book_unit_file_name): always return a two elements
list.
2024-12-24 Patrice Dumas <pertusus@free.fr>
* tp/Texinfo/Convert/LaTeX.pm (convert_math_to_images): add
parentheses to Cwd::abs_path to avoid being considered as a bareword.
Found in the opencsw CI.
2024-12-24 Patrice Dumas <pertusus@free.fr>
* tp/Texinfo/ParserNonXS.pm: remove _print_command_args_texi, it
is better to call Texinfo::Convert::Texinfo functions.
2024-12-24 Patrice Dumas <pertusus@free.fr>
* tp/Texinfo/Convert/HTML.pm (_convert),
tp/Texinfo/XS/convert/convert_html.c (html_convert_tree_append):
remove the condition on arguments_list being set, it is always the
case.
2024-12-24 Patrice Dumas <pertusus@free.fr>
* tp/Texinfo/Convert/HTML.pm (_convert),
tp/Texinfo/XS/convert/convert_html.c (html_convert_tree_append): check
only that brace command is not empty when determining if there are
arguments, as other commands cannot be empty.
* tp/Texinfo/Convert/Text.pm: change in comments.
2024-12-24 Patrice Dumas <pertusus@free.fr>
always use arguments being line_arg to determine if item in table
* tp/Texinfo/Convert/DocBook.pm (_convert), tp/Texinfo/Convert/HTML.pm
(_convert_item_command, _convert), tp/Texinfo/Convert/TexinfoMarkup.pm
(_convert), tp/Texinfo/Convert/Text.pm (_convert),
tp/Texinfo/Convert/TextContent.pm (_convert),
tp/Texinfo/XS/convert/convert_html.c (html_convert_tree_append),
tp/Texinfo/XS/convert/format_html.c (html_convert_item_command),
tp/Texinfo/XS/main/builtin_commands.c (element_builtin_data_cmd):
always check that the argument is a line_arg to determine that an item
is to be considered a line command, in a @table or similar, instead of
using the type of the parent element,
2024-12-24 Patrice Dumas <pertusus@free.fr>
rename argument type as arguments_line
* tp/Texinfo/ParserNonXS.pm (_parse_macro_command_line)
(_handle_line_command, _handle_block_command),
tp/Texinfo/Structuring.pm (new_block_command),
tp/Texinfo/Transformations.pm (_new_node),
tp/Texinfo/XS/main/element_types.txt,
tp/Texinfo/XS/parsetexi/handle_commands.c (handle_line_command)
(handle_block_command), tp/Texinfo/XS/parsetexi/macro.c
(parse_macro_command_line),
tp/Texinfo/XS/structuring_transfo/structuring.c (new_block_command),
tp/Texinfo/XS/structuring_transfo/transformations.c
(fill_gaps_in_sectioning, new_node): rename argument type as
arguments_line. Update users.
2024-12-24 Patrice Dumas <pertusus@free.fr>
* tp/Texinfo/ParserNonXS.pm (_parse_macro_command_line): reorganize
code to be more similar with the corresponding C code.
2024-12-24 Patrice Dumas <pertusus@free.fr>
* tp/Texinfo/ParserNonXS.pm (_parse_macro_command_line),
tp/Texinfo/XS/parsetexi/macro.c (parse_macro_command_line): do not set
info arg_line for @*macro as the information is already in first
content argument text content. Make @macro element a block command
type in C.
* tp/Texinfo/Convert/TexinfoMarkup.pm (_convert): get @*macro line
from text in argument, the first content.
* tp/Texinfo/Convert/Texinfo.pm (_convert_to_texinfo),
tp/Texinfo/XS/main/convert_to_texinfo.c (convert_to_texinfo_internal):
handle command with line arguments in first content before line
commands with arg_line.
2024-12-24 Patrice Dumas <pertusus@free.fr>
* tp/Texinfo/ParserNonXS.pm (_parse_macro_command_line)
(_expand_macro_arguments, _expand_linemacro_arguments)
(_lookup_macro_parameter, _expand_macro_body, _handle_macro)
(_process_macro_block_contents), tp/Texinfo/XS/main/element_types.txt,
tp/Texinfo/XS/parsetexi/macro.c (parse_macro_command_line)
(lookup_macro_parameter, expand_macro_arguments)
(expand_linemacro_arguments, expand_macro_body, handle_macro),
tp/Texinfo/XS/parsetexi/parser.c (process_macro_block_contents): put
@*macro line in first content argument element as macro_line text
type. Put macro name in extra "macro_name" and formal args array in
extra "misc_args". Remove macro_name and macro_arg types, add
macro_name extra item.
* tp/Texinfo/Convert/TexinfoMarkup.pm (_convert): adapt to change in
tree.
2024-12-24 Patrice Dumas <pertusus@free.fr>
* tp/Texinfo/Convert/Texinfo.pm (_convert_to_texinfo, _convert_args),
tp/Texinfo/XS/main/convert_to_texinfo.c (convert_args)
(convert_to_texinfo_internal): add convert_args for expansion of
arguments separated by commas.
* tp/Texinfo/Convert/Texinfo.pm (_convert_to_texinfo),
tp/Texinfo/XS/main/convert_to_texinfo.c (convert_to_texinfo_internal):
change conditions to group more by type of commands.
2024-12-24 Patrice Dumas <pertusus@free.fr>
* tp/Texinfo/Convert/Text.pm (_convert): check line_commands instead
of converted_formattable_line_commands. Remove
%converted_formattable_line_commands.
* tp/Texinfo/XS/main/convert_to_text.c (convert_to_text_internal):
modify code to be more similar to corresponding Perl code.
* tp/maintain/regenerate_commands_perl_info.pl: remove unused
%converter_flag variable.
2024-12-24 Patrice Dumas <pertusus@free.fr>
remove remaining args from line commands and from Texinfo tree
* tp/Texinfo/ParserNonXS.pm (_parse_float_type),
tp/Texinfo/XS/main/floats.c (parse_float_type): let callers determine
the element with the Texinfo code corresponding to the float
identifier. Update callers.
* tp/Texinfo/Common.pm (informative_command_value)
(index_content_element), tp/Texinfo/ParserNonXS.pm
(_is_container_empty, _end_line_misc_line, _end_line_starting_block)
(_handle_line_command, _handle_comma, _parse_line_command_args),
tp/Texinfo/Structuring.pm (new_block_command),
tp/Texinfo/Transformations.pm (_correct_level),
tp/Texinfo/XS/main/manipulate_indices.c (index_content_element),
tp/Texinfo/XS/main/utils.c (informative_command_value),
tp/Texinfo/XS/parsetexi/close.c (is_container_empty),
tp/Texinfo/XS/parsetexi/end_line.c (parse_line_command_args)
(end_line_starting_block, end_line_misc_line),
tp/Texinfo/XS/parsetexi/handle_commands.c (handle_line_command),
tp/Texinfo/XS/parsetexi/separator.c (handle_comma),
tp/Texinfo/XS/structuring_transfo/structuring.c (new_block_command),
tp/Texinfo/XS/structuring_transfo/transformations.c (correct_level):
use contents instead of args for non root line commands.
* tp/Texinfo/ManipulateTree.pm
(_relate_index_entries_to_table_items_in): avoid spurious
autovivification.
* tp/Texinfo/OutputUnits.pm (units_directions),
tp/Texinfo/XS/main/output_unit.c, (units_directions): use contents to
determine if a node has automatic directions.
* tp/Texinfo/Common.pm (_collect_commands_in_tree)
(_collect_commands_list_in_tree, debug_print_element, debug_hash),
tp/Texinfo/ManipulateTree.pm (_copy_tree, _remove_element_copy_info)
(modify_tree), tp/Texinfo/Translations.pm (_substitute),
tp/Texinfo/XS/main/build_perl_info.c (element_to_perl_hash),
tp/Texinfo/XS/main/debug.c (print_element_debug),
tp/Texinfo/XS/main/manipulate_tree.c (copy_tree_internal)
(remove_element_copy_info, modify_tree),
tp/Texinfo/XS/main/translations.c (substitute),
tp/Texinfo/XS/main/tree.c (destroy_element)
(destroy_element_and_children), tp/Texinfo/XS/main/tree_types.h
(CONTAINER), tp/Texinfo/XS/parsetexi/debug_parser.c
(print_element_debug_parser), tp/t/test_utils.pl (@contents_keys):
remove code going through args as there are no args anymore. Remove
add_to_element_args, insert_into_args, insert_list_slice_into_args,
remove_from_args, pop_element_from_args, last_args_child and
args_child_by_index from tree.c.
* tp/Texinfo/Convert/DocBook.pm (_convert),
tp/Texinfo/Convert/LaTeX.pm (_convert),
tp/Texinfo/Convert/Plaintext.pm (_convert), tp/Texinfo/Convert/Text.pm
(_convert), tp/Texinfo/XS/main/convert_to_text.c
(convert_to_text_internal): return right after a line command is
formatted.
* tp/Texinfo/Convert/HTML.pm (_convert): add $data_command_name set
to item_LINE for @item in @*table, as in C.
* tp/Texinfo/Convert/Texinfo.pm (_convert_to_texinfo),
tp/Texinfo/XS/main/convert_to_texinfo.c (convert_to_texinfo_internal):
reorganize code, inlining _expand_cmd_args_to_texi in
_convert_to_texinfo and updating for the change of args to contents
for line commands.
* tp/Texinfo/Convert/Converter.pm
(normalized_sectioning_command_filename)
(format_comment_or_return_end_line, table_item_content_tree)
(comma_index_subentries_tree), tp/Texinfo/Convert/DocBook.pm
(conversion_output_begin, _index_entry)
(_convert_argument_and_end_line, _convert), tp/Texinfo/Convert/HTML.pm
(_internal_command_tree, command_description)
(_convert_quotation_command, _convert_item_command)
(_convert_printindex_command, _convert_menu_entry_type)
(_prepare_simpletitle, _prepare_converted_output_info, _convert),
tp/Texinfo/Convert/IXIN.pm, tp/Texinfo/Convert/Info.pm (_info_header),
tp/Texinfo/Convert/LaTeX.pm (_prepare_conversion, _title)
(_include_file_name, _convert),
tp/Texinfo/Convert/NodeNameNormalization.pm (_convert),
tp/Texinfo/Convert/Plaintext.pm (_convert),
tp/Texinfo/Convert/TexinfoMarkup.pm (_end_line_spaces, _texinfo_line)
(_convert_argument_and_end_line, _convert), tp/Texinfo/Convert/Text.pm
(_convert), tp/Texinfo/Convert/TextContent.pm (_convert),
tp/Texinfo/DebugTree.pm (_print_tree), tp/Texinfo/Indices.pm
(_idx_leading_text_or_command), tp/Texinfo/XS/convert/convert_html.c
(html_prepare_simpletitle, html_prepare_converted_output_info)
(html_convert_tree_append), tp/Texinfo/XS/convert/converter.c
(normalized_sectioning_command_filename, table_item_content_tree)
(comma_index_subentries_tree), tp/Texinfo/XS/convert/format_html.c
(html_command_description, html_convert_quotation_command)
(html_convert_item_command, html_convert_printindex_command)
(html_convert_menu_entry_type), tp/Texinfo/XS/main/convert_to_text.c
(convert_to_text_internal), tp/Texinfo/XS/main/manipulate_indices.c
(idx_leading_text_or_command),
tp/Texinfo/XS/main/node_name_normalization.c
(convert_to_normalized_internal), tp/ext/epub3.pm (epub_finish),
tp/init/documentation_examples.pm
(my_test_documentation_convert_index_entry_command_type),
tp/t/init/ignore_and_comments_output.init (convert_comment_command),
tp/t/init/redefine_need.init (my_need_formatting): update for
replacement of args by contents for line commands for conversion.
* tp/t/01use.t ($manual_tree): update for replacement of args by
contents.
2024-12-24 Patrice Dumas <pertusus@free.fr>
root line commands in 'argument' container in contents
* tp/Texinfo/Common.pm (is_content_empty), tp/Texinfo/XS/main/utils.c
(is_content_empty): ignore argument type.
* tp/Texinfo/XS/convert/format_html.c (html_open_quotation_command):
remove incorrect const.
* tp/Texinfo/Common.pm (get_label_element), tp/Texinfo/XS/main/utils.c
(get_label_element), tp/Texinfo/ParserNonXS.pm (_end_line_misc_line)
(_check_valid_nesting, _handle_line_command)
(_process_remaining_on_line, _parse_line_command_args),
tp/Texinfo/Structuring.pm (check_nodes_are_referenced, nodes_tree)
(new_node_menu_entry, new_block_command, new_complete_node_menu)
(_print_down_menus), tp/Texinfo/Transformations.pm
(fill_gaps_in_sectioning, _new_node)
(_get_non_automatic_nodes_with_sections),
tp/Texinfo/XS/parsetexi/end_line.c (parse_line_command_args)
(end_line_misc_line), tp/Texinfo/XS/parsetexi/handle_commands.c
(handle_line_command), tp/Texinfo/XS/parsetexi/parser.c
(check_valid_nesting, process_remaining_on_line),
tp/Texinfo/XS/structuring_transfo/structuring.c (new_block_command)
(check_nodes_are_referenced, complete_node_tree_with_menus, nodes_tree)
(new_node_menu_entry, new_complete_node_menu, print_down_menus),
tp/Texinfo/XS/structuring_transfo/transformations.c
(fill_gaps_in_sectioning, new_node)
(insert_nodes_for_sectioning_commands)
(get_non_automatic_nodes_with_sections): put arguments of root line
commands (@node, sectioning commands) in the first content in the
argument container type, remove args.
* tp/Texinfo/Convert/Converter.pm
(normalized_sectioning_command_filename, set_output_units_files)
(format_comment_or_return_end_line, sort_element_counts),
tp/Texinfo/Convert/DocBook.pm (conversion_output_begin)
(_convert_argument_and_end_line, _convert), tp/Texinfo/Convert/HTML.pm
(_internal_command_tree, _convert_heading_command)
(_file_header_information, _prepare_converted_output_info)
(_node_redirections), tp/Texinfo/Convert/LaTeX.pm (_convert),
tp/Texinfo/Convert/NodeNameNormalization.pm (_convert),
tp/Texinfo/Convert/Plaintext.pm (process_footnotes, format_contents)
(_convert), tp/Texinfo/Convert/Texinfo.pm
(root_heading_command_to_texinfo), tp/Texinfo/Convert/TexinfoMarkup.pm
(_convert), tp/Texinfo/Convert/Text.pm (_convert),
tp/Texinfo/XS/convert/convert_html.c (fulltitle_cmds)
(html_prepare_converted_output_info, html_node_redirections),
tp/Texinfo/XS/convert/converter.c
(normalized_sectioning_command_filename),
tp/Texinfo/XS/convert/format_html.c (html_internal_command_tree)
(file_header_information, html_convert_heading_command),
tp/Texinfo/XS/main/convert_to_texinfo.c
(root_heading_command_to_texinfo),
tp/Texinfo/XS/main/convert_to_text.c (convert_to_text_internal),
tp/Texinfo/XS/main/node_name_normalization.c
(convert_to_normalized_internal), tp/ext/epub3.pm (epub_finish),
tp/init/chm.pm (chm_init): update conversion code for change in root
commands tree.
2024-12-24 Patrice Dumas <pertusus@free.fr>
use contents for definition lines instead of args
* tp/Texinfo/ParserNonXS.pm (_handle_line_command)
(_handle_block_command), tp/Texinfo/Translations.pm
(complete_indices), tp/Texinfo/XS/parsetexi/handle_commands.c
(handle_line_command, handle_block_command),
tp/Texinfo/XS/parsetexi/indices.c (complete_indices): use contents for
definition lines in tree instead of args.
* tp/Texinfo/Convert/DocBook.pm (_convert),
tp/Texinfo/Convert/LaTeX.pm (_convert),
tp/Texinfo/Convert/Plaintext.pm (_convert),
tp/Texinfo/Convert/TexinfoMarkup.pm (_convert),
tp/Texinfo/Convert/Text.pm (_convert): return right after converting
definition line.
* tp/Texinfo/Convert/DocBook.pm (_convert_def_line),
tp/Texinfo/Convert/TexinfoMarkup.pm (_end_line_spaces)
(_convert_def_line), tp/Texinfo/Convert/Utils.pm
(definition_arguments_content, definition_category_tree),
tp/Texinfo/XS/main/convert_utils.c (definition_arguments_content)
(definition_category_tree): update for change in definition line in
tree.
* tp/Texinfo/Convert/Texinfo.pm (_convert_to_texinfo)
(_expand_cmd_args_to_texi), tp/Texinfo/XS/main/convert_to_texinfo.c
(expand_cmd_args_to_texi, convert_to_texinfo_internal): update for
change in definition line in tree. Simplify code by handling
definition lines as regular contents containers and by simplifying the
cases if arguments formatting.
* tp/Texinfo/Convert/TextContent.pm (%ignored_types, _convert): update
for change in definition line in tree. Format argument container type
like any other container.
2024-12-24 Patrice Dumas <pertusus@free.fr>
remaining non-definition block commands 'argument' container in contents
* tp/Texinfo/ParserNonXS.pm (_gather_def_item)
(_end_line_starting_block, _handle_block_command),
tp/Texinfo/XS/parsetexi/def.c (gather_def_item),
tp/Texinfo/XS/parsetexi/end_line.c (end_line_starting_block),
tp/Texinfo/XS/parsetexi/handle_commands.c (handle_block_command): put
arguments of block commands with items in the first content in the
argument container type, remove args.
* tp/Texinfo/Convert/DocBook.pm (_convert), tp/Texinfo/Convert/HTML.pm
(_convert_preformatted_command, _open_quotation_command, _convert),
tp/Texinfo/Convert/LaTeX.pm (_set_environment_options, _convert)
(convert_math_to_images), tp/Texinfo/Convert/Plaintext.pm (_convert),
tp/Texinfo/Convert/TextContent.pm (_convert),
tp/Texinfo/XS/convert/convert_html.c (html_convert_tree_append),
tp/Texinfo/XS/convert/format_html.c
(html_convert_preformatted_command, html_open_quotation_command),
tp/ext/highlight_syntax.pm (_get_language)
(highlight_preformatted_command), tp/ext/latex2html.pm (l2h_process),
tp/ext/tex4ht.pm (tex4ht_prepare): update for change in quotation,
cartouche and example tree.
2024-12-24 Patrice Dumas <pertusus@free.fr>
block commands with items in 'argument' container in contents
* tp/Texinfo/ParserNonXS.pm (_gather_previous_item)
(_close_command_cleanup, _close_command_cleanup, _end_line_misc_line)
(_end_line_starting_block, _parent_of_command_as_argument)
(_register_command_as_argument, _handle_other_command)
(_handle_block_command, _handle_open_brace),
tp/Texinfo/XS/convert/format_html.c (html_convert_itemize_command),
tp/Texinfo/XS/parsetexi/close.c (close_command_cleanup),
tp/Texinfo/XS/parsetexi/end_line.c (end_line_starting_block)
(end_line_misc_line), tp/Texinfo/XS/parsetexi/handle_commands.c
(handle_other_command, handle_block_command),
tp/Texinfo/XS/parsetexi/multitable.c (gather_previous_item),
tp/Texinfo/XS/parsetexi/parser.c (parent_of_command_as_argument)
(register_command_as_argument), tp/Texinfo/XS/parsetexi/separator.c
(handle_open_brace): put arguments of block commands with items in the
first content in the argument container type, remove args.
* tp/Texinfo/Convert/DocBook.pm (_convert), tp/Texinfo/Convert/HTML.pm
(_convert_itemize_command), tp/Texinfo/Convert/LaTeX.pm
(_set_environment_options, _convert), tp/Texinfo/Convert/Plaintext.pm
(_convert), tp/Texinfo/Convert/TexinfoMarkup.pm (_convert),
tp/Texinfo/Convert/TextContent.pm (%ignored_types, _convert),
tp/init/html32.pm (html32_convert_item_command): update conversion for
change in block commands with items tree.
2024-12-24 Patrice Dumas <pertusus@free.fr>
@float arguments in 'argument' container in contents instead of args
* tp/Texinfo/Common.pm (get_label_element), tp/Texinfo/ParserNonXS.pm
(_parse_float_type, _end_line_starting_block, _handle_block_command)
(_handle_comma, _process_remaining_on_line),
tp/Texinfo/XS/main/floats.c (parse_float_type),
tp/Texinfo/XS/main/utils.c (get_label_element),
tp/Texinfo/XS/parsetexi/end_line.c (end_line_starting_block),
tp/Texinfo/XS/parsetexi/handle_commands.c (handle_block_command),
tp/Texinfo/XS/parsetexi/parser.c (process_remaining_on_line),
tp/Texinfo/XS/parsetexi/separator.c (handle_comma): put @float
line arguments in argument container first in contents, remove float
args.
* tp/Texinfo/Convert/Converter.pm (format_comment_or_return_end_line)
(float_type_number, float_name_caption), tp/Texinfo/Convert/DocBook.pm
(%ignored_types), tp/Texinfo/Convert/HTML.pm
(%default_types_conversion), tp/Texinfo/Convert/LaTeX.pm
(%ignored_types, _prepare_floats, _convert),
tp/Texinfo/Convert/Plaintext.pm (%ignored_types, _convert),
tp/Texinfo/Convert/Texinfo.pm (_expand_cmd_args_to_texi),
tp/Texinfo/Convert/TexinfoMarkup.pm (_end_line_spaces)
(_convert_argument_and_end_line, _convert), tp/Texinfo/Convert/Text.pm
(%ignored_types, _convert), tp/Texinfo/XS/convert/converter.c
(float_type_number, float_name_caption),
tp/Texinfo/XS/convert/html_prepare_converter.c (ignored_types),
tp/Texinfo/XS/main/convert_to_texinfo.c (expand_cmd_args_to_texi),
tp/Texinfo/XS/main/convert_to_text.c (convert_to_text_internal): adapt
conversion to float argument being in in an argument container in
contents, and prepare more generally for block commands with arguments
in 'argument' container in contents.
2024-12-24 Patrice Dumas <pertusus@free.fr>
@*macro arguments in 'argument' container in contents instead of args
* tp/Texinfo/ParserNonXS.pm (_parse_macro_command_line)
(_expand_macro_arguments, _expand_linemacro_arguments)
(_lookup_macro_parameter, _expand_macro_body, _handle_macro)
(_process_macro_block_contents), tp/Texinfo/XS/main/element_types.txt
(argument), tp/Texinfo/XS/parsetexi/macro.c (parse_macro_command_line)
(lookup_macro_parameter, expand_macro_arguments)
(expand_linemacro_arguments, expand_macro_body, handle_macro),
tp/Texinfo/XS/parsetexi/parser.c (process_macro_block_contents):
put @*macro commands argument first in contents in a new container
type, argument. Do not use command args anymore.
* tp/Texinfo/Convert/Texinfo.pm (_convert_to_texinfo),
tp/Texinfo/Convert/TexinfoMarkup.pm (_convert),
tp/Texinfo/Transformations.pm (_protect_hashchar_at_line_beginning),
tp/Texinfo/XS/main/convert_to_texinfo.c (convert_to_texinfo_internal),
tp/Texinfo/XS/structuring_transfo/transformations.c
(protect_hashchar_at_line_beginning_internal): update for the change
in @*macro arguments.
2024-12-24 Patrice Dumas <pertusus@free.fr>
* tp/Texinfo/Convert/LaTeX.pm (convert_math_to_images): use contents
instead of args for @math.
2024-12-24 Patrice Dumas <pertusus@free.fr>
* tp/Texinfo/XS/main/element_types.txt: remove unused internal type
internal_spaces_after_cmd_before_arg.
2024-12-24 Patrice Dumas <pertusus@free.fr>
Use contents instead of args for brace commands in Texinfo tree
* tp/Texinfo/ParserNonXS.pm (_handle_comma): rename $brace_command as
$command_element.
* tp/Texinfo/Common.pm (get_label_element), tp/Texinfo/ParserNonXS.pm
(_end_line_starting_block, _new_value_element, _handle_open_brace)
(_handle_close_brace, _handle_comma, _process_remaining_on_line),
tp/Texinfo/Translations.pm (_substitute_element_array),
tp/Texinfo/XS/main/build_perl_info.c (element_to_perl_hash),
tp/Texinfo/XS/main/translations.c (substitute_element_array),
tp/Texinfo/XS/main/utils.c (get_label_element),
tp/Texinfo/XS/parsetexi/end_line.c (end_line_starting_block),
tp/Texinfo/XS/parsetexi/parser.c (new_value_element)
(process_remaining_on_line), tp/Texinfo/XS/parsetexi/separator.c
(handle_open_brace, handle_close_brace, handle_comma): use contents
instead of args for brace command arguments in Texinfo tree.
* tp/Texinfo/Structuring.pm (check_nodes_are_referenced),
tp/Texinfo/Transformations.pm (fill_gaps_in_sectioning)
(_reference_to_arg, _protect_hashchar_at_line_beginning),
tp/Texinfo/ManipulateTree.pm (_new_asis_command_with_text)
(_protect_text, protect_first_parenthesis),
tp/Texinfo/XS/main/manipulate_tree.c (new_asis_command_with_text)
(protect_text), tp/Texinfo/XS/structuring_transfo/structuring.c
(check_nodes_are_referenced, associate_internal_references),
tp/Texinfo/XS/structuring_transfo/transformations.c
(protect_first_parenthesis, fill_gaps_in_sectioning)
(reference_to_arg_internal)
(protect_hashchar_at_line_beginning_internal): update structuring and
transformations for change of args to contents for brace commands.
* tp/Texinfo/Convert/Converter.pm (table_item_content_tree),
tp/Texinfo/Convert/DocBook.pm (conversion_output_begin, _index_entry)
(_convert), tp/Texinfo/Convert/HTML.pm (_internal_command_tree)
(_convert_explained_command, _convert_listoffloats_command)
(_convert_float_command, _convert_xref_commands)
(_convert_printindex_command, _default_format_single_footnote)
(_prepare_converted_output_info, _convert), tp/Texinfo/Convert/Info.pm
(format_ref, format_image), tp/Texinfo/Convert/LaTeX.pm (_title)
(_begin_document, _index_entry, _convert),
tp/Texinfo/Convert/NodeNameNormalization.pm (_convert),
tp/Texinfo/Convert/Plaintext.pm (%ignored_commands, process_footnotes)
(process_printindex, format_ref, image_formatted_text, format_image)
(_convert), tp/Texinfo/Convert/Texinfo.pm (_convert_to_texinfo)
(_expand_cmd_args_to_texi), tp/Texinfo/Convert/TexinfoMarkup.pm
(_convert), tp/Texinfo/Convert/Text.pm (_convert),
tp/Texinfo/Convert/Utils.pm (definition_category_tree)
(find_innermost_accent_contents), tp/Texinfo/Indices.pm
(_idx_leading_text_or_command), tp/Texinfo/ManipulateTree.pm
(_new_asis_command_with_text, _protect_text)
(protect_first_parenthesis), tp/Texinfo/XS/convert/convert_html.c
(html_prepare_converted_output_info, html_convert_tree_append)
(html_node_redirections), tp/Texinfo/XS/convert/converter.c
(table_item_content_tree), tp/Texinfo/XS/convert/format_html.c
(html_internal_command_tree, html_default_format_single_footnote)
(html_convert_explained_command, html_convert_xref_command)
(html_convert_float_command, html_convert_listoffloats_command)
(html_convert_printindex_command),
tp/Texinfo/XS/main/convert_to_texinfo.c (expand_cmd_args_to_texi)
(convert_to_texinfo_internal), tp/Texinfo/XS/main/convert_to_text.c
(convert_to_text_internal), tp/Texinfo/XS/main/convert_utils.c
(find_innermost_accent_contents),
tp/Texinfo/XS/main/manipulate_indices.c (idx_leading_text_or_command),
tp/Texinfo/XS/main/node_name_normalization.c
(convert_to_normalized_internal), tp/ext/latex2html.pm (l2h_process),
tp/ext/tex4ht.pm (tex4ht_prepare): update conversion for change of
args to contents for brace commands. call get_label_element more.
* tp/Texinfo/Convert/DocBook.pm (_convert),
tp/Texinfo/Convert/LaTeX.pm (_convert),
tp/Texinfo/XS/main/convert_to_text.c (convert_to_text_internal),
tp/Texinfo/XS/main/node_name_normalization.c
(convert_to_normalized_internal): return right after formatting brace
commands.
* tp/init/documentation_examples.pm
(my_test_documentation_convert_xref_commands), tp/t/01use.t,
tp/t/init/footnote_mark_in_inline_content.pm
(_texi2any_test_format_single_footnote_in_inline_content): update
tests init files and manually written tree.
* tp/t/09indices.t: change code order.
2024-12-24 Patrice Dumas <pertusus@free.fr>
* tp/Texinfo/ParserNonXS.pm (_expand_macro_arguments)
(_expand_linemacro_arguments, _handle_macro),
tp/Texinfo/XS/parsetexi/macro.c (expand_macro_arguments)
(expand_linemacro_arguments, expand_macro_body, handle_macro): use
contents instead of args for macro call elements.
2024-12-24 Patrice Dumas <pertusus@free.fr>
* tp/Texinfo/ParserNonXS.pm (_place_source_mark)
(_process_remaining_on_line), tp/Texinfo/XS/parsetexi/close.c,
tp/Texinfo/XS/parsetexi/end_line.c, tp/Texinfo/XS/parsetexi/parser.c
(process_remaining_on_line), tp/Texinfo/XS/parsetexi/separator.c,
tp/Texinfo/XS/parsetexi/source_marks.c (place_source_mark): put text
element for spaces appearing after a brace @-command name before the
opening brace directly in info spaces_after_cmd_before_arg instead of
using the brace command contents. There is no need for
_gather_spaces_after_cmd_before_arg anymore, remove, update callers.
2024-12-24 Patrice Dumas <pertusus@free.fr>
* tp/Texinfo/Convert/LaTeX.pm (convert_math_to_images): always use
forward slashes as file path elements delimiter.
2024-12-24 Patrice Dumas <pertusus@free.fr>
* tp/Makefile.am (CLEANFILES): add load_txi_modules.
2024-12-24 Patrice Dumas <pertusus@free.fr>
tp/tests/run_parser_all.sh (check_info_math2img, no_dvipng)
(post_process_output): add support for INFO_MATH_IMAGES tests.
* autogen.sh, tp/tests/Makefile.am (other_tests_dirs), configure.ac
(AC_CONFIG_FILES), tp/tests/Makefile.onetst,
tp/tests/info_tex/Makefile.am, tp/tests/info_tex/tex_math.texi: add
test of INFO_MATH_IMAGES.
2024-12-24 Patrice Dumas <pertusus@free.fr>
* tp/Texinfo/Convert/LaTeX.pm (convert_math_to_images): return png
files relative to the directory where the info file is created.
2024-12-24 Patrice Dumas <pertusus@free.fr>
Implement INFO_MATH_IMAGES in Info
* tp/Texinfo/Convert/LaTeX.pm (_enc_usepackage, _latex_header):
separate _enc_usepackage to setup the usepackage related to encoding.
* tp/Texinfo/Convert/LaTeX.pm (convert_math_to_images): call
_enc_usepackage and encode output.
* tp/Texinfo/Convert/Info.pm (format_image_element),
tp/Texinfo/Convert/Plaintext.pm (format_image_element): rename
format_image as format_image_element.
* tp/Texinfo/Convert/Info.pm (format_image, format_image_element),
tp/Texinfo/Convert/Plaintext.pm (format_image): add format_image, to
do the low level formatting of image only. Note that the Plaintext
format_image is not called.
* tp/Texinfo/options_data.txt (INFO_MATH_IMAGES): add.
* TODO, tp/Texinfo/Convert/Plaintext.pm (conversion_initialization)
(_insert_image, _convert): implement INFO_MATH_IMAGES. Push a count
for @math and @displaymath with INFO_MATH_IMAGES to capture content.
Add _insert_image to output an image in case it is needed outside of
@image formatting, and use it for INFO_MATH_IMAGES @math and
@displaymath formatting.
2024-12-24 Patrice Dumas <pertusus@free.fr>
* tp/Texinfo/Convert/Plaintext.pm (conversion_initialization)
(_convert): set block_math_commands to always be
default_preformatted_context_commands and
default_format_context_commands. Do not set dynamically anymore the
'preformatted_context_commands' and 'format_context_commands'.
2024-12-24 Patrice Dumas <pertusus@free.fr>
* tp/Texinfo/Convert/LaTeX.pm (convert_math_to_images): render math
@-commands Texinfo tree elements as images using LaTeX with the
preview package and dvipng.
* tp/Texinfo/Convert/Info.pm (output): preliminary code for the call
to convert_math_to_images.
2024-12-24 Patrice Dumas <pertusus@free.fr>
Remove letter column in printindex HTML formatting, improve formatting
* TODO, tp/Texinfo/Convert/HTML.pm (_convert_printindex_command),
tp/Texinfo/Data/default_css_element_class_styles.csv
tp/Texinfo/XS/convert/format_html.c (html_convert_printindex_command):
remove the letter column, there is no reason to indent with the letter
used as heading. Add classes for the letter as heading. Bigger fonts
for the letter, add some spacing. Report from Per Bothner.
* tp/Texinfo/Convert/HTML.pm (_convert_printindex_command),
tp/Texinfo/Data/default_css_element_class_styles.csv,
tp/Texinfo/XS/convert/format_html.c (html_convert_printindex_command):
replace rule by table cell border in printindex formatting.
* tp/Texinfo/Convert/HTML.pm (_convert_printindex_command),: remove
the printindex indices formatting heading telling that the first
column is the index entry and the second one is the section, this
heading is not useful as it is only visible at the beginning of the
index, this is understandable without the heading and the formatting
structure is easier to follow without this heading.
* tp/Texinfo/Convert/HTML.pm (_convert_printindex_command),
tp/Texinfo/XS/convert/format_html.c
(printindex_letters_head_foot_internal): add classes with the index
name replaced by index to be able to set CSS for all the indices for
summary letters tables and index entries table.
2024-12-24 Patrice Dumas <pertusus@free.fr>
* Pod-Simple-Texinfo/pod2texi.pl: move end of lines out of translated
messages.
Update po files
2024-12-24 Patrice Dumas <pertusus@free.fr>
* tp/texi2any.pl: move end of lines out of translated messages.
2024-12-24 Patrice Dumas <pertusus@free.fr>
* po/POTFILES.in: add tp/Texinfo/XS/teximakehtml.c.
Update po files
2024-12-24 Patrice Dumas <pertusus@free.fr>
Update po files
2024-12-24 Patrice Dumas <pertusus@free.fr>
* Makefile.am (po-check): avoid a false positive.
2024-12-24 Patrice Dumas <pertusus@free.fr>
* tp/Texinfo/XS: run
gnulib-tool --add-import getopt-gnu
2024-12-24 Patrice Dumas <pertusus@free.fr>
Run gnulib --add-import under tp/Texinfo/XS.
2024-12-24 Patrice Dumas <pertusus@free.fr>
* tp/Texinfo/XS/convert/converter.c (free_converter_paths_information)
(setup_converter_paths_information), tp/Texinfo/XS/convert/converter.h
(INSTALLED_PATHS, UNINSTALLED_PATHS): add
free_converter_paths_information. Free previous conversion_paths_info
before setting them in setup_converter_paths_information.
* tp/Texinfo/XS/convert/converter.c (converter_setup): the function
can be called twice if called both from C and from a Perl converter
modules initialization called from C. Add a variable to avoid running
twice the code except for setting paths.
2024-12-24 Patrice Dumas <pertusus@free.fr>
* tp/Texinfo/XS/teximakehtml.c (locate_and_load_init_file)
(locate_and_load_extension_file, main): free strings and structures to
avoid memory leaks found with valgrind.
2024-12-24 Patrice Dumas <pertusus@free.fr>
* tp/Texinfo/XS/convert/texinfo.c (txi_load_init_file): add
embedded_interpreter argument, to be able to skip the call if there is
no embedded interpreter forced by the caller. Update caller.
* tp/Texinfo/XS/convert/texinfo.c (txi_customization_loading_setup),
tp/Texinfo/XS/main/api_to_perl.c (get_perl_scalar_reference_value)
(call_switch_to_global_locale, call_sync_locale),
tp/Texinfo/XS/main/xs_utils.c (set_no_perl_interpreter)
(get_no_perl_interpreter): add set_no_perl_interpreter and
get_no_perl_interpreter to be able to communicate that there is no
Perl interpreter even though the code is linked against Perl. Set it
in txi_customization_loading_setup. Avoid calling Perl functions if
set.
2024-12-24 Patrice Dumas <pertusus@free.fr>
* tp/Texinfo/XS/Makefile.am
(libcallperl_libtexinfo_convert_la_SOURCES)
(libtexinfo_convertxs_la_SOURCES),
tp/Texinfo/XS/convert/call_conversion_perl.c (get_sv_converter),
tp/Texinfo/XS/convert/get_converter_perl_info.c: move
libcallperl_libtexinfo_convert.c to libcallperl_libtexinfo_convert,
and move get_sv_converter to libcallperl_libtexinfo_convert.c as it is
used in that file.
* tp/Texinfo/XS/convert/call_conversion_perl.c
(call_config_GNUT_load_init_file), tp/Texinfo/XS/Makefile.am
(teximakehtml_SOURCES),
tp/Texinfo/XS/convert/replace_call_conversion_perl.c: add replacements
for call_conversion_perl.c functions to be used when not linked
against libtexinfo_convertxs.
* tp/Texinfo/XS/convert/texinfo.c (txi_customization_loading_setup)
(txi_load_init_file, txi_customization_loading_finish)
(txi_converter_setup, txi_converter_output),
tp/Texinfo/XS/teximakehtml.c (locate_and_load_init_file)
(locate_and_load_extension_file, main): move code calling
call_conversion_perl.c functions out of texi2makehtml.c to texinfo.c.
2024-12-24 Patrice Dumas <pertusus@free.fr>
* tp/Texinfo/XS/convert/call_conversion_perl.c (call_init_perl),
tp/Texinfo/XS/teximakehtml.c (main): call perl_run to have
load_txi_modules.pl executed. Report and check statuses.
* tp/Texinfo/XS/teximakehtml.c (main): put init files in a list when
they appear on the command line and load them only after the embedded
interpreter has been loaded.
2024-12-24 Patrice Dumas <pertusus@free.fr>
* tp/load_txi_modules.pl (BEGIN): load Texinfo::XSLoader in BEGIN
block and call set_XS_embedded to be sure that it is done before any
module with XS is loaded.
2024-12-24 Patrice Dumas <pertusus@free.fr>
* tp/texi2any.pl: use get_conf to determine if HTML_MATH and
HIGHLIGHT_SYNTAX are set to load extensions. Move code around.
* tp/Texinfo/XS/teximakehtml.c (locate_and_load_extension_file)
(main): load interpreter right after command-line options.
Load extension files based on customization variables set.
* tp/Texinfo/XS/teximakehtml.c (FORMAT_SPECIFICATION, main): handle
format needing an init file.
2024-12-24 Patrice Dumas <pertusus@free.fr>
* tp/Texinfo/XS/convert/texinfo.c (txi_set_base_default_options),
tp/Texinfo/XS/teximakehtml.c (main): set XS_STRXFRM_COLLATION_LOCALE
in main, remove embedded_interpreter txi_set_base_default_options
argument.
* tp/Texinfo/XS/teximakehtml.c (long_options, main): add options to
control embedded interpreter. Initialize embedded interpreter after
parsing the command-line.
2024-12-24 Patrice Dumas <pertusus@free.fr>
* tp/Texinfo/XS/main/replace_perl_api_call.c
(call_translations_translate_string),
tp/Texinfo/XS/main/translations.c (translate_string): have
call_translations_translate_string return 0 if there is no external
translate_string.
In translate_string, even if use_external_translate_string is > 0,
continue with C gettext if there is no external translate_string.
2024-12-24 Patrice Dumas <pertusus@free.fr>
* tp/Texinfo/XS/convert/converter.c
(clear_converter_initialization_info), tp/Texinfo/XS/main/utils.c
(clear_deprecated_dirs_list): add.
* tp/Texinfo/XS/convert/call_conversion_perl.c
(call_convert_converter), tp/Texinfo/XS/convert/texinfo.c
(txi_converter_initialization_setup, txi_converter_setup),
tp/Texinfo/XS/teximakehtml.c (main): separate
txi_converter_initialization_setup from txi_converter_setup.
2024-12-24 Patrice Dumas <pertusus@free.fr>
* tp/Texinfo/XS/convert/html_prepare_converter.c
(html_converter_customize): modify the external_* counters before
resetting the status.
2024-12-24 Patrice Dumas <pertusus@free.fr>
* tp/Texinfo/XS/convert/converter.c (free_generic_converter),
tp/Texinfo/XS/convert/ConvertXS.xs (generic_converter_init): hold a
reference to the converter in C. It is required if the converter is
not lexicaly associated to a Perl module, for instance when the
converter is created by a call to Perl method from C.
* tp/Texinfo/XS/Makefile.am (libtexinfo_convertxs_la_SOURCES),
tp/Texinfo/XS/convert/call_conversion_perl.c
(call_config_GNUT_load_init_file, call_init_perl, call_finish_perl),
tp/Texinfo/XS/main/call_perl_function.c: move code called from
embedded Perl to the new convert/call_conversion_perl.c file.
* tp/Texinfo/XS/convert/call_conversion_perl.c
(call_convert_converter, call_converter_output),
tp/Texinfo/XS/teximakehtml.c (formats_table, FORMAT_SPECIFICATION)
(main): add Perl module in FORMAT_SPECIFICATION, and add calls
tp converter converter and output Perl methods. Use it for HTML if
init files were loaded.
2024-12-24 Patrice Dumas <pertusus@free.fr>
force using XS when Perl interpreter is embedded
* tp/Texinfo/XSLoader.pm ($embedded_xs, set_XS_embedded)
(XS_parser_enabled, XS_structuring_enabled, XS_convert_enabled),
tp/load_txi_modules.pl: add set_XS_embedded to notify that the Perl
parser is embedded and set $embedded_xs. Call it from
load_txi_modules.pl.
* tp/Texinfo/Convert/HTML.pm (import): do not call _XS_format_setup if
Perl is embedded, as it has already been called by the C code.
2024-12-24 Patrice Dumas <pertusus@free.fr>
load initialization files in teximakehtml.c
* tp/Texinfo/XS/main/build_perl_info.c,
tp/Texinfo/XS/main/call_perl_function.c (newSVpv_byte): move
newSVpv_byte to call_perl_function.c.
* tp/Texinfo/XS/main/call_perl_function.c
(texinfo_convert_html_module_loaded, call_config_GNUT_load_init_file):
add call_config_GNUT_load_init_file.
* tp/Texinfo/XS/teximakehtml.c (warn_deprecated_dirs)
(locate_and_load_init_file, long_options, main): handle conf-dir and
init-file options. call call_config_GNUT_load_init_file through
locate_and_load_init_file when an init file is specified. Setup
directory lists related to init files.
2024-12-24 Patrice Dumas <pertusus@free.fr>
* tp/Makefile.am (converterdata_SCRIPTS, load_txi_modules): install
load_txi_modules.
* tp/Texinfo/XS/main/call_perl_function.c (call_init_perl),
tp/Texinfo/XS/teximakehtml.c (main): get file to load from
call_init_perl caller.
* tp/load_txi_modules.pl: add/remove loaded modules.
2024-12-24 Patrice Dumas <pertusus@free.fr>
ctexi2any C program for conversion to HTML with Perl embedding
* tp/load_txi_modules.pl, tp/Texinfo/XS/teximakehtml.c (main),
tp/Texinfo/XS/main/call_perl_function.c (xs_init, call_init_perl)
(call_finish_perl), tp/Texinfo/XS/Makefile.am (noinst_PROGRAMS)
(ctexi2any_SOURCES, ctexi2any_LDADD, ctexi2any_LDFLAGS)
(ctexi2any_CPPFLAGS): add load_txi_modules.pl, a new script that loads
the Texinfo modules, based on texi2any.pl beginning trimmed down.
Add call_init_perl and call_finish_perl to load a Perl interpreter
calling load_txi_modules.pl. In teximakehtml.c, if EMBED_PERL is
defined, call the functions to load an interpreter.
Add ctexi2any based on teximakehtml.c linking against libtexinfo*
libraries with EMBED_PERL defined.
* tp/Texinfo/XS/convert/texinfo.c (txi_general_setup)
(txi_set_base_default_options): add arguments to set
use_external_translate_string, and to be able to avoid setting
XS_STRXFRM_COLLATION_LOCALE. Update callers.
2024-12-23 Patrice Dumas <pertusus@free.fr>
* tp/Texinfo/XS/teximakehtml.c (main): really handle option setting a
flag. Set customization variable for debug option.
2024-12-23 Patrice Dumas <pertusus@free.fr>
* tp/Texinfo/Common.pm (%valid_tree_transformations): remove
indent_menu_descriptions, it has been removed long ago.
2024-12-23 Patrice Dumas <pertusus@free.fr>
* tp/Texinfo/Common.pm (%valid_tree_transformations),
tp/Texinfo/XS/convert/texinfo.h: reorder valid transformations. Add
STTF_fill_gaps_in_sectioning.
2024-12-23 Patrice Dumas <pertusus@free.fr>
* tp/Texinfo/Common.pm (%valid_transformation), tp/t/test_utils.pl
(test): fix spelling of relate_index_entries_to_table_items. Update
tests using that transformation.
2024-12-23 Patrice Dumas <pertusus@free.fr>
* tp/texi2any.pl: remove end of line in translated string.
* tp/Texinfo/XS/teximakehtml.c (document_warn, main): free strings
and wipe values in the end.
* tp/Texinfo/XS/teximakehtml.c (main): warn if input file ends with
.info. Complete suffixes. Set format if TEXI2HTML is specified.
2024-12-23 Patrice Dumas <pertusus@free.fr>
* tp/Texinfo/XS/teximakehtml.c (values, main): add -D and -U options.
2024-12-23 Patrice Dumas <pertusus@free.fr>
* tp/Texinfo/XS/teximakehtml.c (is_ascii_digit, main): add
paragraph-indent option. Encode help message and output to stdout.
2024-12-23 Patrice Dumas <pertusus@free.fr>
* tp/Texinfo/XS/teximakehtml.c (add_to_option_list)
(remove_from_option_list, set_expansion, unset_expansion)
(main): add add_to_option_list and remove_from_option_list, use in
set_expansion, unset_expansion and to set EXPANDED_FORMATS.
* tp/Texinfo/XS/teximakehtml.c (long_options, main): add css-include
and css-ref options.
* tp/Texinfo/XS/teximakehtml.c (main): always consider that
command-line array options are set from the command-line and call
options_list_add_option_number early for all these customization
variables.
* tp/Texinfo/XS/convert/texinfo.c (txi_converter_setup),
tp/Texinfo/XS/teximakehtml.c (main): set TEXINFO_LANGUAGE_DIRECTORIES
option in main, not in txi_converter_setup. Remove
texinfo_language_config_dirs_in txi_converter_setup argument. Move
code adding top_srcdir/util to texinfo_language_config_dirs to main.
2024-12-23 Patrice Dumas <pertusus@free.fr>
* tp/Texinfo/XS/main/customization_options.c (clear_options_list):
also clear the OF_set_in_list flags.
* tp/Texinfo/XS/convert/texinfo.c (txi_converter_format_defaults),
tp/Texinfo/XS/teximakehtml.c (main): do not set expanded_formats
through txi_converter_format_defaults, remove corresponding argument,
it should be set as a regular customization option. Remove
expanded_formats in teximakehtml.c.
* tp/Texinfo/XS/teximakehtml.c (main, set_expansion, unset_expansion):
always set EXPANDED_FORMATS as an added options in cmdline_options.
2024-12-23 Patrice Dumas <pertusus@free.fr>
* tp/Texinfo/XS/main/utils.c (store_value, clear_value),
tp/Texinfo/XS/parsetexi/macro.c (store_value_parsed_document)
(store_parser_value_parsed_document, clear_value_parsed_document)
(clear_parser_value_parsed_document): move the part of store_value
and clear_value strictly related to setting or clearing values in a
values list to utils.c, adding a values list argument to clear_value.
Rename functions in macro.c that apply on parser and also set internal
flags in parsed document to store_value_parsed_document,
store_parser_value_parsed_document, clear_value_parsed_document and
add clear_parser_value_parsed_document. Update callers.
2024-12-23 Patrice Dumas <pertusus@free.fr>
* tp/Texinfo/XS/teximakehtml.c (long_options, main): add command line
options setting customization variables simply.
2024-12-23 Patrice Dumas <pertusus@free.fr>
* tp/Texinfo/XS/teximakehtml.c (main): add prepended include
directories options. Correctly set include directories for parser and
converters.
* tp/Texinfo/XS/convert/texinfo.c (txi_parser): rearrange code for the
case of include directories not set, and put the current directory in
front.
2024-12-23 Patrice Dumas <pertusus@free.fr>
* tp/Texinfo/XS/teximakehtml.c (set_option_value)
(set_customization_default, set_from_cmdline): pass option number
instead of option. Pass value to set_customization_default. Update
callers.
* tp/Texinfo/XS/teximakehtml.c (long_options, main): add headers and
no headers command-line options.
2024-12-23 Patrice Dumas <pertusus@free.fr>
* tp/Texinfo/XS/teximakehtml.c (long_options, main): add macro-expand
option and implementation.
2024-12-23 Patrice Dumas <pertusus@free.fr>
* tp/texi2any.pl (document_warn): do not chomp input message.
Remove end of lines in document_warn calls.
2024-12-23 Patrice Dumas <pertusus@free.fr>
* tp/Texinfo/XS/teximakehtml.c (set_customization_default): also check
init_files_options.
* tp/Texinfo/XS/teximakehtml.c (long_options, main): add verbose and
trace-include options. Implement output of includes if TRACE_INCLUDES
is set.
* tp/Texinfo/XS/teximakehtml.c (main): handle parse and structure
output formats. Set do menu argument of txi_complete_document.
2024-12-23 Patrice Dumas <pertusus@free.fr>
* tp/Texinfo/XS/convert/texinfo.c (txi_converter_setup),
tp/Texinfo/XS/teximakehtml.c (FORMAT_COMMAND_LINE_NAME)
(format_command_line_names, FORMAT_REGION_NAME)
(converter_format_expanded_region_name, FORMAT_SPECIFICATION)
(formats_table, get_conf, set_option_value, set_from_cmdline)
(set_from_init_file, set_format, get_cmdline_customization_option)
(format_expanded_formats, set_cmdline_format, main): set
TEXINFO_OUTPUT_FORMAT especially based on environment, command-line or
as customization variable on command-line. Add formats table with
structuring and transformation flags. Set output_format,
converted_format and EXPANDED_FORMATS based on TEXINFO_OUTPUT_FORMAT.
Do not set TEXINFO_OUTPUT_FORMAT in txi_converter_setup anymore.
Remove parser_EXPANDED_FORMATS. Complete help message.
* tp/Texinfo/XS/teximakehtml.c (long_options): add html, remove
print_help_p for "help".
* tp/Texinfo/XS/teximakehtml.c (exit_if_errors): convert error_limit
to size_t.
* tp/Texinfo/XS/convert/texinfo.c: rename format_str as
converted_format.
2024-12-23 Patrice Dumas <pertusus@free.fr>
* tp/texi2any.pl (%formats_table): remove internal_links for latex, it
is not implemented.
* tp/texi2any.pl (set_format): remove end of line in message.
* tp/texi2any.pl (set_format): do not recognize undef for
TEXINFO_OUTPUT_FORMAT.
2024-12-23 Patrice Dumas <pertusus@free.fr>
* tp/Texinfo/XS/main/utils.c (remove_from_strings_list): free removed
string.
* tp/Texinfo/XS/teximakehtml.c (merge_opened_files, exit_if_errors)
(handle_errors, main): keep track of opened files. Remove opened
files at exit. Exit depending on options values and error numbers
as done in texi2any.
* tp/Texinfo/XS/teximakehtml.c (long_options, main): add force and
no-warn options.
2024-12-23 Patrice Dumas <pertusus@free.fr>
* tp/Texinfo/XS/main/errors.c (output_error_messages), tp/texi2any.pl
(_output_error_messages): rename handle_error_messages as
output_error_messages and _handle_errors as _output_error_messages.
2024-12-23 Patrice Dumas <pertusus@free.fr>
* tp/texi2any.pl: keep track of total errors number by using the
handle_errors return value. Use handle_errors for document errors.
* tp/texi2any.pl (handle_errors): change a variable name.
2024-12-23 Patrice Dumas <pertusus@free.fr>
* tp/Texinfo/XS/main/utils.c (remove_from_strings_list): add.
* tp/Texinfo/XS/teximakehtml.c (main): set directly
cmdline_options.options->INCLUDE_DIRECTORIES strings list with include
directories, remove include_dirs.
* tp/Texinfo/XS/teximakehtml.c (set_expansion, unset_expansion)
(long_options, main): handle --if*FORMAT options. Remove
demo_parser_EXPANDED_FORMATS.
2024-12-23 Patrice Dumas <pertusus@free.fr>
Handle processing more than one file in teximakehtml
* tp/Texinfo/XS/main/customization_options.c (clear_options_list):
add.
* tp/Texinfo/XS/teximakehtml.c (main): set program_options and not
converter_options based on demonstration_p and mimick_p. Parse input
file name and use the input file name directory to complete
converter_texinfo_language_config_dirs.
2024-12-23 Patrice Dumas <pertusus@free.fr>
* tp/Texinfo/XS/teximakehtml.c (set_from_cmdline): handle "undef"
value. Fix variable name.
* tp/Texinfo/XS/configure.ac (CONVERTER_CONFIG): pass CONVERTER as
CONVERTER_CONFIG.
* tp/Texinfo/XS/teximakehtml.c (long_options, main): add version,
output, footnote-style and split options.
* tp/texi2any.pl ($makeinfo_help): avoid \n in translated strings,
split each option in a translatable string. Report from Benno
Schulenberg.
2024-12-23 Patrice Dumas <pertusus@free.fr>
* tp/Texinfo/XS/teximakehtml.c (set_from_cmdline, _)
(get_cmdline_customization_option, long_options, main): use _() for
translated messages. Add help message similar to texi2any help
message. Use - as input file if it is possible to read from stdin.
Add document-language, error-limit and help options. Put all the
files to process in a list. Output the same error messages as in
texi2any when input file is missing.
2024-12-23 Patrice Dumas <pertusus@free.fr>
* tp/Texinfo/XS/teximakehtml.c (set_subdir_directories): remove
useless leading ./.
* tp/Texinfo/XS/teximakehtml.c (long_options, main): add long options
support by calling getopt_long and set long_options.
* tp/Texinfo/XS/teximakehtml.c (long_options, main): set mimick mode
and demonstration mode with long options. Do not set TEST especially.
Remove run mode, using options should be enough.
2024-12-23 Patrice Dumas <pertusus@free.fr>
* tp/Texinfo/XS/main/customization_options.c
(option_number_in_option_list, options_list_add_option_number),
maintain/regenerate_C_options_info.pl: set OF_set_in_list flag in in
option flag when the option is added to an option list. Always check
that the OF_set_in_list flag is not set before adding to the options
list, and remove the check_duplicates options_list_add_option_number
argument. Update callers.
2024-12-23 Patrice Dumas <pertusus@free.fr>
Use XDG base directory in teximakehtml
* tp/Texinfo/XS/main/utils.c (find_deprecated_dir_info): add const.
* tp/Texinfo/XS/convert/texinfo.c (txi_converter_setup): get and set
DEPRECATED_DIRS_LIST deprecated dirs.
* tp/Texinfo/XS/teximakehtml.c (add_config_paths, main)
(set_subdir_directories): implement add_config_paths and
set_subdir_directories and use to set texinfo_language_config_dirs.
2024-12-23 Patrice Dumas <pertusus@free.fr>
Deprecated directories warning in XS/C
* tp/Texinfo/XS/main/utils.c (file_name_is_absolute)
(locate_include_file, locate_file_in_dirs): add file_name_is_absolute.
* tp/Texinfo/XS/main/converter_types.h (DEPRECATED_DIR_INFO)
(DEPRECATED_DIRS_LIST, CONVERTER_INITIALIZATION_INFO, CONVERTER),
tp/Texinfo/XS/main/utils.c (find_deprecated_dir_info)
(add_deprecated_dir_info, copy_deprecated_dirs)
(add_new_deprecated_dir_info, free_deprecated_dirs_list): add
deprecated directories structures and functions.
* tp/Texinfo/XS/convert/converter.c (apply_converter_info)
(destroy_converter_initialization_info, free_generic_converter),
tp/Texinfo/XS/convert/get_converter_perl_info.c
(get_deprecated_config_directories_sv, get_converter_info_from_sv):
pass deprecated directories information from Perl to converter.
* tp/Texinfo/XS/main/utils.c (locate_file_in_dirs),
tp/Texinfo/XS/convert/html_prepare_converter.c (load_htmlxref_files):
set deprecated directories used in locate_file_in_dirs. Warn if
deprecated directories are used in load_htmlxref_files.
2024-12-23 Patrice Dumas <pertusus@free.fr>
* tp/Texinfo/XS/convert/texinfo.c (txi_parser): check that
input_directory is not NULL before using.
* tp/Texinfo/XS/teximakehtml.c (main): call
options_list_add_option_number for parser options set.
* tp/Texinfo/XS/Makefile.am (teximakehtml_CPPFLAGS),
tp/Texinfo/XS/teximakehtml.c (push_include_directory, main): pass
PATH_SEP from configure PATH_SEPARATOR to teximakehtml flags.
Add -I option, add include_dirs and set INCLUDE_DIRECTORIES option
based on the -I values.
2024-12-23 Patrice Dumas <pertusus@free.fr>
* tp/Texinfo/XS/teximakehtml.c (main): copy the parser customizations
set into the parser options.
2024-12-23 Patrice Dumas <pertusus@free.fr>
* tp/Texinfo/Convert/converters_defaults.txt,
tp/maintain/regenerate_C_options_info.pl: set defaults for parser array
variables. Select integer and strings only to set regular options in
C.
* tp/Texinfo/Common.pm: remove %array_parser_options, it is not useful
anymore.
2024-12-23 Patrice Dumas <pertusus@free.fr>
* tp/Texinfo/XS/convert/converter.c (set_global_document_commands)
tp/Texinfo/XS/main/customization_options.c (initialize_option)
(option_set_conf, copy_options_list_set_configured),
tp/Texinfo/XS/main/get_perl_info.c (get_sv_option),
tp/Texinfo/XS/main/option_types.h (OPTION): replace configured with
flags, and use a flag to determine if the option is configured.
Add flags argument to initialization function.
* tp/maintain/regenerate_C_options_info.pl: set a specific flag for
parser options and options set in parser flags when initializing the
options.
2024-12-23 Patrice Dumas <pertusus@free.fr>
* tp/Texinfo/Common.pm (%array_parser_options)
(%default_parser_customization_values)
($common_parser_regular_options_defaults): add %array_parser_options
for array reference parser options and use Texinfo::Options
parser options to get the other customization options. Remove
%common_parser_customization and %parser_customization.
* util/txicustomvars: use Texinfo::Options::parser_options only to get
parser specific options.
2024-12-23 Patrice Dumas <pertusus@free.fr>
* tp/maintain/regenerate_perl_options_info.pl,
tp/Texinfo/Convert/Converter.pm, tp/Texinfo/Convert/HTML.pm: do not
prepend converter_ in front of regular options defaults. Rename
get_converter_regular_options as get_regular_options.
* tp/Texinfo/Convert/converters_defaults.txt,
tp/Texinfo/Convert/Converter.pm, tp/Texinfo/Convert/HTML.pm,
tp/Texinfo/XS/convert/html_converter_init_options.c
(html_converter_defaults), tp/Texinfo/XS/convert/converter.c
(set_generic_converter_options): update names.
2024-12-23 Patrice Dumas <pertusus@free.fr>
* tp/maintain/regenerate_C_options_info.pl,
tp/Texinfo/options_data.txt: add parser customization options.
* tp/Texinfo/Convert/converters_defaults.txt (common_parser):
setup common_parser options.
2024-12-23 Patrice Dumas <pertusus@free.fr>
* tp/Texinfo/XS/convert/texinfo.c, tp/Texinfo/XS/teximakehtml.c
(set_customization_default, main): remove
txi_config_set_customization_default from texinfo.c and add the
similar set_customization_default function to teximakehtml.c.
2024-12-23 Patrice Dumas <pertusus@free.fr>
Fix memory leaks in teximakehtml (from valgrind)
* tp/Texinfo/XS/teximakehtml.c (document_warn): free encoded_message.
* tp/Texinfo/XS/teximakehtml.c (main): strdup top_builddir if coming
from getenv. Free top_builddir. Destroy format_defaults.
2024-12-23 Patrice Dumas <pertusus@free.fr>
* tp/Texinfo/XS/teximakehtml.c (get_cmdline_customization_option):
clear option if value is undef, case insensitive, to match what is
done in Perl, setting to undef.
2024-12-23 Patrice Dumas <pertusus@free.fr>
* tp/texi2any.pl: when parsing -c/--set-customization-variable,
determine the variable name before checking if the value should be
decoded.
2024-12-23 Patrice Dumas <pertusus@free.fr>
* tp/Texinfo/Config.pm (_GNUT_document_warn, _GNUT_document_fatal)
(GNUT_set_from_cmdline, texinfo_register_no_arg_command_formatting)
(GNUT_get_no_arg_command_formatting)
(texinfo_register_style_command_formatting)
(GNUT_get_style_command_formatting)
(texinfo_register_special_unit_info): remove \n in messages. Remove
chomp in _GNUT_document_warn and _GNUT_document_fatal.
2024-12-23 Patrice Dumas <pertusus@free.fr>
* tp/Texinfo/XS/convert/html_prepare_converter.c,
tp/Texinfo/XS/main/base_utils.c (read_var_len): move read_var_len to
base_utils.c.
* tp/Texinfo/XS/main/errors.c (handle_error_messages): ignore no_warn
if < 0.
* tp/Texinfo/XS/teximakehtml.c (get_conf, decode_input)
(encode_message, document_warn, get_cmdline_customization_option)
(main): add command-line option to set customization option.
Use NO_WARN and TEST customization variables values for
txi_handle_*_error_messages arguments.
2024-12-23 Patrice Dumas <pertusus@free.fr>
* tp/Texinfo/XS/convert/texinfo.c (txi_set_base_default_options)
(txi_converter_setup), tp/Texinfo/XS/teximakehtml.c (main): do not set
options independent of converter format in txi_converter_setup, add
txi_set_base_default_options for that, and call it early, before
getting command-line options. In txi_set_base_default_options, also
call add_program_cmdline_options_defaults and
add_program_customization_options_defaults to set the same defaults
as in texi2any.
* tp/Texinfo/XS/convert/texinfo.c
(txi_config_set_customization_default),
tp/Texinfo/XS/main/customization_options.c
(option_number_in_option_list, options_list_add_option_number): add
option_number_in_option_list based on options_list_add_option_number.
Add txi_config_set_customization_default to set program option if not
already set as command line option.
* tp/Texinfo/XS/teximakehtml.c (main): call
txi_config_set_customization_default to set FORMAT_MENU based on
converter customization option taking into account cmdline_options.
Set convert_options based on program_options and cmdline_options.
2024-12-23 Patrice Dumas <pertusus@free.fr>
* tp/Texinfo/Config.pm (texinfo_set_from_init_file)
(GNUT_set_customization_default): consistently use exists to determine
if cmdline_options or init_files_options are set, and not defined.
2024-12-23 Patrice Dumas <pertusus@free.fr>
* tp/Texinfo/Convert/HTML.pm (_convert_menu_entry_type),
tp/Texinfo/XS/convert/format_html.c (html_convert_menu_entry_type):
if !NODE_NAME_IN_MENU, pick the associated section even if the node is
the element command. Report from Frederico Muñoz.
2024-12-23 Gavin Smith <gavinsmith0123@gmail.com>
* system.h (setmode): Remove now unused.
2024-12-23 Gavin Smith <gavinsmith0123@gmail.com>
* system.h (SET_BINARY): Remove now unused.
2024-12-23 Gavin Smith <gavinsmith0123@gmail.com>
* configure.ac (AC_CONFIG_HEADERS): Elaborate on config.in
naming. Information from Eli.
2024-12-23 Gavin Smith <gavinsmith0123@gmail.com>
makedoc: remove -tags option
* info/makedoc.c (EMACS_TAG, EMACS_TAG_BLOCK, emacs_tags):
Remove.
(maybe_dump_tags): Remove.
(main, process_one_file): Remove all handling of -tags option or
tag blocks.
"makedoc -tags" appeared to be used to generate an Emacs tags
table, but the purpose of this is unknown.
2024-12-23 Gavin Smith <gavinsmith0123@gmail.com>
Remove system.h includes
* system.h, info/info.h, install-info/install-info.c:
remove include of <sys/stat.h> and redefinition of S_ISDIR from
system.h.
2024-12-23 Gavin Smith <gavinsmith0123@gmail.com>
* system.h (HAVE_LONG_FILENAMES): Remove as it is not used
anywhere.
2024-12-23 Gavin Smith <gavinsmith0123@gmail.com>
* info/info.h, install-info/install-info.c:
Include <unistd.h> instead of relying on system.h including it.
2024-12-23 Gavin Smith <gavinsmith0123@gmail.com>
Remove system.h includes
* system.h: remove further unnecessary includes
2024-12-23 Gavin Smith <gavinsmith0123@gmail.com>
Remove system.h include
* system.h, info/info.h, install-info/install-info.c:
Move include of "xalloc.h" out of system.h.
2024-12-23 Gavin Smith <gavinsmith0123@gmail.com>
Remove system.h defines
* system.h,
* info/info.h: Remove or move more includes out of system.h.
2024-12-23 Gavin Smith <gavinsmith0123@gmail.com>
Remove system.h defines
* system.h,
* info/info.h,
* info/window.h,
* install-info/install-info.c: Move system includes out of system.h.
* system.h (PATH_MAX): Remove.
2024-12-23 Gavin Smith <gavinsmith0123@gmail.com>
Remove system.h defines
* system.h [STAT_MACROS_BROKEN]: Remove section as this symbol
is not set anywhere. It was formerly set by AC_HEADER_STAT in
configure.ac but this macro is now obsolescent..
2024-12-23 Gavin Smith <gavinsmith0123@gmail.com>
Remove system.h defines
* system.h, info/tilde.c: move include of <pwd.h> to tilde.c.
2024-12-23 Gavin Smith <gavinsmith0123@gmail.com>
Remove system.h defines
* system.h:
[MIKTEX]: Remove section. I have been unable
to determine its purpose or relevance. (Added 2002-09-26.)
* system.h: Remove comment re assuming ANSI C89 headers.
[VMS] Remove section. (Added 1997-30-03.)
2024-12-23 Gavin Smith <gavinsmith0123@gmail.com>
Remove or move system.h defines.
* system.h (TEXINFO_PRINTFLIKE): Remove.
* info/info.h (TEXINFO_PRINTFLIKE): Add.
2024-12-23 Gavin Smith <gavinsmith0123@gmail.com>
Remove or move system.h defines.
* system.h (STREQ, STRCASEEQ. STRNCASEEQ): Remove.
* info/info.h (STREQ): Add.
2024-12-23 Gavin Smith <gavinsmith0123@gmail.com>
Version updating script
* update-version.sh: New file.
* Makefile.am (update-version): Add rule.
* README-hacking: update instructions
2024-12-23 Gavin Smith <gavinsmith0123@gmail.com>
* doc/refcard/txirefcard.tex: remove comments after defines
of year and version number
2024-12-23 Gavin Smith <gavinsmith0123@gmail.com>
* info/nodemenu.c (get_visited_nodes, nodemenu_format_info):
Remove "* Menu:" from translatable string to prevent translators
from translating it.
2024-12-23 Patrice Dumas <pertusus@free.fr>
* tp/tests/other/list-of-tests (highlight_syntax_example_latin9):
load highlight syntax init file by setting HIGHLIGHT_SYNTAX as it is
how it needs to be done now.
2024-12-23 Gavin Smith <gavinsmith0123@gmail.com>
* doc/texinfo.texi (Master Menu Parts, Sample Function Definition):
Eliminate references to "Command and Variable Index" node which
doesn't exist any more.
2024-12-23 Gavin Smith <gavinsmith0123@gmail.com>
* tp/Texinfo/XS/main/translations.c: remove comment that says
that LC_CTYPE is used in XSParagraph as it isn't any more.
2024-12-23 Gavin Smith <gavinsmith0123@gmail.com>
* README-hacking: update webpages before announcement
Copyright 2025 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.