I am trying to debug something in org-read-date. 

If I run this code:

(let* ((mark-calendar (lambda ()
(calendar-mark-visible-date
(read (format-time-string "(%m %d %Y)"))
'font-lock-warning-face)))
       (calendar-today-visible-hook))
  (add-hook 'calendar-today-visible-hook
   mark-calendar)
  (org-read-date))

I get a little calendar that pops up, today is marked red, and there is a red square on it. I can use shift arrows to move the red box around so i can see what day is selected.

This slightly different code (differs only in assigning an anonymous face instead of an actual face doesn't do that exactly. Today is still marked red, but it is no longer selected with the inverse square. Neighboring days do get the red square, but not "today".

(let* ((mark-calendar (lambda ()
(calendar-mark-visible-date
(read (format-time-string "(%m %d %Y)"))
(list :foreground "red" :weight 'bold))))
       (calendar-today-visible-hook))
  (add-hook 'calendar-today-visible-hook
   mark-calendar)
  (org-read-date))

This is somewhat of an xy kind of question. I am writing code that sets the color of a day based on the number of tasks due that day, so I can't exactly define faces for all of those, and I was using the anonymous face for that. However, in doing that I lost the inverse video selection cursor so it is hard to tell where the cursor actually is. 

I assume that somewhere the cursor is getting an inverse-video attribute from the face that isn't present in the anonymous face, but I haven't been able to figure out where that comes in. 

Any suggestions for either how to fix this, or another approach to coloring the days in the calendar?

--
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