X-Git-Url: http://git.chise.org/gitweb/?a=blobdiff_plain;f=src%2Ffile-coding.h;h=4b9c8769aa8a9e828a1e64c1689f348befb77a86;hb=7b4b1b26bb371112bf3e18732864bc08584127b6;hp=b5c3cda53d98e18af80ae2b63f6a34fb47a020ac;hpb=6c6750593508a38ac810571c2c01d189aa4b6c9a;p=chise%2Fxemacs-chise.git- diff --git a/src/file-coding.h b/src/file-coding.h index b5c3cda..4b9c876 100644 --- a/src/file-coding.h +++ b/src/file-coding.h @@ -24,14 +24,14 @@ Boston, MA 02111-1307, USA. */ /* 91.10.09 written by K.Handa */ /* Rewritten by Ben Wing . */ -#ifndef _XEMACS_MULE_CODING_H_ -#define _XEMACS_MULE_CODING_H_ +#ifndef INCLUDED_file_coding_h_ +#define INCLUDED_file_coding_h_ struct decoding_stream; struct encoding_stream; /* Coding system types. These go into the TYPE field of a - struct Lisp_Coding_System. */ + Lisp_Coding_System. */ enum coding_system_type { @@ -84,7 +84,8 @@ struct Lisp_Coding_System struct lcrecord_header header; /* Name and doc string of this coding system. */ - Lisp_Object name, doc_string; + Lisp_Object name; + Lisp_Object doc_string; /* This is the major type of the coding system -- one of Big5, ISO2022, Shift-JIS, etc. See the constants above. */ @@ -94,14 +95,17 @@ struct Lisp_Coding_System system is active for a particular buffer. */ Lisp_Object mnemonic; - Lisp_Object post_read_conversion, pre_write_conversion; + Lisp_Object post_read_conversion; + Lisp_Object pre_write_conversion; - enum eol_type eol_type; + eol_type_t eol_type; /* Subsidiary coding systems that specify a particular type of EOL marking, rather than autodetecting it. These will only be non-nil if (eol_type == EOL_AUTODETECT). */ - Lisp_Object eol_lf, eol_crlf, eol_cr; + Lisp_Object eol_lf; + Lisp_Object eol_crlf; + Lisp_Object eol_cr; #ifdef MULE struct { @@ -128,23 +132,22 @@ struct Lisp_Coding_System } iso2022; struct { - unsigned char size; - } fixed; - struct - { /* For a CCL coding system, these specify the CCL programs used for decoding (input) and encoding (output). */ - Lisp_Object decode, encode; + Lisp_Object decode; + Lisp_Object encode; } ccl; #endif +#ifdef UTF2000 + char disable_composition; +#endif }; typedef struct Lisp_Coding_System Lisp_Coding_System; -DECLARE_LRECORD (coding_system, struct Lisp_Coding_System); -#define XCODING_SYSTEM(x) XRECORD (x, coding_system, struct Lisp_Coding_System) +DECLARE_LRECORD (coding_system, Lisp_Coding_System); +#define XCODING_SYSTEM(x) XRECORD (x, coding_system, Lisp_Coding_System) #define XSETCODING_SYSTEM(x, p) XSETRECORD (x, p, coding_system) #define CODING_SYSTEMP(x) RECORDP (x, coding_system) -#define GC_CODING_SYSTEMP(x) GC_RECORDP (x, coding_system) #define CHECK_CODING_SYSTEM(x) CHECK_RECORD (x, coding_system) #define CONCHECK_CODING_SYSTEM(x) CONCHECK_RECORD (x, coding_system) @@ -181,6 +184,10 @@ DECLARE_LRECORD (coding_system, struct Lisp_Coding_System); #define CODING_SYSTEM_CCL_DECODE(codesys) ((codesys)->ccl.decode) #define CODING_SYSTEM_CCL_ENCODE(codesys) ((codesys)->ccl.encode) #endif /* MULE */ +#ifdef UTF2000 +#define CODING_SYSTEM_DISABLE_COMPOSITION(codesys) \ + ((codesys)->disable_composition) +#endif #define XCODING_SYSTEM_NAME(codesys) \ CODING_SYSTEM_NAME (XCODING_SYSTEM (codesys)) @@ -227,6 +234,10 @@ DECLARE_LRECORD (coding_system, struct Lisp_Coding_System); #define XCODING_SYSTEM_CCL_ENCODE(codesys) \ CODING_SYSTEM_CCL_ENCODE (XCODING_SYSTEM (codesys)) #endif /* MULE */ +#ifdef UTF2000 +#define XCODING_SYSTEM_DISABLE_COMPOSITION(codesys) \ + CODING_SYSTEM_DISABLE_COMPOSITION (XCODING_SYSTEM (codesys)) +#endif EXFUN (Fcoding_category_list, 0); EXFUN (Fcoding_category_system, 1); @@ -254,9 +265,9 @@ EXFUN (Fset_coding_priority_list, 1); EXFUN (Fsubsidiary_coding_system, 2); extern Lisp_Object Qucs4, Qutf8; -extern Lisp_Object Qbig5, Qbuffer_file_coding_system, Qccl, Qcharset_g0; +extern Lisp_Object Qbig5, Qccl, Qcharset_g0; extern Lisp_Object Qcharset_g1, Qcharset_g2, Qcharset_g3, Qcoding_system_error; -extern Lisp_Object Qcoding_system_p, Qcr, Qcrlf, Qctext, Qdecode, Qencode; +extern Lisp_Object Qcoding_systemp, Qcr, Qcrlf, Qdecode, Qencode; extern Lisp_Object Qeol_cr, Qeol_crlf, Qeol_lf, Qeol_type, Qescape_quoted; extern Lisp_Object Qforce_g0_on_output, Qforce_g1_on_output; extern Lisp_Object Qforce_g2_on_output, Qforce_g3_on_output; @@ -505,7 +516,7 @@ void set_decoding_stream_coding_system (Lstream *stream, void set_encoding_stream_coding_system (Lstream *stream, Lisp_Object codesys); void determine_real_coding_system (Lstream *stream, Lisp_Object *codesys_in_out, - enum eol_type *eol_type_in_out); + eol_type_t *eol_type_in_out); #ifndef MULE @@ -520,5 +531,6 @@ void determine_real_coding_system (Lstream *stream, Lisp_Object *codesys_in_out, #define BUFBYTE_FIRST_BYTE_P(c) ((c) < 0xA0) #define BUFBYTE_LEADING_BYTE_P(c) BYTE_C1_P (c) #endif /* not MULE */ -#endif /* _XEMACS_MULE_CODING_H_ */ + +#endif /* INCLUDED_file_coding_h_ */