Commit graph

362 commits

Author SHA1 Message Date
Adam Porter
9e14f9eefa Fix: (link) Allow brackets in description
Org 9.3 stopped replacing brackets in link descriptions with braces
and started escaping them instead.

Fixes #283.  Thanks to Daniel Borchmann (@exot) for reporting.
2023-03-10 05:56:01 -06:00
Adam Porter
902dad04c1 Docs/Tidy: Update readme, reorder forms 2023-03-10 03:36:21 -06:00
Akira Komamura
6afe3be572 Add: (blocked) predicate 2023-03-10 03:33:08 -06:00
Adam Porter
e5e9daab07 Fix: Aliases
One of them seems to break on Emacs 26.3 only...
2023-03-09 05:00:14 -06:00
Adam Porter
d21da3682b Tidy: Compilation warnings 2023-03-09 03:23:42 -06:00
Adam Porter
d86a402ba5 Tidy: Docstrings 2023-03-09 03:04:15 -06:00
Adam Porter
5c5a15a09b Fix: (org-ql--sanity-check-form) Use pcase 2023-03-09 02:47:23 -06:00
Adam Porter
1996969920 Fix: (src) Rewrite body
Fixes #304.  Thanks to @johanwk for reporting.
2023-03-09 01:46:34 -06:00
Adam Porter
a5fbb5d976 Tidy: Indentation of dash forms
See, e.g. <https://github.com/magnars/dash.el/pull/375>.

Ultimately I'd prefer to indent with one distinguished argument, but
the noise it causes downstream is likely not worth it.  (And,
unfortunately, the indentation of the built-in thread-first and
thread-last forms has changed to be like this as well, which is even
worse, causing 10-11 characters of extra indentation in those forms'
bodies!)
2023-03-09 00:01:32 -06:00
Adam Porter
29533525c3 Tidy: (org-ql--plist-get*) Docstring 2022-12-25 17:51:00 -06:00
Adam Porter
36ff9854ce Fix: (category) Add normalizer for alias 2022-12-25 12:09:50 -06:00
Adam Porter
8dae879841 Change: (org-ql-defpred) Ensure aliased predicates have normalizers
Would have prevented me from releasing the "c" alias for "category"
without a normalizer.
2022-12-25 12:05:52 -06:00
Adam Porter
91908186fc Change/Fix: Preambles for predicates that expect arguments
Closes #285.  Thanks to Caleb Chase (@chasecaleb) for reporting.
2022-12-09 20:19:55 -06:00
Adam Porter
ecde3a0420 Change/Fix: (src) Normalization, case-insensitivity 2022-12-09 20:19:55 -06:00
Adam Porter
6e3a5eebe7 Fix: (src) Coalesce function 2022-12-08 21:22:40 -06:00
Adam Porter
9dd1bbb10b Merge: 0.6.3 2022-12-08 20:50:01 -06:00
Adam Porter
80b334c269 Release: v0.6.3 2022-12-08 20:45:14 -06:00
Adam Porter
2ddfb7c231 Fix: Require org-duration
This appears to be necessary on newer Org versions, but I don't know
exactly when.
2022-12-08 20:45:14 -06:00
Adam Porter
9f00fa3890 Fix: (org-ql--def-query-string-to-sexp-fn) Updated for peg v1.0.1
Fixes #314, fixes #316.  Thanks to Akira Komamura (@akirak) and Joon
Ro (@joonro) for reporting.

