GNU bug report logs -
#63825
29.0.90; The header line should be hidden when empty
Previous Next
Reported by: Spencer Baugh <sbaugh <at> janestreet.com>
Date: Thu, 1 Jun 2023 13:38:01 UTC
Severity: normal
Found in version 29.0.90
Done: Eli Zaretskii <eliz <at> gnu.org>
Bug is archived. No further changes may be made.
Full log
View this message in rfc822 format
Eli Zaretskii <eliz <at> gnu.org> writes:
>> From: Eshel Yaron <me <at> eshelyaron.com>
>> Cc: Spencer Baugh <sbaugh <at> janestreet.com>, 63825 <at> debbugs.gnu.org
>> Date: Thu, 01 Jun 2023 19:45:39 +0300
>>
>> Eli Zaretskii <eliz <at> gnu.org> writes:
>>
>> > header-line-format supports :eval and :when, so why cannot
>> > which-function-mode use those to yield nil when there's nothing to
>> > show?
>>
>> I thought so as well, but it seems that the header line is displayed
>> even when the value of `header-line-format` yields nil, if it isn't
>> plain nil.
>>
>> So this shows an empty header line:
>>
>> --8<---------------cut here---------------start------------->8---
>> (setq-default header-line-format '(:eval nil))
>> --8<---------------cut here---------------end--------------->8---
>>
>> (In Emacs master with -Q.)
>
> It shouldn't be hard to make this special case behave as you want.
> Specifically, if the header-line-format is just a single cons cell,
> and the car of that cons cell is either :eval or a symbol, and the
> result of evaluation those yields nil, don't display the header line.
> (I don't really like the idea of not displaying the mode line under
> the same conditions.)
>
> Patches welcome.
Ok, the easy way to achieve that is to run format-mode-line on the
header-line-format and if it evaluates to "", don't display the header
line. That also ignores the cases where header-line-format is multiple
cons cells, all of which evaluate to nil, and other such scenarios. Is
that an acceptable approach to you?
This bug report was last modified 1 year and 347 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.