From 53225d8a3a4d8641c8e459658d4fcbc8d03d6e65 Mon Sep 17 00:00:00 2001 From: Liu Hui Date: Fri, 9 Jan 2026 21:56:52 +0800 Subject: [PATCH] Fix cursor position in calendar-generate-window (bug#80069) * lisp/calendar/calendar.el (calendar-generate-window): Move cursor to today before running calendar-today-visible-hook. --- lisp/calendar/calendar.el | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/lisp/calendar/calendar.el b/lisp/calendar/calendar.el index 0d49a6571d5..2da45c18880 100644 --- a/lisp/calendar/calendar.el +++ b/lisp/calendar/calendar.el @@ -1450,9 +1450,12 @@ Optional integers MON and YR are used instead of today's date." (calendar-mark-holidays)) (unwind-protect (if calendar-mark-diary-entries (diary-mark-entries)) - (run-hooks (if (calendar-date-is-visible-p today) - 'calendar-today-visible-hook - 'calendar-today-invisible-hook))))) + (if (not (calendar-date-is-visible-p today)) + (run-hooks 'calendar-today-invisible-hook) + ;; Functions in calendar-today-visible-hook may rely on the cursor + ;; being on today's date. + (calendar-cursor-to-visible-date today) + (run-hooks 'calendar-today-visible-hook))))) (defun calendar-generate (month year) "Generate a three-month Gregorian calendar centered around MONTH, YEAR."