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.
1 job for feature/tabs in 55 minutes and 33 seconds (queued for 4 seconds)
Status Job ID Name Coverage
  Test
passed #3210
test-all

00:55:33