decoded-time-add: Use 'floor'

* lisp/calendar/time-date.el (decoded-time-add): Use 'floor' to
count new year field value.

Copyright-paperwork-exempt: yes
This commit is contained in:
Ilya Chernyshov
2025-09-20 17:31:04 +07:00
committed by Sean Whitton
parent 7f925b06ac
commit 0c80d3bee6

View File

@@ -547,7 +547,7 @@ changes in daylight saving time are not taken into account."
(when (decoded-time-month delta)
(let ((new (+ (1- (decoded-time-month time)) (decoded-time-month delta))))
(setf (decoded-time-month time) (1+ (mod new 12)))
(incf (decoded-time-year time) (- (/ new 12) (if (< new 0) 1 0)))))
(incf (decoded-time-year time) (floor new 12))))
;; Adjust for month length (as described in the doc string).
(setf (decoded-time-day time)