Hello, >From Debian bug #668496[0]:
If I have an org-file containing a todo with a scheduled date range, like this: ,----[ foo.org ] *** TODO Weekend with the lads SCHEDULED: <2012-05-04 Fr>--<2012-05-08 Di> `---- and try to export it via org-export-icalendar-this-file, the resulting foo.ics will look like this ,----[ foo.ics ] BEGIN:VCALENDAR VERSION:2.0 X-WR-CALNAME:foo PRODID:-//Friedrich Delgado//Emacs with Org-mode//EN X-WR-TIMEZONE:Europe/Berlin X-WR-CALDESC:nil CALSCALE:GREGORIAN END:VCALENDAR `---- (i.e.: contain no appointments at all) I think the responsible section of code may reside in /usr/share/emacs23/site-lisp/org-mode/org-icalendar.el, line 360: ,---- (if (looking-at re2) (progn (goto-char (match-end 0)) (setq ts2 (match-string 1) inc (not (string-match "[0-9]\\{1,2\\}:[0-9][0-9]" ts2)))) (setq tmp (buffer-substring (max (point-min) (- pos org-ds-keyword-length)) pos) ts2 (if (string-match "[0-9]\\{1,2\\}:[0-9][0-9]-\\([0-9]\\{1,2\\}:[0-9][0-9]\\)" ts) (progn (setq inc nil) (replace-match "\\1" t nil ts)) ts) deadlinep (string-match org-deadline-regexp tmp) scheduledp (string-match org-scheduled-regexp tmp) todo (org-get-todo-state) ;; donep (org-entry-is-done-p) )) `---- From my basic understanding of the code-flow it looks like re2 == (concat "--?-?\\(" org-ts-regexp "\\)") is meant to match date-ranges, but the code in the t branch of the if doesn't set deadlinep, schedulep and todo, preventing all further processing of the entry. But I may be wrong about the intentions of that function. Cheers, --Seb [0] http://bugs.debian.org/668496