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)