Subject: bug#2199: 23.0.60; calendar marks and font-lock-mode

From: Stephen Berman <[email-masked]>
Date: Thu, 05 Feb 2009 10:49:46 +0100

The issue seems to be more complicated than I thought.  Calendar marks
are displayed with strings instead of faces not only when Calendar is
invoked from a buffer in which font-lock-mode is nil (e.g. in
Fundamental mode), as in my OP, but also in the following case:

Let ~/.emacs consist of the following four sexps:

(add-hook 'today-visible-calendar-hook 'calendar-mark-today)
(setq calendar-mark-diary-entries-flag t)
(setq calendar-mark-holidays-flag t)
(appt-activate 1)

Also, let ~/diary contain entries for today (either date or day).

Now start Emacs like this:

$ emacs --daemon
$ emacsclient -c

The frame that now opens displays the *scratch* buffer only (the diary
is not displayed), in which font-lock-mode is t.  Nevertheless, after
`M-x calendar' the Calendar displays string marks rather than faces.

There are two additional oddities: 
(i) Typing `q' in the *Calendar* buffer does nothing -- but on the next
keystroke, whatever it is, the *Calendar* buffer does disappear. 
(ii) `M-x diary' correctly displays today's diary entries, but the mode
line consists of the string "---Diar---", rather than the expected
"-----------------Diary for Thursday, February 5, 2009-----------------"

Note that if I start Emacs simply by invoking `emacs' (still with the
above ~/.emacs), then everything is as expected: the frame is vertically
split, above the splash screen, below today's diary entries, and `M-x
calendar' displays the Calendar with faces.

Note, too, that if instead of `emacs --daemon' I invoke Emacs with
`emacs -nw -f server-start' (still with the above ~/.emacs), then in the
terminal display the frame is vertically split, above *scratch*, below
today's diary entries, and `M-x calendar' displays the Calendar with
faces (likewise in the X11 frame opened by `emacsclient -c').

Finally, if I comment out "(appt-activate 1)" in the above ~/.emacs,
then start Emacs with `emacs --daemon' and `emacsclient -c', then the
behavior is as in my OP: Calendar marks are displayed with strings
instead of faces only when Calendar is invoked from a buffer in which
font-lock-mode is nil (e.g. in Fundamental mode)

Steve Berman