mirror of
https://git.savannah.gnu.org/git/emacs/org-mode.git
synced 2024-08-25 13:02:51 +00:00
org.el: Respect org-extend-today-until in timestamps with ++
* org.el (org-auto-repeat-maybe): Changed org-auto-repeat-maybe, so that switching a repeating todo with a timestamp of the form <… ++…> respects `org-extend-today-until'. * test-org.el (test-org/auto-repeat-maybe, org-test-with-time-locale): Tests for interaction of `org-extend-today-until' and `org-auto-repeat-maybe'. Added `org-test-with-time-locale' to make test results independent of running machine. Explicitly avoid matching log note with old timestamp in all the tests to avoid confusion. Co-authored-by: Ihor Radchenko <yantar92@posteo.net> TINYCHANGE
This commit is contained in:
parent
201625f7e2
commit
23f751910e
|
@ -10113,7 +10113,10 @@ This function is run automatically after each state change to a DONE state."
|
|||
(let ((nshiftmax 10)
|
||||
(nshift 0))
|
||||
(while (or (= nshift 0)
|
||||
(not (time-less-p nil time)))
|
||||
(if (equal what "h")
|
||||
(not (time-less-p nil time))
|
||||
(>= (org-today)
|
||||
(time-to-days time))))
|
||||
(when (= nshiftmax (cl-incf nshift))
|
||||
(or (y-or-n-p
|
||||
(format "%d repeater intervals were not \
|
||||
|
|
|
@ -8412,26 +8412,75 @@ Paragraph<point>"
|
|||
(buffer-string))))
|
||||
;; Handle every repeater type using hours step.
|
||||
(should
|
||||
(string-match-p
|
||||
"2014-03-04 .* 02:00"
|
||||
(org-test-at-time "<2014-03-04 02:35>"
|
||||
(string-search
|
||||
"<2014-03-04 02:00 +8h>"
|
||||
(org-test-without-dow
|
||||
(org-test-at-time "<2014-03-04 02:35>"
|
||||
(org-test-with-temp-text "* TODO H\n<2014-03-03 18:00 +8h>"
|
||||
(org-todo "DONE")
|
||||
(buffer-string)))))
|
||||
(buffer-string))))))
|
||||
(should
|
||||
(string-match-p
|
||||
"2014-03-04 .* 10:00"
|
||||
(org-test-at-time "<2014-03-04 02:35>"
|
||||
(string-search
|
||||
"<2014-03-04 10:00 ++8h>"
|
||||
(org-test-without-dow
|
||||
(org-test-at-time "<2014-03-04 02:35>"
|
||||
(org-test-with-temp-text "* TODO H\n<2014-03-03 18:00 ++8h>"
|
||||
(org-todo "DONE")
|
||||
(buffer-string)))))
|
||||
(buffer-string))))))
|
||||
(should
|
||||
(string-match-p
|
||||
"2014-03-04 .* 10:35"
|
||||
(org-test-at-time "<2014-03-04 02:35>"
|
||||
(string-search
|
||||
"<2014-03-04 10:35 .+8h>"
|
||||
(org-test-without-dow
|
||||
(org-test-at-time "<2014-03-04 02:35>"
|
||||
(org-test-with-temp-text "* TODO H\n<2014-03-03 18:00 .+8h>"
|
||||
(org-todo "DONE")
|
||||
(buffer-string)))))
|
||||
(buffer-string))))))
|
||||
;; Handle `org-extend-today-until'.
|
||||
(should
|
||||
(string-search
|
||||
"<2014-03-04 ++1d>"
|
||||
(let ((org-extend-today-until 4))
|
||||
(org-test-without-dow
|
||||
(org-test-at-time "<2014-03-04 02:35>"
|
||||
(org-test-with-temp-text "* TODO H\n<2014-03-03 ++1d>"
|
||||
(org-todo "DONE")
|
||||
(buffer-string)))))))
|
||||
(should
|
||||
(string-search
|
||||
"<2014-03-06 17:00 ++1d>"
|
||||
(let ((org-extend-today-until 4))
|
||||
(org-test-without-dow
|
||||
(org-test-at-time "<2014-03-05 18:00>"
|
||||
(org-test-with-temp-text "* TODO H\n<2014-03-04 17:00 ++1d>"
|
||||
(org-todo "DONE")
|
||||
(buffer-string)))))))
|
||||
(should
|
||||
(string-search
|
||||
"<2014-03-04 10:00 ++8h>"
|
||||
(let ((org-extend-today-until 4))
|
||||
(org-test-without-dow
|
||||
(org-test-at-time "<2014-03-04 02:35>"
|
||||
(org-test-with-temp-text "* TODO H\n<2014-03-03 18:00 ++8h>"
|
||||
(org-todo "DONE")
|
||||
(buffer-string)))))))
|
||||
(should
|
||||
(string-search
|
||||
"<2014-03-04 18:00 .+1d>"
|
||||
(let ((org-extend-today-until 4))
|
||||
(org-test-without-dow
|
||||
(org-test-at-time "<2014-03-04 02:35>"
|
||||
(org-test-with-temp-text "* TODO H\n<2014-03-03 18:00 .+1d>"
|
||||
(org-todo "DONE")
|
||||
(buffer-string)))))))
|
||||
(should
|
||||
(string-search
|
||||
"<2014-03-04 10:35 .+8h>"
|
||||
(let ((org-extend-today-until 4))
|
||||
(org-test-without-dow
|
||||
(org-test-at-time "<2014-03-04 02:35>"
|
||||
(org-test-with-temp-text "* TODO H\n<2014-03-03 18:00 .+8h>"
|
||||
(org-todo "DONE")
|
||||
(buffer-string)))))))
|
||||
;; Do not repeat inactive time stamps with a repeater.
|
||||
(should-not
|
||||
(string-match-p
|
||||
|
|
Loading…
Reference in a new issue