summaryrefslogtreecommitdiff
path: root/src/intervals.c
diff options
context:
space:
mode:
authorPaul Eggert <eggert@cs.ucla.edu>2011-04-20 01:30:52 -0700
committerPaul Eggert <eggert@cs.ucla.edu>2011-04-20 01:30:52 -0700
commit37aa2f85254069b9344f620ab5cd306e4aa33271 (patch)
treec64d3d3ae717be20b667d48c6eb710e5b2323fe9 /src/intervals.c
parentc20db43fef1bceb545b05bec2dbf18b1fbb2b533 (diff)
downloademacs-37aa2f85254069b9344f620ab5cd306e4aa33271.tar.gz
* intervals.c (offset_intervals): Tell GCC not to worry about length overflow
when negating a negative length.
Diffstat (limited to 'src/intervals.c')
-rw-r--r--src/intervals.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/intervals.c b/src/intervals.c
index 8f3840976d0..e72bc146d16 100644
--- a/src/intervals.c
+++ b/src/intervals.c
@@ -39,6 +39,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
#include <config.h>
#include <setjmp.h>
+#include <intprops.h>
#include "lisp.h"
#include "intervals.h"
#include "buffer.h"
@@ -1435,7 +1436,10 @@ offset_intervals (struct buffer *buffer, EMACS_INT start, EMACS_INT length)
if (length > 0)
adjust_intervals_for_insertion (BUF_INTERVALS (buffer), start, length);
else
- adjust_intervals_for_deletion (buffer, start, -length);
+ {
+ IF_LINT (if (length < - TYPE_MAXIMUM (EMACS_INT)) abort ();)
+ adjust_intervals_for_deletion (buffer, start, -length);
+ }
}
/* Merge interval I with its lexicographic successor. The resulting