emacs-diffs
[Top][All Lists]
Advanced

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

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


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

Index: emacs/src/data.c
diff -c emacs/src/data.c:1.210.2.13 emacs/src/data.c:1.210.2.14
*** emacs/src/data.c:1.210.2.13 Sat Sep  4 09:19:27 2004
--- emacs/src/data.c    Sat Sep  4 09:20:09 2004
***************
*** 92,98 ****
  static Lisp_Object Qsymbol, Qstring, Qcons, Qmarker, Qoverlay;
  static Lisp_Object Qfloat, Qwindow_configuration, Qwindow;
  Lisp_Object Qprocess;
! static Lisp_Object Qcompiled_function, Qbuffer, Qframe, Qvector;
  static Lisp_Object Qchar_table, Qbool_vector, Qhash_table;
  static Lisp_Object Qsubrp, Qmany, Qunevalled;
  
--- 92,98 ----
  static Lisp_Object Qsymbol, Qstring, Qcons, Qmarker, Qoverlay;
  static Lisp_Object Qfloat, Qwindow_configuration, Qwindow;
  Lisp_Object Qprocess;
! static Lisp_Object Qcompiled_function, Qfunction_vector, Qbuffer, Qframe, 
Qvector;
  static Lisp_Object Qchar_table, Qbool_vector, Qhash_table;
  static Lisp_Object Qsubrp, Qmany, Qunevalled;
  
***************
*** 231,238 ****
        return Qwindow;
        if (GC_SUBRP (object))
        return Qsubr;
!       if (GC_COMPILEDP (object))
!       return Qcompiled_function;
        if (GC_BUFFERP (object))
        return Qbuffer;
        if (GC_CHAR_TABLE_P (object))
--- 231,241 ----
        return Qwindow;
        if (GC_SUBRP (object))
        return Qsubr;
!       if (GC_FUNVECP (object))
!       if (FUNVEC_COMPILED_P (object))
!         return Qcompiled_function;
!       else
!         return Qfunction_vector;
        if (GC_BUFFERP (object))
        return Qbuffer;
        if (GC_CHAR_TABLE_P (object))
***************
*** 444,449 ****
--- 447,460 ----
    return Qnil;
  }
  
+ DEFUN ("funvecp", Ffunvecp, Sfunvecp, 1, 1, 0,
+        doc: /* Return t if OBJECT is a `function vector' object.  */)
+      (object)
+      Lisp_Object object;
+ {
+   return FUNVECP (object) ? Qt : Qnil;
+ }
+ 
  DEFUN ("char-or-string-p", Fchar_or_string_p, Schar_or_string_p, 1, 1, 0,
         doc: /* Return t if OBJECT is a character (an integer) or a string.  
*/)
       (object)
***************
*** 2040,2054 ****
      {
        int size = 0;
        if (VECTORP (array))
!       size = XVECTOR (array)->size;
!       else if (COMPILEDP (array))
!       size = XVECTOR (array)->size & PSEUDOVECTOR_SIZE_MASK;
        else
        wrong_type_argument (Qarrayp, array);
  
        if (idxval < 0 || idxval >= size)
        args_out_of_range (array, idx);
!       return XVECTOR (array)->contents[idxval];
      }
  }
  
--- 2051,2065 ----
      {
        int size = 0;
        if (VECTORP (array))
!       size = ASIZE (array);
!       else if (FUNVECP (array))
!       size = FUNVEC_SIZE (array);
        else
        wrong_type_argument (Qarrayp, array);
  
        if (idxval < 0 || idxval >= size)
        args_out_of_range (array, idx);
!       return AREF (array, idxval);
      }
  }
  
***************
*** 3212,3217 ****
--- 3223,3229 ----
    Qwindow = intern ("window");
    /* Qsubr = intern ("subr"); */
    Qcompiled_function = intern ("compiled-function");
+   Qfunction_vector = intern ("function-vector");
    Qbuffer = intern ("buffer");
    Qframe = intern ("frame");
    Qvector = intern ("vector");
***************
*** 3231,3236 ****
--- 3243,3249 ----
    staticpro (&Qwindow);
    /* staticpro (&Qsubr); */
    staticpro (&Qcompiled_function);
+   staticpro (&Qfunction_vector);
    staticpro (&Qbuffer);
    staticpro (&Qframe);
    staticpro (&Qvector);
***************
*** 3267,3272 ****
--- 3280,3286 ----
    defsubr (&Smarkerp);
    defsubr (&Ssubrp);
    defsubr (&Sbyte_code_function_p);
+   defsubr (&Sfunvecp);
    defsubr (&Schar_or_string_p);
    defsubr (&Scar);
    defsubr (&Scdr);




reply via email to

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