Starlit Sky <starlit...@gmx.ca> writes: > EXPECTED BEHAVIOR > > I want to have a repeating task that begins at 06:50 and ++1h until > 20:50, and then when DONE the last repeater for that day (20:50), it would > ++1d at 06:50 and ++1h until 20:50, and so on. I've tried many things, but > nothing seems to work.
What you want is not how repeaters work in Org mode. In Org mode, each repeater is simply applied independently of others, which is exactly what you observe. No more complex behavior is current available out of the box. > SCHEDULED: <2024-09-29 Sun 06:50 ++1h ++1d>--<2024-09-29 Sun 20:50 ++1d> > ``` > ... ... and this is simply ambiguous Org mode syntax. As an implementation detail, Org mode will use the first repeater present in each timestamp. The second repeater in the first part of the timestamp is ignored. > Is there something I'm doing wrong with timing syntax, or do I really need to > do the following instead? > >> An alternative to using a repeater is to create a number of copies of a task >> subtree, with dates shifted in each copy. The command ‘C-c C-x c’ was >> created for this purpose; it is described in *note Structure Editing. As an alternative, you can try using `org-todo-repeat-hook' that is evaluated after all the timestamps with repeaters in a heading are updated. You can manually go through them again, applying custom repeater logic written by yourself, in Elisp. See `org-auto-repeat-maybe' code as an example what you need to do to update the repeaters from Elisp. -- Ihor Radchenko // yantar92, Org mode contributor, Learn more about Org mode at <https://orgmode.org/>. Support Org development at <https://liberapay.com/org-mode>, or support my work at <https://liberapay.com/yantar92>