emacs-elpa-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[elpa] externals/compat 33d3e7149a 1/2: compat-28: Add decoded-time-* gv


From: ELPA Syncer
Subject: [elpa] externals/compat 33d3e7149a 1/2: compat-28: Add decoded-time-* gv
Date: Sat, 14 Jan 2023 09:57:26 -0500 (EST)

branch: externals/compat
commit 33d3e7149a23e9f1d715f63adc1e5856c42d2ff8
Author: Daniel Mendler <mail@daniel-mendler.de>
Commit: Daniel Mendler <mail@daniel-mendler.de>

    compat-28: Add decoded-time-* gv
---
 NEWS.org        |  4 ++++
 compat-27.el    | 11 ++++++++++-
 compat-tests.el | 22 ++++++++++++++++++++--
 3 files changed, 34 insertions(+), 3 deletions(-)

diff --git a/NEWS.org b/NEWS.org
index 0b8d177521..5d597fce19 100644
--- a/NEWS.org
+++ b/NEWS.org
@@ -1,5 +1,9 @@
 #+title: compat.el - Changelog
 
+* Development
+
+- compat-27: Add generalized variables for ~decoded-time-*~.
+
 * Release of "Compat" Version 29.1.1.1
 
 - Tests added (167 out of 203 definitions tested, 82%)
diff --git a/compat-27.el b/compat-27.el
index f52685ca44..0210b73ae0 100644
--- a/compat-27.el
+++ b/compat-27.el
@@ -330,7 +330,16 @@ This is an integer indicating the UTC offset in seconds, 
i.e.,
 the number of seconds east of Greenwich."
   (nth 8 time))
 
-;; TODO define gv-setters for decoded-time-*
+(when (eval-when-compile (version< emacs-version "27.1"))
+  (gv-define-setter decoded-time-second (v x)  `(setcar (nthcdr 0 ,x) ,v))
+  (gv-define-setter decoded-time-minute (v x)  `(setcar (nthcdr 1 ,x) ,v))
+  (gv-define-setter decoded-time-hour (v x)    `(setcar (nthcdr 2 ,x) ,v))
+  (gv-define-setter decoded-time-day (v x)     `(setcar (nthcdr 3 ,x) ,v))
+  (gv-define-setter decoded-time-month (v x)   `(setcar (nthcdr 4 ,x) ,v))
+  (gv-define-setter decoded-time-year (v x)    `(setcar (nthcdr 5 ,x) ,v))
+  (gv-define-setter decoded-time-weekday (v x) `(setcar (nthcdr 6 ,x) ,v))
+  (gv-define-setter decoded-time-dst (v x)     `(setcar (nthcdr 7 ,x) ,v))
+  (gv-define-setter decoded-time-zone (v x)    `(setcar (nthcdr 8 ,x) ,v)))
 
 ;;;; Defined in image.el
 
diff --git a/compat-tests.el b/compat-tests.el
index fd9a9c30b6..bc6386e207 100644
--- a/compat-tests.el
+++ b/compat-tests.el
@@ -2122,7 +2122,7 @@
   ;; (should (time-equal-p (days-to-time 999.0) '(1317 2688 0 0)))
   )
 
-(ert-deftest decoded-time-getters ()
+(ert-deftest decoded-time-accessors ()
   (let ((time '(second minute hour day month year weekday dst zone)))
     (should-equal (decoded-time-second time) 'second)
     (should-equal (decoded-time-minute time) 'minute)
@@ -2132,7 +2132,25 @@
     (should-equal (decoded-time-year time) 'year)
     (should-equal (decoded-time-weekday time) 'weekday)
     (should-equal (decoded-time-dst time) 'dst)
-    (should-equal (decoded-time-zone time) 'zone)))
+    (should-equal (decoded-time-zone time) 'zone)
+    (setf (decoded-time-second time) 'SECOND)
+    (setf (decoded-time-minute time) 'MINUTE)
+    (setf (decoded-time-hour time) 'HOUR)
+    (setf (decoded-time-day time) 'DAY)
+    (setf (decoded-time-month time) 'MONTH)
+    (setf (decoded-time-year time) 'YEAR)
+    (setf (decoded-time-weekday time) 'WEEKDAY)
+    (setf (decoded-time-dst time) 'DST)
+    (setf (decoded-time-zone time) 'ZONE)
+    (should-equal (decoded-time-second time) 'SECOND)
+    (should-equal (decoded-time-minute time) 'MINUTE)
+    (should-equal (decoded-time-hour time) 'HOUR)
+    (should-equal (decoded-time-day time) 'DAY)
+    (should-equal (decoded-time-month time) 'MONTH)
+    (should-equal (decoded-time-year time) 'YEAR)
+    (should-equal (decoded-time-weekday time) 'WEEKDAY)
+    (should-equal (decoded-time-dst time) 'DST)
+    (should-equal (decoded-time-zone time) 'ZONE)))
 
 (ert-deftest decoded-time-period ()
   (should-equal 0 (decoded-time-period '()))



reply via email to

[Prev in Thread] Current Thread [Next in Thread]