summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKyle Meyer <kyle@kyleam.com>2020-04-12 01:41:28 -0400
committerKyle Meyer <kyle@kyleam.com>2020-04-12 01:43:26 -0400
commit1de7eabf25f72398b280818b35086eefc1e937b6 (patch)
treea636cd96d00ab861657850c3fa07b29a00a14ba9
parenta5cb52b4f87ff4509dba4d0e17443577af819b0f (diff)
downloadorg-mode-1de7eabf25f72398b280818b35086eefc1e937b6.tar.gz
Revert "org-agenda.el: Fix handling of one-time delays"
* lisp/org-agenda.el (org-agenda-get-scheduled): Revert changes from 39c656870, which introduced a regression that prevents repeating tasks from appearing for future dates. The regression, reported in late February, seems likely to affect more users than the one-time delay handling fixed by 39c656870 (org-agenda.el: Fix handling of one-time delays, 2020-02-01). As we don't have a proposed fix at the moment, let's revert 39c656870. Reported-by: Gustavo Barros <gusbrs.2016@gmail.com> <87imjqdtpo.fsf@gmail.com>
-rw-r--r--lisp/org-agenda.el30
1 files changed, 7 insertions, 23 deletions
diff --git a/lisp/org-agenda.el b/lisp/org-agenda.el
index 03a3a00..1585607 100644
--- a/lisp/org-agenda.el
+++ b/lisp/org-agenda.el
@@ -6298,10 +6298,6 @@ scheduled items with an hour specification like [h]h:mm."
(org-agenda--timestamp-to-absolute deadline))
org-scheduled-delay-days))
(t 0))))
- (diff-r (abs (- repeat current)))
- (ddays-once (or (and (string-match "--\\([0-9]+\\)[hdwmy]" s)
- (string-to-number (match-string 1 s)))
- 0))
(ddays
(cond
;; Nullify delay when a repeater triggered already
@@ -6320,25 +6316,13 @@ scheduled items with an hour specification like [h]h:mm."
(unless (and todayp
habitp
(bound-and-true-p org-habit-show-all-today))
- (when (or
- ;; no one-time delay, not repeated delay
- (and (not ddays-once) (not (= ddays diff-r)))
- ;; one-time delay, but not for today
- (and ddays-once
- (not (= diff diff-r))
- (= ddays-once diff-r))
- ;; normal delay, but already in the past
- (and (> ddays 0) (< diff ddays))
- ;; a habit, but past `org-habit-scheduled-past-days'
- (> diff (or (and habitp org-habit-scheduled-past-days)
- org-scheduled-past-days))
- ;; schedule in the future
- (> schedule current)
- ;; no delay, not scheduled today, no deadline for today
- (and (= ddays 0)
- (/= current schedule)
- (/= current today)
- (/= current repeat)))
+ (when (or (and (> ddays 0) (< diff ddays))
+ (> diff (or (and habitp org-habit-scheduled-past-days)
+ org-scheduled-past-days))
+ (> schedule current)
+ (and (/= current schedule)
+ (/= current today)
+ (/= current repeat)))
(throw :skip nil)))
;; Possibly skip done tasks.
(when (and donep