(concat): Don't change multibyteness of the result by
authorKenichi Handa <handa@m17n.org>
Fri, 26 Sep 2003 11:21:21 +0000 (11:21 +0000)
committerKenichi Handa <handa@m17n.org>
Fri, 26 Sep 2003 11:21:21 +0000 (11:21 +0000)
concatenating an 8-bit character.

src/fns.c

index 0fdca30..2c458ba 100644 (file)
--- a/src/fns.c
+++ b/src/fns.c
@@ -591,7 +591,7 @@ concat (nargs, args, target_type, last_special)
                  wrong_type_argument (Qcharacterp, ch);
                this_len_byte = CHAR_BYTES (XINT (ch));
                result_len_byte += this_len_byte;
-               if (! ASCII_CHAR_P (XINT (ch)))
+               if (! ASCII_CHAR_P (XINT (ch)) && ! CHAR_BYTE8_P (XINT (ch)))
                  some_multibyte = 1;
              }
          else if (BOOL_VECTOR_P (this) && XBOOL_VECTOR (this)->size > 0)
@@ -604,7 +604,7 @@ concat (nargs, args, target_type, last_special)
                  wrong_type_argument (Qcharacterp, ch);
                this_len_byte = CHAR_BYTES (XINT (ch));
                result_len_byte += this_len_byte;
-               if (! ASCII_CHAR_P (XINT (ch)))
+               if (! ASCII_CHAR_P (XINT (ch)) && ! CHAR_BYTE8_P (XINT (ch)))
                  some_multibyte = 1;
              }
          else if (STRINGP (this))