I finaly tracked in down, while sitting in the train. I hope I'll have
enough battery life to give explaination here, and that I'll find some
wireless spot tonight to send this report.
Here is a simplified stack of exporting to ical :
- org-export-icalendar-combine-agenda-files
`- org-export-icalendar
`- org-print-icalendar-entries
`- (org-diary-to-ical-string sexp-buffer) in org-exp.el:3791
A look at org-diary-to-ical-string shows :
,----
| (defun org-diary-to-ical-string (frombuf)
| "Get iCalendar entries from diary entries in buffer FROMBUF.
| This uses the icalendar.el library."
`----
then at the end of this function :
(kill-buffer frombuf)
This line is incriminated. Although I have a very limited
understanding of how the export procedure works, I think it can be
replaced by something like :
(with-current-buffer frombuf (erase-buffer))
or, the "ical-tmp" buffer should be re-created by some mean in the
loop.
I don't understand how it can work for some people, though ... :)