peg.el doesn't use lexical binding, and org-ql.el does, so this caused
a byte-compile warning. It doesn't seem to change the behavior of the
expanded code, so it should be a safe change...
Unfortunately, the macro was moved from peg.el to peg-tests.el in
later versions of peg, so we copy it for our use here.
Fixes#75. Thanks to Karl Voit (@novoid) and @karlicoss for
reporting.
Released as 0.4.6.
Using a different major mode in org-ql-view buffers causes some Org Agenda
remote commands to not work, because they test whether the major mode
is org-agenda-mode. Even though these remote commands are not
guaranteed to work, it was not intended to break them now, so this
restores compatibility with them.
Fixes#102. Thanks to Alois Janíček (@aloisjanicek) for reporting.
This reverts commit ba7d4a2e82.
Released as 0.4.4.
Use a derived major mode for org-ql-view buffers, and ensure that mode
is active when calling org-ql-view-refresh, to avoid interfering with
buffers in other modes if the user calls the command by accident.
See
<b87156f2bb>.
Thanks to Alois Janíček (@AloisJanicek) for discovering the bug.
Released as 0.4.3.
Even when org-done-keywords-for-agenda is nil. I'm not sure when this
was broken, but the logic was wrong in this function, and this is the
intended behavior, so this is a bug fix.
Released as 0.4.2.
These predicates are analogs to the existing "children" and
"descendents" predicates.
They may be useful for testing parents for specific todo states, or if
they have non-inherited tags (i.e. tags from
"org-tags-exclude-from-inheritance").
Emacs 27 marks map-put as obsolete and renames it to map-put!, which
causes byte-compilation warnings (sigh...isn't that the definition of
useless churn?). Of course, map-put! doesn't exist in Emacs 26, so we
can't just use that. I'm beginning to think that it will never be
possible to make the linting clean.
Previously, on a cache miss, if FN returned nil, the sentinel would be
returned instead of nil.
Closes#78. Thanks to Josh Moller-Mara (@mm--) for reporting.
org-heading-components returns nil for a heading without heading text,
which causes string-match to signal an error. So we'll match the
regexp ourselves and return an empty string in that case. Should be
slightly faster, anyway.