+2013-04-03 Kenichi Handa <handa@gnu.org>
+
+ The following changes is to optimize the code for reading UTF-8
+ files.
+
+ * coding.c (check_ascii): Renamed from detect_ascii. Return value
+ changed. Check EOL format. Do not call adjust_coding_eol_type
+ here.
+ (check_utf_8): New function.
+ (adjust_coding_eol_type): Do nothing if already adjusted.
+ (detect_coding): Compare the return value of check_ascii with
+ coding->src_bytes. Call adjust_coding_eol_type if necessary.
+ (decode_coding_gap): Optimize for valid UTF-8.
+
+2013-03-21 Kenichi Handa <handa@gnu.org>
+
+ * coding.c (syms_of_coding): Cancel previous change.
+
+ * insdel.c (insert_from_gap): Fix previous change.
+
+2013-04-05 Dmitry Antipov <dmantipov@yandex.ru>
+
+ Consistently use platform-specific function to detect window system.
+ * lisp.h (check_window_system): New prototype. This function is
+ going to replace check_x, check_w32 and check_ns.
+ (have_menus_p): Mention msdos.c in comment.
+ * fontset.c (check_window_system_func): Remove. Adjust all users.
+ * fontset.h (check_window_system_func): Remove prototype.
+ * nsterm.h (check_ns):
+ * xterm.h (check_x):
+ * w32term.h (check_w32): Likewise.
+ * menu.c (Fx_popup_menu): Use check_window_system.
+ * msdos.c (check_window_system): Define for MS-DOS.
+ * nsfns.m (check_window_system): Define for NS. Adjust all users.
+ * w32fns.c (check_window_system): Likewise for MS-Windows.
+ * xfns.c (check_window_system): Likewise for X.
+ * font.c, frame.c, nsmenu.m, nsselect.m, nsterm.m, w32menu.c:
+ * xfaces.c, xmenu.c: Use check_window_system where appropriate.
+
+2013-04-02 Paul Eggert <eggert@cs.ucla.edu>
+
+ Prefer < to > in range checks such as 0 <= i && i < N.
+ This makes it easier to visualize quantities on a number line.
+ This patch doesn't apply to all such range checks,
+ only to the range checks affected by the 2013-03-24 change.
+ This patch reverts most of the 2013-03-24 change.
+ * alloc.c (xpalloc, Fgarbage_collect):
+ * ccl.c (ccl_driver, resolve_symbol_ccl_program):
+ * character.c (string_escape_byte8):
+ * charset.c (read_hex):
+ * data.c (cons_to_unsigned):
+ * dispnew.c (update_frame_1):
+ * doc.c (Fsubstitute_command_keys):
+ * doprnt.c (doprnt):
+ * editfns.c (hi_time, decode_time_components):
+ * fileio.c (file_offset):
+ * fns.c (larger_vector, make_hash_table, Fmake_hash_table):
+ * font.c (font_intern_prop):
+ * frame.c (x_set_alpha):
+ * gtkutil.c (get_utf8_string):
+ * indent.c (check_display_width):
+ * keymap.c (Fkey_description):
+ * lisp.h (FIXNUM_OVERFLOW_P, vcopy):
+ * lread.c (read1):
+ * minibuf.c (read_minibuf_noninteractive):
+ * process.c (wait_reading_process_output):
+ * search.c (Freplace_match):
+ * window.c (get_phys_cursor_glyph):
+ * xdisp.c (redisplay_internal):
+ * xsmfns.c (smc_save_yourself_CB):
+ Prefer < to > for range checks.
+ * dispnew.c (sit_for): Don't mishandle NaNs.
+ This fixes a bug introduced in the 2013-03-24 change.
+ * editfns.c (decode_time_components): Don't hoist comparison.
+ This fixes another bug introduced in the 2013-03-24 change.
+
+2013-03-31 Dmitry Antipov <dmantipov@yandex.ru>
+
+ * frame.h (struct frame): Drop scroll_bottom_vpos
+ member becaue all real users are dead long ago.
+ (FRAME_SCROLL_BOTTOM_VPOS): Remove.
+ * xdisp.c (redisplay_internal): Adjust user.
+
+2013-03-30 Darren Ho <darren.hoo@gmail.com> (tiny change)
+
+ * nsmenu.m (showAtX:Y:for:): setLevel to
+ NSPopUpMenuWindowLevel (Bug#13998).
+
+2013-03-30 Jan Djärv <jan.h.d@swipnet.se>
+
+ * nsterm.h (ns_get_pending_menu_title, ns_check_menu_open)
+ (ns_check_pending_open_menu): Declare.
+
+ * nsmenu.m (ns_update_menubar): Correct NSTRACE.
+ (x_activate_menubar): Update the menu with title that matches
+ ns_get_pending_menu_title, and call
+ ns_check_pending_openmenu (Bug#12698).
+ (menuWillOpen:): New method.
+ (menuNeedsUpdate:): Add check for ! COCOA || OSX < 10.5 (Bug#12698).
+
+ * nsterm.m (menu_will_open_state, menu_mouse_point)
+ (menu_pending_title): New varaibles.
+ (ns_get_pending_menu_title, ns_check_menu_open)
+ (ns_check_pending_open_menu): New functions.
+
+2013-03-29 Dmitry Antipov <dmantipov@yandex.ru>
+
+ * indent.c (current_column_bol_cache): Remove leftover which is not
+ used in Fmove_to_column any more.
+ (current_column, scan_for_column): Adjust users.
+ * keyboard.c (last_point_position_buffer, last_point_position_window):
+ Remove leftovers which are not used for recording undo any more.
+ (command_loop_1, syms_of_keyboard): Adjust users.
+ * xdisp.c (last_max_ascent): Remove leftover which is not used in
+ redisplay_window any more.
+ (move_it_to): Adjust user.
+
+2013-03-29 Juanma Barranquero <lekktu@gmail.com>
+
+ * makefile.w32-in ($(BLD)/filelock.$(O), $(BLD)/filelock.$(O)):
+ Update dependencies.
+
+2013-03-28 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * lisp.h (save_type, XSAVE_POINTER, set_save_pointer, XSAVE_INTEGER)
+ (set_save_integer, XSAVE_OBJECT, XSAVE_VALUE): Move to avoid
+ forward references.
+
+2013-03-28 Dmitry Antipov <dmantipov@yandex.ru>
+
+ * window.h (struct window): Replace hchild, vchild and buffer slots
+ with the only contents slot. This is possible because each valid
+ window may have either the child window (in vertical or horizontal
+ combination) or buffer to display (for the leaf window). Using that,
+ a lof of operations to traverse and/or change window hierarchies may
+ be simplified. New member horizontal is used to distinguish between
+ horizontal and vertical combinations of internal windows.
+ (WINDOW_LEAF_P, WINDOW_HORIZONTAL_COMBINATION_P)
+ (WINDOW_VERTICAL_COMBINATION_P): New macros.
+ (WINDOW_VALID_P, WINDOW_LIVE_P): Adjust to match struct window changes.
+ * window.c (wset_hchild, wset_vchild): Remove. Adjust all users.
+ Use contents slot, not buffer, where appropriate.
+ (wset_combination): New function.
+ (wset_buffer): Add eassert.
+ (Fframe_first_window): Simplify the loop reaching first window.
+ (Fwindow_buffer): Use WINDOW_LEAF_P.
+ (Fwindow_top_child): Use WINDOW_VERTICAL_COMBINATION_P.
+ (Fwindow_left_child): Use WINDOW_HORIZONTAL_COMBINATION_P.
+ (unshow_buffer): Convert initial debugging check to eassert.
+ (replace_window, recombine_windows, Fdelete_other_windows_internal)
+ (make_parent_window, window_resize_check, window_resize_apply)
+ (resize_frame_windows, Fsplit_window_internal, Fdelete_window_internal)
+ (Fset_window_configuration, delete_all_child_windows, save_window_save):
+ Adjust to match struct window changes.
+ (window_loop): Check for broken markers in CHECK_ALL_WINDOWS.
+ (mark_window_cursors_off, count_windows, get_leaf_windows)
+ (foreach_window_1): Simplify the loop.
+ * alloc.c (mark_object): Do not check for the leaf window because
+ internal windows has no glyph matrices anyway.
+ * dispnew.c (clear_window_matrices, showing_window_margins_p)
+ (allocate_matrices_for_window_redisplay, fake_current_matrices)
+ (allocate_matrices_for_frame_redisplay, free_window_matrices)
+ (build_frame_matrix_from_window_tree, mirror_make_current)
+ (frame_row_to_window, mirror_line_dance, check_window_matrix_pointers)
+ (update_window_tree, set_window_update_flags): Simplify the loop.
+ (sync_window_with_frame_matrix_rows): Enforce live window.
+ Use contents slot, not buffer, where appropriate.
+ * frame.c (set_menu_bar_lines_1): Use WINDOW_VERTICAL_COMBINATION_P
+ and WINDOW_HORIZONTAL_COMBINATION_P.
+ (make_frame_visible_1): Simplify the loop.
+ Use contents slot, not buffer, where appropriate.
+ * xdisp.c (hscroll_window_tree, mark_window_display_accurate)
+ (redisplay_windows, redisplay_mode_lines, update_cursor_in_window_tree)
+ (expose_window_tree): Likewise.
+ Use contents slot, not buffer, where appropriate.
+ * textprop.c (get_char_property_and_overlay): Add CHECK_LIVE_WINDOW
+ to avoid deleted windows. Use contents slot instead of buffer.
+ * buffer.c, dispextern.h, editfns.c, fileio.c, font.c, fringe.c:
+ * indent.c, insdel.c, keyboard.c, keymap.c, minibuf.c, msdos.c:
+ * nsfns.m, nsmenu.m, nsterm.m, print.c, w32fns.c, w32menu.c, xfaces.c:
+ * xfns.c, xmenu.c: Use contents slot, not buffer, where appropriate.
+
+2013-03-28 Eli Zaretskii <eliz@gnu.org>
+
+ * w32fns.c (w32_wnd_proc) [ENABLE_CHECKING]: Add code to help
+ identify the reasons for assertion violations in bug#14062 and
+ similar ones.
+ (Fx_show_tip): Fix compilation error under
+ "--enable-check-lisp-object-type". (Bug#14073)
+
+ * image.c (g_error_free) [WINDOWSNT]: Add DEF_IMGLIB_FN.
+ Reported by <rzl24ozi@gmail.com>.
+
+2013-03-28 Dmitry Antipov <dmantipov@yandex.ru>
+
+ * xdisp.c (with_echo_area_buffer_unwind_data): Save window
+ start marker...
+ (unwind_with_echo_area_buffer): ...to restore it here. This
+ is needed to ensure that...
+ (redisplay_window): ...both window markers are valid here,
+ which is verified by eassert.
+ * editfns.c (save_excursion_save): Do not assume that
+ selected_window always displays the buffer.
+ * buffer.c (Fbuffer_swap_text): Adjust window start markers.
+ Fix comment.
+
+2013-03-27 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * casetab.c (init_casetab_once): Don't abuse the ascii eqv table for
+ the upcase table.
+
+2013-03-27 rzl24ozi <rzl24ozi@gmail.com> (tiny changes)
+
+ * image.c [WINDOWSNT]: Fix calls to DEF_IMGLIB_FN for SVG function.
+
+2013-03-27 Eli Zaretskii <eliz@gnu.org>
+
+ * w32proc.c (IsValidLocale) [__GNUC__]: Don't declare prototype,
+ since MinGW's w32api headers do. This avoids compiler warnings.
+
+ * w32.c (FSCTL_GET_REPARSE_POINT) [_MSC_VER || _W64]: Don't define
+ if already defined.
+
+2013-03-26 Eli Zaretskii <eliz@gnu.org>
+
+ * w32.c (_REPARSE_DATA_BUFFER): Condition by _MSVC and _W64.
+
+2013-03-26 Jan Djärv <jan.h.d@swipnet.se>
+
+ * gtkutil.c (style_changed_cb): Check if frame is live and an
+ X frame (Bug#14038).
+
2013-03-26 Eli Zaretskii <eliz@gnu.org>
* w32.c (_PROCESS_MEMORY_COUNTERS_EX) [_WIN32_WINNT < 0x0500]:
Define only for _WIN32_WINNT less than 0x0500.
+ (_ANONYMOUS_UNION, _ANONYMOUS_STRUCT) [!_W64]: Don't define for
+ MinGW64.
+ Move inclusion of time.h before sys/time.h, so that MinGW64 could
+ see its own definitions of 'struct timeval' and 'struct timezone'.
Fix incompatibilities between MinGW.org and MinGW64 headers.
* w32term.c (WCRANGE, GLYPHSET): Don't define if _W64 is defined.
* coding.c (decode_coding_gap): Fix typo caught by static checking.
-2013-03-15 handa <handa@gnu.org>
+2013-03-15 Kenichi Handa <handa@gnu.org>
* insdel.c (insert_from_gap): New arg text_at_gap_tail.
(adjust_after_replace): Make it back to static. Delete the third