From mboxrd@z Thu Jan 1 00:00:00 1970 From: Rasmus Subject: Re: org-class and headers Date: Thu, 23 Oct 2014 12:10:09 +0200 Message-ID: <87y4s79jwe.fsf@gmx.us> References: <87wq7tbmwi.fsf@gmx.us> <871tq0npm7.fsf@ucl.ac.uk> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:60706) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XhFLn-00073T-OV for emacs-orgmode@gnu.org; Thu, 23 Oct 2014 06:10:41 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1XhFLi-0004mU-E2 for emacs-orgmode@gnu.org; Thu, 23 Oct 2014 06:10:35 -0400 Received: from plane.gmane.org ([80.91.229.3]:34870) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XhFLh-0004mH-VB for emacs-orgmode@gnu.org; Thu, 23 Oct 2014 06:10:30 -0400 Received: from list by plane.gmane.org with local (Exim 4.69) (envelope-from ) id 1XhFLb-0005Qh-7c for emacs-orgmode@gnu.org; Thu, 23 Oct 2014 12:10:23 +0200 Received: from 46.166.186.243 ([46.166.186.243]) by main.gmane.org with esmtp (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Thu, 23 Oct 2014 12:10:23 +0200 Received: from rasmus by 46.166.186.243 with local (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Thu, 23 Oct 2014 12:10:23 +0200 List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org Sender: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org To: emacs-orgmode@gnu.org Joseph Le Roux writes: > Eric S Fraga writes: > >> On Tuesday, 21 Oct 2014 at 16:47, Joseph Le Roux wrote: >>> Rasmus 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: (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. 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? —Rasmus Footnotes: ¹ note the "`" in the beginning, not "'" -- Bang bang