aboutsummaryrefslogtreecommitdiffstats
path: root/src/alloc.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/alloc.c')
-rw-r--r--src/alloc.c14
1 files changed, 12 insertions, 2 deletions
diff --git a/src/alloc.c b/src/alloc.c
index 177a2266fb6..07f1caae46b 100644
--- a/src/alloc.c
+++ b/src/alloc.c
@@ -2940,10 +2940,19 @@ usage: (vector &rest OBJECTS) */)
2940 2940
2941DEFUN ("make-byte-code", Fmake_byte_code, Smake_byte_code, 4, MANY, 0, 2941DEFUN ("make-byte-code", Fmake_byte_code, Smake_byte_code, 4, MANY, 0,
2942 doc: /* Create a byte-code object with specified arguments as elements. 2942 doc: /* Create a byte-code object with specified arguments as elements.
2943The arguments should be the arglist, bytecode-string, constant vector, 2943The arguments should be the ARGLIST, bytecode-string BYTE-CODE, constant
2944stack size, (optional) doc string, and (optional) interactive spec. 2944vector CONSTANTS, maximum stack size DEPTH, (optional) DOCSTRING,
2945and (optional) INTERACTIVE-SPEC.
2945The first four arguments are required; at most six have any 2946The first four arguments are required; at most six have any
2946significance. 2947significance.
2948The ARGLIST can be either like the one of `lambda', in which case the arguments
2949will be dynamically bound before executing the byte code, or it can be an
2950integer of the form NNNNNNNRMMMMMMM where the 7bit MMMMMMM specifies the
2951minimum number of arguments, the 7-bit NNNNNNN specifies the maximum number
2952of arguments (ignoring &rest) and the R bit specifies whether there is a &rest
2953argument to catch the left-over arguments. If such an integer is used, the
2954arguments will not be dynamically bound but will be instead pushed on the
2955stack before executing the byte-code.
2947usage: (make-byte-code ARGLIST BYTE-CODE CONSTANTS DEPTH &optional DOCSTRING INTERACTIVE-SPEC &rest ELEMENTS) */) 2956usage: (make-byte-code ARGLIST BYTE-CODE CONSTANTS DEPTH &optional DOCSTRING INTERACTIVE-SPEC &rest ELEMENTS) */)
2948 (register size_t nargs, Lisp_Object *args) 2957 (register size_t nargs, Lisp_Object *args)
2949{ 2958{
@@ -3071,6 +3080,7 @@ Its value and function definition are void, and its property list is nil. */)
3071 p->gcmarkbit = 0; 3080 p->gcmarkbit = 0;
3072 p->interned = SYMBOL_UNINTERNED; 3081 p->interned = SYMBOL_UNINTERNED;
3073 p->constant = 0; 3082 p->constant = 0;
3083 p->declared_special = 0;
3074 consing_since_gc += sizeof (struct Lisp_Symbol); 3084 consing_since_gc += sizeof (struct Lisp_Symbol);
3075 symbols_consed++; 3085 symbols_consed++;
3076 return val; 3086 return val;