Commit | Line | Data |
---|---|---|
b9598260 SM |
1 | 2004-05-20 Miles Bader <miles@gnu.org> |
2 | ||
3 | * lisp.h: Declare make_funvec and Ffunvec. | |
4 | (enum pvec_type): Rename `PVEC_COMPILED' to `PVEC_FUNVEC'. | |
5 | (XSETFUNVEC): Renamed from `XSETCOMPILED'. | |
6 | (FUNVEC_SIZE, FUNVEC_COMPILED_TAG_P, FUNVEC_COMPILED_P): New macros. | |
7 | (COMPILEDP): Define in terms of funvec macros. | |
8 | (FUNVECP, GC_FUNVECP): Renamed from `COMPILEDP' & `GC_COMPILEDP'. | |
9 | (FUNCTIONP): Use FUNVECP instead of COMPILEDP. | |
10 | * alloc.c (make_funvec, funvec): New functions. | |
11 | (Fmake_byte_code): Make sure the first element is a list. | |
12 | ||
13 | * eval.c (Qcurry): New variable. | |
14 | (funcall_funvec, Fcurry): New functions. | |
15 | (syms_of_eval): Initialize them. | |
16 | (funcall_lambda): Handle non-bytecode funvec objects by calling | |
17 | funcall_funvec. | |
18 | (Ffuncall, Feval): Use FUNVECP insetad of COMPILEDP. | |
19 | * lread.c (read1): Return result of read_vector for `#[' syntax | |
20 | directly; read_vector now does any extra work required. | |
21 | (read_vector): Handle both funvec and byte-code objects, converting the | |
22 | type as necessary. `bytecodeflag' argument is now called | |
23 | `read_funvec'. | |
24 | * data.c (Ffunvecp): New function. | |
25 | * doc.c (Fdocumentation): Return nil for unknown funvecs. | |
26 | * fns.c (mapcar1, Felt, concat): Allow funvecs. | |
27 | ||
28 | * eval.c (Ffunctionp): Use `funvec' operators instead of `compiled' | |
29 | operators. | |
30 | * alloc.c (Fmake_byte_code, Fpurecopy, mark_object): Likewise. | |
31 | * keyboard.c (Fcommand_execute): Likewise. | |
32 | * image.c (parse_image_spec): Likewise. | |
33 | * fns.c (Flength, concat, internal_equal): Likewise. | |
34 | * data.c (Faref, Ftype_of): Likewise. | |
35 | * print.c (print_preprocess, print_object): Likewise. | |
36 | ||
37 | ;; arch-tag: f35a6a00-4a11-4739-a4b6-9cf98296f315 |