diff options
Diffstat (limited to 'src/buffer.c')
-rw-r--r-- | src/buffer.c | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/src/buffer.c b/src/buffer.c index 77e8b6bb779..8cb28d8aa70 100644 --- a/src/buffer.c +++ b/src/buffer.c @@ -249,6 +249,11 @@ bset_header_line_format (struct buffer *b, Lisp_Object val) b->header_line_format_ = val; } static void +bset_tab_line_format (struct buffer *b, Lisp_Object val) +{ + b->tab_line_format_ = val; +} +static void bset_indicate_buffer_boundaries (struct buffer *b, Lisp_Object val) { b->indicate_buffer_boundaries_ = val; @@ -1329,7 +1334,7 @@ No argument or nil as argument means use current buffer as BUFFER. */) DEFUN ("force-mode-line-update", Fforce_mode_line_update, Sforce_mode_line_update, 0, 1, 0, doc: /* Force redisplay of the current buffer's mode line and header line. -With optional non-nil ALL, force redisplay of all mode lines and +With optional non-nil ALL, force redisplay of all mode lines, tab lines and header lines. This function also forces recomputation of the menu bar menus and the frame title. */) (Lisp_Object all) @@ -5194,6 +5199,7 @@ init_buffer_once (void) XSETFASTINT (BVAR (&buffer_local_flags, scroll_up_aggressively), idx); ++idx; XSETFASTINT (BVAR (&buffer_local_flags, scroll_down_aggressively), idx); ++idx; XSETFASTINT (BVAR (&buffer_local_flags, header_line_format), idx); ++idx; + XSETFASTINT (BVAR (&buffer_local_flags, tab_line_format), idx); ++idx; XSETFASTINT (BVAR (&buffer_local_flags, cursor_type), idx); ++idx; XSETFASTINT (BVAR (&buffer_local_flags, extra_line_spacing), idx); ++idx; XSETFASTINT (BVAR (&buffer_local_flags, cursor_in_non_selected_windows), idx); ++idx; @@ -5239,6 +5245,7 @@ init_buffer_once (void) /* real setup is done in bindings.el */ bset_mode_line_format (&buffer_defaults, build_pure_c_string ("%-")); bset_header_line_format (&buffer_defaults, Qnil); + bset_tab_line_format (&buffer_defaults, Qnil); bset_abbrev_mode (&buffer_defaults, Qnil); bset_overwrite_mode (&buffer_defaults, Qnil); bset_case_fold_search (&buffer_defaults, Qt); @@ -5510,6 +5517,13 @@ syms_of_buffer (void) Fput (Qprotected_field, Qerror_message, build_pure_c_string ("Attempt to modify a protected field")); + DEFVAR_PER_BUFFER ("tab-line-format", + &BVAR (current_buffer, tab_line_format), + Qnil, + doc: /* Analogous to `mode-line-format', but controls the tab line. +The tab line appears, optionally, at the top of a window; +the mode line appears at the bottom. */); + DEFVAR_PER_BUFFER ("header-line-format", &BVAR (current_buffer, header_line_format), Qnil, |