aboutsummaryrefslogtreecommitdiffstats
path: root/src/ChangeLog
diff options
context:
space:
mode:
authorPaul Eggert2011-04-01 13:19:36 -0700
committerPaul Eggert2011-04-01 13:19:36 -0700
commit6ddae4efd9e8a3035eb610c39fb2c8f79e7f9893 (patch)
tree1b704b34e4f2f2bd4a6f13e4d1dd058c61c8a6ff /src/ChangeLog
parent0b918413f336dbfa9a9c266ae857bce103556c57 (diff)
parent034086489cff2a23cb4d9f8c536e18456be617ef (diff)
downloademacs-6ddae4efd9e8a3035eb610c39fb2c8f79e7f9893.tar.gz
emacs-6ddae4efd9e8a3035eb610c39fb2c8f79e7f9893.zip
Merge from mainline.
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 99447fd8748..56400fbb08f 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -35,6 +35,64 @@
35 * deps.mk (sysdep.o): Depend on ../lib/allocator.h and on 35 * deps.mk (sysdep.o): Depend on ../lib/allocator.h and on
36 ../lib/careadlinkat.h. 36 ../lib/careadlinkat.h.
37 37
382011-04-01 Stefan Monnier <monnier@iro.umontreal.ca>
39
40 Add lexical binding.
41
42 * window.c (Ftemp_output_buffer_show): New fun.
43 (Fsave_window_excursion):
44 * print.c (Fwith_output_to_temp_buffer): Move to subr.el.
45
46 * lread.c (lisp_file_lexically_bound_p): New function.
47 (Fload): Bind Qlexical_binding.
48 (readevalloop): Remove `evalfun' arg.
49 Bind Qinternal_interpreter_environment.
50 (Feval_buffer): Bind Qlexical_binding.
51 (defvar_int, defvar_bool, defvar_lisp_nopro, defvar_kboard):
52 Mark as dynamic.
53 (syms_of_lread): Declare `lexical-binding'.
54
55 * lisp.h (struct Lisp_Symbol): New field `declared_special'.
56
57 * keyboard.c (eval_dyn): New fun.
58 (menu_item_eval_property): Use it.
59
60 * image.c (parse_image_spec): Use Ffunctionp.
61
62 * fns.c (concat, mapcar1): Accept byte-code-functions.
63
64 * eval.c (Fsetq): Handle lexical vars.
65 (Fdefun, Fdefmacro, Ffunction): Make closures when needed.
66 (Fdefconst, Fdefvaralias, Fdefvar): Mark as dynamic.
67 (FletX, Flet): Obey lexical binding.
68 (Fcommandp): Handle closures.
69 (Feval): New `lexical' arg.
70 (eval_sub): New function extracted from Feval. Use it almost
71 everywhere where Feval was used. Look up vars in lexical env.
72 Handle closures.
73 (Ffunctionp): Move from subr.el.
74 (Ffuncall): Handle closures.
75 (apply_lambda): Remove `eval_flags'.
76 (funcall_lambda): Handle closures and new byte-code-functions.
77 (Fspecial_variable_p): New function.
78 (syms_of_eval): Initialize the Vinternal_interpreter_environment var,
79 but without exporting it to Lisp.
80
81 * doc.c (Fdocumentation, store_function_docstring):
82 * data.c (Finteractive_form): Handle closures.
83
84 * callint.c (Fcall_interactively): Preserve lexical-binding mode for
85 interactive spec.
86
87 * bytecode.c (Bstack_ref, Bstack_set, Bstack_set2, BdiscardN): New
88 byte-codes.
89 (exec_byte_code): New function extracted from Fbyte_code to handle new
90 calling convention for byte-code-functions. Add new byte-codes.
91
92 * buffer.c (defvar_per_buffer): Set new `declared_special' field.
93
94 * alloc.c (Fmake_symbol): Init new `declared_special' field.
95
382011-03-31 Juanma Barranquero <lekktu@gmail.com> 962011-03-31 Juanma Barranquero <lekktu@gmail.com>
39 97
40 * xdisp.c (redisplay_internal): Fix prototype. 98 * xdisp.c (redisplay_internal): Fix prototype.