diff options
Diffstat (limited to 'src/ChangeLog')
| -rw-r--r-- | src/ChangeLog | 58 |
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 @@ | |||
| 1 | 2011-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 | |||
| 1 | 2011-03-31 Juanma Barranquero <lekktu@gmail.com> | 59 | 2011-03-31 Juanma Barranquero <lekktu@gmail.com> |
| 2 | 60 | ||
| 3 | * xdisp.c (redisplay_internal): Fix prototype. | 61 | * xdisp.c (redisplay_internal): Fix prototype. |