+2013-08-15 Lars Magne Ingebrigtsen <larsi@gnus.org>
+
+ * image.c (imagemagick_compute_animated_image): Implement animated
+ images (bug#14700).
+
+2013-08-15 Dmitry Antipov <dmantipov@yandex.ru>
+
+ * lisp.h (FOR_EACH_ALIST_VALUE): New macro
+ to do `for' loops over alist values.
+ * buffer.h (FOR_EACH_BUFFER):
+ * process.c (FOR_EACH_PROCESS): Use it.
+ (handle_child_signal, status_notify, Fget_buffer_process)
+ (kill_buffer_processes): Use FOR_EACH_PROCESS.
+
+2013-08-15 Dmitry Antipov <dmantipov@yandex.ru>
+
+ * term.c (get_named_tty, create_tty_output, tty_free_frame_resources)
+ (tty_free_frame_resources, delete_tty): Prefer eassert to emacs_abort.
+ * image.c (make_image_cache): For struct image_cache, prefer xmalloc
+ to xzalloc and so avoid redundant call to memset.
+ * xterm.c (x_term_init): Avoid unnecessary initializations of dpyinfo
+ members because it is allocated with xzalloc and so already zeroed.
+
+2013-08-14 Ken Brown <kbrown@cornell.edu>
+
+ * gmalloc.c (memalign) [CYGWIN]: Rename to emacs_memalign
+ (Bug#15094).
+
+2013-08-14 Dmitry Antipov <dmantipov@yandex.ru>
+
+ Utility function and macro to copy Lisp string to C string.
+ * lisp.h (xlispstrdupa): New macro.
+ (xlispstrdup): New prototype.
+ * alloc.c (xlispstrdup): New function.
+ * callint.c (Fcall_interactively):
+ * fileio.c (Ffile_name_directory, Fexpand_file_name)
+ (Fsubstitute_in_file_name):
+ * frame.c (Fmake_terminal_frame): Use xlispstrdupa.
+ * image.c (x_create_bitmap_from_file):
+ * w32term.c (w32_term_init):
+ * xterm.c (x_term_init): Use xlispstrdup.
+
+2013-08-14 Lars Magne Ingebrigtsen <larsi@gnus.org>
+
+ * image.c (imagemagick_load_image): Make animated pictures work.
+ There's still some problems with background color settings, though
+ (bug#14700).
+
+ * decompress.c (unwind_decompress): Always restore point.
+
+2013-08-14 Xue Fuqiao <xfq.free@gmail.com>
+
+ * marker.c (set_marker): Reformat documentation.
+
+2013-08-14 Paul Eggert <eggert@cs.ucla.edu>
+
+ * xdisp.c (cursor_type_changed): Now static.
+
+ * image.c (imagemagick_filename_hint): New arg HINT_BUFFER.
+ Use changed. This avoids the need to call xmalloc and for the
+ caller to call xfree, and avoids memory leaks in some situations.
+
+2013-08-14 Dmitry Antipov <dmantipov@yandex.ru>
+
+ * xdisp.c (adjust_window_ends): Move duplicated code to new function.
+ (try_window, try_window_reusing_current_matrix, try_window_id): Use it.
+ (redisplay_window): If window_end_valid is cleared due to non-zero
+ windows_or_buffers_changed, clear current_matrix_up_to_date_p and
+ so do not call to try_cursor_movement for that window.
+
+2013-08-14 Dmitry Antipov <dmantipov@yandex.ru>
+
+ * window.h (struct window): Convert window_end_pos and
+ window_end_vpos from Lisp_Object to ptrdiff_t and int, respectively.
+ (wset_window_end_pos, wset_window_end_vpos): Remove.
+ * dispnew.c (adjust_glyph_matrix):
+ * window.c (Fwindow_end, replace_window, set_window_buffer)
+ (make_window):
+ * xdisp.c (check_window_end, move_it_to, redisplay_internal)
+ (set_vertical_scroll_bar, redisplay_window, try_window)
+ (try_window_reusing_current_matrix, find_first_unchanged_at_end_row)
+ (try_window_id, decode_mode_spec, mouse_face_from_buffer_pos)
+ (note_mouse_highlight): Adjust users.
+ (try_cursor_movement): Likewise. Convert old precondition to eassert.
+ Add comment.
+
+2013-08-14 Dmitry Antipov <dmantipov@yandex.ru>
+
+ Fix --enable-gcc-warnings errors introduced in 2013-08-13 commit.
+ * image.c (imagemagick_filename_hint): Use `const char *' and
+ prefer SSDATA to SDATA to avoid warnings.
+
+2013-08-14 Dmitry Antipov <dmantipov@yandex.ru>
+
+ Cleanup window fringes, margins and scroll bars adjustments.
+ * window.c (set_window_fringes, set_window_margins)
+ (set_window_scroll_bars, apply_window_adjustment): New functions.
+ (set_window_buffer, Fset_window_margins, Fset_window_fringes)
+ (Fset_window_scroll_bars): Use them.
+
+2013-08-14 Dmitry Antipov <dmantipov@yandex.ru>
+
+ * window.h (struct window): Convert scroll_bar_width
+ from Lisp_Object to integer. Adjust comment.
+ (WINDOW_CONFIG_SCROLL_BAR_WIDTH, WINDOW_CONFIG_SCROLL_BAR_COLS):
+ Adjust users.
+ * window.c (wset_scroll_bar_width): Remove.
+ (make_window): Initialize scroll_bar_width.
+ (Fsplit_window_internal): Use direct assignment.
+ (Fset_window_configuration, save_window_save):
+ Convert Lisp_Object to integer and back where appropriate.
+ (Fset_window_scroll_bars): Adjust user. Return t if any scroll
+ bar was actually changed, and mention this in docstring.
+
+2013-08-13 Paul Eggert <eggert@cs.ucla.edu>
+
+ * decompress.c: Minor simplifications.
+ (Fzlib_decompress_region): Don't bother verifying
+ that avail_out <= UINT_MAX, as that was confusing.
+ Mention the restriction in a comment instead.
+ Prefer 'int' to 'ptrdiff_t' when 'int' is wide enough.
+
+2013-08-13 Jan Djärv <jan.h.d@swipnet.se>
+
+ * nsmenu.m (x_activate_menubar): Check for OSX >= 10.5
+ (trackingNotification:): Call ns_check_menu_open only for OSX >= 10.5.
+
+2013-08-13 Lars Magne Ingebrigtsen <larsi@gnus.org>
+
+ * image.c (imagemagick_filename_hint): Check for errors in the
+ alist structure.
+
+2013-08-13 Eli Zaretskii <eliz@gnu.org>
+
+ * window.c (Fwindow_margins): Return nil when there's no marginal
+ area, as per the documented API.
+
+ * w32term.c (x_scroll_bar_create): Use ALLOCATE_PSEUDOVECTOR, not
+ Fmake_vector, as scroll bar's struct members are not all Lisp
+ objects now. This avoids crashes in GC.
+
+ * w32term.h (struct scroll_bar): Convert fringe_extended_p to a
+ bool, so its address could be taken.
+
+2013-08-13 Lars Magne Ingebrigtsen <larsi@gnus.org>
+
+ * image.c (imagemagick_filename_hint): New function to possibly
+ apply `image-content-type-suffixes'.
+ (imagemagick_load_image): Use it.
+
+2013-08-13 Eli Zaretskii <eliz@gnu.org>
+
+ * decompress.c (Fzlib_decompress_region) [WINDOWSNT]: Return Qnil
+ if loading zlib failed.
+
+2013-08-13 Jan Djärv <jan.h.d@swipnet.se>
+
+ * nsterm.m (ns_set_vertical_scroll_bar): Fix breakage intruduced by
+ 2013-08-13 checkin below. Change bool to BOOL, rule is:
+ All Obj-C code uses BOOL, except for interfaces callable from C.
+
+ * nsterm.h: Fix CGFloat for OSX 10.4 (Bug#15086).
+
+2013-08-13 Dmitry Antipov <dmantipov@yandex.ru>
+
+ * window.h (WINDOW_FRINGE_EXTENDED_P): New macro.
+ * nsterm.m (ns_set_vertical_scroll_bar): Use it. Use convenient
+ bool instead of BOOL.
+ * w32term.h (struct scroll_bar): Convert fringe_extended_p
+ from Lisp_Object to bitfield. Adjust comment.
+ * w32term.c (x_scroll_bar_create): Adjust user.
+ Use WINDOW_FRINGE_EXTENDED_P and bool for boolean.
+ * xterm.c (XTset_vertical_scroll_bar): Likewise.
+ Use bool for boolean.
+ * xterm.h (struct scroll_bar): Prefer commonly used `unsigned'
+ to `unsigned int' when defining a bitfield.
+
+2013-08-13 Paul Eggert <eggert@cs.ucla.edu>
+
+ * decompress.c (Fzlib_decompress_region): Try to clarify 'avail_out'.
+
+2013-08-13 Dmitry Antipov <dmantipov@yandex.ru>
+
+ * window.h (struct window): Convert left_margin_cols and
+ right_margin_cols from Lisp_Objects to integers. Adjust comment.
+ (WINDOW_LEFT_MARGIN_COLS, WINDOW_RIGHT_MARGIN_COLS)
+ (WINDOW_LEFT_MARGIN_WIDTH, WINDOW_RIGHT_MARGIN_WIDTH):
+ Adjust users.
+ * dispnew.c (margin_glyphs_to_reserve): Convert 3rd arg to int.
+ Adjust comment.
+ (showing_window_margins_p, update_window_line, update_frame_1):
+ * fringe.c (draw_fringe_bitmap_1):
+ * xdisp.c (window_box_width): Adjust users.
+ * window.c (wset_left_margin_cols, wset_right_margin_cols): Remove.
+ (adjust_window_margins, set_window_buffer, Fsplit_window_internal):
+ Use direct assignment.
+ (Fset_window_configuration, save_window_save, Fwindow_margins):
+ Convert Lisp_Object to integer and back where appropriate.
+ (Fset_window_margins): Adjust user. Return t if any margin
+ was actually changed, and mention this in docstring.
+
+2013-08-13 Xue Fuqiao <xfq.free@gmail.com>
+
+ * syntax.c (forward_word):
+ * cmds.c (forward_char, backward_char): Mention the optional argument.
+
+2013-08-13 Dmitry Antipov <dmantipov@yandex.ru>
+
+ * window.h (struct window): Convert left_fringe_width
+ and right_fringe_width from Lisp_Objects to integers.
+ Adjust comment.
+ (WINDOW_FRINGE_COLS, WINDOW_LEFT_FRINGE_WIDTH)
+ (WINDOW_RIGHT_FRINGE_WIDTH): Adjust users.
+ * window.c (wset_left_fringe_width, wset_right_fringe_width):
+ Remove.
+ (make_window): Initialize new integer fields to -1.
+ (Fsplit_window_internal): Use direct assignment.
+ (Fset_window_configuration, save_window_save): Convert
+ Lisp_Object to integer and back where appropriate.
+ (Fset_window_fringes): Adjust user. Return t if any fringe
+ was actually changed, and mention this in docstring.
+
+2013-08-13 Dmitry Antipov <dmantipov@yandex.ru>
+
+ * keyboard.c (Fdiscard_input): Do not increment update_mode_lines.
+ * nsfns.m (x_set_cursor_type):
+ * w32fns.c (x_set_cursor_type):
+ * xfns.m (x_set_cursor_type): Do not set cursor_type_changed here...
+ * xdisp.c (set_frame_cursor_types): ...but in common code.
+
+2013-08-13 Dmitry Antipov <dmantipov@yandex.ru>
+
+ * font.c (clear_font_cache): New function, stripped from...
+ (Fclear_font_cache): ...here, which now uses the function
+ above. Adjust comment.
+ * font.h (clear_font_cache): Add prototype.
+ * xfaces.c (clear_face_cache): Use clear_font_cache.
+
+2013-08-13 Dmitry Antipov <dmantipov@yandex.ru>
+
+ * window.c (Fset_window_start): Compare `w', not `window' because
+ `w' might not be equal to `window' after call to decode_live_window.
+
+2013-08-12 Paul Eggert <eggert@cs.ucla.edu>
+
+ * process.c (deactivate_process): Reset fds to -1 (Bug#15035).
+ This fixes a problem introduced by the Bug#15035 patch
+ when using GPG. Reported by Herbert J. Skuhra.
+
+2013-08-12 Eli Zaretskii <eliz@gnu.org>
+
+ * decompress.c <zlib_initialized> [WINDOWSNT]: New static variable.
+ (Fzlib_decompress_region) [WINDOWSNT]: Call init_zlib_functions if
+ not yet initialized.
+
+2013-08-12 Lars Magne Ingebrigtsen <larsi@gnus.org>
+
+ * decompress.c (Fzlib_decompress_region): Support zlib
+ decompression, too, and rename.
+
+2013-08-12 Paul Eggert <eggert@cs.ucla.edu>
+
+ Minor zlib configuration tweaks.
+ * decompress.c (fn_inflateInit2) [!WINDOWSNT]:
+ Don't assume presence of fn_inflateInit2_ zlib internal function.
+
+2013-08-12 Lars Magne Ingebrigtsen <larsi@gnus.org>
+
+ * decompress.c (Fzlib_decompress_gzipped_region): Rename to
+ include the zlib prefix.
+
+2013-08-12 Eli Zaretskii <eliz@gnu.org>
+
+ * decompress.c [WINDOWSNT]: Include windows.h and w32.h.
+ (DEF_ZLIB_FN, LOAD_ZLIB_FN) [WINDOWSNT]: New macros. Use them to
+ define static variables that are pointers to zlib functions to be
+ dynamically loaded.
+ (init_zlib_functions) [WINDOWSNT]: New function.
+ (fn_inflateInit2_, fn_inflate, fn_inflateEnd, fn_inflateInit2):
+ New macros.
+ (Fdecompress_gzipped_region, unwind_decompress): Use the fn_*
+ macros instead of invoking the zlib functions directly.
+ (syms_of_decompress): DEFSYM Qzlib_dll. Staticpro
+ Szlib_available_p.
+
+2013-08-12 Dmitry Antipov <dmantipov@yandex.ru>
+
+ Avoid looping over all frame windows to freeze and unfreeze.
+ * window.h (struct window): Drop frozen_window_start_p.
+ (freeze_window_starts): Drop prototype.
+ * frame.h (struct frame): New frozen_window_starts flag.
+ (FRAME_WINDOWS_FROZEN): New macro.
+ * window.c (freeze_window_start, freeze_window_starts):
+ Remove.
+ (select_window, replace_window): Adjust users.
+ * xdisp.c (resize_mini_window): Use FRAME_WINDOWS_FROZEN.
+ (window_frozen_p): New function.
+ (redisplay_window): Use it.
+
+2013-08-12 Paul Eggert <eggert@cs.ucla.edu>
+
+ Fix some fd issues when running subprocesses (Bug#15035).
+ Fix bugs that can leak files or file descriptors on errors.
+ Don't unlink open temp files, as that's hard for users to diagnose
+ when things go awry (e.g., temp disk exhausted).
+ Don't bother to lock temp files. Check for invalid recursion.
+ * callproc.c (synch_process_fd): Remove. All uses removed.
+ (synch_process_tempfile): New var or macro.
+ (CALLPROC_STDOUT, CALLPROC_STDERR, CALLPROC_PIPEREAD, CALLPROC_FDS):
+ New constants.
+ (record_kill_process): New arg, the temp name. All callers changed.
+ (delete_temp_file): Now just a simple wrapper around unlink.
+ (call_process_kill): New arg, the call_process_fd array.
+ Close them all. Clear synch_process_pid. Remove the temp file,
+ or arrange for it to be removed.
+ (call_process_cleanup) [MSDOS]: Arg no longer contains file name;
+ that's been moved to synch_process_tempfile. Caller changed.
+ Do not remove the tempfile; that's now call_process_kill's
+ responsibility.
+ (call_process_cleanup) [!MSDOS]: Do not record unwind-protect for
+ call_process_kill; the caller now does that.
+ (call_process_cleanup): Do not close the process fd; that's now
+ call_process_kill's responsibility.
+ (Fcall_process): Implement via new function call_process, which
+ has most of the old body of Fcall_process, but with a different API.
+ (call_process): New function that does not open or close filefd if
+ it is nonnegative. Record which fds need to be closed, and let
+ call_process_kill close (and remove the tempfile, on MSDOS) on error.
+ Signal an error if invoked recursively (could be done via a hook).
+ Simplify creation of the tempfile in the MSDOS case.
+ Don't create the output file until after checking for the executable.
+ Report any failure to open /dev/null.
+ Don't open /dev/null for writing twice; once is enough.
+ Don't create pipe if all output is being discarded or sent to file.
+ Don't worry about setting up the coding system or reading from the
+ pipe if all output is being discarded.
+ Hoist fd_error local into top level, to lessen block nesting.
+ Don't record deleted pid here; now done by Fcall_process_region.
+ (Fcall_process) [MSDOS]: Report mktemp failure immediately,
+ and note its success in synch_process_tempfile.
+ Do not leak resources when child_setup fails.
+ (Fcall_process) [!MSDOS && !WINDOWSNT]: Remove duplicate assignment
+ to child_errno. Remove unnecessary close of fd0; it's close-on-exec.
+ (create_temp_file): Now returns open fd, with an additional
+ Lisp_Object * argument to return the name. All callers changed.
+ Do not close the file; rewind it instead, and leave it open for
+ the caller. Do not lock the temp file. Unwind-protect the file
+ and the file-descriptor.
+ (Fcall_process_region): If the input is /dev/null, unwind-protect it.
+ If an asynchrounous process, record it here, not in call_process.
+ (syms_of_callproc) [MSDOS]: Initialize synch_process_tempfile.
+ * eval.c (set_unwind_protect): New function.
+ * fileio.c (write_region): New function, generalized from the
+ old Fwrite_region. Do not lock temp files.
+ (Fwrite_region): Use it.
+ * lisp.h (set_unwind_protect, write_region): New decls.
+ * process.c: Include <verify.h>.
+ (make_process): Mark fds as initially closed.
+ (deleted_pid_list): Now a list of pid-filename pairs.
+ All uses changed.
+ (close_process_fd): New function.
+ (SUBPROCESS_STDIN, WRITE_TO_SUBPROCESS, READ_FROM_SUBPROCESS)
+ (SUBPROCESS_STDOUT, READ_FROM_EXEC_MONITOR, EXEC_MONITOR_OUTPUT):
+ New constants. Verify that their number matches PROCESS_OPEN_FDS.
+ (create_process, create_pty, Fmake_serial_process)
+ (server_accept_connection): Record which fds need to be closed,
+ and let deactivate_process close them.
+ (Fmake_network_process): Do not discard the unwind-protect
+ until it's safe to do so.
+ (deactivate_process): Close the fds opened by create_process etc.
+ (Fprocess_send_eof): Adjust to new way of recording open fds.
+ Report an error if /dev/null can't be opened, instead of aborting.
+ * process.h (PROCESS_OPEN_FDS): New constant.
+ (struct Lisp_Process): New member open_fds.
+ (record_kill_process, record_deleted_pid): Adjust signatures.
+ (record_deleted_pid): Move decl here ...
+ * syswait.h (record_deleted_pid): ... from here.
+
+2013-08-11 Paul Eggert <eggert@cs.ucla.edu>
+
+ * decompress.c: Fix bugs with large buffers and weird inputs.
+ Tune a bit. Reindent as per usual Emacs style.
+ (BUFFER_SIZE): Remove.
+ (Fdecompress_gzipped_region): Do not mishandle input buffers with
+ more than UINT_MAX bytes. Decompress into the gap instead of into
+ an auto buffer, as this should avoid copying. Return nil if
+ 'inflate' returns Z_NEED_DICT, as we have no dictionary. Do not
+ set immediate_quit; we shouldn't trust zlib code that much.
+
+2013-08-11 Lars Magne Ingebrigtsen <larsi@gnus.org>
+
+ * decompress.c (Fdecompress_gzipped_region): Respect all zlib
+ errors, and really move the gap to where we want it.
+
+ * lisp.h: Include decompress.c support.
+
+ * emacs.c (main): Include decompress.c support.
+
+ * Makefile.in: Include -lz if present.
+
+2013-08-11 Jan Djärv <jan.h.d@swipnet.se>
+
+ * nsmenu.m (ns_update_menubar): Call fillWithWidgetValue:frame:
+ (initWithTitle:): Initialize frame to 0.
+ (fillWithWidgetValue:): Call fillWithWidgetValue:frame.
+ (fillWithWidgetValue:frame:): Renamed from
+ fillWithWidgetValue:setDelegate, call initWithTile:frame: if f.
+
+ * nsterm.h (EmacsMenu): fillWithWidgetValue:setDelegate renamed to
+ fillWithWidgetValue:frame:
+
+ * nsfns.m (Fns_convert_utf8_nfd_to_nfc): Allocate and release pool to
+ remove memory leak warnings.
+
+ * nsterm.m (menu_pending_title, ns_get_pending_menu_title): Remove.
+ (ns_check_menu_open): Handle menu == nil. Remove assignment to
+ menu_pending_title.
+
+ * nsmenu.m (ns_update_menubar): Call fillWithWidgetValue:setDelegate.
+ (x_activate_menubar): Update the whole menu.
+ (trackingNotification:): Call ns_check_menu_open if tracking ends.
+ (menuWillOpen:): Increment trackingMenu. For OSX <= 10.6, exit if
+ current event is not NSSystemDefined (Bug#15001).
+ Call ns_check_menu_open only if trackingMenu is 2.
+ (menuDidClose:): New method, decrease trackingMenu.
+ (fillWithWidgetValue:setDelegate:): New method.
+ (fillWithWidgetValue:): Call the above.
+
+ * nsterm.h (EmacsMenu): Add fillWithWidgetValue:setDelegate:
+
+2013-08-11 Paul Eggert <eggert@cs.ucla.edu>
+
+ Omit some unnecessary casts.
+ Many of these go back to the old pre-C89 days, when they may have
+ been needed, but we've been assuming C89 or later for a while now.
+ * alloc.c (live_string_p, live_cons_p, live_symbol_p)
+ (live_float_p, live_misc_p, live_vector_p):
+ * buffer.c (compare_overlays, cmp_for_strings, mmap_find)
+ (mmap_alloc, alloc_buffer_text, enlarge_buffer_text)
+ (defvar_per_buffer):
+ * callint.c (Fcall_interactively):
+ * doc.c (Fsubstitute_command_keys):
+ * filelock.c (get_boot_time):
+ * frame.c (xrdb_get_resource):
+ * gtkutil.c (hierarchy_ch_cb, qttip_cb, style_changed_cb)
+ (delete_cb, xg_dialog_response_cb, xg_maybe_add_timer)
+ (xg_get_file_name_from_selector, menuitem_destroy_callback)
+ (menuitem_highlight_callback, menu_destroy_callback)
+ (xg_update_menu_item, xg_modify_menubar_widgets, menubar_map_cb)
+ (xg_tool_bar_callback, xg_get_tool_bar_widgets)
+ (xg_tool_bar_detach_callback, xg_tool_bar_attach_callback)
+ (xg_tool_bar_help_callback, tb_size_cb):
+ * image.c (xpm_alloc_color, png_read_from_memory)
+ (png_read_from_file, png_load_body, our_memory_skip_input_data)
+ (jpeg_memory_src, jpeg_file_src, imagemagick_load_image)
+ (syms_of_image):
+ * keymap.c (describe_map):
+ * nsfns.m (Fns_display_monitor_attributes_list):
+ * nsmenu.m (process_dialog:):
+ * nsterm.m (hold_event):
+ * process.c (wait_reading_process_output):
+ * regex.c (REGEX_REALLOCATE, re_set_registers, re_exec, regexec):
+ * scroll.c (do_direct_scrolling, scrolling_1):
+ * termcap.c (tgetent):
+ * window.c (check_window_containing, add_window_to_list)
+ (freeze_window_starts):
+ * xdisp.c (compare_overlay_entries, vmessage):
+ * xfns.c (x_window, x_get_monitor_attributes_xinerama)
+ (x_get_monitor_attributes_xrandr)
+ (Fx_display_monitor_attributes_list, x_display_info_for_name)
+ (Fx_open_connection, file_dialog_cb, file_dialog_unmap_cb):
+ * xfont.c (xfont_match, xfont_open):
+ * xmenu.c (x_menu_wait_for_event, menu_highlight_callback)
+ (menubar_selection_callback, menu_position_func)
+ (popup_selection_callback, create_and_show_popup_menu)
+ (dialog_selection_callback, create_and_show_dialog):
+ * xrdb.c (x_get_string_resource):
+ (main) [TESTRM]:
+ * xsmfns.c (x_session_check_input):
+ * xterm.c (x_draw_glyphless_glyph_string_foreground)
+ (xm_scroll_callback, xg_scroll_callback, xg_end_scroll_callback)
+ (xaw_jump_callback, xaw_scroll_callback):
+ Omit unnecessary casts.
+
+2013-08-10 Paul Eggert <eggert@cs.ucla.edu>
+
+ Minor string-length refactoring.
+ * alloc.c (xstrdup): Use memcpy, not strcpy, since the length's known.
+ * frame.c (make_monitor_attribute_list):
+ Prefer build_string to strlen + make_string.
+
+2013-08-10 Jan Djärv <jan.h.d@swipnet.se>
+
+ * xterm.c (x_error_handler): Also ignore BadWindow for X_SetInputFocus,
+ don't check minor_code (Bug#14417).
+
+2013-08-09 Eli Zaretskii <eliz@gnu.org>
+
+ * xdisp.c (draw_glyphs): Don't compare row pointers, compare row
+ vertical positions instead. This avoids calling MATRIX_ROW with
+ row numbers that are possibly beyond valid limits. (Bug#15064)
+
+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
* 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_change once and
+ (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.