Instead of `[blank]` in this PEX, it used to be `(syntax-class
whitespace)`, which worked fine with peg v1.0.  Then
<https://debbugs.gnu.org/cgi/bugreport.cgi?bug=59345> was filed and
resulted in the release of peg v1.0.1, after which that no longer
worked.  As best I can tell from reading the discussion, `[blank]` and
`(syntax-class whitespace)` should behave the same way, yet here they
do not: with peg v1.0.1, only `[blank]` works.  Why, I do not know; I
only tried it because I could find no explanation for the broken
behavior, and luckily, it works.  Maybe it's due to the use of
`(syntax-class whitespace)` later in the `pexs`; but since it finally
works again, let's take the victory as-is.
2022-12-08 20:44:24 -06:00
Adam Porter
f22fdd457b Meta: v0.6.3-pre 2022-12-08 19:48:40 -06:00
Adam Porter
e54ba0102c Add: (property) :inherit argument 2022-10-07 18:33:35 -05:00
Adam Porter
d7ada532c7 Add: Alias "c" to (category) 2022-08-19 03:38:43 -05:00
Adam Porter
18869c47ff Tidy: Headers 2022-08-19 03:14:46 -05:00
Adam Porter
dc02c59cad Add: (org-ql--ensure-buffer)
And use in org-ql-find.  This seems to solve a problem I've been
noticing in helm-org-ql for a long time: that it can apparently
interrupt Org's initialization code, which can leave buffers
unprepared for Org, even stuck in fundamental-mode.  This should also
be used in helm-org-ql...
2022-06-25 10:56:18 -05:00
Adam Porter
bbd164c6ae Change/Fix: (org-ql-select) Warn instead of erroring on bad files
This helps prevent unexpected errors from making it impossible to
search, and displaying the messages in the warnings buffer makes them
more noticeable and readable for the user.
2022-06-25 10:54:38 -05:00
Ihor Radchenko
675d333b91 Use buffer-chars-modified-tick instead of buffer-modified-tick 2022-06-13 19:05:34 -05:00
Adam Porter
ede1a6b10b Change: Don't use (setf (plist-get ...))
That expansion is new in Emacs 28, which we don't yet target as the
minimum version.
2022-06-11 09:19:35 -05:00
Adam Porter
1ddc505977 Change: Rename coalesce-multiple-calls to coalesce 2022-06-11 08:16:15 -05:00
Adam Porter
73ef71ced7 Comment: Add FIXME 2022-06-11 08:15:24 -05:00
Adam Porter
4f29bcfd67 Add: (rifle/smart) Predicate 2022-06-11 08:15:24 -05:00
Adam Porter
968a249ae3 Add: Query coalescing for AND clauses
A later commit will update and add tests.
2022-06-11 08:15:24 -05:00
Adam Porter
0057972069 Add: (org-ql-default-predicate) 2022-06-10 01:32:48 -05:00
Adam Porter
d4f2eb760e Fix: (src) Normalization
Some argument combinations weren't normalized correctly and could
cause an infinite loop.

This commit doesn't update any corresponding tests, because they are
being rearranged in the WIP branch where this commit originates, and
teasing them out wouldn't be worth it.
2022-06-09 22:34:07 -05:00
Adam Porter
67506a56f8 Change: (org-ql--byte-compile-warning) More useful error message
e.g. if a predicate only accepts one argument, but the query gives
two, now the error will say, "PREDICATE called with 2 arguments, but
accepts only 1" (so maybe the predicate definition just needs
"&rest").
2022-05-31 12:01:42 -05:00
Adam Porter
8933f8853c Merge: 0.6.2 2022-05-27 02:05:56 -05:00
Adam Porter
115500c8a0 Fix: (link) Save excursion around regexp search
Fixes #279.  Thanks to Marc Fargas (@telenieko) for reporting.

Released as 0.6.2.
2022-05-27 02:03:20 -05:00
Adam Porter
46f523d94a Meta: 0.7-pre 2022-03-18 10:34:54 -05:00
Adam Porter
f666fe150f Release: 0.6.1 2022-03-18 10:29:50 -05:00
Adam Porter
49b973ab11 Meta: 0.6.1-pre 2022-03-18 10:06:58 -05:00
Adam Porter
31aeb0a250 Release: 0.6 2021-09-22 01:15:26 -05:00
Adam Porter
140aa891f4 Remove: Obsolete macro org-ql 2021-09-22 01:08:54 -05:00
Jianye Ye
80970856d6 Add: Sort by (closed) for org-ql-select 2021-09-22 00:52:08 -05:00
Cyrille Froehlich
bbeee64f41 Simplify tags-all/tags-local too + Fix formatting 2021-07-28 08:39:22 +09:00
Cyrille Froehlich
99a2285317 Simplify tags-inherited normalizer 2021-07-28 08:35:13 +09:00
Cyrille Froehlich
363f7623c1 Fix: pcase pattern shadowed 2021-07-28 08:35:13 +09:00
Adam Porter
94f9e6f303 Add/Change: reverse sorter, and reverse sorting order
This is a breaking change of sorts in that searches using multiple
sorting methods will have to have the order of the sorters reversed to
get the same result.  Unfortunate, but I think it's worth it in the
end, and this is pre-1.0, anyway.

Fixes #143.
2021-07-12 21:33:24 -05:00
Ihor Radchenko
8342656b2d Fix: (org-ql-regexp-part-ts-repeaters) Habit repeaters with min/max
Closes #226.
2021-06-24 08:14:39 -05:00
Ihor Radchenko
1198284c7e Fix: (org-ql-regexp-part-ts-repeaters) Repeaters with a "."
Fixes #225.
2021-06-23 01:26:10 -05:00
Adam Porter
e03fb24f9b Fix: (outline-path) Normalizer infinite loop
Hopefully there aren't more of these lurking, but with the recent
--normalize-query change, there might be...
2021-06-21 07:55:58 -05:00
Adam Porter
482a5c939b Fix: Cache invalidation of relative-date ts-related predicates
Fixes #223.  Thanks to Ihor Radchenko (@yantar92) for reporting.
2021-06-21 06:18:03 -05:00