mirror of
https://git.savannah.gnu.org/git/emacs/org-mode.git
synced 2024-08-21 00:18:32 +00:00
Fix task cloning for repeating tasks
* org.el (org-clone-subtree-with-time-shift): Fix task cloning for repeating tasks using .+n and ++n syntax Tasks with repeaters using .+n and ++n syntax retain the repeater in all of the clones causing duplicate tasks. These tasks are now handled the same as the regular repeating task using +n syntax.
This commit is contained in:
parent
1749db14fb
commit
4a6e02c722
|
@ -7909,7 +7909,7 @@ the following will happen:
|
|||
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,
|
||||
In 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."
|
||||
(interactive "nNumber of clones to produce: \nsDate shift per clone (e.g. +1w, empty to copy unchanged): ")
|
||||
(let (beg end template task idprop
|
||||
|
@ -7936,7 +7936,7 @@ and still retain the repeater to cover future instances of the task."
|
|||
(setq end (point))
|
||||
(setq template (buffer-substring beg end))
|
||||
(when (and doshift
|
||||
(string-match "<[^<>\n]+ \\+[0-9]+[dwmy][^<>\n]*>" template))
|
||||
(string-match "<[^<>\n]+ [.+]?\\+[0-9]+[dwmy][^<>\n]*>" template))
|
||||
(delete-region beg end)
|
||||
(setq end beg)
|
||||
(setq nmin 0 nmax (1+ nmax) n-no-remove nmax))
|
||||
|
@ -7967,7 +7967,7 @@ and still retain the repeater to cover future instances of the task."
|
|||
(while (re-search-forward org-ts-regexp nil t)
|
||||
(save-excursion
|
||||
(goto-char (match-beginning 0))
|
||||
(if (looking-at "<[^<>\n]+\\( +\\+[0-9]+[dwmy]\\)")
|
||||
(if (looking-at "<[^<>\n]+\\( +[.+]?\\+[0-9]+[dwmy]\\)")
|
||||
(delete-region (match-beginning 1) (match-end 1)))))))
|
||||
(setq task (buffer-string)))
|
||||
(insert task))
|
||||
|
|
Loading…
Reference in a new issue