aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorKenichi Handa2000-08-11 05:44:50 +0000
committerKenichi Handa2000-08-11 05:44:50 +0000
commit7a837c899237d7644c95f00ad613e84e6b17746f (patch)
tree74c1eacd383912c2a691ef96c237aa0e3b0a0cff /src
parent6e264fadfa7fbd0fa6889043b096275030df45c9 (diff)
downloademacs-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.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/ccl.c b/src/ccl.c
index e44dc86643b..c99c0a5414c 100644
--- a/src/ccl.c
+++ b/src/ccl.c
@@ -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++)