message: date: Always return a date object.
authorRicardo Wurmus <rekado@elephly.net>
Thu, 14 May 2020 06:18:48 +0000 (08:18 +0200)
committerRicardo Wurmus <rekado@elephly.net>
Thu, 14 May 2020 06:19:19 +0000 (08:19 +0200)
TODO.org
mumi/messages.scm

index 04d14308ffd92279b70e901a188d034060148fbb..8f07d6c74ef489d83e73dc78f7a41c08034282ce 100644 (file)
--- a/TODO.org
+++ b/TODO.org
@@ -19,5 +19,3 @@ other pages of issues.
 
 * Add links to all tag queries (such as "easy")
 
-* broken issues:
-37479
index 7dcbf188b772337be7364d52226d2903147fdded..1e528b3f7850f304d7ce67906f0a28d083d22ce7 100644 (file)
@@ -96,7 +96,17 @@ yet.  Return new results alongside cached results."
   (extract-name (sender message)))
 
 (define (date message)
-  (or (header message 'date) "unknown date"))
+  (let ((d (header message 'date)))
+    (cond
+     ((date? d) d)
+     ((boolean? d)
+      (current-date))
+     ((and (string? d)
+           (string->number d)) =>
+      (lambda (seconds)
+        (let* ((time (make-time time-utc 0 seconds))
+               (date (time-utc->date time)))
+          date))))))
 
 (define (subject message)
   (or (header message 'subject) "(no subject)"))