aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/ChangeLog4
-rw-r--r--src/charset.c55
2 files changed, 32 insertions, 27 deletions
diff --git a/src/ChangeLog b/src/ChangeLog
index a0565923cd7..20d05d47494 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,7 @@
12002-05-22 Kenichi Handa <handa@etl.go.jp>
2
3 * charset.c (Fmake_char): Fix previous change.
4
12002-05-21 Kenichi Handa <handa@etl.go.jp> 52002-05-21 Kenichi Handa <handa@etl.go.jp>
2 6
3 * coding.c (ONE_MORE_BYTE_NO_CHECK): Increment consumed_chars. 7 * coding.c (ONE_MORE_BYTE_NO_CHECK): Increment consumed_chars.
diff --git a/src/charset.c b/src/charset.c
index d7516dc1ba3..93ad3e8b61f 100644
--- a/src/charset.c
+++ b/src/charset.c
@@ -1502,44 +1502,45 @@ is specified. */)
1502 if (XFASTINT (code1) >= 0x100) 1502 if (XFASTINT (code1) >= 0x100)
1503 args_out_of_range (make_number (0xFF), code1); 1503 args_out_of_range (make_number (0xFF), code1);
1504 code = XFASTINT (code1); 1504 code = XFASTINT (code1);
1505 }
1506 if (dimension > 1)
1507 {
1508 code <<= 8;
1509 if (NILP (code2))
1510 code |= charsetp->code_space[(dimension - 2) * 4];
1511 else
1512 {
1513 CHECK_NATNUM (code2);
1514 if (XFASTINT (code2) >= 0x100)
1515 args_out_of_range (make_number (0xFF), code2);
1516 code |= XFASTINT (code2);
1517 }
1518 1505
1519 if (dimension > 2) 1506 if (dimension > 1)
1520 { 1507 {
1521 code <<= 8; 1508 code <<= 8;
1522 if (NILP (code3)) 1509 if (NILP (code2))
1523 code |= charsetp->code_space[(dimension - 3) * 4]; 1510 code |= charsetp->code_space[(dimension - 2) * 4];
1524 else 1511 else
1525 { 1512 {
1526 CHECK_NATNUM (code3); 1513 CHECK_NATNUM (code2);
1527 if (XFASTINT (code3) >= 0x100) 1514 if (XFASTINT (code2) >= 0x100)
1528 args_out_of_range (make_number (0xFF), code3); 1515 args_out_of_range (make_number (0xFF), code2);
1529 code |= XFASTINT (code3); 1516 code |= XFASTINT (code2);
1530 } 1517 }
1531 1518
1532 if (dimension > 3) 1519 if (dimension > 2)
1533 { 1520 {
1534 code <<= 8; 1521 code <<= 8;
1535 if (NILP (code4)) 1522 if (NILP (code3))
1536 code |= charsetp->code_space[0]; 1523 code |= charsetp->code_space[(dimension - 3) * 4];
1537 else 1524 else
1538 { 1525 {
1539 CHECK_NATNUM (code4); 1526 CHECK_NATNUM (code3);
1540 if (XFASTINT (code4) >= 0x100) 1527 if (XFASTINT (code3) >= 0x100)
1541 args_out_of_range (make_number (0xFF), code4); 1528 args_out_of_range (make_number (0xFF), code3);
1542 code |= XFASTINT (code4); 1529 code |= XFASTINT (code3);
1530 }
1531
1532 if (dimension > 3)
1533 {
1534 code <<= 8;
1535 if (NILP (code4))
1536 code |= charsetp->code_space[0];
1537 else
1538 {
1539 CHECK_NATNUM (code4);
1540 if (XFASTINT (code4) >= 0x100)
1541 args_out_of_range (make_number (0xFF), code4);
1542 code |= XFASTINT (code4);
1543 }
1543 } 1544 }
1544 } 1545 }
1545 } 1546 }