Subject: bug#61460: 30.0.50; Calendar shows eclipse for quarter moon

From: Andreas Schwab <[email-masked]>
Date: Wed, 22 Feb 2023 10:45:22 +0100

On Feb 22 2023, Ulrich Mueller wrote:

>>>>>> On Tue, 21 Feb 2023, Michael Heerdegen wrote:
>
>>> That remark made me think about whether we want a `diary-eclipses' - or
>>> teach `diary-lunar-phases' to report eclipses (at the moment the latter
>>> doesn't report eclipses, I just tried).
>
>> Seems getting the latter is quite simple:
>
>> -        (cons mark (concat (lunar-phase-name (nth 2 phase)) " "
>> -                           (cadr phase))))))
>> +        (cons mark
>> +              (let ((eclipse (nth 3 phase)))
>> +                (concat (lunar-phase-name (nth 2 phase)) " "
>> +                        (cadr phase)
>> +                        (if (string-empty-p eclipse)
>> +                            ""
>> +                          (concat " " eclipse))))))))
>
> It is probably a matter of personal taste, but I dislike the nested
> concats. This seems simpler (not tested, though):
>
> -        (cons mark (concat (lunar-phase-name (nth 2 phase)) " "
> -                           (cadr phase))))))
> +        (cons mark
> +              (let ((eclipse (nth 3 phase)))
> +                (concat (lunar-phase-name (nth 2 phase)) " "
> +                        (cadr phase)
> +                        (if (string-empty-p eclipse) "" " ")
> +                        eclipse))))))

concat also accepts lists, so nil is pefectly fine as an argument.

-- 
Andreas Schwab, SUSE Labs, [email-masked]
GPG Key fingerprint = 0196 BAD8 1CE9 1970 F4BE  1748 E4D4 88E3 0EEA B9D7
"And now for something completely different."