2026-03-02  Gavin Smith <gavinsmith0123@gmail.com>

	Texinfo 7.3

2026-03-02  Gavin Smith <gavinsmith0123@gmail.com>

	* configure.ac: update version to 7.3.
	* doc/refcard/txirefcard.tex: 2026

2026-03-02  Gavin Smith <gavinsmith0123@gmail.com>

	* README-hacking: update

2026-03-02 Patrice Dumas  <pertusus@free.fr>

	* tta/C/texi2any.c (PATH_SEP): fix typo and avoid using tab.

2026-02-29 Patrice Dumas  <pertusus@free.fr>

	* INSTALL: do not document TEXINFO_XS=requiredifenabled, it is too
	soon, the feature may not be kept in this form.

2026-02-28  Gavin Smith <gavinsmith0123@gmail.com>

	* doc/texinfo.texi (Image Syntax, Command List):
	Reword to avoid underful hboxes when processing with TeX.

2026-02-28  Gavin Smith <gavinsmith0123@gmail.com>

	* doc/info-stnd.texi (Custom Key Bindings): Place URL in footnote,
	to prevent issue with line breaking in the PDF (as font is smaller
	in the footnote).

2026-02-28  Gavin Smith <gavinsmith0123@gmail.com>

	* INSTALL: edit

2026-02-28  Gavin Smith <gavinsmith0123@gmail.com>

	* doc/refcard/txirefcard.tex: update to add new commands.

2026-02-28  Gavin Smith <gavinsmith0123@gmail.com>

	* doc/texinfo.texi
	(Document Metadata) Add missing index entry for @documentinfo.
	(@titlefont @center @sp): Fix typo.

2026-02-28 Patrice Dumas  <pertusus@free.fr>

	* tta/C/convert/texinfo.c (txi_tree_transformation_table): make static
	const, it is only used in this file.

	* tta/C/main/command_data.awk, tta/C/main/command_data.c,
	tta/C/main/element_types.awk, tta/C/main/element_types.c,
	tta/C/main/utils.c: add explicit const for constant structures.

2026-02-28 Patrice Dumas  <pertusus@free.fr>

	Correct path separator for XDG directories and ctexi2any

	* tta/perl/texi2any.pl (add_config_paths), tta/C/texi2any.c
	(add_config_paths): use PATH paths separator for XDG base directory
	specification directories lists.

	* tta/C/Makefile.am (C_libtexinfo_sources), tta/C/main/system.h
	(O_BINARY): add system.h for the O_BINARY definition, which can be
	shared among diverse code files.

	* tta/C/main/utils.c, tta/C/main/utils.h: define paths related macros
	in utils.c and use system.h.

	* tta/C/texi2any.c, tta/C/Makefile.am (ctexi2any_CPPFLAGS)
	(teximakehtml_CPPFLAGS): set PATH_SEP based on O_BINARY and __CYGWIN__
	and not based on configure generated PATH_SEPARATOR, as PATH_SEPARATOR
	is for the shell used for the compilation, while we need some value
	that can also be valid for a native command as described in the
	Texinfo manual.  Report from Eli Zaretskii.

2026-02-28  Gavin Smith <gavinsmith0123@gmail.com>

	* doc/info-stnd.texi: use @r in index entries where appropriate
	and eliminate duplicate or incorrect index entries.

2026-02-28  Gavin Smith <gavinsmith0123@gmail.com>

	TEXINFO_OUTPUT_FORMAT documentation

	* doc/texinfo.texi
	(Customization Variables and Options, Output Format Selection):
	Split discussion of the possible values of TEXINFO_OUTPUT_FORMAT
	into its own node.  Comment out second index entry for
	"TEXINFO_OUTPUT_FORMAT".  Fix example.

2026-02-28  Gavin Smith <gavinsmith0123@gmail.com>

	* doc/texinfo.texi: eliminate many duplicate index entries,
	so that e.g. "info texinfo ENABLE_ENCODING" goes to a part
	of the file where "ENABLE_ENCODING" is directly mentioned.

2026-02-27  Gavin Smith <gavinsmith0123@gmail.com>

	* js/info.css: move declarations for sidebar into section
	for sidebar.  many of these appear to have been added to the
	file without regard for the pre-existing structure of the file.

