Hi, see below > > > > * lisp/org-agenda.el (org-agenda-filter-make-matcher-tag-exp): Deal with > > the case when the user provided an empty string to filter or exclude > > rows from the agenda. > > Please provide a reference to the discussion that lead to this patch.
The reference being the subject-line and date of the mail from sgeorgii? > > > (let* ((tag (substring x 1)) > > - (isregexp (and (equal "{" (substring tag 0 1)) > > + (isemptystring (string= "" tag)) > > + (isregexp (and (not isemptystring) > > + (equal "{" (substring tag 0 1)) > > (equal "}" (substring tag -1)))) > > regexp) > > (cond > > (isregexp > > (setq regexp (substring tag 1 -1)) > > (setq f1 (list 'org-match-any-p regexp 'tags))) > > + (isemptystring > > + (setq f1 '(not tags))) > > (t > > (setq f1 (list 'member (downcase tag) 'tags)))) > > (when (eq op ?-) > > Nitpick time: > > You don't need isemptystring if it is the first branch in cond > > (cond > ((string= "" tag) (setq f1 '(not tags))) > (isregexp ...) > (t ...)) > > Obviously, in that case, you don't need to change isregexp at all. Hmm, since the error was thrown when trying to look at indexes outside of the string in (substring ... ), I don't see how isregexp can be left as is. We have to make sure the substring-code is not evaluated if the tag is empty. What am I missing? > > > Regards, > > -- > Nicolas Goaziou 0x80A93738