Rasmus <ras...@gmx.us> writes: > Joseph Le Roux <joseph.le.r...@gmail.com> writes: > >> Eric S Fraga <e.fr...@ucl.ac.uk> writes: >> >>> On Tuesday, 21 Oct 2014 at 16:47, Joseph Le Roux wrote: >>>> Rasmus <ras...@gmx.us> writes: >>> >>> [...] >>> >>>>> Will `org-clone-subtree-with-time-shift' do what you want? >>>>> >>>> >>>> Thanks for the pointer, it could be very handy in my use-case, but this >>>> function copies the org-class as is for all clones. I would like to >>> >>> The idea is to use the clone function and not the org-class >>> expression. Combining the two simply confuses things! >>> >>> What I do every start of term is define an entry for each lecture slot >>> in a week including the actual time information, lecture theatre, >>> etc. I then clone each individual entry using +1w for the number of >>> weeks in the term. I remove any subtrees generated that correspond to >>> lectures that do not actually exist, e.g. they fall on a holiday or >>> during our study week. >>> >>> Later, if an individual lecture gets cancelled, I simply remove the >>> corresponding subtree as I do for holidays etc. >> >> Thank you Eric, I'll follow the advice. As Rasmus showed, >> 'org-clone-subtree-with-time-shift' works with a timestamp, but it does >> not with (the result of) an org-class call. Ideally, what I would like >> to do is to specify a set of classes using org-class syntax and, as a >> result, get a set of headers. 'org-class' is a powerful tool, but just >> not powerful enough yet... > > I have used to use classes in the past, but I now use a setup close to > Eric's. One reasons is for good org-caldav support. Here's how I > schedule my Spanish classes this term: >
Yes you're right. org-class is not practical for caldav export. That's yet another issue I could have raised. > (with-temp-buffer > (insert "* Spanish course > ** Spanish class > <2014-10-07 Tue 18:30-20:30>") > (goto-line 2) > (org-clone-subtree-with-time-shift 8 "+1w") > (save-excursion (insert "** Spanish class > <2014-10-09 Thu 18:30-20:30>\n")) > (org-clone-subtree-with-time-shift 7 "+1w") > (goto-char (point-min)) (org-sort-entries nil ?t) > ;; like C-c ^ t > (buffer-substring-no-properties (point-min) (point-max))) > > Of course in practice, this is easier to "interactively", but it's > hard to describe briefly. I see. > > Is there anything you miss about `org-clone-subtree-with-time-shift'¹? > Would you be happy if it asked if you want to skip some weeks > initially? Or do you not like the extra space it takes? > Yes I would like to be able to directly specify the skipped weeks. I've tried to hack a function for that but my elisp skills are rather limited. Joseph > —Rasmus > > Footnotes: > ¹ note the "`" in the beginning, not "'" noted -- Joseph Le Roux RCLN, LIPN, Université Paris 13 Tel: +33 (0) 1 49 40 40 81 Fax: +33 (0) 1 48 26 51 12 URL: http://lipn.univ-paris13.fr/~leroux