comparison src/mule-ccl.c @ 424:11054d720c21 r21-2-20

Import from CVS: tag r21-2-20
author cvs
date Mon, 13 Aug 2007 11:26:11 +0200
parents 95016f13131a
children
comparison
equal deleted inserted replaced
423:28d9c139be4c 424:11054d720c21
758 CONST unsigned char *src = source, *src_end = src + src_bytes; 758 CONST unsigned char *src = source, *src_end = src + src_bytes;
759 int jump_address = 0; /* shut up the compiler */ 759 int jump_address = 0; /* shut up the compiler */
760 int i, j, op; 760 int i, j, op;
761 int stack_idx = ccl->stack_idx; 761 int stack_idx = ccl->stack_idx;
762 /* Instruction counter of the current CCL code. */ 762 /* Instruction counter of the current CCL code. */
763 int this_ic; 763 int this_ic = 0;
764 764
765 if (ic >= ccl->eof_ic) 765 if (ic >= ccl->eof_ic)
766 ic = CCL_HEADER_MAIN; 766 ic = CCL_HEADER_MAIN;
767 767
768 #if 0 /* not for XEmacs ? */ 768 #if 0 /* not for XEmacs ? */
1665 1665
1666 /* Resolve symbols in the specified CCL code (Lisp vector). This 1666 /* Resolve symbols in the specified CCL code (Lisp vector). This
1667 function converts symbols of code conversion maps and character 1667 function converts symbols of code conversion maps and character
1668 translation tables embeded in the CCL code into their ID numbers. */ 1668 translation tables embeded in the CCL code into their ID numbers. */
1669 1669
1670 Lisp_Object 1670 static Lisp_Object
1671 resolve_symbol_ccl_program (Lisp_Object ccl) 1671 resolve_symbol_ccl_program (Lisp_Object ccl)
1672 { 1672 {
1673 int i, veclen; 1673 int i, veclen;
1674 Lisp_Object result, contents /*, prop */; 1674 Lisp_Object result, contents /*, prop */;
1675 1675
1732 { 1732 {
1733 struct ccl_program ccl; 1733 struct ccl_program ccl;
1734 int i; 1734 int i;
1735 Lisp_Object ccl_id; 1735 Lisp_Object ccl_id;
1736 1736
1737 if ((SYMBOLP (ccl_prog)) && 1737 if (SYMBOLP (ccl_prog) &&
1738 (!NILP (ccl_id = Fget (ccl_prog, Qccl_program_idx, Qnil)))) 1738 !NILP (ccl_id = Fget (ccl_prog, Qccl_program_idx, Qnil)))
1739 { 1739 {
1740 ccl_prog = XVECTOR_DATA (Vccl_program_table)[XUINT (ccl_id)]; 1740 ccl_prog = XVECTOR_DATA (Vccl_program_table)[XUINT (ccl_id)];
1741 CHECK_LIST (ccl_prog); 1741 CHECK_LIST (ccl_prog);
1742 ccl_prog = XCDR (ccl_prog); 1742 ccl_prog = XCDR (ccl_prog);
1743 CHECK_VECTOR (ccl_prog); 1743 CHECK_VECTOR (ccl_prog);
1799 int i, produced; 1799 int i, produced;
1800 unsigned_char_dynarr *outbuf; 1800 unsigned_char_dynarr *outbuf;
1801 struct gcpro gcpro1, gcpro2, gcpro3; 1801 struct gcpro gcpro1, gcpro2, gcpro3;
1802 Lisp_Object ccl_id; 1802 Lisp_Object ccl_id;
1803 1803
1804 if ((SYMBOLP (ccl_prog)) && 1804 if (SYMBOLP (ccl_prog) &&
1805 (!NILP (ccl_id = Fget (ccl_prog, Qccl_program_idx, Qnil)))) 1805 !NILP (ccl_id = Fget (ccl_prog, Qccl_program_idx, Qnil)))
1806 { 1806 {
1807 ccl_prog = XVECTOR (Vccl_program_table)->contents[XUINT (ccl_id)]; 1807 ccl_prog = XVECTOR (Vccl_program_table)->contents[XUINT (ccl_id)];
1808 CHECK_LIST (ccl_prog); 1808 CHECK_LIST (ccl_prog);
1809 ccl_prog = XCDR (ccl_prog); 1809 ccl_prog = XCDR (ccl_prog);
1810 CHECK_VECTOR (ccl_prog); 1810 CHECK_VECTOR (ccl_prog);