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.
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))))))