From 039668a5a4b27ea7e841592b9be42e50af1abe74 Mon Sep 17 00:00:00 2001 From: Michael Heerdegen Date: Wed, 22 Feb 2023 14:56:07 +0100 Subject: [PATCH] Make also 'diary-lunar-phases' report eclipses * lisp/calendar/lunar.el (diary-lunar-phases): Report eclipses. (calendar-lunar-phases): Tweak. --- lisp/calendar/lunar.el | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/lisp/calendar/lunar.el b/lisp/calendar/lunar.el index 4f8f34d954f..5b22043102d 100644 --- a/lisp/calendar/lunar.el +++ b/lisp/calendar/lunar.el @@ -245,10 +245,11 @@ calendar-lunar-phases (insert (mapconcat (lambda (x) - (format "%s: %s %s %s" (calendar-date-string (car x)) - (lunar-phase-name (nth 2 x)) - (cadr x) - (car (last x)))) + (let ((eclipse (nth 3 x))) + (concat (calendar-date-string (car x)) ": " + (lunar-phase-name (nth 2 x)) " " + (cadr x) (unless (string-empty-p eclipse) " ") + eclipse))) (lunar-phase-list m1 y1) "\n"))) (message "Computing phases of the moon...done")))) @@ -283,9 +284,13 @@ diary-lunar-phases (while (calendar-date-compare phase (list date)) (setq index (1+ index) phase (lunar-phase index))) - (if (calendar-date-equal (car phase) date) - (cons mark (concat (lunar-phase-name (nth 2 phase)) " " - (cadr phase)))))) + (and (calendar-date-equal (car phase) date) + (cons mark + (let ((eclipse (nth 3 phase))) + (concat (lunar-phase-name (nth 2 phase)) " " + (cadr phase) + (unless (string-empty-p eclipse) " ") + eclipse)))))) ;; For the Chinese calendar the calculations for the new moon need to be more ;; accurate than those above, so we use more terms in the approximation. -- 2.30.2