Function: gnus-icalendar-event:org-timestamp

gnus-icalendar-event:org-timestamp is a byte-compiled function defined in gnus-icalendar.el.gz.

Signature

(gnus-icalendar-event:org-timestamp ARG &rest ARGS)

Implementations

(gnus-icalendar-event:org-timestamp (EVENT gnus-icalendar-event)) in `gnus-icalendar.el'.

Build `org-mode' timestamp from EVENT start/end dates and recurrence info.

Source Code

;; Defined in /usr/src/emacs/lisp/gnus/gnus-icalendar.el.gz
(cl-defmethod gnus-icalendar-event:org-timestamp ((event gnus-icalendar-event))
  "Build `org-mode' timestamp from EVENT start/end dates and recurrence info."
  ;; if org-repeat +1d or +1w and byday: generate one timestamp per
  ;; byday, starting at start-date. Change +1d to +7d.
  (let ((start (gnus-icalendar-event:start-time event))
        (end (gnus-icalendar-event:end-time event))
        (org-repeat (gnus-icalendar-event:org-repeat event))
        (recurring-days (gnus-icalendar-event:recurring-days event)))
    (if (and (or (string= org-repeat "+1d")
                 (string= org-repeat "+1w"))
             recurring-days)
      (let ((repeat "+1w")
            (dates (seq-sort-by
		    #'car
		    #'time-less-p
		    (seq-map (lambda (x)
			       (gnus-icalendar--find-day start end x))
			     recurring-days))))
        (mapconcat (lambda (x)
		     (gnus-icalendar-event--org-timestamp (car x) (cadr x)
							  repeat))
		   dates "\n"))
      (gnus-icalendar-event--org-timestamp start end org-repeat))))