Subject: 30.0.50; build fails in dispnew.c because of include lisp.h

From: Gregor Zattler <[email-masked]>
Date: Mon, 22 Jan 2024 15:13:45 +0100

Dear Emacs developers, building the Emacs master branch
as of commit 269d3515608e4e91cdd03f90bac9c2a9d5e3d094
on an up-to-date debian bookworm system fails:

echo timestamp > gl-stamp                                                                                  
gcc -c -Wdate-time -D_FORTIFY_SOURCE=2 -Demacs  -I. -I. -I../lib -I../lib      -isystem /usr/include/librsvg-2.0 -isystem /usr/include/glib-2.0 -isystem /usr/lib/x86_64-linux-gnu/glib-2.0/include -isystem /usr/include/libmount -isystem /usr/include/blkid -isystem /usr/include/gdk-pixbuf-2.0 -isystem /usr/include/libpng16 -isystem /usr/include/x86_64-linux-gnu -pthread -isystem /usr/include/cairo -isystem /usr/include/pixman-1 -isystem /usr/include/freetype2   -isystem /usr/include/libpng16  -isystem /usr/include/libxml2   -isystem /usr/include/dbus-1.0 -isystem /usr/lib/x86_64-linux-gnu/dbus-1.0/include           -isystem /usr/include/freetype2 -isystem /usr/include/libpng16  -isystem /usr/include/freetype2 -isystem /usr/include/libpng16  -isystem /usr/include/harfbuzz -isystem /usr/include/freetype2 -isystem /usr/include/libpng16 -isystem /usr/include/glib-2.0 -isystem /usr/lib/x86_64-linux-gnu/glib-2.0/include  -isystem /usr/include/freetype2 -isystem /usr/include/libpng16   -MMD -MF deps/dispnew.d -MP     -isystem /usr/include/p11-kit-1   -isystem /usr/include/cairo -isystem /usr/include/glib-2.0 -isystem /usr/lib/x86_64-linux-gnu/glib-2.0/include -isystem /usr/include/pixman-1 -isystem /usr/include/freetype2 -isystem /usr/include/libpng16             -Wall -Warith-conversion -Wdate-time -Wdisabled-optimization -Wdouble-promotion -Wduplicated-cond -Wextra -Wformat-signedness -Winit-self -Winvalid-pch -Wlogical-op -Wmissing-declarations -Wmissing-include-dirs -Wmissing-prototypes -Wnested-externs -Wnull-dereference -Wold-style-definition -Wopenmp-simd -Wpacked -Wpointer-arith -Wstrict-prototypes -Wsuggest-attribute=format -Wsuggest-attribute=noreturn -Wsuggest-final-methods -Wsuggest-final-types -Wtrampolines -Wuninitialized -Wunknown-pragmas -Wunused-macros -Wvariadic-macros -Wvector-operation-performance -Wwrite-strings -Warray-bounds=2 -Wattribute-alias=2 -Wformat=2 -Wformat-truncation=2 -Wimplicit-fallthrough=5 -Wshift-overflow=2 -Wuse-after-free=3 -Wvla-larger-than=4031 -Wredundant-decls -Wno-missing-field-initializers -Wno-override-init -Wno-sign-compare -Wno-type-limits -Wno-unused-parameter -Wno-format-nonliteral -Wno-bidi-chars -g3 -Og -ffile-prefix-map=/home/grfz/src/emacs-master--269d3515608e4e91cdd03f90bac9c2a9d5e3d094--2024-01-22T14-56+01-00=. -fstack-protector-strong -Wformat -Werror=format-security -Wall  dispnew.c
In file included from dispnew.c:27:
lisp.h: In function ?builtin_lisp_symbol?:
lisp.h:620:28: error: expected expression before ?{? token
  620 | # define LISP_INITIALLY(w) {w}
      |                            ^
lisp.h:941:3: note: in expansion of macro ?LISP_INITIALLY?
  941 |   LISP_INITIALLY ((Lisp_Word) ((uintptr_t) (ptr) + LISP_WORD_TAG (tag)))
      |   ^~~~~~~~~~~~~~
lisp.h:415:3: note: in expansion of macro ?TAG_PTR?
  415 |   TAG_PTR (Lisp_Symbol, (index) * sizeof *lispsym)
      |   ^~~~~~~
lisp.h:1186:10: note: in expansion of macro ?lisp_h_builtin_lisp_symbol?
 1186 |   return lisp_h_builtin_lisp_symbol (index);
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~
lisp.h:1187:1: warning: control reaches end of non-void function [-Wreturn-type]
 1187 | }
      | ^
make[2]: *** [Makefile:455: dispnew.o] Error 1
make[2]: Leaving directory '/home/grfz/src/emacs-master--269d3515608e4e91cdd03f90bac9c2a9d5e3d094--2024-01-22T14-56+01-00/src'
make[1]: *** [Makefile:554: src] Error 2
make[1]: Leaving directory '/home/grfz/src/emacs-master--269d3515608e4e91cdd03f90bac9c2a9d5e3d094--2024-01-22T14-56+01-00'
make[1]: Entering directory '/home/grfz/src/emacs-master--269d3515608e4e91cdd03f90bac9c2a9d5e3d094--2024-01-22T14-56+01-00'
***
*** "make all" failed with exit status 2.

File lisp.h was last modified by Paul Eggert and before
by Mattias Engdegård.

I'm happy to answer questions, but as I do not know
much about building in general, they should be specific
and detailed.

HTH, Gregor