diff options
Diffstat (limited to 'src/alloc.c')
| -rw-r--r-- | src/alloc.c | 14 |
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 | ||
| 2941 | DEFUN ("make-byte-code", Fmake_byte_code, Smake_byte_code, 4, MANY, 0, | 2941 | DEFUN ("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. |
| 2943 | The arguments should be the arglist, bytecode-string, constant vector, | 2943 | The arguments should be the ARGLIST, bytecode-string BYTE-CODE, constant |
| 2944 | stack size, (optional) doc string, and (optional) interactive spec. | 2944 | vector CONSTANTS, maximum stack size DEPTH, (optional) DOCSTRING, |
| 2945 | and (optional) INTERACTIVE-SPEC. | ||
| 2945 | The first four arguments are required; at most six have any | 2946 | The first four arguments are required; at most six have any |
| 2946 | significance. | 2947 | significance. |
| 2948 | The ARGLIST can be either like the one of `lambda', in which case the arguments | ||
| 2949 | will be dynamically bound before executing the byte code, or it can be an | ||
| 2950 | integer of the form NNNNNNNRMMMMMMM where the 7bit MMMMMMM specifies the | ||
| 2951 | minimum number of arguments, the 7-bit NNNNNNN specifies the maximum number | ||
| 2952 | of arguments (ignoring &rest) and the R bit specifies whether there is a &rest | ||
| 2953 | argument to catch the left-over arguments. If such an integer is used, the | ||
| 2954 | arguments will not be dynamically bound but will be instead pushed on the | ||
| 2955 | stack before executing the byte-code. | ||
| 2947 | usage: (make-byte-code ARGLIST BYTE-CODE CONSTANTS DEPTH &optional DOCSTRING INTERACTIVE-SPEC &rest ELEMENTS) */) | 2956 | usage: (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; |