]> git.eshelyaron.com Git - emacs.git/commit
Avoid header line with some empty non-nil formats
authorEshel Yaron <eshelyaron@dazzs-mbp.home>
Sun, 4 Jun 2023 16:41:20 +0000 (19:41 +0300)
committerEli Zaretskii <eliz@gnu.org>
Tue, 6 Jun 2023 12:08:31 +0000 (15:08 +0300)
commit4f66cbbfe520ee31ef26676e09a926217d9736fe
tree2aad8a7af90b4bdcfe8bb988eb688d2ffc7b6be1
parentd751915ef4c10f2dc10555c404fac3c981320b4f
Avoid header line with some empty non-nil formats

Allow the value of 'header-line-format' to indicate that no header
line should be displayed when it trivially yields 'nil', even if it is
not plain 'nil'.  Previously, any non-nil 'header-line-format'
resulted in a (possibly empty) header line.  This change adds some
flexibility by also taking a non-nil value of 'header-line-format' to
mean that no header line should be displayed if it's a list whose
'car' is a symbol and either that symbol is ':eval' and the second
list element evaluates to 'nil', or the symbol's value as a variable
is 'nil' or void.
(Bug#63825)

* src/xdisp.c (safe_eval_inhibit_quit): New function.
* src/lisp.h (safe_eval_inhibit_quit): Declare it.
* src/window.c (null_header_line_format): New function.
(window_wants_header_line): Use it.

* doc/lispref/modes.texi (Header Line): Update to reflect new
conditions for displaying a window's header line.

* etc/NEWS: Announce updated treatment of 'header-line-format'.
doc/lispref/modes.texi
etc/NEWS
src/lisp.h
src/window.c
src/xdisp.c