From: Eli Zaretskii Date: Sat, 2 Apr 2016 12:13:00 +0000 (+0300) Subject: Improve documentation of byte-code objects X-Git-Tag: emacs-25.0.93~78 X-Git-Url: https://code.delx.au/gnu-emacs/commitdiff_plain/7228eb805d355b26cdf2c2202d46f9784e73fd22 Improve documentation of byte-code objects * doc/lispref/compile.texi (Byte-Code Objects): Document the integer format of the argument descriptor. (Bug#23061) --- diff --git a/doc/lispref/compile.texi b/doc/lispref/compile.texi index f7fed5e18d..c943a6a29c 100644 --- a/doc/lispref/compile.texi +++ b/doc/lispref/compile.texi @@ -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