diff options
| author | Noam Postavsky | 2016-07-01 23:53:26 -0400 |
|---|---|---|
| committer | Noam Postavsky | 2016-07-09 10:58:55 -0400 |
| commit | aac62a67dde02f086ae495edbc12a5046143812a (patch) | |
| tree | dbd7a7efd66c4bbf22bba40ebfaf70117edc7f4e | |
| parent | d6aa4da832712a720f9a85e850af1206c6f070bc (diff) | |
| download | emacs-aac62a67dde02f086ae495edbc12a5046143812a.tar.gz emacs-aac62a67dde02f086ae495edbc12a5046143812a.zip | |
Add details to cl-lib defining macros' docstrings
* lisp/emacs-lisp/cl-macs.el (cl-defun, cl-defmacro): Add terse summary
of supported arglist forms (Bug #22462).
| -rw-r--r-- | lisp/emacs-lisp/cl-macs.el | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/lisp/emacs-lisp/cl-macs.el b/lisp/emacs-lisp/cl-macs.el index 2cb821edcd3..c51ed9d8770 100644 --- a/lisp/emacs-lisp/cl-macs.el +++ b/lisp/emacs-lisp/cl-macs.el | |||
| @@ -327,6 +327,20 @@ FORM is of the form (ARGS . BODY)." | |||
| 327 | Like normal `defun', except ARGLIST allows full Common Lisp conventions, | 327 | Like normal `defun', except ARGLIST allows full Common Lisp conventions, |
| 328 | and BODY is implicitly surrounded by (cl-block NAME ...). | 328 | and BODY is implicitly surrounded by (cl-block NAME ...). |
| 329 | 329 | ||
| 330 | The full form of a Common Lisp function argument list is | ||
| 331 | |||
| 332 | (VAR... | ||
| 333 | [&optional (VAR [INITFORM [SVAR]])...] | ||
| 334 | [&rest|&body VAR] | ||
| 335 | [&key (([KEYWORD] VAR) [INITFORM [SVAR]])... [&allow-other-keys]] | ||
| 336 | [&aux (VAR [INITFORM])...]) | ||
| 337 | |||
| 338 | VAR maybe be replaced recursively with an argument list for | ||
| 339 | destructing, `&whole' is supported within these sublists. If | ||
| 340 | SVAR, INITFORM, and KEYWORD are all omitted, then `(VAR)' may be | ||
| 341 | written simply `VAR'. See the Info node `(cl)Argument Lists' for | ||
| 342 | more details. | ||
| 343 | |||
| 330 | \(fn NAME ARGLIST [DOCSTRING] BODY...)" | 344 | \(fn NAME ARGLIST [DOCSTRING] BODY...)" |
| 331 | (declare (debug | 345 | (declare (debug |
| 332 | ;; Same as defun but use cl-lambda-list. | 346 | ;; Same as defun but use cl-lambda-list. |
| @@ -406,6 +420,21 @@ and BODY is implicitly surrounded by (cl-block NAME ...). | |||
| 406 | Like normal `defmacro', except ARGLIST allows full Common Lisp conventions, | 420 | Like normal `defmacro', except ARGLIST allows full Common Lisp conventions, |
| 407 | and BODY is implicitly surrounded by (cl-block NAME ...). | 421 | and BODY is implicitly surrounded by (cl-block NAME ...). |
| 408 | 422 | ||
| 423 | The full form of a Common Lisp macro argument list is | ||
| 424 | |||
| 425 | (VAR... | ||
| 426 | [&optional (VAR [INITFORM [SVAR]])...] | ||
| 427 | [&rest|&body VAR] | ||
| 428 | [&key (([KEYWORD] VAR) [INITFORM [SVAR]])... [&allow-other-keys]] | ||
| 429 | [&aux (VAR [INITFORM])...] | ||
| 430 | [&environment VAR]) | ||
| 431 | |||
| 432 | VAR maybe be replaced recursively with an argument list for | ||
| 433 | destructing, `&whole' is supported within these sublists. If | ||
| 434 | SVAR, INITFORM, and KEYWORD are all omitted, then `(VAR)' may be | ||
| 435 | written simply `VAR'. See the Info node `(cl)Argument Lists' for | ||
| 436 | more details. | ||
| 437 | |||
| 409 | \(fn NAME ARGLIST [DOCSTRING] BODY...)" | 438 | \(fn NAME ARGLIST [DOCSTRING] BODY...)" |
| 410 | (declare (debug | 439 | (declare (debug |
| 411 | (&define name cl-macro-list cl-declarations-or-string def-body)) | 440 | (&define name cl-macro-list cl-declarations-or-string def-body)) |