Undo in region after markers in undo history relocated
[bpt/emacs.git] / src / ChangeLog
index 54ee0ff..cbe10d8 100644 (file)
@@ -1,3 +1,233 @@
+2014-03-24  Barry O'Reilly  <gundaetiapo@gmail.com>
+
+       Have (MARKER . ADJUSTMENT) undo records always be immediately
+       after their corresponding (TEXT . POS) record in undo list.
+       (Bug#16818)
+       * lisp.h (record-delete): New arg record_markers.
+       (record_marker_adjustment): No longer needed outside undo.c.
+       * insdel.c (adjust_markers_for_delete): Move calculation of marker
+       adjustments to undo.c's record_marker_adjustments.  Note that
+       fileio.c's decide_coding_unwind is another caller to
+       adjust_markers_for_delete.  Because it has undo list bound to t,
+       it does not rely on adjust_markers_for_delete to record marker
+       adjustments.
+       (del_range_2): Swap call to record_delete and
+       adjust_markers_for_delete so as undo marker adjustments are
+       recorded before current deletion's adjustments, as before.
+       (adjust_after_replace):
+       (replace_range): Pass value for new record_markers arg to
+       delete_record.
+       * undo.c (record_marker_adjustment): Renamed to
+       record_marker_adjustments and made static.
+       (record_delete): Check record_markers arg and call
+       record_marker_adjustments.
+       (record_change): Pass value for new record_markers arg to
+       delete_record.
+       (record_point): at_boundary calculation no longer needs to account
+       for marker adjustments.
+
+2014-03-24  Martin Rudalics  <rudalics@gmx.at>
+
+       * w32term.c (x_set_window_size): Refine fix from 2014-03-14
+       (Bug#17077).
+
+2014-03-23  Glenn Morris  <rgm@gnu.org>
+
+       * fileio.c (Ffile_symlink_p): Doc fix. (Bug#17073)
+
+2014-03-23  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       * buffer.c (struct sortvec): Add field `spriority'.
+       (compare_overlays): Use it.
+       (sort_overlays): Set it.
+
+2014-03-23  Eli Zaretskii  <eliz@gnu.org>
+
+       * xdisp.c (redisplay_window): If all previous attempts to find the
+       cursor row failed, try a few alternatives before falling back to
+       the top-most row of the window.  Use row_containing_pos.  (Bug#17047)
+
+2014-03-22  Daniel Colascione  <dancol@dancol.org>
+
+       * process.c (conv_sockaddr_to_lisp): When extracting the string
+       names of AF_LOCAL sockets, stop before reading uninitialized
+       memory.
+
+2014-03-23  Daniel Colascione  <dancol@dancol.org>
+
+       * process.c (DATAGRAM_CONN_P): Don't underflow datagram_address
+       array.  (ASAN caught.)
+
+2014-03-21  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
+
+       Fix regression introduced by patch for Bug#10500.
+       * xterm.c (x_draw_image_relief): Respect Vtool_bar_button_margin.
+       * w32term.c (x_draw_image_relief): Likewise.
+
+2014-03-21  Martin Rudalics  <rudalics@gmx.at>
+
+       * w32fns.c (w32_wnd_proc): For WM_WINDOWPOSCHANGING don't
+       constrain frame size in SW_SHOWMAXIMIZED case so we can truly
+       maximize a frame for odd default fonts.
+
+2014-03-20  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * doc.c (store_function_docstring): Fix pointer signedness mismatch.
+
+2014-03-20  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       * doc.c (store_function_docstring): Warn when we don't know where to
+       put a docstring.
+       (Fsubstitute_command_keys): Don't advertise the fact that
+       text-properties are dropped, since we think it's a bug that we'll fix
+       in 24.5.
+
+       * frame.h (SET_FRAME_VISIBLE): Keep frame_garbaged up to date.
+       * xterm.c (handle_one_xevent) <MapNotify>: Don't garbage the frame.
+       * frame.c (frame_garbaged): Make "docstring" more precise.
+
+2014-03-20  Glenn Morris  <rgm@gnu.org>
+
+       * charset.c (init_charset): When we cannot find the charsets directory,
+       mention if EMACSDATA is set.
+
+2014-03-19  Paul Eggert  <eggert@cs.ucla.edu>
+
+       * fns.c (Frandom): Fix rare bug where the result isn't random.
+
+       Fix porting inconsistency about rounding to even.
+       * floatfns.c (emacs_rint) [!HAVE_RINT]: Round to even.
+       This way, the unusual !HAVE_RINT case acts like the usual
+       HAVE_RINT case, and we can fix the documentation accordingly.
+
+2014-03-19  Eli Zaretskii  <eliz@gnu.org>
+
+       * w32fns.c (reset_modifiers): Zero out keystate[] before using it.
+       (w32_wnd_proc): Initialize the dwHoverTime member of
+       TRACKMOUSEEVENT structure.
+
+2014-03-17  Teodor Zlatanov  <tzz@lifelogs.com>
+
+       * gnutls.c (Fgnutls_boot): Fix case of :verify-error = t.
+
+2014-03-16  Eli Zaretskii  <eliz@gnu.org>
+
+       * search.c (find_newline): Speed up the function when using the
+       newline cache, by halving the number of calls to
+       region_cache_forward and region_cache_backward.  (Bug#16830)
+
+2014-03-15  Juanma Barranquero  <lekktu@gmail.com>
+
+       * buffer.c (Fset_buffer): Document return value (bug#17015).
+
+2014-03-14  Martin Rudalics  <rudalics@gmx.at>
+
+       * w32term.c (x_set_window_size): When frame-resize-pixelwise is
+       nil, always resize character wise to avoid potential loss of the
+       mode line (Bug#16923 related).
+
+2014-03-12  Martin Rudalics  <rudalics@gmx.at>
+
+       * frame.c (x_set_frame_parameters): Always calculate new sizes
+       pixelwise to avoid potential loss when rounding.
+
+2014-03-11  Dmitry Antipov  <dmantipov@yandex.ru>
+
+       * xfns.c (x_set_mouse_color): Recolor vertical_drag_cursor.
+       * xterm.c (x_free_frame_resources): Free all allocated cursors.
+
+2014-03-10  Eli Zaretskii  <eliz@gnu.org>
+
+       * w32.c (fstatat): Don't add an extra slash if the argument ends
+       with a slash: this fails the subsequent call to stat_worker on
+       Windows 9X.  Reported by oslsachem <oslsachem@gmail.com>.
+
+2014-03-09  Martin Rudalics  <rudalics@gmx.at>
+
+       * xdisp.c (Fwindow_text_pixel_size): Adjust doc-string.
+
+2014-03-08  Jan Djärv  <jan.h.d@swipnet.se>
+
+       * nsterm.h (MAC_OS_X_VERSION_10_9): Add.
+
+       * nsterm.m (constrainFrameRect:toScreen:): Constrain normally
+       when frame is only on one screen (Bug#14713).
+
+2014-03-08  Eli Zaretskii  <eliz@gnu.org>
+
+       * xdisp.c (move_it_in_display_line_to): If word-wrap is ON, and
+       there's a valid wrap point in the display line, the last glyph
+       cannot "just barely fit" on this row, because display_line doesn't
+       let it.  Instead, proceed as if the last glyph didn't fit, so that
+       we eventually back up the iterator to the wrap point.  This avoids
+       delusional behavior of move_it_to, whereby it proceeds to the next
+       display line, but sets current_x to zero for all the glyphs that
+       without word-wrap would fit on the previous display line.
+       One result was that visual-order cursor movement behaved erratically
+       under word-wrap.
+       (Fmove_point_visually): Add code to find the x coordinate of the
+       last character before wrap point, under word-wrap on a TTY.
+
+2014-03-07  Eli Zaretskii  <eliz@gnu.org>
+
+       * xdisp.c (Fmove_point_visually): When under word-wrap, accept
+       also return value of MOVE_POS_MATCH_OR_ZV from
+       move_it_in_display_line_to, when moving from beginning of line to
+       point's position.  (Bug#16961)
+
+2014-03-07  Martin Rudalics  <rudalics@gmx.at>
+
+       * buffer.c (Vbuffer_list_update_hook): Doc-string fix.
+       * window.c (Fselect_window): Explain NORECORD and
+       `buffer-list-update-hook' in doc-string.
+
+2014-03-06  Martin Rudalics  <rudalics@gmx.at>
+
+       * window.c (Fother_window_for_scrolling): Check that
+       Vother_window_scroll_buffer is a buffer.
+
+2014-03-06  Dmitry Antipov  <dmantipov@yandex.ru>
+
+       * xterm.c (xim_initialize): Always pass a copy of resource name
+       to XRegisterIMInstantiateCallback and eassert whether return
+       value is True.  Passing copy is important because Xlib doesn't
+       make its own copy and resource name argument usually points to
+       SSDATA (Vx_resource_name), which may be changed from Lisp.
+       (xim_close_display): For XUnregisterIMInstantiateCallback,
+       always eassert return value and pass exactly the same values
+       as were used for XRegisterIMInstantiateCallback.
+       Otherwise XUnregisterIMInstantiateCallback will always fail.  See Xlib
+       sources to check why if you are interested.
+
+2014-03-05  Martin Rudalics  <rudalics@gmx.at>
+
+       * dispnew.c (change_frame_size_1): Add new_lines instead of
+       new_height, the latter may be still zero if passed as such.
+       * window.c (Fwindow_pixel_height): Mention bottom divider in
+       doc-string.
+
+2014-03-05  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Fix "resource temporarily unavailable" with xgselect
+       (Bug#16925).
+       * xgselect.c: Include <stdbool.h>.
+       (xg_select) [!USE_GTK]: Don't lose track of errno.
+
+       Fix minor --enable-gcc-warnings issues.
+       * widget.c (update_various_frame_slots, EmacsFrameResize):
+       Avoid unused locals.  Prefer 'if' to '#if' when either will do.
+
+2014-03-04  Ken Brown  <kbrown@cornell.edu>
+
+       * gmalloc.c (aligned_alloc): Clarify the code by making `adj'
+       represent the actual adjustment needed for alignment.
+
+2014-03-04  Eli Zaretskii  <eliz@gnu.org>
+
+       * gmalloc.c (aligned_alloc): Don't allocate more memory than
+       needed, and don't reallocate if the initial allocation already
+       fits the bill.  Suggested by Ken Brown <kbrown@cornell.edu>.
+
 2014-03-04  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 
        * xterm.c (x_draw_stretch_glyph_string): Reset clipping.