Avoid character to byte conversions in motion subroutines.
[bpt/emacs.git] / src / ChangeLog
index 84ba55e..bc106df 100644 (file)
@@ -1,3 +1,84 @@
+2013-03-07  Dmitry Antipov  <dmantipov@yandex.ru>
+
+       Avoid character to byte conversions in motion subroutines.
+       * indent.h (compute_motion, vmotion): Add byte position argument.
+       * indent.c (compute_motion): Use it and avoid CHAR_TO_BYTE.
+       Add eassert.
+       (Fcompute_motion): Break long line.  Adjust call to compute_motion.
+       Use list5 for return value.
+       (vmotion): Use byte position argument and avoid call to CHAR_TO_BYTE.
+       Adjust comments, style and calls to compute_motion.
+       (Fvertical_motion): Adjust call to vmotion.
+       * window.c (Fdelete_other_windows_internal): Record window start
+       byte position and adjust call to vmotion.
+       (window_scroll_line_based): Likewise with call to compute_motion.
+       Use SET_PT_BOTH.
+       (Frecenter): Adjust calls to vmotion.
+
+2013-03-07  Dmitry Antipov  <dmantipov@yandex.ru>
+
+       * lisp.h (list2i, list3i): New functions.
+       (list4i): Move from window.c and make LISP_INLINE.
+       * editfns.c (make_lisp_time):
+       * fns.c (Flocale_info):
+       * keyboard.c (parse_modifiers):
+       * xterm.c (x_ewmh_activate_frame): Use list2i.
+       * instel.c (signal_after_change):
+       * nsfns.m (Fx_server_version, Fxw_color_values):
+       * w32fns.c (Fxw_color_values, Fx_server_version):
+       * xfns.c (Fxw_color_values, Fx_server_version): Use list3i.
+       * fileio.c (Fvisited_file_modtime):
+       * nsfns.m (Fns_display_usable_bounds):
+       * w32.c (ltime): Use list4i.
+
+2013-03-06  Eli Zaretskii  <eliz@gnu.org>
+
+       * search.c (find_newline_no_quit): Rename from find_next_newline.
+       Add commentary.
+
+       * lisp.h (find_newline_no_quit): Rename prototype.
+
+       * xdisp.c (back_to_previous_line_start)
+       (forward_to_next_line_start, get_visually_first_element)
+       (move_it_vertically_backward): Callers of find_newline_no_quit changed.
+       * indent.c (vmotion): Callers of find_newline_no_quit changed.
+       * bidi.c (bidi_find_paragraph_start): Callers of
+       find_newline_no_quit changed.
+
+       * msdos.c: Change encoding to cp850.  (Bug#13879)
+       (fr_keyboard, it_keyboard, dk_keyboard): Update keyboard layouts.
+
+2013-03-06  Dmitry Antipov  <dmantipov@yandex.ru>
+
+       Coding system support cleanup and minor refactoring.
+       * coding.h (enum coding_result_code): Remove
+       CODING_RESULT_INCONSISTENT_EOL and CODING_RESULT_INSUFFICIENT_MEM.
+       (toplevel): Remove unused CODING_MODE_INHIBIT_INCONSISTENT_EOL.
+       (CODING_MODE_LAST_BLOCK, CODING_MODE_SELECTIVE_DISPLAY)
+       (CODING_MODE_DIRECTION, CODING_MODE_FIXED_DESTINATION)
+       (CODING_MODE_SAFE_ENCODING): Rearrange bit values.
+       (decode_coding_region, encode_coding_region, decode_coding_string):
+       Remove unused compatibility macros.
+       * coding.c (Qinconsistent_eol, Qinsufficient_memory): Remove.
+       (record_conversion_result): Adjust user.
+       (syms_of_coding): Likewise.
+       (ALLOC_CONVERSION_WORK_AREA): Use SAFE_ALLOCA.
+       (decode_coding, encode_coding): Add USE_SAFE_ALLOCA and SAFE_FREE.
+       (decode_coding_object): Simplify since xrealloc never returns NULL.
+       Add eassert.
+
+2013-03-06  Paul Eggert  <eggert@cs.ucla.edu>
+
+       Fix a build failure on OpenBSD 4.x and MirBSD (Bug#13881).
+       * sysdep.c (list_system_processes)
+       [BSD_SYSTEM && !DARWIN_OS && !__FreeBSD__]:
+       Make it a stub in this case; otherwise the build might fail,
+       and this code hasn't been tested on such hosts anyway.
+       Problem reported by Nelson H. F. Beebe in
+       <http://lists.gnu.org/archive/html/emacs-devel/2013-03/msg00021.html>
+       and analyzed by Jérémie Courrèges-Anglas in
+       <http://lists.gnu.org/archive/html/emacs-devel/2013-03/msg00062.html>.
+
 2013-03-06  Dmitry Antipov  <dmantipov@yandex.ru>
 
        * lisp.h (find_next_newline_no_quit): Rename to find_next_newline.
        to be in sync with bidi_it->bytepos.  Suggested by Dmitry Antipov
        <dmantipov@yandex.ru>.
 
-2013-03-05  Paul Eggert  <eggert@cs.ucla.edu>
-
-       Fix a build failure on OpenBSD 4.x and MirBSD.
-       * sysdep.c (KERN_PROC, kinfo_proc)
-       [BSD_SYSTEM && (!KERN_PROC || __MirBSD__)]:
-       Define to KERN_PROC2 and kinfo_proc2, for OpenBSD 4.9 and MirBSD.
-       list-system-processes still returns nil, but at least it doesn't crash.
-       Problem reported by Nelson H. F. Beebe in
-       <http://lists.gnu.org/archive/html/emacs-devel/2013-03/msg00021.html>.
-
 2013-03-05  Dmitry Antipov  <dmantipov@yandex.ru>
 
        * composite.c (get_composition_id, fill_gstring_header):