bug-texinfo
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: texinfo-6.7.90 pretest


From: Eli Zaretskii
Subject: Re: texinfo-6.7.90 pretest
Date: Sat, 27 Feb 2021 12:11:05 +0200

> From: Gavin Smith <gavinsmith0123@gmail.com>
> Date: Tue, 23 Feb 2021 21:12:09 +0000
> 
> The first pretest for the next Texinfo release has been uploaded to
> 
> https://alpha.gnu.org/gnu/texinfo/texinfo-6.7.90.tar.xz
> 
> The most significant changes since the last release (September 2019)
> are to the texi2any conversion program. There are changes to the HTML
> output, including support for MathJax. A JavaScript-enhanced browsing
> interface is provided on an experimental basis. The default output for
> HTML uses section names much more in preference to node names, and
> simple lists of sub-sections replace Info-style menus. There should be
> a significant speed-up due to more of the program being written in C
> rather than Perl.
> 
> Pretest releases are made to give a chance for a new release to be
> more widely tested, including on a variety of platforms. Please think
> if there is anything that should be added or changed before the next
> release.
> 
> Please send any comments to <bug-texinfo@gnu.org>.

Nothing is ever simple with MinGW builds...

1. There are multiple compilation warnings due to Gnulib's redefining of
fdopen.  Two typical examples:

     XSParagraph.c  -DDLL_EXPORT -DPIC -o .libs/XSParagraph.o
     In file included from XSParagraph.xs:8:
     D:/usr/Perl/lib/CORE/XSUB.h:524: warning: "fdopen" redefined
       524 | #    define fdopen  PerlSIO_fdopen
           |
     In file included from D:/usr/Perl/lib/CORE/win32.h:160,
                      from D:/usr/Perl/lib/CORE/win32thread.h:4,
                      from D:/usr/Perl/lib/CORE/perl.h:2690,
                      from XSParagraph.xs:7:
     ./gnulib/lib/stdio.h:795: note: this is the location of the previous 
definition
       795 | #   define fdopen _fdopen
           |

     In file included from xspara.c:40:
     D:/usr/Perl/lib/CORE/XSUB.h:524: warning: "fdopen" redefined
       524 | #    define fdopen  PerlSIO_fdopen
           |
     In file included from xspara.c:20:
     ./gnulib/lib/stdio.h:795: note: this is the location of the previous 
definition
       795 | #   define fdopen _fdopen
           |

(It's arguably a problem in the Perl headers, at least in the version
I have here: they should have used #undef before redefining.)

The fix to avoid this is to #undef fdopen before including these Perl
headers, but unfortunately we don't have any "catchall" header file in
XS that is included in parsetexi sources before Perl headers.

A less elegant fix is to manually #undef fdopen in each and every
source file that have this problem; I'd like to avoid this if
possible.

Thoughts?

2. A compilation warning in api.c:

     parsetexi/api.c: In function 'element_to_perl_hash':
     parsetexi/api.c:431:26: warning: cast from pointer to integer of different 
size [-Wpointer-to-int-cast]
       431 |               IV value = (IV) f;
           |                          ^

I fixed it by casting to intptr_t first:

                IV value = (IV) (intptr_t) f;

Is this the right fix?

3. Finally, an error that stopped the build:

     if TEXINFO_DEV_SOURCE=1 ; export TEXINFO_DEV_SOURCE ;  top_srcdir=".." ; 
export top_srcdir ;  top_builddir=".." ; export top_builddir ; 
/d/usr/Perl/bin/perl ../tp/texi2any   -I . \
      -o texinfo.info `test -f 'texinfo.texi' || echo './'`texinfo.texi; \
     then \
       rc=0; \
     else \
       rc=$?; \
       $restore $backupdir/* `echo "./texinfo.info" | sed 's|[^/]*$||'`; \
     fi; \
     rm -rf $backupdir; exit $rc
     Your vendor has not defined POSIX macro LC_MESSAGES, used at 
..\tp/Texinfo/Report.pm line 244
     Makefile:1491: recipe for target `texinfo.info' failed
     make[3]: *** [texinfo.info] Error 7

How to handle this?  MS-Windows doesn't support LC_MESSAGES in its
setlocale API, I guess that's what triggers the problem.  (And of
course Windows also doesn't have a UTF-8 locale.)  I replaced
LC_MESSAGES with LC_ALL, and the compilation finished successfully,
but is that the right fix?  What is this stuff used for, and how can I
test specifically that whatever it's used for works in the built
Texinfo?

Thanks.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]