diff options
author | Bastien <bzg@gnu.org> | 2018-04-26 22:59:36 +0200 |
---|---|---|
committer | Bastien <bzg@gnu.org> | 2018-04-26 22:59:36 +0200 |
commit | f21fb8ad3b47409d5f86dbcff7c5d420c8503fbf (patch) | |
tree | 24dbc13375443df841d335cabca2fb58a3afd969 | |
parent | b1d084c1ab877a58b342ae4a8b8d844b9b54e625 (diff) | |
download | org-mode-f21fb8ad3b47409d5f86dbcff7c5d420c8503fbf.tar.gz |
org-agenda.el: Fix bug when getting the warning delay of a deadline
* lisp/org-agenda.el (org-agenda-get-deadlines): Fix bug when
getting the warning delay of a deadline.
Thanks to Alex Branham for reporting this.
-rw-r--r-- | lisp/org-agenda.el | 41 |
1 files changed, 18 insertions, 23 deletions
diff --git a/lisp/org-agenda.el b/lisp/org-agenda.el index a6d1df4..fd02089 100644 --- a/lisp/org-agenda.el +++ b/lisp/org-agenda.el @@ -5985,29 +5985,24 @@ specification like [h]h:mm." (org-agenda--timestamp-to-absolute s base 'future (current-buffer) pos))))) (diff (- deadline current)) - (suppress-prewarning - (let ((scheduled - (and org-agenda-skip-deadline-prewarning-if-scheduled - (org-entry-get nil "SCHEDULED")))) - (cond - ((not scheduled) nil) - ;; The current item has a scheduled date, so - ;; evaluate its prewarning lead time. - ((integerp org-agenda-skip-deadline-prewarning-if-scheduled) - ;; Use global prewarning-restart lead time. - org-agenda-skip-deadline-prewarning-if-scheduled) - ((eq org-agenda-skip-deadline-prewarning-if-scheduled - 'pre-scheduled) - ;; Set pre-warning to no earlier than SCHEDULED. - (min (- deadline - (org-agenda--timestamp-to-absolute scheduled)) - org-deadline-warning-days)) - ;; Set pre-warning to deadline. - (t 0)))) - (wdays (if suppress-prewarning - (let ((org-deadline-warning-days suppress-prewarning)) - (org-get-wdays s)) - (org-get-wdays s)))) + (wdays + (cond + ;; The current item has a scheduled date, so + ;; evaluate its prewarning lead time. + ((integerp org-agenda-skip-deadline-prewarning-if-scheduled) + ;; Use global prewarning-restart lead time. + org-agenda-skip-deadline-prewarning-if-scheduled) + ((eq org-agenda-skip-deadline-prewarning-if-scheduled + 'pre-scheduled) + ;; Set pre-warning to no earlier than SCHEDULED. + (min (- deadline + (org-agenda--timestamp-to-absolute + (org-entry-get nil "SCHEDULED"))) + org-deadline-warning-days)) + ;; Set pre-warning to 0 + (org-agenda-skip-deadline-prewarning-if-scheduled 0) + ;; Set pre-warning to deadline. + (t (org-get-wdays s))))) (cond ;; Only display deadlines at their base date, at future ;; repeat occurrences or in today agenda. |