aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/fns.c16
1 files changed, 4 insertions, 12 deletions
diff --git a/src/fns.c b/src/fns.c
index eb2c2cbcbc0..64c6778aea4 100644
--- a/src/fns.c
+++ b/src/fns.c
@@ -473,7 +473,7 @@ concat (nargs, args, target_type, last_special)
473 } 473 }
474 else if (STRINGP (this)) 474 else if (STRINGP (this))
475 { 475 {
476 result_len_byte += XSTRING (this)->size_byte; 476 if (STRING_MULTIBYTE (this))
477 { 477 {
478 some_multibyte = 1; 478 some_multibyte = 1;
479 result_len_byte += XSTRING (this)->size_byte; 479 result_len_byte += XSTRING (this)->size_byte;
@@ -572,17 +572,9 @@ concat (nargs, args, target_type, last_special)
572 { 572 {
573 unsigned char c; 573 unsigned char c;
574 XSETFASTINT (elt, XSTRING (this)->data[thisindex++]); 574 XSETFASTINT (elt, XSTRING (this)->data[thisindex++]);
575 if (some_multibyte && XINT (elt) >= 0200 575 if (some_multibyte)
576 && XINT (elt) < 0400) 576 XSETINT (elt,
577 { 577 unibyte_char_to_multibyte (XINT (elt)));
578 c = XINT (elt);
579 if (nonascii_insert_offset > 0)
580 c += nonascii_insert_offset;
581 else
582 c += DEFAULT_NONASCII_INSERT_OFFSET;
583
584 XSETINT (elt, c);
585 }
586 } 578 }
587 } 579 }
588 else if (BOOL_VECTOR_P (this)) 580 else if (BOOL_VECTOR_P (this))