Function: diary-icalendar-format-block-sexp
diary-icalendar-format-block-sexp is a byte-compiled function defined
in diary-icalendar.el.gz.
Signature
(diary-icalendar-format-block-sexp START END)
Documentation
Format a diary-block diary S-expression between START and END.
START and END may be icalendar-date or icalendar-date-time
values. If they are date-times, only the date parts will be considered.
Returns a string like "%%(diary-block ...)" with the arguments properly
ordered for the current value of calendar-date-style.
Source Code
;; Defined in /usr/src/emacs/lisp/calendar/diary-icalendar.el.gz
(defun di:format-block-sexp (start end)
"Format a `diary-block' diary S-expression between START and END.
START and END may be `icalendar-date' or `icalendar-date-time'
values. If they are date-times, only the date parts will be considered.
Returns a string like \"%%(diary-block ...)\" with the arguments properly
ordered for the current value of `calendar-date-style'."
(unless (cl-typep start 'ical:date)
(setq start (ical:date-time-to-date start)))
(unless (cl-typep end 'ical:date)
(setq end (ical:date-time-to-date end)))
(concat
diary-sexp-entry-symbol
(apply #'format "(diary-block %d %d %d %d %d %d)"
(cl-case calendar-date-style
;; M/D/Y
(american (list (calendar-extract-month start)
(calendar-extract-day start)
(calendar-extract-year start)
(calendar-extract-month end)
(calendar-extract-day end)
(calendar-extract-year end)))
;; D/M/Y
(european (list (calendar-extract-day start)
(calendar-extract-month start)
(calendar-extract-year start)
(calendar-extract-day end)
(calendar-extract-month end)
(calendar-extract-year end)))
;; Y/M/D
(iso (list (calendar-extract-year start)
(calendar-extract-month start)
(calendar-extract-day start)
(calendar-extract-year end)
(calendar-extract-month end)
(calendar-extract-day end)))))))