summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLars Ingebrigtsen <larsi@gnus.org>2019-07-30 13:06:06 +0200
committerLars Ingebrigtsen <larsi@gnus.org>2019-07-30 13:06:06 +0200
commit9f14c9ad342e60d2ef4965253a57f297342e5cf9 (patch)
tree3a61d956b0f0f30e1bc04abb842eb5533c841c50
parentbd26eff54779bfd5739c1d663bcabd19246682d8 (diff)
downloademacs-9f14c9ad342e60d2ef4965253a57f297342e5cf9.tar.gz
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.
-rw-r--r--lisp/calendar/cal-dst.el5
-rw-r--r--lisp/calendar/calendar.el4
-rw-r--r--lisp/calendar/icalendar.el18
3 files changed, 15 insertions, 12 deletions
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))