2026-02-27  Gavin Smith <gavinsmith0123@gmail.com>

	* js/info.css (#slider): increase opacity.

2026-02-27  Gavin Smith <gavinsmith0123@gmail.com>

	* js/info.css (div.toc-sidebar): Specify "width: 100%" to
	prevent the scroll bar potentially occurring only half-way
	across the width of the sidebar TOC, which would happen if
	there were only short section titles which didn't need to
	wrap across lines.

2026-02-27  Gavin Smith <gavinsmith0123@gmail.com>

	* js/info.css: remove setting of background colour for some
	elements within the sidebar, as all this appears to accomplish
	is some small rectangles within the sidebar being coloured in a
	slightly different shade of grey to the rest of it.

2026-02-27  Gavin Smith <gavinsmith0123@gmail.com>

	* js/info.js (Sidebar): check if short toc is defined before
	attempting to remove it.

2026-02-27  Gavin Smith <gavinsmith0123@gmail.com>

	js: Fix scrolling to top of scroll bar for Top node

	* js/info.js (init_sidebar) <scan_toc, add_header>:
	Use "toc-index" for ID of link at top of sidebar, as "index"
	is not unique and so scrolling to the top of the sidebar can
	fail when the user navigates to the Top node.

2026-02-27  Gavin Smith <gavinsmith0123@gmail.com>

	* js/info.js (Sidebar): Remove short contents as well as contents
	from Top node.

2026-02-27  Gavin Smith <gavinsmith0123@gmail.com>

	* js/info.css (div[node]): Change "overflow" setting back to "auto",
	as a scrollbar was missing on the Top node.

2026-02-27  Gavin Smith <gavinsmith0123@gmail.com>

	* README-hacking: minor changes to section on checking with valgrind

2026-02-27  Gavin Smith <gavinsmith0123@gmail.com>

	* doc/Makefile.am (EXTRA_DIST): distribute doc/image.pdf to
	allow texinfo-tex-test.texi to be built.

2026-02-27  Gavin Smith <gavinsmith0123@gmail.com>

	* doc/texinfo-tex-test.texi (@multitable):
	Remove a second test case of @multitable inside @quotation.
	It's not clear this added anything beyond the first test case.

2026-02-27  Gavin Smith <gavinsmith0123@gmail.com>

	* doc/texinfo-tex-test.texi (Line macros):
	Add a heading line to separate a test case.  This makes it more
	clear when the "macro use/macro output" pairs end.

2026-02-27 Patrice Dumas  <pertusus@free.fr>

	* configure.ac, tta/configure.ac: correct a comment, AC_PROG_INSTALL
	is used by gettext.  Report from Gavin.

2026-02-27  Gavin Smith <gavinsmith0123@gmail.com>

	Special gnulib patch for wctype.in.h for MinGW

	* gnulib/lib/wctype.in.h, tta/gnulib/lib/wctype.in.h:
	Apply update from Bruno Haible to fix build issue on old MinGW.
	This file will be updated automatically when we do gnulib updates
	in the future, but we want to limit gnulib updates before the release
	as there has already been a lot of testing with the current version
	of the code.

2026-02-27  Gavin Smith <gavinsmith0123@gmail.com>

	* tta/perl/t/08misc_commands.t (definfoenclose_command_on_section_line):
	Skip test.

2026-02-25 Patrice Dumas  <pertusus@free.fr>

	* tta/C/main/node_name_normalization.c
	(convert_to_normalized_internal): use the equivalent builtin command
	obtained by calling element_builtin_data_cmd for checks and as
	command_normalization_text index.  This is important if the element is
	a user-defined @-command, such as a definfoenclosed command.  Report
	by Hilmar Preusse and analysis by Gavin.
	  https://mail.gnu.org/archive/html/bug-texinfo/2026-02/msg00110.html

	* tta/perl/Makefile.tres, tta/perl/t/08misc_commands.t
	(definfoenclose_command_on_section_line): test definfoenclose defined
	command on section line.

2026-02-21 Patrice Dumas  <pertusus@free.fr>

	Download country codes and regenerate related codes

	* tta/maintain/regenerate_documentlanguages-loc.pl: update url. 

2026-02-21 Patrice Dumas  <pertusus@free.fr>

	* README-hacking: describe the possibility to set
	PERL_DESTRUCT_LEVEL=2 in the environment.  Add an example of valgrind
	call on t/z_misc/*.t tests.

2026-02-21 Patrice Dumas  <pertusus@free.fr>

	* util/texinfo.dtd (set, clear, unmacro, clickstyle): fix mixed
	content specification.

	* util/texinfo.dtd (publication, maketitle, documentinfo): add.

2026-02-21 Patrice Dumas  <pertusus@free.fr>

	Update tta/C/ppport.h

2026-02-21 Patrice Dumas  <pertusus@free.fr>

	* tta/tests/other/list-of-tests
	(accented_lang_index_collation_documentlanguage_collation): set
	MESSAGE_ENCODING=UTF-8 to have the same error messages for Perl and C.

2026-02-21 Patrice Dumas  <pertusus@free.fr>

	Avoid encoding error messages for error and warning messages

	* tta/C/main/utils.h (enum iconv_error_handling), tta/C/main/utils.c
	(encode_with_iconv): add error_handling for cases of bytes that cannot
	be converted, to get either an error with a message (previous
	default), no error and bytes skipped, or no error and a ? mark added
	for each error.  Rename silent_status argument as iconv_status.

	* tta/C/main/utils.c (encode_string): add error_handling argument.
	Update callers.

	* tta/C/main/errors.c (error_message_text), tta/C/main/txi_config.c
	(GNUT_encode_message): use ieh_mark to get marks in the error messages
	for bytes that cannot be converted and no encoding error messages.

2026-02-21 Patrice Dumas  <pertusus@free.fr>

	Fix memory leak and other memory issues found by valgrind

	* tta/C/convert/format_html.c (mini_toc_internal): free text.

	* tta/C/main/translations.c (free_lang_translation): free
	lang_translation->encoded_lang.

	* tta/C/convert/html_converter_finish.c (html_free_converter):
	free self->translated_special_unit_info_texinfo,
	self->files_css_import_lines and self->files_css_rule_lines.

	* tta/C/convert/html_converter_finish.c (html_free_converter):
	free main_units_direction_names after calling
	html_free_direction_icons_array, as html_free_direction_icons_array
	uses main_units_direction_names.

	* tta/C/main/manipulate_indices.c (destroy_collator): free coll.sv
	only if the collation type is not ctn_locale_collation as the
	collator is a union.

2026-02-21 Patrice Dumas  <pertusus@free.fr>

	* tta/configure.ac (AC_PROG_INSTALL, AC_PROG_MAKE_SET)
	(AC_PROG_LN_S, AC_PROG_MKDIR_P): call those autoconf macros in
	tta/configure.ac too.

2026-02-21 Patrice Dumas  <pertusus@free.fr>

	* tta/C/Makefile.am (install-exec-hook), tta/perl/Makefile.am
	(install-exec-hook): cd to the directory where the link is done,
	otherwise if LN_S is cp, the file copied is the file from the source
	directory.  Report from Eli Zaretskii and solution from the Automake
	LN_S documentation, as also found by Gavin.

2026-02-20 Patrice Dumas  <pertusus@free.fr>

	* NEWS, doc/texinfo.texi (Generic Translator @command{texi2any}),
	tta/README: qualify the C texi2any implementation as being
	experimental.

	* README-hacking: add information on manual testing that texi2any
	is relocatable.

	* tta/TODO: update with Eli information on ctexi2any on Windows.

2026-02-20 Patrice Dumas  <pertusus@free.fr>

	* tta/C/convert/texinfo.c (txi_setup_main_load_interpreter): minor
	move of code, add/improve comments.

	* tta/C/main/call_perl_function.c (call_eval_load_texinfo_modules):
	change converter_datadir variable name to modules_dir.

	* tta/perl/load_txi_modules.pl: sync with texi2any.pl.

	* tta/perl/texi2any.pl (set_subdir_directories): add an explicit
	$datadir argument.

2026-02-20 Patrice Dumas  <pertusus@free.fr>

	Make ctexi2any relocatable. Pass datadir from/to Perl and C

	* tta/C/main/utils.c (messages_and_encodings_setup): add datadir
	argument to make relocatable.

	* tta/C/convert/texinfo.c (txi_setup_main_load_interpreter),
	tta/C/main/document.c (setup_txi_paths_information)
	(setup_texinfo_main): pass datadir to messages_and_encodings_setup.

	* tta/perl/Makefile.am (ModulePath.pm),
	tta/perl/Texinfo/ModulePath.pm.in ($datadir, $converter, init),
	tta/perl/load_txi_modules.pl (BEGIN), tta/perl/texi2any.pl (BEGIN),
	tta/C/main/call_perl_function.c (call_modulepath_init)
	(call_eval_load_texinfo_modules), tta/perl/Texinfo/XSLoader.pm (init),
	tta/perl/XSTexinfo/parser_document/DocumentXS.xs (init): pass datadir
	through ModulePath.pm and XSLoader.pm init to C, or pass datadir from
	C to Perl through call_modulepath_init.

	* tta/C/texi2any.c (set_subdir_directories, main): make relocatable.

	* tta/swig/texinfo.i (txi_ext_inline_setup): add and use datadir
	optional argument.

	* tta/C/main/document.c (setup_txi_paths_information): make static.

2026-02-19 Patrice Dumas  <pertusus@free.fr>

	Make perl scripts relocatable for datadir

	* tta/perl/load_txi_modules.pl ($datadir, BEGIN), tta/perl/texi2any.pl
	($datadir, BEGIN): set $datadir in BEGIN block, to the relocatable
	location if relevant.

2026-02-19 Patrice Dumas  <pertusus@free.fr>

	Make clear that substituted strings in texi2any.pl are expanded

	* tta/perl/Makefile.am (do_subst), tta/perl/load_txi_modules.pl,
	tta/perl/texi2any.pl: strings are not substituted by configure, but by
	Makefile, and therefore the variables are fully expanded.  Modify code
	to be in line, instead of having constructs that would only make sense
	if configure was used to substitute strings.  Do not substitute
	datarootdir and prefix as they are not used anywhere.  Remove eval for
	datadir and sysconfdir setting.

2026-02-19 Patrice Dumas  <pertusus@free.fr>

	* tta/C/convert/call_html_perl_function.c
	(call_file_id_setting_redirection_file_names): fix incorrect code
	leftover.

2026-02-19  Gavin Smith <gavinsmith0123@gmail.com>

	Call perl_only_strndup

	* tta/C/convert/call_html_perl_function.c
	(call_file_id_setting_redirection_file_names):
	Call build_perl_info.c:perl_only_strndup as strndup is not
	defined on MinGW.  Report from Eli and fix from Patrice.

2026-02-18  Gavin Smith <gavinsmith0123@gmail.com>

	* README-hacking: tweak sample git hook not to operate
	on experimental/* branches.

2026-02-18  Gavin Smith <gavinsmith0123@gmail.com>

	* update-version.sh, README-hacking: do more in "make update-version"
	automatically.

2026-02-18  Gavin Smith <gavinsmith0123@gmail.com>

	* doc/texi2any_api.texi (Customizing Output-Related Names):
	Add missing menu entry.

2026-02-17  Gavin Smith <gavinsmith0123@gmail.com>

	pretest 7.2.92

	* configure.ac: version

2026-02-15 Patrice Dumas  <pertusus@free.fr>

	* tta/perl/t/init_files_tests.t
	(add_lower_case_redirection_file_names): skip test as it fails on
	case-insensitive systems.

2026-02-15 Patrice Dumas  <pertusus@free.fr>

	* tta/perl/Makefile.tres, tta/perl/t/init_files_tests.t
	(prepend_number_redirection_file_names), tta/perl/Makefile.am
	(test_files),
	tta/perl/t/init/test_customize_redirection_file_names.pm: add a test
	of redirection_file_names with numbers prepended to file names.

2026-02-14 Patrice Dumas  <pertusus@free.fr>

	* tta/perl/Makefile.tres, tta/perl/t/init_files_tests.t
	(add_lower_case_redirection_file_names), tta/perl/Makefile.am
	(test_files),
	tta/perl/t/init/lowercase_file_names_and_redirections.pm: add a test
	of redirection_file_names with file names and targets lowercasing.

2026-02-14 Patrice Dumas  <pertusus@free.fr>

	* tta/C/main/converter_types.h (HTML_FILE_ID_SETTING_NAMES_LIST)
	(CONVERTER): sort HTML_FILE_ID_SETTING_NAMES_LIST in code.

2026-02-14 Patrice Dumas  <pertusus@free.fr>

	Add a customization function for node redirection files

	* doc/texi2any_api.texi (Customizing Node Redirection Files),
	tta/C/convert/call_html_perl_function.c
	(call_file_id_setting_redirection_file_names),
	tta/C/convert/convert_html.c (html_node_redirections),
	tta/C/main/converter_types.h (HTML_FILE_ID_SETTING_NAMES_LIST),
	tta/perl/Texinfo/Convert/HTML.pm
	(%customizable_file_id_setting_references)
	(_node_redirections): add the file_id_setting redirection_file_names
	customization function to have a possibility to set the list of node
	redirection files.  Based on a report from Jonas Hahnfeld.

2026-02-14  Tony Battersby <tonyb@cybernetics.com> (tiny change)

	* info/terminal.c: use modern prototypes for curses
	
	This fixes compile errors with -std=gnu23 (which is the default
	with gcc 15) on systems that do not have termcap.h.

2026-02-12  Gavin Smith <gavinsmith0123@gmail.com>

	* doc/texinfo.texi (@documentlanguage): grammar fix.

2026-02-12  Gavin Smith <gavinsmith0123@gmail.com>

	* doc/refcard/txirefcard.tex (@documentlanguage): remove statement
	that en_US is the default for @documentlanguage, as this is not
	strictly correct.  report from Vincent Lefevre.

2026-02-12  Gavin Smith <gavinsmith0123@gmail.com>

	Do not output empty body lang attribute
	
	* tta/perl/Texinfo/Convert/HTML.pm (_setup_output):
	Do not set BODY_ELEMENT_ATTRIBUTES to lang="" if the documentlanguage
	is undefined.

	* tta/perl/Texinfo/Convert/HTML.pm (_file_header_information):
	Return body attribute string with leading space, or as an empty
	string.  Callers updated.
	
	* tta/C/convert/html_prepare_converter.c (html_setup_output),
	* tta/C/convert/format_html.c (file_header_information):
	Make the same change.
	
	The lang="" attribute is unnecessary, and potentially causes
	the wrong fonts to be used on Firefox, according to a report
	from Vincent Lefevre <vincent@vinc17.net>.

2026-02-08  Gavin Smith <gavinsmith0123@gmail.com>

	Fix "Free to wrong pool" error

	* tta/C/convert/build_html_perl_state.c (build_html_translated_names):
	Use non_perl_strdup and non_perl_free.

	Report from Eli.

2026-02-06 Patrice Dumas  <pertusus@free.fr>

	* tta/configure.ac: remove HAVE_ICONV AM_CONDITIONAL, it is not used
	anymore.

2026-02-07  Gavin Smith <gavinsmith0123@gmail.com>

	* tta/perl/Texinfo/Indices.pm (Texinfo::CollateStub::getSortKey):
	Call utf8::encode on output in order to avoid "Wide character"
	error on Red Hat Linux, Rocky Linux and CentOS, when Unicode::Collate
	is not installed.
	
	Report from Nelson Beebe.

2026-02-06 Patrice Dumas  <pertusus@free.fr>

	* tta/swig/perl/Makefile.am, tta/swig/python/Makefile.am: remove if
	HAVE_ICONV, a more relevant conditional is tested in a containing
	directory.

2026-02-06 Patrice Dumas  <pertusus@free.fr>

	* tta/configure.ac (use_shared_txi_libraries), tta/perl/Makefile.am
	(ModulePath.pm), tta/perl/Texinfo/ModulePath.pm.in
	($use_shared_txi_libraries), tta/perl/Texinfo/XSLoader.pm (BEGIN): fix
	typo in use_shared_txi_libraries variable name.

2026-02-06  Gavin Smith <gavinsmith0123@gmail.com>

	pretest 7.2.91

2026-02-06  Gavin Smith <gavinsmith0123@gmail.com>

	* NEWS: elaborate on raw-utf8-output

2026-02-06  Gavin Smith <gavinsmith0123@gmail.com>

	No --enable-* flags for Perl SWIG

	* tta/configure.ac: Access SWIG Perl installation setting and
	directories as shell variables, rather than --enable-* flags.

	* configure.ac: remove AC_ARG_ENABLE for SWIG Perl flags.

	* tta/swig/README: document the variables here as they do not
	appear in the output of configure --help.

2026-02-03 Patrice Dumas  <pertusus@free.fr>

	* tta/configure.ac, tta/perl/Makefile.am (ModulePath.pm),
	tta/perl/Texinfo/ModulePath.pm.in ($used_shared_txi_libraries),
	tta/perl/Texinfo/XSLoader.pm  (BEGIN): pass used_shared_txi_libraries
	instead of build_C_code to ModulePath.pm, and use it in XSLoader.pm
	to set $disable_C_libraries.

2026-02-03  Gavin Smith <gavinsmith0123@gmail.com>

	Re-jig BUILD_C_CODE condition

	* tta/configure.ac: Add conditional USE_SHARED_TXI_LIBRARIES to
	be used when build targets depend on the C auxiliary libraries.
	Require iconv to be found to set this.
	(Suggestion from Patrice to make reason clearer for use of condition.)

	Always set BUILD_C_CODE if any C code is being built.
	
	* tta/Makefile.am: Don't build in C or SWIG directories if
	USE_SHARED_TXI_LIBRARIES is false.
	
	* tta/perl/XSTexinfo/Makefile.am: use BUILD_C_CODE condition around
	building XSParagraph.la and MiscXS.la so that they are built under the
	same condition as that of gnulib upon which they depend.
	
	This mismatch led to a build failure on macOS 26, where iconv was not
	found and the other XS modules were not built.  Report from Bruno.
	
	Use USE_SHARED_TXI_LIBRARIES instead of BUILD_C_CODE for other
	*.la targets.

2026-02-01 Patrice Dumas  <pertusus@free.fr>

	* tta/perl/Texinfo/XSLoader.pm (init): die if
	TEXINFO_XS=requiredifenabled, the module name is defined and the
	extension was not loaded.  Report from Gavin.

2026-02-01 Patrice Dumas  <pertusus@free.fr>

	* INSTALL, tta/README: move information related to the texi2any
	implementation in C to tta/README.

2026-02-01 Patrice Dumas  <pertusus@free.fr>

	* tta/configure.ac, tta/perl/Makefile.am (ModulePath.pm),
	tta/perl/Texinfo/ModulePath.pm.in ($build_C_code): pass build_C_code
	instead of enable_txi_libraries.  Remove enable_txi_libraries.

	* tta/perl/Texinfo/XSLoader.pm (BEGIN, $disable_C_libraries): set
	$disable_C_libraries based on build_C_code.

	* tta/perl/Texinfo/XSLoader.pm (init): handle especially the case of
	defined($additional_libraries) and $disable_C_libraries.
	Add FIXME as the TEXINFO_XS=requiredifenabled case is incorrect for
	modules without fallback.

2026-02-01 Patrice Dumas  <pertusus@free.fr>

	* tta/perl/XSTexinfo/Makefile.am: use BUILD_C_CODE instead of
	HAVE_ICONV, it should be clearer and more robust.

2026-02-01  Gavin Smith <gavinsmith0123@gmail.com>

	* configure.ac: bump version to 7.2.91.

2026-02-01 Patrice Dumas  <pertusus@free.fr>

	* tta/perl/Texinfo/XSLoader.pm (init): do not check $disable_XS in
	TEXINFO_XS requiredifenabled case, it cannot happen anymore.

2026-02-01 Patrice Dumas  <pertusus@free.fr>

	* tta/perl/Texinfo/XSLoader.pm (init): with
	TEXINFO_XS=requiredifenabled, if XS is disabled, reset
	TEXINFO_XS=omit.  Based on Gavin patch, used for requiredifenabled
	and without ever setting $TEXINFO_XS to required.

2026-02-01 Patrice Dumas  <pertusus@free.fr>

	* configure.ac, tta/configure.ac: move code around to be more
	similar.  Use the same descriptions in AS_HELP_STRING.

2026-02-01 Patrice Dumas  <pertusus@free.fr>

	* tta/perl/Texinfo/Example/IXIN.pm,
	tta/perl/Texinfo/Example/IXINSXML.pm, tta/perl/Makefile.am
	(dist_convertmodules_DATA): move IXIN.pm and IXINSXML.pm to
	Texinfo/Example.

2026-02-01  Gavin Smith <gavinsmith0123@gmail.com>

	gnulib update
	
	* (top level), tta: run gnulib-tool --add-import.

2026-01-31  Gavin Smith <gavinsmith0123@gmail.com>

	* configure.ac: move AC_ARG_WITH and AC_ARG_ENABLE declarations
	for SWIG nearer the end of the file so they appear later in the
	output of "./configure --help".

2026-01-31 Patrice Dumas  <pertusus@free.fr>

	* doc/texi2any_api.texi (Specific Functions for Specific Elements),
	tta/C/convert/converter.c, tta/C/main/convert_utils.c
	(comma_index_subentries_tree_internal, comma_index_subentries_tree)
	(free_comma_index_subentries_tree),
	tta/perl/Texinfo/Convert/Converter.pm,
	tta/perl/Texinfo/Convert/Utils.pm (_comma_index_subentries_tree)
	(comma_index_subentries_tree): move comma_index_subentries_tree to
	Utils.pm and to main/convert_utils.c.

2026-01-31 Patrice Dumas  <pertusus@free.fr>

	* tta/perl/Texinfo/Report.pm (format_line_message): do not do anything
	special if 'file_name' is undef, it should not happen.

2026-01-31 Patrice Dumas  <pertusus@free.fr>

	* tta/perl/Texinfo/DebugTree.pm, tta/perl/Texinfo/Indices.pm,
	tta/perl/Texinfo/Report.pm: change formatting of function beginning,
	use exists or defined if the value is not needed.

	* tta/perl/Texinfo/Common.pm, tta/perl/Texinfo/Config.pm: change in
	spacing.

	* tta/perl/Texinfo/Common.pm: use exists or defined if the value is
	not needed.

	* tta/perl/Texinfo/XSLoader.pm: change in spacing, minor change in
	code, add a prototype.

2026-01-30  Gavin Smith <gavinsmith0123@gmail.com>

	* doc/info-stnd.texi (Hooks): Document that the hook program is
	manual-not-found.cmd on MS-Windows.

2026-01-29 Patrice Dumas  <pertusus@free.fr>

	* tta/Makefile.am (SUBDIRS): recurse in swig only if BUILD_C_CODE is
	true.

2026-01-29  Gavin Smith <gavinsmith0123@gmail.com>

	* tta/perl/Texinfo/Tests.pm (is_diff): Reverse arguments
	to Text::Diff::diff so that output diff shows change made
	from reference result to obtained result.

2026-01-29 Patrice Dumas  <pertusus@free.fr>

	* tta/configure.ac: build C code only if iconv is present, since all
	the libraries require iconv.

2026-01-29  Gavin Smith <gavinsmith0123@gmail.com>

	* tta/configure.ac: reorder file to put checks that aren't
	specific to C code earlier in the file.

2026-01-29  Gavin Smith <gavinsmith0123@gmail.com>

	* tta/configure.ac: place message inside conditional

2026-01-29  Gavin Smith <gavinsmith0123@gmail.com>

	* tta/configure.ac: output a message to mark the end of
	configuring under tta/perl/CheckXS.

2026-01-29 Patrice Dumas  <pertusus@free.fr>

	* tta/C/main/call_perl_function.c
	(call_translations_translate_string),
	tta/C/main/translations.c (translate_string, cache_translate_string):
	pass and use encoded lang in translate_string.  Also pass encoded lang
	to call_translations_translate_string.

2026-01-29 Patrice Dumas  <pertusus@free.fr>

	* tta/C/convert/build_html_perl_state.c
	(switch_perl_lang_translations): set encoded lang to an empty string
	if undef, to match with what is done for lang.

2026-01-29  Gavin Smith <gavinsmith0123@gmail.com>

	* tta/C/Makefile.am: Remove all uses of HAVE_ICONV conditional.
	From Patrice.

2026-01-29  Gavin Smith <gavinsmith0123@gmail.com>

	* tta/configure.ac (BUILD_C_CODE): Specify with AM_CONDITIONAL.
	* tta/Makefile.am: Use it to include tta/gnulib and tta/C in
	subdirectories to be built.

2026-01-29 Patrice Dumas  <pertusus@free.fr>

	* tta/perl/Texinfo/Convert/PlainTexinfo.pm,
	tta/perl/Texinfo/Convert/TexinfoMarkup.pm, tta/perl/Texinfo/Tests.pm:
	change the formatting of the beginning of functions.

2026-01-28 Patrice Dumas  <pertusus@free.fr>

	Separate XS module for Texinfo::Convert::Texinfo

	* tta/perl/Texinfo/Convert/TexinfoNonXS.pm (convert_to_texinfo),
	tta/perl/Texinfo/Convert/TexinfoXS.pm (convert_to_texinfo),
	tta/perl/Texinfo/Convert/Texinfo.pm (BEGIN, convert_to_texinfoNonXS),
	tta/perl/XSTexinfo/convert/ConvertToTexinfoXS.xs
	(plain_texinfo_convert_tree), tta/perl/XSTexinfo/convert/ConvertXS.xs,
	tta/perl/XSTexinfo/Makefile.am (xs_LTLIBRARIES, CLEANFILES)
	(EXTRA_DIST, ConvertToTexinfoXS_la_*): add TexinfoNonXS.pm and
	TexinfoXS.pm with the convert_to_texinfo implementation without and
	with XS.  Move the plain_texinfo_convert_tree XS interface function to
	a new XS file used only for the Texinfo::Convert::Texinfo module,
	ConvertToTexinfoXS.xs.  Add a BEGIN block in Texinfo.pm to load the
	Perl modules and XS module and remove the function override.  Rename
	_convert_to_texinfo as convert_to_texinfoNonXS and leave it in the
	main Texinfo.pm module as it may be called by both TexinfoNonXS.pm and
	TexinfoXS.pm.

	* tta/perl/Texinfo/Convert/PlainTexinfo.pm (convert_tree): adapt for
	change in Texinfo::Convert::Texinfo.

2026-01-28  Gavin Smith <gavinsmith0123@gmail.com>

	* tta/configure.ac:
	Only configure in perl/CheckXS subdirectory
	with --enable-perl-xs=check (the default).

2026-01-28 Patrice Dumas  <pertusus@free.fr>

	* tta/perl/Texinfo/Convert/Texinfo.pm: change formatting of function
	beginning.  Use defined or exists when the value is not used.

2026-01-28 Patrice Dumas  <pertusus@free.fr>

	* tta/perl/Texinfo/Document.pm (import),
	tta/perl/Texinfo/Structuring.pm (%XS_overrides)
	(print_document_listoffloats),
	tta/perl/XSTexinfo/parser_document/DocumentXS.xs,
	tta/perl/XSTexinfo/parser_document/StructuringTransfoXS.xs
	(print_document_listoffloats): move print_document_listoffloats to
	Structuring.pm, where it belongs more logically, depending on
	structuring code.

2026-01-28 Patrice Dumas  <pertusus@free.fr>

	requiredifenabled takes only into account runtime information

2026-01-28 Patrice Dumas  <pertusus@free.fr>

	* tta/configure.ac (enable_txi_libraries), tta/perl/Makefile.am
	(ModulePath.pm), tta/perl/Texinfo/ModulePath.pm.in: pass the
	information on Texinfo libraries being built.

2026-01-27 Patrice Dumas  <pertusus@free.fr>

	* INSTALL, tta/perl/Texinfo/XSLoader.pm (init, override): add
	TEXINFO_XS=requiredifenabled possibility, to try xs, abort if enabled
	in configure and by TEXINFO_XS_* and not loadable.

2026-01-27 Patrice Dumas  <pertusus@free.fr>

	* tta/C/convert/convert_html.c: minor change in comments and message.

2026-01-26 Patrice Dumas  <pertusus@free.fr>

	* tta/C/main/get_perl_info.c
	(get_language_document_hv_sorted_indices),
	tta/perl/XSTexinfo/convert/ConvertXS.xs
	(get_converter_indices_sorted_by_index): use hv_store_ent and
	hv_fetch_ent to use SV for language in case it contains non-ASCII
	characters.

2026-01-26  Gavin Smith <gavinsmith0123@gmail.com>

	* info/makedoc.c (process_one_file):
	prevent a warning with gcc -Wstringop-overflow.

2026-01-26 Patrice Dumas  <pertusus@free.fr>

	* tta/C/main/utils.c (encode_with_iconv, encode_string): replace the
	silent integer argument by a status argument, such that, if set, the
	function is silent and the information that there was an error in
	encoding is returned.

	* 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
	(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): add
	COMMAND_LINE_ENCODING to text options.

	* tta/perl/Texinfo/Convert/Text.pm (_convert),
	tta/perl/Texinfo/Convert/Utils.pm (switch_lang_translations)
	(definition_category_tree), tta/perl/Texinfo/Transformations.pm
	(complete_tree_nodes_menus_in_document, regenerate_master_menu),
	tta/perl/Texinfo/Translations.pm (new_lang_translation): add
	new_lang_translation in Perl too, and use it to initialize lang
	translations arrays.  In addition to hiding to some extent the
	implementation details, it allows to mark in the code where the
	lang translations are initialized.

	* tta/C/convert/build_html_perl_state.c
	(switch_perl_lang_translations, build_html_translated_names),
	tta/C/main/convert_utils.c (definition_category_tree),
	tta/C/main/translations.c (new_lang_translation, get_lang_translation),
	tta/C/main/tree_types.h (LANG_TRANSLATION), tta/C/parsetexi/indices.c
	(complete_indices), tta/C/tree_elements/get_perl_tree_elements.c
	(get_lang_translations_sv), tta/perl/Texinfo/Convert/Utils.pm
	(switch_lang_translations, definition_category_tree),
	tta/perl/Texinfo/Translations.pm (translate_string)
	(cache_translate_string, complete_indices): pass COMMAND_LINE_ENCODING
	trought to new_lang_translation.  In new_lang_translation encode lang
	and pass it in lang translations objects.  Use the encoded lang in
	translate_string to set environment varibles, as should be.

	* tta/tests/Makefile.onetst, tta/tests/other/Makefile.am (EXTRA_DIST),
	tta/tests/other/list-of-tests
	(accented_lang_index_collation_documentlanguage_collation),
	tta/tests/other/accented_lang_index_collation.texi: new test of
	DOCUMENTLANGUAGE_COLLATION set with @documentlanguage with non-ascii
	non-latin1 characters.

2026-01-26  Gavin Smith <gavinsmith0123@gmail.com>

	* INSTALL: list having a non-default locale installed as a
	dependency of translations by texi2any.

2026-01-26  Gavin Smith <gavinsmith0123@gmail.com>

	Remove gnulib glob module and dependencies.
	
	Reverts change on 2026-01-12.

2026-01-26  Gavin Smith <gavinsmith0123@gmail.com>

	Avoid glob function

	* tta/C/convert/html_prepare_converter.c (load_htmlxref_files):
	Rewrite not to use glob as this doesn't exist on mingw and would
	require adding gnulib modules to use portably.

2026-01-25  Gavin Smith <gavinsmith0123@gmail.com>

	Force translations to be enabled on OpenBSD.

	* tta/perl/Texinfo/Translations.pm [openbsd]:
	Override POSIX::setlocale before "use Locale::Messages;" to a dummy
	function that returns a value other than "C".

2026-01-25  Gavin Smith <gavinsmith0123@gmail.com>

	* info/display.c: add comment

2026-01-25  Gavin Smith <gavinsmith0123@gmail.com>

	* info/pcterm.c (rpl_nl_langinfo): Set "raw-utf8-output" variable to
	'On' by default if console codepage is 65001.
	* doc/info-stnd.texi (Variables) <raw-utf8-output>: Document default
	setting.

	Suggestion from Eli.

2026-01-25  Bruno Haible <bruno@clisp.org>

	* install-info/install-info.c (split_entry): Change type of ptr and endptr
	to conform to ISO C 23.

2026-01-23 Patrice Dumas  <pertusus@free.fr>

	Update POD for tree elements

2026-01-23 Patrice Dumas  <pertusus@free.fr>

	* tta/perl/texi2any.pl: exchange the order in a condition.

	* INSTALL: edit to explain that PERL_EXT_* variables values are used
	only if XS modules are used,

	Update POD documentation.

2026-01-22  Gavin Smith <gavinsmith0123@gmail.com>

	* info/filesys.c (filesys_read_info_file):
	Add check that off_t variable is non-negative before using
	value in argument to 'read'.  This is to avoid a gcc warning.

2026-01-22  Gavin Smith <gavinsmith0123@gmail.com>

	* info/Makefile.am: distribute manual-not-found.cmd and
	gnu-manuals.awk even if HOST_IS_WINDOWS is false.

2026-01-22  Gavin Smith <gavinsmith0123@gmail.com>

	* info/info-hooks-default/manual-not-found.in:
	add note to keep inline awk program synched with separate file.

2026-01-22  Eli Zaretskii <eliz@gnu.org>

	* info/info-hooks-default/manual-not-found.cmd: new
	* info/info-hooks-default/gnu-manuals.awk: new

2026-01-22  Gavin Smith <gavinsmith0123@gmail.com>

	info: Add raw-utf8-output.

	* info/variables.c (VARIABLE_ALIST):
	Add "raw-utf8-output" user variable.
	* info/display.c (raw_utf8_output_p): new.

	(printed_representation): If raw_utf8_output_p is set, do not
	use locale functions to process UTF-8 output.

	* doc/info-stnd.texi (Variables): Add raw-utf8-output.
	* NEWS: announce

	Report from Eli for codepage 65001 on MSVCRT runtime on MS-Windows.

2026-01-22 Patrice Dumas  <pertusus@free.fr>

	Search for C libraries directly in the directory they are in

	* tta/perl/Texinfo/ModulePath.pm.in ($libraries_dir): set
	$libraries_dir to the directory C libraries are in, instead of putting
	the directory in front of @INC.

	* tta/perl/Texinfo/XSLoader.pm (_find_file_in_inc): rename _find_file
	as _find_file_in_inc.

	* tta/perl/Texinfo/XSLoader.pm (load_libtool_library, init): move call
	of _find_file_in_inc to init.  Find directly C libraries in
	$Texinfo::ModulePath::libraries_dir.

2026-01-21 Patrice Dumas  <pertusus@free.fr>

	* tta/perl/Texinfo/ManipulateTree.pm: remove menu directions, they do
	not exist anywhere.

	* tta/perl/Texinfo/ManipulateTree.pm (_copy_tree): copy
	def_index_element and def_index_ref_element even if other_trees is not
	set, as in C.

	* tta/perl/Texinfo/ManipulateTree.pm: improve/update comments.

2026-01-21 Patrice Dumas  <pertusus@free.fr>

	* tta/perl/Texinfo/XSLoader.pm (XS_parser_enabled): check that
	TEXINFO_XS_PARSER is not 0 instead of comparing to 1.  It makes more
	sense since the default is true, it matches the documentation and
	the other variables.

	* tta/perl/t/z_misc/test_fill_gaps_in_sectioning.t: use
	Texinfo::XSLoader::XS_parser_enabled.

	* tta/perl/t/z_misc/test_tree_copy.t: remove unused code.

2026-01-21  Eli Zaretskii <eliz@gnu.org>

	Minor MinGW-related cleanups
	
	* info/pcterm.c (rpl_nl_langinfo): Treat CP_UTF8 and CP_UTF7
	return values from GetConsoleOutputCP specially.
	(wcwidth) [not defined HAVE_WCWIDTH]: remove definition.
	(pc_put_text, pc_write_chars): declare argument as const char *.

	* info/scan.c [__MINGW32__]: Declare rpl_nl_langinfo here.
	* info/util.c [__MINGW32__]: Remove declaration of rpl_nl_langinfo.
	Allow gnulib wcwidth to be used.

2026-01-21  Eli Zaretskii  <eliz@gnu.org>

