Skip Collins <skip.coll...@gmail.com> 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