diff options
| author | Kenichi Handa | 2002-08-19 11:00:39 +0000 |
|---|---|---|
| committer | Kenichi Handa | 2002-08-19 11:00:39 +0000 |
| commit | 8cb8232a21ae09cec807c3ccf0a58def3414a595 (patch) | |
| tree | 2844d272829d0a0c3c5f7cd6c2f5d48159ca3f97 /src | |
| parent | 5a7128a6e8c5945f36ee26fe8b2a3bada02892fc (diff) | |
| download | emacs-8cb8232a21ae09cec807c3ccf0a58def3414a595.tar.gz emacs-8cb8232a21ae09cec807c3ccf0a58def3414a595.zip | |
(scan_words): Don't treat characters belonging to
different scripts constituting a work.
Diffstat (limited to 'src')
| -rw-r--r-- | src/ChangeLog | 5 | ||||
| -rw-r--r-- | src/syntax.c | 68 |
2 files changed, 45 insertions, 28 deletions
diff --git a/src/ChangeLog b/src/ChangeLog index b83271963a3..0e66f15a572 100644 --- a/src/ChangeLog +++ b/src/ChangeLog | |||
| @@ -1,5 +1,10 @@ | |||
| 1 | 2002-08-19 Kenichi Handa <handa@etl.go.jp> | 1 | 2002-08-19 Kenichi Handa <handa@etl.go.jp> |
| 2 | 2 | ||
| 3 | * syntax.c (scan_words): Don't treat characters belonging to | ||
| 4 | different scripts constituting a work. | ||
| 5 | |||
| 6 | * editfns.c (Fformat): Use ASCII_CHAR_P, not SINGLE_BYTE_CHAR_P. | ||
| 7 | |||
| 3 | * fontset.c (Fset_fontset_font): Treate `ascii' as charset, not | 8 | * fontset.c (Fset_fontset_font): Treate `ascii' as charset, not |
| 4 | script. | 9 | script. |
| 5 | 10 | ||
diff --git a/src/syntax.c b/src/syntax.c index ba86b91fc03..716b3be6f6c 100644 --- a/src/syntax.c +++ b/src/syntax.c | |||
| @@ -1216,19 +1216,25 @@ scan_words (from, count) | |||
| 1216 | from_byte = CHAR_TO_BYTE (from); | 1216 | from_byte = CHAR_TO_BYTE (from); |
| 1217 | } | 1217 | } |
| 1218 | else | 1218 | else |
| 1219 | while (1) | 1219 | { |
| 1220 | { | 1220 | Lisp_Object script; |
| 1221 | if (from == end) break; | 1221 | |
| 1222 | UPDATE_SYNTAX_TABLE_FORWARD (from); | 1222 | script = CHAR_TABLE_REF (Vchar_script_table, ch0); |
| 1223 | ch1 = FETCH_CHAR (from_byte); | 1223 | while (1) |
| 1224 | code = SYNTAX (ch1); | 1224 | { |
| 1225 | if (code != Sword | 1225 | if (from == end) break; |
| 1226 | && (! words_include_escapes | 1226 | UPDATE_SYNTAX_TABLE_FORWARD (from); |
| 1227 | || (code != Sescape && code != Scharquote))) | 1227 | ch1 = FETCH_CHAR (from_byte); |
| 1228 | code = SYNTAX (ch1); | ||
| 1229 | if ((code != Sword | ||
| 1230 | && (! words_include_escapes | ||
| 1231 | || (code != Sescape && code != Scharquote))) | ||
| 1232 | || ! EQ (CHAR_TABLE_REF (Vchar_script_table, ch1), script)) | ||
| 1228 | break; | 1233 | break; |
| 1229 | INC_BOTH (from, from_byte); | 1234 | INC_BOTH (from, from_byte); |
| 1230 | ch0 = ch1; | 1235 | ch0 = ch1; |
| 1231 | } | 1236 | } |
| 1237 | } | ||
| 1232 | 1238 | ||
| 1233 | count--; | 1239 | count--; |
| 1234 | } | 1240 | } |
| @@ -1265,23 +1271,29 @@ scan_words (from, count) | |||
| 1265 | from_byte = CHAR_TO_BYTE (from); | 1271 | from_byte = CHAR_TO_BYTE (from); |
| 1266 | } | 1272 | } |
| 1267 | else | 1273 | else |
| 1268 | while (1) | 1274 | { |
| 1269 | { | 1275 | Lisp_Object script; |
| 1270 | int temp_byte; | ||
| 1271 | 1276 | ||
| 1272 | if (from == beg) | 1277 | script = CHAR_TABLE_REF (Vchar_script_table, ch1); |
| 1273 | break; | 1278 | while (1) |
| 1274 | temp_byte = dec_bytepos (from_byte); | 1279 | { |
| 1275 | UPDATE_SYNTAX_TABLE_BACKWARD (from); | 1280 | int temp_byte; |
| 1276 | ch0 = FETCH_CHAR (temp_byte); | 1281 | |
| 1277 | code = SYNTAX (ch0); | 1282 | if (from == beg) |
| 1278 | if (code != Sword | 1283 | break; |
| 1279 | && (! words_include_escapes | 1284 | temp_byte = dec_bytepos (from_byte); |
| 1280 | || (code != Sescape && code != Scharquote))) | 1285 | UPDATE_SYNTAX_TABLE_BACKWARD (from); |
| 1281 | break; | 1286 | ch0 = FETCH_CHAR (temp_byte); |
| 1282 | DEC_BOTH (from, from_byte); | 1287 | code = SYNTAX (ch0); |
| 1283 | ch1 = ch0; | 1288 | if ((code != Sword |
| 1284 | } | 1289 | && (! words_include_escapes |
| 1290 | || (code != Sescape && code != Scharquote))) | ||
| 1291 | || ! EQ (CHAR_TABLE_REF (Vchar_script_table, ch0), script)) | ||
| 1292 | break; | ||
| 1293 | DEC_BOTH (from, from_byte); | ||
| 1294 | ch1 = ch0; | ||
| 1295 | } | ||
| 1296 | } | ||
| 1285 | count++; | 1297 | count++; |
| 1286 | } | 1298 | } |
| 1287 | 1299 | ||