> Date: Thu, 14 Nov 2024 11:56:11 +0100
> From: Patrice Dumas <pertu...@free.fr>
> Cc: Gavin Smith <gavinsmith0...@gmail.com>, bug-texinfo@gnu.org
> 
> On Tue, Nov 12, 2024 at 04:27:21PM +0200, Eli Zaretskii wrote:
> > 4. Compilation error in api_to_perl.c:
> > 
> >      In file included from D:/usr/Perl/lib/CORE/perl.h:5056,
> >                   from main/api_to_perl.c:23:
> >      D:/usr/Perl/lib/CORE/embedvar.h:58:23: error: expected ')' before '->' 
> > token
> >     58 | #define PL_Mem   (vTHX->IMem)
> >        |                       ^~
> >      In file included from D:/usr/Perl/lib/CORE/perl.h:3277,
> >                   from main/api_to_perl.c:23:
> >      D:/usr/Perl/lib/CORE/iperlsys.h:813:10: error: expected ')' before 
> > '->' token
> >        813 |  (*PL_Mem->pFree)(PL_Mem, (buf))
> >        |          ^~
> >      Makefile:3749: recipe for target `main/libtexinfo_la-api_to_perl.lo' 
> > failed
> 
> This happens early, but config.h is already in and, maybe more
> importantly, the headers shipped with gnulib are used in the
> compilation, which may have an effect here

Yes, but which header exactly causes the syntax error?  I don't see
vTHX mentioned in any header in the Texinfo tree, except this:

   tp/Texinfo/XS/ppport.h:10353:vTHX|5.006000||Viu

Could this cause the problem?  (I don't understand what ppport.h tries
to do here.)

Or maybe this part of ppport.h causes the problem:

  #ifndef aTHX
  #  define aTHX
  #endif

because Perl's embedvar.h does

  #if defined(MULTIPLICITY)
  /* cases 2 and 3 above */

  #  if defined(PERL_IMPLICIT_CONTEXT)
  #    define vTHX        aTHX
  #  else
  #    define vTHX        PERL_GET_INTERP
  #  endif

(I'm obviously stabbing in the dark here.)


Reply via email to