emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
* Dynamic block match fails on checkbox columns
@ 2022-02-14  7:19 Daniel J. Sinder
  2022-10-25 10:40 ` Ihor Radchenko
  0 siblings, 1 reply; 2+ messages in thread
From: Daniel J. Sinder @ 2022-02-14  7:19 UTC (permalink / raw)
  To: emacs-orgmode

[-- Attachment #1: Type: text/plain, Size: 1150 bytes --]

I'm trying to use a dynamic block with :match to filter columnview for a
checkbox column.  However, the match is failing.   Based on some variations
that do work (described below the example), it seems the closing square
bracket may be the problem.

Here's a minimal example:
* Things
  :PROPERTIES:
  :COLUMNS:  %20ITEM %CHKBOX{X/}
  :ID:       Things
  :CHKBOX_ALL: "[ ]" "[X]"
  :END:
*** One Thing
    :PROPERTIES:
    :CHKBOX:   [X]
    :END:
*** Another Thing
    :PROPERTIES:
    :CHKBOX:   [ ]
    :END:

* Dynamic Block
  #+BEGIN: columnview :id Things :match "CHKBOX=\"[X]\""
  | ITEM | CHKBOX |
  |------+--------|
  #+END:

If I use curly braces for CHKBOX_ALL (i.e., "{ }" "{X}") instead of square
braces, it works fine (of course, I have to also use :match
"CHKBOX=\"{X}\"").  But then the SUMMARY-TYPE in the COLUMNS definition
doesn't work.  The match (but not the summary) also works if I remove just
the *closing *square bracket from the CHKBOX properties and the :match
string.  FWIW, the match also fails for the case of searching for unchecked
items (i.e., :match "CHKBOX=\"[ ]\"").

Emacs version:  27.2
Org version: 9.4.4

Dan

[-- Attachment #2: Type: text/html, Size: 1533 bytes --]

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: Dynamic block match fails on checkbox columns
  2022-02-14  7:19 Dynamic block match fails on checkbox columns Daniel J. Sinder
@ 2022-10-25 10:40 ` Ihor Radchenko
  0 siblings, 0 replies; 2+ messages in thread
From: Ihor Radchenko @ 2022-10-25 10:40 UTC (permalink / raw)
  To: Daniel J. Sinder; +Cc: emacs-orgmode

"Daniel J. Sinder" <djsinder@gmail.com> writes:

> I'm trying to use a dynamic block with :match to filter columnview for a
> checkbox column.  However, the match is failing.   Based on some variations
> that do work (described below the example), it seems the closing square
> bracket may be the problem.
>
> Here's a minimal example:
> * Things
>   :PROPERTIES:
>   :COLUMNS:  %20ITEM %CHKBOX{X/}
>   :ID:       Things
>   :CHKBOX_ALL: "[ ]" "[X]"
>   :END:
> *** One Thing
>     :PROPERTIES:
>     :CHKBOX:   [X]
>     :END:
> *** Another Thing
>     :PROPERTIES:
>     :CHKBOX:   [ ]
>     :END:
>
> * Dynamic Block
>   #+BEGIN: columnview :id Things :match "CHKBOX=\"[X]\""
>   | ITEM | CHKBOX |
>   |------+--------|
>   #+END:

Thanks for reporting!
It is kind of expected from the manual explanation about tag matchers:

   • If the comparison value is enclosed in double-quotes _and_ angular
     brackets (like ‘DEADLINE<​="<2008-12-24 18:30>"’), both values are
     assumed to be date/time specifications in the standard Org way...

However, the heuristics described in the manual is obvious wrong here.

I improved the match parser a bit to require a number inside brackets in
timestamps, but this whole syntax is overcomplicated and difficult to
understand.

In any case, your bug should be fixed now on main.
https://git.savannah.gnu.org/cgit/emacs/org-mode.git/commit/?id=e022a0cea11a0e784ba20ac478a033da7fb1bb7f

-- 
Ihor Radchenko // yantar92,
Org mode contributor,
Learn more about Org mode at <https://orgmode.org/>.
Support Org development at <https://liberapay.com/org-mode>,
or support my work at <https://liberapay.com/yantar92>


^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2022-10-25 10:43 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-02-14  7:19 Dynamic block match fails on checkbox columns Daniel J. Sinder
2022-10-25 10:40 ` Ihor Radchenko

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).