aboutsummaryrefslogtreecommitdiffstats
path: root/src/intervals.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/intervals.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/intervals.h')
-rw-r--r--src/intervals.h50
1 files changed, 25 insertions, 25 deletions
diff --git a/src/intervals.h b/src/intervals.h
index 40f32645ba0..816ea105bd7 100644
--- a/src/intervals.h
+++ b/src/intervals.h
@@ -42,19 +42,19 @@ struct interval
42 struct interval *interval; 42 struct interval *interval;
43 Lisp_Object obj; 43 Lisp_Object obj;
44 } up; 44 } up;
45 unsigned int up_obj : 1; 45 bool_bf up_obj : 1;
46 46
47 unsigned gcmarkbit : 1; 47 bool_bf gcmarkbit : 1;
48 48
49 /* The remaining components are `properties' of the interval. 49 /* The remaining components are `properties' of the interval.
50 The first four are duplicates for things which can be on the list, 50 The first four are duplicates for things which can be on the list,
51 for purposes of speed. */ 51 for purposes of speed. */
52 52
53 unsigned int write_protect : 1; /* Non-zero means can't modify. */ 53 bool_bf write_protect : 1; /* True means can't modify. */
54 unsigned int visible : 1; /* Zero means don't display. */ 54 bool_bf visible : 1; /* False means don't display. */
55 unsigned int front_sticky : 1; /* Non-zero means text inserted just 55 bool_bf front_sticky : 1; /* True means text inserted just
56 before this interval goes into it. */ 56 before this interval goes into it. */
57 unsigned int rear_sticky : 1; /* Likewise for just after it. */ 57 bool_bf rear_sticky : 1; /* Likewise for just after it. */
58 Lisp_Object plist; /* Other properties. */ 58 Lisp_Object plist; /* Other properties. */
59}; 59};
60 60
@@ -116,7 +116,7 @@ struct interval
116 116
117/* Test what type of parent we have. Three possibilities: another 117/* Test what type of parent we have. Three possibilities: another
118 interval, a buffer or string object, or NULL. */ 118 interval, a buffer or string object, or NULL. */
119#define INTERVAL_HAS_PARENT(i) ((i)->up_obj == 0 && (i)->up.interval != 0) 119#define INTERVAL_HAS_PARENT(i) (! (i)->up_obj && (i)->up.interval != 0)
120#define INTERVAL_HAS_OBJECT(i) ((i)->up_obj) 120#define INTERVAL_HAS_OBJECT(i) ((i)->up_obj)
121 121
122/* Use these macros to get parent of an interval. 122/* Use these macros to get parent of an interval.
@@ -126,9 +126,9 @@ struct interval
126 progress. */ 126 progress. */
127 127
128#define INTERVAL_PARENT(i) \ 128#define INTERVAL_PARENT(i) \
129 (eassert ((i) != 0 && (i)->up_obj == 0), (i)->up.interval) 129 (eassert ((i) != 0 && ! (i)->up_obj), (i)->up.interval)
130 130
131#define GET_INTERVAL_OBJECT(d,s) (eassert ((s)->up_obj == 1), (d) = (s)->up.obj) 131#define GET_INTERVAL_OBJECT(d,s) (eassert ((s)->up_obj), (d) = (s)->up.obj)
132 132
133/* Use these functions to set Lisp_Object 133/* Use these functions to set Lisp_Object
134 or pointer slots of struct interval. */ 134 or pointer slots of struct interval. */
@@ -136,7 +136,7 @@ struct interval
136INLINE void 136INLINE void
137set_interval_parent (INTERVAL i, INTERVAL parent) 137set_interval_parent (INTERVAL i, INTERVAL parent)
138{ 138{
139 i->up_obj = 0; 139 i->up_obj = false;
140 i->up.interval = parent; 140 i->up.interval = parent;
141} 141}
142 142
@@ -154,33 +154,33 @@ set_interval_plist (INTERVAL i, Lisp_Object plist)
154 154
155/* Reset this interval to its vanilla, or no-property state. */ 155/* Reset this interval to its vanilla, or no-property state. */
156#define RESET_INTERVAL(i) \ 156#define RESET_INTERVAL(i) \
157{ \ 157 do { \
158 (i)->total_length = (i)->position = 0; \ 158 (i)->total_length = (i)->position = 0; \
159 (i)->left = (i)->right = NULL; \ 159 (i)->left = (i)->right = NULL; \
160 set_interval_parent (i, NULL); \ 160 set_interval_parent (i, NULL); \
161 (i)->write_protect = 0; \ 161 (i)->write_protect = false; \
162 (i)->visible = 0; \ 162 (i)->visible = false; \
163 (i)->front_sticky = (i)->rear_sticky = 0; \ 163 (i)->front_sticky = (i)->rear_sticky = false; \
164 set_interval_plist (i, Qnil); \ 164 set_interval_plist (i, Qnil); \
165} 165 } while (false)
166 166
167/* Copy the cached property values of interval FROM to interval TO. */ 167/* Copy the cached property values of interval FROM to interval TO. */
168#define COPY_INTERVAL_CACHE(from,to) \ 168#define COPY_INTERVAL_CACHE(from,to) \
169{ \ 169 do { \
170 (to)->write_protect = (from)->write_protect; \ 170 (to)->write_protect = (from)->write_protect; \
171 (to)->visible = (from)->visible; \ 171 (to)->visible = (from)->visible; \
172 (to)->front_sticky = (from)->front_sticky; \ 172 (to)->front_sticky = (from)->front_sticky; \
173 (to)->rear_sticky = (from)->rear_sticky; \ 173 (to)->rear_sticky = (from)->rear_sticky; \
174} 174 } while (false)
175 175
176/* Copy only the set bits of FROM's cache. */ 176/* Copy only the set bits of FROM's cache. */
177#define MERGE_INTERVAL_CACHE(from,to) \ 177#define MERGE_INTERVAL_CACHE(from,to) \
178{ \ 178 do { \
179 if ((from)->write_protect) (to)->write_protect = 1; \ 179 if ((from)->write_protect) (to)->write_protect = true; \
180 if ((from)->visible) (to)->visible = 1; \ 180 if ((from)->visible) (to)->visible = true; \
181 if ((from)->front_sticky) (to)->front_sticky = 1; \ 181 if ((from)->front_sticky) (to)->front_sticky = true; \
182 if ((from)->rear_sticky) (to)->rear_sticky = 1; \ 182 if ((from)->rear_sticky) (to)->rear_sticky = true; \
183} 183 } while (false)
184 184
185/* Is this interval visible? Replace later with cache access. */ 185/* Is this interval visible? Replace later with cache access. */
186#define INTERVAL_VISIBLE_P(i) \ 186#define INTERVAL_VISIBLE_P(i) \
@@ -198,7 +198,7 @@ set_interval_plist (INTERVAL i, Lisp_Object plist)
198 should stick to it. Now we have Vtext_property_default_nonsticky, 198 should stick to it. Now we have Vtext_property_default_nonsticky,
199 so these macros are unreliable now and never used. */ 199 so these macros are unreliable now and never used. */
200 200
201#if 0 201#if false
202#define FRONT_STICKY_P(i) \ 202#define FRONT_STICKY_P(i) \
203 (i && ! NILP (textget ((i)->plist, Qfront_sticky))) 203 (i && ! NILP (textget ((i)->plist, Qfront_sticky)))
204#define END_NONSTICKY_P(i) \ 204#define END_NONSTICKY_P(i) \