diff options
| author | Stefan Monnier | 2011-03-21 12:42:16 -0400 |
|---|---|---|
| committer | Stefan Monnier | 2011-03-21 12:42:16 -0400 |
| commit | cafdcef32d55cbb44389d7e322e7f973cbb72dfd (patch) | |
| tree | 7ee0c41ea8a589650ce6f4311fb10e61a63807b9 /src/character.h | |
| parent | a08a25d7aaf251aa18f2ef747be53734bc55cae9 (diff) | |
| parent | 4e05e67e4cd0bc1b0a4ef3176a4d0d91c6b3738e (diff) | |
| download | emacs-cafdcef32d55cbb44389d7e322e7f973cbb72dfd.tar.gz emacs-cafdcef32d55cbb44389d7e322e7f973cbb72dfd.zip | |
Merge from trunk
Diffstat (limited to 'src/character.h')
| -rw-r--r-- | src/character.h | 57 |
1 files changed, 27 insertions, 30 deletions
diff --git a/src/character.h b/src/character.h index fb29ced66b7..4c468e14d2c 100644 --- a/src/character.h +++ b/src/character.h | |||
| @@ -128,9 +128,6 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */ | |||
| 128 | XSETCDR ((x), tmp); \ | 128 | XSETCDR ((x), tmp); \ |
| 129 | } while (0) | 129 | } while (0) |
| 130 | 130 | ||
| 131 | /* Nonzero iff C is an ASCII character. */ | ||
| 132 | #define ASCII_CHAR_P(c) ((unsigned) (c) < 0x80) | ||
| 133 | |||
| 134 | /* Nonzero iff C is a character of code less than 0x100. */ | 131 | /* Nonzero iff C is a character of code less than 0x100. */ |
| 135 | #define SINGLE_BYTE_CHAR_P(c) ((unsigned) (c) < 0x100) | 132 | #define SINGLE_BYTE_CHAR_P(c) ((unsigned) (c) < 0x100) |
| 136 | 133 | ||
| @@ -281,11 +278,11 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */ | |||
| 281 | do { \ | 278 | do { \ |
| 282 | if ((p) > (limit)) \ | 279 | if ((p) > (limit)) \ |
| 283 | { \ | 280 | { \ |
| 284 | const unsigned char *p0 = (p); \ | 281 | const unsigned char *pcb = (p); \ |
| 285 | do { \ | 282 | do { \ |
| 286 | p0--; \ | 283 | pcb--; \ |
| 287 | } while (p0 >= limit && ! CHAR_HEAD_P (*p0)); \ | 284 | } while (pcb >= limit && ! CHAR_HEAD_P (*pcb)); \ |
| 288 | (p) = (BYTES_BY_CHAR_HEAD (*p0) == (p) - p0) ? p0 : (p) - 1; \ | 285 | (p) = (BYTES_BY_CHAR_HEAD (*pcb) == (p) - pcb) ? pcb : (p) - 1; \ |
| 289 | } \ | 286 | } \ |
| 290 | } while (0) | 287 | } while (0) |
| 291 | 288 | ||
| @@ -356,11 +353,11 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */ | |||
| 356 | CHARIDX++; \ | 353 | CHARIDX++; \ |
| 357 | if (STRING_MULTIBYTE (STRING)) \ | 354 | if (STRING_MULTIBYTE (STRING)) \ |
| 358 | { \ | 355 | { \ |
| 359 | unsigned char *ptr = &SDATA (STRING)[BYTEIDX]; \ | 356 | unsigned char *string_ptr = &SDATA (STRING)[BYTEIDX]; \ |
| 360 | int len; \ | 357 | int string_len; \ |
| 361 | \ | 358 | \ |
| 362 | OUTPUT = STRING_CHAR_AND_LENGTH (ptr, len); \ | 359 | OUTPUT = STRING_CHAR_AND_LENGTH (string_ptr, string_len); \ |
| 363 | BYTEIDX += len; \ | 360 | BYTEIDX += string_len; \ |
| 364 | } \ | 361 | } \ |
| 365 | else \ | 362 | else \ |
| 366 | { \ | 363 | { \ |
| @@ -380,10 +377,10 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */ | |||
| 380 | if (STRING_MULTIBYTE (STRING)) \ | 377 | if (STRING_MULTIBYTE (STRING)) \ |
| 381 | { \ | 378 | { \ |
| 382 | unsigned char *ptr = &SDATA (STRING)[BYTEIDX]; \ | 379 | unsigned char *ptr = &SDATA (STRING)[BYTEIDX]; \ |
| 383 | int len; \ | 380 | int ptrlen; \ |
| 384 | \ | 381 | \ |
| 385 | OUTPUT = STRING_CHAR_AND_LENGTH (ptr, len); \ | 382 | OUTPUT = STRING_CHAR_AND_LENGTH (ptr, ptrlen); \ |
| 386 | BYTEIDX += len; \ | 383 | BYTEIDX += ptrlen; \ |
| 387 | } \ | 384 | } \ |
| 388 | else \ | 385 | else \ |
| 389 | { \ | 386 | { \ |
| @@ -400,11 +397,11 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */ | |||
| 400 | #define FETCH_STRING_CHAR_ADVANCE_NO_CHECK(OUTPUT, STRING, CHARIDX, BYTEIDX) \ | 397 | #define FETCH_STRING_CHAR_ADVANCE_NO_CHECK(OUTPUT, STRING, CHARIDX, BYTEIDX) \ |
| 401 | do \ | 398 | do \ |
| 402 | { \ | 399 | { \ |
| 403 | unsigned char *ptr = &SDATA (STRING)[BYTEIDX]; \ | 400 | unsigned char *fetch_ptr = &SDATA (STRING)[BYTEIDX]; \ |
| 404 | int len; \ | 401 | int fetch_len; \ |
| 405 | \ | 402 | \ |
| 406 | OUTPUT = STRING_CHAR_AND_LENGTH (ptr, len); \ | 403 | OUTPUT = STRING_CHAR_AND_LENGTH (fetch_ptr, fetch_len); \ |
| 407 | BYTEIDX += len; \ | 404 | BYTEIDX += fetch_len; \ |
| 408 | CHARIDX++; \ | 405 | CHARIDX++; \ |
| 409 | } \ | 406 | } \ |
| 410 | while (0) | 407 | while (0) |
| @@ -420,10 +417,10 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */ | |||
| 420 | if (!NILP (BVAR (current_buffer, enable_multibyte_characters))) \ | 417 | if (!NILP (BVAR (current_buffer, enable_multibyte_characters))) \ |
| 421 | { \ | 418 | { \ |
| 422 | unsigned char *ptr = BYTE_POS_ADDR (BYTEIDX); \ | 419 | unsigned char *ptr = BYTE_POS_ADDR (BYTEIDX); \ |
| 423 | int len; \ | 420 | int string_len; \ |
| 424 | \ | 421 | \ |
| 425 | OUTPUT= STRING_CHAR_AND_LENGTH (ptr, len); \ | 422 | OUTPUT= STRING_CHAR_AND_LENGTH (ptr, string_len); \ |
| 426 | BYTEIDX += len; \ | 423 | BYTEIDX += string_len; \ |
| 427 | } \ | 424 | } \ |
| 428 | else \ | 425 | else \ |
| 429 | { \ | 426 | { \ |
| @@ -454,8 +451,8 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */ | |||
| 454 | 451 | ||
| 455 | #define INC_POS(pos_byte) \ | 452 | #define INC_POS(pos_byte) \ |
| 456 | do { \ | 453 | do { \ |
| 457 | unsigned char *p = BYTE_POS_ADDR (pos_byte); \ | 454 | unsigned char *ptr = BYTE_POS_ADDR (pos_byte); \ |
| 458 | pos_byte += BYTES_BY_CHAR_HEAD (*p); \ | 455 | pos_byte += BYTES_BY_CHAR_HEAD (*ptr); \ |
| 459 | } while (0) | 456 | } while (0) |
| 460 | 457 | ||
| 461 | 458 | ||
| @@ -464,16 +461,16 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */ | |||
| 464 | 461 | ||
| 465 | #define DEC_POS(pos_byte) \ | 462 | #define DEC_POS(pos_byte) \ |
| 466 | do { \ | 463 | do { \ |
| 467 | unsigned char *p; \ | 464 | unsigned char *ptr; \ |
| 468 | \ | 465 | \ |
| 469 | pos_byte--; \ | 466 | pos_byte--; \ |
| 470 | if (pos_byte < GPT_BYTE) \ | 467 | if (pos_byte < GPT_BYTE) \ |
| 471 | p = BEG_ADDR + pos_byte - BEG_BYTE; \ | 468 | ptr = BEG_ADDR + pos_byte - BEG_BYTE; \ |
| 472 | else \ | 469 | else \ |
| 473 | p = BEG_ADDR + GAP_SIZE + pos_byte - BEG_BYTE;\ | 470 | ptr = BEG_ADDR + GAP_SIZE + pos_byte - BEG_BYTE; \ |
| 474 | while (!CHAR_HEAD_P (*p)) \ | 471 | while (!CHAR_HEAD_P (*ptr)) \ |
| 475 | { \ | 472 | { \ |
| 476 | p--; \ | 473 | ptr--; \ |
| 477 | pos_byte--; \ | 474 | pos_byte--; \ |
| 478 | } \ | 475 | } \ |
| 479 | } while (0) | 476 | } while (0) |
| @@ -513,8 +510,8 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */ | |||
| 513 | 510 | ||
| 514 | #define BUF_INC_POS(buf, pos_byte) \ | 511 | #define BUF_INC_POS(buf, pos_byte) \ |
| 515 | do { \ | 512 | do { \ |
| 516 | unsigned char *p = BUF_BYTE_ADDRESS (buf, pos_byte); \ | 513 | unsigned char *bbp = BUF_BYTE_ADDRESS (buf, pos_byte); \ |
| 517 | pos_byte += BYTES_BY_CHAR_HEAD (*p); \ | 514 | pos_byte += BYTES_BY_CHAR_HEAD (*bbp); \ |
| 518 | } while (0) | 515 | } while (0) |
| 519 | 516 | ||
| 520 | 517 | ||