Mercurial > emacs
comparison src/coding.h @ 19611:79c3bdba351b
(coding_type): New member coding_type_raw_text.
(CODING_EOL_INCONSISTENT): New macro.
(CODING_REQUIRE_NO_CONVERSION): Check also coding_type_raw_text.
(CODING_MAY_REQUIRE_NO_CONVERSION): Likewise.
(CODING_CATEGORY_IDX_RAW_TEXT): New macro.
(CODING_CATEGORY_MASK_RAW_TEXT): New macro.
| author | Kenichi Handa <handa@m17n.org> |
|---|---|
| date | Thu, 28 Aug 1997 10:51:12 +0000 |
| parents | 7182edce9028 |
| children | 08b92fab92af |
comparison
equal
deleted
inserted
replaced
| 19610:3bbf4dd908a5 | 19611:79c3bdba351b |
|---|---|
| 232 coding system. */ | 232 coding system. */ |
| 233 coding_type_sjis, /* SJIS coding system for Japanese. */ | 233 coding_type_sjis, /* SJIS coding system for Japanese. */ |
| 234 coding_type_iso2022, /* Any coding system of ISO2022 | 234 coding_type_iso2022, /* Any coding system of ISO2022 |
| 235 variants. */ | 235 variants. */ |
| 236 coding_type_big5, /* BIG5 coding system for Chinese. */ | 236 coding_type_big5, /* BIG5 coding system for Chinese. */ |
| 237 coding_type_ccl /* The coding system of which decoder | 237 coding_type_ccl, /* The coding system of which decoder |
| 238 and encoder are written in CCL. */ | 238 and encoder are written in CCL. */ |
| 239 coding_type_raw_text /* A coding system for a text | |
| 240 containing ramdom 8-bit code which | |
| 241 does not require code conversion | |
| 242 except for end-of-line format. */ | |
| 239 }; | 243 }; |
| 240 | 244 |
| 241 /* Formats of end-of-line. */ | 245 /* Formats of end-of-line. */ |
| 242 #define CODING_EOL_LF 0 /* Line-feed only, same as Emacs' | 246 #define CODING_EOL_LF 0 /* Line-feed only, same as Emacs' |
| 243 internal format. */ | 247 internal format. */ |
| 244 #define CODING_EOL_CRLF 1 /* Sequence of carriage-return and | 248 #define CODING_EOL_CRLF 1 /* Sequence of carriage-return and |
| 245 line-feed. */ | 249 line-feed. */ |
| 246 #define CODING_EOL_CR 2 /* Carriage-return only. */ | 250 #define CODING_EOL_CR 2 /* Carriage-return only. */ |
| 247 #define CODING_EOL_UNDECIDED 3 /* This value is used to denote the | 251 #define CODING_EOL_UNDECIDED 3 /* This value is used to denote the |
| 248 eol-type is not yet decided. */ | 252 eol-type is not yet decided. */ |
| 253 #define CODING_EOL_INCONSISTENT 4 /* This value is used to denote the | |
| 254 eol-type is not consistent | |
| 255 through the file. */ | |
| 249 | 256 |
| 250 /* Character composition status while encoding/decoding. */ | 257 /* Character composition status while encoding/decoding. */ |
| 251 #define COMPOSING_NO 0 /* not composing */ | 258 #define COMPOSING_NO 0 /* not composing */ |
| 252 #define COMPOSING_WITH_RULE_HEAD 1 /* 1st char of with-rule composing follow */ | 259 #define COMPOSING_WITH_RULE_HEAD 1 /* 1st char of with-rule composing follow */ |
| 253 #define COMPOSING_NO_RULE_HEAD 2 /* 1st char of no-rule composing follow */ | 260 #define COMPOSING_NO_RULE_HEAD 2 /* 1st char of no-rule composing follow */ |
| 328 int carryover_size; | 335 int carryover_size; |
| 329 }; | 336 }; |
| 330 | 337 |
| 331 /* Return 1 if coding system CODING never requires any code conversion. */ | 338 /* Return 1 if coding system CODING never requires any code conversion. */ |
| 332 #define CODING_REQUIRE_NO_CONVERSION(coding) \ | 339 #define CODING_REQUIRE_NO_CONVERSION(coding) \ |
| 333 (((coding)->type == coding_type_no_conversion \ | 340 ((coding)->type == coding_type_no_conversion \ |
| 334 || (coding)->type == coding_type_emacs_mule) \ | 341 || (((coding)->type == coding_type_emacs_mule \ |
| 335 && (coding)->eol_type == CODING_EOL_LF) | 342 || (coding)->type == coding_type_raw_text) \ |
| 343 && (coding)->eol_type == CODING_EOL_LF)) | |
| 336 | 344 |
| 337 /* Return 1 if coding system CODING may not require code conversion. */ | 345 /* Return 1 if coding system CODING may not require code conversion. */ |
| 338 #define CODING_MAY_REQUIRE_NO_CONVERSION(coding) \ | 346 #define CODING_MAY_REQUIRE_NO_CONVERSION(coding) \ |
| 339 (((coding)->type == coding_type_no_conversion \ | 347 ((coding)->type == coding_type_no_conversion \ |
| 340 || (coding)->type == coding_type_emacs_mule \ | 348 || (((coding)->type == coding_type_emacs_mule \ |
| 341 || (coding)->type == coding_type_undecided) \ | 349 || (coding)->type == coding_type_undecided \ |
| 342 && ((coding)->eol_type == CODING_EOL_LF \ | 350 || (coding)->type == coding_type_raw_text) \ |
| 343 || (coding)->eol_type == CODING_EOL_UNDECIDED)) | 351 && ((coding)->eol_type == CODING_EOL_LF \ |
| 352 || (coding)->eol_type == CODING_EOL_UNDECIDED))) | |
| 344 | 353 |
| 345 /* Index for each coding category in `coding_category_table' */ | 354 /* Index for each coding category in `coding_category_table' */ |
| 346 #define CODING_CATEGORY_IDX_EMACS_MULE 0 | 355 #define CODING_CATEGORY_IDX_EMACS_MULE 0 |
| 347 #define CODING_CATEGORY_IDX_SJIS 1 | 356 #define CODING_CATEGORY_IDX_SJIS 1 |
| 348 #define CODING_CATEGORY_IDX_ISO_7 2 | 357 #define CODING_CATEGORY_IDX_ISO_7 2 |
| 349 #define CODING_CATEGORY_IDX_ISO_8_1 3 | 358 #define CODING_CATEGORY_IDX_ISO_8_1 3 |
| 350 #define CODING_CATEGORY_IDX_ISO_8_2 4 | 359 #define CODING_CATEGORY_IDX_ISO_8_2 4 |
| 351 #define CODING_CATEGORY_IDX_ISO_7_ELSE 5 | 360 #define CODING_CATEGORY_IDX_ISO_7_ELSE 5 |
| 352 #define CODING_CATEGORY_IDX_ISO_8_ELSE 6 | 361 #define CODING_CATEGORY_IDX_ISO_8_ELSE 6 |
| 353 #define CODING_CATEGORY_IDX_BIG5 7 | 362 #define CODING_CATEGORY_IDX_BIG5 7 |
| 354 #define CODING_CATEGORY_IDX_BINARY 8 | 363 #define CODING_CATEGORY_IDX_RAW_TEXT 8 |
| 355 #define CODING_CATEGORY_IDX_MAX 9 | 364 #define CODING_CATEGORY_IDX_BINARY 9 |
| 365 #define CODING_CATEGORY_IDX_MAX 10 | |
| 356 | 366 |
| 357 /* Definitions of flag bits returned by the function | 367 /* Definitions of flag bits returned by the function |
| 358 detect_coding_mask (). */ | 368 detect_coding_mask (). */ |
| 359 #define CODING_CATEGORY_MASK_EMACS_MULE (1 << CODING_CATEGORY_IDX_EMACS_MULE) | 369 #define CODING_CATEGORY_MASK_EMACS_MULE (1 << CODING_CATEGORY_IDX_EMACS_MULE) |
| 360 #define CODING_CATEGORY_MASK_SJIS (1 << CODING_CATEGORY_IDX_SJIS) | 370 #define CODING_CATEGORY_MASK_SJIS (1 << CODING_CATEGORY_IDX_SJIS) |
| 361 #define CODING_CATEGORY_MASK_ISO_7 (1 << CODING_CATEGORY_IDX_ISO_7) | 371 #define CODING_CATEGORY_MASK_ISO_7 (1 << CODING_CATEGORY_IDX_ISO_7) |
| 362 #define CODING_CATEGORY_MASK_ISO_8_1 (1 << CODING_CATEGORY_IDX_ISO_8_1) | 372 #define CODING_CATEGORY_MASK_ISO_8_1 (1 << CODING_CATEGORY_IDX_ISO_8_1) |
| 363 #define CODING_CATEGORY_MASK_ISO_8_2 (1 << CODING_CATEGORY_IDX_ISO_8_2) | 373 #define CODING_CATEGORY_MASK_ISO_8_2 (1 << CODING_CATEGORY_IDX_ISO_8_2) |
| 364 #define CODING_CATEGORY_MASK_ISO_7_ELSE (1 << CODING_CATEGORY_IDX_ISO_7_ELSE) | 374 #define CODING_CATEGORY_MASK_ISO_7_ELSE (1 << CODING_CATEGORY_IDX_ISO_7_ELSE) |
| 365 #define CODING_CATEGORY_MASK_ISO_8_ELSE (1 << CODING_CATEGORY_IDX_ISO_8_ELSE) | 375 #define CODING_CATEGORY_MASK_ISO_8_ELSE (1 << CODING_CATEGORY_IDX_ISO_8_ELSE) |
| 376 #define CODING_CATEGORY_MASK_RAW_TEXT (1 << CODING_CATEGORY_IDX_RAW_TEXT) | |
| 366 #define CODING_CATEGORY_MASK_BIG5 (1 << CODING_CATEGORY_IDX_BIG5) | 377 #define CODING_CATEGORY_MASK_BIG5 (1 << CODING_CATEGORY_IDX_BIG5) |
| 367 #define CODING_CATEGORY_MASK_BINARY (1 << CODING_CATEGORY_IDX_BINARY) | 378 #define CODING_CATEGORY_MASK_BINARY (1 << CODING_CATEGORY_IDX_BINARY) |
| 368 | 379 |
| 369 /* This value is returned if detect_coding_mask () find nothing other | 380 /* This value is returned if detect_coding_mask () find nothing other |
| 370 than ASCII characters. */ | 381 than ASCII characters. */ |
