From 46ad26f1a02b7a6f3d0badbe9a148def7c0d914a Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Sun, 22 Nov 2020 17:20:12 -0600 Subject: [PATCH 1/7] Change: Require org-super-agenda 1.2 Which includes the safety checks we use for links. --- org-ql.el | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/org-ql.el b/org-ql.el index ccf63fd..f3d89e7 100644 --- a/org-ql.el +++ b/org-ql.el @@ -3,7 +3,7 @@ ;; Author: Adam Porter ;; Url: https://github.com/alphapapa/org-ql ;; Version: 0.5-pre -;; Package-Requires: ((emacs "26.1") (dash "2.13") (dash-functional "1.2.0") (f "0.17.2") (map "2.1") (org "9.0") (org-super-agenda "1.2-pre") (ov "1.0.6") (peg "0.6") (s "1.12.0") (transient "0.1") (ts "0.2-pre")) +;; Package-Requires: ((emacs "26.1") (dash "2.13") (dash-functional "1.2.0") (f "0.17.2") (map "2.1") (org "9.0") (org-super-agenda "1.2") (ov "1.0.6") (peg "0.6") (s "1.12.0") (transient "0.1") (ts "0.2-pre")) ;; Keywords: hypermedia, outlines, Org, agenda ;;; Commentary: From c41cd4be822434ba360540e563a5b9f379886b85 Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Sun, 22 Nov 2020 17:25:04 -0600 Subject: [PATCH 2/7] Change: (-view--link-open, -view--link-follow) Rename function For consistency with Org's naming scheme. --- org-ql-view.el | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/org-ql-view.el b/org-ql-view.el index 089baf6..0bc1b97 100644 --- a/org-ql-view.el +++ b/org-ql-view.el @@ -578,7 +578,7 @@ dates in the past, and negative for dates in the future." ;; than `org-ql-view' saved views, the link type is "org-ql-search". (org-link-set-parameters "org-ql-search" - :follow #'org-ql-view--link-open + :follow #'org-ql-view--link-follow :store #'org-ql-view--link-store) ;; We require the URL libraries in the functions to hopefully avoid @@ -588,7 +588,7 @@ dates in the past, and negative for dates in the future." (require 'url-parse) (require 'url-util)) -(defun org-ql-view--link-open (path) +(defun org-ql-view--link-follow (path) "Open Org QL query for current buffer at PATH. PATH should be the part of an \"org-ql-search:\" URL after the protocol. See, e.g. `org-ql-view--link-store'." From 7f8328a87c8c9fdacb4458243a0a9338206db0bd Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Sun, 22 Nov 2020 17:25:59 -0600 Subject: [PATCH 3/7] Change: (-view--link-follow) Ignore second argument Hopefully this allows compatibility with Org 9.4, since Org's news file doesn't say what the second argument is. --- org-ql-view.el | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/org-ql-view.el b/org-ql-view.el index 0bc1b97..b954fc0 100644 --- a/org-ql-view.el +++ b/org-ql-view.el @@ -588,10 +588,13 @@ dates in the past, and negative for dates in the future." (require 'url-parse) (require 'url-util)) -(defun org-ql-view--link-follow (path) +(defun org-ql-view--link-follow (path &optional _ignored) "Open Org QL query for current buffer at PATH. PATH should be the part of an \"org-ql-search:\" URL after the -protocol. See, e.g. `org-ql-view--link-store'." +protocol. See, e.g. `org-ql-view--link-store'. + +The optional, second argument is temporarily _IGNORED for +purposes of compatibility with changes in Org 9.4." (require 'url-parse) (require 'url-util) (when (version<= "9.3" (org-version)) From 56a08208e571b9e23e90110909fcc5937e1997c9 Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Sun, 22 Nov 2020 17:31:15 -0600 Subject: [PATCH 4/7] Change: (defgroup org-ql) Add Info manual link --- org-ql.el | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/org-ql.el b/org-ql.el index f3d89e7..1ef99fe 100644 --- a/org-ql.el +++ b/org-ql.el @@ -134,7 +134,7 @@ This list should not contain any duplicates.")) (defgroup org-ql nil "Customization for `org-ql'." :group 'org - ;; TODO: Add info manual link. + :link '(custom-manual "(org-ql)Usage") :link '(url-link "https://github.com/alphapapa/org-ql")) (defcustom org-ql-ask-unsafe-queries t From 90f712aba9ea386d7bb65f9300ddc4527c1d000d Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Sun, 22 Nov 2020 17:33:46 -0600 Subject: [PATCH 5/7] Change: (org-ql) Declare macro obsolete --- README.org | 3 + org-ql.el | 4 +- org-ql.info | 50 ++--- tests/test-org-ql.el | 437 ++++++++++++++++++++++--------------------- 4 files changed, 252 insertions(+), 242 deletions(-) diff --git a/README.org b/README.org index 2d7f300..fed38c4 100644 --- a/README.org +++ b/README.org @@ -478,6 +478,9 @@ Simple links may also be written manually in either sexp or non-sexp form, like: *Internal* + When formatting entries for Org QL View buffers, use internal function for retrieving heading tags. This improves speed by using our cache, and it removes the need for a compatibility alias for Org versions before 9.3. +*Deprecated* ++ Macro =org-ql= is marked obsolete. It will be removed in v0.7. Functions =org-ql-select= and =org-ql-query= should be used instead. (The macro serves only to confuse with regard to quoting arguments.) + *Acknowledgments* + [[https://github.com/tpeacock19][tpeacock19]] for extensive help testing new features in this version. diff --git a/org-ql.el b/org-ql.el index 1ef99fe..3e38088 100644 --- a/org-ql.el +++ b/org-ql.el @@ -184,12 +184,12 @@ match." (push (list :name ',pred-name :aliases ',aliases :fn ',fn-name :docstring ,docstring :args ',args) org-ql-predicates)) (cl-defun ,fn-name ,args ,docstring ,@body)))) -;; TODO: Mark as obsolete/deprecated. ;;;###autoload (cl-defmacro org-ql (buffers-or-files query &key sort narrow action) "Expands into a call to `org-ql-select' with the same arguments. For convenience, arguments should be unquoted." - (declare (indent defun)) + (declare (indent defun) + (obsolete "Please use functions `org-ql-select' or `org-ql-query' instead" "org-ql 0.5")) `(org-ql-select ,buffers-or-files ',query :action ',action diff --git a/org-ql.info b/org-ql.info index da41319..3e8c933 100644 --- a/org-ql.info +++ b/org-ql.info @@ -882,6 +882,12 @@ File: README.info, Node: 05-pre, Next: 049, Up: Changelog our cache, and it removes the need for a compatibility alias for Org versions before 9.3. + *Deprecated* + • Macro org-ql is marked obsolete. It will be removed in v0.7. + Functions org-ql-select and org-ql-query should be used instead. + (The macro serves only to confuse with regard to quoting + arguments.) + *Acknowledgments* • tpeacock19 (https://github.com/tpeacock19) for extensive help testing new features in this version. @@ -1357,28 +1363,28 @@ Node: Links29556 Node: Tips30243 Node: Changelog30561 Node: 05-pre31245 -Node: 04932484 -Node: 04832762 -Node: 04733109 -Node: 04633504 -Node: 04533904 -Node: 04434263 -Node: 04334620 -Node: 04234815 -Node: 04134974 -Node: 0435215 -Node: 03239148 -Node: 03139527 -Node: 0339724 -Node: 02342699 -Node: 02242927 -Node: 02143195 -Node: 0243394 -Node: 0147429 -Node: Notes47530 -Node: Comparison with Org Agenda searches47692 -Node: org-sidebar48564 -Node: License48843 +Node: 04932719 +Node: 04832997 +Node: 04733344 +Node: 04633739 +Node: 04534139 +Node: 04434498 +Node: 04334855 +Node: 04235050 +Node: 04135209 +Node: 0435450 +Node: 03239383 +Node: 03139762 +Node: 0339959 +Node: 02342934 +Node: 02243162 +Node: 02143430 +Node: 0243629 +Node: 0147664 +Node: Notes47765 +Node: Comparison with Org Agenda searches47927 +Node: org-sidebar48799 +Node: License49078  End Tag Table diff --git a/tests/test-org-ql.el b/tests/test-org-ql.el index d297fc6..c9d560e 100644 --- a/tests/test-org-ql.el +++ b/tests/test-org-ql.el @@ -54,14 +54,14 @@ Set at runtime by test suite.") (_ nil))) (result (pcase sexp (`(org-ql-expect ,args) - (org-ql-test--format-result--ql `(org-ql org-ql-test-buffer + (org-ql-test--format-result--ql `(org-ql-select org-ql-test-buffer ,@args :action (org-ql-test-org-get-heading)))) (`(org-ql-expect ,args ,_ :buffer ,buffer) - (org-ql-test--format-result--ql `(org-ql ,buffer + (org-ql-test--format-result--ql `(org-ql-select ,buffer ,@args :action (org-ql-test-org-get-heading)))) - (`(org-ql . _) (org-ql-test--format-result--ql sexp)) + (`(org-ql-select . _) (org-ql-test--format-result--ql sexp)) (`(org-ql--query-preamble . _) (org-ql-test--format-result--query-preamble sexp)) (`(org-ql--pre-process-query . _) (format "'%S" (eval sexp))) (_ nil)))) @@ -92,7 +92,7 @@ Set at runtime by test suite.") (interactive) (if-let* ((sexp (elisp--preceding-sexp)) (sexp (pcase sexp - (`(org-ql . ,_) (setf (car sexp) 'org-ql-agenda)) + (`(org-ql-select . ,_) (setf (car sexp) 'org-ql-agenda)) (`(org-ql-expect ,ql-args . ,_) (setf sexp `(org-ql-search org-ql-test-buffer ',@ql-args))) (_ nil)))) @@ -131,9 +131,9 @@ Based on Buttercup macro `it'." RESULTS should be a list of strings as returned by `org-ql-test-org-get-heading'." (declare (indent defun)) - `(expect (org-ql ,buffer + `(expect (org-ql-select ,buffer ,@ql-args - :action (org-ql-test-org-get-heading)) + :action '(org-ql-test-org-get-heading)) :to-equal ,results)) (defmacro org-ql-then (&rest body) @@ -201,6 +201,7 @@ RESULTS should be a list of strings as returned by (describe "Query functions/macros" (it "org-ql" + ;; FIXME: Remove when org-ql macro is removed. (expect (length (org-ql org-ql-test-buffer (category) :sort deadline)) @@ -422,423 +423,423 @@ RESULTS should be a list of strings as returned by (describe "(ancestors)" (org-ql-it "without sub-query" - (org-ql-expect ((ancestors)) + (org-ql-expect ('(ancestors)) '("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" "/r/emacs" "Shop for groceries" "Sunrise/sunset" "Rewrite Emacs in Common Lisp" "Write a symphony"))) (org-ql-it "with sub-query" - (org-ql-expect ((ancestors (heading "universe"))) + (org-ql-expect ('(ancestors (heading "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")))) (describe "(parent)" (org-ql-it "without sub-query" - (org-ql-expect ((parent)) + (org-ql-expect ('(parent)) '("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" "/r/emacs" "Shop for groceries" "Sunrise/sunset" "Rewrite Emacs in Common Lisp" "Write a symphony"))) (org-ql-it "with sub-query" - (org-ql-expect ((parent (and (todo) (priority "A")))) + (org-ql-expect ('(parent (and (todo) (priority "A")))) '("Take over the world" "Skype with president of Antarctica" "Take over Mars" "Take over the moon" "Practice leaping tall buildings in a single bound" "Renew membership in supervillain club" "Learn universal sign language")))) (describe "(category)" (org-ql-it "without arguments" - (expect (length (org-ql org-ql-test-buffer - (category))) + (expect (length (org-ql-select org-ql-test-buffer + '(category))) :to-equal org-ql-test-num-headings)) (org-ql-it "with a category" - (org-ql-expect ((category "ambition")) + (org-ql-expect ('(category "ambition")) '("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")))) (describe "(children)" (org-ql-it "without arguments" - (org-ql-expect ((children)) + (org-ql-expect ('(children)) '("Take over the universe" "Take over the world" "Take over Mars" "Take over the moon" "Recurring" "Ideas"))) (org-ql-it "with sub-query" - (org-ql-expect ((children (todo "CHECK"))) + (org-ql-expect ('(children (todo "CHECK"))) '("Recurring"))) (org-ql-it "with grandchildren query" ;; It's really cool how this works. It's so simple. - (org-ql-expect ((children (children "moon"))) + (org-ql-expect ('(children (children "moon"))) '("Take over the universe")))) (describe "(descendants)" (org-ql-it "without arguments" - (org-ql-expect ((descendants)) + (org-ql-expect ('(descendants)) '("Take over the universe" "Take over the world" "Take over Mars" "Take over the moon" "Recurring" "Ideas"))) (org-ql-it "with sub-query" - (org-ql-expect ((descendants (todo "CHECK"))) + (org-ql-expect ('(descendants (todo "CHECK"))) '("Recurring"))) (org-ql-it "with granddescendants query" - (org-ql-expect ((descendants (descendants "moon"))) + (org-ql-expect ('(descendants (descendants "moon"))) '("Take over the universe"))) (org-ql-it "with query that should not match parent" ;; This test would fail if the `descendants' predicate did not properly exclude ;; the parent heading by narrowing the buffer to begin at the first child. - (org-ql-expect ((and (descendants (todo "WAITING")) - (not (descendants (todo "TODO" "NEXT"))))) + (org-ql-expect ('(and (descendants (todo "WAITING")) + (not (descendants (todo "TODO" "NEXT"))))) '("Take over the moon")))) (describe "(clocked)" (org-ql-it "without arguments" - (org-ql-expect ((clocked)) + (org-ql-expect ('(clocked)) '("Learn universal sign language"))) (org-ql-it "with a number" (org-ql-then - (org-ql-expect ((clocked 10)) + (org-ql-expect ('(clocked 10)) '("Learn universal sign language")))) (org-ql-it ":from a timestamp" - (org-ql-expect ((clocked :from "2017-07-05")) + (org-ql-expect ('(clocked :from "2017-07-05")) '("Learn universal sign language")) - (org-ql-expect ((clocked :from "2017-07-06")) + (org-ql-expect ('(clocked :from "2017-07-06")) nil)) (org-ql-it ":from today" (org-ql-then - (org-ql-expect ((clocked :from today)) + (org-ql-expect ('(clocked :from today)) '("Learn universal sign language")))) (org-ql-it ":to a timestamp" - (org-ql-expect ((clocked :to "2017-07-05")) + (org-ql-expect ('(clocked :to "2017-07-05")) '("Learn universal sign language")) - (org-ql-expect ((clocked :to "2017-07-04")) + (org-ql-expect ('(clocked :to "2017-07-04")) nil)) (org-ql-it ":to today" (org-ql-then - (org-ql-expect ((clocked :to today)) + (org-ql-expect ('(clocked :to today)) '("Learn universal sign language")))) (org-ql-it ":on a date" - (org-ql-expect ((clocked :on "2017-07-05")) + (org-ql-expect ('(clocked :on "2017-07-05")) '("Learn universal sign language")) - (org-ql-expect ((clocked :on "2018-12-02")) + (org-ql-expect ('(clocked :on "2018-12-02")) nil)) (org-ql-it ":on today" (org-ql-then - (org-ql-expect ((clocked :on today)) + (org-ql-expect ('(clocked :on today)) '("Learn universal sign language")))) (org-ql-it "within a range (:from and :to)" - (org-ql-expect ((clocked :from "2017-07-04" :to "2018-12-11")) + (org-ql-expect ('(clocked :from "2017-07-04" :to "2018-12-11")) '("Learn universal sign language")) - (org-ql-expect ((clocked :from "2017-07-06" :to "2018-12-11")) + (org-ql-expect ('(clocked :from "2017-07-06" :to "2018-12-11")) nil) - (org-ql-expect ((clocked :from "2017-07-01" :to "2017-07-04")) + (org-ql-expect ('(clocked :from "2017-07-01" :to "2017-07-04")) nil))) (describe "(closed)" (org-ql-it "without arguments" - (org-ql-expect ((closed)) + (org-ql-expect ('(closed)) '("Learn universal sign language"))) (org-ql-it "with a number" (org-ql-then - (org-ql-expect ((closed 10)) + (org-ql-expect ('(closed 10)) '("Learn universal sign language")))) (org-ql-it ":on" - (org-ql-expect ((closed :on "2017-07-05")) + (org-ql-expect ('(closed :on "2017-07-05")) '("Learn universal sign language")) (org-ql-then - (org-ql-expect ((closed :on today)) + (org-ql-expect ('(closed :on today)) '("Learn universal sign language"))) - (org-ql-expect ((closed :on "2019-06-09")) + (org-ql-expect ('(closed :on "2019-06-09")) nil)) (org-ql-it ":from" - (org-ql-expect ((closed :from "2017-07-04")) + (org-ql-expect ('(closed :from "2017-07-04")) '("Learn universal sign language")) - (org-ql-expect ((closed :from "2017-07-05")) + (org-ql-expect ('(closed :from "2017-07-05")) '("Learn universal sign language")) (org-ql-then - (org-ql-expect ((closed :from today)) + (org-ql-expect ('(closed :from today)) '("Learn universal sign language"))) - (org-ql-expect ((closed :from "2017-07-06")) + (org-ql-expect ('(closed :from "2017-07-06")) nil)) (org-ql-it ":to" - (org-ql-expect ((closed :to "2017-07-04")) + (org-ql-expect ('(closed :to "2017-07-04")) nil) - (org-ql-expect ((closed :to "2017-07-05")) + (org-ql-expect ('(closed :to "2017-07-05")) '("Learn universal sign language")) (org-ql-then - (org-ql-expect ((closed :to today)) + (org-ql-expect ('(closed :to today)) '("Learn universal sign language"))) - (org-ql-expect ((closed :to "2017-07-06")) + (org-ql-expect ('(closed :to "2017-07-06")) '("Learn universal sign language")))) (describe "(deadline)" (org-ql-it "without arguments" - (org-ql-expect ((deadline)) + (org-ql-expect ('(deadline)) '("Take over the universe" "Take over the world" "Visit Mars" "Visit the moon" "Renew membership in supervillain club" "Internet" "Spaceship lease" "/r/emacs"))) (org-ql-it "auto" (org-ql-then - (org-ql-expect ((deadline auto)) + (org-ql-expect ('(deadline auto)) '("Take over the universe" "Take over the world" "Visit Mars" "Visit the moon" "Renew membership in supervillain club" "Internet" "Spaceship lease" "/r/emacs")))) (org-ql-it "with a number" (org-ql-then - (org-ql-expect ((deadline 2)) + (org-ql-expect ('(deadline 2)) '("Take over the world" "/r/emacs")))) (org-ql-it ":on" - (org-ql-expect ((deadline :on "2017-07-05")) + (org-ql-expect ('(deadline :on "2017-07-05")) '("/r/emacs")) (org-ql-then - (org-ql-expect ((deadline :on today)) + (org-ql-expect ('(deadline :on today)) '("/r/emacs"))) - (org-ql-expect ((deadline :on "2019-06-09")) + (org-ql-expect ('(deadline :on "2019-06-09")) nil)) (org-ql-it ":from" - (org-ql-expect ((deadline :from "2017-07-04")) + (org-ql-expect ('(deadline :from "2017-07-04")) '("Take over the universe" "Take over the world" "Visit Mars" "Visit the moon" "Renew membership in supervillain club" "Internet" "Spaceship lease" "/r/emacs")) - (org-ql-expect ((deadline :from "2017-07-05")) + (org-ql-expect ('(deadline :from "2017-07-05")) '("Take over the universe" "Take over the world" "Visit Mars" "Visit the moon" "Renew membership in supervillain club" "Internet" "Spaceship lease" "/r/emacs")) - (org-ql-expect ((deadline :from "2017-07-06")) + (org-ql-expect ('(deadline :from "2017-07-06")) '("Take over the universe" "Take over the world" "Visit Mars" "Visit the moon" "Renew membership in supervillain club" "Internet" "Spaceship lease")) - (org-ql-expect ((deadline :from "2018-07-06")) + (org-ql-expect ('(deadline :from "2018-07-06")) nil) (org-ql-then - (org-ql-expect ((deadline :from today)) + (org-ql-expect ('(deadline :from today)) '("Take over the universe" "Take over the world" "Visit Mars" "Visit the moon" "Renew membership in supervillain club" "Internet" "Spaceship lease" "/r/emacs")))) (org-ql-it ":to" - (org-ql-expect ((deadline :to "2017-07-04")) + (org-ql-expect ('(deadline :to "2017-07-04")) nil) - (org-ql-expect ((deadline :to "2017-07-05")) + (org-ql-expect ('(deadline :to "2017-07-05")) '("/r/emacs")) - (org-ql-expect ((deadline :to "2018-07-06")) + (org-ql-expect ('(deadline :to "2018-07-06")) '("Take over the universe" "Take over the world" "Visit Mars" "Visit the moon" "Renew membership in supervillain club" "Internet" "Spaceship lease" "/r/emacs")) (org-ql-then - (org-ql-expect ((deadline :to today)) + (org-ql-expect ('(deadline :to today)) '("/r/emacs"))))) (org-ql-it "(done)" - (org-ql-expect ((done)) + (org-ql-expect ('(done)) '("Learn universal sign language"))) (org-ql-it "(habit)" - (org-ql-expect ((habit)) + (org-ql-expect ('(habit)) '("Practice leaping tall buildings in a single bound"))) (describe "(heading)" (org-ql-it "with one argument" - (org-ql-expect ((heading "world")) + (org-ql-expect ('(heading "world")) ;; NOTE: This--correctly--does not match the "Skype with president of ;; Antarctica" heading, which has the tag ":world:" in its heading line. '("Take over the world"))) (org-ql-it "with two arguments" - (org-ql-expect ((heading "Take over" "world")) + (org-ql-expect ('(heading "Take over" "world")) '("Take over the world")))) (describe "(link)" (org-ql-it "without arguments" - (org-ql-expect ((link)) + (org-ql-expect ('(link)) '("/r/emacs"))) (org-ql-it "with description-or-target" - (org-ql-expect ((link "emacs")) + (org-ql-expect ('(link "emacs")) '("/r/emacs"))) (org-ql-it "with :description" - (org-ql-expect ((link :description "emacs")) + (org-ql-expect ('(link :description "emacs")) '("/r/emacs"))) (org-ql-it "with :target" - (org-ql-expect ((link :target "reddit.com")) + (org-ql-expect ('(link :target "reddit.com")) '("/r/emacs"))) (org-ql-it "with :description and :target" - (org-ql-expect ((link :description "emacs" :target "reddit.com")) + (org-ql-expect ('(link :description "emacs" :target "reddit.com")) '("/r/emacs")))) (describe "(outline-path)" (org-ql-it "with one argument" - (org-ql-expect ((outline-path "symphony")) + (org-ql-expect ('(outline-path "symphony")) '("Write a symphony"))) (org-ql-it "with two arguments" - (org-ql-expect ((outline-path "idea" "symphony")) + (org-ql-expect ('(outline-path "idea" "symphony")) '("Write a symphony")))) (describe "(outline-path-segment)" (org-ql-it "with one argument" - (org-ql-expect ((outline-path-segment "symphony")) + (org-ql-expect ('(outline-path-segment "symphony")) '("Write a symphony"))) (org-ql-it "with a contiguous segment" - (org-ql-expect ((outline-path-segment "idea" "symphony")) + (org-ql-expect ('(outline-path-segment "idea" "symphony")) '("Write a symphony"))) (org-ql-it "with a non-contiguous segment" - (org-ql-expect ((outline-path-segment "data" "symphony")) + (org-ql-expect ('(outline-path-segment "data" "symphony")) nil))) (describe "(path)" (org-ql-it "without arguments" - (org-ql-expect ((path)) + (org-ql-expect ('(path)) '("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" "Order a pizza" "Get haircut" "Internet" "Spaceship lease" "Fix flux capacitor" "Recurring" "/r/emacs" "Shop for groceries" "Sunrise/sunset" "Ideas" "Rewrite Emacs in Common Lisp" "Write a symphony"))) (org-ql-it "with one argument" - (org-ql-expect ((path "data")) + (org-ql-expect ('(path "data")) '("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" "Order a pizza" "Get haircut" "Internet" "Spaceship lease" "Fix flux capacitor" "Recurring" "/r/emacs" "Shop for groceries" "Sunrise/sunset" "Ideas" "Rewrite Emacs in Common Lisp" "Write a symphony"))) (org-ql-it "with two matching arguments" - (org-ql-expect ((path "data" "tests")) + (org-ql-expect ('(path "data" "tests")) '("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" "Order a pizza" "Get haircut" "Internet" "Spaceship lease" "Fix flux capacitor" "Recurring" "/r/emacs" "Shop for groceries" "Sunrise/sunset" "Ideas" "Rewrite Emacs in Common Lisp" "Write a symphony"))) (org-ql-it "with two arguments, one matching" - (org-ql-expect ((path "data" "nope")) + (org-ql-expect ('(path "data" "nope")) '("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" "Order a pizza" "Get haircut" "Internet" "Spaceship lease" "Fix flux capacitor" "Recurring" "/r/emacs" "Shop for groceries" "Sunrise/sunset" "Ideas" "Rewrite Emacs in Common Lisp" "Write a symphony")))) (describe "(planning)" (org-ql-it "without arguments" - (org-ql-expect ((planning)) + (org-ql-expect ('(planning)) '("Take over the universe" "Take over the world" "Skype with president of Antarctica" "Visit Mars" "Visit the moon" "Practice leaping tall buildings in a single bound" "Renew membership in supervillain club" "Learn universal sign language" "Order a pizza" "Get haircut" "Internet" "Spaceship lease" "Fix flux capacitor" "/r/emacs" "Shop for groceries" "Rewrite Emacs in Common Lisp"))) (org-ql-it "with a number" (org-ql-then - (org-ql-expect ((planning 2)) + (org-ql-expect ('(planning 2)) '("Take over the world" "Skype with president of Antarctica" "Practice leaping tall buildings in a single bound" "Learn universal sign language" "Order a pizza" "Get haircut" "Fix flux capacitor" "/r/emacs" "Shop for groceries" "Rewrite Emacs in Common Lisp")))) (org-ql-it ":on" - (org-ql-expect ((planning :on "2017-07-05")) + (org-ql-expect ('(planning :on "2017-07-05")) '("Practice leaping tall buildings in a single bound" "Learn universal sign language" "Order a pizza" "Get haircut" "Fix flux capacitor" "/r/emacs" "Shop for groceries" "Rewrite Emacs in Common Lisp")) - (org-ql-expect ((planning :on "2019-06-09")) + (org-ql-expect ('(planning :on "2019-06-09")) nil) (org-ql-then - (org-ql-expect ((planning :on today)) + (org-ql-expect ('(planning :on today)) '("Practice leaping tall buildings in a single bound" "Learn universal sign language" "Order a pizza" "Get haircut" "Fix flux capacitor" "/r/emacs" "Shop for groceries" "Rewrite Emacs in Common Lisp")))) (org-ql-it ":from" - (org-ql-expect ((planning :from "2017-07-04")) + (org-ql-expect ('(planning :from "2017-07-04")) '("Take over the universe" "Take over the world" "Skype with president of Antarctica" "Visit Mars" "Visit the moon" "Practice leaping tall buildings in a single bound" "Renew membership in supervillain club" "Learn universal sign language" "Order a pizza" "Get haircut" "Internet" "Spaceship lease" "Fix flux capacitor" "/r/emacs" "Shop for groceries" "Rewrite Emacs in Common Lisp")) - (org-ql-expect ((planning :from "2017-07-05")) + (org-ql-expect ('(planning :from "2017-07-05")) '("Take over the universe" "Take over the world" "Visit Mars" "Visit the moon" "Practice leaping tall buildings in a single bound" "Renew membership in supervillain club" "Learn universal sign language" "Order a pizza" "Get haircut" "Internet" "Spaceship lease" "Fix flux capacitor" "/r/emacs" "Shop for groceries" "Rewrite Emacs in Common Lisp")) - (org-ql-expect ((planning :from "2017-07-06")) + (org-ql-expect ('(planning :from "2017-07-06")) '("Take over the universe" "Take over the world" "Visit Mars" "Visit the moon" "Renew membership in supervillain club" "Internet" "Spaceship lease")) (org-ql-then - (org-ql-expect ((planning :from today)) + (org-ql-expect ('(planning :from today)) '("Take over the universe" "Take over the world" "Visit Mars" "Visit the moon" "Practice leaping tall buildings in a single bound" "Renew membership in supervillain club" "Learn universal sign language" "Order a pizza" "Get haircut" "Internet" "Spaceship lease" "Fix flux capacitor" "/r/emacs" "Shop for groceries" "Rewrite Emacs in Common Lisp")))) (org-ql-it ":to" - (org-ql-expect ((planning :to "2017-07-04")) + (org-ql-expect ('(planning :to "2017-07-04")) '("Skype with president of Antarctica")) - (org-ql-expect ((planning :to "2017-07-05")) + (org-ql-expect ('(planning :to "2017-07-05")) '("Skype with president of Antarctica" "Practice leaping tall buildings in a single bound" "Learn universal sign language" "Order a pizza" "Get haircut" "Fix flux capacitor" "/r/emacs" "Shop for groceries" "Rewrite Emacs in Common Lisp")) - (org-ql-expect ((planning :to "2018-07-06")) + (org-ql-expect ('(planning :to "2018-07-06")) '("Take over the universe" "Take over the world" "Skype with president of Antarctica" "Visit Mars" "Visit the moon" "Practice leaping tall buildings in a single bound" "Renew membership in supervillain club" "Learn universal sign language" "Order a pizza" "Get haircut" "Internet" "Spaceship lease" "Fix flux capacitor" "/r/emacs" "Shop for groceries" "Rewrite Emacs in Common Lisp")) (org-ql-then - (org-ql-expect ((planning :to today)) + (org-ql-expect ('(planning :to today)) '("Skype with president of Antarctica" "Practice leaping tall buildings in a single bound" "Learn universal sign language" "Order a pizza" "Get haircut" "Fix flux capacitor" "/r/emacs" "Shop for groceries" "Rewrite Emacs in Common Lisp"))))) (describe "(priority)" (org-ql-it "without arguments" - (org-ql-expect ((priority)) + (org-ql-expect ('(priority)) '("Take over the universe" "Take over the world" "Skype with president of Antarctica" "Take over Mars" "Take over the moon" "Renew membership in supervillain club" "Learn universal sign language" "Get haircut" "Internet" "Spaceship lease" "Fix flux capacitor"))) (org-ql-it "with a priority" - (org-ql-expect ((priority "A")) + (org-ql-expect ('(priority "A")) '("Take over the universe" "Take over the world" "Skype with president of Antarctica" "Spaceship lease"))) (org-ql-it "= a priority" - (org-ql-expect ((priority = "A")) + (org-ql-expect ('(priority = "A")) '("Take over the universe" "Take over the world" "Skype with president of Antarctica" "Spaceship lease"))) (org-ql-it "< a priority" - (org-ql-expect ((priority < "B")) + (org-ql-expect ('(priority < "B")) '("Take over the moon" "Get haircut"))) (org-ql-it "<= a priority" - (org-ql-expect ((priority <= "B")) + (org-ql-expect ('(priority <= "B")) '("Take over Mars" "Take over the moon" "Renew membership in supervillain club" "Learn universal sign language" "Get haircut" "Internet" "Fix flux capacitor"))) (org-ql-it "> a priority" - (org-ql-expect ((priority > "B")) + (org-ql-expect ('(priority > "B")) '("Take over the universe" "Take over the world" "Skype with president of Antarctica" "Spaceship lease"))) (org-ql-it ">= a priority" - (org-ql-expect ((priority >= "B")) + (org-ql-expect ('(priority >= "B")) '("Take over the universe" "Take over the world" "Skype with president of Antarctica" "Take over Mars" "Renew membership in supervillain club" "Learn universal sign language" "Internet" "Spaceship lease" "Fix flux capacitor")))) (describe "(property)" ;; MAYBE: Add support for (property) without arguments. ;; (org-ql-it "without arguments" - ;; (org-ql-expect ((property)))) + ;; (org-ql-expect ('(property)))) (org-ql-it "with a property" - (org-ql-expect ((property "agenda-group")) + (org-ql-expect ('(property "agenda-group")) '("Take over the universe" "Spaceship lease" "Recurring" "Write a symphony"))) (org-ql-it "with a property and a value" - (org-ql-expect ((property "agenda-group" "plans")) + (org-ql-expect ('(property "agenda-group" "plans")) '("Take over the universe" "Write a symphony")))) (describe "(regexp)" (org-ql-it "with 1 argument" - (org-ql-expect ((regexp "Take over") - :sort todo) + (org-ql-expect ('(regexp "Take over") + :sort 'todo) '("Take over the universe" "Take over the world" "Take over Mars" "Take over the moon" "Get haircut"))) (org-ql-it "with 2 arguments" - (org-ql-expect ((regexp "Take over" "universe") - :sort todo) + (org-ql-expect ('(regexp "Take over" "universe") + :sort 'todo) '("Take over the universe"))) (org-ql-it "with a plain string" (org-ql-expect ("Take over" - :sort todo) + :sort 'todo) '("Take over the universe" "Take over the world" "Take over Mars" "Take over the moon" "Get haircut"))) (org-ql-it "with two plain strings in an OR" - (org-ql-expect ((or "Take over" "universe") - :sort todo) + (org-ql-expect ('(or "Take over" "universe") + :sort 'todo) '("Take over the universe" "Take over the world" "Take over Mars" "Take over the moon" "Get haircut"))) (org-ql-it "case-folding predicate with non-case-folding preamble" ;; e.g. the (todo) predicate disables case-folding in its preamble, but that ;; should not prevent case-folding in this and other predicates (issue #114). - (org-ql-expect ((and (todo "TODO") (regexp "take over")) - :sort todo) + (org-ql-expect ('(and (todo "TODO") (regexp "take over")) + :sort 'todo) '("Take over the universe" "Take over the world" "Take over Mars" "Take over the moon" "Get haircut")))) (describe "(scheduled)" (org-ql-it "without arguments" - (org-ql-expect ((scheduled)) + (org-ql-expect ('(scheduled)) '("Skype with president of Antarctica" "Practice leaping tall buildings in a single bound" "Order a pizza" "Get haircut" "Fix flux capacitor" "Shop for groceries" "Rewrite Emacs in Common Lisp"))) (org-ql-it "with a number" (org-ql-then ;; Using -1 is the easiest way to exclude some results but not all for testing this. - (org-ql-expect ((scheduled -1)) + (org-ql-expect ('(scheduled -1)) '("Skype with president of Antarctica")))) (org-ql-it ":on" - (org-ql-expect ((scheduled :on "2017-07-05")) + (org-ql-expect ('(scheduled :on "2017-07-05")) '("Practice leaping tall buildings in a single bound" "Order a pizza" "Get haircut" "Fix flux capacitor" "Shop for groceries" "Rewrite Emacs in Common Lisp")) - (org-ql-expect ((scheduled :on "2019-06-09")) + (org-ql-expect ('(scheduled :on "2019-06-09")) nil) (org-ql-then - (org-ql-expect ((scheduled :on today)) + (org-ql-expect ('(scheduled :on today)) '("Practice leaping tall buildings in a single bound" "Order a pizza" "Get haircut" "Fix flux capacitor" "Shop for groceries" "Rewrite Emacs in Common Lisp")))) (org-ql-it ":from" - (org-ql-expect ((scheduled :from "2017-07-04")) + (org-ql-expect ('(scheduled :from "2017-07-04")) '("Skype with president of Antarctica" "Practice leaping tall buildings in a single bound" "Order a pizza" "Get haircut" "Fix flux capacitor" "Shop for groceries" "Rewrite Emacs in Common Lisp")) - (org-ql-expect ((scheduled :from "2017-07-05")) + (org-ql-expect ('(scheduled :from "2017-07-05")) '("Practice leaping tall buildings in a single bound" "Order a pizza" "Get haircut" "Fix flux capacitor" "Shop for groceries" "Rewrite Emacs in Common Lisp")) - (org-ql-expect ((scheduled :from "2017-07-06")) + (org-ql-expect ('(scheduled :from "2017-07-06")) nil) (org-ql-then - (org-ql-expect ((scheduled :from today)) + (org-ql-expect ('(scheduled :from today)) '("Practice leaping tall buildings in a single bound" "Order a pizza" "Get haircut" "Fix flux capacitor" "Shop for groceries" "Rewrite Emacs in Common Lisp")))) (org-ql-it ":to" - (org-ql-expect ((scheduled :to "2017-07-04")) + (org-ql-expect ('(scheduled :to "2017-07-04")) '("Skype with president of Antarctica")) - (org-ql-expect ((scheduled :to "2017-07-05")) + (org-ql-expect ('(scheduled :to "2017-07-05")) '("Skype with president of Antarctica" "Practice leaping tall buildings in a single bound" "Order a pizza" "Get haircut" "Fix flux capacitor" "Shop for groceries" "Rewrite Emacs in Common Lisp")) - (org-ql-expect ((scheduled :to "2018-07-06")) + (org-ql-expect ('(scheduled :to "2018-07-06")) '("Skype with president of Antarctica" "Practice leaping tall buildings in a single bound" "Order a pizza" "Get haircut" "Fix flux capacitor" "Shop for groceries" "Rewrite Emacs in Common Lisp")) (org-ql-then - (org-ql-expect ((scheduled :to today)) + (org-ql-expect ('(scheduled :to today)) '("Skype with president of Antarctica" "Practice leaping tall buildings in a single bound" "Order a pizza" "Get haircut" "Fix flux capacitor" "Shop for groceries" "Rewrite Emacs in Common Lisp"))))) ;; TODO: Test (src) predicate. That will require modifying test data, which will be a @@ -847,147 +848,147 @@ RESULTS should be a list of strings as returned by (describe "(todo)" (org-ql-it "without arguments" - (org-ql-expect ((todo) - :sort todo) + (org-ql-expect ('(todo) + :sort 'todo) '("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" "Order a pizza" "Get haircut" "Internet" "Spaceship lease" "Fix flux capacitor" "/r/emacs" "Shop for groceries" "Rewrite Emacs in Common Lisp" "Write a symphony"))) (org-ql-it "with 1 argument" - (org-ql-expect ((todo "WAITING") - :sort todo) + (org-ql-expect ('(todo "WAITING") + :sort 'todo) '("Visit the moon"))) (org-ql-it "with 2 arguments" - (org-ql-expect ((todo "WAITING" "SOMEDAY") - :sort todo) + (org-ql-expect ('(todo "WAITING" "SOMEDAY") + :sort 'todo) '("Visit the moon" "Rewrite Emacs in Common Lisp" "Write a symphony")))) (describe "(tags)" (org-ql-it "without arguments" - (org-ql-expect ((tags)) + (org-ql-expect ('(tags)) '("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" "Order a pizza" "Get haircut" "Internet" "Spaceship lease" "Fix flux capacitor" "/r/emacs" "Shop for groceries" "Rewrite Emacs in Common Lisp" "Write a symphony")) - (org-ql-expect ((not (tags))) + (org-ql-expect ('(not (tags))) '("Recurring" "Sunrise/sunset" "Ideas"))) (org-ql-it "with a tag" - (org-ql-expect ((tags "Emacs")) + (org-ql-expect ('(tags "Emacs")) '("/r/emacs" "Rewrite Emacs in Common Lisp")) - (org-ql-expect ((not (tags "Emacs"))) + (org-ql-expect ('(not (tags "Emacs"))) '("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" "Order a pizza" "Get haircut" "Internet" "Spaceship lease" "Fix flux capacitor" "Recurring" "Shop for groceries" "Sunrise/sunset" "Ideas" "Write a symphony"))) (org-ql-it "with 2 tags" - (org-ql-expect ((tags "Emacs" "space")) + (org-ql-expect ('(tags "Emacs" "space")) '("Visit Mars" "Visit the moon" "/r/emacs" "Rewrite Emacs in Common Lisp")) - (org-ql-expect ((not (tags "Emacs" "space"))) + (org-ql-expect ('(not (tags "Emacs" "space"))) '("Take over the universe" "Take over the world" "Skype with president of Antarctica" "Take over Mars" "Take over the moon" "Practice leaping tall buildings in a single bound" "Renew membership in supervillain club" "Learn universal sign language" "Order a pizza" "Get haircut" "Internet" "Spaceship lease" "Fix flux capacitor" "Recurring" "Shop for groceries" "Sunrise/sunset" "Ideas" "Write a symphony"))) (org-ql-it "with file tags" - (org-ql-expect ((tags "food")) + (org-ql-expect ('(tags "food")) '("Fruit" "Blueberry" "Strawberry" "Vegetable" "Broccoli" "Potato") :buffer (org-ql-test-data-buffer "data2.org")) - (org-ql-expect ((tags "fruit")) + (org-ql-expect ('(tags "fruit")) '("Fruit" "Blueberry" "Strawberry") :buffer (org-ql-test-data-buffer "data2.org")))) (describe "(tags-inherited)" (org-ql-it "without arguments" - (org-ql-expect ((tags-inherited)) + (org-ql-expect ('(tags-inherited)) '("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")) - (org-ql-expect ((not (inherited-tags))) + (org-ql-expect ('(not (inherited-tags))) '("Take over the universe" "Order a pizza" "Get haircut" "Internet" "Spaceship lease" "Fix flux capacitor" "Recurring" "/r/emacs" "Shop for groceries" "Sunrise/sunset" "Ideas" "Rewrite Emacs in Common Lisp" "Write a symphony"))) (org-ql-it "with a tag" - (org-ql-expect ((tags-inherited "Emacs")) + (org-ql-expect ('(tags-inherited "Emacs")) nil) - (org-ql-expect ((itags "ambition")) + (org-ql-expect ('(itags "ambition")) '("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")) - (org-ql-expect ((not (tags-i "ambition"))) + (org-ql-expect ('(not (tags-i "ambition"))) '("Take over the universe" "Order a pizza" "Get haircut" "Internet" "Spaceship lease" "Fix flux capacitor" "Recurring" "/r/emacs" "Shop for groceries" "Sunrise/sunset" "Ideas" "Rewrite Emacs in Common Lisp" "Write a symphony"))) (org-ql-it "with 2 tags" - (org-ql-expect ((itags "personal" "world")) + (org-ql-expect ('(itags "personal" "world")) '("Skype with president of Antarctica")) - (org-ql-expect ((not (tags-inherited "personal" "world"))) + (org-ql-expect ('(not (tags-inherited "personal" "world"))) ;; Note that this correctly includes the task "Practice leaping...", which has the LOCAL tag "personal". '("Take over the universe" "Take over the world" "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" "Order a pizza" "Get haircut" "Internet" "Spaceship lease" "Fix flux capacitor" "Recurring" "/r/emacs" "Shop for groceries" "Sunrise/sunset" "Ideas" "Rewrite Emacs in Common Lisp" "Write a symphony"))) (org-ql-it "with file tags" - (org-ql-expect ((tags-inherited "food")) + (org-ql-expect ('(tags-inherited "food")) '("Fruit" "Blueberry" "Strawberry" "Vegetable" "Broccoli" "Potato") :buffer (org-ql-test-data-buffer "data2.org")) - (org-ql-expect ((tags-inherited "fruit")) + (org-ql-expect ('(tags-inherited "fruit")) '("Blueberry" "Strawberry") :buffer (org-ql-test-data-buffer "data2.org")))) (describe "(tags-local)" (org-ql-it "without arguments" - (org-ql-expect ((tags-local)) + (org-ql-expect ('(tags-local)) '("Take over the universe" "Take over the world" "Skype with president of Antarctica" "Visit Mars" "Visit the moon" "Practice leaping tall buildings in a single bound" "Order a pizza" "Get haircut" "Internet" "Spaceship lease" "Fix flux capacitor" "/r/emacs" "Shop for groceries" "Rewrite Emacs in Common Lisp" "Write a symphony")) - (org-ql-expect ((not (local-tags))) + (org-ql-expect ('(not (local-tags))) '("Take over Mars" "Take over the moon" "Renew membership in supervillain club" "Learn universal sign language" "Recurring" "Sunrise/sunset" "Ideas"))) (org-ql-it "with a tag" - (org-ql-expect ((tags-local "world")) + (org-ql-expect ('(tags-local "world")) '("Take over the world" "Skype with president of Antarctica")) - (org-ql-expect ((ltags "ambition")) + (org-ql-expect ('(ltags "ambition")) '("Take over the universe")) - (org-ql-expect ((not (tags-l "ambition"))) + (org-ql-expect ('(not (tags-l "ambition"))) '("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" "Order a pizza" "Get haircut" "Internet" "Spaceship lease" "Fix flux capacitor" "Recurring" "/r/emacs" "Shop for groceries" "Sunrise/sunset" "Ideas" "Rewrite Emacs in Common Lisp" "Write a symphony"))) (org-ql-it "with 2 tags" - (org-ql-expect ((ltags "personal" "world")) + (org-ql-expect ('(ltags "personal" "world")) '("Take over the world" "Skype with president of Antarctica" "Practice leaping tall buildings in a single bound" "Get haircut")) - (org-ql-expect ((not (tags-local "personal" "world"))) + (org-ql-expect ('(not (tags-local "personal" "world"))) '("Take over the universe" "Take over Mars" "Visit Mars" "Take over the moon" "Visit the moon" "Renew membership in supervillain club" "Learn universal sign language" "Order a pizza" "Internet" "Spaceship lease" "Fix flux capacitor" "Recurring" "/r/emacs" "Shop for groceries" "Sunrise/sunset" "Ideas" "Rewrite Emacs in Common Lisp" "Write a symphony"))) (org-ql-it "with file tags" - (org-ql-expect ((tags-local "food")) + (org-ql-expect ('(tags-local "food")) nil :buffer (org-ql-test-data-buffer "data2.org")) - (org-ql-expect ((tags-local "fruit")) + (org-ql-expect ('(tags-local "fruit")) '("Fruit") :buffer (org-ql-test-data-buffer "data2.org")))) (describe "(tags-all), (tags&)" (org-ql-it "with 2 tags" - (org-ql-expect ((tags-all "universe" "personal")) + (org-ql-expect ('(tags-all "universe" "personal")) '("Practice leaping tall buildings in a single bound")) - (org-ql-expect ((tags& "ambition" "space")) + (org-ql-expect ('(tags& "ambition" "space")) '("Visit Mars" "Visit the moon"))) (org-ql-it "with file tags" - (org-ql-expect ((tags-all "food" "fruit")) + (org-ql-expect ('(tags-all "food" "fruit")) '("Fruit" "Blueberry" "Strawberry") :buffer (org-ql-test-data-buffer "data2.org")))) (describe "(tags-regexp), (tags*)" (org-ql-it "without arguments" - (org-ql-expect ((tags-regexp)) + (org-ql-expect ('(tags-regexp)) '("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" "Order a pizza" "Get haircut" "Internet" "Spaceship lease" "Fix flux capacitor" "/r/emacs" "Shop for groceries" "Rewrite Emacs in Common Lisp" "Write a symphony")) - (org-ql-expect ((not (tags*))) + (org-ql-expect ('(not (tags*))) '("Recurring" "Sunrise/sunset" "Ideas"))) (org-ql-it "with a tag regexp" - (org-ql-expect ((tags-regexp "Emac")) + (org-ql-expect ('(tags-regexp "Emac")) '("/r/emacs" "Rewrite Emacs in Common Lisp")) - (org-ql-expect ((not (tags* "Emac"))) + (org-ql-expect ('(not (tags* "Emac"))) '("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" "Order a pizza" "Get haircut" "Internet" "Spaceship lease" "Fix flux capacitor" "Recurring" "Shop for groceries" "Sunrise/sunset" "Ideas" "Write a symphony"))) (org-ql-it "with 2 tag regexps" - (org-ql-expect ((tags-regexp "Emac" "spac")) + (org-ql-expect ('(tags-regexp "Emac" "spac")) '("Visit Mars" "Visit the moon" "Spaceship lease" "Fix flux capacitor" "/r/emacs" "Rewrite Emacs in Common Lisp")) - (org-ql-expect ((not (tags* "Emac" "spac"))) + (org-ql-expect ('(not (tags* "Emac" "spac"))) '("Take over the universe" "Take over the world" "Skype with president of Antarctica" "Take over Mars" "Take over the moon" "Practice leaping tall buildings in a single bound" "Renew membership in supervillain club" "Learn universal sign language" "Order a pizza" "Get haircut" "Internet" "Recurring" "Shop for groceries" "Sunrise/sunset" "Ideas" "Write a symphony"))) (org-ql-it "with regexp matching file tags" - (org-ql-expect ((tags-regexp "foo")) + (org-ql-expect ('(tags-regexp "foo")) '("Fruit" "Blueberry" "Strawberry" "Vegetable" "Broccoli" "Potato") :buffer (org-ql-test-data-buffer "data2.org")) - (org-ql-expect ((tags* "frui")) + (org-ql-expect ('(tags* "frui")) '("Fruit" "Blueberry" "Strawberry") :buffer (org-ql-test-data-buffer "data2.org")))) @@ -996,166 +997,166 @@ RESULTS should be a list of strings as returned by (describe "active" (org-ql-it "without arguments" - (org-ql-expect ((ts :type active)) + (org-ql-expect ('(ts :type active)) '("Take over the universe" "Take over the world" "Skype with president of Antarctica" "Visit Mars" "Visit the moon" "Practice leaping tall buildings in a single bound" "Renew membership in supervillain club" "Order a pizza" "Get haircut" "Internet" "Spaceship lease" "Fix flux capacitor" "/r/emacs" "Shop for groceries" "Rewrite Emacs in Common Lisp"))) (org-ql-it ":from a timestamp" - (org-ql-expect ((ts :from "2017-07-08" :type active)) + (org-ql-expect ('(ts :from "2017-07-08" :type active)) '("Take over the universe" "Visit Mars" "Visit the moon" "Renew membership in supervillain club" "Internet" "Spaceship lease")) - (org-ql-expect ((ts :from "2019-06-08" :type active)) + (org-ql-expect ('(ts :from "2019-06-08" :type active)) nil) (org-ql-then - (org-ql-expect ((ts :from today)) + (org-ql-expect ('(ts :from today)) '("Take over the universe" "Take over the world" "Visit Mars" "Visit the moon" "Practice leaping tall buildings in a single bound" "Renew membership in supervillain club" "Learn universal sign language" "Order a pizza" "Get haircut" "Internet" "Spaceship lease" "Fix flux capacitor" "/r/emacs" "Shop for groceries" "Rewrite Emacs in Common Lisp")))) (org-ql-it ":from a number of days" (org-ql-then - (org-ql-expect ((ts :from 5)) + (org-ql-expect ('(ts :from 5)) '("Take over the universe" "Visit Mars" "Visit the moon" "Renew membership in supervillain club" "Internet" "Spaceship lease" "Rewrite Emacs in Common Lisp")))) (org-ql-it ":to a timestamp" - (org-ql-expect ((ts :to "2019-06-10" :type active)) + (org-ql-expect ('(ts :to "2019-06-10" :type active)) '("Take over the universe" "Take over the world" "Skype with president of Antarctica" "Visit Mars" "Visit the moon" "Practice leaping tall buildings in a single bound" "Renew membership in supervillain club" "Order a pizza" "Get haircut" "Internet" "Spaceship lease" "Fix flux capacitor" "/r/emacs" "Shop for groceries" "Rewrite Emacs in Common Lisp")) - (org-ql-expect ((ts :to "2017-07-04" :type active)) + (org-ql-expect ('(ts :to "2017-07-04" :type active)) '("Skype with president of Antarctica")) (org-ql-then - (org-ql-expect ((ts :to today)) + (org-ql-expect ('(ts :to today)) '("Skype with president of Antarctica" "Practice leaping tall buildings in a single bound" "Learn universal sign language" "Order a pizza" "Get haircut" "Fix flux capacitor" "/r/emacs" "Shop for groceries" "Rewrite Emacs in Common Lisp")))) (org-ql-it ":to a number of days" (org-ql-then - (org-ql-expect ((ts :to -1)) + (org-ql-expect ('(ts :to -1)) '("Skype with president of Antarctica")))) (org-ql-it ":on a timestamp" - (org-ql-expect ((ts :on "2017-07-05" :type active)) + (org-ql-expect ('(ts :on "2017-07-05" :type active)) '("Practice leaping tall buildings in a single bound" "Order a pizza" "Get haircut" "Fix flux capacitor" "/r/emacs" "Shop for groceries" "Rewrite Emacs in Common Lisp")) - (org-ql-expect ((ts :on "2019-06-09" :type active)) + (org-ql-expect ('(ts :on "2019-06-09" :type active)) nil) (org-ql-then - (org-ql-expect ((ts :on today)) + (org-ql-expect ('(ts :on today)) '("Practice leaping tall buildings in a single bound" "Learn universal sign language" "Order a pizza" "Get haircut" "Fix flux capacitor" "/r/emacs" "Shop for groceries" "Rewrite Emacs in Common Lisp")))) (org-ql-it ":on a number of days" (org-ql-then - (org-ql-expect ((ts-active :on 2)) + (org-ql-expect ('(ts-active :on 2)) '("Take over the world"))))) (describe "inactive" (org-ql-it "without arguments" - (org-ql-expect ((ts :type inactive)) + (org-ql-expect ('(ts :type inactive)) '("Visit the moon" "Learn universal sign language" "Rewrite Emacs in Common Lisp"))) (org-ql-it ":from a timestamp" - (org-ql-expect ((ts :from "2017-07-06" :type inactive)) + (org-ql-expect ('(ts :from "2017-07-06" :type inactive)) '("Visit the moon" "Rewrite Emacs in Common Lisp")) - (org-ql-expect ((ts :from "2019-06-08" :type inactive)) + (org-ql-expect ('(ts :from "2019-06-08" :type inactive)) nil) (org-ql-then - (org-ql-expect ((ts-inactive :from today)) + (org-ql-expect ('(ts-inactive :from today)) '("Visit the moon" "Learn universal sign language" "Rewrite Emacs in Common Lisp")))) (org-ql-it ":from a number of days" (org-ql-then - (org-ql-expect ((ts-i :from 5)) + (org-ql-expect ('(ts-i :from 5)) '("Visit the moon" "Rewrite Emacs in Common Lisp")))) (org-ql-it ":to a timestamp" - (org-ql-expect ((ts :to "2019-06-10" :type inactive)) + (org-ql-expect ('(ts :to "2019-06-10" :type inactive)) '("Visit the moon" "Learn universal sign language" "Rewrite Emacs in Common Lisp")) - (org-ql-expect ((ts :to "2017-07-04" :type inactive)) + (org-ql-expect ('(ts :to "2017-07-04" :type inactive)) 'nil) (org-ql-then - (org-ql-expect ((ts-inactive :to today)) + (org-ql-expect ('(ts-inactive :to today)) '("Learn universal sign language")))) (org-ql-it ":to a number of days" (org-ql-then - (org-ql-expect ((ts-i :to 5)) + (org-ql-expect ('(ts-i :to 5)) '("Learn universal sign language")))) (org-ql-it ":on a timestamp" - (org-ql-expect ((ts :on "2017-07-05" :type inactive)) + (org-ql-expect ('(ts :on "2017-07-05" :type inactive)) '("Learn universal sign language")) - (org-ql-expect ((ts :on "2019-06-09" :type inactive)) + (org-ql-expect ('(ts :on "2019-06-09" :type inactive)) nil) (org-ql-then - (org-ql-expect ((ts-inactive :on today)) + (org-ql-expect ('(ts-inactive :on today)) '("Learn universal sign language")))) (org-ql-it ":on a number of days" (org-ql-then - (org-ql-expect ((ts-inactive :on 19)) + (org-ql-expect ('(ts-inactive :on 19)) '("Visit the moon" "Rewrite Emacs in Common Lisp"))))) (describe "both" (org-ql-it "without arguments" - (org-ql-expect ((ts)) + (org-ql-expect ('(ts)) '("Take over the universe" "Take over the world" "Skype with president of Antarctica" "Visit Mars" "Visit the moon" "Practice leaping tall buildings in a single bound" "Renew membership in supervillain club" "Learn universal sign language" "Order a pizza" "Get haircut" "Internet" "Spaceship lease" "Fix flux capacitor" "/r/emacs" "Shop for groceries" "Rewrite Emacs in Common Lisp")) - (org-ql-expect ((ts :type both)) + (org-ql-expect ('(ts :type both)) '("Take over the universe" "Take over the world" "Skype with president of Antarctica" "Visit Mars" "Visit the moon" "Practice leaping tall buildings in a single bound" "Renew membership in supervillain club" "Learn universal sign language" "Order a pizza" "Get haircut" "Internet" "Spaceship lease" "Fix flux capacitor" "/r/emacs" "Shop for groceries" "Rewrite Emacs in Common Lisp"))) (org-ql-it ":from a timestamp" - (org-ql-expect ((ts :from "2017-07-05")) + (org-ql-expect ('(ts :from "2017-07-05")) '("Take over the universe" "Take over the world" "Visit Mars" "Visit the moon" "Practice leaping tall buildings in a single bound" "Renew membership in supervillain club" "Learn universal sign language" "Order a pizza" "Get haircut" "Internet" "Spaceship lease" "Fix flux capacitor" "/r/emacs" "Shop for groceries" "Rewrite Emacs in Common Lisp")) - (org-ql-expect ((ts :from "2017-07-05" :type both)) + (org-ql-expect ('(ts :from "2017-07-05" :type both)) '("Take over the universe" "Take over the world" "Visit Mars" "Visit the moon" "Practice leaping tall buildings in a single bound" "Renew membership in supervillain club" "Learn universal sign language" "Order a pizza" "Get haircut" "Internet" "Spaceship lease" "Fix flux capacitor" "/r/emacs" "Shop for groceries" "Rewrite Emacs in Common Lisp")) - (org-ql-expect ((ts :from "2019-06-08")) + (org-ql-expect ('(ts :from "2019-06-08")) nil) - (org-ql-expect ((ts :from "2019-06-08" :type both)) + (org-ql-expect ('(ts :from "2019-06-08" :type both)) nil) (org-ql-then - (org-ql-expect ((ts :from today)) + (org-ql-expect ('(ts :from today)) '("Take over the universe" "Take over the world" "Visit Mars" "Visit the moon" "Practice leaping tall buildings in a single bound" "Renew membership in supervillain club" "Learn universal sign language" "Order a pizza" "Get haircut" "Internet" "Spaceship lease" "Fix flux capacitor" "/r/emacs" "Shop for groceries" "Rewrite Emacs in Common Lisp")))) (org-ql-it ":from a number of days" (org-ql-then - (org-ql-expect ((ts :from -5)) + (org-ql-expect ('(ts :from -5)) '("Take over the universe" "Take over the world" "Skype with president of Antarctica" "Visit Mars" "Visit the moon" "Practice leaping tall buildings in a single bound" "Renew membership in supervillain club" "Learn universal sign language" "Order a pizza" "Get haircut" "Internet" "Spaceship lease" "Fix flux capacitor" "/r/emacs" "Shop for groceries" "Rewrite Emacs in Common Lisp")))) (org-ql-it ":to a timestamp" - (org-ql-expect ((ts :to "2017-07-06")) + (org-ql-expect ('(ts :to "2017-07-06")) '("Skype with president of Antarctica" "Practice leaping tall buildings in a single bound" "Learn universal sign language" "Order a pizza" "Get haircut" "Fix flux capacitor" "/r/emacs" "Shop for groceries" "Rewrite Emacs in Common Lisp")) - (org-ql-expect ((ts :to "2017-07-06" :type both)) + (org-ql-expect ('(ts :to "2017-07-06" :type both)) '("Skype with president of Antarctica" "Practice leaping tall buildings in a single bound" "Learn universal sign language" "Order a pizza" "Get haircut" "Fix flux capacitor" "/r/emacs" "Shop for groceries" "Rewrite Emacs in Common Lisp")) - (org-ql-expect ((ts :to "2017-07-04")) + (org-ql-expect ('(ts :to "2017-07-04")) '("Skype with president of Antarctica")) - (org-ql-expect ((ts :to "2017-07-04" :type both)) + (org-ql-expect ('(ts :to "2017-07-04" :type both)) '("Skype with president of Antarctica")) (org-ql-then - (org-ql-expect ((ts :to today)) + (org-ql-expect ('(ts :to today)) '("Skype with president of Antarctica" "Practice leaping tall buildings in a single bound" "Learn universal sign language" "Order a pizza" "Get haircut" "Fix flux capacitor" "/r/emacs" "Shop for groceries" "Rewrite Emacs in Common Lisp")))) (org-ql-it ":to a number of days" (org-ql-then - (org-ql-expect ((ts :to 5)) + (org-ql-expect ('(ts :to 5)) '("Take over the world" "Skype with president of Antarctica" "Practice leaping tall buildings in a single bound" "Renew membership in supervillain club" "Learn universal sign language" "Order a pizza" "Get haircut" "Fix flux capacitor" "/r/emacs" "Shop for groceries" "Rewrite Emacs in Common Lisp")))) (org-ql-it ":on a timestamp" - (org-ql-expect ((ts :on "2017-07-05")) + (org-ql-expect ('(ts :on "2017-07-05")) '("Practice leaping tall buildings in a single bound" "Learn universal sign language" "Order a pizza" "Get haircut" "Fix flux capacitor" "/r/emacs" "Shop for groceries" "Rewrite Emacs in Common Lisp")) - (org-ql-expect ((ts :on "2017-07-05" :type both)) + (org-ql-expect ('(ts :on "2017-07-05" :type both)) '("Practice leaping tall buildings in a single bound" "Learn universal sign language" "Order a pizza" "Get haircut" "Fix flux capacitor" "/r/emacs" "Shop for groceries" "Rewrite Emacs in Common Lisp")) - (org-ql-expect ((ts :on "2019-06-09")) + (org-ql-expect ('(ts :on "2019-06-09")) nil) - (org-ql-expect ((ts :on "2019-06-09" :type both)) + (org-ql-expect ('(ts :on "2019-06-09" :type both)) nil) (org-ql-then - (org-ql-expect ((ts :on today)) + (org-ql-expect ('(ts :on today)) '("Practice leaping tall buildings in a single bound" "Learn universal sign language" "Order a pizza" "Get haircut" "Fix flux capacitor" "/r/emacs" "Shop for groceries" "Rewrite Emacs in Common Lisp")))) (org-ql-it ":on a number of days" (org-ql-then - (org-ql-expect ((ts :on 5)) + (org-ql-expect ('(ts :on 5)) '("Renew membership in supervillain club")))))) (describe "Compound queries" (org-ql-it "Tags and to-do" - (org-ql-expect ((and (todo "SOMEDAY") - (tags "Emacs"))) + (org-ql-expect ('(and (todo "SOMEDAY") + (tags "Emacs"))) '("Rewrite Emacs in Common Lisp"))))) (describe "Org link safety" @@ -1469,7 +1470,7 @@ RESULTS should be a list of strings as returned by :super-groups super-groups :sort sort :title title :buffer view-buffer) (with-current-buffer view-buffer - (cl-assert (member '("org-ql-search" :follow org-ql-view--link-open :store org-ql-view--link-store) + (cl-assert (member '("org-ql-search" :follow org-ql-view--link-follow :store org-ql-view--link-store) org-link-parameters) t) (with-simulated-input store-input From 3924b023e0f1e8fa93cfa79bdd71f9f0c0fb4679 Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Sun, 22 Nov 2020 18:19:02 -0600 Subject: [PATCH 6/7] Release: 0.5 --- README.org | 2 +- org-ql.el | 2 +- org-ql.info | 106 ++++++++++++++++++++++++++-------------------------- 3 files changed, 55 insertions(+), 55 deletions(-) diff --git a/README.org b/README.org index fed38c4..b3e7e42 100644 --- a/README.org +++ b/README.org @@ -461,7 +461,7 @@ Simple links may also be written manually in either sexp or non-sexp form, like: /Note:/ Breaking changes may be made before version 1.0, but in the event of major changes, attempts at backward compatibility will be made with obsolescence declarations, translation of arguments, etc. Users who need stability guarantees before 1.0 may choose to use tagged stable releases. -** 0.5-pre +** 0.5 *Added* + View dispatcher using =transient.el= (like Magit), bound to =v= in search/view buffers. diff --git a/org-ql.el b/org-ql.el index 3e38088..70fefe0 100644 --- a/org-ql.el +++ b/org-ql.el @@ -2,7 +2,7 @@ ;; Author: Adam Porter ;; Url: https://github.com/alphapapa/org-ql -;; Version: 0.5-pre +;; Version: 0.5 ;; Package-Requires: ((emacs "26.1") (dash "2.13") (dash-functional "1.2.0") (f "0.17.2") (map "2.1") (org "9.0") (org-super-agenda "1.2") (ov "1.0.6") (peg "0.6") (s "1.12.0") (transient "0.1") (ts "0.2-pre")) ;; Keywords: hypermedia, outlines, Org, agenda diff --git a/org-ql.info b/org-ql.info index 3e8c933..60d0048 100644 --- a/org-ql.info +++ b/org-ql.info @@ -66,7 +66,7 @@ Functions / Macros Changelog -* 0.5-pre: 05-pre. +* 0.5: 05. * 0.4.9: 049. * 0.4.8: 048. * 0.4.7: 047. @@ -831,7 +831,7 @@ releases. * Menu: -* 0.5-pre: 05-pre. +* 0.5: 05. * 0.4.9: 049. * 0.4.8: 048. * 0.4.7: 047. @@ -852,10 +852,10 @@ releases. * 0.1: 01.  -File: README.info, Node: 05-pre, Next: 049, Up: Changelog +File: README.info, Node: 05, Next: 049, Up: Changelog -5.1 0.5-pre -=========== +5.1 0.5 +======= *Added* • View dispatcher using transient.el (like Magit), bound to v in @@ -893,7 +893,7 @@ File: README.info, Node: 05-pre, Next: 049, Up: Changelog testing new features in this version.  -File: README.info, Node: 049, Next: 048, Prev: 05-pre, Up: Changelog +File: README.info, Node: 049, Next: 048, Prev: 05, Up: Changelog 5.2 0.4.9 ========= @@ -1338,53 +1338,53 @@ GPLv3  Tag Table: Node: Top225 -Node: Contents1594 -Node: Screenshots1717 -Node: Installation1835 -Node: Quelpa2473 -Node: Usage2916 -Node: Commands3314 -Node: org-ql-search3787 -Node: helm-org-ql5437 -Node: org-ql-view5849 -Node: org-ql-view-sidebar6349 -Node: org-ql-view-recent-items6705 -Node: org-ql-sparse-tree7189 -Node: Queries7989 -Node: Non-sexp query syntax9100 -Node: General predicates10807 -Node: Ancestor/descendant predicates16220 -Node: Date/time predicates17348 -Node: Functions / Macros20003 -Node: Agenda-like views20258 -Node: Listing / acting-on results21663 -Node: Dynamic block26858 -Node: Links29556 -Node: Tips30243 -Node: Changelog30561 -Node: 05-pre31245 -Node: 04932719 -Node: 04832997 -Node: 04733344 -Node: 04633739 -Node: 04534139 -Node: 04434498 -Node: 04334855 -Node: 04235050 -Node: 04135209 -Node: 0435450 -Node: 03239383 -Node: 03139762 -Node: 0339959 -Node: 02342934 -Node: 02243162 -Node: 02143430 -Node: 0243629 -Node: 0147664 -Node: Notes47765 -Node: Comparison with Org Agenda searches47927 -Node: org-sidebar48799 -Node: License49078 +Node: Contents1586 +Node: Screenshots1709 +Node: Installation1827 +Node: Quelpa2465 +Node: Usage2908 +Node: Commands3306 +Node: org-ql-search3779 +Node: helm-org-ql5429 +Node: org-ql-view5841 +Node: org-ql-view-sidebar6341 +Node: org-ql-view-recent-items6697 +Node: org-ql-sparse-tree7181 +Node: Queries7981 +Node: Non-sexp query syntax9092 +Node: General predicates10799 +Node: Ancestor/descendant predicates16212 +Node: Date/time predicates17340 +Node: Functions / Macros19995 +Node: Agenda-like views20250 +Node: Listing / acting-on results21655 +Node: Dynamic block26850 +Node: Links29548 +Node: Tips30235 +Node: Changelog30553 +Node: 0531229 +Node: 04932691 +Node: 04832965 +Node: 04733312 +Node: 04633707 +Node: 04534107 +Node: 04434466 +Node: 04334823 +Node: 04235018 +Node: 04135177 +Node: 0435418 +Node: 03239351 +Node: 03139730 +Node: 0339927 +Node: 02342902 +Node: 02243130 +Node: 02143398 +Node: 0243597 +Node: 0147632 +Node: Notes47733 +Node: Comparison with Org Agenda searches47895 +Node: org-sidebar48767 +Node: License49046  End Tag Table From 148a193ca09289fb4c394f30297a6698856bf56e Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Sun, 22 Nov 2020 19:06:16 -0600 Subject: [PATCH 7/7] Meta: 0.6-pre --- README.org | 4 ++ org-ql.el | 2 +- org-ql.info | 147 ++++++++++++++++++++++++++++------------------------ 3 files changed, 84 insertions(+), 69 deletions(-) diff --git a/README.org b/README.org index b3e7e42..b4f8596 100644 --- a/README.org +++ b/README.org @@ -461,6 +461,10 @@ Simple links may also be written manually in either sexp or non-sexp form, like: /Note:/ Breaking changes may be made before version 1.0, but in the event of major changes, attempts at backward compatibility will be made with obsolescence declarations, translation of arguments, etc. Users who need stability guarantees before 1.0 may choose to use tagged stable releases. +** 0.6-pre + +Nothing new yet. + ** 0.5 *Added* diff --git a/org-ql.el b/org-ql.el index 70fefe0..bd53108 100644 --- a/org-ql.el +++ b/org-ql.el @@ -2,7 +2,7 @@ ;; Author: Adam Porter ;; Url: https://github.com/alphapapa/org-ql -;; Version: 0.5 +;; Version: 0.6-pre ;; Package-Requires: ((emacs "26.1") (dash "2.13") (dash-functional "1.2.0") (f "0.17.2") (map "2.1") (org "9.0") (org-super-agenda "1.2") (ov "1.0.6") (peg "0.6") (s "1.12.0") (transient "0.1") (ts "0.2-pre")) ;; Keywords: hypermedia, outlines, Org, agenda diff --git a/org-ql.info b/org-ql.info index 60d0048..abfce7a 100644 --- a/org-ql.info +++ b/org-ql.info @@ -66,6 +66,7 @@ Functions / Macros Changelog +* 0.6-pre: 06-pre. * 0.5: 05. * 0.4.9: 049. * 0.4.8: 048. @@ -831,6 +832,7 @@ releases. * Menu: +* 0.6-pre: 06-pre. * 0.5: 05. * 0.4.9: 049. * 0.4.8: 048. @@ -852,9 +854,17 @@ releases. * 0.1: 01.  -File: README.info, Node: 05, Next: 049, Up: Changelog +File: README.info, Node: 06-pre, Next: 05, Up: Changelog -5.1 0.5 +5.1 0.6-pre +=========== + +Nothing new yet. + + +File: README.info, Node: 05, Next: 049, Prev: 06-pre, Up: Changelog + +5.2 0.5 ======= *Added* @@ -895,7 +905,7 @@ File: README.info, Node: 05, Next: 049, Up: Changelog  File: README.info, Node: 049, Next: 048, Prev: 05, Up: Changelog -5.2 0.4.9 +5.3 0.4.9 ========= *Fixed* @@ -906,7 +916,7 @@ File: README.info, Node: 049, Next: 048, Prev: 05, Up: Changelog  File: README.info, Node: 048, Next: 047, Prev: 049, Up: Changelog -5.3 0.4.8 +5.4 0.4.8 ========= *Fixed* @@ -918,7 +928,7 @@ File: README.info, Node: 048, Next: 047, Prev: 049, Up: Changelog  File: README.info, Node: 047, Next: 046, Prev: 048, Up: Changelog -5.4 0.4.7 +5.5 0.4.7 ========= *Fixed* @@ -931,7 +941,7 @@ File: README.info, Node: 047, Next: 046, Prev: 048, Up: Changelog  File: README.info, Node: 046, Next: 045, Prev: 047, Up: Changelog -5.5 0.4.6 +5.6 0.4.6 ========= *Fixed* @@ -944,7 +954,7 @@ File: README.info, Node: 046, Next: 045, Prev: 047, Up: Changelog  File: README.info, Node: 045, Next: 044, Prev: 046, Up: Changelog -5.6 0.4.5 +5.7 0.4.5 ========= *Fixed* @@ -956,7 +966,7 @@ File: README.info, Node: 045, Next: 044, Prev: 046, Up: Changelog  File: README.info, Node: 044, Next: 043, Prev: 045, Up: Changelog -5.7 0.4.4 +5.8 0.4.4 ========= *Fixed* @@ -968,7 +978,7 @@ File: README.info, Node: 044, Next: 043, Prev: 045, Up: Changelog  File: README.info, Node: 043, Next: 042, Prev: 044, Up: Changelog -5.8 0.4.3 +5.9 0.4.3 ========= *Fixed* @@ -978,8 +988,8 @@ File: README.info, Node: 043, Next: 042, Prev: 044, Up: Changelog  File: README.info, Node: 042, Next: 041, Prev: 043, Up: Changelog -5.9 0.4.2 -========= +5.10 0.4.2 +========== *Fixed* • Items’ to-do keywords were not shown in views. @@ -987,7 +997,7 @@ File: README.info, Node: 042, Next: 041, Prev: 043, Up: Changelog  File: README.info, Node: 041, Next: 04, Prev: 042, Up: Changelog -5.10 0.4.1 +5.11 0.4.1 ========== *Fixed* @@ -997,7 +1007,7 @@ File: README.info, Node: 041, Next: 04, Prev: 042, Up: Changelog  File: README.info, Node: 04, Next: 032, Prev: 041, Up: Changelog -5.11 0.4 +5.12 0.4 ======== _Note:_ The next release, 0.5, may include changes which will require @@ -1078,7 +1088,7 @@ as they will be pushed to the master branch when ready.  File: README.info, Node: 032, Next: 031, Prev: 04, Up: Changelog -5.12 0.3.2 +5.13 0.3.2 ========== *Fixed* @@ -1091,7 +1101,7 @@ File: README.info, Node: 032, Next: 031, Prev: 04, Up: Changelog  File: README.info, Node: 031, Next: 03, Prev: 032, Up: Changelog -5.13 0.3.1 +5.14 0.3.1 ========== *Fixed* @@ -1101,7 +1111,7 @@ File: README.info, Node: 031, Next: 03, Prev: 032, Up: Changelog  File: README.info, Node: 03, Next: 023, Prev: 031, Up: Changelog -5.14 0.3 +5.15 0.3 ======== *Added* @@ -1166,7 +1176,7 @@ File: README.info, Node: 03, Next: 023, Prev: 031, Up: Changelog  File: README.info, Node: 023, Next: 022, Prev: 03, Up: Changelog -5.15 0.2.3 +5.16 0.2.3 ========== *Fixed* @@ -1176,7 +1186,7 @@ File: README.info, Node: 023, Next: 022, Prev: 03, Up: Changelog  File: README.info, Node: 022, Next: 021, Prev: 023, Up: Changelog -5.16 0.2.2 +5.17 0.2.2 ========== *Fixed* @@ -1187,7 +1197,7 @@ File: README.info, Node: 022, Next: 021, Prev: 023, Up: Changelog  File: README.info, Node: 021, Next: 02, Prev: 022, Up: Changelog -5.17 0.2.1 +5.18 0.2.1 ========== *Fixed* @@ -1197,7 +1207,7 @@ File: README.info, Node: 021, Next: 02, Prev: 022, Up: Changelog  File: README.info, Node: 02, Next: 01, Prev: 021, Up: Changelog -5.18 0.2 +5.19 0.2 ======== *Added* @@ -1280,7 +1290,7 @@ File: README.info, Node: 02, Next: 01, Prev: 021, Up: Changelog  File: README.info, Node: 01, Prev: 02, Up: Changelog -5.19 0.1 +5.20 0.1 ======== First tagged release. @@ -1338,53 +1348,54 @@ GPLv3  Tag Table: Node: Top225 -Node: Contents1586 -Node: Screenshots1709 -Node: Installation1827 -Node: Quelpa2465 -Node: Usage2908 -Node: Commands3306 -Node: org-ql-search3779 -Node: helm-org-ql5429 -Node: org-ql-view5841 -Node: org-ql-view-sidebar6341 -Node: org-ql-view-recent-items6697 -Node: org-ql-sparse-tree7181 -Node: Queries7981 -Node: Non-sexp query syntax9092 -Node: General predicates10799 -Node: Ancestor/descendant predicates16212 -Node: Date/time predicates17340 -Node: Functions / Macros19995 -Node: Agenda-like views20250 -Node: Listing / acting-on results21655 -Node: Dynamic block26850 -Node: Links29548 -Node: Tips30235 -Node: Changelog30553 -Node: 0531229 -Node: 04932691 -Node: 04832965 -Node: 04733312 -Node: 04633707 -Node: 04534107 -Node: 04434466 -Node: 04334823 -Node: 04235018 -Node: 04135177 -Node: 0435418 -Node: 03239351 -Node: 03139730 -Node: 0339927 -Node: 02342902 -Node: 02243130 -Node: 02143398 -Node: 0243597 -Node: 0147632 -Node: Notes47733 -Node: Comparison with Org Agenda searches47895 -Node: org-sidebar48767 -Node: License49046 +Node: Contents1606 +Node: Screenshots1729 +Node: Installation1847 +Node: Quelpa2485 +Node: Usage2928 +Node: Commands3326 +Node: org-ql-search3799 +Node: helm-org-ql5449 +Node: org-ql-view5861 +Node: org-ql-view-sidebar6361 +Node: org-ql-view-recent-items6717 +Node: org-ql-sparse-tree7201 +Node: Queries8001 +Node: Non-sexp query syntax9112 +Node: General predicates10819 +Node: Ancestor/descendant predicates16232 +Node: Date/time predicates17360 +Node: Functions / Macros20015 +Node: Agenda-like views20270 +Node: Listing / acting-on results21675 +Node: Dynamic block26870 +Node: Links29568 +Node: Tips30255 +Node: Changelog30573 +Node: 06-pre31269 +Node: 0531375 +Node: 04932852 +Node: 04833126 +Node: 04733473 +Node: 04633868 +Node: 04534268 +Node: 04434627 +Node: 04334984 +Node: 04235179 +Node: 04135340 +Node: 0435581 +Node: 03239514 +Node: 03139893 +Node: 0340090 +Node: 02343065 +Node: 02243293 +Node: 02143561 +Node: 0243760 +Node: 0147795 +Node: Notes47896 +Node: Comparison with Org Agenda searches48058 +Node: org-sidebar48930 +Node: License49209  End Tag Table