From 1e69125eae782c27b700990bc83a982646ca8ba2 Mon Sep 17 00:00:00 2001 From: Paul Eggert Date: Sat, 9 Apr 2011 15:51:22 -0700 Subject: [PATCH] * syntax.c (skip_chars): Likewise. --- src/ChangeLog | 1 + src/syntax.c | 10 ++++++---- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/src/ChangeLog b/src/ChangeLog index 9e2538c5851..b5e617b1f20 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -5,6 +5,7 @@ * chartab.c (sub_char_table_set_range, char_table_set_range): Likewise. * casetab.c (set_identity, shuffle): Likewise. * editfns.c (Fformat): Likewise. + * syntax.c (skip_chars): Likewise. * xmenu.c (set_frame_menubar): Allocate smaller local vectors. This also lets GCC 4.6.0 generate slightly better loop code. diff --git a/src/syntax.c b/src/syntax.c index 56176f32418..1301c0689ad 100644 --- a/src/syntax.c +++ b/src/syntax.c @@ -1541,7 +1541,8 @@ skip_chars (int forwardp, Lisp_Object string, Lisp_Object lim, int handle_iso_cl if (c <= c2) { - while (c <= c2) + unsigned lim2 = c2 + 1; + while (c < lim2) fastmap[c++] = 1; if (! ASCII_CHAR_P (c2)) string_has_eight_bit = 1; @@ -1681,7 +1682,8 @@ skip_chars (int forwardp, Lisp_Object string, Lisp_Object lim, int handle_iso_cl } if (! ASCII_CHAR_P (c)) { - while (leading_code <= leading_code2) + unsigned lim2 = leading_code2 + 1; + while (leading_code < lim2) fastmap[leading_code++] = 1; if (c <= c2) { @@ -1713,9 +1715,9 @@ skip_chars (int forwardp, Lisp_Object string, Lisp_Object lim, int handle_iso_cl for (i = 0; i < n_char_ranges; i += 2) { int c1 = char_ranges[i]; - int c2 = char_ranges[i + 1]; + unsigned lim2 = char_ranges[i + 1] + 1; - for (; c1 <= c2; c1++) + for (; c1 < lim2; c1++) { int b = CHAR_TO_BYTE_SAFE (c1); if (b >= 0) -- 2.39.2