*begin and *end if they point to the same thing.
(validate_plist): Call QUIT while scanning LIST.
/* User-level Positions in strings start with 0,
but the interval code always wants positions starting with 1. */
XFASTINT (*begin) += 1;
- XFASTINT (*end) += 1;
+ if (begin != end)
+ XFASTINT (*end) += 1;
i = s->intervals;
if (s->size == 0)
register int i;
register Lisp_Object tail;
for (i = 0, tail = list; !NILP (tail); i++)
- tail = Fcdr (tail);
+ {
+ tail = Fcdr (tail);
+ QUIT;
+ }
if (i & 1)
error ("Odd length text property list");
return list;