]> git.eshelyaron.com Git - emacs.git/commitdiff
Fix build when CHECK_LISP_OBJECT_TYPE is set
authorStefan Monnier <monnier@iro.umontreal.ca>
Wed, 24 Jan 2024 15:21:44 +0000 (10:21 -0500)
committerEshel Yaron <me@eshelyaron.com>
Wed, 24 Jan 2024 18:31:54 +0000 (19:31 +0100)
* src/lisp.h (make_lisp_symbol_internal): Fix last commit.

(cherry picked from commit c9705037e98a398d0e6e145f16e0ce8cdd4a8973)

src/lisp.h

index eb0ee51d9f9feb4dd4c2f72d70fc76a818028c3d..f822417ffb1c8158f0126c62a65f5d2a7fc58eb0 100644 (file)
@@ -1173,7 +1173,12 @@ make_lisp_symbol_internal (struct Lisp_Symbol *sym)
      Do not use eassert here, so that builtin symbols like Qnil compile to
      constants; this is needed for some circa-2024 GCCs even with -O2.  */
   char *symoffset = (char *) ((char *) sym - (char *) lispsym);
-  return TAG_PTR (Lisp_Symbol, symoffset);
+  /* FIXME: We need this silly `a = ... return` η-redex because otherwise GCC
+     complains about:
+     lisp.h:615:28: error: expected expression before ‘{’ token
+       615 | # define LISP_INITIALLY(w) {w}   */
+  Lisp_Object a = TAG_PTR (Lisp_Symbol, symoffset);
+  return a;
 }
 
 INLINE Lisp_Object