Просмотр исходного кода

org-agenda: Fix effort filtering for entries with tags

* lisp/org-agenda.el (org-agenda-compare-effort): Fix retrieval of
  `effort-minutes' property from entries with tags.

Reported-by: wtm <wtmonroe.ls@gmail.com>
<http://permalink.gmane.org/gmane.emacs.orgmode/111194>
Nicolas Goaziou 8 лет назад
Родитель
Сommit
8318957da5
1 измененных файлов с 5 добавлено и 2 удалено
  1. 5 2
      lisp/org-agenda.el

+ 5 - 2
lisp/org-agenda.el

@@ -7713,8 +7713,11 @@ E looks like \"+<2:25\"."
 (defun org-agenda-compare-effort (op value)
 (defun org-agenda-compare-effort (op value)
   "Compare the effort of the current line with VALUE, using OP.
   "Compare the effort of the current line with VALUE, using OP.
 If the line does not have an effort defined, return nil."
 If the line does not have an effort defined, return nil."
-  (let ((eff (org-get-at-eol 'effort-minutes 1)))
-    (funcall op (or eff (if org-sort-agenda-noeffort-is-high 32767 -1))
+  ;; `effort-minutes' property cannot be extracted directly from
+  ;; current line but is stored as a property in `txt'.
+  (let ((effort (get-text-property 0 'effort-minutes (org-get-at-bol 'txt))))
+    (funcall op
+	     (or effort (if org-sort-agenda-noeffort-is-high 32767 -1))
 	     value)))
 	     value)))
 
 
 (defun org-agenda-filter-expand-tags (filter &optional no-operator)
 (defun org-agenda-filter-expand-tags (filter &optional no-operator)