*** syntax.c Wed Jan 17 09:31:10 2007 --- syntax.c Thu May 17 23:30:50 2007 *************** *** 1276,1294 **** position of it. */ while (1) { - int temp_byte; - if (from == beg) break; ! temp_byte = dec_bytepos (from_byte); UPDATE_SYNTAX_TABLE_BACKWARD (from); ! ch0 = FETCH_CHAR (temp_byte); code = SYNTAX (ch0); if (!(words_include_escapes && (code == Sescape || code == Scharquote))) if (code != Sword || WORD_BOUNDARY_P (ch0, ch1)) ! break; ! DEC_BOTH (from, from_byte); ch1 = ch0; } count++; --- 1276,1294 ---- position of it. */ while (1) { if (from == beg) break; ! DEC_BOTH (from, from_byte); UPDATE_SYNTAX_TABLE_BACKWARD (from); ! ch0 = FETCH_CHAR (from_byte); code = SYNTAX (ch0); if (!(words_include_escapes && (code == Sescape || code == Scharquote))) if (code != Sword || WORD_BOUNDARY_P (ch0, ch1)) ! { ! INC_BOTH (from, from_byte); ! break; ! } ch1 = ch0; } count++; *************** *** 1669,1678 **** p = GPT_ADDR; stop = endp; } - if (! fastmap[(int) SYNTAX (p[-1])]) - break; p--, pos--; ! UPDATE_SYNTAX_TABLE_BACKWARD (pos - 1); } } } --- 1669,1681 ---- p = GPT_ADDR; stop = endp; } p--, pos--; ! UPDATE_SYNTAX_TABLE_BACKWARD (pos); ! if (! fastmap[(int) SYNTAX (*p)]) ! { ! p++, pos++; ! break; ! } } } }