Merge: v0.8.9

This commit is contained in:
Adam Porter 2024-09-05 18:58:13 -05:00
commit c3519fb4a0
5 changed files with 227 additions and 153 deletions

View file

@ -560,13 +560,20 @@ Simple links may also be written manually in either sexp or non-sexp form, like:
+ Command ~org-ql-find~ respects narrowing of the current buffer by default, allowing searching within the narrowed region. (Using one ~C-u~ argument widens the current buffer, and using two ~C-u~ arguments prompts for the buffers to search.)
+ Function ~org-ql-completing-read~ accepts a new ~NARROWP~ argument, which is passed to ~org-ql-select~.
*Compatibility*
+ Fix compilation error on Emacs 30. ([[https://github.com/alphapapa/org-ql/issues/433][#433]]. Thanks to [[https://github.com/akirak][Akira Komamura]] and [[https://github.com/monnier][Stefan Monnier]].)
*** helm-org-ql
Tagged v0.6.2, fixing a compilation warning.
** 0.8.9
*Fixes*
+ Predicate ~property~ when called with argument form ~(property "PROPERTY-NAME" :inherit t)~. ([[https://github.com/alphapapa/org-ql/issues/460][#460]]. Thanks to [[https://github.com/Stewmath][Stewmath]] for reporting.)
+ Predicate ~level~'s preamble optimizer allows expressions in place of the numeric argument. (See [[https://github.com/alphapapa/org-ql/issues/460][#460]]. Thanks to [[https://github.com/Stewmath][Stewmath]] for reporting.)
+ Reading of view settings from Org links in upcoming Emacs version. ([[https://github.com/alphapapa/org-ql/issues/461][#461]]. Thanks to [[https://github.com/snogge][Ola Nilsson]] for help debugging, and for maintaining [[https://github.com/jorgenschaefer/emacs-buttercup][Buttercup]].)
*Compatibility*
+ Fix compilation error on Emacs 30. ([[https://github.com/alphapapa/org-ql/issues/433][#433]]. Thanks to [[https://github.com/akirak][Akira Komamura]] and [[https://github.com/monnier][Stefan Monnier]].)
** 0.8.8
*Fixes*

View file

@ -626,7 +626,7 @@ purposes of compatibility with changes in Org 9.4."
(query (url-unhex-string query))
(params (when params (url-parse-query-string params)))
;; `url-parse-query-string' returns "improper" alists, which makes this awkward.
(sort (when-let* ((stored-string (alist-get "sort" params nil nil #'string=))
(sort (when-let* ((stored-string (car (alist-get "sort" params nil nil #'string=)))
(read-value (read stored-string)))
;; Ensure the value is either a symbol or list of symbols (which excludes lambdas).
(unless (or (symbolp read-value) (cl-every #'symbolp read-value))
@ -634,11 +634,11 @@ purposes of compatibility with changes in Org 9.4."
read-value))
read-value))
(org-super-agenda-allow-unsafe-groups nil) ; Disallow unsafe group selectors.
(groups (--when-let (alist-get "super-groups" params nil nil #'string=)
(groups (--when-let (car (alist-get "super-groups" params nil nil #'string=))
(read it)))
(title (--when-let (alist-get "title" params nil nil #'string=)
(title (--when-let (car (alist-get "title" params nil nil #'string=))
(read it)))
(buffers-files (--if-let (alist-get "buffers-files" params nil nil #'string=)
(buffers-files (--if-let (car (alist-get "buffers-files" params nil nil #'string=))
(org-ql-view--expand-buffers-files (read it))
(current-buffer))))
(unless (or (bufferp buffers-files)

View file

@ -1537,7 +1537,8 @@ COMPARATOR may be `<', `<=', `>', or `>='."
;; is "h:" while the user is typing.
(list :regexp (rx bol (1+ "*") " ")
:case-fold t))
(`(,predicate-names ,comparator-or-num ,num)
((and `(,predicate-names ,comparator-or-num ,num)
(guard (numberp num)))
(let ((repeat (pcase comparator-or-num
('< `(repeat 1 ,(1- num) "*"))
('<= `(repeat 1 ,num "*"))
@ -1546,7 +1547,8 @@ COMPARATOR may be `<', `<=', `>', or `>='."
((pred integerp) `(repeat ,comparator-or-num ,num "*")))))
(list :regexp (rx-to-string `(seq bol ,repeat " ") t)
:case-fold t)))
(`(,predicate-names ,num)
((and `(,predicate-names ,num)
(guard (numberp num)))
(list :regexp (rx-to-string `(seq bol (repeat ,num "*") " ") t)
:case-fold t)))
;; NOTE: It might be necessary to take into account `org-odd-levels'; see docstring for
@ -1802,34 +1804,62 @@ interpreted as nil or non-nil)."
;; predicate test for whether an entry has local
;; properties when no arguments are given.
(list 'property ""))
(`(,predicate-names ,property ,value . ,plist)
(`(,predicate-names ,property)
;; Convert keyword property arguments to strings. Non-sexp
;; queries result in keyword property arguments (because to do
;; otherwise would require ugly special-casing in the parsing).
(when (keywordp property)
(setf property (substring (symbol-name property) 1)))
(list 'property property value
:inherit (cond ((plist-member plist :inherit) (plist-get plist :inherit))
((listp org-use-property-inheritance) ''selective)
(t org-use-property-inheritance)))))
(list 'property property))
(`(,predicate-names ,property . ,rest)
(pcase rest
(`(,value)
;; Convert keyword property arguments to strings. Non-sexp
;; queries result in keyword property arguments (because to do
;; otherwise would require ugly special-casing in the parsing).
(when (keywordp property)
(setf property (substring (symbol-name property) 1)))
(list 'property property value))
((and `(,value . ,plist)
(guard (not (keywordp value))))
;; Convert keyword property arguments to strings. Non-sexp
;; queries result in keyword property arguments (because to do
;; otherwise would require ugly special-casing in the parsing).
(when (keywordp property)
(setf property (substring (symbol-name property) 1)))
(list 'property property value
:inherit (cond ((plist-member plist :inherit) (plist-get plist :inherit))
((listp org-use-property-inheritance) ''selective)
(t org-use-property-inheritance))))
((and plist (guard (keywordp (car rest))))
;; Convert keyword property arguments to strings. Non-sexp
;; queries result in keyword property arguments (because to do
;; otherwise would require ugly special-casing in the parsing).
(when (keywordp property)
(setf property (substring (symbol-name property) 1)))
(list 'property property nil
:inherit (cond ((plist-member plist :inherit) (plist-get plist :inherit))
((listp org-use-property-inheritance) ''selective)
(t org-use-property-inheritance)))))))
;; MAYBE: Should case folding be disabled for properties? What about values?
;; MAYBE: Support (property) without args.
;; NOTE: When inheritance is enabled, the preamble can't be used,
;; which will make the search slower.
:preambles ((`(,predicate-names ,property ,value . ,(map :inherit))
:preambles (((and `(,predicate-names ,property ,value)
(guard (atom value)))
;; We do NOT return nil, because the predicate still needs to be tested,
;; because the regexp could match a string not inside a property drawer.
(list :regexp (unless inherit
(rx-to-string `(seq bol (0+ space) ":" ,property ":"
(1+ space) ,value (0+ space) eol)))
(list :regexp (rx-to-string `(seq bol (0+ space) ":" ,property ":"
(1+ space) ,value (0+ space) eol))
:query query))
(`(,predicate-names ,property . ,(map :inherit))
;; We do NOT return nil, because the predicate still needs to be tested,
((and `(,predicate-names ,property ,value . ,plist)
(guard (keywordp (car plist))))
;; WE do NOT return nil, because the predicate still needs to be tested,
;; because the regexp could match a string not inside a property drawer.
;; NOTE: The preamble only matches if there appears to be a value.
;; A line like ":ID: " without any other text does not match.
(list :regexp (unless inherit
(list :regexp (unless (plist-get plist :inherit)
(rx-to-string `(seq bol (0+ space) ":" ,property ":" (1+ space)
(minimal-match (1+ not-newline)) eol)))
:query query)))
@ -1841,7 +1871,7 @@ interpreted as nil or non-nil)."
;; Check that PROPERTY exists
(org-ql--value-at
(point) (lambda ()
(org-entry-get (point) property))))
(org-entry-get (point) property inherit))))
(_
;; Check that PROPERTY has VALUE.

View file

@ -74,6 +74,7 @@ Functions / Macros
Changelog
* 0.9-pre: 09-pre.
* 0.8.9: 089.
* 0.8.8: 088.
* 0.8.7: 087.
* 0.8.6: 086.
@ -1047,6 +1048,7 @@ releases.
* Menu:
* 0.9-pre: 09-pre.
* 0.8.9: 089.
* 0.8.8: 088.
* 0.8.7: 087.
* 0.8.6: 086.
@ -1088,7 +1090,7 @@ releases.
* 0.1: 01.

File: README.info, Node: 09-pre, Next: 088, Up: Changelog
File: README.info, Node: 09-pre, Next: 089, Up: Changelog
5.1 0.9-pre
===========
@ -1101,12 +1103,6 @@ File: README.info, Node: 09-pre, Next: 088, Up: Changelog
• Function org-ql-completing-read accepts a new NARROWP argument,
which is passed to org-ql-select.
*Compatibility*
• Fix compilation error on Emacs 30. (#433
(https://github.com/alphapapa/org-ql/issues/433). Thanks to Akira
Komamura (https://github.com/akirak) and Stefan Monnier
(https://github.com/monnier).)
* Menu:
* helm-org-ql: helm-org-ql (1).
@ -1120,9 +1116,36 @@ File: README.info, Node: helm-org-ql (1), Up: 09-pre
Tagged v0.6.2, fixing a compilation warning.

File: README.info, Node: 088, Next: 087, Prev: 09-pre, Up: Changelog
File: README.info, Node: 089, Next: 088, Prev: 09-pre, Up: Changelog
5.2 0.8.8
5.2 0.8.9
=========
*Fixes*
• Predicate property when called with argument form (property
"PROPERTY-NAME" :inherit t). (#460
(https://github.com/alphapapa/org-ql/issues/460). Thanks to
Stewmath (https://github.com/Stewmath) for reporting.)
• Predicate levels preamble optimizer allows expressions in place
of the numeric argument. (See #460
(https://github.com/alphapapa/org-ql/issues/460). Thanks to
Stewmath (https://github.com/Stewmath) for reporting.)
• Reading of view settings from Org links in upcoming Emacs version.
(#461 (https://github.com/alphapapa/org-ql/issues/461). Thanks to
Ola Nilsson (https://github.com/snogge) for help debugging, and for
maintaining Buttercup
(https://github.com/jorgenschaefer/emacs-buttercup).)
*Compatibility*
• Fix compilation error on Emacs 30. (#433
(https://github.com/alphapapa/org-ql/issues/433). Thanks to Akira
Komamura (https://github.com/akirak) and Stefan Monnier
(https://github.com/monnier).)

File: README.info, Node: 088, Next: 087, Prev: 089, Up: Changelog
5.3 0.8.8
=========
*Fixes*
@ -1144,7 +1167,7 @@ File: README.info, Node: 088, Next: 087, Prev: 09-pre, Up: Changelog

File: README.info, Node: 087, Next: 086, Prev: 088, Up: Changelog
5.3 0.8.7
5.4 0.8.7
=========
*Fixes*
@ -1172,7 +1195,7 @@ File: README.info, Node: 087, Next: 086, Prev: 088, Up: Changelog

File: README.info, Node: 086, Next: 085, Prev: 087, Up: Changelog
5.4 0.8.6
5.5 0.8.6
=========
*Fixes*
@ -1182,7 +1205,7 @@ File: README.info, Node: 086, Next: 085, Prev: 087, Up: Changelog

File: README.info, Node: 085, Next: 084, Prev: 086, Up: Changelog
5.5 0.8.5
5.6 0.8.5
=========
*Fixes*
@ -1199,7 +1222,7 @@ File: README.info, Node: 085, Next: 084, Prev: 086, Up: Changelog

File: README.info, Node: 084, Next: 083, Prev: 085, Up: Changelog
5.6 0.8.4
5.7 0.8.4
=========
*Fixes*
@ -1213,7 +1236,7 @@ File: README.info, Node: 084, Next: 083, Prev: 085, Up: Changelog

File: README.info, Node: 083, Next: 082, Prev: 084, Up: Changelog
5.7 0.8.3
5.8 0.8.3
=========
*Fixes*
@ -1226,7 +1249,7 @@ File: README.info, Node: 083, Next: 082, Prev: 084, Up: Changelog

File: README.info, Node: 082, Next: 081, Prev: 083, Up: Changelog
5.8 0.8.2
5.9 0.8.2
=========
*Fixes*
@ -1240,8 +1263,8 @@ File: README.info, Node: 082, Next: 081, Prev: 083, Up: Changelog

File: README.info, Node: 081, Next: 08, Prev: 082, Up: Changelog
5.9 0.8.1
=========
5.10 0.8.1
==========
*Fixes*
@ -1255,7 +1278,7 @@ File: README.info, Node: 081, Next: 08, Prev: 082, Up: Changelog

File: README.info, Node: 08, Next: 074, Prev: 081, Up: Changelog
5.10 0.8
5.11 0.8
========
*Additions*
@ -1311,7 +1334,7 @@ File: README.info, Node: 08, Next: 074, Prev: 081, Up: Changelog

File: README.info, Node: 074, Next: 073, Prev: 08, Up: Changelog
5.11 0.7.4
5.12 0.7.4
==========
*Fixes*
@ -1321,7 +1344,7 @@ File: README.info, Node: 074, Next: 073, Prev: 08, Up: Changelog

File: README.info, Node: 073, Next: 072, Prev: 074, Up: Changelog
5.12 0.7.3
5.13 0.7.3
==========
*Fixes*
@ -1339,7 +1362,7 @@ File: README.info, Node: 073, Next: 072, Prev: 074, Up: Changelog

File: README.info, Node: 072, Next: 071, Prev: 073, Up: Changelog
5.13 0.7.2
5.14 0.7.2
==========
*Fixes*
@ -1360,7 +1383,7 @@ File: README.info, Node: 072, Next: 071, Prev: 073, Up: Changelog

File: README.info, Node: 071, Next: 07, Prev: 072, Up: Changelog
5.14 0.7.1
5.15 0.7.1
==========
*Fixes*
@ -1379,7 +1402,7 @@ File: README.info, Node: 071, Next: 07, Prev: 072, Up: Changelog

File: README.info, Node: 07, Next: 063, Prev: 071, Up: Changelog
5.15 0.7
5.16 0.7
========
*Added*
@ -1438,7 +1461,7 @@ File: README.info, Node: 07, Next: 063, Prev: 071, Up: Changelog

File: README.info, Node: 063, Next: 062, Prev: 07, Up: Changelog
5.16 0.6.3
5.17 0.6.3
==========
*Fixed*
@ -1454,7 +1477,7 @@ File: README.info, Node: 063, Next: 062, Prev: 07, Up: Changelog

File: README.info, Node: 062, Next: 061, Prev: 063, Up: Changelog
5.17 0.6.2
5.18 0.6.2
==========
*Fixed*
@ -1465,7 +1488,7 @@ File: README.info, Node: 062, Next: 061, Prev: 063, Up: Changelog

File: README.info, Node: 061, Next: 06, Prev: 062, Up: Changelog
5.18 0.6.1
5.19 0.6.1
==========
*Fixed*
@ -1483,7 +1506,7 @@ File: README.info, Node: 061, Next: 06, Prev: 062, Up: Changelog

File: README.info, Node: 06, Next: 052, Prev: 061, Up: Changelog
5.19 0.6
5.20 0.6
========
*Added*
@ -1550,7 +1573,7 @@ File: README.info, Node: 06, Next: 052, Prev: 061, Up: Changelog

File: README.info, Node: 052, Next: 051, Prev: 06, Up: Changelog
5.20 0.5.2
5.21 0.5.2
==========
*Fixed*
@ -1561,7 +1584,7 @@ File: README.info, Node: 052, Next: 051, Prev: 06, Up: Changelog

File: README.info, Node: 051, Next: 05, Prev: 052, Up: Changelog
5.21 0.5.1
5.22 0.5.1
==========
*Fixed*
@ -1574,7 +1597,7 @@ File: README.info, Node: 051, Next: 05, Prev: 052, Up: Changelog

File: README.info, Node: 05, Next: 049, Prev: 051, Up: Changelog
5.22 0.5
5.23 0.5
========
*Added*
@ -1615,7 +1638,7 @@ File: README.info, Node: 05, Next: 049, Prev: 051, Up: Changelog

File: README.info, Node: 049, Next: 048, Prev: 05, Up: Changelog
5.23 0.4.9
5.24 0.4.9
==========
*Fixed*
@ -1626,7 +1649,7 @@ File: README.info, Node: 049, Next: 048, Prev: 05, Up: Changelog

File: README.info, Node: 048, Next: 047, Prev: 049, Up: Changelog
5.24 0.4.8
5.25 0.4.8
==========
*Fixed*
@ -1638,7 +1661,7 @@ File: README.info, Node: 048, Next: 047, Prev: 049, Up: Changelog

File: README.info, Node: 047, Next: 046, Prev: 048, Up: Changelog
5.25 0.4.7
5.26 0.4.7
==========
*Fixed*
@ -1651,7 +1674,7 @@ File: README.info, Node: 047, Next: 046, Prev: 048, Up: Changelog

File: README.info, Node: 046, Next: 045, Prev: 047, Up: Changelog
5.26 0.4.6
5.27 0.4.6
==========
*Fixed*
@ -1664,7 +1687,7 @@ File: README.info, Node: 046, Next: 045, Prev: 047, Up: Changelog

File: README.info, Node: 045, Next: 044, Prev: 046, Up: Changelog
5.27 0.4.5
5.28 0.4.5
==========
*Fixed*
@ -1676,7 +1699,7 @@ File: README.info, Node: 045, Next: 044, Prev: 046, Up: Changelog

File: README.info, Node: 044, Next: 043, Prev: 045, Up: Changelog
5.28 0.4.4
5.29 0.4.4
==========
*Fixed*
@ -1688,7 +1711,7 @@ File: README.info, Node: 044, Next: 043, Prev: 045, Up: Changelog

File: README.info, Node: 043, Next: 042, Prev: 044, Up: Changelog
5.29 0.4.3
5.30 0.4.3
==========
*Fixed*
@ -1698,7 +1721,7 @@ File: README.info, Node: 043, Next: 042, Prev: 044, Up: Changelog

File: README.info, Node: 042, Next: 041, Prev: 043, Up: Changelog
5.30 0.4.2
5.31 0.4.2
==========
*Fixed*
@ -1707,7 +1730,7 @@ File: README.info, Node: 042, Next: 041, Prev: 043, Up: Changelog

File: README.info, Node: 041, Next: 04, Prev: 042, Up: Changelog
5.31 0.4.1
5.32 0.4.1
==========
*Fixed*
@ -1717,7 +1740,7 @@ File: README.info, Node: 041, Next: 04, Prev: 042, Up: Changelog

File: README.info, Node: 04, Next: 032, Prev: 041, Up: Changelog
5.32 0.4
5.33 0.4
========
_Note:_ The next release, 0.5, may include changes which will require
@ -1798,7 +1821,7 @@ automatically, as they will be pushed to the master branch when ready.

File: README.info, Node: 032, Next: 031, Prev: 04, Up: Changelog
5.33 0.3.2
5.34 0.3.2
==========
*Fixed*
@ -1811,7 +1834,7 @@ File: README.info, Node: 032, Next: 031, Prev: 04, Up: Changelog

File: README.info, Node: 031, Next: 03, Prev: 032, Up: Changelog
5.34 0.3.1
5.35 0.3.1
==========
*Fixed*
@ -1821,7 +1844,7 @@ File: README.info, Node: 031, Next: 03, Prev: 032, Up: Changelog

File: README.info, Node: 03, Next: 023, Prev: 031, Up: Changelog
5.35 0.3
5.36 0.3
========
*Added*
@ -1889,7 +1912,7 @@ File: README.info, Node: 03, Next: 023, Prev: 031, Up: Changelog

File: README.info, Node: 023, Next: 022, Prev: 03, Up: Changelog
5.36 0.2.3
5.37 0.2.3
==========
*Fixed*
@ -1899,7 +1922,7 @@ File: README.info, Node: 023, Next: 022, Prev: 03, Up: Changelog

File: README.info, Node: 022, Next: 021, Prev: 023, Up: Changelog
5.37 0.2.2
5.38 0.2.2
==========
*Fixed*
@ -1910,7 +1933,7 @@ File: README.info, Node: 022, Next: 021, Prev: 023, Up: Changelog

File: README.info, Node: 021, Next: 02, Prev: 022, Up: Changelog
5.38 0.2.1
5.39 0.2.1
==========
*Fixed*
@ -1920,7 +1943,7 @@ File: README.info, Node: 021, Next: 02, Prev: 022, Up: Changelog

File: README.info, Node: 02, Next: 01, Prev: 021, Up: Changelog
5.39 0.2
5.40 0.2
========
*Added*
@ -2003,7 +2026,7 @@ File: README.info, Node: 02, Next: 01, Prev: 021, Up: Changelog

File: README.info, Node: 01, Prev: 02, Up: Changelog
5.40 0.1
5.41 0.1
========
First tagged release.
@ -2088,88 +2111,89 @@ GPLv3

Tag Table:
Node: Top225
Node: Contents2079
Node: Screenshots2206
Node: Installation2324
Node: Quelpa2838
Node: Helm support3366
Node: Usage3769
Node: Commands4167
Node: org-ql-find4632
Node: org-ql-open-link5540
Node: org-ql-refile6395
Node: org-ql-search6723
Node: helm-org-ql8654
Node: org-ql-view9032
Node: org-ql-view-sidebar9562
Node: org-ql-view-recent-items9942
Node: org-ql-sparse-tree10438
Node: Queries11238
Node: Non-sexp query syntax12355
Node: General predicates14114
Node: Ancestor/descendant predicates21039
Node: Date/time predicates22167
Node: Functions / Macros25291
Node: Agenda-like views25589
Ref: Function org-ql-block25751
Node: Listing / acting-on results27012
Ref: Caching27220
Ref: Function org-ql-select28133
Ref: Function org-ql-query30559
Ref: Macro org-ql (deprecated)32333
Node: Custom predicates32648
Ref: Macro org-ql-defpred32872
Node: Dynamic block36313
Node: Links39037
Node: Tips39724
Node: Changelog40048
Node: 09-pre41001
Node: helm-org-ql (1)41785
Node: 08841926
Node: 08743005
Node: 08644233
Node: 08544467
Node: 08445123
Node: 08345575
Node: 08245916
Node: 08146309
Node: 0846730
Node: 07449456
Node: 07349681
Node: 07250415
Node: 07151336
Node: 0752147
Node: 06355013
Node: 06255546
Node: 06155853
Node: 0656423
Node: 05259479
Node: 05159781
Node: 0560206
Node: 04961737
Node: 04862019
Node: 04762368
Node: 04662777
Node: 04563185
Node: 04463546
Node: 04363905
Node: 04264108
Node: 04164269
Node: 0464516
Node: 03268617
Node: 03169020
Node: 0369217
Node: 02372517
Node: 02272751
Node: 02173031
Node: 0273236
Node: 0177314
Node: Development77415
Node: Copyright assignment77648
Node: Notes78238
Node: Comparison with Org Agenda searches78402
Node: org-sidebar79291
Node: License79570
Node: Contents2093
Node: Screenshots2220
Node: Installation2338
Node: Quelpa2852
Node: Helm support3380
Node: Usage3783
Node: Commands4181
Node: org-ql-find4646
Node: org-ql-open-link5554
Node: org-ql-refile6409
Node: org-ql-search6737
Node: helm-org-ql8668
Node: org-ql-view9046
Node: org-ql-view-sidebar9576
Node: org-ql-view-recent-items9956
Node: org-ql-sparse-tree10452
Node: Queries11252
Node: Non-sexp query syntax12369
Node: General predicates14128
Node: Ancestor/descendant predicates21053
Node: Date/time predicates22181
Node: Functions / Macros25305
Node: Agenda-like views25603
Ref: Function org-ql-block25765
Node: Listing / acting-on results27026
Ref: Caching27234
Ref: Function org-ql-select28147
Ref: Function org-ql-query30573
Ref: Macro org-ql (deprecated)32347
Node: Custom predicates32662
Ref: Macro org-ql-defpred32886
Node: Dynamic block36327
Node: Links39051
Node: Tips39738
Node: Changelog40062
Node: 09-pre41029
Node: helm-org-ql (1)41575
Node: 08941716
Node: 08842858
Node: 08743934
Node: 08645162
Node: 08545396
Node: 08446052
Node: 08346504
Node: 08246845
Node: 08147238
Node: 0847661
Node: 07450387
Node: 07350612
Node: 07251346
Node: 07152267
Node: 0753078
Node: 06355944
Node: 06256477
Node: 06156784
Node: 0657354
Node: 05260410
Node: 05160712
Node: 0561137
Node: 04962668
Node: 04862950
Node: 04763299
Node: 04663708
Node: 04564116
Node: 04464477
Node: 04364836
Node: 04265039
Node: 04165200
Node: 0465447
Node: 03269548
Node: 03169951
Node: 0370148
Node: 02373448
Node: 02273682
Node: 02173962
Node: 0274167
Node: 0178245
Node: Development78346
Node: Copyright assignment78579
Node: Notes79169
Node: Comparison with Org Agenda searches79333
Node: org-sidebar80222
Node: License80501

End Tag Table

View file

@ -638,6 +638,11 @@ with keyword arg NOW in PLIST."
:to-equal (list :query t
:preamble (rx bol (repeat 2 4 "*") " ")
:preamble-case-fold t)))
(it "with an expression in level number's place"
(expect (org-ql--query-preamble '(level <= (string-to-number (property "PROPERTY"))))
:to-equal (list :query '(level <= (string-to-number (property "PROPERTY")))
:preamble nil
:preamble-case-fold t)))
(it "<"
(expect (org-ql--query-preamble '(level < 3))
:to-equal (list :query t
@ -1339,7 +1344,15 @@ with keyword arg NOW in PLIST."
(org-ql-it "with a property and a value"
(org-ql-expect ('(property "agenda-group" "plans"))
'("Take over the universe" "Write a symphony"))))
'("Take over the universe" "Write a symphony")))
(org-ql-it "with a property and \"nil :inherit t\""
(org-ql-expect ('(property "agenda-group" nil :inherit t))
'("Take over the universe" "Take over the world" "Skype with president of Antarctica" "Take over Mars" "Visit Mars" "Take over the moon" "Visit the moon" "Practice leaping tall buildings in a single bound" "Renew membership in supervillain club" "Learn universal sign language" "Spaceship lease" "Recurring" "/r/emacs" "Shop for groceries" "Sunrise/sunset" "Write a symphony")))
(org-ql-it "with a property and \":inherit t\""
(org-ql-expect ('(property "agenda-group" :inherit t))
'("Take over the universe" "Take over the world" "Skype with president of Antarctica" "Take over Mars" "Visit Mars" "Take over the moon" "Visit the moon" "Practice leaping tall buildings in a single bound" "Renew membership in supervillain club" "Learn universal sign language" "Spaceship lease" "Recurring" "/r/emacs" "Shop for groceries" "Sunrise/sunset" "Write a symphony"))))
(describe "(regexp)"