Function: icalendar-match-recur-value
icalendar-match-recur-value is a byte-compiled function defined in
icalendar-parser.el.gz.
Signature
(icalendar-match-recur-value S)
Documentation
Match string S against rx icalendar-rrule-value.
Source Code
;; Defined in /usr/src/emacs/lisp/calendar/icalendar-parser.el.gz
(ical:define-type ical:rrule-value
;; Renamed from "ical:recur", which turns out to
;; produce confusing names downstream. Thus I've
;; deviated from the standard here, and call
;; `ical:rrule-value' what the standard calls a RECUR
;; value. (`ical:rrule' is not available because that
;; names the *property* containing such a value.)
"RECUR"
"Type for Recurrence Rule values.
When printed, a recurrence rule value looks like
KEY1=VAL1;KEY2=VAL2;...
where the VALs may themselves be lists or have other syntactic
structure; see RFC5545 sec. 3.3.10 for all the details.
The KEYs and their associated value types when read are as follows.
The first is required:
'(FREQ (member YEARLY MONTHLY WEEKLY DAILY HOURLY MINUTELY SECONDLY)
These two are mutually exclusive; at most one may appear:
UNTIL (or icalendar-date-time icalendar-date)
COUNT (integer 1 *)
All others are optional:
INTERVAL (integer 1 *)
BYSECOND (list-of (integer 0 60))
BYMINUTE (list-of (integer 0 59))
BYHOUR (list-of (integer 0 23))
BYDAY (list-of (or (integer 0 6) ; day of week
(pair (integer 0 6) ; (day of week . offset)
(integer -53 53))) ; except 0
BYMONTHDAY (list-of (integer -31 31)) ; except 0
BYYEARDAY (list-of (integer -366 366)) ; except 0
BYWEEKNO (list-of (integer -53 53)) ; except 0
BYMONTH (list-of (integer 1 12)) ; months cannot be negative
BYSETPOS (list-of (integer -366 366)) ; except 0
WKST (integer 0 6))
When read, these KEYs and their associated VALs are gathered into
an alist.
In general, the VALs consist of integers or lists of integers.
Abbreviations for weekday names are translated into integers
0 (=Sunday) through 6 (=Saturday), for compatibility with
calendar.el and decoded-time-* functions.
Some examples:
1) Printed: FREQ=DAILY;COUNT=10;INTERVAL=2
Meaning: 10 occurrences that occur every other day
Read: ((FREQ DAILY)
(COUNT 10)
(INTERVAL 2))
2) Printed: FREQ=YEARLY;UNTIL=20000131T140000Z;BYMONTH=1;BYDAY=SU,MO,TU,WE,TH,FR,SA
Meaning: Every day in January of every year until 2000/01/31 at 14:00 UTC
Read: ((FREQ YEARLY)
(UNTIL (0 0 14 31 1 2000 1 -1 0))
(BYMONTH (1))
(BYDAY (0 1 2 3 4 5 6)))
3) Printed: FREQ=MONTHLY;BYDAY=MO,TU,WE,TH,FR;BYSETPOS=-2
Meaning: Every month on the second-to-last weekday of the month
Read: ((FREQ MONTHLY)
(BYDAY (1 2 3 4 5))
(BYSETPOS (-2)))
Notice that singleton values are still wrapped in a list when the
KEY accepts a list of values, but not when the KEY always has a
single (e.g. integer) value."
'(satisfies ical:rrule-value-p)
(ical:semicolon-list ical:rrule-part)
:reader ical:read-rrule-value
:printer ical:print-rrule-value
:link "https://www.rfc-editor.org/rfc/rfc5545#section-3.3.10")