agenda: Fix "org-duration-to-minutes: Invalid duration format" error

* lisp/org-agenda.el (org-agenda-format-item): Compute duration with
`org-duration-to-minutes' before normalizing input.

Reported-by: Stephen Eglen <sje30@cam.ac.uk>
<http://lists.gnu.org/r/emacs-orgmode/2021-05/msg00584.html>
This commit is contained in:
Nicolas Goaziou 2021-05-09 21:49:23 +02:00
parent 2956c86c20
commit bc857bfc62
1 changed files with 5 additions and 4 deletions

View File

@ -6656,9 +6656,6 @@ Any match of REMOVE-RE will be removed from TXT."
(= (match-beginning 0) 0)
t))
(setq txt (replace-match "" nil nil txt))))
;; Normalize the time(s) to 24 hour
(when s1 (setq s1 (org-get-time-of-day s1 'string t)))
(when s2 (setq s2 (org-get-time-of-day s2 'string t)))
;; Try to set s2 if s1 and
;; `org-agenda-default-appointment-duration' are set
@ -6672,7 +6669,11 @@ Any match of REMOVE-RE will be removed from TXT."
;; Compute the duration
(when s2
(setq duration (- (org-duration-to-minutes s2)
(org-duration-to-minutes s1)))))
(org-duration-to-minutes s1))))
;; Normalize the time(s) to 24 hour
(when s1 (setq s1 (org-get-time-of-day s1 'string t)))
(when s2 (setq s2 (org-get-time-of-day s2 'string t))))
(when (string-match org-tag-group-re txt)
;; Tags are in the string