Mercurial > emacs
comparison src/insdel.c @ 23028:2e93e3302328
(copy_text): Fix previous change, call
multibyte_char_to_unibyte.
author | Kenichi Handa <handa@m17n.org> |
---|---|
date | Sat, 15 Aug 1998 01:28:14 +0000 |
parents | 6d368c9a689e |
children | 09d1521f9984 |
comparison
equal
deleted
inserted
replaced
23027:0dc823b2335f | 23028:2e93e3302328 |
---|---|
715 while (bytes_left > 0) | 715 while (bytes_left > 0) |
716 { | 716 { |
717 int thislen, c, c_save; | 717 int thislen, c, c_save; |
718 c = c_save = STRING_CHAR_AND_LENGTH (from_addr, bytes_left, thislen); | 718 c = c_save = STRING_CHAR_AND_LENGTH (from_addr, bytes_left, thislen); |
719 if (!SINGLE_BYTE_CHAR_P (c)) | 719 if (!SINGLE_BYTE_CHAR_P (c)) |
720 { | 720 c = multibyte_char_to_unibyte (c, tbl); |
721 if (!NILP (tbl)) | |
722 { | |
723 temp = Faref (tbl, make_number (c)); | |
724 if (INTEGERP (temp)) | |
725 c = XINT (temp); | |
726 } | |
727 else if (nonascii_insert_offset > 0) | |
728 c -= nonascii_insert_offset; | |
729 if (c < 128 || c >= 256) | |
730 c = (c_save & 0177) + 0200; | |
731 } | |
732 *to_addr++ = c; | 721 *to_addr++ = c; |
733 from_addr += thislen; | 722 from_addr += thislen; |
734 bytes_left -= thislen; | 723 bytes_left -= thislen; |
735 nchars++; | 724 nchars++; |
736 } | 725 } |