Commit graph

231 commits

Author SHA1 Message Date
Adam Porter
71703def04 Change: Query safety checks
- Variable org-ql-ask-unsafe-queries replaces
  org-ql-view-ask-unsafe-links.
- New function: org-ql--ask-unsafe-query.
- Tests: Improve
2020-11-16 23:52:15 -06:00
Adam Porter
9d86ee9e10 Change/Fix: Bookmark, link storing/loading/safety
This makes several changes and fixes and adds test cases for all the
combinations I'm aware of.

See #147.  Thanks to @tpeacock19 for patiently reporting these issues.

Squashed commit of the following:

commit d1b396c5654ae3fa8ad03d0d4b2cbde20000fa1a
Author: Adam Porter <adam@alphapapa.net>
Date:   Mon Nov 16 02:01:23 2020 -0600

    WIP: Fixes

commit 23215a723c4bf6e249c330863e01029166db56c3
Author: Adam Porter <adam@alphapapa.net>
Date:   Mon Nov 16 01:34:34 2020 -0600

    WIP: Fixes

commit 97b13d09d4d52bb168bfc19fb6f8daf2964f4b6c
Author: Adam Porter <adam@alphapapa.net>
Date:   Mon Nov 16 00:46:49 2020 -0600

    WIP: Test links too

    Everything passes now.

commit 1866a71dbbb6416f7e365c90cadd269765d52b70
Author: Adam Porter <adam@alphapapa.net>
Date:   Sun Nov 15 22:22:22 2020 -0600

    WIP: Test loading/saving bookmarks
2020-11-16 02:02:22 -06:00
Adam Porter
0365b785cc Fix: (org-ql--defpred) Add to predicates variable when compiling
This seems to fix an occasional weird bug encountered when
byte-compiling and loading this file.  I can't explain why it only
happens sometimes, but this seems to fix it, and it stands to reason
why it does, so it seems like the right thing to do.
2020-11-14 05:41:37 -06:00
Adam Porter
89ff02a150 Fix: (org-ql--query-sexp-to-string) Ancestors, etc. queries 2020-11-14 05:40:24 -06:00
Adam Porter
337bfa6695 Add: (tags-regexp, tags*) Predicate 2020-11-12 04:09:57 -06:00
Adam Porter
e15cc3eb76 Add: (--query-sexp-to-string) 2020-11-11 19:52:24 -06:00
Adam Porter
73da48d9da Comment: Add FIXMEs 2020-11-11 00:23:32 -06:00
Adam Porter
2e469fa547 Tidy: (org-ql--peg-parse-string) Silence, Checkdoc! 2020-11-10 04:14:44 -06:00
Adam Porter
5e61d1b326 Fix: (org-ql--peg-parse-string) Unused lexical variable warning
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...
2020-11-05 11:28:22 -06:00
Adam Porter
6633dbb276 Release: 0.4.6
-----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1
 
 iEYEABECAAYFAl8L0BwACgkQ5+GdyTDsrJsFVQCdGz0i4KXwrnqcQC7Ov5/b+YSH
 lUEAoIJBRRJ462lJbe4nzkOkrB3VMIGF
 =JOpa
 -----END PGP SIGNATURE-----

Merge: 0.4.6
2020-07-12 22:09:03 -05:00
Adam Porter
0080055690 Fix: Copy macro peg-parse-string from peg-tests.el
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.
2020-07-12 22:08:01 -05:00
Adam Porter
c847afe0b5 Merge: 0.4.5 2020-05-01 06:31:45 -05:00
Adam Porter
5a031bf5c1 Fix: (org-ql--select) Bind case-fold-search only around preamble
Fixes #114.  Thanks to @bitclick for reporting.

Released as 0.4.5.
2020-05-01 06:27:30 -05:00
Adam Porter
81673fc7b5 Fix: (org-ql-predicates) Use eval-and-compile
This is technically correct, even though package.el might obscure the
problem by causing the file to be loaded before it is compiled.
2020-04-07 12:05:24 -05:00
Adam Porter
4fef5b089f Fix/Revert: Don't derive a new mode; check a variable in refresh
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.
2020-03-15 15:02:52 -05:00
Adam Porter
ba7d4a2e82 Add/Fix: org-ql-view-mode, and check when refreshing
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.
2020-03-14 14:06:42 -05:00
Adam Porter
881d298cd0 Comment: Add TODOs 2020-03-13 19:08:26 -05:00
Adam Porter
4b1e253ee9 Fix: (org-ql-view--add-todo-face) Always return to-do keyword
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.
2020-02-26 19:11:40 -06:00
Adam Porter
9a56141f6c Add: (link) predicate 2020-02-24 01:47:02 -06:00
Adam Porter
5d720b9fc3 Merge: 0.4.1 2020-02-23 23:27:06 -06:00
Adam Porter
32c68d7f24 Fix: (--pre-process-query) level predicate with args in plain query
Fixes #96.  Thanks to Akira Komamura (@akirak) for reporting.

