# HG changeset patch # User Aidan Kehoe # Date 1306689429 -3600 # Node ID 9d519ab9fd683ee9b3e426cebc22fa668308cae1 # Parent cf2733b1ff4b5bf474ab34daba83ced4e20b4b04 Be a little better about deciding when to add CL docstring argument info. 2011-05-29 Aidan Kehoe * cl-macs.el (cl-transform-lambda): Move the code to decide whether to add argument information to the docstring a little later, so the information about what the function's docstring ends up being is a little more exact. diff -r cf2733b1ff4b -r 9d519ab9fd68 lisp/ChangeLog --- a/lisp/ChangeLog Fri May 27 14:31:56 2011 +0100 +++ b/lisp/ChangeLog Sun May 29 18:17:09 2011 +0100 @@ -1,3 +1,10 @@ +2011-05-29 Aidan Kehoe + + * cl-macs.el (cl-transform-lambda): + Move the code to decide whether to add argument information to the + docstring a little later, so the information about what the + function's docstring ends up being is a little more exact. + 2011-05-27 Aidan Kehoe * modeline.el (make-modeline-command-wrapper): diff -r cf2733b1ff4b -r 9d519ab9fd68 lisp/cl-macs.el --- a/lisp/cl-macs.el Fri May 27 14:31:56 2011 +0100 +++ b/lisp/cl-macs.el Sun May 29 18:17:09 2011 +0100 @@ -380,15 +380,6 @@ (setq body (list (list* 'block bind-block body)))) (setq simple-args (nreverse simple-args) header (nreverse header)) - ;; Add CL lambda list to documentation, if the CL lambda list differs - ;; from the non-CL lambda list. npak@ispras.ru - (unless (equal complex-arglist - (cl-function-arglist simple-args)) - (and (stringp (car header)) (setq doc (pop header))) - ;; Stick the arguments onto the end of the doc string in a way that - ;; will be recognized specially by `function-arglist'. - (push (concat doc "\n\narguments: " complex-arglist "\n") - header)) (if (null args) (list* nil simple-args (nconc header body)) (if (memq '&optional simple-args) (push '&optional args)) @@ -398,7 +389,21 @@ ;; This code originally needed to create the keywords itself, that ;; wasn't done by the Lisp reader; the first element of the result ;; list comprised code to do this. It's not used any more. - (list* nil (nconc simple-args (list '&rest (car (pop bind-lets)))) + (list* nil (prog1 + (setq simple-args + (nconc simple-args + (list '&rest (car (pop bind-lets))))) + ;; Add CL lambda list to documentation, if the CL lambda + ;; list differs from the non-CL lambda + ;; list. npak@ispras.ru + (unless (equal complex-arglist + (cl-function-arglist simple-args)) + (and (stringp (car header)) (setq doc (pop header))) + ;; Stick the arguments onto the end of the doc string + ;; in a way that will be recognized specially by + ;; `function-arglist'. + (push (concat doc "\n\narguments: " complex-arglist "\n") + header))) ;; XEmacs change: we add usage information using Nickolay's ;; approach above (nconc header