From 2a0164753456d0f788aa026bdd903ac76519d6ab Mon Sep 17 00:00:00 2001 From: Juri Linkov Date: Thu, 5 Sep 2019 22:27:42 +0300 Subject: Don't use hook pre-redisplay-functions. Set buffer-local tab-line-format. * lisp/tab-line.el (tab-line-format): Move to C. (tab-line-update-window-parameter): Remove function. (global-tab-line-mode): Set the default value of tab-line-format. * src/buffer.c (syms_of_buffer): Define buffer-local variable tab-line-format. * src/buffer.h (struct buffer): Add tab_line_format_. * src/window.c (window_wants_tab_line): * src/xdisp.c (pos_visible_p, display_mode_lines): Check for buffer-local tab_line_format. --- src/buffer.h | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'src/buffer.h') diff --git a/src/buffer.h b/src/buffer.h index 2080a6f40b7..e411ab5461d 100644 --- a/src/buffer.h +++ b/src/buffer.h @@ -539,6 +539,10 @@ struct buffer of windows. Nil means don't display that line. */ Lisp_Object header_line_format_; + /* Analogous to mode_line_format for the line displayed at the top + of windows. Nil means don't display that line. */ + Lisp_Object tab_line_format_; + /* Keys that are bound local to this buffer. */ Lisp_Object keymap_; -- cgit v1.2.1