From: Paul Eggert Date: Fri, 1 Apr 2011 20:19:36 +0000 (-0700) Subject: Merge from mainline. X-Git-Tag: emacs-pretest-24.0.90~104^2~275^2~394^2~67 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=6ddae4efd9e8a3035eb610c39fb2c8f79e7f9893;p=emacs.git Merge from mainline. --- 6ddae4efd9e8a3035eb610c39fb2c8f79e7f9893 diff --cc src/ChangeLog index 99447fd8748,3b9669b46a9..56400fbb08f --- a/src/ChangeLog +++ b/src/ChangeLog @@@ -1,40 -1,61 +1,98 @@@ +2011-04-01 Paul Eggert + + * xterm.c (x_scroll_bar_to_input_event) [!USE_GTK]: + Remove var that is set but not used. + (scroll_bar_windows_size): Now size_t, not int. + (x_send_scroll_bar_event): Use size_t, not int, for sizes. + Check for overflow. + + * xfaces.c (realize_named_face): Remove vars that are set but not used. + (map_tty_color) [!defined MSDOS]: Likewise. + + * term.c (tty_write_glyphs): Use size_t; this avoids overflow warning. + + * coding.c: Remove vars that are set but not used. + (DECODE_COMPOSITION_RULE): Remove 2nd arg, which is unused. + All callers changed. + (decode_coding_utf_8, decode_coding_utf_16 decode_coding_emacs_mule): + (decode_coding_iso_2022, encode_coding_sjis, encode_coding_big5): + (decode_coding_charset): Remove vars that are set but not used. + + * bytecode.c (Fbyte_code) [!defined BYTE_CODE_SAFE]: Remove var + that is set but not used. + + * print.c (print_object): Remove var that is set but not used. + + Replace 2 copies of readlink code with 1 gnulib version (Bug#8401). + The gnulib version avoids calling malloc in the usual case, + and on 64-bit hosts doesn't have some arbitrary 32-bit limits. + * fileio.c (Ffile_symlink_p): Use emacs_readlink. + * filelock.c (current_lock_owner): Likewise. + * lisp.h (READLINK_BUFSIZE, emacs_readlink): New function. + * sysdep.c: Include allocator.h, careadlinkat.h. + (emacs_no_realloc_allocator): New static constant. + (emacs_readlink): New function. + * deps.mk (sysdep.o): Depend on ../lib/allocator.h and on + ../lib/careadlinkat.h. + + 2011-04-01 Stefan Monnier + + Add lexical binding. + + * window.c (Ftemp_output_buffer_show): New fun. + (Fsave_window_excursion): + * print.c (Fwith_output_to_temp_buffer): Move to subr.el. + + * lread.c (lisp_file_lexically_bound_p): New function. + (Fload): Bind Qlexical_binding. + (readevalloop): Remove `evalfun' arg. + Bind Qinternal_interpreter_environment. + (Feval_buffer): Bind Qlexical_binding. + (defvar_int, defvar_bool, defvar_lisp_nopro, defvar_kboard): + Mark as dynamic. + (syms_of_lread): Declare `lexical-binding'. + + * lisp.h (struct Lisp_Symbol): New field `declared_special'. + + * keyboard.c (eval_dyn): New fun. + (menu_item_eval_property): Use it. + + * image.c (parse_image_spec): Use Ffunctionp. + + * fns.c (concat, mapcar1): Accept byte-code-functions. + + * eval.c (Fsetq): Handle lexical vars. + (Fdefun, Fdefmacro, Ffunction): Make closures when needed. + (Fdefconst, Fdefvaralias, Fdefvar): Mark as dynamic. + (FletX, Flet): Obey lexical binding. + (Fcommandp): Handle closures. + (Feval): New `lexical' arg. + (eval_sub): New function extracted from Feval. Use it almost + everywhere where Feval was used. Look up vars in lexical env. + Handle closures. + (Ffunctionp): Move from subr.el. + (Ffuncall): Handle closures. + (apply_lambda): Remove `eval_flags'. + (funcall_lambda): Handle closures and new byte-code-functions. + (Fspecial_variable_p): New function. + (syms_of_eval): Initialize the Vinternal_interpreter_environment var, + but without exporting it to Lisp. + + * doc.c (Fdocumentation, store_function_docstring): + * data.c (Finteractive_form): Handle closures. + + * callint.c (Fcall_interactively): Preserve lexical-binding mode for + interactive spec. + + * bytecode.c (Bstack_ref, Bstack_set, Bstack_set2, BdiscardN): New + byte-codes. + (exec_byte_code): New function extracted from Fbyte_code to handle new + calling convention for byte-code-functions. Add new byte-codes. + + * buffer.c (defvar_per_buffer): Set new `declared_special' field. + + * alloc.c (Fmake_symbol): Init new `declared_special' field. + 2011-03-31 Juanma Barranquero * xdisp.c (redisplay_internal): Fix prototype.