emacs-pretest-bug
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: emacs-current bootstrap fail on FreeBSD 6.2


From: Chong Yidong
Subject: Re: emacs-current bootstrap fail on FreeBSD 6.2
Date: Tue, 10 Oct 2006 13:19:18 -0400
User-agent: Gnus/5.11 (Gnus v5.11) Emacs/22.0.50 (gnu/linux)

If you apply this patch to the latest sources, does bootstrap succeed?

*** emacs/src/keymap.c.~1.340.~ 2006-09-28 16:31:40.000000000 -0400
--- emacs/src/keymap.c  2006-10-10 13:12:27.000000000 -0400
***************
*** 1235,1245 ****
       (command, position)
       Lisp_Object command, position;
  {
    if (!SYMBOLP (command))
      return Qnil;
  
    ASET (command_remapping_vector, 1, command);
!   return Fkey_binding (command_remapping_vector, Qnil, Qt, position);
  }
  
  /* Value is number if KEY is too long; nil if valid but has no definition. */
--- 1235,1249 ----
       (command, position)
       Lisp_Object command, position;
  {
+   struct gcpro gcpro1;
+ 
    if (!SYMBOLP (command))
      return Qnil;
  
+   GCPRO1 (position);
    ASET (command_remapping_vector, 1, command);
! 
!   RETURN_UNGCPRO (Fkey_binding (command_remapping_vector, Qnil, Qt, 
position));
  }
  
  /* Value is number if KEY is too long; nil if valid but has no definition. */
***************
*** 1594,1605 ****
      (key, accept_default, no_remap, position)
      Lisp_Object key, accept_default, no_remap, position;
  {
!   Lisp_Object *maps, value;
    int nmaps, i;
!   struct gcpro gcpro1, gcpro2;
    int count = SPECPDL_INDEX ();
  
!   GCPRO2 (key, position);
  
    if (NILP (position) && VECTORP (key))
      {
--- 1598,1609 ----
      (key, accept_default, no_remap, position)
      Lisp_Object key, accept_default, no_remap, position;
  {
!   Lisp_Object *maps, value, keymap;
    int nmaps, i;
!   struct gcpro gcpro1, gcpro2, gcpro3, gcpro4;
    int count = SPECPDL_INDEX ();
  
!   GCPRO4 (key, position, keymap, value);
  
    if (NILP (position) && VECTORP (key))
      {
***************
*** 1663,1669 ****
      }
    else
      {
!       Lisp_Object keymap, local_map;
        EMACS_INT pt;
  
        pt = INTEGERP (position) ? XINT (position)
--- 1667,1673 ----
      }
    else
      {
!       Lisp_Object local_map;
        EMACS_INT pt;
  
        pt = INTEGERP (position) ? XINT (position)
***************
*** 1756,1764 ****
   done:
    unbind_to (count, Qnil);
  
-   UNGCPRO;
    if (NILP (value) || INTEGERP (value))
!     return Qnil;
  
    /* If the result of the ordinary keymap lookup is an interactive
       command, look for a key binding (ie. remapping) for that command.  */
--- 1760,1767 ----
   done:
    unbind_to (count, Qnil);
  
    if (NILP (value) || INTEGERP (value))
!     RETURN_UNGCPRO (Qnil);
  
    /* If the result of the ordinary keymap lookup is an interactive
       command, look for a key binding (ie. remapping) for that command.  */
***************
*** 1770,1776 ****
        value = value1;
      }
  
!   return value;
  }
  
  /* GC is possible in this function if it autoloads a keymap.  */
--- 1773,1779 ----
        value = value1;
      }
  
!   RETURN_UNGCPRO (value);
  }
  
  /* GC is possible in this function if it autoloads a keymap.  */
***************
*** 2575,2587 ****
    /* 1 means ignore all menu bindings entirely.  */
    int nomenus = !NILP (firstonly) && !EQ (firstonly, Qnon_ascii);
  
    /* If this command is remapped, then it has no key bindings
       of its own.  */
    if (NILP (no_remap) && SYMBOLP (definition))
      {
        Lisp_Object tem;
        if (tem = Fcommand_remapping (definition, Qnil), !NILP (tem))
!       return Qnil;
      }
  
    found = keymaps;
--- 2578,2592 ----
    /* 1 means ignore all menu bindings entirely.  */
    int nomenus = !NILP (firstonly) && !EQ (firstonly, Qnon_ascii);
  
+   GCPRO5 (definition, keymaps, maps, found, sequences);
+ 
    /* If this command is remapped, then it has no key bindings
       of its own.  */
    if (NILP (no_remap) && SYMBOLP (definition))
      {
        Lisp_Object tem;
        if (tem = Fcommand_remapping (definition, Qnil), !NILP (tem))
!       RETURN_UNGCPRO (Qnil);
      }
  
    found = keymaps;
***************
*** 2593,2599 ****
        found = XCDR (found);
      }
  
-   GCPRO5 (definition, keymaps, maps, found, sequences);
    found = Qnil;
    sequences = Qnil;
  
--- 2598,2603 ----




reply via email to

[Prev in Thread] Current Thread [Next in Thread]