comparison src/syntax.c @ 90851:31beec9ee600

Merge from emacs--devo--0 Patches applied: * emacs--devo--0 (patch 751-770) - Update from CVS - Merge from emacs--rel--22 - Update from CVS: lisp/textmodes/sgml-mode.el: Revert last change. - Merge from gnus--rel--5.10 * emacs--rel--22 (patch 18-25) * gnus--rel--5.10 (patch 222-223) - Update from CVS Revision: emacs@sv.gnu.org/emacs--unicode--0--patch-208
author Miles Bader <miles@gnu.org>
date Thu, 24 May 2007 21:31:10 +0000
parents c035421fe210 e294a8067c33
children f55f9811f5d7
comparison
equal deleted inserted replaced
90850:7d184cd91770 90851:31beec9ee600
1297 else 1297 else
1298 { 1298 {
1299 script = CHAR_TABLE_REF (Vchar_script_table, ch1); 1299 script = CHAR_TABLE_REF (Vchar_script_table, ch1);
1300 while (1) 1300 while (1)
1301 { 1301 {
1302 int temp_byte;
1303
1304 if (from == beg) 1302 if (from == beg)
1305 break; 1303 break;
1306 temp_byte = dec_bytepos (from_byte); 1304 DEC_BOTH (from, from_byte);
1307 UPDATE_SYNTAX_TABLE_BACKWARD (from); 1305 UPDATE_SYNTAX_TABLE_BACKWARD (from);
1308 ch0 = FETCH_CHAR_AS_MULTIBYTE (temp_byte); 1306 ch0 = FETCH_CHAR_AS_MULTIBYTE (from_byte);
1309 code = SYNTAX (ch0); 1307 code = SYNTAX (ch0);
1310 if ((code != Sword 1308 if ((code != Sword
1311 && (! words_include_escapes 1309 && (! words_include_escapes
1312 || (code != Sescape && code != Scharquote))) 1310 || (code != Sescape && code != Scharquote)))
1313 || ! EQ (CHAR_TABLE_REF (Vchar_script_table, ch0), script)) 1311 || ! EQ (CHAR_TABLE_REF (Vchar_script_table, ch0), script))
1314 break; 1312 {
1315 DEC_BOTH (from, from_byte); 1313 INC_BOTH (from, from_byte);
1314 break;
1315 }
1316 ch1 = ch0; 1316 ch1 = ch0;
1317 } 1317 }
1318 } 1318 }
1319 count++; 1319 count++;
1320 } 1320 }
2029 if (p <= endp) 2029 if (p <= endp)
2030 break; 2030 break;
2031 p = GPT_ADDR; 2031 p = GPT_ADDR;
2032 stop = endp; 2032 stop = endp;
2033 } 2033 }
2034 UPDATE_SYNTAX_TABLE_BACKWARD (pos - 1);
2034 prev_p = p; 2035 prev_p = p;
2035 while (--p >= stop && ! CHAR_HEAD_P (*p)); 2036 while (--p >= stop && ! CHAR_HEAD_P (*p));
2036 c = STRING_CHAR (p, MAX_MULTIBYTE_LENGTH); 2037 c = STRING_CHAR (p, MAX_MULTIBYTE_LENGTH);
2037 if (! fastmap[(int) SYNTAX (c)]) 2038 if (! fastmap[(int) SYNTAX (c)])
2038 break; 2039 break;
2039 pos--, pos_byte -= prev_p - p; 2040 pos--, pos_byte -= prev_p - p;
2040 UPDATE_SYNTAX_TABLE_BACKWARD (pos);
2041 } 2041 }
2042 } 2042 }
2043 else 2043 else
2044 { 2044 {
2045 while (1) 2045 while (1)