Function: icalendar--format-ical-event

icalendar--format-ical-event is a byte-compiled function defined in icalendar.el.gz.

Signature

(icalendar--format-ical-event EVENT)

Documentation

Create a string representation of an iCalendar EVENT.

Source Code

;; Defined in /usr/src/emacs/lisp/calendar/icalendar.el.gz
(defun icalendar--format-ical-event (event)
  "Create a string representation of an iCalendar EVENT."
  (if (functionp icalendar-import-format)
      (funcall icalendar-import-format event)
    (let ((string icalendar-import-format)
          (case-fold-search nil)
        (conversion-list
         '(("%c" CLASS       icalendar-import-format-class)
           ("%d" DESCRIPTION icalendar-import-format-description)
           ("%l" LOCATION    icalendar-import-format-location)
           ("%o" ORGANIZER   icalendar-import-format-organizer)
           ("%s" SUMMARY     icalendar-import-format-summary)
           ("%t" STATUS      icalendar-import-format-status)
           ("%u" URL         icalendar-import-format-url)
           ("%U" UID         icalendar-import-format-uid))))
    ;; convert the specifiers in the format string
    (mapc (lambda (i)
	    (let* ((spec (car i))
		   (prop (cadr i))
		   (format (car (cddr i)))
		   (contents (icalendar--get-event-property event prop))
		   (formatted-contents ""))
	      (when (and contents (> (length contents) 0))
		(setq formatted-contents
		      (replace-regexp-in-string "%s"
				       (icalendar--convert-string-for-import
					contents)
				       (symbol-value format)
				       t t)))
	      (setq string (replace-regexp-in-string spec
					    formatted-contents
					    string
					    t t))))
	  conversion-list)
    string)))