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>

Reply via email to