> 2. In isearch, CL macro expansion results in symbols like > isearch--state-forward--cmacro having function definitions that > include the two doc strings "Access slot \"forward\" of > `(isearch--state (:constructor nil) [...]" and > "\n\n(fn CL-WHOLE-ARG CL-X)". The former string is also in DOC (with > "\n\n(fn CL-X)" appended) as the documentation for the function > isearch--state-forward. > > It appears that, as far as the Emacs help system is concerned, > isearch--state-*--cmacro functions are undocumented. > > The --cmacro functions generate cl-block forms that include the > original doc string, since it's treated as part of the body, but it's > not clear to me whether it has any use there at all, or if it could > just be discarded, or perhaps looked up via the non --cmacro symbols > at run time if it is of use. I think it is just an oversight, since the string was put inside the cl-block it is not recognized as a docstring at all. Patch 0002 drops the function's docstring from compiler-macro and adds a simple "compiler-macro for inlining `NAME'" instead.