cl-macs.el has a feature that adds information about parameters list to
docstring of a function. For example, for function defined as
(defun* my-func (arg &optional (op val1) &key ((key var) val2 var-flag))
"An example of a CL function definition"
(list* var var-flag))
the following docstring is generated:
-------------------------------------------------------------------------------
Common Lisp lambda list:
(my-func ARG &optional (OP VAL1) &key ((KEY VAR) VAL2 VAR-FLAG))
An example of a CL function definition
-------------------------------------------------------------------------------
The implementation of the feature has some bugs. For example, if a structure
is defined as follows
(defstruct (some-struct)
"An example of CL structure"
(aa 1) (bb 2) (cc 3))
then docstring for constructor says:
-------------------------------------------------------------------------------
Common Lisp lambda list:
(make-some-struct &CL-DEFS (QUOTE (NIL (CL-TAG-SLOT) (AA nil) (BB nil) (CC nil)))
&key AA BB CC)
-------------------------------------------------------------------------------
The patch fixes this bug and several others
2003-06-18 Nickolay Pakoulin <npak(a)ispras.ru>
* cl-macs.el (cl-transform-lambda): Place doc on Common Lisp
lambda list after the original doc. Care about
#'(lambda () "SingleString")
(cl-upcase-arg):
(cl-function-arglist):
Care about &cl-defs and &cl-quote in lambda list, dotted lists and
circular data structures in lambda list specification