# HG changeset patch # User Chong Yidong # Date 1235223539 0 # Node ID f28542a2c7f77690202a70d5f1baf07eab914c94 # Parent 7b5135847f38c7feedfdf3a795968f2b3f847c29 (syms_of_data): Define Qfont_spec, Qfont_entity, and Qfont_object. (Ftype_of): Recognize font objects. diff -r 7b5135847f38 -r f28542a2c7f7 src/data.c --- 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 @@ -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);