changeset 102158:f28542a2c7f7

(syms_of_data): Define Qfont_spec, Qfont_entity, and Qfont_object. (Ftype_of): Recognize font objects.
author Chong Yidong <cyd@stupidchicken.com>
date Sat, 21 Feb 2009 13:38:59 +0000
parents 7b5135847f38
children 7a18c1cb1a14
files src/data.c
diffstat 1 files changed, 12 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/src/data.c	Sat Feb 21 13:38:16 2009 +0000
+++ b/src/data.c	Sat Feb 21 13:38:59 2009 +0000
@@ -30,6 +30,7 @@
 #include "frame.h"
 #include "syssignal.h"
 #include "termhooks.h"  /* For FRAME_KBOARD reference in y-or-n-p. */
+#include "font.h"
 
 #ifdef STDC_HEADERS
 #include <float.h>
@@ -85,6 +86,7 @@
 static Lisp_Object Qcompiled_function, Qbuffer, Qframe, Qvector;
 static Lisp_Object Qchar_table, Qbool_vector, Qhash_table;
 static Lisp_Object Qsubrp, Qmany, Qunevalled;
+Lisp_Object Qfont_spec, Qfont_entity, Qfont_object;
 
 static Lisp_Object swap_in_symval_forwarding P_ ((Lisp_Object, Lisp_Object));
 
@@ -224,6 +226,12 @@
 	return Qframe;
       if (HASH_TABLE_P (object))
 	return Qhash_table;
+      if (FONT_SPEC_P (object))
+	return Qfont_spec;
+      if (FONT_ENTITY_P (object))
+	return Qfont_entity;
+      if (FONT_OBJECT_P (object))
+	return Qfont_object;
       return Qvector;
 
     case Lisp_Float:
@@ -3140,6 +3148,10 @@
   Qbool_vector = intern ("bool-vector");
   Qhash_table = intern ("hash-table");
 
+  DEFSYM (Qfont_spec, "font-spec");
+  DEFSYM (Qfont_entity, "font-entity");
+  DEFSYM (Qfont_object, "font-object");
+
   staticpro (&Qinteger);
   staticpro (&Qsymbol);
   staticpro (&Qstring);