aboutsummaryrefslogtreecommitdiff
path: root/module/vcomponent/recurrence/internal.scm
diff options
context:
space:
mode:
Diffstat (limited to 'module/vcomponent/recurrence/internal.scm')
-rw-r--r--module/vcomponent/recurrence/internal.scm52
1 files changed, 29 insertions, 23 deletions
diff --git a/module/vcomponent/recurrence/internal.scm b/module/vcomponent/recurrence/internal.scm
index 2e04dd64..9cb6b115 100644
--- a/module/vcomponent/recurrence/internal.scm
+++ b/module/vcomponent/recurrence/internal.scm
@@ -1,6 +1,4 @@
(define-module (vcomponent recurrence internal)
- #:export (repeating? format-recur-rule make-recur-rule)
-
#:use-module (srfi srfi-1)
#:use-module (srfi srfi-71)
#:use-module (srfi srfi-88) ; better keywords
@@ -11,7 +9,27 @@
#:use-module (ice-9 format)
#:use-module (hnh util)
#:use-module (datetime)
- )
+
+ :replace (count)
+ :export (repeating?
+
+ make-recur-rule
+ freq until interval bysecond byminute byhour
+ byday bymonthday byyearday byweekno bymonth bysetpos
+ wkst
+
+ recur-rule->rrule-string
+ recur-rule->rrule-sxml
+
+ weekdays
+ intervals
+ ))
+
+(define weekdays
+ (weekday-list sun))
+
+(define intervals
+ '(SECONDLY MINUTELY HOURLY DAILY WEEKLY MONTHLY YEARLY))
;; EXDATE is also a property linked to recurense rules
@@ -47,19 +65,16 @@
(wkst wkst) ; weekday
)
-(export freq until interval bysecond byminute byhour
- byday bymonthday byyearday byweekno bymonth bysetpos
- wkst)
-(export! count)
+
;; Interval and wkst have default values, since those are assumed
;; anyways, and having them set frees us from having to check them at
;; the use site.
-(define*-public (make-recur-rule
- key:
- freq until count (interval 1) bysecond byminute byhour
- byday bymonthday byyearday byweekno bymonth bysetpos
- (wkst monday))
+(define* (make-recur-rule
+ key:
+ freq until count (interval 1) bysecond byminute byhour
+ byday bymonthday byyearday byweekno bymonth bysetpos
+ (wkst monday))
;; TODO possibly validate fields here
;; to prevent creation of invalid rules.
;; This was made apparent when wkst was (incorrectly) set to MO,
@@ -117,7 +132,7 @@
#f (proc field (get field))))
(record-type-fields <recur-rule>)))
-(define-public (recur-rule->rrule-string rrule)
+(define (recur-rule->rrule-string rrule)
(string-join
(map-fields
(lambda (field value)
@@ -127,7 +142,7 @@
rrule)
";"))
-(define-public (recur-rule->rrule-sxml rrule)
+(define (recur-rule->rrule-sxml rrule)
(map-fields
(lambda (field value)
(cond [(string-ci=? "UNTIL" (symbol->string field))
@@ -152,12 +167,3 @@
`(,(downcase-symbol field)
,(field->string field value))]))
rrule))
-
-
-
-
-(define-public weekdays
- (weekday-list sun))
-
-(define-public intervals
- '(SECONDLY MINUTELY HOURLY DAILY WEEKLY MONTHLY YEARLY))