On Sat, Feb 28, 2026 at 04:30:47PM +0100, Bruno Haible wrote:
> Hello Patrice,
>
> > Something that I really do not understand is why this issue does not
> > happen for some variables in the texinfo libraries used by the XS
> > modules objects. ...
> > Therefore, the translated_special_unit_info symbol seems to be in two
> > different compilation units, and should be used in a function called
> > in tests, and yet there is no failure.
>
> For the problem to occur, you need to have
> - one access of the variable in libtexinfo,
> - AND one access of the variable in the ConvertXS module shared library,
> - AND one of these is read/write, and the other one depends on it.
I tried to check all the extern variables, and found the following that
are set in libtexinfo, used in other libraries and set dynamically, such
that, if I understand well, they fall in the situation you described.
Yet they do not cause the tests to fail in cygwin github CI and in Eli
tests:
C/main/customization_options.h: txi_base_options, txi_base_sorted_options,
txi_options_command_map => libtexinfo-convert (converter.c, format_html.c...)
C/main/document.h: txi_paths_info => libtexinfo-convert (convert_html.c...),
libtexinfo-main (texinfo.c)
C/main/translations.h: translation_cache
=> libtexinfo-convert (converter.c, convert_to_text.c)
C/main/unicode.h: unicode_character_brace_no_arg_commands
=> libtexinfo-convert (html_prepare_converter.c)
C/main/utils.h: output_conversions, input_conversions
=> libtexinfo-convert (html_prepare_converter.c...),
libtexinfo-main (swig_interface.c)
In any case, if this is actually an issue, it should be easy either to
add some __declspec or add some functions to get the variables in other
libraries (they tend to be set in the library they are part of).
--
Pat
lmpx.com only provides a reader for public news (NNTP) servers. It is not
affiliated with the servers or forums shown here and is not responsible for
the content of articles, which is written by their respective authors.