Function: gnus-icalendar-event:recurring-days

gnus-icalendar-event:recurring-days is a byte-compiled function defined in gnus-icalendar.el.gz.

Signature

(gnus-icalendar-event:recurring-days ARG &rest ARGS)

Implementations

(gnus-icalendar-event:recurring-days (EVENT gnus-icalendar-event)) in `gnus-icalendar.el'.

Return, when available, the week day numbers on which the EVENT recurs.

Source Code

;; Defined in /usr/src/emacs/lisp/gnus/gnus-icalendar.el.gz
(cl-defmethod gnus-icalendar-event:recurring-days ((event gnus-icalendar-event))
  "Return, when available, the week day numbers on which the EVENT recurs."
  (let ((rrule (gnus-icalendar-event:recur event))
        (weekday-map '(("SU" . 0)
                       ("MO" . 1)
                       ("TU" . 2)
                       ("WE" . 3)
                       ("TH" . 4)
                       ("FR" . 5)
                       ("SA" . 6))))
    (when (and rrule (string-match "BYDAY=\\([^;]+\\)" rrule))
      (let ((bydays (split-string (match-string 1 rrule) ",")))
        (seq-map
         (lambda (x) (cdr (assoc x weekday-map)))
         (seq-filter (lambda (x) (string-match "^[A-Z]\\{2\\}$" x)) bydays))))))