aboutsummaryrefslogtreecommitdiffstats
path: root/src/coding.h
diff options
context:
space:
mode:
authorPaul Eggert2013-12-14 13:36:44 -0800
committerPaul Eggert2013-12-14 13:36:44 -0800
commit96c0686368d8b7d481cb40239db896ff37df416a (patch)
tree84d8ee02271476dd4aaaee52c5302f2c576089ef /src/coding.h
parent5ae811ddef14ea1989088c259a9ed2d14d5332b4 (diff)
downloademacs-96c0686368d8b7d481cb40239db896ff37df416a.tar.gz
emacs-96c0686368d8b7d481cb40239db896ff37df416a.zip
Use bool for boolean, focusing on headers.
* configure.ac (PTY_OPEN, GC_MARK_SECONDARY_STACK): Use bool for boolean. * lib-src/emacsclient.c, lib-src/etags.c, lib-src/hexl.c (FALSE, TRUE): Remove. All uses replaced with uncapitalized version. * lib-src/emacsclient.c (message): * lib-src/etags.c (make_tag, pfnote, consider_token, make_C_tag, lang_names): * lib-src/hexl.c (un_flag, iso_flag, endian): * lib-src/pop.c (pop_debug, pop_open, pop_multi_first, pop_multi_next) (pop_trash): Use bool for boolean. * lib-src/etags.c (bool): Remove. * lib-src/etags.c (globals, members, declarations, no_line_directive) (no_duplicates): Use 'int' for boolean values that getopt requires to be 'int'. Formerly, these were 'bool' and 'bool' was 'int', but we can no longer rely on this implementation. * lib-src/pop.h (struct _popserver): Use bool_bf for boolean bit-fields. * lwlib/xlwmenuP.h (XlwMenu_part): Use bool_bf for boolean bit-fields. * src/atimer.h, src/lisp.h, src/syssignal.h, src/syswait.h, src/unexelf.c: No need to include <stdbool.h>, since conf_post.h does it now. * src/buffer.h (BUF_COMPUTE_UNCHANGED, DECODE_POSITION) (BUFFER_CHECK_INDIRECTION, GET_OVERLAYS_AT, PER_BUFFER_VALUE_P) (SET_PER_BUFFER_VALUE_P): * src/ccl.c, src/ccl.h (setup_ccl_program): * src/ccl.h (CHECK_CCL_PROGRAM): * src/character.h (MAKE_CHAR_UNIBYTE, CHECK_CHARACTER_CAR) (CHECK_CHARACTER_CDR, CHAR_STRING_ADVANCE, NEXT_CHAR_BOUNDARY) (PREV_CHAR_BOUNDARY, FETCH_STRING_CHAR_ADVANCE) (FETCH_STRING_CHAR_AS_MULTIBYTE_ADVANCE) (FETCH_STRING_CHAR_ADVANCE_NO_CHECK, FETCH_CHAR_ADVANCE) (FETCH_CHAR_ADVANCE_NO_CHECK, INC_POS, DEC_POS, INC_BOTH) (DEC_BOTH, BUF_INC_POS, BUF_DEC_POS): * src/charset.h (CHECK_CHARSET, CHECK_CHARSET_GET_ID) (CHECK_CHARSET_GET_ATTR, CHECK_CHARSET_GET_CHARSET) (CHARSET_FAST_MAP_SET): * src/coding.c (decode_coding_ccl, encode_coding_ccl): * src/coding.h (CHECK_CODING_SYSTEM, CHECK_CODING_SYSTEM_GET_SPEC) (CHECK_CODING_SYSTEM_GET_ID, SJIS_TO_JIS, SJIS_TO_JIS2) (JIS_TO_SJIS, JIS_TO_SJIS2, ENCODE_FILE, DECODE_FILE) (ENCODE_SYSTEM, DECODE_SYSTEM, ENCODE_UTF_8) (decode_coding_c_string): * src/composite.h (COMPOSITION_DECODE_REFS, COMPOSITION_DECODE_RULE): * src/conf_post.h (has_attribute): * src/dispextern.h (trace_redisplay_p): (INC_TEXT_POS, DEC_TEXT_POS, SET_GLYPH_FROM_GLYPH_CODE) (SET_CHAR_GLYPH, SET_CHAR_GLYPH_FROM_GLYPH) (SET_GLYPH_FROM_CHAR_GLYPH): (WINDOW_WANTS_MODELINE_P, WINDOW_WANTS_HEADER_LINE_P) (FACE_SUITABLE_FOR_ASCII_CHAR_P, FACE_SUITABLE_FOR_CHAR_P) (PRODUCE_GLYPHS, reset_mouse_highlight, in_display_vector_p) (cursor_in_mouse_face_p): * src/dispnew.c (adjust_glyph_matrix, clear_glyph_matrix_rows) (blank_row, prepare_desired_row) (build_frame_matrix_from_leaf_window, make_current) (mirror_make_current, mirrored_line_dance, mirror_line_dance) (update_window, scrolling_window, update_frame_line): * src/disptab.h (GLYPH_FOLLOW_ALIASES): * src/editfns.c (Fformat): * src/font.h (FONT_WEIGHT_SYMBOLIC, FONT_SLANT_SYMBOLIC) (FONT_WIDTH_SYMBOLIC, FONT_WEIGHT_FOR_FACE, FONT_SLANT_FOR_FACE) (FONT_WIDTH_FOR_FACE, FONT_WEIGHT_NAME_NUMERIC) (FONT_SLANT_NAME_NUMERIC, FONT_WIDTH_NAME_NUMERIC) (FONT_SET_STYLE, CHECK_FONT, CHECK_FONT_SPEC, CHECK_FONT_ENTITY) (CHECK_FONT_OBJECT, CHECK_FONT_GET_OBJECT, FONT_ADD_LOG) (FONT_DEFERRED_LOG): * src/frame.h (FRAME_W32_P, FRAME_MSDOS_P, FRAME_WINDOW_P): (FRAME_EXTERNAL_TOOL_BAR, FRAME_EXTERNAL_MENU_BAR, FOR_EACH_FRAME) (FRAME_MOUSE_UPDATE): * src/fringe.c (Fdefine_fringe_bitmap): * src/image.c (x_create_bitmap_from_data, x_create_bitmap_mask) (x_create_bitmap_from_xpm_data, xpm_load_image): * src/intervals.h (INTERVAL_HAS_PARENT, INTERVAL_PARENT) (set_interval_parent, RESET_INTERVAL, COPY_INTERVAL_CACHE) (MERGE_INTERVAL_CACHE): * src/keymap.h (KEYMAPP): * src/lisp.h (eassert, USE_LSB_TAG, CHECK_LISP_OBJECT_TYPE) (STRING_SET_UNIBYTE, STRING_SET_MULTIBYTE, DEFSYM, PSEUDOVECTORP) (CHECK_RANGED_INTEGER, CHECK_TYPE_RANGED_INTEGER) (CHECK_NUMBER_COERCE_MARKER, CHECK_NUMBER_OR_FLOAT_COERCE_MARKER) (DEFVAR_LISP, DEFVAR_LISP_NOPRO, DEFVAR_BOOL, DEFVAR_INT) (DEFVAR_BUFFER_DEFAULTS, DEFVAR_KBOARD, QUIT) (RETURN_UNGCPRO, USE_SAFE_ALLOCA, SAFE_NALLOCA, SAFE_FREE) (SAFE_ALLOCA_LISP, FOR_EACH_ALIST_VALUE, functionp): * src/syntax.h (SYNTAX_ENTRY, SYNTAX_WITH_FLAGS, SYNTAX) (UPDATE_SYNTAX_TABLE_FORWARD, UPDATE_SYNTAX_TABLE_BACKWARD) (SETUP_BUFFER_SYNTAX_TABLE): * src/systime.h (timespec_valid_p): * src/term.c (save_and_enable_current_matrix): * src/window.h (WINDOW_MENU_BAR_P, WINDOW_TOOL_BAR_P): * src/xdisp.c (in_display_vector_p, display_tool_bar_line) (redisplay_internal, try_window_reusing_current_matrix) (sync_frame_with_window_matrix_rows, try_window_id) (display_menu_bar, display_tty_menu_item, display_mode_line) (coords_in_mouse_face_p, cursor_in_mouse_face_p): * src/xmenu.c (xmenu_show): * src/xterm.c (use_xim, x_term_init): * src/xterm.h (XSync, GTK_CHECK_VERSION, use_xim, SET_SCROLL_BAR_X_WIDGET) (struct x_bitmap_record): Use bool for booleans. * src/ccl.c (struct buffer_text): * src/ccl.h (struct ccl_program): * src/charset.h (struct charset): * src/cm.h (struct cm): * src/coding.h (struct iso_2022_spec, struct coding_system): * src/dispextern.h (struct glyph, struct glyph_matrix, struct glyph_row) (struct glyph_string, struct face, struct face_cache) (struct bidi_string_data, struct bidi_it) (struct draw_fringe_bitmap_params, struct it, Mouse_HLInfo) (struct image): * src/editfns.c (Fformat): * src/frame.h (struct frame): * src/fringe.c (struct fringe_bitmap): * src/intervals.h (struct interval): * src/keyboard.h (struct kboard): * src/lisp.h (struct Lisp_Symbol, struct Lisp_Misc_Any, struct Lisp_Marker) (struct Lisp_Overlay, struct Lisp_Save_Value, struct Lisp_Free) (struct Lisp_Buffer_Local_Value, union specbinding): * src/macfont.m (struct macfont_info): * src/process.h (struct Lisp_Process): * src/termchar.h (struct tty_display_info): * src/window.h (struct window): * src/xterm.h (struct x_output): Use bool_bf for boolean bit-fields. * src/ccl.c (setup_ccl_program): Now returns bool instead of -1 or 0. All callers changed. * src/ccl.h (struct ccl_program): Remove unused members private_state, src_multibyte, dst_multibyte, cr_consumed, suppress_error, eight_bit_control. (struct ccl_spec): Remove unused members cr_carryover, eight_bit_carryover. * src/conf_post.h: Include <stdbool.h>. (bool_bf): New type. * src/dispextern.h (TRACE, PREPARE_FACE_FOR_DISPLAY): * src/interval.h (RESET_INTERVAL, COPY_INTERVAL_CACHE, MERGE_INTERVAL_CACHE) Surround statement macro with proper 'do { ... } while (false)' brackets. (SET_MATRIX_ROW_ENABLED_P): Assume 2nd arg is bool. (PRODUCE_GLYPHS): Simplify use of boolean. * src/fileio.c (Fcopy_file): If I is an integer, prefer 'if (I != 0)' to 'if (I)'. * src/lisp.h (UNGCPRO): Return void, not int. (FOR_EACH_TAIL): Use void expression, not int expression. * src/region-cache.c: Reindent. * src/region-cache.h: Copy comments from region-cache.c, to fix incorrect remarks about booleans.
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);