agenda: Fix org-duration-to-minutes error (take 2)
* lisp/org.el (org-stamp-time-of-day-regexp): Limit match group 2 to first time. * lisp/org-agenda.el (org-agenda-format-item): Compute duration before formatting time with `org-get-time-of-day'.
This commit is contained in:
parent
6107c2b15b
commit
c26f8d2cc5
|
@ -6656,10 +6656,6 @@ Any match of REMOVE-RE will be removed from TXT."
|
||||||
(= (match-beginning 0) 0)
|
(= (match-beginning 0) 0)
|
||||||
t))
|
t))
|
||||||
(setq txt (replace-match "" nil nil txt))))
|
(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
|
;; Try to set s2 if s1 and
|
||||||
;; `org-agenda-default-appointment-duration' are set
|
;; `org-agenda-default-appointment-duration' are set
|
||||||
(when (and s1 (not s2) org-agenda-default-appointment-duration)
|
(when (and s1 (not s2) org-agenda-default-appointment-duration)
|
||||||
|
@ -6668,12 +6664,13 @@ Any match of REMOVE-RE will be removed from TXT."
|
||||||
(+ (org-duration-to-minutes s1 t)
|
(+ (org-duration-to-minutes s1 t)
|
||||||
org-agenda-default-appointment-duration)
|
org-agenda-default-appointment-duration)
|
||||||
nil t)))
|
nil t)))
|
||||||
|
|
||||||
;; Compute the duration
|
;; Compute the duration
|
||||||
(when s2
|
(when s2
|
||||||
(setq duration (- (org-duration-to-minutes 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)
|
(when (string-match org-tag-group-re txt)
|
||||||
;; Tags are in the string
|
;; Tags are in the string
|
||||||
(if (or (eq org-agenda-remove-tags t)
|
(if (or (eq org-agenda-remove-tags t)
|
||||||
|
|
|
@ -4106,7 +4106,7 @@ groups carry important information:
|
||||||
(defconst org-stamp-time-of-day-regexp
|
(defconst org-stamp-time-of-day-regexp
|
||||||
(concat
|
(concat
|
||||||
"<\\([0-9]\\{4\\}-[0-9]\\{2\\}-[0-9]\\{2\\} +\\sw+ +\\)"
|
"<\\([0-9]\\{4\\}-[0-9]\\{2\\}-[0-9]\\{2\\} +\\sw+ +\\)"
|
||||||
"\\([012][0-9]:[0-5][0-9]\\(-\\([012][0-9]:[0-5][0-9]\\)\\)?[^\n\r>]*?\\)>"
|
"\\([012][0-9]:[0-5][0-9]\\)\\(-\\([012][0-9]:[0-5][0-9]\\)\\)?[^\n\r>]*?>"
|
||||||
"\\(--?"
|
"\\(--?"
|
||||||
"<\\1\\([012][0-9]:[0-5][0-9]\\)>\\)?")
|
"<\\1\\([012][0-9]:[0-5][0-9]\\)>\\)?")
|
||||||
"Regular expression to match a timestamp time or time range.
|
"Regular expression to match a timestamp time or time range.
|
||||||
|
|
Loading…
Reference in New Issue