aboutsummaryrefslogtreecommitdiffstats
path: root/src/ChangeLog
diff options
context:
space:
mode:
Diffstat (limited to 'src/ChangeLog')
-rw-r--r--src/ChangeLog58
1 files changed, 58 insertions, 0 deletions
diff --git a/src/ChangeLog b/src/ChangeLog
index c2e28251cb0..3b9669b46a9 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,61 @@
12011-04-01 Stefan Monnier <monnier@iro.umontreal.ca>
2
3 Add lexical binding.
4
5 * window.c (Ftemp_output_buffer_show): New fun.
6 (Fsave_window_excursion):
7 * print.c (Fwith_output_to_temp_buffer): Move to subr.el.
8
9 * lread.c (lisp_file_lexically_bound_p): New function.
10 (Fload): Bind Qlexical_binding.
11 (readevalloop): Remove `evalfun' arg.
12 Bind Qinternal_interpreter_environment.
13 (Feval_buffer): Bind Qlexical_binding.
14 (defvar_int, defvar_bool, defvar_lisp_nopro, defvar_kboard):
15 Mark as dynamic.
16 (syms_of_lread): Declare `lexical-binding'.
17
18 * lisp.h (struct Lisp_Symbol): New field `declared_special'.
19
20 * keyboard.c (eval_dyn): New fun.
21 (menu_item_eval_property): Use it.
22
23 * image.c (parse_image_spec): Use Ffunctionp.
24
25 * fns.c (concat, mapcar1): Accept byte-code-functions.
26
27 * eval.c (Fsetq): Handle lexical vars.
28 (Fdefun, Fdefmacro, Ffunction): Make closures when needed.
29 (Fdefconst, Fdefvaralias, Fdefvar): Mark as dynamic.
30 (FletX, Flet): Obey lexical binding.
31 (Fcommandp): Handle closures.
32 (Feval): New `lexical' arg.
33 (eval_sub): New function extracted from Feval. Use it almost
34 everywhere where Feval was used. Look up vars in lexical env.
35 Handle closures.
36 (Ffunctionp): Move from subr.el.
37 (Ffuncall): Handle closures.
38 (apply_lambda): Remove `eval_flags'.
39 (funcall_lambda): Handle closures and new byte-code-functions.
40 (Fspecial_variable_p): New function.
41 (syms_of_eval): Initialize the Vinternal_interpreter_environment var,
42 but without exporting it to Lisp.
43
44 * doc.c (Fdocumentation, store_function_docstring):
45 * data.c (Finteractive_form): Handle closures.
46
47 * callint.c (Fcall_interactively): Preserve lexical-binding mode for
48 interactive spec.
49
50 * bytecode.c (Bstack_ref, Bstack_set, Bstack_set2, BdiscardN): New
51 byte-codes.
52 (exec_byte_code): New function extracted from Fbyte_code to handle new
53 calling convention for byte-code-functions. Add new byte-codes.
54
55 * buffer.c (defvar_per_buffer): Set new `declared_special' field.
56
57 * alloc.c (Fmake_symbol): Init new `declared_special' field.
58
12011-03-31 Juanma Barranquero <lekktu@gmail.com> 592011-03-31 Juanma Barranquero <lekktu@gmail.com>
2 60
3 * xdisp.c (redisplay_internal): Fix prototype. 61 * xdisp.c (redisplay_internal): Fix prototype.