emacs-orgmode
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Orgmode] org-agenda-filter-by-tag doesn't work with custom effort p


From: Carsten Dominik
Subject: Re: [Orgmode] org-agenda-filter-by-tag doesn't work with custom effort property
Date: Wed, 25 Feb 2009 19:26:01 +0100


On Feb 25, 2009, at 6:32 PM, Daniel Clemente wrote:

El dc, feb 25 2009, Carsten Dominik va escriure:
On Feb 24, 2009, at 3:52 PM, Daniel Clemente wrote:


Hi, I would like to contribute 1 byte to org-mode; it's an "a":


--- a/lisp/org-agenda.el
+++ b/lisp/org-agenda.el
@@ -4407,7 +4407,7 @@ to switch to narrowing."
                    (lambda (x) (if (cdr x) (char-to-string (cdr x)) ""))
                    alist ""))
        (efforts (org-split-string
-                 (or (cdr (assoc (concat org-effort-property "_ALL")
+                 (or (cadr (assoc (concat org-effort-property "_ALL")
                                  org-global-properties))
                      "0 0:10 0:30 1:00 2:00 3:00 4:00 5:00 6:00 7:00 8:00"

I don't think this is correct.

What are the symptoms of the problem you encounter?

Before describing the problem: the (or ) was taking either the (cdr ) or "0 0:10…". But cdr always return a list (not a string), so if the cdr is used, the result will be a list, and this is wrong because it org-split-string expects a string, not a list.

Hi Daniel,

the cdr returns the cdr of a list. That is ofte a list, but it cal also be an atom.

For example:

(cdr '(a . b))

   => a

(cdr '(a b c d))
   => (b c d)

The global property list is constructed like this


   '((key1 . value1)
     (key2 . value2))

so

(cdr (assoc key1 list))

   returns value1, a string.


Maybe you have an incorrect definition of `org-global-properties'.
I suspect that you did not make the value with customize, but by hand
and that you wrote

(setq org-global-properties
    '(("EFFORT_ALL "0 1:00....")))

It should be

(setq org-global-properties
    '(("EFFORT_ALL . "0 1:00....")))

HTH

- Carsten




 The problem can be reproduced with:
1. C-c a
2. a
3. /

 I get:
Debugger entered--Lisp error: (wrong-type-argument stringp ("0 0:10 0:30 1:00 2:00 3:00 4:00 5:00 6:00 12:00 18:00 24:00 30:00")) string-match("[ \f \n…]+" ("0 0:10 0:30 1:00 2:00 3:00 4:00 5:00 6:00 12:00 18:00 24:00 30:00") 0) org-split-string(("0 0:10 0:30 1:00 2:00 3:00 4:00 5:00 6:00 12:00 18:00 24:00 30:00"))
 org-agenda-filter-by-tag(nil)
 call-interactively(org-agenda-filter-by-tag nil nil)



 I'm using:
(add-to-list 'org-global-properties '("Effort_ALL" "0 0:10 0:30 1:00 2:00 3:00 4:00 5:00 6:00 12:00 18:00 24:00 30:00"))

 org-mode 6.21b (from Emacs from Bazaar of 24-2-2009)


-- Daniel





reply via email to

[Prev in Thread] Current Thread [Next in Thread]