summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/ChangeLog6
-rw-r--r--src/data.c6
2 files changed, 11 insertions, 1 deletions
diff --git a/src/ChangeLog b/src/ChangeLog
index 6c5b5d2ea9a..7fea62d2ae5 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,9 @@
+1999-10-25 Gerd Moellmann <gerd@gnu.org>
+
+ * data.c (Qhash_table): New.
+ (Ftype_of): Return it for hash tables.
+ (syms_of_data): Initialize Qhash_table.
+
1999-10-25 Richard M. Stallman <rms@caffeine.ai.mit.edu>
* regex.c (POP_FAILURE_POINT): Extract failure_id as an integer.
diff --git a/src/data.c b/src/data.c
index d5a739c4c61..abddf5e9a71 100644
--- a/src/data.c
+++ b/src/data.c
@@ -101,7 +101,7 @@ static Lisp_Object Qinteger, 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;
+static Lisp_Object Qchar_table, Qbool_vector, Qhash_table;
static Lisp_Object swap_in_symval_forwarding ();
@@ -247,6 +247,8 @@ for example, (type-of 1) returns `integer'.")
return Qbool_vector;
if (GC_FRAMEP (object))
return Qframe;
+ if (GC_HASH_TABLE_P (object))
+ return Qhash_table;
return Qvector;
#ifdef LISP_FLOAT_TYPE
@@ -2828,6 +2830,7 @@ syms_of_data ()
Qvector = intern ("vector");
Qchar_table = intern ("char-table");
Qbool_vector = intern ("bool-vector");
+ Qhash_table = intern ("hash-table");
staticpro (&Qinteger);
staticpro (&Qsymbol);
@@ -2846,6 +2849,7 @@ syms_of_data ()
staticpro (&Qvector);
staticpro (&Qchar_table);
staticpro (&Qbool_vector);
+ staticpro (&Qhash_table);
DEFVAR_BOOL ("keyword-symbols-constant-flag", &keyword_symbols_constant_flag,
"Non-nil means it is an error to set a keyword symbol.\n\