org-colview: Fix dynblock match/maxlevel conflict

* lisp/org-coplview.el (org-columns--capture-view): Combine the match
and maxlevel arguments properly to construct the MATCH argument of
`org-map-entries'.

Specifying both `maxlevel' and `match' in a columnview dynamic block
does not work: the `match' argument is ignored in that case.  See the
link below for a (not so minimal) ECM.

Reported-by: Pablo A Perez-Fernandez
Link: https://emacs.stackexchange.com/questions/66658/filter-columnview-dblock-on-properties-or-tags
This commit is contained in:
Nick Dokos 2021-07-11 23:51:44 -04:00 committed by TEC
parent 18bc3a65b2
commit 1690fbd88f
Signed by: tec
GPG Key ID: 779591AFDB81F06C
1 changed files with 3 additions and 2 deletions

View File

@ -1398,8 +1398,9 @@ other rows. Each row is a list of fields, as strings, or
(org-get-tags))))
(push (cons (org-reduced-level (org-current-level)) (nreverse row))
table)))))
(or (and maxlevel (format "LEVEL<=%d" maxlevel))
(and match match))
(if match
(concat match (and maxlevel (format "+LEVEL<=%d" maxlevel)))
(and maxlevel (format "LEVEL<=%d" maxlevel)))
(and local 'tree)
'archive 'comment)
(org-columns-quit)