From 8b6e5d5f2e06231798a1a29c61243ac3f796f001 Mon Sep 17 00:00:00 2001 From: Bastien Date: Fri, 27 Apr 2018 03:09:28 +0200 Subject: [PATCH 1/2] Revert "org-agenda.el: Fix bug when getting the warning delay of a deadline" This reverts commit f21fb8ad3b47409d5f86dbcff7c5d420c8503fbf. --- lisp/org-agenda.el | 41 +++++++++++++++++++++++------------------ 1 file changed, 23 insertions(+), 18 deletions(-) diff --git a/lisp/org-agenda.el b/lisp/org-agenda.el index fd02089b8..a6d1df4f9 100644 --- a/lisp/org-agenda.el +++ b/lisp/org-agenda.el @@ -5985,24 +5985,29 @@ specification like [h]h:mm." (org-agenda--timestamp-to-absolute s base 'future (current-buffer) pos))))) (diff (- deadline current)) - (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))))) + (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)))) (cond ;; Only display deadlines at their base date, at future ;; repeat occurrences or in today agenda. From 5d0792057dea013e9980e3e10de2806c5751c4b3 Mon Sep 17 00:00:00 2001 From: Bastien Date: Fri, 27 Apr 2018 03:17:12 +0200 Subject: [PATCH 2/2] Fix commit f21fb8a --- lisp/org-agenda.el | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/lisp/org-agenda.el b/lisp/org-agenda.el index a6d1df4f9..322480cf2 100644 --- a/lisp/org-agenda.el +++ b/lisp/org-agenda.el @@ -6004,10 +6004,7 @@ specification like [h]h:mm." 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 (or suppress-prewarning (org-get-wdays s)))) (cond ;; Only display deadlines at their base date, at future ;; repeat occurrences or in today agenda.