Subject: bug#9926: patch: emacs-24.0.91 FTBFS on GNU/Hurd

From: Paul Eggert <[email-masked]>
Date: Sun, 06 Nov 2011 21:43:31 -0800

I installed the following patch in the trunk as bzr 106311
to fix the fails-to-compile bug.

Making GC_MAKE_GCPROS_NOOPS the default sounds good, but as
it doesn't fix a bug and we're in feature-freeze now I left
that for later.

=== modified file 'src/ChangeLog'
--- src/ChangeLog	2011-11-07 02:00:43 +0000
+++ src/ChangeLog	2011-11-07 05:37:49 +0000
@@ -1,3 +1,10 @@
+2011-11-07  Paul Eggert  <[email-masked]>
+
+	* alloc.c (DEADP): New macro, for porting to GNU/Hurd (Bug#9926).
+	This is also needed for porting to any host where GC_MARK_STACK is
+	not GC_MAKE_GCPROS_NOOPS.
+	(which_symbols): Use it.
+
 2011-11-07  Kenichi Handa  <[email-masked]>
 
 	* coding.c (coding_set_destination): Check coding->src_pos only

=== modified file 'src/alloc.c'
--- src/alloc.c	2011-10-29 17:25:44 +0000
+++ src/alloc.c	2011-11-07 05:37:49 +0000
@@ -315,6 +315,7 @@
    on free lists recognizable in O(1).  */
 
 static Lisp_Object Vdead;
+#define DEADP(x) EQ (x, Vdead)
 
 #ifdef GC_MALLOC_CHECK
 
@@ -411,6 +412,10 @@
 
 #endif /* GC_MARK_STACK || GC_MALLOC_CHECK */
 
+#ifndef DEADP
+# define DEADP(x) 0
+#endif
+
 /* Recording what needs to be marked for gc.  */
 
 struct gcpro *gcprolist;
@@ -6261,7 +6266,7 @@
    int gc_count = inhibit_garbage_collection ();
    Lisp_Object found = Qnil;
 
-   if (!EQ (obj, Vdead))
+   if (! DEADP (obj))
      {
        for (sblk = symbol_block; sblk; sblk = sblk->next)
 	 {