+2012-08-18 Paul Eggert <eggert@cs.ucla.edu>
+
+ * termhooks.h (TSET): Remove (Bug#12215).
+ Replace all uses with calls to new setter functions.
+ Use INLINE_HEADER_BEGIN, INLINE_HEADER_END.
+ (TERMHOOKS_INLINE): New macro.
+ (tset_charset_list, tset_selection_alist): New setter functions.
+ * terminal.c (TERMHOOKS_INLINE):
+ Define to EXTERN_INLINE, so that the corresponding functions
+ are compiled into code.
+ (tset_param_alist): New setter function.
+
+2012-08-17 Paul Eggert <eggert@cs.ucla.edu>
+
+ * keyboard.h (KSET): Remove (Bug#12215).
+ Replace all uses with calls to new setter functions.
+ Use INLINE_HEADER_BEGIN, INLINE_HEADER_END.
+ (KEYBOARD_INLINE): New macro.
+ (kset_default_minibuffer_frame, kset_defining_kbd_macro)
+ (kset_input_decode_map, kset_last_command, kset_last_kbd_macro)
+ (kset_prefix_arg, kset_system_key_alist, kset_window_system):
+ New setter functions.
+ * keyboard.c (KEYBOARD_INLINE):
+ Define to EXTERN_INLINE, so that the corresponding functions
+ are compiled into code.
+ (kset_echo_string, kset_kbd_queue)
+ (kset_keyboard_translate_table, kset_last_prefix_arg)
+ (kset_last_repeatable_command, kset_local_function_key_map)
+ (kset_overriding_terminal_local_map, kset_real_last_command)
+ (kset_system_key_syms): New setter functions.
+
+ * frame.h (FSET): Remove (Bug#12215).
+ Replace all uses with calls to new setter functions.
+ Use INLINE_HEADER_BEGIN, INLINE_HEADER_END.
+ (FRAME_INLINE): New macro.
+ (fset_buffer_list, fset_buried_buffer_list, fset_condemned_scroll_bars)
+ (fset_current_tool_bar_string, fset_desired_tool_bar_string)
+ (fset_face_alist, fset_focus_frame, fset_icon_name, fset_menu_bar_items)
+ (fset_menu_bar_vector, fset_menu_bar_window, fset_name)
+ (fset_param_alist, fset_root_window, fset_scroll_bars)
+ (fset_selected_window, fset_title, fset_tool_bar_items)
+ (fset_tool_bar_position, fset_tool_bar_window): New functions.
+ * frame.c (FRAME_INLINE):
+ Define to EXTERN_INLINE, so that the corresponding functions
+ are compiled into code.
+ (fset_buffer_predicate, fset_minibuffer_window): New setter functions.
+
+ A few more naming-convention fixes for getters and setters.
+ * buffer.c (set_buffer_overlays_before): Move here from buffer.h,
+ and rename from buffer_overlays_set_before.
+ (set_buffer_overlays_after): Move here from buffer.h, and rename
+ from buffer_overlays_set_after.
+ * buffer.h (buffer_intervals): Rename from buffer_get_intervals.
+ All uses changed.
+ (set_buffer_intervals): Rename from buffer_set_intervals.
+ * intervals.c (set_interval_object): Move here from intervals.h,
+ and rename from interval_set_object.
+ (set_interval_left): Move here from intervals.h, and rename from
+ interval_set_left.
+ (set_interval_right): Move here from intervals.h, and rename from
+ interval_set_right.
+ (copy_interval_parent): Move here from intervals.h, and rename from
+ interval_copy_parent.
+ * intervals.h (set_interval_parent): Rename from interval_set_parent.
+ (set_interval_plist): Rename from interval_set_plist.
+ Return void, not Lisp_Object, since no caller uses the result.
+ * lisp.h (string_intervals): Rename from string_get_intervals.
+ (set_string_intervals): Rename from string_set_intervals.
+
+ * lisp.h (set_char_table_extras): Rename from char_table_set_extras.
+ (set_char_table_contents): Rename from char_table_set_contents.
+ (set_sub_char_table_contents): Rename from sub_char_table_set_contents.
+ All uses changed. See the end of
+ <http://lists.gnu.org/archive/html/emacs-devel/2012-08/msg00549.html>.
+
+ * lisp.h (CSET): Remove (Bug#12215).
+ (set_char_table_ascii, set_char_table_defalt, set_char_table_parent)
+ (set_char_table_purpose): New functions,
+ replacing CSET. All uses changed. For example, replace
+ "CSET (XCHAR_TABLE (char_table), parent, parent);" with
+ "set_char_table_parent (char_table, parent);".
+ The old version was confusing because it used the same name
+ 'parent' for two different things.
+
+2012-08-17 Dmitry Antipov <dmantipov@yandex.ru>
+
+ Functions to get and set Lisp_Object fields of buffer-local variables.
+ * lisp.h (blv_found, set_blv_found, blv_value, set_blv_value)
+ (set_blv_where, set_blv_defcell, set_blv_valcell): New functions.
+ (BLV_FOUND, SET_BLV_FOUND, BLV_VALUE, SET_BLV_VALUE): Remove.
+ * data.c, eval.c, frame.c: Adjust users.
+
+2012-08-17 Chong Yidong <cyd@gnu.org>
+
+ * xfaces.c (merge_face_vectors): If the target font specfies a
+ font spec, make the font's attributes take precedence over
+ directly-specified attributes.
+ (merge_face_ref): Recognize :font.
+
+2012-08-17 Dmitry Antipov <dmantipov@yandex.ru>
+
+ Do not use memcpy for copying intervals.
+ * intervals.c (reproduce_interval): New function.
+ (reproduce_tree, reproduce_tree_obj): Use it.
+ (reproduce_tree_obj): Remove prototype.
+
+2012-08-17 Paul Eggert <eggert@cs.ucla.edu>
+
+ * lisp.h (duration_to_sec_usec): Remove unused decl.
+
+2012-08-17 Alp Aker <alp.tekin.aker@gmail.com>
+
+ * nsfont.m (ns_ascii_average_width): Send initWithFormat selector
+ to an allocated instance of NSString, not to the class itself.
+
+2012-08-17 Juanma Barranquero <lekktu@gmail.com>
+
+ * makefile.w32-in (C_CTYPE_H): New macro.
+ (LISP_H, $(BLD)/ccl.$(O), $(BLD)/doc.$(O), $(BLD)/w32console.$(O)):
+ ($(BLD)/fontset.$(O), $(BLD)/frame.$(O), $(BLD)/composite.$(O)):
+ ($(BLD)/sysdep.$(O), $(BLD)/w32uniscribe.$(O)): Update dependencies.
+
+2012-08-16 Paul Eggert <eggert@cs.ucla.edu>
+
+ Use ASCII tests for character types.
+ * category.c, dispnew.c, doprnt.c, editfns.c, syntax.c, term.c:
+ * xfns.c, xterm.c:
+ Don't include <ctype.h>; was not needed.
+ * charset.c, doc.c, fileio.c, font.c, frame.c, gtkutil.c, image.c:
+ * sysdep.c, xfaces.c:
+ Include <c-ctype.h> instead of <ctype.h>.
+ * nsterm.m: Include <c-ctype.h>.
+ * charset.c (read_hex):
+ * doc.c (Fsnarf_documentation):
+ * fileio.c (IS_DRIVE) [WINDOWSNT]:
+ (DRIVE_LETTER) [DOS_NT]:
+ (Ffile_name_directory, Fexpand_file_name)
+ (Fsubstitute_in_file_name):
+ * font.c (font_parse_xlfd, font_parse_fcname):
+ * frame.c (x_set_font_backend):
+ * gtkutil.c (xg_get_font):
+ * image.c (xbm_scan, xpm_scan, pbm_scan_number):
+ * nsimage.m (hexchar):
+ * nsterm.m (ns_xlfd_to_fontname):
+ * sysdep.c (system_process_attributes):
+ * xfaces.c (hash_string_case_insensitive):
+ Use C-locale tests instead of locale-specific tests for character
+ types, since we want the ASCII interpretation here, not the
+ interpretation suitable for whatever happens to be the current locale.
+
+2012-08-16 Martin Rudalics <rudalics@gmx.at>
+
+ Consistently check windows for validity/liveness
+ (Bug#11984, Bug#12025, Bug#12026).
+ * lisp.h (CHECK_VALID_WINDOW): New macro.
+ * window.c (decode_window): Rename to decode_live_window.
+ (decode_valid_window, Fwindow_valid_p): New functions.
+ (Fwindow_frame, Fframe_root_window, Fwindow_minibuffer_p)
+ (Fframe_first_window, Fframe_selected_window, Fwindow_parent)
+ (Fwindow_top_child, Fwindow_left_child, Fwindow_next_sibling)
+ (Fwindow_prev_sibling, Fwindow_combination_limit)
+ (Fset_window_combination_limit, Fwindow_use_time)
+ (Fwindow_total_height, Fwindow_total_width, Fwindow_new_total)
+ (Fwindow_normal_size, Fwindow_new_normal, Fwindow_left_column)
+ (Fwindow_top_line, Fwindow_body_height, Fwindow_body_width)
+ (Fwindow_hscroll, Fset_window_hscroll)
+ (Fwindow_redisplay_end_trigger)
+ (Fset_window_redisplay_end_trigger, Fwindow_edges)
+ (Fwindow_pixel_edges, Fwindow_absolute_pixel_edges)
+ (Fwindow_inside_edges, Fwindow_inside_pixel_edges)
+ (Fcoordinates_in_window_p, Fwindow_point, Fwindow_start)
+ (Fwindow_end, Fset_window_point, Fset_window_start)
+ (Fpos_visible_in_window_p, Fwindow_line_height)
+ (Fwindow_dedicated_p, Fset_window_dedicated_p)
+ (Fwindow_prev_buffers, Fset_window_prev_buffers)
+ (Fwindow_next_buffers, Fwindow_parameters, Fwindow_parameter)
+ (Fset_window_parameter, Fwindow_display_table)
+ (Fset_window_display_table, Fdelete_other_windows_internal)
+ (Fset_window_buffer, Fset_window_new_total)
+ (Fset_window_new_normal, Fdelete_window_internal)
+ (Fwindow_text_height, Fset_window_margins, Fwindow_margins)
+ (Fset_window_fringes, Fwindow_fringes, Fset_window_scroll_bars)
+ (Fwindow_scroll_bars): Check whether argument window is a valid or
+ live window. Update doc-strings.
+ (syms_of_window): New symbol Qwindow_valid_p.
+ * keyboard.c (Fposn_at_x_y): Check whether argument
+ frame_or_window denotes a valid window.
+
+2012-08-16 Dmitry Antipov <dmantipov@yandex.ru>
+
+ Fix previous char table change.
+ * lisp.h (CHAR_TABLE_SET): Use sub_char_table_set_contents.
+ * chartab.c (optimize_sub_char_table): Likewise.
+
+2012-08-16 Chong Yidong <cyd@gnu.org>
+
+ * gtkutil.c (xg_get_font): Demand an Xft font (Bug#3228).
+
+ * xfont.c (xfont_open):
+ * xftfont.c (xftfont_open): Set the font's max_width field.
+
+ * nsfont.m (nsfont_open): Similar to the Xft backend, set
+ min_width to space_width and average_width to the average over
+ printable ASCII characters.
+ (ns_char_width): Code cleanup.
+ (ns_ascii_average_width): New utility function.
+
+ * font.h (struct font): Update comments.
+
+2012-08-16 Dmitry Antipov <dmantipov@yandex.ru>
+
+ Simple interface to set Lisp_Object fields of character tables.
+ * lisp.h (CSET): New macro.
+ (char_table_set_extras, char_table_set_contents)
+ (sub_char_table_set_contents): New function.
+ * casetab.c, category.c, chartab.c, fns.c, fontset.c, search.c:
+ * syntax.c: Adjust users.
+
+2012-08-16 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * eval.c (eval_sub): Bind lexical-binding.
+ * lread.c (Qlexical_binding): Make non-static.
+
+2012-08-15 Jan Djärv <jan.h.d@swipnet.se>
+
+ * nsmenu.m (popupSession): Remove.
+ (pop_down_menu): Remove endModalSession.
+ (timeout_handler:): New method.
+ (runDialogAt:): Get next timeout. Start a NSTimer with that timeout.
+ Call runModalForWindow. Check timer_fired when it returns.
+ If not set, cancel timer and break out of loop.
+ Otherwise loop again, with a new timeout.
+
+ * nsterm.m: Include fcntl.h if present.
+ (fd_entry, t_readfds, inNsSelect): Remove.
+ (select_writefds, select_valid, select_timeout, selfds)
+ (select_mutex, apploopnr): Add.
+ (EV_TRAILER): Call kbd_buffer_store_event_hold only if q_event_ptr.
+ Otherwise call kbd_buffer_store_event.
+ (ns_send_appdefined): Remove release of fd_entry.
+ (ns_read_socket): Always send appdefined. Remove inNsSelect check.
+ Increment and decrement apploopnr.
+ (ns_select): If no file descriptors, just do a NSTimer.
+ Otherwise copy read/write masks and start select thread (fd_handler).
+ Start main loop and wait for application defined event.
+ Inform select thread to stop selecting after main loop is exited.
+ (ns_term_init): Create selfds pipe and set non-blocking.
+ Initialize select_mutex. Start the select thread (fd_handler).
+ (fd_handler:): Loop forever, wait for info from the main thread
+ to either start or stop selecting. When select returns, send
+ and appdefined event.
+ (sendScrollEventAtLoc:fromEvent:): Check if q_event_ptr is set.
+ If not call kbd_buffer_store_event.
+
+ * nsterm.h (EmacsApp): fd_handler takes id argument.
+ (EmacsDialogPanel): Add timer_fired and timeout_handler.
+
+ * gtkutil.c (xg_mark_data): Use FRAME_X_P.
+
+2012-08-15 Eli Zaretskii <eliz@gnu.org>
+
+ * region-cache.c (move_cache_gap): Update gap_len using the actual
+ growth of the boundaries array. Do not change cache_len.
+ (Bug#12196)
+
+2012-08-15 Dmitry Antipov <dmantipov@yandex.ru>
+
+ Generalize and cleanup font subsystem checks.
+ * font.h (FONT_DEBUG, font_assert): Remove.
+ * font.c, fontset.c, w32font.c, xfont.c, xftfont.c:
+ Change font_assert to eassert. Use eassert where appropriate.
+
+2012-08-15 Dmitry Antipov <dmantipov@yandex.ru>
+
+ * gtkutil.c (xg_get_font): Use pango_units_to_double.
+
+2012-08-15 Chong Yidong <cyd@gnu.org>
+
+ * gtkutil.c (xg_get_font): Rename from xg_get_font_name.
+ When using the new font chooser, use gtk_font_chooser_get_font_desc to
+ extract the font descriptor instead of just the font name.
+ In that case, return a font spec instead of a string.
+ (x_last_font_name): Move to this file from xfns.c.
+
+ * xfns.c (Fx_select_font): The return value can also be a font
+ spec. Move x_last_font_name management to gtkutil.c.
+
+ * xfaces.c: Make font weight and style symbols non-static.
+
+2012-08-15 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * minibuf.c (read_minibuf): Ignore caller's inhibit-read-only
+ (bug#12117).
+
+2012-08-14 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * alloc.c (Fgarbage_collect): Use plural form consistently.
+
+2012-08-14 Eli Zaretskii <eliz@gnu.org>
+
+ * keyboard.c (command_loop_1): Reset ignore_mouse_drag_p flag each
+ iteration through the command loop. Fixes a problem whereby mouse
+ movements are ignored until the first mouse click.
+
+2012-08-14 Paul Eggert <eggert@cs.ucla.edu>
+
+ Use bool, not int, for Lisp booleans.
+ This is more natural, and on my platform (GCC 4.7.1 x86-64) it
+ makes Emacs a bit smaller and presumably a bit faster.
+ * lisp.h: Include <stdbool.h>.
+ (struct Lisp_Boolfwd, defvar_bool):
+ * lread.c (defvar_bool): Use bool, not int, for Lisp booleans.
+ * regex.c [!emacs]: Include <stdbool.h>.
+ (false, true): Remove; <stdbool.h> does this for us now.
+
+2012-08-14 Chong Yidong <cyd@gnu.org>
+
+ * character.c (Fcharacterp): Doc fix (Bug#12076).
+
+ * data.c (Findirect_variable): Doc fix (Bug#11040).
+
+ * chartab.c (Fmap_char_table): Doc fix (Bug#12061).
+
+ * editfns.c (Fformat): Doc fix (Bug#12059).
+ (Fsave_current_buffer): Doc fix (Bug#11542).
+
+2012-08-14 Barry OReilly <gundaetiapo@gmail.com> (tiny change)
+
+ * keyboard.c (access_keymap_keyremap): Accept anonymous functions
+ (bug#12022).
+
+2012-08-14 Martin Rudalics <rudalics@gmx.at>
+
+ * frame.c (make_frame_without_minibuffer, make_minibuffer_frame)
+ (delete_frame, Fmake_frame_invisible, Ficonify_frame):
+ * minibuf.c (choose_minibuf_frame, read_minibuf):
+ * w32fns.c (x_create_tip_frame):
+ * xfns.c (x_create_tip_frame): Call set_window_buffer instead of
+ Fset_window_buffer (Bug#11984, Bug#12025, Bug#12026).
+
+2012-08-14 Paul Eggert <eggert@cs.ucla.edu>
+
+ * intervals.c (offset_intervals): Remove obsolete comment.
+
2012-08-14 Andreas Schwab <schwab@linux-m68k.org>
* gtkutil.c (find_rtl_image, update_frame_tool_bar): Use NILP.
has at least microseconds now. All uses removed.
(update_frame, update_single_window, update_window, update_frame_1)
(Fsleep_for, sit_for): Port to higher-resolution time stamps.
+ (duration_to_sec_usec): Remove; no longer needed.
* editfns.c (time_overflow): Now extern.
(Fcurrent_time, Fget_internal_run_time, make_time, lisp_time_argument)