diff options
author | Hugo Hörnquist <hugo@lysator.liu.se> | 2020-05-19 23:03:37 +0200 |
---|---|---|
committer | Hugo Hörnquist <hugo@lysator.liu.se> | 2020-05-19 23:03:37 +0200 |
commit | 345d92beb9096da34d7b2456e73884e24962556a (patch) | |
tree | 80c912db9b575461238a6351a6eea2d328b12fe7 /module/vcomponent/recurrence/display.scm | |
parent | Remove strbuf. (diff) | |
download | calp-345d92beb9096da34d7b2456e73884e24962556a.tar.gz calp-345d92beb9096da34d7b2456e73884e24962556a.tar.xz |
Fix recurrence display for BYMONTHDAY in YEARLY.
Diffstat (limited to '')
-rw-r--r-- | module/vcomponent/recurrence/display.scm | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/module/vcomponent/recurrence/display.scm b/module/vcomponent/recurrence/display.scm index be3ad774..c30a7344 100644 --- a/module/vcomponent/recurrence/display.scm +++ b/module/vcomponent/recurrence/display.scm @@ -1,3 +1,10 @@ +;;; Commentary: +;; Pretty print a recurrence rule (in Swedish). Is currently missing a +;; number of ;; edge cases, and even more concerning limited events. +;; NOTE It would be preferable if this could share as much logic as possible +;; with the "real" generator. +;;; Code: + (define-module (vcomponent recurrence display) :use-module (vcomponent recurrence internal) :use-module (util) @@ -35,10 +42,11 @@ ) groups)))) -(define (format-bymonth-day lst) +(define* (format-bymonth-day lst optional: (final-delim "&")) (list "den " (add-enumeration-punctuation - (map number->string-ordinal lst)))) + (map number->string-ordinal lst) + final-delim))) (define-public (format-recurrence-rule rrule) @@ -48,7 +56,7 @@ (case (freq rrule) [(YEARLY) (list (awhen (byday rrule) (list " " (format-byday-list it))) - (awhen (bymonthday rrule) (list " " (format-bymonth-day it))) + (awhen (bymonthday rrule) (list " " (format-bymonth-day it "eller"))) (awhen (byyearday rrule) (list " dag " (add-enumeration-punctuation it))) (awhen (bymonth rrule) |