+2003-04-18 Miles Bader <miles@gnu.org>
+
+ * data.c (Faset): Calculate nbytes earlier, to satisfy the now
+ pickier PARSE_MULTIBYTE_SEQ.
+
2003-04-17 Stefan Monnier <monnier@cs.yale.edu>
* eval.c (For, Fand, Fprogn, un_autoload, do_autoload):
}
else if (STRING_MULTIBYTE (array))
{
- int idxval_byte, prev_bytes, new_bytes;
+ int idxval_byte, prev_bytes, new_bytes, nbytes;
unsigned char workbuf[MAX_MULTIBYTE_LENGTH], *p0 = workbuf, *p1;
if (idxval < 0 || idxval >= SCHARS (array))
args_out_of_range (array, idx);
CHECK_NUMBER (newelt);
+ nbytes = SBYTES (array);
+
idxval_byte = string_char_to_byte (array, idxval);
p1 = SDATA (array) + idxval_byte;
PARSE_MULTIBYTE_SEQ (p1, nbytes - idxval_byte, prev_bytes);
{
/* We must relocate the string data. */
int nchars = SCHARS (array);
- int nbytes = SBYTES (array);
unsigned char *str;
str = (nbytes <= MAX_ALLOCA