diff options
| author | Kenichi Handa | 2000-08-11 05:44:50 +0000 |
|---|---|---|
| committer | Kenichi Handa | 2000-08-11 05:44:50 +0000 |
| commit | 7a837c899237d7644c95f00ad613e84e6b17746f (patch) | |
| tree | 74c1eacd383912c2a691ef96c237aa0e3b0a0cff /src | |
| parent | 6e264fadfa7fbd0fa6889043b096275030df45c9 (diff) | |
| download | emacs-7a837c899237d7644c95f00ad613e84e6b17746f.tar.gz emacs-7a837c899237d7644c95f00ad613e84e6b17746f.zip | |
(CCL_READ_CHAR): If source is multibyte, pay attention to
the multibyte form of eight-bit-control characters.
(Fccl_execute_on_string): Initialize ccl->multibyte.
Diffstat (limited to 'src')
| -rw-r--r-- | src/ccl.c | 8 |
1 files changed, 7 insertions, 1 deletions
| @@ -713,7 +713,12 @@ static tr_stack *mapping_stack_pointer; | |||
| 713 | if (!src) \ | 713 | if (!src) \ |
| 714 | CCL_INVALID_CMD; \ | 714 | CCL_INVALID_CMD; \ |
| 715 | else if (src < src_end) \ | 715 | else if (src < src_end) \ |
| 716 | r = *src++; \ | 716 | { \ |
| 717 | r = *src++; \ | ||
| 718 | if (r == LEADING_CODE_8_BIT_CONTROL \ | ||
| 719 | && ccl->multibyte) \ | ||
| 720 | r = *src++ - 0x20; \ | ||
| 721 | } \ | ||
| 717 | else if (ccl->last_block) \ | 722 | else if (ccl->last_block) \ |
| 718 | { \ | 723 | { \ |
| 719 | ic = ccl->eof_ic; \ | 724 | ic = ccl->eof_ic; \ |
| @@ -1895,6 +1900,7 @@ is a unibyte string. By default it is a multibyte string.") | |||
| 1895 | outbufsize = STRING_BYTES (XSTRING (str)) * ccl.buf_magnification + 256; | 1900 | outbufsize = STRING_BYTES (XSTRING (str)) * ccl.buf_magnification + 256; |
| 1896 | outbuf = (char *) xmalloc (outbufsize); | 1901 | outbuf = (char *) xmalloc (outbufsize); |
| 1897 | ccl.last_block = NILP (contin); | 1902 | ccl.last_block = NILP (contin); |
| 1903 | ccl.multibyte = STRING_MULTIBYTE (str); | ||
| 1898 | produced = ccl_driver (&ccl, XSTRING (str)->data, outbuf, | 1904 | produced = ccl_driver (&ccl, XSTRING (str)->data, outbuf, |
| 1899 | STRING_BYTES (XSTRING (str)), outbufsize, (int *)0); | 1905 | STRING_BYTES (XSTRING (str)), outbufsize, (int *)0); |
| 1900 | for (i = 0; i < 8; i++) | 1906 | for (i = 0; i < 8; i++) |