Mercurial > emacs
changeset 26931:234be1721197
(Fkeywordp): New function.
(syms_of_data): Install it.
author | Dave Love <fx@gnu.org> |
---|---|
date | Fri, 17 Dec 1999 15:00:56 +0000 |
parents | 1e3720f2cc94 |
children | 571b5f1022de |
files | src/data.c |
diffstat | 1 files changed, 20 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/src/data.c Thu Dec 16 19:51:49 1999 +0000 +++ b/src/data.c Fri Dec 17 15:00:56 1999 +0000 @@ -83,7 +83,7 @@ Lisp_Object Qintegerp, Qnatnump, Qwholenump, Qsymbolp, Qlistp, Qconsp; Lisp_Object Qstringp, Qarrayp, Qsequencep, Qbufferp; Lisp_Object Qchar_or_string_p, Qmarkerp, Qinteger_or_marker_p, Qvectorp; -Lisp_Object Qbuffer_or_string_p; +Lisp_Object Qbuffer_or_string_p, Qkeywordp; Lisp_Object Qboundp, Qfboundp; Lisp_Object Qchar_table_p, Qvector_or_char_table_p; @@ -311,6 +311,22 @@ return Qnil; } +/* Define this in C to avoid unnecessarily consing up the symbol + name. */ +DEFUN ("keywordp", Fkeywordp, Skeywordp, 1, 1, 0, + "Return t if OBJECT is a keyword.\n\ +This means that it is a symbol with a print name beginning with `:'\n\ +interned in the initial obarray.") + (object) + Lisp_Object object; +{ + if (SYMBOLP (object) + && XSYMBOL (object)->name->data[0] == ':' + && EQ (XSYMBOL (object)->obarray, initial_obarray)) + return Qt; + return Qnil; +} + DEFUN ("vectorp", Fvectorp, Svectorp, 1, 1, 0, "Return t if OBJECT is a vector.") (object) @@ -2593,6 +2609,7 @@ Qlistp = intern ("listp"); Qconsp = intern ("consp"); Qsymbolp = intern ("symbolp"); + Qkeywordp = intern ("keywordp"); Qintegerp = intern ("integerp"); Qnatnump = intern ("natnump"); Qwholenump = intern ("wholenump"); @@ -2790,6 +2807,7 @@ staticpro (&Qlistp); staticpro (&Qconsp); staticpro (&Qsymbolp); + staticpro (&Qkeywordp); staticpro (&Qintegerp); staticpro (&Qnatnump); staticpro (&Qwholenump); @@ -2876,6 +2894,7 @@ #endif /* LISP_FLOAT_TYPE */ defsubr (&Snatnump); defsubr (&Ssymbolp); + defsubr (&Skeywordp); defsubr (&Sstringp); defsubr (&Smultibyte_string_p); defsubr (&Svectorp);