[Top][All Lists]
[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);
- [Emacs-diffs] Changes to emacs/src/data.c [lexbind],
Miles Bader <=