diff options
author | Karl Heuer <kwzh@gnu.org> | 1994-11-18 02:10:19 +0000 |
---|---|---|
committer | Karl Heuer <kwzh@gnu.org> | 1994-11-18 02:10:19 +0000 |
commit | 6edab5c606589070446bbb2c83002f3c46e61285 (patch) | |
tree | dfab617ca338cc0c09ba59c438dea440e3f8eaec /src/doc.c | |
parent | 560e663f1f85fec05a8491f073b9741d1fe3ea1c (diff) | |
download | emacs-6edab5c606589070446bbb2c83002f3c46e61285.tar.gz |
(Fdocumentation): Use type test macros.
Diffstat (limited to 'src/doc.c')
-rw-r--r-- | src/doc.c | 35 |
1 files changed, 17 insertions, 18 deletions
diff --git a/src/doc.c b/src/doc.c index a22034ae9d2..d6c76592e78 100644 --- a/src/doc.c +++ b/src/doc.c @@ -150,17 +150,16 @@ string is passed through `substitute-command-keys'.") fun = Findirect_function (function); - switch (XTYPE (fun)) + if (SUBRP (fun)) { - case Lisp_Subr: if (XSUBR (fun)->doc == 0) return Qnil; if ((EMACS_INT) XSUBR (fun)->doc >= 0) doc = build_string (XSUBR (fun)->doc); else doc = get_doc_string (- (EMACS_INT) XSUBR (fun)->doc); - break; - - case Lisp_Compiled: + } + else if (COMPILEDP (fun)) + { if (XVECTOR (fun)->size <= COMPILED_DOC_STRING) return Qnil; tem = XVECTOR (fun)->contents[COMPILED_DOC_STRING]; @@ -170,13 +169,13 @@ string is passed through `substitute-command-keys'.") doc = get_doc_string (XFASTINT (tem)); else return Qnil; - break; - - case Lisp_String: - case Lisp_Vector: + } + else if (STRINGP (fun) || VECTORP (fun)) + { return build_string ("Keyboard macro."); - - case Lisp_Cons: + } + else if (CONSP (fun)) + { funcar = Fcar (fun); if (!SYMBOLP (funcar)) return Fsignal (Qinvalid_function, Fcons (fun, Qnil)); @@ -193,18 +192,18 @@ subcommands.)"); doc = get_doc_string (XFASTINT (tem)); else return Qnil; - - break; } else if (EQ (funcar, Qmocklisp)) return Qnil; else if (EQ (funcar, Qmacro)) return Fdocumentation (Fcdr (fun), raw); - - /* Fall through to the default to report an error. */ - - default: - return Fsignal (Qinvalid_function, Fcons (fun, Qnil)); + else + goto oops; + } + else + { + oops: + Fsignal (Qinvalid_function, Fcons (fun, Qnil)); } if (NILP (raw)) |