Mercurial > hg > xemacs-beta
comparison src/mule-ccl.c @ 4134:ac5a714be3a2
[xemacs-hg @ 2007-08-21 20:32:33 by aidan]
Don't use args to XINT_OR_CHAR where multiple evaluation is possible; revise
X_I_O_C to not multiply evaluate.
author | aidan |
---|---|
date | Tue, 21 Aug 2007 20:32:37 +0000 |
parents | 6f05405e63fc |
children | 76737c305982 |
comparison
equal
deleted
inserted
replaced
4133:5b55fa103aa1 | 4134:ac5a714be3a2 |
---|---|
1576 case CCL_IterateMultipleMap: | 1576 case CCL_IterateMultipleMap: |
1577 { | 1577 { |
1578 Lisp_Object map, content, attrib, value; | 1578 Lisp_Object map, content, attrib, value; |
1579 int point, size, fin_ic; | 1579 int point, size, fin_ic; |
1580 | 1580 |
1581 j = XCHAR_OR_INT (ccl_prog[ic++]); /* number of maps. */ | 1581 j = XCHAR_OR_INT (ccl_prog[ic]); ic++; /* number of maps. */ |
1582 fin_ic = ic + j; | 1582 fin_ic = ic + j; |
1583 op = reg[rrr]; | 1583 op = reg[rrr]; |
1584 if ((j > reg[RRR]) && (j >= 0)) | 1584 if ((j > reg[RRR]) && (j >= 0)) |
1585 { | 1585 { |
1586 ic += reg[RRR]; | 1586 ic += reg[RRR]; |
1691 else | 1691 else |
1692 mapping_stack_pointer = mapping_stack; | 1692 mapping_stack_pointer = mapping_stack; |
1693 stack_idx_of_map_multiple = 0; | 1693 stack_idx_of_map_multiple = 0; |
1694 | 1694 |
1695 map_set_rest_length = | 1695 map_set_rest_length = |
1696 XCHAR_OR_INT (ccl_prog[ic++]); /* number of maps and separators. */ | 1696 XCHAR_OR_INT (ccl_prog[ic]); ic++; /* number of maps and separators. */ |
1697 fin_ic = ic + map_set_rest_length; | 1697 fin_ic = ic + map_set_rest_length; |
1698 op = reg[rrr]; | 1698 op = reg[rrr]; |
1699 | 1699 |
1700 if ((map_set_rest_length > reg[RRR]) && (reg[RRR] >= 0)) | 1700 if ((map_set_rest_length > reg[RRR]) && (reg[RRR] >= 0)) |
1701 { | 1701 { |
1878 | 1878 |
1879 case CCL_MapSingle: | 1879 case CCL_MapSingle: |
1880 { | 1880 { |
1881 Lisp_Object map, attrib, value, content; | 1881 Lisp_Object map, attrib, value, content; |
1882 int size, point; | 1882 int size, point; |
1883 j = XCHAR_OR_INT (ccl_prog[ic++]); /* map_id */ | 1883 j = XCHAR_OR_INT (ccl_prog[ic]); ic++;/* map_id */ |
1884 op = reg[rrr]; | 1884 op = reg[rrr]; |
1885 if (j >= XVECTOR (Vcode_conversion_map_vector)->size) | 1885 if (j >= XVECTOR (Vcode_conversion_map_vector)->size) |
1886 { | 1886 { |
1887 reg[RRR] = -1; | 1887 reg[RRR] = -1; |
1888 break; | 1888 break; |