From mboxrd@z Thu Jan 1 00:00:00 1970 From: Nick Dokos Subject: Bug in iCalendar export Date: Wed, 28 May 2008 16:03:32 -0400 Message-ID: <854.1212005012@alphaville.zko.hp.com> Reply-To: nicholas.dokos@hp.com Return-path: Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1K1RtU-00031D-Jt for emacs-orgmode@gnu.org; Wed, 28 May 2008 16:05:08 -0400 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1K1RtT-000310-9Y for emacs-orgmode@gnu.org; Wed, 28 May 2008 16:05:08 -0400 Received: from [199.232.76.173] (port=55720 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1K1RtS-00030x-Pt for emacs-orgmode@gnu.org; Wed, 28 May 2008 16:05:06 -0400 Received: from g1t0026.austin.hp.com ([15.216.28.33]:5693) by monty-python.gnu.org with esmtps (TLS-1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.60) (envelope-from ) id 1K1RtS-00053g-BC for emacs-orgmode@gnu.org; Wed, 28 May 2008 16:05:06 -0400 Received: from smtp2.fc.hp.com (smtp.cnd.hp.com [15.11.136.114]) by g1t0026.austin.hp.com (Postfix) with ESMTP id 0CD1EC396 for ; Wed, 28 May 2008 20:03:33 +0000 (UTC) List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org Errors-To: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org To: emacs-orgmode@gnu.org There seems to be a bug somewhere in org-export-icalendar code where the *ical-tmp* buffer seems to get deleted prematurely, but I can't figure out where exactly, so I'm hoping that a) it's reproducible and b) somebody will see what's wrong. Versions: --------- emacs: GNU Emacs 22.1.50.2 (i686-pc-linux-gnu, GTK+ Version 2.10.11) of 2007-11-23 on gamaville.dokosmarshall.org org: Org-mode version 6.04b Sample org file: ---------------- I just cut and pasted from the org manual: --------------------------------------------------------------------------- * Birthdays and similar stuff #+CATEGORY: Holiday %%(org-calendar-holiday) ; special function for holiday names #+CATEGORY: Ann %%(diary-anniversary 14 5 1956) Arthur Dent is %d years old %%(diary-anniversary 2 10 1869) Mahatma Gandhi would be %d years old --------------------------------------------------------------------------- Then I do M-x org-export-icalendar-this-file (or C-c C-e i) and I get the following backtrace: --------------------------------------------------------------------------- Debugger entered--Lisp error: (error "Selecting deleted buffer") set-buffer(#) (save-current-buffer (set-buffer sexp-buffer) (insert sexp "\n")) (with-current-buffer sexp-buffer (insert sexp "\n")) (catch :skip (org-agenda-skip) (setq b (match-beginning 0)) (goto-char (1- ...)) (forward-sexp 1) (end-of-line 1) (setq sexp (buffer-substring b ...)) (with-current-buffer sexp-buffer (insert sexp "\n")) (princ (org-diary-to-ical-string sexp-buffer))) (while (re-search-forward "^&?%%(" nil t) (catch :skip (org-agenda-skip) (setq b ...) (goto-char ...) (forward-sexp 1) (end-of-line 1) (setq sexp ...) (with-current-buffer sexp-buffer ...) (princ ...))) (progn (goto-char (point-min)) (while (re-search-forward "^&?%%(" nil t) (catch :skip ... ... ... ... ... ... ... ...))) (if (and org-icalendar-include-sexps (condition-case nil ... ...) (fboundp ...)) (progn (goto-char ...) (while ... ...))) (when (and org-icalendar-include-sexps (condition-case nil ... ...) (fboundp ...)) (goto-char (point-min)) (while (re-search-forward "^&?%%(" nil t) (catch :skip ... ... ... ... ... ... ... ...))) (save-excursion (goto-char (point-min)) (while (re-search-forward re1 nil t) (catch :skip ... ... ... ... ... ... ... ... ... ... ... ...)) (when (and org-icalendar-include-sexps ... ...) (goto-char ...) (while ... ...)) (when org-icalendar-include-todo (setq prefix "TODO-") (goto-char ...) (while ... ...))) (let ((re1 ...) (re2 ...) (dts ...) hd ts ts2 state status (inc t) pos b sexp rrule scheduledp deadlinep prefix tmp pri category entry location summary desc uid (sexp-buffer ...)) (org-refresh-category-properties) (save-excursion (goto-char ...) (while ... ...) (when ... ... ...) (when org-icalendar-include-todo ... ... ...))) org-print-icalendar-entries(nil) (let ((standard-output ical-buffer)) (if combine (and ... ... ...) (org-start-icalendar-file category)) (org-print-icalendar-entries combine) (when (or ... ...) (org-finish-icalendar-file) (set-buffer ical-buffer) (save-buffer) (run-hooks ...) (and ... ... ...))) (catch (quote nextfile) (org-check-agenda-file file) (set-buffer (org-get-agenda-file-buffer file)) (unless combine (setq ical-file ...) (setq ical-buffer ...) (with-current-buffer ical-buffer ...)) (setq category (or org-category ...)) (if (symbolp category) (setq category ...)) (let (...) (if combine ... ...) (org-print-icalendar-entries combine) (when ... ... ... ... ... ...))) (while (setq file (pop files)) (catch (quote nextfile) (org-check-agenda-file file) (set-buffer ...) (unless combine ... ... ...) (setq category ...) (if ... ...) (let ... ... ... ...))) (let* ((dir ...) file ical-file ical-buffer category started org-agenda-new-buffers) (and (get-buffer "*ical-tmp*") (kill-buffer "*ical-tmp*")) (when combine (setq ical-file ... ical-buffer ...) (set-buffer ical-buffer) (erase-buffer)) (while (setq file ...) (catch ... ... ... ... ... ... ...)) (org-release-buffers org-agenda-new-buffers)) (save-excursion (org-prepare-agenda-buffers files) (let* (... file ical-file ical-buffer category started org-agenda-new-buffers) (and ... ...) (when combine ... ... ...) (while ... ...) (org-release-buffers org-agenda-new-buffers))) org-export-icalendar(nil "/home/nick/lib/org/ical.org") org-export-icalendar-this-file() call-interactively(org-export-icalendar-this-file) (if (and bg (nth 2 ass)) (let (...) (set-process-sentinel p ...) (message "Background process \"%s\": started" p)) (call-interactively (nth 1 ass))) (let* ((bg ...) (help "[t] insert the export option template\n[v] limit export to visible part of outline tree\n\n[a] export as ASCII\n\n[h] export as HTML\n[H] export as HTML to temporary buffer\n[R] export region as HTML\n[b] export as HTML and browse immediately\n[x] export as XOXO\n\n[l] export as LaTeX\n[L] export as LaTeX to temporary buffer\n\n[i] export current file as iCalendar file\n[I] export all agenda files as iCalendar files\n[c] export agenda files into combined iCalendar file\n\n[F] publish current file\n[P] publish current project\n[X] publish... (project will be prompted for)\n[A] publish all projects") (cmds ...) r1 r2 ass) (save-window-excursion (delete-other-windows) (with-output-to-temp-buffer "*Org Export/Publishing Help*" ...) (message "Select command: ") (set q r1 ...)) (setq r2 (if ... ... r1)) (unless (setq ass ...) (error "No command associated with key %c" r1)) (if (and bg ...) (let ... ... ...) (call-interactively ...))) org-export(nil) call-interactively(org-export) --------------------------------------------------------------------------- If there is only one %%(...) expression in the file, the export seems to work, but with more than one, the error gets triggered. If more information is needed, let me know: I'd be happy to supply it. Thanks, Nick