diff options
| author | Kenichi Handa | 1998-01-22 01:26:45 +0000 |
|---|---|---|
| committer | Kenichi Handa | 1998-01-22 01:26:45 +0000 |
| commit | 658cc2522eef712ab87432953aa385a62de1de63 (patch) | |
| tree | 2f1440c38d600ea1b517ba85cb836a320abde016 /src/coding.h | |
| parent | ca2f68f8d937e36d9aea9e1acc7d091a6a0140de (diff) | |
| download | emacs-658cc2522eef712ab87432953aa385a62de1de63.tar.gz emacs-658cc2522eef712ab87432953aa385a62de1de63.zip | |
(CODING_FLAG_ISO_DESIGNATION): New macro.
(struct iso2022_spec): New member.
last_invalid_designation_register.
(struct coding_system): New member inhibit_inconsistent_eol_type.
(CODING_CATEGORY_IDX_ISO_7_TIGHT,
CODING_CATEGORY_MASK_ISO_7_TIGHT): New macros.
(CODING_CATEGORY_MASK_ANY): Include
CODING_CATEGORY_MASK_ISO_7_TIGHT.
(coding_category_table, coding_category_name): Extern deleted.
(Vselect_safe_coding_system_function): Extern it.
(CODING_FINISH_XXX): New macros.
(CODING_MODE_XXX): New macros.
(struct coding_system): New member mode, category_idx,
heading_ascii. Deleted members last_block, direction, selective,
carryover, carryover_size.
(CODING_MAY_REQUIRE_DECODING): New macro.
(CODING_CATEGORY_MASK_ISO_7BIT, CODING_CATEGORY_MASK_ISO_8BIT,
CODING_CATEGORY_MASK_ISO_SHIFT, CODING_CATEGORY_MASK_ISO): New
macros.
(Qraw_text): Extern it.
Diffstat (limited to 'src/coding.h')
| -rw-r--r-- | src/coding.h | 151 |
1 files changed, 101 insertions, 50 deletions
diff --git a/src/coding.h b/src/coding.h index 9a7707bf07f..4669c459187 100644 --- a/src/coding.h +++ b/src/coding.h | |||
| @@ -142,6 +142,9 @@ enum iso_code_class_type | |||
| 142 | on input. */ | 142 | on input. */ |
| 143 | #define CODING_FLAG_ISO_LATIN_EXTRA 0x1000 | 143 | #define CODING_FLAG_ISO_LATIN_EXTRA 0x1000 |
| 144 | 144 | ||
| 145 | /* If set, use designation escape sequence. */ | ||
| 146 | #define CODING_FLAG_ISO_DESIGNATION 0x10000 | ||
| 147 | |||
| 145 | /* A character to be produced on output if encoding of the original | 148 | /* A character to be produced on output if encoding of the original |
| 146 | character is prohibited by CODING_FLAG_ISO_SAFE. */ | 149 | character is prohibited by CODING_FLAG_ISO_SAFE. */ |
| 147 | #define CODING_INHIBIT_CHARACTER_SUBSTITUTION 077 /* 077 == `?' */ | 150 | #define CODING_INHIBIT_CHARACTER_SUBSTITUTION 077 /* 077 == `?' */ |
| @@ -158,6 +161,10 @@ struct iso2022_spec | |||
| 158 | /* A charset initially designated to each graphic register. */ | 161 | /* A charset initially designated to each graphic register. */ |
| 159 | int initial_designation[4]; | 162 | int initial_designation[4]; |
| 160 | 163 | ||
| 164 | /* If not -1, it is a graphic register specified in an invalid | ||
| 165 | designation sequence. */ | ||
| 166 | int last_invalid_designation_register; | ||
| 167 | |||
| 161 | /* A graphic register to which each charset should be designated. */ | 168 | /* A graphic register to which each charset should be designated. */ |
| 162 | unsigned char requested_designation[MAX_CHARSET + 1]; | 169 | unsigned char requested_designation[MAX_CHARSET + 1]; |
| 163 | 170 | ||
| @@ -176,19 +183,19 @@ struct iso2022_spec | |||
| 176 | 183 | ||
| 177 | /* Macros to access each field in the structure `spec.iso2022'. */ | 184 | /* Macros to access each field in the structure `spec.iso2022'. */ |
| 178 | #define CODING_SPEC_ISO_INVOCATION(coding, plane) \ | 185 | #define CODING_SPEC_ISO_INVOCATION(coding, plane) \ |
| 179 | coding->spec.iso2022.current_invocation[plane] | 186 | (coding)->spec.iso2022.current_invocation[plane] |
| 180 | #define CODING_SPEC_ISO_DESIGNATION(coding, reg) \ | 187 | #define CODING_SPEC_ISO_DESIGNATION(coding, reg) \ |
| 181 | coding->spec.iso2022.current_designation[reg] | 188 | (coding)->spec.iso2022.current_designation[reg] |
| 182 | #define CODING_SPEC_ISO_INITIAL_DESIGNATION(coding, reg) \ | 189 | #define CODING_SPEC_ISO_INITIAL_DESIGNATION(coding, reg) \ |
| 183 | coding->spec.iso2022.initial_designation[reg] | 190 | (coding)->spec.iso2022.initial_designation[reg] |
| 184 | #define CODING_SPEC_ISO_REQUESTED_DESIGNATION(coding, charset) \ | 191 | #define CODING_SPEC_ISO_REQUESTED_DESIGNATION(coding, charset) \ |
| 185 | coding->spec.iso2022.requested_designation[charset] | 192 | (coding)->spec.iso2022.requested_designation[charset] |
| 186 | #define CODING_SPEC_ISO_REVISION_NUMBER(coding, charset) \ | 193 | #define CODING_SPEC_ISO_REVISION_NUMBER(coding, charset) \ |
| 187 | coding->spec.iso2022.charset_revision_number[charset] | 194 | (coding)->spec.iso2022.charset_revision_number[charset] |
| 188 | #define CODING_SPEC_ISO_SINGLE_SHIFTING(coding) \ | 195 | #define CODING_SPEC_ISO_SINGLE_SHIFTING(coding) \ |
| 189 | coding->spec.iso2022.single_shifting | 196 | (coding)->spec.iso2022.single_shifting |
| 190 | #define CODING_SPEC_ISO_BOL(coding) \ | 197 | #define CODING_SPEC_ISO_BOL(coding) \ |
| 191 | coding->spec.iso2022.bol | 198 | (coding)->spec.iso2022.bol |
| 192 | 199 | ||
| 193 | /* A value which may appear in | 200 | /* A value which may appear in |
| 194 | coding->spec.iso2022.requested_designation indicating that the | 201 | coding->spec.iso2022.requested_designation indicating that the |
| @@ -269,45 +276,63 @@ enum coding_type | |||
| 269 | /* 1 iff composing with embeded composition rule. */ | 276 | /* 1 iff composing with embeded composition rule. */ |
| 270 | #define COMPOSING_WITH_RULE_P(composing) ((composing) & 1) | 277 | #define COMPOSING_WITH_RULE_P(composing) ((composing) & 1) |
| 271 | 278 | ||
| 279 | /* Macros used for the member finish_status of the struct | ||
| 280 | coding_system. */ | ||
| 281 | #define CODING_FINISH_NORMAL 0 | ||
| 282 | #define CODING_FINISH_INSUFFICIENT_SRC 1 | ||
| 283 | #define CODING_FINISH_INSUFFICIENT_DST 2 | ||
| 284 | #define CODING_FINISH_INCONSISTENT_EOL 3 | ||
| 285 | |||
| 286 | /* Macros used for the member mode of the struct coding_systme. */ | ||
| 287 | |||
| 288 | /* If set, recover the original CR or LF of the already decoded text | ||
| 289 | when the decoding routine encounters an inconsistent eol format. */ | ||
| 290 | #define CODING_MODE_INHIBIT_INCONSISTENT_EOL 0x01 | ||
| 291 | |||
| 292 | /* If set, the decoding/encoding routines treat the current data as | ||
| 293 | the last block of the whole text to be converted, and do | ||
| 294 | appropriate fisishing job. */ | ||
| 295 | #define CODING_MODE_LAST_BLOCK 0x02 | ||
| 296 | |||
| 297 | /* If set, it means that the current source text is in a buffer which | ||
| 298 | enables selective display. */ | ||
| 299 | #define CODING_MODE_SELECTIVE_DISPLAY 0x04 | ||
| 300 | |||
| 301 | /* This flag is used by the decoding/encoding routines on the fly. If | ||
| 302 | set, it means that right-to-left text is being processed. */ | ||
| 303 | #define CODING_MODE_DIRECTION 0x08 | ||
| 304 | |||
| 272 | struct coding_system | 305 | struct coding_system |
| 273 | { | 306 | { |
| 274 | /* Type of the coding system. */ | 307 | /* Type of the coding system. */ |
| 275 | enum coding_type type; | 308 | enum coding_type type; |
| 276 | 309 | ||
| 310 | /* Type of end-of-line format (LF, CRLF, or CR) of the coding system. */ | ||
| 311 | int eol_type; | ||
| 312 | |||
| 277 | /* Flag bits of the coding system. The meaning of each bit is common | 313 | /* Flag bits of the coding system. The meaning of each bit is common |
| 278 | to any type of coding systems. */ | 314 | to all types of coding systems. */ |
| 279 | unsigned int common_flags; | 315 | unsigned int common_flags; |
| 280 | 316 | ||
| 281 | /* Flag bits of the coding system. The meaning of each bit depends | 317 | /* Flag bits of the coding system. The meaning of each bit depends |
| 282 | on the type of the coding system. */ | 318 | on the type of the coding system. */ |
| 283 | unsigned int flags; | 319 | unsigned int flags; |
| 284 | 320 | ||
| 285 | /* Type of end-of-line format (LF, CRLF, or CR) of the coding system. */ | 321 | /* Mode bits of the coding system. See the comments of the macros |
| 286 | int eol_type; | 322 | CODING_MODE_XXX. */ |
| 323 | unsigned int mode; | ||
| 287 | 324 | ||
| 288 | /* Table of safe character sets for this coding system. If the Nth | 325 | /* Table of safe character sets for this coding system. If the Nth |
| 289 | element is 0, the charset of ID N is not an safe character set. | 326 | element is 0, the charset of ID N is not a safe character set. |
| 290 | Such a character set is not encoded when CODING_ISO_FLAG_SAFE is | 327 | Such a character set is not encoded when CODING_ISO_FLAG_SAFE is |
| 291 | set. */ | 328 | set. */ |
| 292 | unsigned char safe_charsets[MAX_CHARSET + 1]; | 329 | unsigned char safe_charsets[MAX_CHARSET + 1]; |
| 293 | 330 | ||
| 294 | /* Non-zero means that the current source text is the last block of the | ||
| 295 | whole text to be converted. */ | ||
| 296 | int last_block; | ||
| 297 | |||
| 298 | /* Non-zero means that characters are being composed currently while | 331 | /* Non-zero means that characters are being composed currently while |
| 299 | decoding or encoding. See macros COMPOSING_XXXX above for the | 332 | decoding or encoding. See macros COMPOSING_XXXX above for the |
| 300 | meaing of each non-zero value. */ | 333 | meaing of each non-zero value. */ |
| 301 | int composing; | 334 | int composing; |
| 302 | 335 | ||
| 303 | /* 0 (left-to-right) or 1 (right-to-left): the direction of the text | ||
| 304 | being processed currently. */ | ||
| 305 | int direction; | ||
| 306 | |||
| 307 | /* Non-zero means that the current source text is in a buffer which | ||
| 308 | enables selective display. */ | ||
| 309 | int selective; | ||
| 310 | |||
| 311 | /* Detailed information specific to each type of coding system. */ | 336 | /* Detailed information specific to each type of coding system. */ |
| 312 | union spec | 337 | union spec |
| 313 | { | 338 | { |
| @@ -315,29 +340,36 @@ struct coding_system | |||
| 315 | struct ccl_spec ccl; /* Defined in ccl.h. */ | 340 | struct ccl_spec ccl; /* Defined in ccl.h. */ |
| 316 | } spec; | 341 | } spec; |
| 317 | 342 | ||
| 343 | /* Index number of coding category of the coding system. */ | ||
| 344 | int category_idx; | ||
| 345 | |||
| 346 | /* How may heading bytes we can skip for decoding. This member is | ||
| 347 | set by the function detect_coding. The initial value is -1 which | ||
| 348 | means detect_coding has not yet been called. */ | ||
| 349 | int heading_ascii; | ||
| 350 | |||
| 351 | /* The following members are set by encoding/decoding routine. */ | ||
| 352 | int produced, produced_char, consumed, consumed_char; | ||
| 353 | |||
| 354 | /* The following members are all Lisp symbols. We don't have to | ||
| 355 | protect them from GC because the current garbage collection | ||
| 356 | doesn't relocate Lisp symbols. But, when it is changed, we must | ||
| 357 | find a way to protect them. */ | ||
| 358 | |||
| 318 | /* Backward pointer to the Lisp symbol of the coding system. */ | 359 | /* Backward pointer to the Lisp symbol of the coding system. */ |
| 319 | Lisp_Object symbol; | 360 | Lisp_Object symbol; |
| 320 | 361 | ||
| 321 | /* Lisp function (symbol) to be called after decoding to do | 362 | /* Lisp function (symbol) to be called after decoding to do |
| 322 | additional conversion. */ | 363 | additional conversion, or nil. */ |
| 323 | Lisp_Object post_read_conversion; | 364 | Lisp_Object post_read_conversion; |
| 324 | 365 | ||
| 325 | /* Lisp function (symbol) to be called before encoding to do | 366 | /* Lisp function (symbol) to be called before encoding to do |
| 326 | additional conversion. */ | 367 | additional conversion, or nil. */ |
| 327 | Lisp_Object pre_write_conversion; | 368 | Lisp_Object pre_write_conversion; |
| 328 | 369 | ||
| 329 | /* Character unification tables to look up, or nil. */ | 370 | /* Character unification tables to look up, or nil. */ |
| 330 | Lisp_Object character_unification_table_for_decode; | 371 | Lisp_Object character_unification_table_for_decode; |
| 331 | Lisp_Object character_unification_table_for_encode; | 372 | Lisp_Object character_unification_table_for_encode; |
| 332 | |||
| 333 | /* Carryover yielded by decoding/encoding incomplete source. No | ||
| 334 | coding-system yields more than 7-byte of carryover. This does | ||
| 335 | not include a text which is not processed because of short of | ||
| 336 | output buffer. */ | ||
| 337 | char carryover[8]; | ||
| 338 | |||
| 339 | /* Actual data length in the above array. */ | ||
| 340 | int carryover_size; | ||
| 341 | }; | 373 | }; |
| 342 | 374 | ||
| 343 | #define CODING_REQUIRE_FLUSHING_MASK 1 | 375 | #define CODING_REQUIRE_FLUSHING_MASK 1 |
| @@ -365,25 +397,30 @@ struct coding_system | |||
| 365 | #define CODING_REQUIRE_DETECTION(coding) \ | 397 | #define CODING_REQUIRE_DETECTION(coding) \ |
| 366 | ((coding)->common_flags & CODING_REQUIRE_DETECTION_MASK) | 398 | ((coding)->common_flags & CODING_REQUIRE_DETECTION_MASK) |
| 367 | 399 | ||
| 400 | #define CODING_MAY_REQUIRE_DECODING(coding) \ | ||
| 401 | ((coding)->common_flags \ | ||
| 402 | & (CODING_REQUIRE_DETECTION_MASK | CODING_REQUIRE_DECODING_MASK)) | ||
| 368 | 403 | ||
| 369 | /* Index for each coding category in `coding_category_table' */ | 404 | /* Index for each coding category in `coding_category_table' */ |
| 370 | #define CODING_CATEGORY_IDX_EMACS_MULE 0 | 405 | #define CODING_CATEGORY_IDX_EMACS_MULE 0 |
| 371 | #define CODING_CATEGORY_IDX_SJIS 1 | 406 | #define CODING_CATEGORY_IDX_SJIS 1 |
| 372 | #define CODING_CATEGORY_IDX_ISO_7 2 | 407 | #define CODING_CATEGORY_IDX_ISO_7 2 |
| 373 | #define CODING_CATEGORY_IDX_ISO_8_1 3 | 408 | #define CODING_CATEGORY_IDX_ISO_7_TIGHT 3 |
| 374 | #define CODING_CATEGORY_IDX_ISO_8_2 4 | 409 | #define CODING_CATEGORY_IDX_ISO_8_1 4 |
| 375 | #define CODING_CATEGORY_IDX_ISO_7_ELSE 5 | 410 | #define CODING_CATEGORY_IDX_ISO_8_2 5 |
| 376 | #define CODING_CATEGORY_IDX_ISO_8_ELSE 6 | 411 | #define CODING_CATEGORY_IDX_ISO_7_ELSE 6 |
| 377 | #define CODING_CATEGORY_IDX_BIG5 7 | 412 | #define CODING_CATEGORY_IDX_ISO_8_ELSE 7 |
| 378 | #define CODING_CATEGORY_IDX_RAW_TEXT 8 | 413 | #define CODING_CATEGORY_IDX_BIG5 8 |
| 379 | #define CODING_CATEGORY_IDX_BINARY 9 | 414 | #define CODING_CATEGORY_IDX_RAW_TEXT 9 |
| 380 | #define CODING_CATEGORY_IDX_MAX 10 | 415 | #define CODING_CATEGORY_IDX_BINARY 10 |
| 416 | #define CODING_CATEGORY_IDX_MAX 11 | ||
| 381 | 417 | ||
| 382 | /* Definitions of flag bits returned by the function | 418 | /* Definitions of flag bits returned by the function |
| 383 | detect_coding_mask (). */ | 419 | detect_coding_mask (). */ |
| 384 | #define CODING_CATEGORY_MASK_EMACS_MULE (1 << CODING_CATEGORY_IDX_EMACS_MULE) | 420 | #define CODING_CATEGORY_MASK_EMACS_MULE (1 << CODING_CATEGORY_IDX_EMACS_MULE) |
| 385 | #define CODING_CATEGORY_MASK_SJIS (1 << CODING_CATEGORY_IDX_SJIS) | 421 | #define CODING_CATEGORY_MASK_SJIS (1 << CODING_CATEGORY_IDX_SJIS) |
| 386 | #define CODING_CATEGORY_MASK_ISO_7 (1 << CODING_CATEGORY_IDX_ISO_7) | 422 | #define CODING_CATEGORY_MASK_ISO_7 (1 << CODING_CATEGORY_IDX_ISO_7) |
| 423 | #define CODING_CATEGORY_MASK_ISO_7_TIGHT (1 << CODING_CATEGORY_IDX_ISO_7_TIGHT) | ||
| 387 | #define CODING_CATEGORY_MASK_ISO_8_1 (1 << CODING_CATEGORY_IDX_ISO_8_1) | 424 | #define CODING_CATEGORY_MASK_ISO_8_1 (1 << CODING_CATEGORY_IDX_ISO_8_1) |
| 388 | #define CODING_CATEGORY_MASK_ISO_8_2 (1 << CODING_CATEGORY_IDX_ISO_8_2) | 425 | #define CODING_CATEGORY_MASK_ISO_8_2 (1 << CODING_CATEGORY_IDX_ISO_8_2) |
| 389 | #define CODING_CATEGORY_MASK_ISO_7_ELSE (1 << CODING_CATEGORY_IDX_ISO_7_ELSE) | 426 | #define CODING_CATEGORY_MASK_ISO_7_ELSE (1 << CODING_CATEGORY_IDX_ISO_7_ELSE) |
| @@ -398,12 +435,27 @@ struct coding_system | |||
| 398 | ( CODING_CATEGORY_MASK_EMACS_MULE \ | 435 | ( CODING_CATEGORY_MASK_EMACS_MULE \ |
| 399 | | CODING_CATEGORY_MASK_SJIS \ | 436 | | CODING_CATEGORY_MASK_SJIS \ |
| 400 | | CODING_CATEGORY_MASK_ISO_7 \ | 437 | | CODING_CATEGORY_MASK_ISO_7 \ |
| 438 | | CODING_CATEGORY_MASK_ISO_7_TIGHT \ | ||
| 401 | | CODING_CATEGORY_MASK_ISO_8_1 \ | 439 | | CODING_CATEGORY_MASK_ISO_8_1 \ |
| 402 | | CODING_CATEGORY_MASK_ISO_8_2 \ | 440 | | CODING_CATEGORY_MASK_ISO_8_2 \ |
| 403 | | CODING_CATEGORY_MASK_ISO_7_ELSE \ | 441 | | CODING_CATEGORY_MASK_ISO_7_ELSE \ |
| 404 | | CODING_CATEGORY_MASK_ISO_8_ELSE \ | 442 | | CODING_CATEGORY_MASK_ISO_8_ELSE \ |
| 405 | | CODING_CATEGORY_MASK_BIG5) | 443 | | CODING_CATEGORY_MASK_BIG5) |
| 406 | 444 | ||
| 445 | #define CODING_CATEGORY_MASK_ISO_7BIT \ | ||
| 446 | (CODING_CATEGORY_MASK_ISO_7 | CODING_CATEGORY_MASK_ISO_7_TIGHT) | ||
| 447 | |||
| 448 | #define CODING_CATEGORY_MASK_ISO_8BIT \ | ||
| 449 | (CODING_CATEGORY_MASK_ISO_8_1 | CODING_CATEGORY_MASK_ISO_8_2) | ||
| 450 | |||
| 451 | #define CODING_CATEGORY_MASK_ISO_SHIFT \ | ||
| 452 | (CODING_CATEGORY_MASK_ISO_7_ELSE | CODING_CATEGORY_MASK_ISO_8_ELSE) | ||
| 453 | |||
| 454 | #define CODING_CATEGORY_MASK_ISO \ | ||
| 455 | ( CODING_CATEGORY_MASK_ISO_7BIT \ | ||
| 456 | | CODING_CATEGORY_MASK_ISO_SHIFT \ | ||
| 457 | | CODING_CATEGORY_MASK_ISO_8BIT) | ||
| 458 | |||
| 407 | /* Macros to decode or encode a character of JISX0208 in SJIS. S1 and | 459 | /* Macros to decode or encode a character of JISX0208 in SJIS. S1 and |
| 408 | S2 are the 1st and 2nd position-codes of JISX0208 in SJIS coding | 460 | S2 are the 1st and 2nd position-codes of JISX0208 in SJIS coding |
| 409 | system. C1 and C2 are the 1st and 2nd position codes of Emacs' | 461 | system. C1 and C2 are the 1st and 2nd position codes of Emacs' |
| @@ -431,9 +483,9 @@ struct coding_system | |||
| 431 | 483 | ||
| 432 | /* Extern declarations. */ | 484 | /* Extern declarations. */ |
| 433 | extern int decode_coding P_ ((struct coding_system *, unsigned char *, | 485 | extern int decode_coding P_ ((struct coding_system *, unsigned char *, |
| 434 | unsigned char *, int, int, int *)); | 486 | unsigned char *, int, int)); |
| 435 | extern int encode_coding P_ ((struct coding_system *, unsigned char *, | 487 | extern int encode_coding P_ ((struct coding_system *, unsigned char *, |
| 436 | unsigned char *, int, int, int *)); | 488 | unsigned char *, int, int)); |
| 437 | extern int decoding_buffer_size P_ ((struct coding_system *, int)); | 489 | extern int decoding_buffer_size P_ ((struct coding_system *, int)); |
| 438 | extern int encoding_buffer_size P_ ((struct coding_system *, int)); | 490 | extern int encoding_buffer_size P_ ((struct coding_system *, int)); |
| 439 | extern void detect_coding P_ ((struct coding_system *, unsigned char *, int)); | 491 | extern void detect_coding P_ ((struct coding_system *, unsigned char *, int)); |
| @@ -443,7 +495,7 @@ extern char *conversion_buffer; | |||
| 443 | extern char *get_conversion_buffer P_ ((int)); | 495 | extern char *get_conversion_buffer P_ ((int)); |
| 444 | extern int setup_coding_system P_ ((Lisp_Object, struct coding_system *)); | 496 | extern int setup_coding_system P_ ((Lisp_Object, struct coding_system *)); |
| 445 | extern Lisp_Object Qcoding_system, Qeol_type, Qcoding_category_index; | 497 | extern Lisp_Object Qcoding_system, Qeol_type, Qcoding_category_index; |
| 446 | extern Lisp_Object Qemacs_mule; | 498 | extern Lisp_Object Qraw_text; |
| 447 | extern Lisp_Object Qbuffer_file_coding_system; | 499 | extern Lisp_Object Qbuffer_file_coding_system; |
| 448 | extern Lisp_Object Vcoding_category_list; | 500 | extern Lisp_Object Vcoding_category_list; |
| 449 | 501 | ||
| @@ -452,11 +504,6 @@ extern int eol_mnemonic_unix, eol_mnemonic_dos, eol_mnemonic_mac; | |||
| 452 | /* Mnemonic character to indicate type of end-of-line is not yet decided. */ | 504 | /* Mnemonic character to indicate type of end-of-line is not yet decided. */ |
| 453 | extern int eol_mnemonic_undecided; | 505 | extern int eol_mnemonic_undecided; |
| 454 | 506 | ||
| 455 | /* Table of coding-systems currently assigned to each coding-category. */ | ||
| 456 | extern Lisp_Object coding_category_table[CODING_CATEGORY_IDX_MAX]; | ||
| 457 | /* Table of names of symbol for each coding-category. */ | ||
| 458 | extern char *coding_category_name[CODING_CATEGORY_IDX_MAX]; | ||
| 459 | |||
| 460 | #ifdef emacs | 507 | #ifdef emacs |
| 461 | extern Lisp_Object Qfile_coding_system; | 508 | extern Lisp_Object Qfile_coding_system; |
| 462 | extern Lisp_Object Qcall_process, Qcall_process_region, Qprocess_argument; | 509 | extern Lisp_Object Qcall_process, Qcall_process_region, Qprocess_argument; |
| @@ -486,6 +533,10 @@ extern struct coding_system keyboard_coding; | |||
| 486 | /* Default coding systems used for process I/O. */ | 533 | /* Default coding systems used for process I/O. */ |
| 487 | extern Lisp_Object Vdefault_process_coding_system; | 534 | extern Lisp_Object Vdefault_process_coding_system; |
| 488 | 535 | ||
| 536 | /* Function to call to force a user to force select a propert coding | ||
| 537 | system. */ | ||
| 538 | extern Lisp_Object Vselect_safe_coding_system_function; | ||
| 539 | |||
| 489 | #endif | 540 | #endif |
| 490 | 541 | ||
| 491 | #endif /* _CODING_H */ | 542 | #endif /* _CODING_H */ |