# HG changeset patch # User Eli Zaretskii # Date 1285268089 14400 # Node ID fa060a284a1bf7c619c5e98c11f36981954f007f # Parent db816f28c44bec967e1c6d7aea032dfdd806ec8c Use EMACS_INT instead of EMACS_UINT in intervals.c. The latter causes crashes, since LENGTH macro in intervals.h:114 has to be able to return a negative number. diff -r db816f28c44b -r fa060a284a1b src/ChangeLog --- a/src/ChangeLog Thu Sep 23 14:50:57 2010 -0400 +++ b/src/ChangeLog Thu Sep 23 14:54:49 2010 -0400 @@ -57,7 +57,7 @@ (move_if_not_intangible, get_local_map, copy_intervals) (copy_intervals_to_string, compare_string_intervals) (set_intervals_multibyte_1): Use EMACS_INT for buffer positions - and EMACS_UINT for interval tree size. + and for interval tree size. * intervals.h (traverse_intervals, split_interval_right) (split_interval_left, find_interval, offset_intervals) diff -r db816f28c44b -r fa060a284a1b src/intervals.c --- a/src/intervals.c Thu Sep 23 14:50:57 2010 -0400 +++ b/src/intervals.c Thu Sep 23 14:54:49 2010 -0400 @@ -1326,8 +1326,8 @@ if (relative_position < LEFT_TOTAL_LENGTH (tree)) { EMACS_INT subtract = interval_deletion_adjustment (tree->left, - relative_position, - amount); + relative_position, + amount); tree->total_length -= subtract; CHECK_TOTAL_LENGTH (tree); return subtract;