Mercurial > emacs
diff src/ccl.c @ 27566:d96c50f3e37e
(ccl_driver) <CCL_WriteExprRegister>: Set jump_address
instead of incrementing ic directly.
<CCL_WriteExprConst> Likewise.
<ccl_set_expr>: Set ic to jump_address.
| author | Kenichi Handa <handa@m17n.org> |
|---|---|
| date | Wed, 02 Feb 2000 07:05:00 +0000 |
| parents | c86c075880e5 |
| children | b875236c7043 |
line wrap: on
line diff
--- a/src/ccl.c Wed Feb 02 06:58:58 2000 +0000 +++ b/src/ccl.c Wed Feb 02 07:05:00 2000 +0000 @@ -909,7 +909,7 @@ i = reg[RRR]; j = XINT (ccl_prog[ic]); op = field1 >> 6; - ic++; + jump_address = ic + 1; goto ccl_set_expr; case CCL_WriteRegister: /* CCCCCCCCCCCCCCCCCCCrrrXXXXX */ @@ -929,6 +929,7 @@ i = reg[RRR]; j = reg[Rrr]; op = field1 >> 6; + jump_address = ic; goto ccl_set_expr; case CCL_Call: /* 1:CCCCCCCCCCCCCCCCCCCCFFFXXXXX */ @@ -1105,6 +1106,7 @@ { i = reg[rrr]; CCL_WRITE_CHAR (i); + ic = jump_address; } else if (!reg[rrr]) ic = jump_address;
