(gdb) ptype /o current_buffer type = struct buffer { /* 0 | 4 */ union vectorlike_header { /* 4 */ ptrdiff_t size; /* total size (bytes): 4 */ } header; /* 4 | 4 */ Lisp_Object name_; /* 8 | 4 */ Lisp_Object filename_; /* 12 | 4 */ Lisp_Object directory_; /* 16 | 4 */ Lisp_Object backed_up_; /* 20 | 4 */ Lisp_Object save_length_; /* 24 | 4 */ Lisp_Object auto_save_file_name_; /* 28 | 4 */ Lisp_Object read_only_; /* 32 | 4 */ Lisp_Object mark_; /* 36 | 4 */ Lisp_Object local_var_alist_; /* 40 | 4 */ Lisp_Object major_mode_; /* 44 | 4 */ Lisp_Object mode_name_; /* 48 | 4 */ Lisp_Object mode_line_format_; /* 52 | 4 */ Lisp_Object header_line_format_; /* 56 | 4 */ Lisp_Object keymap_; /* 60 | 4 */ Lisp_Object abbrev_table_; /* 64 | 4 */ Lisp_Object syntax_table_; /* 68 | 4 */ Lisp_Object category_table_; /* 72 | 4 */ Lisp_Object case_fold_search_; /* 76 | 4 */ Lisp_Object tab_width_; /* 80 | 4 */ Lisp_Object fill_column_; /* 84 | 4 */ Lisp_Object left_margin_; /* 88 | 4 */ Lisp_Object auto_fill_function_; /* 92 | 4 */ Lisp_Object downcase_table_; /* 96 | 4 */ Lisp_Object upcase_table_; /* 100 | 4 */ Lisp_Object case_canon_table_; /* 104 | 4 */ Lisp_Object case_eqv_table_; /* 108 | 4 */ Lisp_Object truncate_lines_; /* 112 | 4 */ Lisp_Object word_wrap_; /* 116 | 4 */ Lisp_Object ctl_arrow_; /* 120 | 4 */ Lisp_Object bidi_display_reordering_; /* 124 | 4 */ Lisp_Object bidi_paragraph_direction_; /* 128 | 4 */ Lisp_Object bidi_paragraph_separate_re_; /* 132 | 4 */ Lisp_Object bidi_paragraph_start_re_; /* 136 | 4 */ Lisp_Object selective_display_; /* 140 | 4 */ Lisp_Object selective_display_ellipses_; /* 144 | 4 */ Lisp_Object minor_modes_; /* 148 | 4 */ Lisp_Object overwrite_mode_; /* 152 | 4 */ Lisp_Object abbrev_mode_; /* 156 | 4 */ Lisp_Object display_table_; /* 160 | 4 */ Lisp_Object mark_active_; /* 164 | 4 */ Lisp_Object enable_multibyte_characters_; /* 168 | 4 */ Lisp_Object buffer_file_coding_system_; /* 172 | 4 */ Lisp_Object file_format_; /* 176 | 4 */ Lisp_Object auto_save_file_format_; /* 180 | 4 */ Lisp_Object cache_long_scans_; /* 184 | 4 */ Lisp_Object mc_real_fake_cursor_; /* 188 | 4 */ Lisp_Object mc_conf_; /* 192 | 4 */ Lisp_Object mc_inactive_windows_; /* 196 | 4 */ Lisp_Object crosshairs_; /* 200 | 4 */ Lisp_Object ch_horizontal_ruler_; /* 204 | 4 */ Lisp_Object ch_vertical_ruler_; /* 208 | 4 */ Lisp_Object ch_inactive_windows_; /* 212 | 4 */ Lisp_Object fc_visible_; /* 216 | 4 */ Lisp_Object fc_inactive_windows_; /* 220 | 4 */ Lisp_Object width_table_; /* 224 | 4 */ Lisp_Object pt_marker_; /* 228 | 4 */ Lisp_Object begv_marker_; /* 232 | 4 */ Lisp_Object zv_marker_; /* 236 | 4 */ Lisp_Object point_before_scroll_; /* 240 | 4 */ Lisp_Object file_truename_; /* 244 | 4 */ Lisp_Object invisibility_spec_; /* 248 | 4 */ Lisp_Object last_selected_window_; /* 252 | 4 */ Lisp_Object display_count_; /* 256 | 4 */ Lisp_Object left_margin_cols_; /* 260 | 4 */ Lisp_Object right_margin_cols_; /* 264 | 4 */ Lisp_Object left_fringe_width_; /* 268 | 4 */ Lisp_Object right_fringe_width_; /* 272 | 4 */ Lisp_Object fringes_outside_margins_; /* 276 | 4 */ Lisp_Object scroll_bar_width_; /* 280 | 4 */ Lisp_Object scroll_bar_height_; /* 284 | 4 */ Lisp_Object vertical_scroll_bar_type_; /* 288 | 4 */ Lisp_Object horizontal_scroll_bar_type_; /* 292 | 4 */ Lisp_Object indicate_empty_lines_; /* 296 | 4 */ Lisp_Object indicate_buffer_boundaries_; /* 300 | 4 */ Lisp_Object fringe_indicator_alist_; /* 304 | 4 */ Lisp_Object fringe_cursor_alist_; /* 308 | 4 */ Lisp_Object display_time_; /* 312 | 4 */ Lisp_Object scroll_up_aggressively_; /* 316 | 4 */ Lisp_Object scroll_down_aggressively_; /* 320 | 4 */ Lisp_Object cursor_type_; /* 324 | 4 */ Lisp_Object extra_line_spacing_; /* 328 | 4 */ Lisp_Object cursor_in_non_selected_windows_; /* 332 | 100 */ struct buffer_text { /* 332 | 4 */ unsigned char *beg; /* 336 | 4 */ ptrdiff_t gpt; /* 340 | 4 */ ptrdiff_t z; /* 344 | 4 */ ptrdiff_t gpt_byte; /* 348 | 4 */ ptrdiff_t z_byte; /* 352 | 4 */ ptrdiff_t gap_size; /* 356 | 8 */ modiff_count modiff; /* 364 | 8 */ modiff_count chars_modiff; /* 372 | 8 */ modiff_count save_modiff; /* 380 | 8 */ modiff_count overlay_modiff; /* 388 | 8 */ modiff_count compact; /* 396 | 4 */ ptrdiff_t beg_unchanged; /* 400 | 4 */ ptrdiff_t end_unchanged; /* 404 | 8 */ modiff_count unchanged_modified; /* 412 | 8 */ modiff_count overlay_unchanged_modified; /* 420 | 4 */ INTERVAL intervals; /* 424 | 4 */ struct Lisp_Marker *markers; /* 428: 7 | 1 */ bool_bf inhibit_shrinking : 1; /* 428: 6 | 1 */ bool_bf redisplay : 1; /* XXX 6-bit padding */ /* XXX 3-byte padding */ /* total size (bytes): 100 */ } own_text; /* 432 | 4 */ struct buffer_text *text; /* 436 | 4 */ struct buffer *next; /* 440 | 4 */ ptrdiff_t pt; /* 444 | 4 */ ptrdiff_t pt_byte; /* 448 | 4 */ ptrdiff_t begv; /* 452 | 4 */ ptrdiff_t begv_byte; /* 456 | 4 */ ptrdiff_t zv; /* 460 | 4 */ ptrdiff_t zv_byte; /* 464 | 4 */ struct buffer *base_buffer; /* 468 | 4 */ int indirections; /* 472 | 4 */ int window_count; /* 476 | 60 */ char local_flags[60]; /* 536 | 8 */ struct timespec { /* 536 | 4 */ __time_t tv_sec; /* 540 | 4 */ __syscall_slong_t tv_nsec; /* total size (bytes): 8 */ } modtime; /* 544 | 8 */ off_t modtime_size; /* 552 | 8 */ modiff_count auto_save_modified; /* 560 | 8 */ modiff_count display_error_modiff; /* 568 | 4 */ time_t auto_save_failure_time; /* 572 | 4 */ ptrdiff_t last_window_start; /* 576 | 4 */ struct region_cache *newline_cache; /* 580 | 4 */ struct region_cache *width_run_cache; /* 584 | 4 */ struct region_cache *bidi_paragraph_cache; /* 588: 7 | 1 */ bool_bf prevent_redisplay_optimizations_p : 1; /* 588: 6 | 1 */ bool_bf clip_changed : 1; /* 588: 5 | 1 */ bool_bf inhibit_buffer_hooks : 1; /* XXX 5-bit hole */ /* XXX 3-byte hole */ /* 592 | 4 */ struct Lisp_Overlay *overlays_before; /* 596 | 4 */ struct Lisp_Overlay *overlays_after; /* 600 | 4 */ ptrdiff_t overlay_center; /* 604 | 4 */ Lisp_Object undo_list_; /* total size (bytes): 608 */ } * (gdb)