summaryrefslogtreecommitdiff
path: root/src/data.c
diff options
context:
space:
mode:
authorKarl Heuer <kwzh@gnu.org>1995-12-13 02:17:09 +0000
committerKarl Heuer <kwzh@gnu.org>1995-12-13 02:17:09 +0000
commitfc67d5be864699aa78fee174bfa11f431f98b6ac (patch)
treeb191f5f2d7c62f0a4b5a862ddf42f595ce981457 /src/data.c
parent976bef0e023039bec6c252de0b0eaf9565290e51 (diff)
downloademacs-fc67d5be864699aa78fee174bfa11f431f98b6ac.tar.gz
emacs-fc67d5be864699aa78fee174bfa11f431f98b6ac.tar.bz2
emacs-fc67d5be864699aa78fee174bfa11f431f98b6ac.zip
(Ftype_of): Return `char-table' and `bool-vector' for
char tables and bool vectors, resp. (Qchar_table, Qbool_vector): New variables. (syms_of_data): Initialize and staticpro them.
Diffstat (limited to 'src/data.c')
-rw-r--r--src/data.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/data.c b/src/data.c
index 1a2c68a4e44..10cd316cf78 100644
--- a/src/data.c
+++ b/src/data.c
@@ -83,6 +83,7 @@ Lisp_Object Qnumberp, Qnumber_or_marker_p;
static Lisp_Object Qinteger, Qsymbol, Qstring, Qcons, Qmarker, Qoverlay;
static Lisp_Object Qfloat, Qwindow_configuration, Qprocess, Qwindow;
static Lisp_Object Qcompiled_function, Qbuffer, Qframe, Qvector;
+static Lisp_Object Qchar_table, Qbool_vector;
static Lisp_Object swap_in_symval_forwarding ();
@@ -228,6 +229,10 @@ for example, (type-of 1) returns `integer'.")
return Qcompiled_function;
if (GC_BUFFERP (object))
return Qbuffer;
+ if (GC_CHAR_TABLE_P (object))
+ return Qchar_table;
+ if (GC_BOOL_VECTOR_P (object))
+ return Qbool_vector;
#ifdef MULTI_FRAME
if (GC_FRAMEP (object))
@@ -2600,6 +2605,8 @@ syms_of_data ()
Qbuffer = intern ("buffer");
Qframe = intern ("frame");
Qvector = intern ("vector");
+ Qchar_table = intern ("char-table");
+ Qbool_vector = intern ("bool-vector");
staticpro (&Qinteger);
staticpro (&Qsymbol);
@@ -2616,6 +2623,8 @@ syms_of_data ()
staticpro (&Qbuffer);
staticpro (&Qframe);
staticpro (&Qvector);
+ staticpro (&Qchar_table);
+ staticpro (&Qbool_vector);
defsubr (&Seq);
defsubr (&Snull);