Mercurial > emacs
comparison src/coding.h @ 20717:19463997fbc6
(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.
| author | Kenichi Handa <handa@m17n.org> |
|---|---|
| date | Thu, 22 Jan 1998 01:26:45 +0000 |
| parents | 8d520e3dcb86 |
| children | 1331679fe704 |
comparison
equal
deleted
inserted
replaced
| 20716:e915d0141ec7 | 20717:19463997fbc6 |
|---|---|
| 140 | 140 |
| 141 /* If set, extra latin codes (128..159) are accepted as a valid code | 141 /* If set, extra latin codes (128..159) are accepted as a valid code |
| 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 == `?' */ |
| 148 | 151 |
| 149 /* Structure of the field `spec.iso2022' in the structure `coding_system'. */ | 152 /* Structure of the field `spec.iso2022' in the structure `coding_system'. */ |
| 156 int current_designation[4]; | 159 int current_designation[4]; |
| 157 | 160 |
| 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 |
| 164 /* A revision number to be specified for each charset on encoding. | 171 /* A revision number to be specified for each charset on encoding. |
| 165 The value 255 means no revision number for the corresponding | 172 The value 255 means no revision number for the corresponding |
| 174 int bol; | 181 int bol; |
| 175 }; | 182 }; |
| 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 |
| 195 corresponding charset does not request any graphic register to be | 202 corresponding charset does not request any graphic register to be |
| 196 designated. */ | 203 designated. */ |
| 267 #define COMPOSING_HEAD_P(composing) \ | 274 #define COMPOSING_HEAD_P(composing) \ |
| 268 ((composing) && (composing) <= COMPOSING_NO_RULE_HEAD) | 275 ((composing) && (composing) <= COMPOSING_NO_RULE_HEAD) |
| 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 | |
| 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 | 330 |
| 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 | |
| 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 | 335 |
| 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 { |
| 314 struct iso2022_spec iso2022; | 339 struct iso2022_spec iso2022; |
| 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 |
| 344 #define CODING_REQUIRE_DECODING_MASK 2 | 376 #define CODING_REQUIRE_DECODING_MASK 2 |
| 345 #define CODING_REQUIRE_ENCODING_MASK 4 | 377 #define CODING_REQUIRE_ENCODING_MASK 4 |
| 363 /* Return 1 if the coding system CODING requires some kind of code | 395 /* Return 1 if the coding system CODING requires some kind of code |
| 364 detection. */ | 396 detection. */ |
| 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) |
| 390 #define CODING_CATEGORY_MASK_ISO_8_ELSE (1 << CODING_CATEGORY_IDX_ISO_8_ELSE) | 427 #define CODING_CATEGORY_MASK_ISO_8_ELSE (1 << CODING_CATEGORY_IDX_ISO_8_ELSE) |
| 391 #define CODING_CATEGORY_MASK_BIG5 (1 << CODING_CATEGORY_IDX_BIG5) | 428 #define CODING_CATEGORY_MASK_BIG5 (1 << CODING_CATEGORY_IDX_BIG5) |
| 396 than ASCII characters. */ | 433 than ASCII characters. */ |
| 397 #define CODING_CATEGORY_MASK_ANY \ | 434 #define CODING_CATEGORY_MASK_ANY \ |
| 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) |
| 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) | |
| 406 | 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' |
| 410 internal format. */ | 462 internal format. */ |
| 429 s2 = c2 + 0x7E; \ | 481 s2 = c2 + 0x7E; \ |
| 430 } while (0) | 482 } while (0) |
| 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)); |
| 440 extern void detect_eol P_ ((struct coding_system *, unsigned char *, int)); | 492 extern void detect_eol P_ ((struct coding_system *, unsigned char *, int)); |
| 441 extern int conversion_buffer_size; | 493 extern int conversion_buffer_size; |
| 442 extern char *conversion_buffer; | 494 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 |
| 450 /* Mnemonic character to indicate each type of end-of-line. */ | 502 /* Mnemonic character to indicate each type of end-of-line. */ |
| 451 extern int eol_mnemonic_unix, eol_mnemonic_dos, eol_mnemonic_mac; | 503 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 | |
| 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 | 506 |
| 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; |
| 463 extern Lisp_Object Qstart_process, Qopen_network_stream; | 510 extern Lisp_Object Qstart_process, Qopen_network_stream; |
| 484 extern struct coding_system keyboard_coding; | 531 extern struct coding_system keyboard_coding; |
| 485 | 532 |
| 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 */ |
