From: Lars Ingebrigtsen Date: Tue, 30 Jul 2019 11:06:06 +0000 (+0200) Subject: Use decoded time accessors in calendar X-Git-Tag: emacs-27.0.90~1817^2~22 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=9f14c9ad342e60d2ef4965253a57f297342e5cf9;p=emacs.git Use decoded time accessors in calendar * lisp/calendar/icalendar.el (icalendar--add-decoded-times) (icalendar--convert-sexp-to-ical): * lisp/calendar/calendar.el (calendar-current-date): * lisp/calendar/cal-dst.el (calendar-dst-find-data) (calendar-dst-find-startend): Use decoded time accessors. --- diff --git a/lisp/calendar/cal-dst.el b/lisp/calendar/cal-dst.el index e0126a6560e..510cd6808e4 100644 --- a/lisp/calendar/cal-dst.el +++ b/lisp/calendar/cal-dst.el @@ -259,7 +259,7 @@ for `calendar-current-time-zone'." (car t2-date-sec) t1-utc-diff)) (t1-time (/ (cdr t1-date-sec) 60)) (t2-time (/ (cdr t2-date-sec) 60))) - (if (nth 7 (decode-time t1)) + (if (decoded-time-dst (decode-time t1)) (list (/ t0-utc-diff 60) (/ (- t1-utc-diff t0-utc-diff) 60) t0-name t1-name t1-rules t2-rules t1-time t2-time) (list (/ t1-utc-diff 60) (/ (- t0-utc-diff t1-utc-diff) 60) @@ -291,7 +291,8 @@ the current year." (condition-case nil (encode-time 1 0 0 1 1 year) (error - (encode-time 1 0 0 1 1 (nth 5 (decode-time)))))) + (encode-time 1 0 0 1 1 + (decoded-time-year (decode-time)))))) f (nth 4 e) e (list year f (nth 5 e)) calendar-dst-transition-cache diff --git a/lisp/calendar/calendar.el b/lisp/calendar/calendar.el index 1e988c2712f..14604a673d0 100644 --- a/lisp/calendar/calendar.el +++ b/lisp/calendar/calendar.el @@ -1871,7 +1871,9 @@ the STRINGS are just concatenated and the result truncated." "Return the current date in a list (month day year). Optional integer OFFSET is a number of days from the current date." (let* ((now (decode-time)) - (now (list (nth 4 now) (nth 3 now) (nth 5 now)))) + (now (list (decoded-time-month now) + (decoded-time-day now) + (decoded-time-year now)))) (if (zerop (or offset 0)) now (calendar-gregorian-from-absolute diff --git a/lisp/calendar/icalendar.el b/lisp/calendar/icalendar.el index 17316ddbbd0..cf3315b45db 100644 --- a/lisp/calendar/icalendar.el +++ b/lisp/calendar/icalendar.el @@ -721,12 +721,12 @@ Both times must be given in decoded form. One of these times must be valid (year > 1900 or something)." ;; FIXME: does this function exist already? (decode-time (encode-time - (+ (nth 0 time1) (nth 0 time2)) - (+ (nth 1 time1) (nth 1 time2)) - (+ (nth 2 time1) (nth 2 time2)) - (+ (nth 3 time1) (nth 3 time2)) - (+ (nth 4 time1) (nth 4 time2)) - (+ (nth 5 time1) (nth 5 time2)) + (+ (decoded-time-second time1) (decoded-time-second time2)) + (+ (decoded-time-minute time1) (decoded-time-minute time2)) + (+ (decoded-time-hour time1) (decoded-time-hour time2)) + (+ (decoded-time-day time1) (decoded-time-day time2)) + (+ (decoded-time-month time1) (decoded-time-month time2)) + (+ (decoded-time-year time1) (decoded-time-year time2)) nil nil ;;(or (nth 6 time1) (nth 6 time2)) ;; FIXME? @@ -1623,9 +1623,9 @@ enumeration, given as a Lisp time value -- used for test purposes." (lambda (offset) (let* ((day (decode-time (time-add now (* 60 60 24 offset)))) - (d (nth 3 day)) - (m (nth 4 day)) - (y (nth 5 day)) + (d (decoded-time-day day)) + (m (decoded-time-month day)) + (y (decoded-time-year day)) (se (diary-sexp-entry p1 p2 (list m d y))) (see (cond ((stringp se) se) ((consp se) (cdr se))