diff options
| author | Stefan Monnier | 2015-02-05 14:28:16 -0500 |
|---|---|---|
| committer | Stefan Monnier | 2015-02-05 14:28:16 -0500 |
| commit | ad5a7c86d017ce8e9ff1312331ef09181be823bf (patch) | |
| tree | f8382a7c42f6844bacf48f03d9480ba8134ba6cc /etc | |
| parent | 10927c1a0f39d527d9ea1fc4605a0ef400bdff4a (diff) | |
| download | emacs-ad5a7c86d017ce8e9ff1312331ef09181be823bf.tar.gz emacs-ad5a7c86d017ce8e9ff1312331ef09181be823bf.zip | |
Add (:documentation <form>) for dynamically-generated docstrings
* lisp/emacs-lisp/bytecomp.el:
(byte-compile-initial-macro-environment): Use macroexp-progn.
(byte-compile-cl-warn): Don't silence use of cl-macroexpand-all.
(byte-compile-file-form-defvar-function): Rename from
byte-compile-file-form-define-abbrev-table.
(defvaralias, byte-compile-file-form-custom-declare-variable): Use it.
(byte-compile): Use byte-compile-top-level rather than
byte-compile-lambda so we can compile non-values.
(byte-compile-form): Add warnings for failed uses of lexical vars via
quoted symbols.
(byte-compile-unfold-bcf): Improve message for failed inlining.
(byte-compile-make-closure): Handle new format of internal-make-closure
for dynamically-generated docstrings.
* lisp/emacs-lisp/cconv.el (cconv--convert-function):
Add `docstring' argument.
(cconv-convert): Use it to handle the new (:documentation ...) form.
(cconv-analyze-form): Handle the new (:documentation ...) form.
* src/eval.c (Ffunction): Handle the new (:documentation ...) form.
(syms_of_eval): Declare `:documentation'.
Diffstat (limited to 'etc')
| -rw-r--r-- | etc/NEWS | 4 |
1 files changed, 4 insertions, 0 deletions
| @@ -599,6 +599,10 @@ in languages like German where downcasing rules depend on grammar. | |||
| 599 | 599 | ||
| 600 | * Lisp Changes in Emacs 25.1 | 600 | * Lisp Changes in Emacs 25.1 |
| 601 | 601 | ||
| 602 | ** lexical closures can use (:documentation <form>) to build their docstring. | ||
| 603 | It should be placed right where the docstring would be, and <form> is then | ||
| 604 | evaluated (and should return a string) when the closure is built. | ||
| 605 | |||
| 602 | ** define-inline provides a new way to define inlinable functions. | 606 | ** define-inline provides a new way to define inlinable functions. |
| 603 | 607 | ||
| 604 | ** New function macroexpand-1 to perform a single step of macroexpansion. | 608 | ** New function macroexpand-1 to perform a single step of macroexpansion. |