> From: Gavin Smith <gavinsmith0...@gmail.com> > Date: Sat, 7 Oct 2023 17:26:51 +0100 > Cc: bug-texinfo@gnu.org > > I've changed xspara__print_escaped_spaces not to use malloc and free, > although adding dTHX should be harmless.
Yes, I've seen that. Applying that change doesn't prevent the crashes. > Try going into the doc directory and replicating the command to build > the manual: > > TEXINFO_DEV_SOURCE=1 top_srcdir=".." top_builddir=".." /d/usr/Perl/bin/perl > ../tp/texi2any -c INFO_SPECIAL_CHARS_WARNING=0 -I . -o texinfo.info > texinfo.texi > > and see if the problem replicates. Crashes. > More straightforwardly, try > > /d/usr/Perl/bin/perl ../tp/texi2any.pl texinfo.texi Also crashes. > (which will output a harmless warning about a node name). > > Then you could try with debugging output: > > /d/usr/Perl/bin/perl ../tp/texi2any.pl texinfo.texi -c DEBUG=1 > > or for a smaller file, > > /d/usr/Perl/bin/perl ../tp/texi2any.pl info-stnd.texi -c DEBUG=1 > > to get an idea of where the crash is occurring. The output of the last command is: $ /d/usr/Perl/bin/perl ../tp/texi2any.pl info-stnd.texi -c DEBUG=1 !!!!!!!!!!!!!!!! RESETTING THE PARSER !!!!!!!!!!!!!!!!!!!!! NEW LINE @c We must \input texinfo.tex instead of texinfo, otherwise make BEGIN LINE COMMAND @c ABORT EMPTY in (before_node_section)[C2](p:1): empty_line; add || to || GET_A_NEW_LINE NEW LINE @c distcheck in the Texinfo distribution fails, because the texinfo Info BEGIN LINE COMMAND @c ABORT EMPTY in (before_node_section)[C3](p:1): empty_line; add || to || GET_A_NEW_LINE NEW LINE @c file is made first, and texi2dvi must include . first in the path. BEGIN LINE COMMAND @c ABORT EMPTY in (before_node_section)[C4](p:1): empty_line; add || to || GET_A_NEW_LINE NEW LINE @comment %**start of header BEGIN LINE COMMAND @comment ABORT EMPTY in (before_node_section)[C5](p:1): empty_line; add || to || GET_A_NEW_LINE NEW LINE @setfilename info-stnd.info BEGIN LINE COMMAND @setfilename ABORT EMPTY in (before_node_section)[C6](p:1): empty_line; add || to || ABORT EMPTY in (line_arg)[C1](p:1): internal_spaces_after_command; add || to | | NEW TEXT (merge): info-stnd||| MERGED TEXT: .||| in [T: info-stnd] last of (line_arg)[C1] MERGED TEXT: info||| in [T: info-stnd.] last of (line_arg)[C1] END LINE (line_arg)[C1] <- @setfilename MERGED TEXT: ||| in [T: info-stnd.info] last of (line_arg)[C1] ISOLATE SPACE p (line_arg)[C1]; c [T: info-stnd.info\n] MISC END setfilename GET_A_NEW_LINE NEW LINE @include version-stnd.texi BEGIN LINE COMMAND @include ABORT EMPTY in (before_node_section)[C7](p:1): empty_line; add || to || ABORT EMPTY in (line_arg)[C1](p:1): internal_spaces_after_command; add || to | | NEW TEXT (merge): version-stnd||| MERGED TEXT: .||| in [T: version-stnd] last of (line_arg)[C1] MERGED TEXT: texi||| in [T: version-stnd.] last of (line_arg)[C1] END LINE (line_arg)[C1] <- @include MERGED TEXT: ||| in [T: version-stnd.texi] last of (line_arg)[C1] ISOLATE SPACE p (line_arg)[C1]; c [T: version-stnd.texi\n] MISC END include Included ./version-stnd.texi MARK include c: 1 p: 0 start no-add @setfilename[A1] (before_node_section)[C6] GET_A_NEW_LINE NEW LINE @set UPDATED 15 August 2023 BEGIN LINE COMMAND @set ABORT EMPTY in (before_node_section)[C7](p:1): empty_line; add || to || GET_A_NEW_LINE NEW LINE @set UPDATED-MONTH August 2023 BEGIN LINE COMMAND @set ABORT EMPTY in (before_node_section)[C8](p:1): empty_line; add || to || GET_A_NEW_LINE NEW LINE @set EDITION 7.0.93 BEGIN LINE COMMAND @set ABORT EMPTY in (before_node_section)[C9](p:1): empty_line; add || to || GET_A_NEW_LINE NEW LINE @set VERSION 7.0.93 BEGIN LINE COMMAND @set ABORT EMPTY in (before_node_section)[C10](p:1): empty_line; add || to || GET_A_NEW_LINE and then it crashes. Does this help?