emacs-orgmode
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[O] icalendar export skips todos with a scheduled time-range


From: Sébastien Delafond
Subject: [O] icalendar export skips todos with a scheduled time-range
Date: Thu, 12 Apr 2012 12:10:37 +0000 (UTC)
User-agent: slrn/pre1.0.0-18 (Linux)

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




reply via email to

[Prev in Thread] Current Thread [Next in Thread]