1
0
mirror of https://git.savannah.gnu.org/git/emacs.git synced 2024-12-03 08:30:09 +00:00

Improve documentation of byte-code objects

* doc/lispref/compile.texi (Byte-Code Objects): Document the
integer format of the argument descriptor.  (Bug#23061)
This commit is contained in:
Eli Zaretskii 2016-04-02 15:13:00 +03:00
parent 0020047fda
commit 7228eb805d

View File

@ -533,8 +533,19 @@ there is no maximum number, but only the first six elements have any
normal use. They are:
@table @var
@item arglist
The list of argument symbols.
@item argdesc
The descriptor of the arguments. This can either be a list of
arguments, as described in @ref{Argument List}, or an integer encoding
the required number of arguments. In the latter case, the value of
the descriptor specifies the minimum number of arguments in the bits
zero to 6, and the maximum number of arguments in bits 8 to 14. If
the argument list uses @code{&rest}, then bit 7 is set; otherwise it's
cleared.
If @var{argdesc} is a list, the arguments will be dynamically bound
before executing the byte code. If @var{argdesc} is an integer, the
arguments will be instead pushed onto the stack of the byte-code
interpreter, before executing the code.
@item byte-code
The string containing the byte-code instructions.
@ -562,11 +573,11 @@ representation. It is the definition of the command
@code{backward-sexp}.
@example
#[(&optional arg)
"^H\204^F^@@\301^P\302^H[!\207"
[arg 1 forward-sexp]
2
254435
#[256
"\211\204^G^@@\300\262^A\301^A[!\207"
[1 forward-sexp]
3
1793299
"^p"]
@end example