Released as 0.4.1.
2020-02-23 23:22:11 -06:00
Adam Porter
87b483e4e4 Fix: Require transient in org-ql.el
I guess package-build only finds dependencies in the file named after
the package.
2020-02-11 06:54:19 -06:00
Adam Porter
ef0c5220c2 Meta: 0.5-pre 2020-02-10 08:56:39 -06:00
Adam Porter
538373bb48 Release: 0.4 2020-01-22 23:39:25 -06:00
Adam Porter
18c6787244 Tidy: (org-ql--pre-process-query) Calling of --query-predicate 2020-01-22 23:34:34 -06:00
Adam Porter
0e1196fd6f Tidy/Docs/Comment: Ancestor/descendant predicates 2020-01-22 23:34:25 -06:00
Adam Porter
adc5447c72 Tidy/Comment: Ancestor/descendant predicates 2020-01-22 23:33:44 -06:00
Adam Porter
3003eb8ad4 Comment: Add tasks 2020-01-22 23:33:29 -06:00
Josh Moller-Mara
65fb37c30d Add: parent and ancestors predicates
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").
2020-01-22 23:32:24 -06:00
Adam Porter
2e0d38daae Tidy: (org-ql-select) Sorting pcase 2020-01-22 17:28:11 -06:00
Jeff Filipovits
154d3bc949 Fix: (org-ql-select) Sorting with single atom sorter
Closes #90.  Thanks to Jeff Filipovits (@legalnonsense).
2020-01-22 17:15:13 -06:00
Adam Porter
9d15f503ba Tidy: Use alternatives to map-put
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.
2020-01-08 12:58:52 -06:00
Adam Porter
9f5bbeb3f2 Fix: Inherit org-file-tags
Fixes #55.  Closes #57.

Thanks to Mikhail Skorzhinskiy (@mskorzhinskiy).
2020-01-08 10:58:55 -06:00
Adam Porter
fbff8720b0 Tidy: Habit preamble
No need for rx-to-string, because it's static.
2020-01-03 05:47:00 -06:00
Adam Porter
d28d54c588 Comment: Add/remove TODOs 2020-01-03 05:40:06 -06:00
Adam Porter
e9d5bca842 Comment: Add headings 2020-01-03 04:12:59 -06:00
Adam Porter
091a732a88 Fix: (--value-at) On cache miss, return nil when function does
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.
2019-12-21 16:28:51 -06:00
Feng Shu
b9dfd7d93b Add: (regexp) Alias "r"
Thanks to Feng Shu (@tumashu).
2019-12-19 13:12:23 -06:00
Adam Porter
a1851ed0eb Fix: (--value-at) Clear value cache when buffer changes
Fixes #59.  Thanks to Daniel Hubmann (@hubisan) for reporting.
2019-11-24 05:43:21 -06:00
Adam Porter
0d6523f85b Add: (heading) Alias "h" 2019-10-19 02:10:04 -05:00
Adam Porter
d5c26b7f60 Merge: 0.3.2 2019-10-19 02:01:13 -05:00
Adam Porter
2274efce07 Release: 0.3.2 2019-10-19 01:55:35 -05:00
Adam Porter
7a4a41e402 Fix: Quoted phrase plain-string queries 2019-10-19 01:55:33 -05:00
Adam Porter
be7ac9921d Meta: 0.3.2-pre 2019-10-19 01:00:45 -05:00
Adam Porter
949a06c3ab Add: Negation in plain queries 2019-10-09 19:05:11 -05:00
Adam Porter
6b2004e678 Change/Fix: (src) predicate
Use keyword args, fix non-sexp syntax and searching.
2019-10-09 17:21:47 -05:00
Adam Porter
af0ef304e1 Merge: 0.3.1 2019-10-09 15:17:54 -05:00
Adam Porter
60ebad21f4 Fix: Compatibility with Org 9.2
Thanks to Brian Leung (@leungbk).  See #49.

Released as 0.3.1.
2019-10-09 15:15:13 -05:00
Adam Porter
8e6f221063 Fix: Require map
Thanks to Brian Leung (@leungbk).  See #49.
2019-10-09 14:45:24 -05:00
Adam Porter
37ba30c969 Add: src predicate 2019-10-09 14:23:29 -05:00