Subject: bug#78120: 31.0.50; Calendar is not reliable with its marking

From: Eli Zaretskii <[email-masked]>
Date: Thu, 08 May 2025 09:54:15 +0300

> From: Michael Heerdegen <[email-masked]>
> Cc: Manuel Giraud <[email-masked]>,  [email-masked]
> Date: Thu, 08 May 2025 07:00:18 +0200
> 
> But one step back, please listen: I rediscovered the (completely
> undocumented, AFAICT) solution diary-lib itself already provides to
> avoid this problem.  Read around line number 74:
> 
> ;; Face markup of calendar and diary displays: Any entry line that
> ;; ends with [foo:value] where foo is a face attribute (except :box
> ;; :stipple) or with [face:blah] tags, will have these values applied
> ;; to the calendar and fancy diary displays.  These attributes "stack"
> ;; on calendar displays.  File-wide attributes can be defined as
> ;; follows: the first line matching "^# [tag:value]" defines the value
> ;; for that particular tag.
> 
> So this is obviously the user level mechanism the diary-lib author(s)
> intended to be used for more advanced stylistic tuning.
> 
> Of course we can still bring the standard faces in some well defined
> order, but if the described mechanism works well, it deserves to be made
> more discover able I think.  It is more or less what Manuel was asking
> for.

The original report was that the results were not deterministic.  I
think we can make them deterministic by specifying certain priorities
for each overlay.  If it turns out that the priorities we specify
don't produce the effect that some user wants, they could then use the
other face attributes, as you explain above (but maybe we should
document this facility in the user manual?).

Still, I think the faces produced from sexp entities should take
precedent (via overlay priorities) over the other faces, as the
default.