summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRicardo Wurmus <rekado@elephly.net>2020-05-14 08:18:48 +0200
committerRicardo Wurmus <rekado@elephly.net>2020-05-14 08:19:19 +0200
commit0d73a23c919c78549d36f32d715afc4f1fe8c4a0 (patch)
tree6608ac88105d2e373f54e06c40a6fc51cfb1d222
parent9810b49abd6511263a63ebf9e60222628e6533ae (diff)
message: date: Always return a date object.
-rw-r--r--TODO.org2
-rw-r--r--mumi/messages.scm12
2 files changed, 11 insertions, 3 deletions
diff --git a/TODO.org b/TODO.org
index 04d1430..8f07d6c 100644
--- 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
diff --git a/mumi/messages.scm b/mumi/messages.scm
index 7dcbf18..1e528b3 100644
--- a/mumi/messages.scm
+++ b/mumi/messages.scm
@@ -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)"))