[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.