diff options
| author | Kenichi Handa | 2002-05-22 03:50:34 +0000 |
|---|---|---|
| committer | Kenichi Handa | 2002-05-22 03:50:34 +0000 |
| commit | b0a1e45efcc73a1c53b55b6b464b7de005d45dc8 (patch) | |
| tree | ca11bf726b264d323c111ebbceceac59c69d7cba /src | |
| parent | 6584daf11f0c8192e77086200509a2a9455828b2 (diff) | |
| download | emacs-b0a1e45efcc73a1c53b55b6b464b7de005d45dc8.tar.gz emacs-b0a1e45efcc73a1c53b55b6b464b7de005d45dc8.zip | |
(Fmake_char): Fix previous change.
Diffstat (limited to 'src')
| -rw-r--r-- | src/ChangeLog | 4 | ||||
| -rw-r--r-- | src/charset.c | 55 |
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 @@ | |||
| 1 | 2002-05-22 Kenichi Handa <handa@etl.go.jp> | ||
| 2 | |||
| 3 | * charset.c (Fmake_char): Fix previous change. | ||
| 4 | |||
| 1 | 2002-05-21 Kenichi Handa <handa@etl.go.jp> | 5 | 2002-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 | } |