aboutsummaryrefslogtreecommitdiffstats
path: root/src/coding.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/coding.h')
-rw-r--r--src/coding.h61
1 files changed, 31 insertions, 30 deletions
diff --git a/src/coding.h b/src/coding.h
index 39f9d62462b..299c20d0a51 100644
--- a/src/coding.h
+++ b/src/coding.h
@@ -226,7 +226,7 @@ enum coding_attr_index
226 hash_lookup (XHASH_TABLE (Vcoding_system_hash_table), \ 226 hash_lookup (XHASH_TABLE (Vcoding_system_hash_table), \
227 coding_system_symbol, NULL) 227 coding_system_symbol, NULL)
228 228
229/* Return 1 if CODING_SYSTEM_SYMBOL is a coding system. */ 229/* Return true if CODING_SYSTEM_SYMBOL is a coding system. */
230 230
231#define CODING_SYSTEM_P(coding_system_symbol) \ 231#define CODING_SYSTEM_P(coding_system_symbol) \
232 (CODING_SYSTEM_ID (coding_system_symbol) >= 0 \ 232 (CODING_SYSTEM_ID (coding_system_symbol) >= 0 \
@@ -240,7 +240,7 @@ enum coding_attr_index
240 if (CODING_SYSTEM_ID (x) < 0 \ 240 if (CODING_SYSTEM_ID (x) < 0 \
241 && NILP (Fcheck_coding_system (x))) \ 241 && NILP (Fcheck_coding_system (x))) \
242 wrong_type_argument (Qcoding_system_p, (x)); \ 242 wrong_type_argument (Qcoding_system_p, (x)); \
243 } while (0) 243 } while (false)
244 244
245 245
246/* Check if X is a coding system or not. If it is, set SEPC to the 246/* Check if X is a coding system or not. If it is, set SEPC to the
@@ -256,7 +256,7 @@ enum coding_attr_index
256 } \ 256 } \
257 if (NILP (spec)) \ 257 if (NILP (spec)) \
258 wrong_type_argument (Qcoding_system_p, (x)); \ 258 wrong_type_argument (Qcoding_system_p, (x)); \
259 } while (0) 259 } while (false)
260 260
261 261
262/* Check if X is a coding system or not. If it is, set ID to the 262/* Check if X is a coding system or not. If it is, set ID to the
@@ -273,7 +273,7 @@ enum coding_attr_index
273 } \ 273 } \
274 if (id < 0) \ 274 if (id < 0) \
275 wrong_type_argument (Qcoding_system_p, (x)); \ 275 wrong_type_argument (Qcoding_system_p, (x)); \
276 } while (0) 276 } while (false)
277 277
278 278
279/*** GENERAL section ***/ 279/*** GENERAL section ***/
@@ -361,13 +361,13 @@ struct iso_2022_spec
361 361
362 /* True temporarily only when graphic register 2 or 3 is invoked by 362 /* True temporarily only when graphic register 2 or 3 is invoked by
363 single-shift while encoding. */ 363 single-shift while encoding. */
364 unsigned single_shifting : 1; 364 bool_bf single_shifting : 1;
365 365
366 /* True temporarily only when processing at beginning of line. */ 366 /* True temporarily only when processing at beginning of line. */
367 unsigned bol : 1; 367 bool_bf bol : 1;
368 368
369 /* If true, we are now scanning embedded UTF-8 sequence. */ 369 /* If true, we are now scanning embedded UTF-8 sequence. */
370 unsigned embedded_utf_8 : 1; 370 bool_bf embedded_utf_8 : 1;
371 371
372 /* The current composition. */ 372 /* The current composition. */
373 struct composition_status cmp_status; 373 struct composition_status cmp_status;
@@ -455,11 +455,11 @@ struct coding_system
455 unsigned char *safe_charsets; 455 unsigned char *safe_charsets;
456 456
457 /* The following two members specify how binary 8-bit code 128..255 457 /* The following two members specify how binary 8-bit code 128..255
458 are represented in source and destination text respectively. 1 458 are represented in source and destination text respectively. True
459 means they are represented by 2-byte sequence, 0 means they are 459 means they are represented by 2-byte sequence, false means they are
460 represented by 1-byte as is (see the comment in character.h). */ 460 represented by 1-byte as is (see the comment in character.h). */
461 unsigned src_multibyte : 1; 461 bool_bf src_multibyte : 1;
462 unsigned dst_multibyte : 1; 462 bool_bf dst_multibyte : 1;
463 463
464 /* How may heading bytes we can skip for decoding. This is set to 464 /* How may heading bytes we can skip for decoding. This is set to
465 -1 in setup_coding_system, and updated by detect_coding. So, 465 -1 in setup_coding_system, and updated by detect_coding. So,
@@ -510,14 +510,14 @@ struct coding_system
510 510
511 /* True if the source of conversion is not in the member 511 /* True if the source of conversion is not in the member
512 `charbuf', but at `src_object'. */ 512 `charbuf', but at `src_object'. */
513 unsigned chars_at_source : 1; 513 bool_bf chars_at_source : 1;
514 514
515 /* Nonzero if the result of conversion is in `destination' 515 /* Nonzero if the result of conversion is in `destination'
516 buffer rather than in `dst_object'. */ 516 buffer rather than in `dst_object'. */
517 unsigned raw_destination : 1; 517 bool_bf raw_destination : 1;
518 518
519 /* Set to 1 if charbuf contains an annotation. */ 519 /* Set to true if charbuf contains an annotation. */
520 unsigned annotated : 1; 520 bool_bf annotated : 1;
521 521
522 unsigned char carryover[64]; 522 unsigned char carryover[64];
523 int carryover_bytes; 523 int carryover_bytes;
@@ -543,28 +543,29 @@ struct coding_system
543#define CODING_REQUIRE_DETECTION_MASK 0x1000 543#define CODING_REQUIRE_DETECTION_MASK 0x1000
544#define CODING_RESET_AT_BOL_MASK 0x2000 544#define CODING_RESET_AT_BOL_MASK 0x2000
545 545
546/* Return 1 if the coding context CODING requires annotation 546/* Return nonzero if the coding context CODING requires annotation
547 handling. */ 547 handling. */
548#define CODING_REQUIRE_ANNOTATION(coding) \ 548#define CODING_REQUIRE_ANNOTATION(coding) \
549 ((coding)->common_flags & CODING_ANNOTATION_MASK) 549 ((coding)->common_flags & CODING_ANNOTATION_MASK)
550 550
551/* Return 1 if the coding context CODING prefers decoding into unibyte. */ 551/* Return nonzero if the coding context CODING prefers decoding into
552 unibyte. */
552#define CODING_FOR_UNIBYTE(coding) \ 553#define CODING_FOR_UNIBYTE(coding) \
553 ((coding)->common_flags & CODING_FOR_UNIBYTE_MASK) 554 ((coding)->common_flags & CODING_FOR_UNIBYTE_MASK)
554 555
555/* Return 1 if the coding context CODING requires specific code to be 556/* Return nonzero if the coding context CODING requires specific code to be
556 attached at the tail of converted text. */ 557 attached at the tail of converted text. */
557#define CODING_REQUIRE_FLUSHING(coding) \ 558#define CODING_REQUIRE_FLUSHING(coding) \
558 ((coding)->common_flags & CODING_REQUIRE_FLUSHING_MASK) 559 ((coding)->common_flags & CODING_REQUIRE_FLUSHING_MASK)
559 560
560/* Return 1 if the coding context CODING requires code conversion on 561/* Return nonzero if the coding context CODING requires code conversion on
561 decoding. */ 562 decoding. */
562#define CODING_REQUIRE_DECODING(coding) \ 563#define CODING_REQUIRE_DECODING(coding) \
563 ((coding)->dst_multibyte \ 564 ((coding)->dst_multibyte \
564 || (coding)->common_flags & CODING_REQUIRE_DECODING_MASK) 565 || (coding)->common_flags & CODING_REQUIRE_DECODING_MASK)
565 566
566 567
567/* Return 1 if the coding context CODING requires code conversion on 568/* Return nonzero if the coding context CODING requires code conversion on
568 encoding. 569 encoding.
569 The non-multibyte part of the condition is to support encoding of 570 The non-multibyte part of the condition is to support encoding of
570 unibyte strings/buffers generated by string-as-unibyte or 571 unibyte strings/buffers generated by string-as-unibyte or
@@ -575,12 +576,12 @@ struct coding_system
575 || (coding)->mode & CODING_MODE_SELECTIVE_DISPLAY) 576 || (coding)->mode & CODING_MODE_SELECTIVE_DISPLAY)
576 577
577 578
578/* Return 1 if the coding context CODING requires some kind of code 579/* Return nonzero if the coding context CODING requires some kind of code
579 detection. */ 580 detection. */
580#define CODING_REQUIRE_DETECTION(coding) \ 581#define CODING_REQUIRE_DETECTION(coding) \
581 ((coding)->common_flags & CODING_REQUIRE_DETECTION_MASK) 582 ((coding)->common_flags & CODING_REQUIRE_DETECTION_MASK)
582 583
583/* Return 1 if the coding context CODING requires code conversion on 584/* Return nonzero if the coding context CODING requires code conversion on
584 decoding or some kind of code detection. */ 585 decoding or some kind of code detection. */
585#define CODING_MAY_REQUIRE_DECODING(coding) \ 586#define CODING_MAY_REQUIRE_DECODING(coding) \
586 (CODING_REQUIRE_DECODING (coding) \ 587 (CODING_REQUIRE_DECODING (coding) \
@@ -604,7 +605,7 @@ struct coding_system
604 (j1 = s1 * 2 - ((s1 >= 0xE0) ? 0x161 : 0xE1), \ 605 (j1 = s1 * 2 - ((s1 >= 0xE0) ? 0x161 : 0xE1), \
605 j2 = s2 - ((s2 >= 0x7F) ? 0x20 : 0x1F)); \ 606 j2 = s2 - ((s2 >= 0x7F) ? 0x20 : 0x1F)); \
606 (code) = (j1 << 8) | j2; \ 607 (code) = (j1 << 8) | j2; \
607 } while (0) 608 } while (false)
608 609
609#define SJIS_TO_JIS2(code) \ 610#define SJIS_TO_JIS2(code) \
610 do { \ 611 do { \
@@ -629,7 +630,7 @@ struct coding_system
629 j2 = s2 - ((s2 >= 0x7F ? 0x20 : 0x1F)); \ 630 j2 = s2 - ((s2 >= 0x7F ? 0x20 : 0x1F)); \
630 } \ 631 } \
631 (code) = (j1 << 8) | j2; \ 632 (code) = (j1 << 8) | j2; \
632 } while (0) 633 } while (false)
633 634
634 635
635#define JIS_TO_SJIS(code) \ 636#define JIS_TO_SJIS(code) \
@@ -644,7 +645,7 @@ struct coding_system
644 (s1 = j1 / 2 + ((j1 < 0x5F) ? 0x70 : 0xB0), \ 645 (s1 = j1 / 2 + ((j1 < 0x5F) ? 0x70 : 0xB0), \
645 s2 = j2 + 0x7E); \ 646 s2 = j2 + 0x7E); \
646 (code) = (s1 << 8) | s2; \ 647 (code) = (s1 << 8) | s2; \
647 } while (0) 648 } while (false)
648 649
649#define JIS_TO_SJIS2(code) \ 650#define JIS_TO_SJIS2(code) \
650 do { \ 651 do { \
@@ -668,7 +669,7 @@ struct coding_system
668 s2 = j2 + 0x7E; \ 669 s2 = j2 + 0x7E; \
669 } \ 670 } \
670 (code) = (s1 << 8) | s2; \ 671 (code) = (s1 << 8) | s2; \
671 } while (0) 672 } while (false)
672 673
673/* Encode the file name NAME using the specified coding system 674/* Encode the file name NAME using the specified coding system
674 for file names, if any. */ 675 for file names, if any. */
@@ -682,18 +683,18 @@ struct coding_system
682 for system functions, if any. */ 683 for system functions, if any. */
683#define ENCODE_SYSTEM(str) \ 684#define ENCODE_SYSTEM(str) \
684 (! NILP (Vlocale_coding_system) \ 685 (! NILP (Vlocale_coding_system) \
685 ? code_convert_string_norecord (str, Vlocale_coding_system, 1) \ 686 ? code_convert_string_norecord (str, Vlocale_coding_system, true) \
686 : str) 687 : str)
687 688
688/* Decode the string STR using the specified coding system 689/* Decode the string STR using the specified coding system
689 for system functions, if any. */ 690 for system functions, if any. */
690#define DECODE_SYSTEM(str) \ 691#define DECODE_SYSTEM(str) \
691 (! NILP (Vlocale_coding_system) \ 692 (! NILP (Vlocale_coding_system) \
692 ? code_convert_string_norecord (str, Vlocale_coding_system, 0) \ 693 ? code_convert_string_norecord (str, Vlocale_coding_system, false) \
693 : str) 694 : str)
694 695
695/* Note that this encodes utf-8, not utf-8-emacs, so it's not a no-op. */ 696/* Note that this encodes utf-8, not utf-8-emacs, so it's not a no-op. */
696#define ENCODE_UTF_8(str) code_convert_string_norecord (str, Qutf_8, 1) 697#define ENCODE_UTF_8(str) code_convert_string_norecord (str, Qutf_8, true)
697 698
698/* Extern declarations. */ 699/* Extern declarations. */
699extern Lisp_Object code_conversion_save (bool, bool); 700extern Lisp_Object code_conversion_save (bool, bool);
@@ -759,7 +760,7 @@ extern Lisp_Object from_unicode_buffer (const wchar_t* wstr);
759 (coding)->src_chars = (coding)->src_bytes = (bytes); \ 760 (coding)->src_chars = (coding)->src_bytes = (bytes); \
760 decode_coding_object ((coding), Qnil, 0, 0, (bytes), (bytes), \ 761 decode_coding_object ((coding), Qnil, 0, 0, (bytes), (bytes), \
761 (dst_object)); \ 762 (dst_object)); \
762 } while (0) 763 } while (false)
763 764
764 765
765extern Lisp_Object preferred_coding_system (void); 766extern Lisp_Object preferred_coding_system (void);