mirror of
git://git.sv.gnu.org/emacs.git
synced 2026-04-24 06:50:26 -07:00
(struct ccl_program): Members eol_type and multibyte
deleted. New members src_multibyte, dst_multibyte, consumed, and produced. (struct ccl_spec): Members decoder and encoder deleted. New memeber ccl. (CODING_SPEC_CCL_PROGRAM): New macro. (ccl_driver): Prototype updated. (Qccl, Qcclp, Fccl_program_p): Extern them. (CHECK_CCL_PROGRAM): New macro.
This commit is contained in:
parent
c10842eac7
commit
d2bc5a70e9
1 changed files with 21 additions and 11 deletions
32
src/ccl.h
32
src/ccl.h
|
|
@ -1,6 +1,9 @@
|
|||
/* Header for CCL (Code Conversion Language) interpreter.
|
||||
Copyright (C) 1995 Electrotechnical Laboratory, JAPAN.
|
||||
Licensed to the Free Software Foundation.
|
||||
Copyright (C) 2001, 2002
|
||||
National Institute of Advanced Industrial Science and Technology (AIST)
|
||||
Registration Number H13PRO009
|
||||
|
||||
This file is part of GNU Emacs.
|
||||
|
||||
|
|
@ -53,16 +56,14 @@ struct ccl_program {
|
|||
many times bigger the output buffer
|
||||
should be than the input buffer. */
|
||||
int stack_idx; /* How deep the call of CCL_Call is nested. */
|
||||
int eol_type; /* When the CCL program is used for
|
||||
encoding by a coding system, set to
|
||||
the eol_type of the coding system.
|
||||
In other cases, always
|
||||
CODING_EOL_LF. */
|
||||
int multibyte; /* 1 if the source text is multibyte. */
|
||||
int src_multibyte; /* 1 if the input buffer is multibyte. */
|
||||
int dst_multibyte; /* 1 if the output buffer is multibyte. */
|
||||
int cr_consumed; /* Flag for encoding DOS-like EOL
|
||||
format when the CCL program is used
|
||||
for encoding by a coding
|
||||
system. */
|
||||
int consumed;
|
||||
int produced;
|
||||
int suppress_error; /* If nonzero, don't insert error
|
||||
message in the output. */
|
||||
int eight_bit_control; /* Set to nonzero if CCL_WRITE_CHAR
|
||||
|
|
@ -73,13 +74,13 @@ struct ccl_program {
|
|||
coding_system. */
|
||||
|
||||
struct ccl_spec {
|
||||
struct ccl_program decoder;
|
||||
struct ccl_program encoder;
|
||||
unsigned char valid_codes[256];
|
||||
struct ccl_program ccl;
|
||||
int cr_carryover; /* CR carryover flag. */
|
||||
unsigned char eight_bit_carryover[MAX_MULTIBYTE_LENGTH];
|
||||
};
|
||||
|
||||
#define CODING_SPEC_CCL_PROGRAM(coding) ((coding)->spec.ccl.ccl)
|
||||
|
||||
/* Alist of fontname patterns vs corresponding CCL program. */
|
||||
extern Lisp_Object Vfont_ccl_encoder_alist;
|
||||
|
||||
|
|
@ -87,8 +88,7 @@ extern Lisp_Object Vfont_ccl_encoder_alist;
|
|||
execution of ccl program CCL_PROG (symbol or vector). */
|
||||
extern int setup_ccl_program P_ ((struct ccl_program *, Lisp_Object));
|
||||
|
||||
extern int ccl_driver P_ ((struct ccl_program *, unsigned char *,
|
||||
unsigned char *, int, int, int *));
|
||||
extern void ccl_driver P_ ((struct ccl_program *, int *, int *, int, int));
|
||||
|
||||
/* Vector of CCL program names vs corresponding program data. */
|
||||
extern Lisp_Object Vccl_program_table;
|
||||
|
|
@ -97,4 +97,14 @@ extern Lisp_Object Vccl_program_table;
|
|||
is an index for Vccl_protram_table. */
|
||||
extern Lisp_Object Qccl_program_idx;
|
||||
|
||||
extern Lisp_Object Qccl, Qcclp;
|
||||
|
||||
EXFUN (Fccl_program_p, 1);
|
||||
|
||||
#define CHECK_CCL_PROGRAM(x) \
|
||||
do { \
|
||||
if (NILP (Fccl_program_p (x))) \
|
||||
x = wrong_type_argument (Qcclp, (x)); \
|
||||
} while (0);
|
||||
|
||||
#endif /* EMACS_CCL_H */
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue