]> code.delx.au - gnu-emacs/commitdiff
(Fdocumentation): Use type test macros.
authorKarl Heuer <kwzh@gnu.org>
Fri, 18 Nov 1994 02:10:19 +0000 (02:10 +0000)
committerKarl Heuer <kwzh@gnu.org>
Fri, 18 Nov 1994 02:10:19 +0000 (02:10 +0000)
src/doc.c

index a22034ae9d2f657965cb4d383bebdca527ef9554..d6c76592e78810ed6f7259ee4392733d7492dd41 100644 (file)
--- 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))