emacs-orgmode
[Top][All Lists]
Advanced

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

Re: [O] Agenda filter by any tag seems to be broken


From: Kaushal Modi
Subject: Re: [O] Agenda filter by any tag seems to be broken
Date: Tue, 17 May 2016 19:40:14 +0000


On Mon, May 16, 2016 at 8:38 PM Eric Abrahamsen <address@hidden> wrote:
Starting with emacs -Q, then adding the org-plus-contrib directory to
load-path:

Are you installing both the git master version and org-plus-contrib? I do not have org-plus-contrib in my load-path. The only org I have in the load-path is the git master version. If you *are* installing both versions, then that could probably explain the issue you are facing.
 
M-x org-agenda
t ;; all todos, an empty list of course
/
SPC

And I get the error.

I tried that. But I don't get any error.

I took the original org-agenda-filter-make-matcher-tag-exp function from the git master and added few debug statements as below:

(defun org-agenda-filter-make-matcher-tag-exp (tags op)
  "Return a form associated to tag-_expression_ TAGS.
Build a form testing a line for agenda filter for
tag-expressions.  OP is an operator of type CHAR that allows the
function to set the right switches in the returned form."
  (message "arg tags: %S" tags)
  (message "arg op: %S" op)
  (let (form ret)
    ;; Any of the expressions can match if OP is +, all must match if
    ;; the operator is -.
    (dolist (x tags (cons (if (eq op ?-) 'and 'or) form)) 
      (let* ((tag (substring x 1))
             (f (cond
((string= "" tag) '(not tags))
((and (string-match-p "\\`{" tag) (string-match-p "}\\'" tag))
 ;; TAG is a regexp.
 (list 'org-match-any-p (substring tag 1 -1) 'tags))
(t (list 'member (downcase tag) 'tags)))))
        (message "in let, tag: %S" tag)
        (message "in let, f: %S" f)
(prog1
            (setq ret (push (if (eq op ?-) (list 'not f) f) form))
          (message "ret val: %S" ret))))))

Then when I do M-x org-agenda t / SPC, I get:

arg tags: ("+")
arg op: 43
in let, tag: ""
in let, f: (not tags)
ret val: ((not tags))

--

--
Kaushal Modi


reply via email to

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