emacs-orgmode
[Top][All Lists]
Advanced

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

Re: [O] Recurring events with exceptions


From: Eric S Fraga
Subject: Re: [O] Recurring events with exceptions
Date: Tue, 18 Oct 2011 20:57:13 +0100
User-agent: Gnus/5.110018 (No Gnus v0.18) Emacs/24.0.90 (gnu/linux)

Skip Collins <address@hidden> writes:

>> (and (your-sexp-here) (not (except-dates-here)))
>
> Pardon a slightly off-topic rant. I have yet to find calendar software
> (org included) that handles repeating appointments with the kind of
> flexibility that would make them really useful. First, typical

[...]

Have you looked at the following?

,----[ C-h f org-clone-subtree-with-time-shift RET ]
| org-clone-subtree-with-time-shift is an interactive compiled Lisp
| function in `org.el'.
| 
| (org-clone-subtree-with-time-shift N &optional SHIFT)
| 
| Clone the task (subtree) at point N times.
| The clones will be inserted as siblings.
| 
| In interactive use, the user will be prompted for the number of
| clones to be produced, and for a time SHIFT, which may be a
| repeater as used in time stamps, for example `+3d'.
| 
| When a valid repeater is given and the entry contains any time
| stamps, the clones will become a sequence in time, with time
| stamps in the subtree shifted for each clone produced.  If SHIFT
| is nil or the empty string, time stamps will be left alone.  The
| ID property of the original subtree is removed.
| 
| If the original subtree did contain time stamps with a repeater,
| the following will happen:
| - the repeater will be removed in each clone
| - an additional clone will be produced, with the current, unshifted
|   date(s) in the entry.
| - the original entry will be placed *after* all the clones, with
|   repeater intact.
| - the start days in the repeater in the original entry will be shifted
|   to past the last clone.
| I this way you can spell out a number of instances of a repeating task,
| and still retain the repeater to cover future instances of the task.
| 
| [back]
`----

I find that this exactly what you are describing: I define an entry,
clone it (with weekly shift, for instance) and then delete the
exceptions and maybe add a few extras.  If any weekly instance has to
change, I simply change it!  Works pretty well and handles all the cases
you mentioned.


-- 
: Eric S Fraga (GnuPG: 0xC89193D8FFFCF67D) in Emacs 24.0.90.1
: using Org-mode version 7.7 (release_7.7.381.g05ea.dirty)



reply via email to

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