Subject: Re: bug#9115: 24.0.50; `documentation' should not return args list for CL defun*.

From: Stefan Monnier <[email-masked]>
Date: Tue, 02 Aug 2011 15:16:19 -0400

> (defun* foo (&rest args) nil)
> (help-split-fundoc (documentation 'foo) nil)
> =>("(nil &rest ARGS)")

> (defun bar (&rest args) nil)
> (help-split-fundoc (documentation 'bar) nil)
> =>nil

> (defmacro foo-1 (&rest args) "some doc." nil)
> (help-split-fundoc (documentation 'foo-1) nil)
> nil

Right, as explained in help-split-fundoc's docstring:

   Return (USAGE . DOC) or nil if there's no usage info.

So if you just want the docstring, you'll need something like

  (let ((doc (documentation bidule)))
    (or (cdr (help-split-fundoc doc nil)) doc))

I agree this is not super convenient.

        Stefan