Thanks for the tip on `calendar-make-temp-face'. It gets even weirder now. If I use a face, that function does not even seem to get called, so it seems to work.
If I use the anonymous face though, it does get called, and I see the inconsistent behavior. However, if I edebug `calendar-make-temp-face' and step through each line, then it works the same as using a face. And, after that it seems to work most of the time. "Do not call this directly from Lisp code; use ‘defface’ instead." seems like a weird message. Where else would one use this? Anyway, thanks again, I have stumbled on a solution, which is to modify `calendar-mark-visible-date' so it does not use `calendar-make-temp-face' . It is a small change of: (t ; attr list (overlay-put (make-overlay (1- (point)) (1+ (point))) 'face (calendar-make-temp-face mark))) to (t ; attr list (overlay-put (make-overlay (1- (point)) (1+ (point))) 'face mark)) That seems to work. A simpler way though is to just put the overlays on manually in the hook, e.g. (let* ((mark-calendar (lambda () ;; Goto today (save-excursion (calendar-cursor-to-visible-date (read (format-time-string "(%m %d %Y)"))) (overlay-put (make-overlay (1- (point)) (1+ (point))) 'face (list :foreground "blue" :weight 'bold))))) (calendar-today-visible-hook)) (add-hook 'calendar-today-visible-hook mark-calendar) (org-read-date)) I can live with that solution. Thanks for the assist! On Wed, Feb 14, 2024 at 3:14 PM Ihor Radchenko <yanta...@posteo.net> wrote: > John Kitchin <jkitc...@andrew.cmu.edu> writes: > > > why does it work with a face though? > > It really does. That's confusing. And proves that Emacs is smart enough > to invert cursor color in some situations. > > My only guess is that `calendar-make-temp-face' is using `make-face' > incorrectly. I guess that > > Do not call this directly from Lisp code; use `defface' instead. > > in `make-face' docstring is there for a reason. > Maybe report this as Emacs bug in calendar.el? > > -- > Ihor Radchenko // yantar92, > Org mode contributor, > Learn more about Org mode at <https://orgmode.org/>. > Support Org development at <https://liberapay.com/org-mode>, > or support my work at <https://liberapay.com/yantar92> > -- John ----------------------------------- Professor John Kitchin (he/his) Doherty Hall A207F Department of Chemical Engineering Carnegie Mellon University Pittsburgh, PA 15213 412-268-7803 https://kitchingroup.cheme.cmu.edu https://pointbreezepubs.gumroad.com/ pycse bookstore