emacs-diffs
[Top][All Lists]
Advanced

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

[Emacs-diffs] Changes to emacs/src/fns.c [lexbind]


From: Miles Bader
Subject: [Emacs-diffs] Changes to emacs/src/fns.c [lexbind]
Date: Sat, 04 Sep 2004 05:46:43 -0400

Index: emacs/src/fns.c
diff -c emacs/src/fns.c:1.314.2.14 emacs/src/fns.c:1.314.2.15
*** emacs/src/fns.c:1.314.2.14  Thu Jul  8 08:13:18 2004
--- emacs/src/fns.c     Sat Sep  4 09:20:09 2004
***************
*** 152,159 ****
      XSETFASTINT (val, MAX_CHAR);
    else if (BOOL_VECTOR_P (sequence))
      XSETFASTINT (val, XBOOL_VECTOR (sequence)->size);
!   else if (COMPILEDP (sequence))
!     XSETFASTINT (val, XVECTOR (sequence)->size & PSEUDOVECTOR_SIZE_MASK);
    else if (CONSP (sequence))
      {
        i = 0;
--- 152,159 ----
      XSETFASTINT (val, MAX_CHAR);
    else if (BOOL_VECTOR_P (sequence))
      XSETFASTINT (val, XBOOL_VECTOR (sequence)->size);
!   else if (FUNVECP (sequence))
!     XSETFASTINT (val, FUNVEC_SIZE (sequence));
    else if (CONSP (sequence))
      {
        i = 0;
***************
*** 579,585 ****
      {
        this = args[argnum];
        if (!(CONSP (this) || NILP (this) || VECTORP (this) || STRINGP (this)
!           || COMPILEDP (this) || BOOL_VECTOR_P (this)))
        {
            args[argnum] = wrong_type_argument (Qsequencep, this);
        }
--- 579,585 ----
      {
        this = args[argnum];
        if (!(CONSP (this) || NILP (this) || VECTORP (this) || STRINGP (this)
!           || FUNVECP (this) || BOOL_VECTOR_P (this)))
        {
            args[argnum] = wrong_type_argument (Qsequencep, this);
        }
***************
*** 605,611 ****
          Lisp_Object ch;
          int this_len_byte;
  
!         if (VECTORP (this))
            for (i = 0; i < len; i++)
              {
                ch = XVECTOR (this)->contents[i];
--- 605,611 ----
          Lisp_Object ch;
          int this_len_byte;
  
!         if (VECTORP (this) || FUNVECP (this))
            for (i = 0; i < len; i++)
              {
                ch = XVECTOR (this)->contents[i];
***************
*** 1425,1431 ****
      {
        if (CONSP (sequence) || NILP (sequence))
        return Fcar (Fnthcdr (n, sequence));
!       else if (STRINGP (sequence) || VECTORP (sequence)
               || BOOL_VECTOR_P (sequence) || CHAR_TABLE_P (sequence))
        return Faref (sequence, n);
        else
--- 1425,1431 ----
      {
        if (CONSP (sequence) || NILP (sequence))
        return Fcar (Fnthcdr (n, sequence));
!       else if (STRINGP (sequence) || VECTORP (sequence) || FUNVECP (sequence)
               || BOOL_VECTOR_P (sequence) || CHAR_TABLE_P (sequence))
        return Faref (sequence, n);
        else
***************
*** 2242,2252 ****
        if (WINDOW_CONFIGURATIONP (o1))
          return compare_window_configurations (o1, o2, 0);
  
!       /* Aside from them, only true vectors, char-tables, and compiled
!          functions are sensible to compare, so eliminate the others now.  */
        if (size & PSEUDOVECTOR_FLAG)
          {
!           if (!(size & (PVEC_COMPILED | PVEC_CHAR_TABLE)))
              return 0;
            size &= PSEUDOVECTOR_SIZE_MASK;
          }
--- 2242,2252 ----
        if (WINDOW_CONFIGURATIONP (o1))
          return compare_window_configurations (o1, o2, 0);
  
!       /* Aside from them, only true vectors, char-tables, and function
!          vectors are sensible to compare, so eliminate the others now.  */
        if (size & PSEUDOVECTOR_FLAG)
          {
!           if (!(size & (PVEC_FUNVEC | PVEC_CHAR_TABLE)))
              return 0;
            size &= PSEUDOVECTOR_SIZE_MASK;
          }
***************
*** 2931,2937 ****
    /* We need not explicitly protect `tail' because it is used only on lists, 
and
      1) lists are not relocated and 2) the list is marked via `seq' so will 
not be freed */
  
!   if (VECTORP (seq))
      {
        for (i = 0; i < leni; i++)
        {
--- 2931,2937 ----
    /* We need not explicitly protect `tail' because it is used only on lists, 
and
      1) lists are not relocated and 2) the list is marked via `seq' so will 
not be freed */
  
!   if (VECTORP (seq) || FUNVECP (seq))
      {
        for (i = 0; i < leni; i++)
        {




reply via email to

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