+2013-08-09 Dmitry Antipov <dmantipov@yandex.ru>
+
+ Use xstrdup and build_unibyte_string where applicable.
+ * alloc.c (xstrdup): Tiny cleanup. Add eassert.
+ * xfns.c (x_window):
+ * xrdb.c (x_get_customization_string):
+ * xterm.c (xim_initialize):
+ * w32fns.c (w32_window): Use xstrdup.
+ (w32_display_monitor_attributes_list):
+ * emacs.c (init_cmdargs):
+ * keyboard.c (PUSH_C_STR):
+ * nsfont.m (nsfont_open):
+ * sysdep.c (system_process_attributes):
+ * w32.c (system_process_attributes):
+ * xdisp.c (message1, message1_nolog): Use build_unibyte_string.
+
+2013-08-09 Eli Zaretskii <eliz@gnu.org>
+
+ * w32.c (PEXCEPTION_POINTERS, PEXCEPTION_RECORD, PCONTEXT): Define
+ variables of these types so that GDB would know about them, as aid
+ for debugging fatal exceptions. (Bug#15024) See also
+ http://sourceware.org/ml/gdb/2013-08/msg00010.html for related
+ discussions.
+
+2013-08-08 Jan Djärv <jan.h.d@swipnet.se>
+
+ * nsterm.m (ns_update_begin): Don't change clip path if it would be
+ larger than the NSWindow (Bug#14934).
+
+2013-08-08 Dmitry Antipov <dmantipov@yandex.ru>
+
+ Redesign redisplay interface to drop global variable updated_window.
+ Always pass currently updated window as a parameter to update routines.
+ * dispextern.h (updated_window): Remove declaration.
+ (struct redisplay_interface): Pass window parameter to
+ write_glyphs, insert_glyphs, clear_end_of_line, cursor_to
+ and after_update_window_hook.
+ (x_write_glyphs, x_insert_glyphs, x_clear_end_of_line, x_cursor_to):
+ Adjust prototypes.
+ * dispnew.c (updated_window): Remove.
+ (redraw_overlapped_rows, update_marginal_area, update_text_area)
+ (update_window_line): Adjust to match redisplay interface changes.
+ * nsterm.m (ns_update_window_begin, ns_update_window_end)
+ (ns_scroll_run, ns_after_update_window_line):
+ * w32term.c (x_update_window_begin, x_update_window_end)
+ (x_after_update_window_line, x_scroll_run):
+ * xterm.c (x_update_window_begin, x_update_window_end)
+ (x_after_update_window_line, x_scroll_run):
+ * xdisp.c (x_write_glyphs, x_insert_glyphs, x_clear_end_of_line):
+ Likewise. Adjust comments where appropriate.
+ (x_cursor_to): Simplify because this is always called during window
+ update (but install debugging check anyway).
+ (expose_window): Check must_be_updated_p flag to see whether this
+ function is called during window update.
+
+2013-08-08 Dmitry Antipov <dmantipov@yandex.ru>
+
+ Do not reset window modification event counters excessively.
+ These leftovers and poor man's tricky methods to catch extra
+ redisplay's attention are no longer needed.
+ * frame.c (set_menu_bar_lines_1):
+ * minibuf.c (read_minibuf_unwind):
+ * window.c (Fset_window_start, set_window_buffer, window_resize_apply)
+ (grow_mini_window, shrink_mini_window, window_scroll_pixel_based)
+ (window_scroll_line_based, Fset_window_configuration):
+ * xdisp.c (redisplay_window): Do not reset last_modified and
+ last_overlay_modified counters.
+
+2013-08-07 Jan Djärv <jan.h.d@swipnet.se>
+
+ * xselect.c (x_send_client_event): Set send_event and serial, memset
+ data.l as it might be bigger than data.b. Use 24 bit mask to
+ XSendEvent (Bug#15034).
+
+2013-08-07 Eli Zaretskii <eliz@gnu.org>
+
+ * xdisp.c (prepare_menu_bars): Don't call x_consider_frame_title
+ for TTY frames that are not the top frame on their console.
+ (Bug#14616)
+
+2013-08-07 Martin Rudalics <rudalics@gmx.at>
+
+ * w32term.c (w32fullscreen_hook): Really maximize frame when
+ asked for (Bug#14841).
+
+2013-08-07 Dmitry Antipov <dmantipov@yandex.ru>
+
+ Prefer selected_window to Fselected_window, likewise for frames.
+ * buffer.c (Fbuffer_swap_text):
+ * data.c (Fvariable_binding_locus):
+ * window.c (run_window_configuration_change_hook): Adjust users.
+ * w16select.c (Fw16_set_clipboard_data, Fw16_get_clipboard_data):
+ Use decode_live_frame.
+
+2013-08-07 Dmitry Antipov <dmantipov@yandex.ru>
+
+ Be more careful if selected window shows the buffer other than current,
+ use window_outdated only if this is not so. This change should also
+ address some weird issues discussed in Bug#13012.
+ * window.h (window_outdated): New prototype.
+ * window.c (window_outdated): Now here. Convert from static and
+ always assume window's buffer.
+ (Fwindow_end, Fwindow_line_height): Use it.
+ * xdisp.c (reconsider_clip_changes): Remove prototype, drop 2nd arg
+ and always assume window's buffer.
+ (redisplay_window): Adjust user.
+ (redisplay_internal): Call to reconsider_clip_changes once and
+ check whether mode line should be updated only if selected window
+ shows current buffer.
+ (run_window_scroll_functions): Use eassert for debugging check.
+ (Fmove_point_visually, note_mouse_highlight): Use window_outdated.
+
+2013-08-06 Dmitry Antipov <dmantipov@yandex.ru>
+
+ * window.c (window_scroll, window_scroll_pixel_based)
+ (window_scroll_line_based): Use bool for booleans.
+
+2013-08-06 Paul Eggert <eggert@cs.ucla.edu>
+
+ * process.c: Fix minor off-by-one issues in descriptor counts.
+ This shouldn't fix any real bugs, but it cleans up the code a bit.
+ (max_process_desc, max_input_desc): -1, not 0, means none.
+ All uses changed.
+ (delete_input_desc): New function.
+ (delete_write_fd, delete_keyboard_wait_descriptor): Use it.
+ (deactivate_process): Scan backwards when recomuting max_process_desc;
+ that should be faster.
+ (init_process_emacs): Initialize max_input_desc.
+
+2013-08-06 Dmitry Antipov <dmantipov@yandex.ru>
+
+ Use region cache to speedup bidi_find_paragraph_start.
+ * buffer.h (struct buffer): New member bidi_paragraph_cache.
+ Rename cache_long_line_scans to cache_long_scans.
+ * buffer.c (bset_cache_long_line_scans): Rename to
+ bset_cache_long_scans.
+ (Fget_buffer_create, Fmake_indirect_buffer, Fkill_buffer)
+ (Fbuffer_swap_text, init_buffer_once): Take bidi_paragraph_cache
+ into account.
+ (syms_of_buffer): Rename cache-long-line-scans to
+ cache-long-scans. Adjust docstring.
+ * search.c (newline_cache_on_off):
+ * indent.c (width_run_cache_on_off): Adjust users.
+ * bidi.c (bidi_paragraph_cache_on_off): New function.
+ (bidi_find_paragraph_start): Use bidi_paragraph_cache if needed.
+ * insdel.c (prepare_to_modify_buffer): Invalidate
+ bidi_paragraph_cache if enabled.
+
+2013-08-06 Dmitry Antipov <dmantipov@yandex.ru>
+
+ Invalidate region caches only if buffer text is going to be changed.
+ * lisp.h (modify_region_1): Remove 3rd arg and rename to...
+ (modify_text): ...new prototype.
+ (prepare_to_modify_buffer_1): New prototype.
+ * textprop.c (modify_region): Rename to...
+ (modify_text_properties): ...new function.
+ (add_text_properties_1, set_text_properties, Fremove_text_properties)
+ (Fremove_list_of_text_properties): Adjust users.
+ * insdel.c (modify_region_1): Remove 3rd arg and reimplement as...
+ (modify_text): ...new function.
+ (prepare_to_modify_buffer): Reimplement mostly as a wrapper for...
+ (prepare_to_modify_buffer_1): ...new function.
+ * casefiddle.c (casify_region):
+ * editfns.c (Fsubst_char_in_region, Ftranslate_region_internal)
+ (Ftranspose_regions): Use modify_text.
+
+2013-08-05 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * lisp.mk (lisp): Add nadvice.elc.
+
+2013-08-05 Dmitry Antipov <dmantipov@yandex.ru>
+
+ New macro to iterate over live buffers similar to frames.
+ * buffer.h (FOR_EACH_LIVE_BUFFER): New macro.
+ (Vbuffer_alist, Qpriority, Qbefore_string, Qafter_string):
+ Declare buffer-related variables here to offload lisp.h.
+ * buffer.c (Vbuffer_alist): Adjust comment.
+ (Fget_file_buffer, get_truename_buffer, Fother_buffer)
+ (other_buffer_safely):
+ * data.c (store_symval_forwarding):
+ * dispnew.c (Fframe_or_buffer_changed_p):
+ * fileio.c (Fdo_auto_save):
+ * filelock.c (unlock_all_files):
+ * minibuf.c (read_minibuf): Use FOR_EACH_LIVE_BUFFER.
+
+2013-08-04 Paul Eggert <eggert@cs.ucla.edu>
+
+ Fix some minor races in hosts lacking mkostemp (Bug#15015).
+ * callproc.c (create_temp_file):
+ * filelock.c (create_lock_file):
+ Assume mkostemp, since it's now provided by Gnulib.
+
+2013-08-04 Eli Zaretskii <eliz@gnu.org>
+
+ * w32.c (mkostemp): New function.
+ (mktemp): Remove, no longer used. Most of the code reused in
+ mkostemp. (Bug#15015)
+ (mktemp): Don't undef.
+
+2013-08-04 Dmitry Antipov <dmantipov@yandex.ru>
+
+ * dispnew.c (glyph_matrix_count, glyph_pool_count):
+ Move under GLYPH_DEBUG and ENABLE_CHECKING.
+ (new_glyph_matrix, free_glyph_matrix, new_glyph_pool)
+ (free_glyph_pool, check_glyph_memory): Likewise for
+ all users. Adjust comments where appropriate.
+
2013-08-03 Paul Eggert <eggert@cs.ucla.edu>
* composite.h: Minor fixups.