* lisp/emacs-lisp/cconv.el (cconv-closure-convert-rec): Let the byte
[bpt/emacs.git] / src / ChangeLog.funvec
CommitLineData
b9598260
SM
12004-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