diff --git a/lisp/calendar/time-date.el b/lisp/calendar/time-date.el index 01f96305edb..9041b04ae62 100644 --- a/lisp/calendar/time-date.el +++ b/lisp/calendar/time-date.el @@ -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)