From 6a6272ef963b6c3305e783f9f2a9bbbe476c8111 Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Sun, 1 Sep 2019 08:21:40 -0500 Subject: [PATCH 001/615] Notes: Add --- notes.org | 199 +++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 196 insertions(+), 3 deletions(-) diff --git a/notes.org b/notes.org index 9a67ef8..1c0cc1f 100644 --- a/notes.org +++ b/notes.org @@ -1885,7 +1885,8 @@ An idea that /might/ be helpful for performance in /some/ cases, depending on th (cl-defun org-ql-agenda-intersection (buffers-files queries &key entries sort buffer narrow super-groups) "Like `org-ql-agenda', but intersects multiple queries." (declare (indent defun)) - (let* ((entries (->> queries + (let* ((org-ql-cache (ht)) + (entries (->> queries (--map (org-ql-select buffers-files it :action 'element-with-markers @@ -1913,8 +1914,200 @@ An idea that /might/ be helpful for performance in /some/ cases, depending on th #+RESULTS: | Form | x faster than next | Total runtime | # of GCs | Total GC runtime | |--------------+--------------------+---------------+----------+------------------| -| normal | 4.03 | 0.275053 | 0 | 0 | -| intersection | slowest | 1.109169 | 0 | 0 | +| normal | 3.70 | 0.233147 | 0 | 0 | +| intersection | slowest | 0.862512 | 0 | 0 | + +*** Alternative approach + +[2019-09-01 Sun 08:17] This is very experimental, but the results are surprising. When the action function returns a fairly simple list, the intersection is very slightly faster. When returning full elements, the intersection is much slower, so that it more than doubles the runtime. I wonder if the element list comparison is short-circuiting, or if it looks at the whole lists, because it seems like it shouldn't take more than 4-5 list elements before it realizes that two lists don't match. + +Anyway, looks like this approach isn't viable, at least not without a much more complicated implementation, which probably wouldn't be worth it. + +#+BEGIN_SRC elisp + (let* ((action-fn (lambda () + (list (current-buffer) + (point) + (substring-no-properties (org-get-heading t t))))) + (files '("~/org/main.org"))) + ;; NOTE: Careful to use the same files and action in each one. I duplicated + ;; the variable in each form to make individual testing easier. + (bench-multi-lexical :times 1 :ensure-equal t + :forms (("normal" (->> (let ((org-ql-cache (ht)) + (action-fn (lambda () + (list (current-buffer) + (point) + (substring-no-properties (org-get-heading t t))))) + (files '("~/org/main.org"))) + (org-ql-select files + '(and (not (done)) + (or (habit) + (deadline auto) + (scheduled :to today) + (ts-active :on today) + (closed :on today))) + :action action-fn)))) + ("Testing" (let* ((org-ql-cache (ht)) + (files '("~/org/main.org")) + (action-fn (lambda () + (list (current-buffer) + (point) + (substring-no-properties (org-get-heading t t))))) + (and-queries '(not (done))) + (or-queries '((habit) + (deadline auto) + (scheduled :to today) + (ts-active :on today) + (closed :on today))) + (and-results (org-ql-select files + and-queries + :action action-fn)) + (or-results (cl-loop for query in or-queries + append (org-ql-select files + query + :action action-fn)))) + (seq-intersection and-results + (->> or-results + -uniq))))))) +#+END_SRC + +#+RESULTS: +| Form | x faster than next | Total runtime | # of GCs | Total GC runtime | +|---------+--------------------+---------------+----------+------------------| +| Testing | 1.15 | 0.248376 | 0 | 0 | +| normal | slowest | 0.284897 | 0 | 0 | + +#+BEGIN_SRC elisp + +;; With caching enabled + (let* ((action-fn (lambda () + (list (current-buffer) + (point) + (substring-no-properties (org-get-heading t t))))) + (files '("~/org/main.org"))) + (bench-multi-lexical :times 1 :ensure-equal t + :forms (("normal" (->> (org-ql-select files + '(and (not (done)) + (or (habit) + (deadline auto) + (scheduled :to today) + (ts-active :on today) + (closed :on today))) + :action action-fn))) + ("Testing" (let* ((files '("~/org/main.org")) + (and-queries '(not (done))) + (or-queries '((habit) + (deadline auto) + (scheduled :to today) + (ts-active :on today) + (closed :on today))) + (and-results (org-ql-select files + and-queries + :action action-fn)) + (or-results (cl-loop for query in or-queries + append (org-ql-select files + query + :action action-fn)))) + (seq-intersection and-results + (->> or-results + -uniq))))))) +#+END_SRC + +#+RESULTS: +| Form | x faster than next | Total runtime | # of GCs | Total GC runtime | +|---------+--------------------+---------------+----------+------------------| +| normal | 13.72 | 0.002311 | 0 | 0 | +| Testing | slowest | 0.031707 | 0 | 0 | + +Using full views: + +#+BEGIN_SRC elisp + (let* ((action-fn (lambda () + (list (current-buffer) + (point) + (substring-no-properties (org-get-heading t t))))) + (files '("~/org/main.org"))) + (bench-multi-lexical :times 1 + :forms (("normal" (->> (let ((org-ql-cache (ht)) + (files '("~/org/main.org"))) + (org-ql-search files + '(and (not (done)) + (or (habit) + (deadline auto) + (scheduled :to today) + (ts-active :on today) + (closed :on today))))))) + ("Testing" (let* ((org-ql-cache (ht)) + (files '("~/org/main.org")) + (and-queries '(not (done))) + (or-queries '((habit) + (deadline auto) + (scheduled :to today) + (ts-active :on today) + (closed :on today))) + (and-results (org-ql-select files + and-queries + :action 'element-with-markers)) + (or-results (cl-loop for query in or-queries + append (org-ql-select files + query + :action 'element-with-markers))) + (final-results (seq-intersection and-results + (->> or-results + -uniq)))) + (org-ql-agenda--agenda nil nil + :entries final-results) + + ))))) +#+END_SRC + +#+RESULTS: +| Form | x faster than next | Total runtime | # of GCs | Total GC runtime | +|---------+--------------------+---------------+----------+------------------| +| normal | 1.74 | 0.534742 | 0 | 0 | +| Testing | slowest | 0.931897 | 0 | 0 | + +Just gathering results, but using elements: + +#+BEGIN_SRC elisp + (let* ((action-fn 'element-with-markers) + (files '("~/org/main.org"))) + ;; NOTE: Careful to use the same files and action in each one. I duplicated + ;; the variable in each form to make individual testing easier. + (bench-multi-lexical :times 1 :ensure-equal t + :forms (("normal" (->> (let ((org-ql-cache (ht))) + (org-ql-select files + '(and (not (done)) + (or (habit) + (deadline auto) + (scheduled :to today) + (ts-active :on today) + (closed :on today))) + :action action-fn)))) + ("Testing" (let* ((org-ql-cache (ht)) + (and-queries '(not (done))) + (or-queries '((habit) + (deadline auto) + (scheduled :to today) + (ts-active :on today) + (closed :on today))) + (and-results (org-ql-select files + and-queries + :action action-fn)) + (or-results (cl-loop for query in or-queries + append (org-ql-select files + query + :action action-fn)))) + (seq-intersection and-results + (->> or-results + -uniq))))))) +#+END_SRC + +#+RESULTS: +| Form | x faster than next | Total runtime | # of GCs | Total GC runtime | +|---------+--------------------+---------------+----------+------------------| +| normal | 2.27 | 0.314218 | 0 | 0 | +| Testing | slowest | 0.714587 | 0 | 0 | + ** [2019-08-29 Thu 06:24] Benchmarking org-ql compared to re-search-forward for getting headings in buffer :PROPERTIES: From b9badc3e3483e632fc9394a9216323186c42f809 Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Mon, 2 Sep 2019 05:22:11 -0500 Subject: [PATCH 002/615] Notes: Add --- notes.org | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/notes.org b/notes.org index 1c0cc1f..9186ced 100644 --- a/notes.org +++ b/notes.org @@ -269,6 +269,10 @@ I should benchmark it to see how much difference it makes, because all those ~fs When tag inheritance is enabled, and the given tags aren't file-level tags, we could search directly to headings containing the matching tags, and then only do per-heading matching on the subtrees. Sometimes that would be much faster. However, that might make the logic special-cased and complicated. Might need a redesign of the whole matching/predicate system to do cleanly. +** MAYBE Implement view with tabulated-list-mode or magit-section + +[2019-09-02 Mon 05:20] Especially with some of the new packages that make =tabulated-list-mode= easier to use, like =navigel=. However, it would probably break grouping, or require some kind of adapter or extension to do grouping, so I don't know if that would work. Something like =magit-section= would be more flexible, and could be recursively grouped, like in =magit-todos=. + ** DONE Byte-compile lambdas CLOSED: [2018-05-09 Wed 17:30] :LOGBOOK: From 09b777c94bc18906a4f6a8d6c6c4ac62af799dcd Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Mon, 2 Sep 2019 05:49:03 -0500 Subject: [PATCH 003/615] Notes: Add TODO --- notes.org | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/notes.org b/notes.org index 9186ced..c2e6bfb 100644 --- a/notes.org +++ b/notes.org @@ -265,6 +265,10 @@ I should benchmark it to see how much difference it makes, because all those ~fs ** TODO Update commentary +** TODO [#B] Quickly change sorting/grouping in search views + +With caching, the search doesn't need to be repeated, so resorting/regrouping can be very fast. + ** MAYBE Fancier searching for inherited tags When tag inheritance is enabled, and the given tags aren't file-level tags, we could search directly to headings containing the matching tags, and then only do per-heading matching on the subtrees. Sometimes that would be much faster. However, that might make the logic special-cased and complicated. Might need a redesign of the whole matching/predicate system to do cleanly. From 01772f3c8a0a2fd607867010bb15a944af3e0bae Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Mon, 2 Sep 2019 14:42:20 -0500 Subject: [PATCH 004/615] Docs: Add example --- examples.org | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/examples.org b/examples.org index a349676..fc08a2d 100644 --- a/examples.org +++ b/examples.org @@ -4,10 +4,25 @@ :PROPERTIES: :TOC: this :END: + - [[#find-entries-matching-a-certain-custom_id][Find entries matching a certain CUSTOM_ID]] - [[#show-entries-with-recent-timestamps][Show entries with recent timestamps]] - [[#stuck-projects-block-agenda][Stuck projects block agenda]] - [[#listing-bills-coming-due][Listing bills coming due]] +* Find entries matching a certain =CUSTOM_ID= + +Since queries can contain both built-in =org-ql= predicate expressions and arbitrary expressions, they can be combined in useful ways. This example uses the built-in =property= predicate to quickly locate entries that have the =CUSTOM_ID= property set, and then compares the value of that property to the string =issue=. + +#+BEGIN_SRC elisp + (org-ql-query + :select #'org-get-heading + :from "~/org/tickets.org" + :where '(and (property "CUSTOM_ID") + (string-match "issue" (org-entry-get (point) "CUSTOM_ID")))) +#+END_SRC + +Using the =property= predicate as the first clause of the two clauses joined with =and= allows =org-ql= to optimize the query by searching through the buffer directly to entries that set the =CUSTOM_ID= property, which is much faster than testing every entry in a buffer. Also, If the query were only the =string-match= call, it would signal an error on entries that didn't have the property set, because =org-entry-get= would return nil. + * Show entries with recent timestamps You can also access these views with the command ~org-ql-view~. From 9c0f83be9c7ff0fa6c4b1b4df7c455a24b46a5f4 Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Tue, 3 Sep 2019 06:17:38 -0500 Subject: [PATCH 005/615] Notes: Add idea --- notes.org | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/notes.org b/notes.org index c2e6bfb..3beed7f 100644 --- a/notes.org +++ b/notes.org @@ -277,6 +277,27 @@ When tag inheritance is enabled, and the given tags aren't file-level tags, we c [2019-09-02 Mon 05:20] Especially with some of the new packages that make =tabulated-list-mode= easier to use, like =navigel=. However, it would probably break grouping, or require some kind of adapter or extension to do grouping, so I don't know if that would work. Something like =magit-section= would be more flexible, and could be recursively grouped, like in =magit-todos=. +*** Code idea + +Inserting items into a view could look something like this: + +#+BEGIN_SRC elisp + (org-ql-view--insert-items + :header (ts-format "%Y-%m-%d" (ts-now)) + :items (org-ql-query + :select #'org-ql-current-item + :from (org-agenda-files) + :where '(or (deadline auto) + (scheduled :on today) + (ts-active :on today))) + :group-by '(org-ql-item-priority + org-ql-item-todo)) +#+END_SRC + +Items would be structs, and the =group-by= argument would be a list of accessors, like how =magit-todos= works. Arbitrary functions could also be passed to =group-by=, as whatever value the function returns is used to group them. =org-ql-current-item= would be a function that turns the result of =org-element-headline-parser= into the struct. + +Not sure if it should automatically add the number of items to the header, or if that should be done manually. + ** DONE Byte-compile lambdas CLOSED: [2018-05-09 Wed 17:30] :LOGBOOK: From 0b20be451f15ae37a2b517af74eb428e9809a158 Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Wed, 4 Sep 2019 05:29:52 -0500 Subject: [PATCH 006/615] Meta: 0.3-pre --- README.org | 4 ++++ org-ql.el | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/README.org b/README.org index c95c81a..4af7636 100644 --- a/README.org +++ b/README.org @@ -441,6 +441,10 @@ Expands into a call to ~org-ql-select~ with the same arguments. For convenience /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.3-pre + +Nothing new yet. + ** 0.2 :PROPERTIES: :ID: 67be09f9-e959-4333-9be2-93ad8f458fbe diff --git a/org-ql.el b/org-ql.el index 09272db..a43d69e 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.2 +;; Version: 0.3-pre ;; Package-Requires: ((emacs "26.1") (dash "2.13") (org "9.0") (s "1.12.0") (ts "0.2")) ;; Keywords: hypermedia, outlines, Org, agenda From 88a667b0fe1b513df78ed83c2a4c114b78d29928 Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Wed, 4 Sep 2019 05:59:44 -0500 Subject: [PATCH 007/615] Add: org-ql-sparse-tree Thanks to Akira Komamura (@akirak). Closes #34. --- README.org | 13 +++++++++++-- org-ql-agenda.el | 37 +++++++++++++++++++++++++++++++++++++ 2 files changed, 48 insertions(+), 2 deletions(-) diff --git a/README.org b/README.org index 4af7636..479efaf 100644 --- a/README.org +++ b/README.org @@ -120,7 +120,7 @@ Installing with [[https://framagit.org/steckerhalter/quelpa][Quelpa]] is easy: The functionality provided may be grouped by: -+ *Interactive commands:* ~org-ql-search~, ~org-ql-view~. ++ *Interactive commands:* ~org-ql-search~, ~org-ql-view~, =org-ql-sparse-tree=. + *Non-interactive functions and macros:* - ~org-ql~ (macro) - ~org-ql-select~ (function) @@ -135,6 +135,8 @@ Alternatively, they may be grouped by: - ~org-ql-view~ (command) - ~org-ql-block~ (agenda function) - ~org-ql-agenda~ (macro) ++ *Showing a tree in a buffer:* + - =org-ql-sparse-tree= (command) + *Returning a list of matches or acting on them:* - ~org-ql~ (macro) - ~org-ql-select~ (function) @@ -183,6 +185,12 @@ Choose and display a view stored in ~org-ql-views~. Show items in ~FILES~ from last ~DAYS~ days with timestamps of ~TYPE~. ~TYPE~ may be ~ts~, ~ts-active~, ~ts-inactive~, ~clocked~, ~closed~, ~deadline~, ~planning~, or ~scheduled~. =FILES= defaults to those returned by the function =org-agenda-files=. +*** org-ql-sparse-tree =(query &key keep-previous (buffer (current-buffer)))= + +Show a sparse tree for ~QUERY~ in ~BUFFER~ and return number of results. The tree will show the lines where the query matches, and any other context defined in ~org-show-context-detail~, which see. + +~QUERY~ is an ~org-ql~ query sexp (quoted, since this is a function). ~BUFFER~ defaults to the current buffer. When ~KEEP-PREVIOUS~ is non-nil (interactively, with prefix), the outline is not reset to the overview state before finding matches, which allows stacking calls to this command. Runs ~org-occur-hook~ after making the sparse tree. + ** Queries A query is a lisp form which may contain arbitrary lisp forms, as well as certain built-in predicates. It is byte-compiled into a predicate function which is tested with point on each heading in an Org buffer; when it returns non-nil, the heading matches the query. @@ -443,7 +451,8 @@ Expands into a call to ~org-ql-select~ with the same arguments. For convenience ** 0.3-pre -Nothing new yet. +*Added* ++ Command =org-ql-sparse-tree=, like =org-sparse-tree= for =org-ql= queries. (Thanks to [[https://github.com/akirak][Akira Komamura]].) ** 0.2 :PROPERTIES: diff --git a/org-ql-agenda.el b/org-ql-agenda.el index fa75f6d..1ed586a 100644 --- a/org-ql-agenda.el +++ b/org-ql-agenda.el @@ -320,6 +320,43 @@ TYPE may be `ts', `ts-active', `ts-inactive', `clocked', or :sort '(date priority todo) :groups groups))) +;;;###autoload +(cl-defun org-ql-sparse-tree (query &key keep-previous (buffer (current-buffer))) + "Show a sparse tree for QUERY in BUFFER and return number of results. +The tree will show the lines where the query matches, and any +other context defined in `org-show-context-detail', which see. + +QUERY is an `org-ql' query sexp (quoted, since this is a +function). BUFFER defaults to the current buffer. + +When KEEP-PREVIOUS is non-nil (interactively, with prefix), the +outline is not reset to the overview state before finding +matches, which allows stacking calls to this command. + +Runs `org-occur-hook' after making the sparse tree." + ;; Code based on `org-occur'. + ;; TODO: Use `helm-org-ql' plain-text query processing. + (interactive (list (read-minibuffer "Query: ") + :keep-previous current-prefix-arg)) + (with-current-buffer buffer + (unless keep-previous + ;; We don't do highlighting, because queries aren't regexps, but + ;; we remove existing `org-occur' highlights, just in case. + (org-remove-occur-highlights nil nil t) + (org-overview)) + (let ((num-results 0)) + (org-ql-select buffer query + :action (lambda () + (org-show-context 'occur-tree) + (cl-incf num-results))) + (unless org-sparse-tree-open-archived-trees + (org-hide-archived-subtrees (point-min) (point-max))) + (run-hooks 'org-occur-hook) + (unless (get-buffer-window buffer) + (pop-to-buffer buffer)) + (message "%d matches" num-results) + num-results))) + ;;;; Functions (cl-defun org-ql-agenda--agenda (buffers-files query &key entries strings sort buffer narrow super-groups title) From a8b93a8a09dc5a1d5f7cd433db732f3d180c8d71 Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Thu, 5 Sep 2019 05:40:00 -0500 Subject: [PATCH 008/615] Notes: Add --- notes.org | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/notes.org b/notes.org index 3beed7f..fe4d9b0 100644 --- a/notes.org +++ b/notes.org @@ -277,6 +277,10 @@ When tag inheritance is enabled, and the given tags aren't file-level tags, we c [2019-09-02 Mon 05:20] Especially with some of the new packages that make =tabulated-list-mode= easier to use, like =navigel=. However, it would probably break grouping, or require some kind of adapter or extension to do grouping, so I don't know if that would work. Something like =magit-section= would be more flexible, and could be recursively grouped, like in =magit-todos=. +*** TODO Experiment with =widget= + +The code that powers the customization UI. Has collapsible and customizable widgets. Might be perfect. Might even enable editing items in the list, with functions to make the changes in the source buffers. + *** Code idea Inserting items into a view could look something like this: From 3ec5e08a6b624cd990e815f3be574bfd5bb51a7e Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Thu, 5 Sep 2019 08:10:51 -0500 Subject: [PATCH 009/615] Notes: Add caching of inherited tags --- notes.org | 102 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 102 insertions(+) diff --git a/notes.org b/notes.org index fe4d9b0..43bf9c3 100644 --- a/notes.org +++ b/notes.org @@ -2172,3 +2172,105 @@ Minimal difference, and that's a very large file, too. On smaller files it's th | re-search-forward | 1.17 | 0.520375 | 0 | 0 | | org-ql | slowest | 0.608281 | 0 | 0 | +** Caching of inherited tags + +[2019-09-05 Thu 07:59] Implemented a per-buffer tags cache that seems to significantly speed up tags queries that use tag inheritance. It persists as long as the buffer remains unmodified, and it's usable from any code as a single function that automatically uses caching. It also returns inherited tags and local tags separately, which could be useful for having separate selectors, one for inherited tags, one for local tags, and one for both. + +#+BEGIN_SRC elisp + (defvar org-ql-tags-cache (ht) + "Per-buffer tags cache. + Keyed by buffer. Each value is a cons of the buffer's modified + tick, and another hash table keyed on buffer position, whose + values are a list of two lists, inherited tags and local tags, as + strings.") + + (defun org-ql--tags-at (position) + "Return tags for POSITION in current buffer. + Returns cons (INHERITED-TAGS . LOCAL-TAGS)." + ;; I'd like to use `-if-let*', but it doesn't leave non-nil variables + ;; bound in the else clause, so destructured variables that are non-nil, + ;; like found caches, are not available in the else clause. + (if-let* ((buffer-cache (gethash (current-buffer) org-ql-tags-cache)) + (modified-tick (car buffer-cache)) + (tags-cache (cdr buffer-cache)) + (buffer-unmodified-p (eq (buffer-modified-tick) modified-tick)) + (cached-result (gethash position tags-cache))) + ;; Found in cache: return them. + (pcase cached-result + ('org-ql-nil nil) + (_ cached-result)) + ;; Not found in cache: get tags and cache them. + (let* ((local-tags (or (org-get-tags position 'local) + 'org-ql-nil)) + (inherited-tags (or (save-excursion + (when (org-up-heading-safe) + (-let* (((inherited local) (org-ql--tags-at (point))) + (inherited-tags (when (or inherited local) + (cond ((and (listp inherited) + (listp local)) + (append inherited local)) + ((cond ((listp inherited) inherited) + ((listp local) local))))))) + (when inherited-tags + (->> inherited-tags -non-nil -uniq))))) + 'org-ql-nil)) + (all-tags (list inherited-tags local-tags))) + ;; Check caches again, because they may have been set now. + ;; TODO: Is there a clever way we could avoid doing this, or is it inherently necessary? + (setf buffer-cache (gethash (current-buffer) org-ql-tags-cache) + modified-tick (car buffer-cache) + tags-cache (cdr buffer-cache) + buffer-unmodified-p (eq (buffer-modified-tick) modified-tick)) + (cond ((or (not buffer-cache) + (not buffer-unmodified-p)) + ;; Buffer-local tags cache empty or invalid: make new one. + (puthash (current-buffer) + (cons (buffer-modified-tick) + (let ((table (make-hash-table))) + (puthash position all-tags table) + table)) + org-ql-tags-cache) + ;; Return tags, not the cons put on the buffer-cache. + all-tags) + ;; Buffer-local tags cache found, but no result: store this one. + (t (puthash position all-tags tags-cache)))))) + + (org-ql--defpred tags-cached (&rest tags) + "Return non-nil if current heading has one or more of TAGS (a list of strings)." + ;; TODO: Try to use `org-make-tags-matcher' to improve performance. It would be nice to not have + ;; to run `org-get-tags' for every heading, especially with inheritance. + (cl-macrolet ((tags-p (tags) + `(and ,tags + (not (eq 'org-ql-nil ,tags))))) + (-let* (((inherited local) (org-ql--tags-at (point)))) + (cl-typecase tags + (null (or (tags-p inherited) + (tags-p local))) + (otherwise (or (when (tags-p inherited) + (seq-intersection tags inherited)) + (when (tags-p local) + (seq-intersection tags local)))))))) +#+END_SRC + +Benchmark results: + +#+BEGIN_SRC elisp + (let* ((buffers '("~/org/main.org")) + (tags '("Emacs"))) + (bench-multi-lexical :times 1 :ensure-equal t + :forms (("uncached" (let ((org-ql-cache (ht))) + (org-ql-select buffers + `(tags ,@tags)))) + ("cached" (let ((org-ql-cache (ht)) + (org-ql-tags-cache (ht))) + (org-ql-select buffers + `(tags-cached ,@tags))))))) +#+END_SRC + +#+RESULTS: +| Form | x faster than next | Total runtime | # of GCs | Total GC runtime | +|----------+--------------------+---------------+----------+------------------| +| cached | 6.51 | 0.519871 | 0 | 0 | +| uncached | slowest | 3.386679 | 0 | 0 | + + From ca9ab3e6a5d526bd1035b85febc6fe8b24607504 Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Thu, 5 Sep 2019 08:22:41 -0500 Subject: [PATCH 010/615] Add: Tag cache, inherited/local tags predicates --- README.org | 10 +++- org-ql.el | 108 +++++++++++++++++++++++++++++++++++++++---- tests/test-org-ql.el | 45 ++++++++++++++++++ 3 files changed, 153 insertions(+), 10 deletions(-) diff --git a/README.org b/README.org index 479efaf..988a13c 100644 --- a/README.org +++ b/README.org @@ -216,7 +216,11 @@ Arguments are listed next to predicate names, where applicable. + ~priority (&optional comparator-or-priority priority)~ :: Return non-nil if current heading has a certain priority. ~COMPARATOR-OR-PRIORITY~ should be either a comparator function, like ~<=~, or a priority string, like "A" (in which case (~=~ will be the comparator). If ~COMPARATOR-OR-PRIORITY~ is a comparator, ~PRIORITY~ should be a priority string. If both arguments are nil, return non-nil if heading has any defined priority. + ~property (property &optional value)~ :: Return non-nil if current entry has ~PROPERTY~ (a string), and optionally ~VALUE~ (a string). Note that property inheritance is currently /not/ enabled for this predicate. If you need to test with inheritance, you could use a custom predicate form, like ~(org-entry-get (point) "PROPERTY" 'inherit)~. + ~regexp (regexp)~ :: Return non-nil if current entry matches ~REGEXP~ (a regexp string). Matches against entire entry, from beginning of its heading to the next heading. -+ ~tags (&optional tags)~ :: Return non-nil if current heading has one or more of ~TAGS~ (a list of strings). ++ ~tags (&optional tags)~ :: Return non-nil if current heading has one or more of ~TAGS~ (a list of strings). Tests both inherited and local tags. ++ =tags-inherited (&optional tags)= :: Return non-nil if current heading's inherited tags include one or more of =TAGS= (a list of strings). If TAGS is nil, return non-nil if heading has any inherited tags. + - Aliases: =inherited-tags=, =tags-i=, =itags=. ++ =tags-local (&optional tags)= :: Return non-nil if current heading's local tags include one or more of =TAGS= (a list of strings). If TAGS is nil, return non-nil if heading has any local tags. + - Aliases: =local-tags=, =tags-l=, =ltags=. + ~todo (&optional keywords)~ :: Return non-nil if current heading is a ~TODO~ item. With ~KEYWORDS~, return non-nil if its keyword is one of ~KEYWORDS~ (a list of strings). When called without arguments, only matches non-done tasks (i.e. does not match keywords in ~org-done-keywords~). *** Date/time predicates @@ -453,6 +457,10 @@ Expands into a call to ~org-ql-select~ with the same arguments. For convenience *Added* + Command =org-ql-sparse-tree=, like =org-sparse-tree= for =org-ql= queries. (Thanks to [[https://github.com/akirak][Akira Komamura]].) ++ Per-buffer, per-heading tag caching, which increases the speed of tags-related queries by 6-7x. ++ More tags-related predicates and aliases: + - For inherited tags: =tags-inherited=, =inherited-tags=, =tags-i=, =itags=. + - For heading-local tags: =tags-local=, =local-tags=, =tags-l=, =ltags=. ** 0.2 :PROPERTIES: diff --git a/org-ql.el b/org-ql.el index a43d69e..80aa4b8 100644 --- a/org-ql.el +++ b/org-ql.el @@ -90,6 +90,13 @@ Each value is a list of the buffer's modified tick and another hash table, keyed by arguments passed to `org-ql--select-cached'.") +(defvar org-ql-tags-cache (make-hash-table :weakness 'key) + "Per-buffer tags cache. +Keyed by buffer. Each value is a cons of the buffer's modified +tick, and another hash table keyed on buffer position, whose +values are a list of two lists, inherited tags and local tags, as +strings.") + (defvar org-ql-predicates (list (list :name 'org-back-to-heading :fn (symbol-function 'org-back-to-heading))) "Plist of predicates, their corresponding functions, and their docstrings. @@ -323,6 +330,10 @@ Replaces bare strings with (regexp) selectors, and appropriate ;; Quote comparator. `(priority ',comparator ,letter)) + ;; Tags: inherited and local predicate aliases. + (`(,(or 'tags-i 'itags 'inherited-tags) . ,tags) `(tags-inherited ,@tags)) + (`(,(or 'tags-l 'ltags 'local-tags) . ,tags) `(tags-local ,@tags)) + ;; Timestamps (`(,(or 'ts-active 'ts-a) . ,rest) `(ts :type active ,@rest)) (`(,(or 'ts-inactive 'ts-i) . ,rest) `(ts :type inactive ,@rest)) @@ -509,10 +520,9 @@ replace the clause with a preamble." (setq org-ql-preamble org-scheduled-time-regexp) ;; Return element, because the predicate still needs testing. element) - ;; TODO: Add selector for tags without inheritance. - ((and `(tags . ,tags) (guard (not org-use-tag-inheritance))) - ;; When tag inheritance is disabled, we only consider direct tags, - ;; so we can search directly to headings containing one of the tags. + (`((or 'tags-local 'local-tags 'tags-l 'ltags) . ,tags) + ;; When searching for local, non-inherited tags, we can + ;; search directly to headings containing one of the tags. (setq org-ql-preamble (rx-to-string `(seq bol (1+ "*") (1+ space) (1+ not-newline) ":" (or ,@tags) ":") t)) @@ -621,6 +631,50 @@ If NARROW is non-nil, buffer will not be widened." ;; Restore original function mappings. (fset (plist-get it :name) (plist-get it :fn)))))) +(defun org-ql--tags-at (position) + "Return tags for POSITION in current buffer. +Returns cons (INHERITED-TAGS . LOCAL-TAGS)." + ;; I'd like to use `-if-let*', but it doesn't leave non-nil variables + ;; bound in the else clause, so destructured variables that are non-nil, + ;; like found caches, are not available in the else clause. + (if-let* ((buffer-cache (gethash (current-buffer) org-ql-tags-cache)) + (modified-tick (car buffer-cache)) + (tags-cache (cdr buffer-cache)) + (buffer-unmodified-p (eq (buffer-modified-tick) modified-tick)) + (cached-result (gethash position tags-cache))) + ;; Found in cache: return them. + (pcase cached-result + ('org-ql-nil nil) + (_ cached-result)) + ;; Not found in cache: get tags and cache them. + (let* ((local-tags (or (org-ql--get-tags position 'local) + 'org-ql-nil)) + (inherited-tags (or (save-excursion + (when (org-up-heading-safe) + (-let* (((inherited local) (org-ql--tags-at (point)))) + (when (or inherited local) + (cond ((and (listp inherited) + (listp local)) + (->> (append inherited local) + -non-nil -uniq)) + ((listp inherited) inherited) + ((listp local) local)))))) + 'org-ql-nil)) + (all-tags (list inherited-tags local-tags))) + ;; Check caches again, because they may have been set now. + ;; TODO: Is there a clever way we could avoid doing this, or is it inherently necessary? + (setf buffer-cache (gethash (current-buffer) org-ql-tags-cache) + modified-tick (car buffer-cache) + tags-cache (cdr buffer-cache) + buffer-unmodified-p (eq (buffer-modified-tick) modified-tick)) + (unless (and buffer-cache buffer-unmodified-p) + ;; Buffer-local tags cache empty or invalid: make new one. + (setf tags-cache (make-hash-table)) + (puthash (current-buffer) + (cons (buffer-modified-tick) tags-cache) + org-ql-tags-cache)) + (puthash position all-tags tags-cache)))) + ;;;;; Helpers (defun org-ql--add-markers (element) @@ -713,13 +767,49 @@ With KEYWORDS, return non-nil if its keyword is one of KEYWORDS (a list of strin (or (apply #'org-ql--predicate-todo org-done-keywords))) (org-ql--defpred tags (&rest tags) - "Return non-nil if current heading has one or more of TAGS (a list of strings)." + "Return non-nil if current heading has one or more of TAGS (a list of strings). +Tests both inherited and local tags." ;; TODO: Try to use `org-make-tags-matcher' to improve performance. It would be nice to not have ;; to run `org-get-tags' for every heading, especially with inheritance. - (when-let ((tags-at (org-ql--get-tags (point) (not org-use-tag-inheritance)))) - (cl-typecase tags - (null t) - (otherwise (seq-intersection tags tags-at))))) + (cl-macrolet ((tags-p (tags) + `(and ,tags + (not (eq 'org-ql-nil ,tags))))) + (-let* (((inherited local) (org-ql--tags-at (point)))) + (cl-typecase tags + (null (or (tags-p inherited) + (tags-p local))) + (otherwise (or (when (tags-p inherited) + (seq-intersection tags inherited)) + (when (tags-p local) + (seq-intersection tags local)))))))) + +(org-ql--defpred tags-inherited (&rest tags) + "Return non-nil if current heading's inherited tags include one or more of TAGS (a list of strings). +If TAGS is nil, return non-nil if heading has any inherited tags." + ;; TODO: Try to use `org-make-tags-matcher' to improve performance. It would be nice to not have + ;; to run `org-get-tags' for every heading, especially with inheritance. + (cl-macrolet ((tags-p (tags) + `(and ,tags + (not (eq 'org-ql-nil ,tags))))) + (-let* (((inherited _) (org-ql--tags-at (point)))) + (cl-typecase tags + (null (tags-p inherited)) + (otherwise (when (tags-p inherited) + (seq-intersection tags inherited))))))) + +(org-ql--defpred tags-local (&rest tags) + "Return non-nil if current heading's local tags include one or more of TAGS (a list of strings). +If TAGS is nil, return non-nil if heading has any local tags." + ;; TODO: Try to use `org-make-tags-matcher' to improve performance. It would be nice to not have + ;; to run `org-get-tags' for every heading, especially with inheritance. + (cl-macrolet ((tags-p (tags) + `(and ,tags + (not (eq 'org-ql-nil ,tags))))) + (-let* (((_ local) (org-ql--tags-at (point)))) + (cl-typecase tags + (null (tags-p local)) + (otherwise (when (tags-p local) + (seq-intersection tags local))))))) (org-ql--defpred level (level-or-comparator &optional level) "Return non-nil if current heading's outline level matches arguments. diff --git a/tests/test-org-ql.el b/tests/test-org-ql.el index cb73fea..ed2e46c 100644 --- a/tests/test-org-ql.el +++ b/tests/test-org-ql.el @@ -586,6 +586,51 @@ RESULTS should be a list of strings as returned by (org-ql-expect ((not (tags "Emacs" "space"))) '("Test data" "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" "Code" "Agenda examining" "Agenda censoring" "Auto grouping" "Auto categories" "Date" "Effort" "Misc" "let-plist" "Profiling")))) + (describe "(tags-inherited)" + + (org-ql-it "without arguments" + (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))) + '("Test data" "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" "Code" "Agenda examining" "Agenda censoring" "Auto grouping" "Auto categories" "Date" "Effort" "Misc" "let-plist" "Profiling"))) + + (org-ql-it "with a tag" + (org-ql-expect ((tags-inherited "Emacs")) + nil) + (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"))) + '("Test data" "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" "Code" "Agenda examining" "Agenda censoring" "Auto grouping" "Auto categories" "Date" "Effort" "Misc" "let-plist" "Profiling"))) + + (org-ql-it "with 2 tags" + (org-ql-expect ((itags "personal" "world")) + '("Skype with president of Antarctica")) + (org-ql-expect ((not (tags-inherited "personal" "world"))) + ;; Note that this correctly includes the task "Practice leaping...", which has the LOCAL tag "personal". + '("Test data" "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" "Code" "Agenda examining" "Agenda censoring" "Auto grouping" "Auto categories" "Date" "Effort" "Misc" "let-plist" "Profiling")))) + + (describe "(tags-local)" + + (org-ql-it "without arguments" + (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))) + '("Test data" "Take over Mars" "Take over the moon" "Renew membership in supervillain club" "Learn universal sign language" "Recurring" "Sunrise/sunset" "Ideas" "Code" "Agenda examining" "Agenda censoring" "Auto grouping" "Auto categories" "Date" "Effort" "Misc" "let-plist" "Profiling"))) + + (org-ql-it "with a tag" + (org-ql-expect ((tags-local "world")) + '("Take over the world" "Skype with president of Antarctica")) + (org-ql-expect ((ltags "ambition")) + '("Take over the universe")) + (org-ql-expect ((not (tags-l "ambition"))) + '("Test data" "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" "Code" "Agenda examining" "Agenda censoring" "Auto grouping" "Auto categories" "Date" "Effort" "Misc" "let-plist" "Profiling"))) + + (org-ql-it "with 2 tags" + (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"))) + '("Test data" "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" "Code" "Agenda examining" "Agenda censoring" "Auto grouping" "Auto categories" "Date" "Effort" "Misc" "let-plist" "Profiling")))) + (describe "(ts)" (describe "active" From f70c34d7656eb48950174112995dbcc9a3554395 Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Thu, 5 Sep 2019 12:13:29 -0500 Subject: [PATCH 011/615] Notes: Add on helm-org-ql --- notes.org | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/notes.org b/notes.org index 43bf9c3..1cc3133 100644 --- a/notes.org +++ b/notes.org @@ -6,6 +6,14 @@ See notes on 1dce9467f25428b5289d3665cd840820969ed65a. It would be good to test the caching explicitly, at least for some queries, because if I were to completely break it again, in such a way that results were stored but retrieval always failed, the tests wouldn't catch it. +** TODO [#A] Helm command + +In branch =wip/helm-org-ql=. Works really well, should add it and demonstrate it. + +*** TODO Add + +*** TODO Demonstrate + ** TODO [#B] Timeline view e.g. as mentioned by Samuel Wales at https://lists.gnu.org/archive/html/emacs-orgmode/2019-08/msg00330.html. Prototype code: From dcad551760b285e54b4fad3ec626f9283289b22f Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Thu, 5 Sep 2019 12:39:23 -0500 Subject: [PATCH 012/615] Notes: Add on node caching --- notes.org | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/notes.org b/notes.org index 1cc3133..fef7fac 100644 --- a/notes.org +++ b/notes.org @@ -281,6 +281,14 @@ With caching, the search doesn't need to be repeated, so resorting/regrouping ca When tag inheritance is enabled, and the given tags aren't file-level tags, we could search directly to headings containing the matching tags, and then only do per-heading matching on the subtrees. Sometimes that would be much faster. However, that might make the logic special-cased and complicated. Might need a redesign of the whole matching/predicate system to do cleanly. +** MAYBE "Node" caching + +[2019-09-05 Thu 12:30] At each node checked by a predicate, make a struct that stores attributes we can query for, as well as parent node position. This would let us speed up ancestor-based queries, like =(ancestor (todo "WAITING"))=. Ideally it would also serve as the tag hierarchy cache. + +It would probably be an all-encompassing system, because predicates would need to refer to the cached node when available. So maybe the struct should be like =ts-defstruct=, with lazy, caching accessors, which would move some of the predicates' code into the accessors. + +Maybe a good improvement to make later, after the project is more developed. + ** MAYBE Implement view with tabulated-list-mode or magit-section [2019-09-02 Mon 05:20] Especially with some of the new packages that make =tabulated-list-mode= easier to use, like =navigel=. However, it would probably break grouping, or require some kind of adapter or extension to do grouping, so I don't know if that would work. Something like =magit-section= would be more flexible, and could be recursively grouped, like in =magit-todos=. From f55aae782cbb517e33a42d43114f8d490f2e565c Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Thu, 5 Sep 2019 13:21:59 -0500 Subject: [PATCH 013/615] Add: tags-all, tags& --- README.org | 3 +++ org-ql.el | 5 ++++- tests/test-org-ql.el | 8 ++++++++ 3 files changed, 15 insertions(+), 1 deletion(-) diff --git a/README.org b/README.org index 988a13c..5a79fe2 100644 --- a/README.org +++ b/README.org @@ -221,6 +221,8 @@ Arguments are listed next to predicate names, where applicable. - Aliases: =inherited-tags=, =tags-i=, =itags=. + =tags-local (&optional tags)= :: Return non-nil if current heading's local tags include one or more of =TAGS= (a list of strings). If TAGS is nil, return non-nil if heading has any local tags. - Aliases: =local-tags=, =tags-l=, =ltags=. ++ =tags-all (tags)= :: Return non-nil if current heading includes all of =TAGS=. Tests both inherited and local tags. + - Aliases: =tags&=. + ~todo (&optional keywords)~ :: Return non-nil if current heading is a ~TODO~ item. With ~KEYWORDS~, return non-nil if its keyword is one of ~KEYWORDS~ (a list of strings). When called without arguments, only matches non-done tasks (i.e. does not match keywords in ~org-done-keywords~). *** Date/time predicates @@ -461,6 +463,7 @@ Expands into a call to ~org-ql-select~ with the same arguments. For convenience + More tags-related predicates and aliases: - For inherited tags: =tags-inherited=, =inherited-tags=, =tags-i=, =itags=. - For heading-local tags: =tags-local=, =local-tags=, =tags-l=, =ltags=. + - =tags-all=, =tags&=: Matches all given tags using boolean =AND= (rather than boolean =OR=, which the =tags= predicate uses). ** 0.2 :PROPERTIES: diff --git a/org-ql.el b/org-ql.el index 80aa4b8..2f94581 100644 --- a/org-ql.el +++ b/org-ql.el @@ -330,7 +330,10 @@ Replaces bare strings with (regexp) selectors, and appropriate ;; Quote comparator. `(priority ',comparator ,letter)) - ;; Tags: inherited and local predicate aliases. + ;; Tags. + (`(,(or 'tags-all 'tags&) . ,tags) `(and ,@(--map `(tags ,it) tags))) + ;; MAYBE: -all versions for inherited and local. + ;; Inherited and local predicate aliases. (`(,(or 'tags-i 'itags 'inherited-tags) . ,tags) `(tags-inherited ,@tags)) (`(,(or 'tags-l 'ltags 'local-tags) . ,tags) `(tags-local ,@tags)) diff --git a/tests/test-org-ql.el b/tests/test-org-ql.el index ed2e46c..99e0906 100644 --- a/tests/test-org-ql.el +++ b/tests/test-org-ql.el @@ -631,6 +631,14 @@ RESULTS should be a list of strings as returned by (org-ql-expect ((not (tags-local "personal" "world"))) '("Test data" "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" "Code" "Agenda examining" "Agenda censoring" "Auto grouping" "Auto categories" "Date" "Effort" "Misc" "let-plist" "Profiling")))) + (describe "(tags-all), (tags&)" + + (org-ql-it "with 2 tags" + (org-ql-expect ((tags-all "universe" "personal")) + '("Practice leaping tall buildings in a single bound")) + (org-ql-expect ((tags& "ambition" "space")) + '("Visit Mars" "Visit the moon")))) + (describe "(ts)" (describe "active" From 57cad5076170e1cae21ca5215688abed8f6439be Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Thu, 5 Sep 2019 14:50:08 -0500 Subject: [PATCH 014/615] Notes: Add struct PoC --- notes.org | 94 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 94 insertions(+) diff --git a/notes.org b/notes.org index fef7fac..3940ec1 100644 --- a/notes.org +++ b/notes.org @@ -289,6 +289,100 @@ It would probably be an all-encompassing system, because predicates would need t Maybe a good improvement to make later, after the project is more developed. +*** Struct PoC code + +This works okay (except the priority accessor needs to be fixed, because Org priorities are awkward to get). I'm guessing all the extra function calls would make it undesirable in cases of returning many results, but it's a flexible concept that makes sorting easy. + +#+BEGIN_SRC elisp + (ts-defstruct org-ql-node + file position marker + (level + nil :accessor-init (org-with-point-at (org-ql-node-marker struct) + (org-outline-level))) + (heading + nil :accessor-init (org-with-point-at (org-ql-node-marker struct) + ;; TODO: Org 9.2+ adds 2 more args to `org-get-heading'. + (org-get-heading t t))) + (priority + nil :accessor-init (org-with-point-at (org-ql-node-marker struct) + (org-get-priority ))) + (tags + nil :accessor-init (org-with-point-at (org-ql-node-marker struct) + (->> (org-ql--tags-at (point)) + -flatten + (delq 'org-ql-nil)))) + (todo + nil :accessor-init (org-with-point-at (org-ql-node-marker struct) + (org-get-todo-state))) + (outline-path + nil :accessor-init (org-with-point-at (org-ql-node-marker struct) + (org-split-string (org-format-outline-path (org-get-outline-path) + nil nil "") + "")))) + + (defcustom helm-org-ql-sort + '(org-ql-node-priority org-ql-node-todo) + "FIXME" + ) + + (cl-defun helm-org-ql (buffers-files &optional no-and) + "Display results in BUFFERS-FILES for an `org-ql' query using Helm. + Interactively, search the current buffer. + + NOTE: Atoms in the query are turned into strings where + appropriate, which makes it unnecessary to type quotation marks + around words that are intended to be searched for as indepenent + strings. + + Also, unless NO-AND is non-nil (interactively, with prefix), all + query tokens are wrapped in an implied (and) form. This is + because a query must be a sexp, so when typing multiple clauses, + either (and) or (or) would be required around them, and (and) is + typically more useful, because it narrows down results. + + For example, this raw input: + + Emacs git + + Is transformed into this query: + + (and \"Emacs\" \"git\") + + However, quoted strings remain quoted, so this input: + + \"something else\" (tags \"funny\") + + Is transformed into this query: + + (and \"something else\" (tags \"funny\"))" + (interactive (list (current-buffer) current-prefix-arg)) + (let ((helm-input-idle-delay helm-org-ql-input-idle-delay)) + (helm :sources + (helm-build-sync-source "helm-org-ql-agenda-files" + :candidates (lambda () + (let* ((query (helm-org-ql--input-to-query helm-pattern no-and)) + (window-width (window-width (helm-window)))) + (when query + (let ((results (org-ql-select buffers-files + query + :action '(make-org-ql-node :marker (point-marker))))) + (when helm-org-ql-sort + (dolist (sorter (reverse helm-org-ql-sort)) + (setf results (sort results sorter)))) + (cl-loop for it in-ref results + do (setf it (concat (buffer-name (org-ql-node-file it)) ":" + (or (org-ql-node-todo it) "") + (or (org-ql-node-priority it) "") + (org-ql-node-heading it) "\\" + (org-ql-node-outline-path it)))) + results)))) + :match #'identity + :fuzzy-match nil + :multimatch nil + :volatile t + :action #'helm-org-goto-marker)))) +#+END_SRC + ** MAYBE Implement view with tabulated-list-mode or magit-section [2019-09-02 Mon 05:20] Especially with some of the new packages that make =tabulated-list-mode= easier to use, like =navigel=. However, it would probably break grouping, or require some kind of adapter or extension to do grouping, so I don't know if that would work. Something like =magit-section= would be more flexible, and could be recursively grouped, like in =magit-todos=. From bf20251e933517360f5a337ce0f14e6007070770 Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Fri, 6 Sep 2019 05:26:18 -0500 Subject: [PATCH 015/615] Fix: (org-ql-search) Group completion when osa not installed --- org-ql-agenda.el | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/org-ql-agenda.el b/org-ql-agenda.el index 1ed586a..33d3087 100644 --- a/org-ql-agenda.el +++ b/org-ql-agenda.el @@ -228,8 +228,9 @@ TITLE: An optional string displayed in the header." :groups (pcase (completing-read "Group by: " (append (list "Don't group" "Global groups") - (cl-loop for type in org-super-agenda-auto-selector-keywords - collect (substring (symbol-name type) 6)))) + (when (bound-and-true-p org-super-agenda-auto-selector-keywords) + (cl-loop for type in org-super-agenda-auto-selector-keywords + collect (substring (symbol-name type) 6))))) ("Global groups" org-super-agenda-groups) ("Don't group" nil) (property (list (list (intern (concat ":auto-" property)))))) From 8a812323fc9a99eaf815a3b4616f0b4e902d4ea2 Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Fri, 6 Sep 2019 11:55:59 -0500 Subject: [PATCH 016/615] Fix: (--tags-at) Respect tag inheritance options Respect org-use-tag-inheritance and org-tags-exclude-from-inheritance. Fixes #43. Thanks to Josiah Schwab (@jschwab) for reporting. --- org-ql.el | 28 ++++++++++++++++++---------- 1 file changed, 18 insertions(+), 10 deletions(-) diff --git a/org-ql.el b/org-ql.el index 2f94581..90737e7 100644 --- a/org-ql.el +++ b/org-ql.el @@ -652,16 +652,24 @@ Returns cons (INHERITED-TAGS . LOCAL-TAGS)." ;; Not found in cache: get tags and cache them. (let* ((local-tags (or (org-ql--get-tags position 'local) 'org-ql-nil)) - (inherited-tags (or (save-excursion - (when (org-up-heading-safe) - (-let* (((inherited local) (org-ql--tags-at (point)))) - (when (or inherited local) - (cond ((and (listp inherited) - (listp local)) - (->> (append inherited local) - -non-nil -uniq)) - ((listp inherited) inherited) - ((listp local) local)))))) + (inherited-tags (or (when org-use-tag-inheritance + (save-excursion + (when (org-up-heading-safe) + (-let* (((inherited local) (org-ql--tags-at (point))) + (tags (when (or inherited local) + (cond ((and (listp inherited) + (listp local)) + (->> (append inherited local) + -non-nil -uniq)) + ((listp inherited) inherited) + ((listp local) local))))) + (cl-typecase org-use-tag-inheritance + (list (setf tags (-intersection tags org-use-tag-inheritance))) + (string (setf tags (--select (string-match org-use-tag-inheritance it) + tags)))) + (pcase org-tags-exclude-from-inheritance + ('nil tags) + (_ (-difference tags org-tags-exclude-from-inheritance))))))) 'org-ql-nil)) (all-tags (list inherited-tags local-tags))) ;; Check caches again, because they may have been set now. From 8a624bdf0d3e8ae59933740df8d7ea546cfd1b13 Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Fri, 6 Sep 2019 12:04:12 -0500 Subject: [PATCH 017/615] Change: (heading) Accept multiple regexps --- README.org | 5 ++++- org-ql.el | 8 +++++--- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/README.org b/README.org index 5a79fe2..7868580 100644 --- a/README.org +++ b/README.org @@ -211,7 +211,7 @@ Arguments are listed next to predicate names, where applicable. + ~descendants (&optional query)~ :: Return non-nil if current heading has descendant headings. If ~QUERY~, test it against descendant headings. This selector may be nested (if you can grok the nesting!). + ~done~ :: Return non-nil if entry's ~TODO~ keyword is in ~org-done-keywords~. + ~habit~ :: Return non-nil if entry is a habit. -+ ~heading (regexp)~ :: Return non-nil if current entry's heading matches ~REGEXP~ (a regexp string). ++ ~heading (&rest regexps)~ :: Return non-nil if current entry's heading matches any of ~REGEXPS~ (regexp strings). + ~level (level-or-comparator &optional level)~ :: Return non-nil if current heading's outline level matches arguments. The following forms are accepted: ~(level NUMBER)~: Matches if heading level is ~NUMBER~. ~(level NUMBER NUMBER)~: Matches if heading level is equal to or between NUMBERs. ~(level COMPARATOR NUMBER)~: Matches if heading level compares to ~NUMBER~ with ~COMPARATOR~. ~COMPARATOR~ may be ~<~, ~<=~, ~>~, or ~>=~. + ~priority (&optional comparator-or-priority priority)~ :: Return non-nil if current heading has a certain priority. ~COMPARATOR-OR-PRIORITY~ should be either a comparator function, like ~<=~, or a priority string, like "A" (in which case (~=~ will be the comparator). If ~COMPARATOR-OR-PRIORITY~ is a comparator, ~PRIORITY~ should be a priority string. If both arguments are nil, return non-nil if heading has any defined priority. + ~property (property &optional value)~ :: Return non-nil if current entry has ~PROPERTY~ (a string), and optionally ~VALUE~ (a string). Note that property inheritance is currently /not/ enabled for this predicate. If you need to test with inheritance, you could use a custom predicate form, like ~(org-entry-get (point) "PROPERTY" 'inherit)~. @@ -465,6 +465,9 @@ Expands into a call to ~org-ql-select~ with the same arguments. For convenience - For heading-local tags: =tags-local=, =local-tags=, =tags-l=, =ltags=. - =tags-all=, =tags&=: Matches all given tags using boolean =AND= (rather than boolean =OR=, which the =tags= predicate uses). +*Changed* ++ Predicate =heading= now accepts multiple regexps. + ** 0.2 :PROPERTIES: :ID: 67be09f9-e959-4333-9be2-93ad8f458fbe diff --git a/org-ql.el b/org-ql.el index 90737e7..235e8f4 100644 --- a/org-ql.el +++ b/org-ql.el @@ -897,9 +897,11 @@ priority." thereis (save-excursion (re-search-forward regexp end t)))))) -(org-ql--defpred heading (regexp) - "Return non-nil if current entry's heading matches REGEXP (a regexp string)." - (string-match regexp (org-get-heading 'no-tags 'no-todo))) +(org-ql--defpred heading (&rest regexps) + "Return non-nil if current entry's heading matches any of REGEXPS (regexp strings)." + ;; TODO: In Org 9.2+, `org-get-heading' takes 2 more arguments. + (let ((heading (org-get-heading 'no-tags 'no-todo))) + (--any (string-match it heading) regexps))) (org-ql--defpred property (property &optional value) "Return non-nil if current entry has PROPERTY (a string), and optionally VALUE (a string)." From eb722649c5f2897227aa8aef3a2b40c75b170377 Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Fri, 6 Sep 2019 12:26:06 -0500 Subject: [PATCH 018/615] Add: org-ql-block-header Closes #32. --- README.org | 6 +++++- examples.org | 9 +++++---- org-ql-agenda.el | 23 +++++++++++++++-------- 3 files changed, 25 insertions(+), 13 deletions(-) diff --git a/README.org b/README.org index 7868580..05c6c03 100644 --- a/README.org +++ b/README.org @@ -270,7 +270,8 @@ For use as a custom agenda block type in ~org-agenda-custom-commands~. For exam '(("ces" "Custom: Agenda and Emacs SOMEDAY [#A] items" ((org-ql-block '(and (todo "SOMEDAY") (tags "Emacs") - (priority "A"))) + (priority "A")) + ((org-ql-block-header "SOMEDAY :Emacs: High-priority"))) (agenda))))) #+END_SRC @@ -285,6 +286,8 @@ Which would be equivalent to a ~tags-todo~ search like this: However, the ~org-ql-block~ version runs in about 1/5th the time. +The variable =org-ql-block-header= may be bound to a string to use as the block header, otherwise the header is formed automatically. + **** Macro: ~org-ql-agenda~ This macro is like ~org-ql~, but it presents matching entries in an Agenda-like view. It's compatible with [[https://github.com/alphapapa/org-super-agenda][org-super-agenda]], which provides grouping. For example: @@ -464,6 +467,7 @@ Expands into a call to ~org-ql-select~ with the same arguments. For convenience - For inherited tags: =tags-inherited=, =inherited-tags=, =tags-i=, =itags=. - For heading-local tags: =tags-local=, =local-tags=, =tags-l=, =ltags=. - =tags-all=, =tags&=: Matches all given tags using boolean =AND= (rather than boolean =OR=, which the =tags= predicate uses). ++ Variable =org-ql-block-header=, which overrides the default header in =org-ql-block= agenda blocks. *Changed* + Predicate =heading= now accepts multiple regexps. diff --git a/examples.org b/examples.org index fc08a2d..ea476a7 100644 --- a/examples.org +++ b/examples.org @@ -52,10 +52,11 @@ With this =org-ql-block= agenda view, like: #+BEGIN_SRC elisp (setq org-agenda-custom-commands '(("s" "Stuck Projects" - ((org-ql-block '(and (tags "@project") - (not (done)) - (not (descendants (todo "NEXT"))) - (not (descendants (scheduled))))))))) + ((org-ql-block '(and (tags "@project") + (not (done)) + (not (descendants (todo "NEXT"))) + (not (descendants (scheduled)))) + ((org-ql-block-header "Stuck Projects"))))))) #+END_SRC * Listing bills coming due diff --git a/org-ql-agenda.el b/org-ql-agenda.el index 33d3087..d8520ff 100644 --- a/org-ql-agenda.el +++ b/org-ql-agenda.el @@ -69,6 +69,9 @@ "Keymap for `org-ql-agenda', `org-ql-search', and `org-ql-views' views. Based on `org-agenda-mode-map'.") +(defvar org-ql-block-header nil + "A string to override the default header in `org-ql-block' agenda blocks.") + ;; For refreshing results buffers. (defvar org-ql-buffers-files) (defvar org-ql-query) @@ -408,12 +411,16 @@ Runs `org-occur-hook' after making the sparse tree." (defun org-ql-agenda-block (query) "Insert items for QUERY into current buffer. -QUERY should be an `org-ql' query form. Like other agenda block -commands, it searches files returned by function -`org-agenda-files'. Intended to be used as a user-defined -function in `org-agenda-custom-commands'. QUERY corresponds to -the `match' item in the custom command form. Inserts a newline -after the block." +QUERY should be an `org-ql' query form. Intended to be used as a +user-defined function in `org-agenda-custom-commands'. QUERY +corresponds to the `match' item in the custom command form. + +Like other agenda block commands, it searches files returned by +function `org-agenda-files'. Inserts a newline after the block. + +If `org-ql-block-header' is non-nil, it is used as the header +string for the block, otherwise a the header is formed +automatically from the query." (when-let* ((from (org-agenda-files nil 'ifmode)) (items (org-ql-select from query :action 'element-with-markers))) @@ -421,8 +428,8 @@ after the block." (org-agenda-prepare) ;; TODO: `org-agenda--insert-overriding-header' is from an Org version newer than ;; I'm using. Should probably declare it as a minimum Org version after upgrading. - ;; (org-agenda--insert-overriding-header (org-ql-agenda--header-line-format from query)) - (insert (org-add-props (org-ql-agenda--header-line-format from query) + ;; (org-agenda--insert-overriding-header (or org-ql-block-header (org-ql-agenda--header-line-format from query))) + (insert (org-add-props (or org-ql-block-header (org-ql-agenda--header-line-format from query)) nil 'face 'org-agenda-structure) "\n") ;; Calling `org-agenda-finalize' should be unnecessary, because in a "series" agenda, ;; `org-agenda-multi' is bound non-nil, in which case `org-agenda-finalize' does nothing. From 6aa3f1a341ea927f1f026efa133b2cfa7b3c6bda Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Sat, 7 Sep 2019 20:10:42 -0500 Subject: [PATCH 019/615] Notes: Add "In the Wild" --- notes.org | 94 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 94 insertions(+) diff --git a/notes.org b/notes.org index 3940ec1..4ef8ac6 100644 --- a/notes.org +++ b/notes.org @@ -771,6 +771,100 @@ Also, maybe instead of having a single =date= selector, I should have =scheduled :keymap helm-org-rifle-map)))) #+END_SRC +* In the wild + +** [[https://github.com/AloisJanicek/.doom.d-2nd][Alois Janicek]] + +*** [[https://github.com/AloisJanicek/.doom.d-2nd/commit/41ed1080f6f90463fc1f1d7e47cef9864756867c][further tweaking org-ql views · AloisJanicek/.doom.d-2nd@41ed108 · GitHub]] + +#+BEGIN_SRC elisp :eval never +;; Hydras +(defhydra gtd-agenda (:color blue + :body-pre + (if (aj/has-heading-p +INBOX) + (org-ql-search `(,+INBOX) "*" + :sort '(date)) + (org-ql-search (org-agenda-files) + '(todo "NEXT") + :sort '(date priority todo) + :groups '((:auto-category t)))) + ) + "agenda" + ("a" (org-ql-agenda (org-agenda-files) + (and (or (ts-active :on today) + (deadline auto) + (scheduled :to today)) + (not (done)))) "agenda") + + ("t" (org-ql-search (org-agenda-files) + '(todo "TODO") + :sort '(date priority todo) + :groups '((:auto-category t))) "todo") + + ("n" (org-ql-search (org-agenda-files) + '(todo "NEXT") + :sort '(date priority todo) + :groups '((:auto-category t))) "next") + + ("h" (org-ql-search (org-agenda-files) + '(todo "HOLD") + :sort '(date priority todo) + :groups '((:auto-category t))) "hold") + + ("s" (org-ql-search (org-agenda-files) + '(tags "someday") + :sort '(date priority todo) + :groups '((:auto-category t))) "someday") + + ("r" (org-ql-search (org-agenda-files) + '(ts :from -7 :to today) + :sort '(date priority todo) + :groups '((:auto-ts t))) "recent") + + ("i" (org-ql-search `(,+INBOX) "*" + :sort '(date)) "inbox") + ) +#+END_SRC + +** [[https://github.com/pestctrl/emacs-config][Benson Chu]] + +*** [[https://github.com/pestctrl/emacs-config/commit/fa3068003373a0c93e23c728b5dbad2d7c11e2e1][Experimental agenda view with org-ql · pestctrl/emacs-config@fa30680 · GitHub]] + +#+BEGIN_SRC elisp :eval never + ("f" "fastdev?" + ((org-ql-block '(tags "refile") + ((org-agenda-overriding-header "Refile tasks"))) + (tags-todo ,(concat dev-tag "/!" (mapconcat #'identity my/active-projects-and-tasks "|")) + ((org-agenda-overriding-header "Stuck Projects") + (org-agenda-skip-function 'my/dev-show-stuck-projects) + (org-tags-match-list-sublevels 'indented) + (org-agenda-sorting-strategy + '((agenda category-keep))))) + (tags-todo ,(concat dev-tag "-short" "/!" (mapconcat #'identity my/active-projects-and-tasks "|")) + ((org-agenda-overriding-header "Active Projects") + (org-agenda-skip-function 'my/dev-show-active-projects) + (org-tags-match-list-sublevels 'indented) + (org-agenda-sorting-strategy + '((agenda category-keep))))) + (org-ql-block '(and (tags "dev") + (todo "WAIT")) + ((org-agenda-overriding-header "Waiting tasks"))) + (org-ql-block '(and (tags "dev") + (todo "NEXT")) + ((org-agenda-overriding-header "Things to do"))) + (agenda "" + ((org-agenda-skip-function 'my/agenda-custom-skip) + (org-agenda-span 'day) + (org-agenda-tag-filter-preset (quote (,dev-tag))) + (org-agenda-skip-deadline-if-done t) + (org-agenda-skip-scheduled-if-done t) + (org-super-agenda-groups '((:name "Overdue" :and (:deadline past :log nil)) + (:name "Upcoming" :deadline future) + (:name "Should do" :and (:scheduled past :log nil)) + (:name "Today" :time-grid t + :and (:not (:and (:not (:scheduled today) + :not (:deadline today))))))))))) +#+END_SRC * Profiling ** Preambles From 7cdc134f0dfa45c0fd6ea8ed305994810a635fcf Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Sun, 8 Sep 2019 10:11:07 -0500 Subject: [PATCH 020/615] Notes: Add on section view --- notes.org | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/notes.org b/notes.org index 4ef8ac6..56b374c 100644 --- a/notes.org +++ b/notes.org @@ -383,10 +383,16 @@ This works okay (except the priority accessor needs to be fixed, because Org pri :action #'helm-org-goto-marker)))) #+END_SRC -** MAYBE Implement view with tabulated-list-mode or magit-section +** UNDERWAY Implement view with tabulated-list-mode or magit-section [2019-09-02 Mon 05:20] Especially with some of the new packages that make =tabulated-list-mode= easier to use, like =navigel=. However, it would probably break grouping, or require some kind of adapter or extension to do grouping, so I don't know if that would work. Something like =magit-section= would be more flexible, and could be recursively grouped, like in =magit-todos=. +[2019-09-08 Sun 10:06] Came up with a prototype yesterday, in branch =wip/view-section=. Seems to work pretty well. + +One of the things in that branch is =org-ql-item=, which is a struct used to carry data for query results. It seems to work well. + +Another idea for it is to simply store the element from =org-element-headline-parser= in one of its slots, and populate all of the other slots lazily, like =ts=. It already does that for a couple of slots, but I think it makes sense to do it for all of them, to reduce the overhead of making the struct for every query result. + *** TODO Experiment with =widget= The code that powers the customization UI. Has collapsible and customizable widgets. Might be perfect. Might even enable editing items in the list, with functions to make the changes in the source buffers. @@ -865,6 +871,7 @@ Also, maybe instead of having a single =date= selector, I should have =scheduled :and (:not (:and (:not (:scheduled today) :not (:deadline today))))))))))) #+END_SRC + * Profiling ** Preambles From 91771c41e63eed5732cb6ec80b50e38da0248d86 Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Mon, 9 Sep 2019 09:00:56 -0500 Subject: [PATCH 021/615] Meta: Update makem.sh, Makefile --- Makefile | 6 ------ makem.sh | 15 +++++++++------ 2 files changed, 9 insertions(+), 12 deletions(-) diff --git a/Makefile b/Makefile index 4883294..9be2568 100644 --- a/Makefile +++ b/Makefile @@ -13,11 +13,5 @@ endif # * Rules -# Unless/until I add Cask support to makem.sh, I'm keeping this, -# because Cask lets me run the tests with a different version of Org -# than I have installed personally. -cask: - @cask exec buttercup -L . - %: @./makem.sh $(VERBOSE) $(@) diff --git a/makem.sh b/makem.sh index e14da2d..f2d5f1c 100755 --- a/makem.sh +++ b/makem.sh @@ -272,6 +272,7 @@ function debug { function error { echo_color red "ERROR ($(ts)): $@" >&2 ((errors++)) + return 1 } function die { error "$@" @@ -353,7 +354,11 @@ function all { } function compile { + [[ $compile ]] || return 0 + unset compile # Only compile once. + verbose 1 "Compiling..." + debug "Byte-compile files: ${project_byte_compile_files[@]}" batch-byte-compile "${project_byte_compile_files[@]}" \ && success "Compiling finished without errors." \ @@ -409,6 +414,8 @@ function tests { } function test-buttercup { + compile || die "Compilation required for tests." + verbose 1 "Running Buttercup tests..." local buttercup_file="$(elisp-buttercup-file)" @@ -423,14 +430,10 @@ function test-buttercup { } function test-ert { - # Run ERT tests. - debug "Test files: ${project_test_files[@]}" - debug "Byte-compile files: ${project_byte_compile_files[@]}" - debug "Compile: $compile" - - [[ $compile ]] && compile + compile || die "Compilation required for tests." verbose 1 "Running ERT tests..." + debug "Test files: ${project_test_files[@]}" run_emacs \ $(load-files-args "${project_test_files[@]}") \ From 55694f17fce4dc566f533b0b5f8cd60c4dad9670 Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Mon, 9 Sep 2019 09:04:07 -0500 Subject: [PATCH 022/615] Fix: (descendants) matched against parent heading It matched against parent headings instead of only descendants, which caused some queries to return incorrect results. Released as 0.2.1. --- README.org | 5 +++++ org-ql.el | 3 ++- tests/test-org-ql.el | 8 +++++++- 3 files changed, 14 insertions(+), 2 deletions(-) diff --git a/README.org b/README.org index c95c81a..af8774b 100644 --- a/README.org +++ b/README.org @@ -441,6 +441,11 @@ Expands into a call to ~org-ql-select~ with the same arguments. For convenience /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.2.1 + +*Fixed* ++ =(descendants)= selector matched against parent heading instead of only descendants. + ** 0.2 :PROPERTIES: :ID: 67be09f9-e959-4333-9be2-93ad8f458fbe diff --git a/org-ql.el b/org-ql.el index 09272db..f2eb234 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.2 +;; Version: 0.2.1 ;; Package-Requires: ((emacs "26.1") (dash "2.13") (org "9.0") (s "1.12.0") (ts "0.2")) ;; Keywords: hypermedia, outlines, Org, agenda @@ -683,6 +683,7 @@ Or, when possible, fix the problem." (save-restriction (org-narrow-to-subtree) (when (org-goto-first-child) + (narrow-to-region (point) (point-max)) (catch 'found (org-ql-select (current-buffer) query diff --git a/tests/test-org-ql.el b/tests/test-org-ql.el index cb73fea..01ef3c5 100644 --- a/tests/test-org-ql.el +++ b/tests/test-org-ql.el @@ -251,7 +251,13 @@ RESULTS should be a list of strings as returned by '("Test data" "Recurring"))) (org-ql-it "with granddescendants query" (org-ql-expect ((descendants (descendants "moon"))) - '("Test data" "Take over the universe" "Take over the moon" "Code")))) + '("Test data" "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"))))) + '("Take over the moon")))) (describe "(clocked)" From 4e90ba47b0a5504e1fe13659bc14cc6885233e06 Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Mon, 9 Sep 2019 10:40:46 -0500 Subject: [PATCH 023/615] Meta: Update makem.sh --- makem.sh | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/makem.sh b/makem.sh index f2d5f1c..67a92db 100755 --- a/makem.sh +++ b/makem.sh @@ -275,7 +275,7 @@ function error { return 1 } function die { - error "$@" + [[ $@ ]] && error "$@" exit $errors } function log { @@ -362,7 +362,7 @@ function compile { batch-byte-compile "${project_byte_compile_files[@]}" \ && success "Compiling finished without errors." \ - || error "Compiling failed." + || error "Compilation failed." } function lint { @@ -414,7 +414,7 @@ function tests { } function test-buttercup { - compile || die "Compilation required for tests." + compile || die verbose 1 "Running Buttercup tests..." @@ -430,7 +430,7 @@ function test-buttercup { } function test-ert { - compile || die "Compilation required for tests." + compile || die verbose 1 "Running ERT tests..." debug "Test files: ${project_test_files[@]}" From f6bd02b35545ffb05063128c53f4d9dd40a10ef7 Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Mon, 9 Sep 2019 13:38:58 -0500 Subject: [PATCH 024/615] Comment: Tidy preamble function --- org-ql.el | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/org-ql.el b/org-ql.el index 84c9b1a..f6185c0 100644 --- a/org-ql.el +++ b/org-ql.el @@ -321,6 +321,7 @@ Replaces bare strings with (regexp) selectors, and appropriate (ts-adjust 'day num-days) (ts-apply :hour 23 :minute 59 :second 59)))) `(,pred :to ,to))) + ;; Priorities (`(priority) ;; Match any defined priority by comparing to C. ;; Note that we quote the comparator again for consistency. @@ -446,6 +447,7 @@ replace the clause with a preamble." (setq org-ql-preamble (rx-to-string `(seq bol (0+ space) ":STYLE:" (1+ space) "habit" (0+ space) eol))) nil) + ;; Heading levels. (`(level ,comparator-or-num ,num) (let ((repeat (pcase comparator-or-num ('< `(repeat 1 ,(1- num) "*")) @@ -459,6 +461,8 @@ replace the clause with a preamble." (`(level ,num) (setq org-ql-preamble (rx-to-string `(seq bol (repeat ,num "*") " ") t)) nil) + + ;; Planning lines. (`(planning . ,_) (setq org-ql-preamble org-ql-planning-regexp) ;; Return element, because the predicate still needs testing. From 2f9a7ab6b7eb7040dfc509ece316a138fab379ad Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Mon, 9 Sep 2019 13:40:56 -0500 Subject: [PATCH 025/615] Change: (heading) Match all regexps This makes more sense and should be more useful. --- README.org | 4 ++-- org-ql.el | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/README.org b/README.org index 6b60846..43b7239 100644 --- a/README.org +++ b/README.org @@ -211,7 +211,7 @@ Arguments are listed next to predicate names, where applicable. + ~descendants (&optional query)~ :: Return non-nil if current heading has descendant headings. If ~QUERY~, test it against descendant headings. This selector may be nested (if you can grok the nesting!). + ~done~ :: Return non-nil if entry's ~TODO~ keyword is in ~org-done-keywords~. + ~habit~ :: Return non-nil if entry is a habit. -+ ~heading (&rest regexps)~ :: Return non-nil if current entry's heading matches any of ~REGEXPS~ (regexp strings). ++ ~heading (&rest regexps)~ :: Return non-nil if current entry's heading matches all ~REGEXPS~ (regexp strings). + ~level (level-or-comparator &optional level)~ :: Return non-nil if current heading's outline level matches arguments. The following forms are accepted: ~(level NUMBER)~: Matches if heading level is ~NUMBER~. ~(level NUMBER NUMBER)~: Matches if heading level is equal to or between NUMBERs. ~(level COMPARATOR NUMBER)~: Matches if heading level compares to ~NUMBER~ with ~COMPARATOR~. ~COMPARATOR~ may be ~<~, ~<=~, ~>~, or ~>=~. + ~priority (&optional comparator-or-priority priority)~ :: Return non-nil if current heading has a certain priority. ~COMPARATOR-OR-PRIORITY~ should be either a comparator function, like ~<=~, or a priority string, like "A" (in which case (~=~ will be the comparator). If ~COMPARATOR-OR-PRIORITY~ is a comparator, ~PRIORITY~ should be a priority string. If both arguments are nil, return non-nil if heading has any defined priority. + ~property (property &optional value)~ :: Return non-nil if current entry has ~PROPERTY~ (a string), and optionally ~VALUE~ (a string). Note that property inheritance is currently /not/ enabled for this predicate. If you need to test with inheritance, you could use a custom predicate form, like ~(org-entry-get (point) "PROPERTY" 'inherit)~. @@ -470,7 +470,7 @@ Expands into a call to ~org-ql-select~ with the same arguments. For convenience + Variable =org-ql-block-header=, which overrides the default header in =org-ql-block= agenda blocks. *Changed* -+ Predicate =heading= now accepts multiple regexps. ++ Predicate =heading= now accepts multiple regexps, which are matched with boolean =AND=. ** 0.2.1 diff --git a/org-ql.el b/org-ql.el index f6185c0..85d33c9 100644 --- a/org-ql.el +++ b/org-ql.el @@ -903,10 +903,10 @@ priority." (re-search-forward regexp end t)))))) (org-ql--defpred heading (&rest regexps) - "Return non-nil if current entry's heading matches any of REGEXPS (regexp strings)." + "Return non-nil if current entry's heading matches all REGEXPS (regexp strings)." ;; TODO: In Org 9.2+, `org-get-heading' takes 2 more arguments. (let ((heading (org-get-heading 'no-tags 'no-todo))) - (--any (string-match it heading) regexps))) + (--all? (string-match it heading) regexps))) (org-ql--defpred property (property &optional value) "Return non-nil if current entry has PROPERTY (a string), and optionally VALUE (a string)." From 29c3cdd3606c2da627f62a16a151e46cba3c590f Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Mon, 9 Sep 2019 13:41:31 -0500 Subject: [PATCH 026/615] Add: (heading) Preambles --- org-ql.el | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/org-ql.el b/org-ql.el index 85d33c9..e4a3ff7 100644 --- a/org-ql.el +++ b/org-ql.el @@ -447,6 +447,22 @@ replace the clause with a preamble." (setq org-ql-preamble (rx-to-string `(seq bol (0+ space) ":STYLE:" (1+ space) "habit" (0+ space) eol))) nil) + + ;; Heading text. + (`(heading ,regexp) + ;; Only one regexp: match with preamble only. + (setq org-ql-preamble (rx-to-string `(seq bol (1+ "*") (1+ blank) (0+ nonl) + ,regexp) + 'no-group)) + nil) + (`(heading . ,regexps) + ;; Multiple regexps: use preamble to match against first + ;; regexp, then let the predicate match the rest. + (setq org-ql-preamble (rx-to-string `(seq bol (1+ "*") (1+ blank) (0+ nonl) + ,(car regexps)) + 'no-group)) + element) + ;; Heading levels. (`(level ,comparator-or-num ,num) (let ((repeat (pcase comparator-or-num From ea2ed02c84645262292b12dbdb5e471f3cd895a3 Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Mon, 9 Sep 2019 14:00:05 -0500 Subject: [PATCH 027/615] Add: (path) predicate --- README.org | 2 ++ org-ql.el | 9 +++++++++ tests/test-org-ql.el | 14 ++++++++++++++ 3 files changed, 25 insertions(+) diff --git a/README.org b/README.org index 43b7239..00fe0b0 100644 --- a/README.org +++ b/README.org @@ -213,6 +213,7 @@ Arguments are listed next to predicate names, where applicable. + ~habit~ :: Return non-nil if entry is a habit. + ~heading (&rest regexps)~ :: Return non-nil if current entry's heading matches all ~REGEXPS~ (regexp strings). + ~level (level-or-comparator &optional level)~ :: Return non-nil if current heading's outline level matches arguments. The following forms are accepted: ~(level NUMBER)~: Matches if heading level is ~NUMBER~. ~(level NUMBER NUMBER)~: Matches if heading level is equal to or between NUMBERs. ~(level COMPARATOR NUMBER)~: Matches if heading level compares to ~NUMBER~ with ~COMPARATOR~. ~COMPARATOR~ may be ~<~, ~<=~, ~>~, or ~>=~. ++ =path (&rest regexps)= :: Return non-nil if current heading's buffer's filename path matches any of =REGEXPS= (regexp strings). Without arguments, return non-nil if buffer is file-backed. + ~priority (&optional comparator-or-priority priority)~ :: Return non-nil if current heading has a certain priority. ~COMPARATOR-OR-PRIORITY~ should be either a comparator function, like ~<=~, or a priority string, like "A" (in which case (~=~ will be the comparator). If ~COMPARATOR-OR-PRIORITY~ is a comparator, ~PRIORITY~ should be a priority string. If both arguments are nil, return non-nil if heading has any defined priority. + ~property (property &optional value)~ :: Return non-nil if current entry has ~PROPERTY~ (a string), and optionally ~VALUE~ (a string). Note that property inheritance is currently /not/ enabled for this predicate. If you need to test with inheritance, you could use a custom predicate form, like ~(org-entry-get (point) "PROPERTY" 'inherit)~. + ~regexp (regexp)~ :: Return non-nil if current entry matches ~REGEXP~ (a regexp string). Matches against entire entry, from beginning of its heading to the next heading. @@ -468,6 +469,7 @@ Expands into a call to ~org-ql-select~ with the same arguments. For convenience - For heading-local tags: =tags-local=, =local-tags=, =tags-l=, =ltags=. - =tags-all=, =tags&=: Matches all given tags using boolean =AND= (rather than boolean =OR=, which the =tags= predicate uses). + Variable =org-ql-block-header=, which overrides the default header in =org-ql-block= agenda blocks. ++ Predicate =(path)=. *Changed* + Predicate =heading= now accepts multiple regexps, which are matched with boolean =AND=. diff --git a/org-ql.el b/org-ql.el index e4a3ff7..d8accdc 100644 --- a/org-ql.el +++ b/org-ql.el @@ -783,6 +783,15 @@ Or, when possible, fix the problem." (null t) (otherwise (member category categories))))) +(org-ql--defpred path (&rest regexps) + "Return non-nil if current heading's buffer's filename path matches any of REGEXPS (regexp strings). +Without arguments, return non-nil if buffer is file-backed." + (when (buffer-file-name) + (cl-typecase regexps + (null t) + (list (cl-loop for regexp in regexps + thereis (string-match regexp (buffer-file-name))))))) + (org-ql--defpred todo (&rest keywords) "Return non-nil if current heading is a TODO item. With KEYWORDS, return non-nil if its keyword is one of KEYWORDS (a list of strings)." diff --git a/tests/test-org-ql.el b/tests/test-org-ql.el index 6d337b8..f0d0286 100644 --- a/tests/test-org-ql.el +++ b/tests/test-org-ql.el @@ -411,6 +411,20 @@ RESULTS should be a list of strings as returned by (org-ql-expect ((habit)) '("Practice leaping tall buildings in a single bound"))) + (describe "(path)" + (org-ql-it "without arguments" + (org-ql-expect ((path)) + '("Test 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" "Code" "Agenda examining" "Agenda censoring" "Auto grouping" "Auto categories" "Date" "Effort" "Misc" "let-plist" "Profiling"))) + (org-ql-it "with one argument" + (org-ql-expect ((path "data")) + '("Test 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" "Code" "Agenda examining" "Agenda censoring" "Auto grouping" "Auto categories" "Date" "Effort" "Misc" "let-plist" "Profiling"))) + (org-ql-it "with two matching arguments" + (org-ql-expect ((path "data" "tests")) + '("Test 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" "Code" "Agenda examining" "Agenda censoring" "Auto grouping" "Auto categories" "Date" "Effort" "Misc" "let-plist" "Profiling"))) + (org-ql-it "with two arguments, one matching" + (org-ql-expect ((path "data" "nope")) + '("Test 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" "Code" "Agenda examining" "Agenda censoring" "Auto grouping" "Auto categories" "Date" "Effort" "Misc" "let-plist" "Profiling")))) + (describe "(planning)" (org-ql-it "without arguments" From 21d0fadecf4c37cb5d2ead029066b301ecb892ca Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Mon, 9 Sep 2019 14:32:01 -0500 Subject: [PATCH 028/615] Fix: Require org-element I don't know if this is actually required, but it should silence a compiler warning. --- org-ql.el | 1 + 1 file changed, 1 insertion(+) diff --git a/org-ql.el b/org-ql.el index d8accdc..ed39db3 100644 --- a/org-ql.el +++ b/org-ql.el @@ -35,6 +35,7 @@ (require 'cl-lib) (require 'org) +(require 'org-element) (require 'org-habit) (require 'seq) (require 'subr-x) From 1ff21dc0c8f73c44ce35784d80872b4f5a98ad1e Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Mon, 9 Sep 2019 14:37:14 -0500 Subject: [PATCH 029/615] Fix: (org-ql--get-tags) For Org 9.2 org-get-tags takes no arguments. --- org-ql.el | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/org-ql.el b/org-ql.el index ed39db3..11c1552 100644 --- a/org-ql.el +++ b/org-ql.el @@ -50,8 +50,9 @@ (defalias 'org-timestamp-to-time #'org-timestamp--to-internal-time) (defun org-ql--get-tags (&optional pos local) (org-get-tags-at pos local))) - (defun org-ql--get-tags (&optional pos local) - (org-get-tags pos local))) + (defun org-ql--get-tags (&rest _ignore) + "Call `org-get-tags', ignoring arguments." + (org-get-tags))) ;;;; Constants From 622f0e6d5e0652a6e970f50cd8c2f244aa732171 Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Mon, 9 Sep 2019 17:10:46 -0500 Subject: [PATCH 030/615] Add: helm-org-ql Squashed commit of the following: commit f4c2ce37199eb6eab5038e6bdadf5d57f8d88cd3 Author: Adam Porter Date: Mon Sep 9 16:56:04 2019 -0500 Docs: Add about helm-org-ql C-x C-s commit 845a205f7b17904cb9f8e379dc172787cdd16018 Author: Adam Porter Date: Mon Sep 9 16:25:46 2019 -0500 WIP: Update docs and add screenshot commit d8aa8a50169d3ecdee4d85a0f7cd6e1dc26e420e Author: Adam Porter Date: Mon Sep 9 16:25:18 2019 -0500 WIP: Ignore all query errors Partially typed queries might cause parsing errors. commit 782a830a5fb7d77ea2eba3553f46cc4dcac98708 Author: Adam Porter Date: Mon Sep 9 16:24:57 2019 -0500 WIP: (deadline) and (priority) commit d32e3e33f97dfa7593f4376c08eb31b0ccb980a2 Author: Adam Porter Date: Mon Sep 9 14:26:54 2019 -0500 WIP: Compatibility Trying to make it install and run cleanly even when Helm isn't installed. commit 4bd9943f86ef543903e10f3b58b26c0eb366d869 Author: Adam Porter Date: Mon Sep 9 13:47:41 2019 -0500 Add: (helm-org-ql-org-directory) commit d9a04e142ae68f83201c311fa84a46fa8f4e0ce0 Author: Adam Porter Date: Mon Sep 2 12:23:51 2019 -0500 WIP: Add helm-org-ql.el --- README.org | 17 ++- helm-org-ql.el | 249 +++++++++++++++++++++++++++++++++++++++++ images/helm-org-ql.gif | Bin 0 -> 1329711 bytes notes.org | 40 ------- 4 files changed, 264 insertions(+), 42 deletions(-) create mode 100644 helm-org-ql.el create mode 100644 images/helm-org-ql.gif diff --git a/README.org b/README.org index 00fe0b0..180bf2c 100644 --- a/README.org +++ b/README.org @@ -6,7 +6,7 @@ [[https://melpa.org/#/org-ql][file:https://melpa.org/packages/org-ql-badge.svg]] [[https://stable.melpa.org/#/org-ql][file:https://stable.melpa.org/packages/org-ql-badge.svg]] -~org-ql~ is a lispy query language for Org files. It allows you to find Org entries matching certain criteria and return a list of them or perform actions on them. Commands are also provided which display a buffer with matching results, similar to an Org Agenda buffer. +~org-ql~ is a lispy query language for Org files. It allows you to find Org entries matching certain criteria and return a list of them or perform actions on them. Commands are also provided which display matching results. * Contents :PROPERTIES: @@ -120,7 +120,7 @@ Installing with [[https://framagit.org/steckerhalter/quelpa][Quelpa]] is easy: The functionality provided may be grouped by: -+ *Interactive commands:* ~org-ql-search~, ~org-ql-view~, =org-ql-sparse-tree=. ++ *Interactive commands:* ~org-ql-search~, ~org-ql-view~, =org-ql-sparse-tree=, =helm-org-ql=. + *Non-interactive functions and macros:* - ~org-ql~ (macro) - ~org-ql-select~ (function) @@ -137,6 +137,8 @@ Alternatively, they may be grouped by: - ~org-ql-agenda~ (macro) + *Showing a tree in a buffer:* - =org-ql-sparse-tree= (command) ++ *Showing results with Helm*: + - =helm-org-ql= (command) + *Returning a list of matches or acting on them:* - ~org-ql~ (macro) - ~org-ql-select~ (function) @@ -177,6 +179,16 @@ Here's an example of using it to generate an agenda-like view for certain files [[images/org-ql-search-snippet.png]] +*** helm-org-ql + +This command displays matches with Helm. *Note:* Helm is not a package dependency, so this command only works if the package =helm-org= is installed. + +Note also that queries in this command are specially handled so that quotes around strings may be omitted for ease of typing. + ++ Press =C-x C-s= in the Helm session to save the results to an =org-ql-search= buffer. + +[[images/helm-org-ql.gif]] + *** org-ql-view Choose and display a view stored in ~org-ql-views~. @@ -462,6 +474,7 @@ Expands into a call to ~org-ql-select~ with the same arguments. For convenience ** 0.3-pre *Added* ++ Command =helm-org-ql=. + Command =org-ql-sparse-tree=, like =org-sparse-tree= for =org-ql= queries. (Thanks to [[https://github.com/akirak][Akira Komamura]].) + Per-buffer, per-heading tag caching, which increases the speed of tags-related queries by 6-7x. + More tags-related predicates and aliases: diff --git a/helm-org-ql.el b/helm-org-ql.el new file mode 100644 index 0000000..d83c0a6 --- /dev/null +++ b/helm-org-ql.el @@ -0,0 +1,249 @@ +;;; helm-org-ql.el --- Helm commands for org-ql -*- lexical-binding: t; -*- + +;; Author: Adam Porter +;; URL: https://github.com/alphapapa/org-ql + +;;; Commentary: + +;; This library includes Helm commands for `org-ql'. Note that Helm +;; is not declared as a package dependency, so this does not cause +;; Helm to be installed. In the future, this file may have its own +;; package recipe, which would allow it to be installed separately and +;; declare a dependency on Helm. + +;;; License: + +;; This program is free software; you can redistribute it and/or modify +;; it under the terms of the GNU General Public License as published by +;; the Free Software Foundation, either version 3 of the License, or +;; (at your option) any later version. + +;; This program is distributed in the hope that it will be useful, +;; but WITHOUT ANY WARRANTY; without even the implied warranty of +;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;; GNU General Public License for more details. + +;; You should have received a copy of the GNU General Public License +;; along with this program. If not, see . + +;;; Code: + +;;;; Requirements + +(require 'org) + +(require 'org-ql) + +;; (require 'helm) +;; (require 'helm-org) + +;;;; Compatibility + +;; Declare Helm functions since Helm may not be installed. +(declare-function helm "ext:helm") +(declare-function helm-run-after-exit "ext:helm") +(declare-function helm-buffer-get "ext:helm-lib") +(declare-function helm-make-source "ext:helm-source") +(declare-function helm-org-goto-marker "ext:helm-org") + +;; Silence byte-compiler about variables. +(defvar helm-map) +(defvar helm-pattern) +(defvar helm-input-idle-delay) + +;;;; Variables + +(defvar helm-org-ql-map + (let ((map (copy-keymap helm-map)) + (mappings '( + "C-x C-s" helm-org-ql-save + ))) + (cl-loop for (key fn) on mappings by #'cddr + do (define-key map (kbd key) fn)) + map) + "Keymap for `helm-org-ql' sessions. +Based on `helm-map'.") + +(defvar-local helm-org-ql-buffers-files nil + "Used for `helm-org-ql-save'.") + +;;;; Customization + +(defgroup helm-org-ql nil + "Options for `helm-org-ql'." + :group 'org-ql) + +(defcustom helm-org-ql-reverse-paths t + "Whether to reverse Org outline paths in `helm-org-ql' results." + :type 'boolean) + +(defcustom helm-org-ql-input-idle-delay 0.25 + "Seconds to wait after typing stops before running query." + :type 'number) + +(defcustom helm-org-ql-actions + (list (cons "Show heading in source buffer" 'helm-org-ql-show-marker) + (cons "Show heading in indirect buffer" 'helm-org-ql-show-marker-indirect)) + "Alist of actions for `helm-org-ql' commands." + :type '(alist :key-type (string :tag "Description") + :value-type (function :tag "Command"))) + +;;;; Commands + +;;;###autoload +(cl-defun helm-org-ql (buffers-files &optional (no-and current-prefix-arg)) + "Display results in BUFFERS-FILES for an `org-ql' query using Helm. +Interactively, search the current buffer. + +NOTE: Atoms in the query are turned into strings where +appropriate, which makes it unnecessary to type quotation marks +around words that are intended to be searched for as indepenent +strings. + +Also, unless NO-AND is non-nil (interactively, with prefix), all +query tokens are wrapped in an implied (and) form. This is +because a query must be a sexp, so when typing multiple clauses, +either (and) or (or) would be required around them, and (and) is +typically more useful, because it narrows down results. + +For example, this raw input: + + Emacs git + +Is transformed into this query: + + (and \"Emacs\" \"git\") + +However, quoted strings remain quoted, so this input: + + \"something else\" (tags \"funny\") + +Is transformed into this query: + + (and \"something else\" (tags \"funny\"))" + (interactive (list (current-buffer))) + (let ((helm-input-idle-delay helm-org-ql-input-idle-delay)) + (helm :prompt (format "Query (boolean %s): " (if no-and + "OR" + "AND")) + :sources + ;; Expansion of `helm-build-sync-source' macro. + (helm-make-source "helm-org-ql-agenda-files" 'helm-source-sync + :candidates #'(lambda nil + (let* ((query (helm-org-ql--input-to-query helm-pattern no-and)) + (window-width (window-width (helm-window)))) + (when query + (with-current-buffer (helm-buffer-get) + (setq helm-org-ql-buffers-files buffers-files)) + (ignore-errors + ;; Ignore errors that might be caused by partially typed queries. + (org-ql-select buffers-files query + :action (list 'helm-org-ql--heading window-width)))))) + :match #'identity + :fuzzy-match nil + :multimatch nil + :volatile t + :keymap helm-org-ql-map + :action helm-org-ql-actions)))) + +;;;###autoload +(defun helm-org-ql-agenda-files () + "Search agenda files with `helm-org-ql', which see." + (interactive) + (helm-org-ql (org-agenda-files))) + +;;;###autoload +(defun helm-org-ql-org-directory () + "Search Org files in `org-directory' with `helm-org-ql'." + (interactive) + (helm-org-ql (directory-files org-directory 'full + (rx ".org" eos)))) + +(defun helm-org-ql-show-marker (marker) + "Show heading at MARKER." + (interactive) + ;; This function is necessary because `helm-org-goto-marker' calls + ;; `re-search-backward' to go backward to the start of a heading, + ;; which, when the marker is already at the desired heading, causes + ;; it to go to the previous heading. I don't know why it does that. + (switch-to-buffer (marker-buffer marker)) + (goto-char marker) + (org-show-entry)) + +(defun helm-org-ql-show-marker-indirect (marker) + "Show heading at MARKER with `org-tree-to-indirect-buffer'." + (interactive) + (helm-org-ql-show-marker marker) + (org-tree-to-indirect-buffer)) + +(defun helm-org-ql-save () + "Show `helm-org-ql' search in an `org-ql-search' buffer." + (interactive) + (let ((buffers-files (with-current-buffer (helm-buffer-get) + helm-org-ql-buffers-files)) + (query (helm-org-ql--input-to-query helm-pattern))) + (helm-run-after-exit #'org-ql-search buffers-files query))) + +;;;; Functions + +(defun helm-org-ql--input-to-query (input &optional no-and) + "Return `org-ql' query sexp for string INPUT. +Unless NO-AND is non-nil (interactively, with prefix), all query +tokens are wrapped in an implied (and) form, and plain +symbols (except at the beginning of a sexp) are replaced with +strings." + (unless (s-blank-str? input) + (setf input (format "(%s %s)" (if no-and "or" "and") input)) + (when-let* ((query (ignore-errors + ;; Ignore errors in case input is an + ;; incomplete string or sexp. + (read input)))) + (cl-labels ((rec (form) + ;; Replace some symbols with strings so users don't + ;; have to type quotation marks around all strings. + ;; Not perfect, but should be more useful. + (pcase-exhaustive form + ((pred stringp) form) + (`(deadline auto) form) + ((or '> '>= '< '<= '=) + ;; Comparators, probably for (priority). + form) + ((guard (string-match (rx bos ":" (1+ anything) ":" eos) + (prin1-to-string form))) + ;; An Org tag, not a Lisp keyword. + (prin1-to-string form)) + ((pred keywordp) form) + ((pred numberp) form) + ((guard (string-prefix-p "!" (prin1-to-string form))) + ;; Negation of a string. + `(not ,(substring (prin1-to-string form) 1))) + ((pred atom) (prin1-to-string form)) + ((pred listp) `(,(car form) + ,@(mapcar #'rec (cdr form))))))) + (rec query))))) + +(defun helm-org-ql--heading (window-width) + "Return string for Helm for heading at point. +WINDOW-WIDTH should be the width of the Helm window." + (font-lock-ensure (point-at-bol) (point-at-eol)) + ;; TODO: It would be better to avoid calculating the prefix and width + ;; at each heading, but there's no easy way to do that once in each + ;; buffer, unless we manually called `org-ql' in each buffer, which + ;; I'd prefer not to do. Maybe I should add a feature to `org-ql' to + ;; call a setup function in a buffer before running queries. + (let* ((prefix (concat (buffer-name) ":")) + (width (- window-width (length prefix))) + (path (org-split-string (org-format-outline-path (org-get-outline-path) + width nil "") + "")) + (heading (org-get-heading t)) + (path (if helm-org-ql-reverse-paths + (concat heading "\\" (s-join "\\" (nreverse path))) + (concat (s-join "/" path) "/" heading)))) + (cons (concat prefix path) (point-marker)))) + +;;;; Footer + +(provide 'helm-org-ql) + +;;; helm-org-ql.el ends here diff --git a/images/helm-org-ql.gif b/images/helm-org-ql.gif new file mode 100644 index 0000000000000000000000000000000000000000..16b5f3435c675d739625a9008197902c0845d2e5 GIT binary patch literal 1329711 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

!a`vkUWcIa%c0_jg)R|M!=M{fuMx>li2Q7kSp+ zp`*0Es>f#mi%@CTcS{$63Gv!X<-L0D|GpXTdUgKKg^Yp?Vjo-=upGMc<>7oGUHN@F z40mtJvhmIP^3~z9Vf@#FVlEeCIes1a*4oT`;wY~ItCUZ(TEd~!2nIzFXMvCdkIv3l z`_t6x;KFk*f!FN_-?ss^gdcVDJUXJW=f3O( zIl;141-XU4p59lqQ(Pe~ek$cNC`&I3oZI+Ff5#%%6HMwV4VraLx;#n0Pco@FB)fz>HnnRp zD^hl;Sj?!Rr26i@>lgWq4CRlxN~&dkPgk~>$W7I7a}i+q-}JO{vANnArJ8u1f65M% zINsMZ8bq-ePEwGvbCDK$%u%-BtL78&3oZgRP8JRh{Co*a%N}VaCC9ZaV%1@KmYb}Z zk)q-CNUJWz!|s5G)*>C7WbII;|FKHeS&Qs4nAAfU{MrsH&SP;~#;!Q;h}Wv5fIJny z5+%U}$qs5ugTh)FGnxt(2;R+gWRh9pJS&02FW&jw!=gC}{yr(LyW9k(98k?^EejiB8i5h2~sIy>gK&<$tPPlDtTSukoTI zE{E>PzPKm2FP_JagZG|X#ga#{6Yggp;?6B<$-O7x1PcJUWo+V$R=gIu<;D1}Svb5zsdpPc=MjiZn&he3KK9BOfud?q|=IF{b zR7i|Oq_HvHJx7T;T{k2xJ)uDs3hWM1sP_=smQCZFPpr!~~O9jT3K$&XUX@K_Wp z)Tqd({&wr>noIMfUo7`)N^WgZZg@BEd8T@M*^2f$jgGbz9eo;|(^hoO)96~ZqHCQ- z_qG+?`!srvt>`(Y(R*!0?>&vaXDj;NY4m?v(f?0l0^7<7e3}!*R!)@DoTRpLlHPyK z$!04j+i6a5TRFu~b86Visd1Xq(pFB()0|$ma(bQSjJB0C`ZQ-wTRC%{=B#BaXZ>5j z=;FX>4J!IU%z!GqD-ZxF3zb|L;tE=z(|Eo}>18mF~zUFPgl4NMpUV_Z8#3RZDJZ zhWaq9u3NQcS^N9mr0YkEoJI@Y=ji(wo7#vwG zSk@eB5D7UT=E1;~z{nxd!1ZAj_lcLT6%4!_#~C#ogm?~$>^Q*vr;#J#fZz@Wu003V zv%TIR_Ijh&|Hhq*R`1Hv-sLxsP383_A;k?`+8d=-@7vd~E3<(`Jx)P+z`{DIGHBZ(v4a_D76aV^m+ZOo<|~=}Kfo>0_+nSXawqpWs~q?o9Ol@qV%2%;sB%z9OEWK_V(GkgU_6pDh{0M(|*yFCpckU!;yyVR(elf9e#W7z{kG4 zmy6y$34Ql;-_3_jnQQa(m_!^O+v)kayt^iMWbUIDX%$EAH4V>-)~$AG`D~WH+u}99 ziX-ol1H3NpcW5=Xv}FH`I-u^BfAYn3nQ<5@li_L^>)%O7RB zKTImq_cPEx@oClePY&F37`Qle-M*|=_`Qn3$AM?h0nQT#&c7-+rc|V8>^R@-z-+ho z90rWa)<)}?HYo^ya&^()u**Sw&H)+eP4biHsPh{M^%Q9qH^`Q3WHvu|Sjk9WO40gx z3>(y>D#ye6!tq zW7EmvXXom>+>tr3M%7+?%iP*KJ_=hL^-H{b&O7k1=&(3Cam->6xaA~q%f*=Gq~;c{ zni#GSC)<`1kMqqFcO251P~s5jpc=vGzv7^l%Aq+%CjC{e4$u9C7)&B(utuF}Ezb;( z`A`yDb3MUiYTO6cgF769ZaQ^WY*FlRHn`$!)X|(0*W$UjL}g`(ZGj`#14r8fTYQ9H ze$?R)mpNd!g3;;#gM`Vemk+0?GdlZsx<~g19a`gF-Qlq0A&dA1@!*9mj60me7Q2KV zH)%>JHEK9$U9vTyerxX}@118ZIrAI{Za48>enidFbMh8b4d2d~djKjgv2jw^%Li0bewyg3CS{t0r);Jld zymbt5(puA`DO0Y*!kBgYTh?ro0&a62p9ae{O}WNQ4%%j&UEayo+t_8wJXSY7bZYr> z$NTFQ@5wXDzs)%w^wm4a^N`&V@wm;GGK5_-?Z0VFI4r{PojGKy;+jKOnj8%x4vMfi z8_8&=2=6FRKOi}$glmVhr9g9o@Q%jU4W7%JELgUOE_YW|Ih@$;XrOY4;mP+pb?5r^ zOl{c}&Fzjtdk!~dmv^^){kXz0rF)C0fO+Nq(_c=UPF=j+e8qP24FBNP^FI_!H5dG! zq^(sF|KGImKu6-{EuPVgU5m4tl~*ZFVeT{kVPjL#(tp5uMU!+*rEtj3zX>}%4}am1 zIGB^}(k|_2Y2ei1-Z*(b^OXH1k5}yU>_2R`qme_!tfyJSSDC+rhoQpxYu5cM^Ha&+H7e%5!JOiMmeU+ftF{99Ob zqu`t^3_VpIvv;mu+~TF)ET__#sO}^ZQf^yO#l&Lfk`P^R{ji0`wfW~)Oz-~Et^CXR z&y?~B$NQ|S19(ea1f~YgonDi?dkOE0qC4db89O;1IL>{&tNXP>^X6vh07hkrb<^xC zv=n@rum5*mIlp?>dg~4MUE6=Vu4~@C#Cini^9$zS=d1a0l$Cv#D)(_P8J<_*(Y`*WYz1HA*Jw|ljG->da@uebjTxBlYn zUgE}o%h}x4X~xmZni2X>g@Tv3yjTBH&&sg;?%vnmSKO2T@7mxxKhni-y=&AO)+6hW z`a9PjJv}M#3V%v~cW#bbijQ0Bob{|5*mxvaOGWLQ-niwfu>LZ(xpnf#r;gI9fcDY^ z_UQemH!~mZJ6_6M+r+`hGM9l-=R}Z+K;ofBR(`e_3<|H0q)Faq)O+r_x znBp-}*>jpnrBJHZRPD%ZB|n9hc`&D`9Q!h3(ebV+7Ny(fL|#t2Fomr{$|2&)3x_3M zD`hs`$mU$qC-1GvY-TXU$dS=R^K;nO|5`WJMDMQpJi{Ku zc{D`tC}PfNSfTDA&@WoOvO46)j!8xX4a%&(658Fk5_mz}eZB<=_5Dmb_@O z5UzN((|Eb}rA5xlzOSNQ2ALMvcV;XIJb9%vfmy;~v1x08>g)dg z{;6%lu+*e!(uNiXeHIDFPDWir16E(1MkX$1-WyC^Zek*e3|!oEUhTgWB+w?rty{T> zljW|#!AWjn86OUE@CrQRZdvgm$w|XZ=7mX%l?=y!M^@e=hFcjTS}q)r%fC`^kl$Hl z!jZ8IC>5I>dWOSkPZJ|_}l@!pDu`9Sf1y^aQ@d|h*slP@M~ zhy}abocM95FkwfXLB*Xu+kX}Iygn64^K1E>HYhV!F*te{PikQ4Vt1IU#liTmn(4W^ z*pAL?EdnMtn0SH{k4=0rW1-sHXLG{eNTyt4i(uC0 zxfYkxoz$ljs@qRCD4Z!^;am~Q=EyurbmIb^na-i7o?WbFF1f}KY+9}tz4g~GDxc!-mgqWR)vWNe|5Ma< zW&QhEul{NEY5wJ>kG}ggCo0`Fao_gaO(s=89~#(8T-)@aTOeS$xW3Lc-wrdvCdjI>_*HWMAoTOGMw=-PPW{Py;RLzRr_2mYK-LHkp z{{L46c1f5l5U@QM>@Rgt)_e++w;9u9rQ6B!@fIf?*%DaVeU?n-`so(FPiWf4DNpN+ zEWGFIUYfS^%2U0{o8JGf1WiBi<*7kuq))P(@XV7T&x~f?^hvi9o^^4`Gn18(zS(iY zvu|E`X13gu)k|Q7VD!glin@ZzAx??)k9{tNH9gl6i522Jv>}vX#Rt|>p%ZhoIGuP8 zT|A#(;v%NX!LFXrAi%BDB*CodYXAFWXJ(Dc0%qM6tab+jlnQhdf2X{#Z&nUys!Cx} z<(S~?#n3TfNrK2PjZU|}oq>7#M3(LJkG_Cg8Ma&{@1q>VsUzr%;aAxt(GO!QlJu|7=tmEGfkm;!)uo-vyHwiV%)jO z^={yW==g8PuElK7b!FZ6e_|Bloy5gT9tYJe1pDkyn5zm;c(3I3o4amZdC2Kpy%Nhi z4=;FJ=MUL%QL$8L4fmzuO?_Vvmr1{f5Xf1*LRl?fYk|eY&;ODRb53Mc7kY62^E2}; zA6WDH1Rp*2zu_co!{;C%HZgv}n;pkr|J~?*2f--)X#VIl-sj!U)HnO z#-6I7CKtfvMia;(jBZUi`XW46tQ~nrZID8?syV;WRbbg z#W0;D31JQvg)M8C6%}W2Z0q~HuJY`p|3{h@Y>fDVW-qXxF==azIyB7H;??8QGvBv!fr8HlyWKf z2t_(1X!WVNtVv&+s`4P}`d+ag2Rt_gYbY$-&>7o!usUm3!PA-U-W$@p4u?LT@MGr6 z@*gXzLtovT#qv{Q&fWYxYreczt((dd?^&GOnN-voQMzX70~W(IR)H6*B83z5I@1sD z>InZl``W`52j$(o3Kq-%U3Nc4-F9l+0=W$Rh*vz%m(R-MJhxYP%Ev7ayWd2Xey?3M z)%v+h^Iy$|j=B;Sx!et2%WZik&e^-*YTQqkNj~2S{`?nyC(oJbRL$Mtk#C~UQ&zCo zeN#er7sItp%S_do`bv)5%YB+S{m&E4_{!7qa-U~j|MSf9e&zXkxi1UF|Gw~yuev;6 z?(53%zpoveL7u(`JPa59Ix+o|n83jN!IQW68Zp8|VP19OQ3SDXP``hjhtihT!I10Jw;8T_60fZg=~XQu&2jsSbO(KAWJ&7U9L5XhxtB?Y}^+x{01p@qr{}>GUk^_So66DXlXXjz$ zXEqS=WD;Xuz~Cw%-0dI{d!S83>F+8p!KOk9#|4c467+-$mADL81sIsb4srh%SK^$u zfFq7Uw6u_M>PC)^jpC^jWqvy|H93e~667fo+_J7vg~2eR?xXZv!+RnZnb{XfX1Xza zx~RC|q6Bk+)ar=}>pn7wIB-sCW!tq;HorlBx=*wUgGlBE8TBCJn!~ay){8xz$jJYI zy~|ILDaa#@fytzZL1ckR*hM+RRVx0MxHK;c83qd1eq^mtVE82o>6OJk9xoo&>(0U zl+f~lrOQCo-I?`>5Lfa8RzC-}KZc5%4A_JnS#%WGiXO0a7qQGp(7ip04$z;gcO+tY-tKObg_I`}pu$$Gc3_2J^&z84({ ziX0abL^?bedN?{cm~5|pR^C^v`s8w_)1KSRlrZ_2Dv4T8^>*++*s80LG$J@%TDB7cQJHi3ahuE2cXk=%VOI#-TaR6NdQ zVRz>3;$~3f%5h|AY7h}R#qjOGNtY|f?ktqs!JraR5~H?2XpO>yJzLxy^EH#2H3X6v ze7@MNU0@`9D5qhu&V(;Mk>kj4he2f7A>Jdt{+~4+^5+HZV$*^4mQU(luq(QWX8r@2b63PU>qySflKwMA1o#YNiil*EsMm zT9Ec*vP_er=njKm=dVHPhnT}kMUN>;2RYh1ZVg<>93eZ^-n%4h>1Lm~oMu&zeTqfx zLmN*#_~L!-nZ^HCt#Nx4ea@vAOfzBlvOv@>MChAh!1k*FXITSX3q?;Pa`}B_WVj*_ zmdJllL1Ik;SCgXTy#SHtrLmJ08P6@S4?ZA!s!`&})VQ~y>_3b}j~onPF0p(gY=3l$ z{pp1+YY(`8y_!(?Rrb_D7vDtDkj8}Xri|C7#QB>tDwQQA8$~XC>9#V(>q>*KyjW`c z7p)bcKKq({_9#W~Wh&iph4)X1yo(~kw}bvCMOAnn#Qav`6l35C+nN%7kSlCqF!O=< zomT`-DXRS~m177?aDN~ha*%h|HqK>c46DT0ei#e#9pT6;HDOB#l~m;X=E$NT%Fhy( zb5bl>_@HRj7NL-XGXG2y{&zBFZ=ELbBrG8~Y&ORgud3$UkH(TRqH!%E@oPeL-dxe? zD6^XXIoi`vYgOwM8=G?ZEJfB?CJYRvTKldqu=yU~7@qYznB~I(-?L_1_a4Umoho~$flER$ ziut;1kmABWp%vU+b#KM%OU0K|TxafCkh%F=IrERY&NUUE#n`@W%imm9&v-rm=k>~k z-*>V#2%cFeBXN*pf|1Ac=T&pqoy1F={(IkW(k-{r)D_C{^%6eC^lYKnx$QCik23C0 zmGLnZ^=NSYKAqd8jBCa<<(3<9-p*B_j!G>vGC611SeWuuh04#F-g);+o?=D5{kM+Z z8S%yu&GWsP`x4fk@bZ}YqGLve?a5-1Ng189JUkB?*Dxkps~%#o`C_Tsn7qNHR`_b< z*4NPgmWq zfwkKU_W#%^5N>_(y2_V`DZ!O0+csM*F8;S-vsHe?)byFtvTshymz-W4IlX-5^y-__ z>m_G2N6u)UIivgLjDE?PlOtzNpE+~(&6)EhXDyDL^?&)yS*vf(T7OgVf`m_mqtYfN z%Ofo|k&29M9X5%M7Kbbu_uPE5$z0^p0e_s&~jB&s^0Xph0UZ%S?{9Ww}Z+y4efl@b{4Y@ zZDwzod0?}mGm}a6{9?%%v*wm-zkH^Pnx!Qx=P;XJSh7x8s@JJbT6h+bt~> zijQn&JlJ5|v`3Sf^Vse^`*({UlJ+Pz?h{FIj9~9?Q*m0*?4)yq+knNhj^&LFi;GK( ziw}!yNX!0A7PpiZH?|tBr06|AmM_=0ao_BsG*6?_sZVr+`r_A7f?H-tmDZqpEmmJz{Qs~76wC=Ixsx={BY(|dU!KI(g`y00j2zbz zk=sFkP;2M#0 zG(w6a^2D6T2|+PM8VkN_#a>H2e7ALhpptgo?~Xl*OgvG77dET;-8rK8eZ}Uc4M$UU z2q(q=a;<*hmca3>n=ftS@u>F(cTatNR`K9b;W_D(Q|Fxg{#1yk;gsjyD__$tZ~SBK z+Lq$OHZ>}}IOabNkjtRTj{7XCUTpoC)_UhWhf@d5g zsu<=8GHr3LJvlo@cA3qI_p+zL_gZK_FEVn!7QU?5hpnvXID=QZ7T>(|koM9k$q($+ zOOj$)(w+zVxIgUOJJV{eS-^7bgv8uG3$&&@;Cpv#@q2|u>Q%R;M) z?_D~NZJ)GQ! z?6y6hGox%pd&P@8|5x|U-O9A{xUfD?f)wxshUe$P|=rGQEax$UI>vv?+(sz6dY`p&M@L4F4wLmWG?v4HC zD!zY@ch5hSw@~8LLI$OV1C5M2HC)Fv@2qEGk+!ONVc^kQAhMscp~G;zK>O&>RA7Ebpwiq|$IZO+SG)G2&eptWSY?+Xl4N*+;Cc0CpwA06$Hwyrxfae1Sh!Yn?Yi^=mRbx+b{7PXp?5uRAx zwJU|I_{rr0zF8-BB?_N4@txr!q7tIx!P=F=ne{96wqovWv4ZKd(l+xHwXaY1|IB-5 zVL~)>>cNPcF$>Aj0FgWft>6)@{>^#3eUOcR2d>*#o6t4oedLGw^sRbw}0v&bZjh9I2q_vZ+SB z!*|n_Y1cJ=rC3aKimg48pxyoE+i926kp;)gA1*zf+;8`fBV~fl+UM+|0TE40RJC_J zX=gm7;rgVO_o?`S$-*->G}ODPtz6IW+6AGo<9VHHQrkb@pQ{Toh zO+fv!jE0hWLrD9{*}SX^S$g^BWJGgm^=Wi6M2HFpwQ+9|b>;lUa?o?8f}d*2vRQej zGM7KPnjRTvYw#tqHi$1ZYHC2-qSPz})DUIo<~*}II5CbKI9%< za4?)<|IX!W4)WUjC~gj#*_gy7l$J4tQHv>O!}bSVr#Xe5Eqa}I#^}6{aivW!1FP>R zqn!!-+IQv@?~8l4I>g`mkGbj$nS)kWW#_~^PYBym`t^ZBlP-H;p|GE>=thMomARJ# zxJyirG2cuL37urY)4^yN6#eO>%+9|hE%)1ghw|3*L=@kz`_F6P84}QxqTIB@rD9Ut zmx3RDu4;J|4D2d>DjZTX5;#?RZ5mnji)}Kum|n*rqHtek>C^yMrV~L-|DCS)Ua(T< z^o{snAhq$`uGYRUUPsn2Exfndb!&QxfYY2W>%yH}dSceL7Ui?pxVi`wnV&Xb@2mZG zEB}1$_j~pHbw3{U``7(^How2_*Q@pC>wdr6&tL!N(|P~;zu)fn*Z=$V{(SxafB)xC ztcg_M>=JHd+*Y9CtkEy96A=_I$(15d7&gYpbn1p#`%pG%#>pma`=AOd?i3pLw3zV-uxLWYc{s$EGV9;Bcw1>{q2Y1c!@=mZy7hK z@8M|o$yp>U9Bg&z;)HhBdEzpIjCn$LmlrppQ^wCJcf-a2tyn{P>|_|62u`zPF$ zKR%CdTeC!UZimNQ0l|=Uj}EH#oRAAJN;Q7(c~#ZF(~E&Cs3`c3Cx?4Q!y*X>F?a5y ziE*6H;@b>NXK3Ei3g$eMa7w>x(&9O)4hoL!T@RXs?=S`Tm8htiD9#jFlExZqdbnF4 zc*dPK%gpz4o-61op7TU!x#juJb0w>UX9#OJzFOq$!S=N)`SqITY_~IahtwS{`SwQr z{|C-9wZA^A2+v^Tiz{f7dZ22^HlvZ5M}SeO!hz91n$eZnph4W>ErY9rqqv_zi|CmL ztQId0amW34VCkz8S)$$Hz`09^k$uSn4h;tlcA*Ow+TE_?s4isU@|(cSr^DI6pc>JA zh|%oMRb8hPP1p4TpXRh{e6{kMn;!DNBxD2c5|KGO z+O}JWdy&P1CWj;~Rvn#_Ooj~&@rFr@&A=$Q?{5-XmT?QV086t5Hz)zkiz*X?nIOZlTiSJbCOh}y^aTK ze8Y+g>D5B-uLW$q$=Q(8rfhikgPXGbPiu?+~uOMoX5psqKAl1 z^uZ9Gh(nbIc@AgP8vV*uBnldNUK9wPd&IE9@oFP$--D)ERu0EZo;C3CENGg)OJR!u zXFh|J!sTvNBlu(=fUPn@_%NbdQ9V?iqph^aI% z=`<*?I@&QNn<_Lasfe6)37elKsM2Ziwo4#~NpKs-qUZdr9?Ei;uI?~6)9U(0QQ-Fq z-@cIJN?m`FI(b*#D%rMcj$q+`jSD>8dNJW^+=LfcZe)_F_ZjGtJ!C8$nwzIW%zF>Hxy;JN)Bb&en z2X2Rgh9m3VpSx-~dF>MsQ?s3&PWQutXHP1%wv}{nY|raB`DLOQPvRlohdcZZb~I|Z zK4eo4-8`f1#-e2kEKNFvLBacNZDTEVTP~dP>;y~FgN77q4Nh;3L)>A1V;fB#u)4n3 z!M$q5M7Aprg!6tlrk|8%_`-Jll+O3B&e8#l?M0Q2hM_%2mM+L$uW{&PuM30tk~fX= zHV+uMGAe%V@YNQ&|LVcnTUV8;zOK&y>>B=Gu*qusCM9m8%BP3kg-v9gVxZxp@WV-E zw%GokKHJ=tTefZGx;8IZCpO^pSB}s#`63aq0)hgyjZH^)G`k!qZtC2osQb^kG_atV z`OYI2%VUQcqVByud98+tL!*iLlXo$L{Ih3oRXrXAKPXtLU z5;?Qrvbl`qU}%kUL0W1<$mK?kSb;DR*p~TBE+AW7+n$Un1q*9G%ZD`@NqM=BMH>vQTm2iq6?5 zI_JLVoX^py-WReDa(DDZkL#JfZ#tVwliglfbW?=u~}+G^daoqC<8 z^xoGfzkNgh|HtkJ8GV1ZcsG*h}|L=?b z{~Qw-H7788PGHTPz}`85bL9l?lM{GfPT=R9D5yD6*mI(2=0x$%iIOWPN}rr4`*NZ@ z=OjhVNy?s+R5K^3cTUn=IZ6BEB;A*j^f@ORYEI@0jNPdww=!+AK;vZFrsAnLgdCwk!K(46x9`DB5MlcgU9JE(?eF$U_FM!HN33Qj-$u}|FzdB7maC&5L6k|b@pCsc{(W&AaBkE1V zOI@ROip_|!G>&;$@a?#ekb1b*1Loe7Gs=Go^hF94zEmjAoTBJBGwI-rn#lO?qEWYw z#+`1dV{3?2+7kDpea73M$qp0ZR&g?GzFD)=HQY&|K`DFsELDiT^p1Z0T(NgUxwjQRgM+?o&=nF=Gk7FxPxqvi^qT zlRIZ0m@1z8Ea|e!oM)NBGcv z!r2g)upoD(nL?B6)cHT<4lc{lXIOBLefE)sGx-kIUfjm?taP!-tC^C=r|BPHWqMG% zTr9Vaz3#%ZSg%)$W_m6urh zrlow&KA4uh&8#*~Da&w01i$EVnNxalRe}mt(_|P}{Tsy9UM=8Tz+}n5Xlm{tT3#5Z zv}79R;@O^Y5({z*+?FtZtmIh0@2NSz*l_0D_M*=rDHbLLR_BKQ)2_2En|n*taYOO1sp1Q#GdMo4pHh}>@H{|cdC^YQ)>)NnDt2i) zh|S!~#kgVTav=s&%?E6r7nrmIvcwF+HvDAv3}7~#P{DPe+~mWe-mdaHr&gSMxw6=@ zHP#?)$rFL;vsS*1TDf)VI;90GHN4h&TqwV76}CZ(q5ApyXR}rn?OfGb6wY$HoGE(g zl3N0iFDmzNRoQ=Ez4&{5qhaOL=L}uPD>A1sl$Z0=JE!W~O?f+XouUut%DmMJpR?Y)k4^EqM;MkT`o=eIzmtFeS zDrvpq?Q@3bPW!JXXSchodmSEl56{s>ciLyI7yQ7a=dep=f+O$7RvnJ50ta_`Fl?P#&1BZm ztp8%ijm`xNS$A(b9cgKh?6h_F-rtMAX3kZbu-jaNVY~L~AJ0?vDQ}!Em=g1%Ra|<_ zJGR!VPZ?Zaq-gGF;uB!GaeB2xz!YZ2eJ)n}ntuBmeqc2_$ef+E@2$36utnO(+Y8=# z@Bf;;|9kiTpR4!(KE40%>;3<^4>0N+VD>q{nsb1?=l=oDH3zuQ9N>L(fS>1}pw2;I zpM#<~2gQ31&ef1Ob>N^354U3j+u{X0iy63?0=Q&txJm*96m1Tv{tRWa2%*F@^1LXTg+~GKOaxxIA-&I`^Cq6JoiMd19%% zS?`|{+>1_5cq5ST=kTN)#ko9E);>p>6i-PfGE99VxN?ugx;u)F3I7?Eyb)ZmMrfJO zv0s~6J%n}`B_G@GV2Cqe4wuMXj=7M|}7ypX4P;o-savW@4H-kfJ>k=!d|%;s=0&BshMH|wCl z;krHj=XC@YF5qcj%z5eouiW1=3c8n6?jE1E^+@N2BX1_~zU5&SOW>2rWvzCY!@J<( z(*vwZ3mD%guvQ7MZaj6=DTl!-mft4V!K3!Fag4wRM z{{_8u_#%7fhx8sv{(9Nb_6n23<-lBFZdrz$y8_;GcoKA((hnTjapo%X!Sli!cvmN| z9&|Wb{`P9o+-tTrbNk*L?=c8#*vl2a_G+@}4f9+x;e;Du4L7>Z-bh?~F(rdZiziGT`b2iuM zlAP_Odkt)gZ*SjgFuWy}O2&?fTriCl$`;)}DK6d+!DB-AlfAy<_+uZQu&AIo+pov!+3 z{&1g>kGVva&GQ4_3thDbcdyExyU$%H&%^EEFS6F5R* zUbN49vEU8g$^(kqc#bXe;VH3ITweEoz2=7(Q*>Y2<-X|1V`V;cEzehAS>G$ycjtM} zo^Mk)u|r2-RowO9JFixMc(t;C`QKjtJO!pjt#6jCeZz0~YRA9K3wm$O0^hEA_ll9> z_3XDVS8sTk^5*p~frsw`_)h1&4cYVRl;4|}gg37?d07-&gim7l;3%Wkz+xfnq+cj+ zaf!v{W0rB_`>rO{KXG2MjnCp9^}I>C*qCVAzwhG7hRYHUFETb<68n7nYR#o1vUh5A z4sXACVUp~Lnz;pYh( zoH=u8&hw@DXV3PWZMyS1Z2lb|9j1y2ucz5D^fa&t3!IlrU||k=d8g*Lhr{(Z57Mlgk=eNW{_k`CzjvK`z*Tp??EmW!e$zvG z-;eVBNb%>nTK~6dI*YFXW5fLim(Ra4)cbw+zX1D(e;?z&G8po7Q@{ zCOH^r2WzNr2+$0jk)s+MV7NUiW|G=u?RYcWr*o&WSlYMC#m?H4b*)F%SuOBG$?5Bh zJoo!}@c5V&dP}^`<}&*H?A)&$`@TEY+e$83mPY5T{B4+jVc+b4{6)8~XuaD|FWq9f z=SSgxMv21`k$0ukD;{ta+Z~@9v#9#VnwN|D{cImkVAkLIV@-6bxkM1R+Dw)$%I8%X zM1}MZZP7cjL7i8@(P@$3f{tt^VWA5L1p8fL7*_Z5eMnN^cGKC|$>8O}q`fw5!J`!- zXBwQ=NITxzaG0lE<&zU{--M0JcfR5}z+^JzAh#Ifv!)^ut64QhUVl}rdb*GBWSwd* zf93hiuu+O*nVhzVL`H+5dA3utq3k1GU(=f=2hN#ppHq0QD(aN+S=*y3mwoOwd9o^5 z%Ki#I)Z8?=^I{dtsgq}`9;j^bX%<^5%;qQUdV$MDG`C|;dDJhFQ2Xdv39~~dSzf&y zD%+|VJg20nTGMMv$M=3<(0C$!aH5LN#wD)I+Zql{a*GNHRN|i0Q69&5?`-&lrA<=V zth_!AizeFod{AyJ)y#atsd#p3e@v(PzY`2y`o}Di=W}i1(B=N%p`v6N>KT+gx$}?3 z6FX14pHHT^*0n#KmcC4KZB_O$%k;VB&mxnKUJxptQ~S;H(cD6%S393CXxIDoVo7(* ztc=AI>vm=J!momO0!J?rqjspmGGHRFD}@p_td-p=RCcIWMW zf6O|6@AqfB^Y{N}vne>puD++>|6zW2o5G{w>3crTez&wGR&~~c@FJBJADlH39Tq4R zmFfOmR9q&l$y0o`+lou&qCNlJ;!B-8i`oj({--HKdU3Q1&wdlzBGKtJv$o7{*~ORN z?&LDr{dm}YJoft%yN4lv~;XyZ&@zlHgn&a8_nxwm%QCwzNhB%`FgA49b1|d z@A3uTxbtPnqw_Ief8Cvazv1l4P4<>Q@9qx}konjh^e0KdQK7|7ZNdSDDNMqiTuv4> z<&#Eh{PFD(rs*C*jQl4K^!M=d zx(EpUD%s&I=jBtc@S{UVL~%dEi6q9Ki|7A;_1|3NoNi(L%HJG zQpmhyL88>G11>H)4joA>3z;@=e&BBMk$Y7mOHY!@V(FVRCYzge_Bd)BlswGXsN3r= z_E4iu=gEK^cZNH^i)0XbsBnm@+QQQ-EJ$7cQ`fUU1;Q$3ft?=$#L(x0Kq zG5^M5ZNVRobDB0UdbD||Ui0&dK_#YZ9wP zMeA~A+R_PDmMR|GZe3om%|QG46~;i(-8T+OItU9Mj`_E3LW7^))UJ7RX67hdeaFpy4cARF`#~85Iy!cX-wbKqnWMElmx6 zSEtAe1x?uVos;?A!OHD(B{mn!-neeaF=PnM0o2vB1%m6JlyG<5c|o=@96{0hEr92vHweA6W@K^Ss{1e z$g~G{x&v)?9a{1!CgWiCmkf1=$CmjlXS?rx`C!pA?@L9wvtH5XoFoQ!mi~TOoyPb7 zI663*{TUwh$XTA9l>8yq^z_lE1v8G?q!~@Wc_!Vhc-GZDX=dARp3QG7p7Ycu-Rk&+C*AJ*&GS#A=c*p^ZmsdlJNl+8eF6L5M;AnQaUR;hqH6QJwb6A~;`HP# zhiuGu+LzzD>^yZoYn6hRZ;;|1X%k1s*(O=1tv1#fGEGvRlycL1&3bm>erw$zZWS>~~2)f+shcZN0iTZ_mo_w^rwUd7-xb?TWTpSDB9n+DadMDcL#u=0CMB&pCEE zmLC$%e3w>!NYrn8gLn?VlEK`U^J3puSjs%Qe{PP*blr(*#o?BoD_$LPwfnR~_P49H z#5e7^T_64D{kbpo=6^-740mMz%J8I9$dzR_!lh&!^?z#Wun|vvI zSaOT9NxL6=kW-;u>8j^PZdqTSFVA;(UH5PQV-Lc%?bkkQ(9U{GsP4mu7ZZ{n^DMV! z$SbeD`qZv`*Y&&a%8ysy`?{}u-}k%k>)C4_u-aD~62JGM-M!|K=>Cdh=J!7Kx7R#T zwXZxCe(%%t<2BDr_g9`PzxR1Qd+iHX`>IRR?|oVBUi&KazB#u`lgN7ZR_)@X2HQRV zzHW-GeRngbF-$}1l-oj8t%py&{G$G8ELkG_AbrKJHp$sM zCMUM87hL&Uh|$SFqjlPc{`kD7@*Gb8WiA^xehdy-sGw?9U@a$W#@1C%{o&?*yY6kNSwm}JCB+kLyN`+R>1=101taTf!2gcPP{HX zlRFNsI(Tr)277LU=C|71CLzw76P+h4;P};j*f3|3iOO`#E1gDX9OoG{*qzzG9-93^ zsHwp*N71!VLR7FrO#4Q&U`2c1$)1!94a1F07hm)k3r?|J;2Q1ITB*^I;&C+e4s%dS z`*9C8i5U$S0)*WJ8k-c_LvrlB3Xg@9@Y)n`WX74j^nhu}LFa-uVhMMS*2hSVqx@WlbRhdU;&UFSz*gFmS1`_N%mto^lABBEo)< zL*K9^uTrEn<19mkufz(LP=of6gqH9t{Dz(^;Sz^#^YC8RVYjYueXzxMDU0wVgU(O| zKhBLEf(A{t8XOA?nFR$JQaL%-h44JP(>ed*xnIJ)wL8vzn<3yX$nfm{oU^x{%vd_Z zFFb^G-jtc|s*iW>@aFYsVr6J%j&!g2GHnx!uxSL7@|N>`j%S|gbRKOn*sw;zyRakW z#ne+RP9ASGyK0;g7F=*$awL4!-b*#Mfe(%>xxwtqa&+>PgH;^Ng@UvFBBzPwir8#u zGL&Rr$HIBv#qXidY`;s_~gyGNh?A;-|k~p;7xAyopHl2N2ZhItn<5` zpa}t2)e=G_HeC8*aS{T{70Art>B{Ts_LM0qX2Q*m{!~MO zYX>?O+DtXsdQqcLx0dpI}hMsitATYpt7FY@LZ(J4#LMtn`a9KY~(q~tW;nW7z{ z@@tpg4(b%mx_Nw>>~#A#k_%0_52vpA<|B1fG-mf>+uPl?$KG7HZhZ0irNc9K-Z^&l z&aRVpCcnIMmi6uh(YqH_?_M&EJr_Oqy5a5#zXh0l?;g@v|7w#-yI@;z@~UfsJ0={S z@c!mTrJzj-LJQfr=G}=@x%=zx6Tx|pzOH}p_3q=DdjlI*8_iJeQe1dhcIW?zT}x*v zT`<)D-Wl8X**vj;+J!0{0UtlU1jz9@8;8&;?~|^Z`ir!z3r~xTg-)vnUZebRXe@NWfF(} zD&@;Y$|i?8O<(QjtJB>rkZ|zQVos%pmwzn_^k9k7Vpft+>HL}SW9dG3Cv_ITgt{op zzZV)lXf^X?uF`LKkXpP-Y-PgdUh9L05^gf9_j+mns**8yy>uH>oI0=CPhJL%cky}= zEw&sjwH%AHZf$IzG`HXf>x`v#KVug>IK23cp}I$vhwQq|%YLcXyk3{S`LPmTynw?* zm1D^(X4`(NIx(F~^9q+z|D{gncPlKnE#^#0S^ocl+@47+jz!G{8#rx>Ru)WPVT@1^ zvy1sDs$MH$6e*CfV3D&`-)6-)t+g4vt0a=_{3hj|o~W|Uaz2AD#|15(O^@8!R%^ty zY^-Y7^h>qVLHnLy+7+d=v8yHk87#vqA7gT9T8m`gwON+nvD3f7c`k|H2nwA_1 zO0^A6cz3Bm^~W5yj3)NBRnx6i6)tgIFpOV)NGn!s?GvT7x13ULM6G>vQ~&a(33X+P zy32GM@)AEyeCD_)&2NGr^N-a5^Av*rwb=e>_P@YhpvF`vmtOR3-RZ=gOEz@<|EU*Q zm(Cx_#ND@x`B?n7Ma#Z#QvN$jU-#L1!$0~zXT6*^;n8$91JnN{87;?Jyw5$+Sp95C z#S7Cbk2sQ)*GRQ-pWe`WZu9ljRpOtUb9}IeqNSnQL#(K6`WS+ne)jZ!d_wy{Pu~ zlG)qKZf~!Iy}deb&$Z?|!X;fNRax&O=bm>t@Pe|o3RS@4c$W8Pge=|gW19)D;*??JAIN0a)0 zj`e~9?^Fcdv1+{g;PmdJ+^kxK3l3|KIQ1R~n{j|^kHh3EoG;(alC+t*c8UFFh7Vnw zOdQn*8Qr^=9}r-B{_bY=8M!Bp3L;KQbMpO+@{U(EDOWXJdywm>k@vVR|M9W60b3Zf zwm9jCoOJr@;vJLy|Jf|_H8X$N#8`{Sm%li@dBMkR2MZ%zxK8D3c;pEk&lKK&#OIESi|ARQx9<~l-7A+IZ_+pxK2f0d z&3@+4&l!6*mAvr}HYrYaIhL2=X5=oG%&KF(U95VEh)wzav@>p5S2`=^xTl;v9>Vfv zf~U95|68vA!(D@G3R-JamG~Lj*08r<;Z(C{&}=W#)_?cu9=mqia$Z19p@P`dBS zN2XrK%`K<)uQ{i(q9sq#`;^X?-7#g+*T1fr^DXQ8)z5dzBL9?a)A8zE_x9M70{NaZ zX$Q-A+GG9Obpz^|Y+o=wdzP!(@jj#bkQa+Dqk!)v6W=Q}d5Na`zq(BQbH~4@_uR`X zxBE8)g~tZ{m~vjtq2fh}|0|jEpN{zdeR5v5{!;JpbK!eCLTAWL+R@nFe)xCDj~3V9 z9*dtLI~upV`O)gnFoU0A%K!a8*#GA(&j_$@46sZ5#9v=@V^Wa{$4Bk_yyB&MuN(Uc zh1X+k-c1{5o}w|yJh($ z70b&pnOE1J=d_8bUi)2a;)34=%dhP@9x*kibJO#mn-*MVcP+nqvcUJohezK&EWR)B zIPH_p`Xi3ISKe@5bg3PF7RdZ(aucX+GgI{x7V|Gc$~hT&YOF%_Nso({1ai@8@he#nLe523p%`C z7xDg)TT}VOKhOK$bBFioFR?8Ny}ly7bk%?M0BwQx&-a^~cyHd}2wN9^GnJ9Q_iTxz z=8bogZ?HuC|MC1!@_YUUj|oj(J3}8&GGUzTdq>FaH_MJFQ+?KXMMszt&PXIA9BlUG zS*tWXH&jbVP(4g#*@T789jn*$=&&;{@tC9%W>#aNFk`Cb`!y;TG)gosE^_Nv@?BM; zd3l-Ne5YQmQmw12LQQ2di>92Kyl#S6&J~uGuMg|`Phh#g;3;r@T`a5U)(cq?$3$Wn zPF{W0CKA7|!RXXd?=NRoRkgh?G`ye?VXLjeQc)4EfAd78I%|rJ=S8JJ-rKJxR;vdW zd+|=O_?UIjKY+Bd8Y1Emy$>nl;F#rFxwbtA7uNd=7Z__FKe01T_ z*C%^yb{b`Nw@tV{Tl{J9ix<1K$wA8LX>eO7Pv8dPl(Tv4?)}L-D_h~kKk>-5Q7%7qEtQNXt zf}PRLC6oP~cHU!AEfDgv*ndT0=`<(F51msV7JRxsEqPMpvYF{t7OEW?^CVp?95+fX zpHqCva`~*%NiWsrRD8O*e15vr23C=25sO%a*kg>O-NaNJSE$By9MDkx-=cMqMRc;& zucJ#_%$UT3%acT0c;oAuXX>ana55)!n}na5p5PaJW#vk?2d}2jIpTF?&72jtQm2N! z5{}`l_R~xY)a(&jvu?#FsfHCx(q>*9A;bnNB`i$eK*&h zHGll)!Cr}zn;dpZaej8qK2%}2ZcEpjITz2dePKAXT(v>tH1FnxhP`St{-iT19%Tt^ zocdpgeF5h*m)N;quSs>v=H7^4UtoG&wL+GU<8gm*YJ))?$Jfsn{E}VXa|FCud?Lp)Jx<@vF}Z|6q+00cdbe1w zpkpR8Hty3<6iSZS6tM2_zfP6ax7G>1W87fpq!7#===A=;Vnt6)(HiA#4CM~952=U# z+j!z5;~%--N3MOA>DzSk^}ebfCX4xY{(QbzU*x4!B;THk3%Ly%B_}vAYKk^n-CFm8 z(Wh@>)GsmD(o2tAm=3t_*ml-Wqe@sZkViw;$Dlxi?~2FO7j1hpYnoW<3t|O0ZkUCg zJk&hvLmYEF`=0;)G8=djq-Jksx;TgPla5cfcKolbjKi}%`-Ub?h<##^I)HlG92l-}hO|N3=5 z@JDKcwTXAx!Cki+=G{0PeC&T~!X1}+oQHS%Hplw1Pu??cc3C)=pTJ??RZMd@JS{}l z&fUxzE-ZO$i3E#yR&lQHjx@9ClRFZWOcq9SU0Lu-y@5HQD?lM(%3=l6Mz_dCg8Vn9 zEdF!gqF?Hf5|a>#D@Kcs#kVdFx%^9I^D2=wk355>oC&(BlDz7`Os4aK@tc-z&?_=` zh?yM1G(qlbie_+>=X-CL3m5KsZM!s?YibSGT&>X6Ub81fmD=t*qZPipYoF%duGY9x zujzTFmo_dkU7HoF9ew-Nwe5#Y*A>mxj(weVefJ~N^;LJX=UYT+2;Mm#ICYW6!Z+d< zOMYGznsq3C;VcCn?*OLYxD2%v>B4D8>J(Z3dmac``s3Bj^K8ZGVlNm46U{A4R(8iO zQq5JKZf1EVnC<_S$+7QUtU>cukq8ZwB>slA*Y_@x z-o@@-ap>Ek0s-bbF`vZ(m3ypGn!R(9)EmPY#1f_}wujxitrULr%`bxn$2A(v8bO(g zc82}cGKxQz{g}MTb*)kJn&cY8>xZ}0>Y2=Z>GR)_sUfrT|0XvPn^eu;7N?`^PE|F} zaXw_{b$EO43RN4ad)NP6uUA{~CiUc-_U@uric76!f4`6kvOfQFP4qqE`M=*hw`aDx z&?INFkURHJrLlf=(xW>$k6RDPulNJznHiU2}`_r zUw8^v#%fC}+u^X`R+(z>)s-K@=(<7^! zc5(TNZ%@a{%I(ax^=Q~U*LS^!jN;77FthE_JonT7Pl#J0-Ke_YL6(NiK_PFC@U4g6 z1`2&ikUyHEH+6UJd$#82<9|=z={{o#amsT{qDEZ=`vi6cXz)yR#Jn{mpc_lp-e-)4*dak%`L%zBGfvl|Py?RwxSop8Eedxs!r z&}-XQpEA8P>>Pgt)-XwI(%ADdQnBO6;(Z@{BWz!}Km2uYPm|cA2W@6uhMUgh%h|VC zv^F})|5q&%ex>8zIep%1v)uoV3lDHi<^P(Q%u={v@y|~7W4coh{(YN2|NW_oz2CD# z>-2c-4G;Gpd2gz($i0K{=CSmkJvLie{Y_hcdR(+WJ&9r3OKArNJubNo&9V}VmM?C8 zOLWobiNB%IY_9R(o1sEX#vx`tR@XUA@8=%WbZL?*V7B%-s6Bz1$EV@R#AeNmd5j4S znsb;eZQ9tI7I0je5)jc~S#VhM0+aZJS?u#3Xhz7f6)B|6IrwBQ(^JvI0%8jVuYnFO zeQ`Fv`a^t(%fpQ}@u92_MA;godYG9d4?P!cW$KcTStG|XEuOW?`F`g^=1aV;U*Z^e z64~!Pu;^fBuTuE0+rs#MWsByGg>pGIn}d5; z4^&;9qkZnS*p%D?aNH3{vfygw5CyS)lL@NK0zsSh-L1VGD$bHF*g)&p) zCD;x~Xf2Rj^w4D0!hj76+3Xgv*Ue*>ILMompt3>HaK|C#T??O8DyOt0zxr{XBZXPF zCCF{fV(U3hx(P?D(puP4oTZak?6*C1)n%|bwOD-@dyQ{mPNz?fVx!YEaiJ%V>hJK+ zIS}qLuY2xV2|Xu9t#zjz@>2f)nQ?$A!@+2+go~4-(Z$oJE}neB+Q8m%*fqn!EXMzP zVLXG+0_I5%zgOP(o%N9Qkt5qKMcJx(i+JYSO;HvSTWH0XYI-w4P)tRMFE#Mlv-9%^|WcHD}#5kE_oX zwWLHl&52oeEALo$&bc;5j>mb=e7JTr#$8hR?-r8qcBkB%+NL+U>8~HocjH<3?qi%` z!m^B4_p~$QBwi#+ym)Ak@;u?sL#4Q-=|V~sS#ew@kF;}|Qq__qbPfusIMkd=XUbV1 z^XXpYHnl2+l!#@L&TJCSQBPb}JyBn%;`U6fX*PQ(5!?|$^L-sXSnWL`9 z82G=pHSu5aBIhl%pT6jWpgEWM$A!my=`FWDqwL)|Hv7+xjjcO z@Z8Yxd9{b9l6Cdzke-7%J;ye99k1~@(ZjP`i1m=ha(32(N>?r(;mKYv#UmxaczUK5 zU+Humg|q*@_^i&8cw^E#|J3hBAY`_xVhYAzk&zusm z@a+8@-;YOl{WDwcKIpxtkba+sbzhtF>M4^YSl2wf@%mZ>gGvjtpv#5rk9hu9RrdXM zn4SA`!bIIUnI~WEJaj`)R>aKwDTzaK) z{*y`n{)Q~CPKLl%=dWi}m`vR{SXmEfcn2r8oH_MokwgEnqMUOl`2RX^331L?9B^o- zC0C>B+03I_t9T_&_V)1wX7JY@($87rX7QHg;v43pxe~D#8GV&m-sarnVzv0m$CfF; zUU}h|MedCo!hsib?uT-&%Q#`bH{jl(3+!usu01=`@iux(@0!)0&L8jPURAj6x}2*( z1t&`i=ap+*=aMcR?BhRH5Ga=z_&RUm)R2j<*w(R5oG7_)qSVHT*Ed``Ww7Rv+J##y zg15%K{;&H`=Z#k&S4^&Y)VggCZYa%^e8V$o=dw4-J8#`ww|ceFS$<8{m#5A?{&Y#> z>+4r(EEb1nxIplzu9tncMp-kN0!h zn$LFm3YIe!crNey6SanIrim=WF~;X#uW5<+Og`27?zWx3~ zAey^UVeKU$RhqwTJlpg$#B}a z&?rS_u?1OCwT{zL0;g$gyLlt+TH4K*3hj5ZD%ZJtZcwY1oTV8#>tfck1zCH}D5#a+ zEmys+Dj z6wiL>UvD{WcV*G7Pt)tqZmL|mwy`j`Dbc_vShmgc#@>*K15=~hmP)(`F`nFbucOfT z`qCR+YaP0Gp6_ew^9a*Y3LMe`@Ni*_<2Q&az$XG?{l)$b-SS=l%Pd&JQf_wX4l*FUkmap7-cnYwZ-%z$FgMcNUnn9ORci zI*ZTsx#hFaeo=2d*OznSUR|75VzvCu+pTYXmv_u9y<2e5;6&?*H_h!09iiDr6tbG* z=Nh*tF z;FCpRJ_oi)Hb_>Oor`(+;-fpGTmsWPd4IbHIo;dMkF@4KcNMtN#IS==<4l|MkL=qw z%J^?Ce!D_}d)ETSBPzNF8aO%*@Chk#N8J;8w1AIkq4=Q$j=l%A;yXAz(k$PV*Z<${ z?Oq-j;JBmFAvK^X*uPy=lyM-eoP_dyWTebH|S8(T$Qxkhe72` zSkBHyy|_xx-Cz3_lrb1AZnIE+(OJPf$>MwD;)RPVa@TiCula7*;l%LfaMf{(z%vyo z+AQo|X;!OT3@#j!yU{4S;;dC#oFRvbV^^o$I%SJ{4Jlj)7%n_-W|o(zuv*dm>rdzt zH=$sro|J1d8ax**k^j@fddE@NLZz`T#r@kZjqn{_>wa?d+-g-{qO7w-S?9nOO_fDC zeC~P~x7|3scd7WCS`x^TRynzx`CH0T=JUaucWCUfSjlSs;mUStyQF@h=3;r)mEZ4$ zS*5PhPc7TG(Cx&oXAgf*IF|bT($eTVOWU5L8c!{Ie&kV()ruH4SFRb3LKpb|Gn-mZ z|I%pUeGi)*ENt8%N`} ze9w7elW?ZoZH;`P{i2khWvN!%*$fVOysS1{@ho_iRVdRhWiAE@gC;(nKYNcWD`?ct zzkK(gdGAw>w0IQS!sfsdcyaw8ZU%jGk&XV=4dbQQ4z_{-+tDnWm(PbDH&Rip6LE8Z%gO; zP$A*-=xO}7fN52Av(&4t9#zLJyJB2fac!YRfx2PCKh2JRwvVdz=K3`n8nm>j+&unh z#a7?{hP)a(R_rZ`v=KS7_d)RGS=rZw*R-D8$XU5Nz44F8kK5!I9%z{ ztXgv+fyryJt=gX@23{*K3af}Ua`8H_x||kt*VWA2^hGP2TP@*CsM4Wqh7H;e*uL(Z zQTX_nSQPJV&d5#wlTS}KOux2gW^wxYx!m>dB)57pFz0>q72P}QYx;>L3C%)=mk-F@ z*r2`r+TPja`S2`CgN?%{!n0|fV-0Jf8_Yby< z+s~`1{QUgl^6>rhY`?6U()a4Av^=M%y(ljSvm>kBJ^erZSuPWHzBBgS&#V`iyY64# zul4qf)m)3(3N-#KQvxk4oP0oMQ-WZUj#jG^m*vc7sywDVK1T$-Z43|d`u=X2Eci7u zvq|U)*8?|)B(KCNQn$H-PAKkO{Akk615J%9wg+7}Z}(@8PQX%i=7>qB{x~=UIBG4| zDL6T&so=@s_o!7#XQ%(M>V>8E-j-HT9o|6v;sYZ%C44THeuBYfU6Yq;e`v88Q0#!ZTT|rl7 zAL2RQsFt!bQOji6MV84obrhD&P|#Ws5YTP%Gj-dvoTH)Fr#8t>TbjgtqV&2@6)!sz zt8P-rw1TdQPp`?r0_iF@3MBWj494sck|ht|7r%zLK=Gn67L7kw(6Snx5+MxRj>8q z<5=CsW2YxAUg~p8iC3X<%F@Pq!Re}z7M>3tHRcBX2+!Rb_wu#>p=}*+rl0eRR*hQ8 zd*Fe;$B)Ag6n5o(b6(eaNo7u#tYDU9?QW zZlYO&#YY>7?} zea+q+&q}>^@WbPY^RF=Y7HxTdN>`|2dtvB9(|}J$Kl5(Yn{9CY&Z54?E89%c9m6wO z{3>iNo=xjtD^xqq(8(4XSL_Go~Zsd66 zEo|WUMM8aPNF^tihsA+}l9VPvn0P2FWwrU!Q+{k4?t2$a zJ@j?wgtF$S$y~XqHXnAX_z7vVs&@!3KVZ?F&-fvF@xKfD%z6_$AJ1$EoHJ?G&ksHf zmy#!_PWiTgF_cx`*7|_x_u`{EY#9!Jc5%K>3sGcTz~QD`aj_@s%Emi8G+gg%AC!qb zbnJk{0YT+iVe`Eh7G*OYV$cXyKArYuQ@`oNiM=IHlocgCJ^dz4n!4qQs^Lse-@H$0 zjvt<=J4$*5_D!0y)a0pV;7qU3b(5y9EqSV)DCr$}Zql@^Tb}AVT25nmFlqY#?J8YL zRgyl5e3NG!HF;(@ai&kI-sG8QzdT`7abQX}3TBmwIAF4Irf+VW5TnzNLuLmh{R$5W zF`F_xvzWM&k<)@3XFvEY1Qg>g*So^sX2!QFcug5pZZKI<|R=`-y|x zH41*y4_%omn6X0L)FGf{mhm*33`VY97cTbCGU5_?p|0_I=jrrY!P7L(u5ehW<)d{a zLEhfu5PzRr=<1}>`S)Z}MdTD&mhu&|#U5y~+g!=O+9NuRr}Txo@(1?zz6LgPhyPl< z4g%gh2@e+sb~w7Ze`wyrrpRTRpsmepeIs~X$RS9SA~ zUtZVaV3fW0XSrjm!6iWhM~>=(W@(OUmM3*#Q?wk87cA{;j8<`CvN&)^yzh3a-T~t| zOXe<(cJyR@z?R77&wI%F{;yLz_Jy*(W=#z=w)Qz~_H7AA!y1EhhuGu4wojF4c&nbi zAi!Vk#}r1hrIr3!A@xcR*d!_#IWA~>Uww9co2=dkZlmAlmF6h0HwzkevM;_K&9RWf z;=?nB|9OqAV#$vD{Q~PNS~oCBoW8MpOYO6+^gT>(%Mv+UUoZ)7iEdQ!aNv;fdmUw8 z+0r$SAwfc-i6!6z)6PDl!@~d8SpEO)#nv8lN?a|6r@-NnOvL5MV%uJGL>Yu_)mw0; zd8^U1tuptI-IHXsP|$bvf56mGd1=!s*+O0who?W9f=&sEI$Ex5cq&|>xLof9BUi;M z|E75h*i2q5PmRpH{NtbKI*)aZOSHXSN<>Iq*5Orc`S~W@^~YCMy$OxW-6fgzRxIG) z%Qzsfpqr`x=Q3;Lx=&L#?@4u1b~qqc_D!?$K;uEV1%g#S8s(;KI0zbP+-P!SV)KFX z3Jyu~(FyOk&glMUQB`q_eXRF==T4q?o17eW7xAu53q(D(~RTPWmIR6xz)1N;Gl3r?1^f-073_ap``mpg z&Hnb`S6ejFJtZTyypmns*{5+Y@Z|f6pNzST4PF$4GlXrd+w`IReBmBZtshmdcXHPk zIP=W0O{omK}Qz-0^ z9DlKvbU;(Zq+636^_PEHc|Ou0Id-WSV*-1Z1Lqfqt^d}u&&>T2mB7kn!0)PgOQd_omhPi%uem?@ z9?M(EEyJ*8R|B)n1a7vC99$FU3Vd9~mvGb~;b_Ynu_?M7D;n4~JYbhvc=rJ3p%Oig zig#~?{HFLAaP&1Wx4oKt!hhN~u9tZSza_2Xn}2S}j}J4W7BB_8VwsY~?ko6ILTg@A zz=IDH)@5z{(er^_%;D!Gg9mKu9_*OFRhGRm>ci`f^;74(n!GCi^*jB`Hl0#$yZ_$G z;n}VC@{GWeyu|x02ObeZvPK3Z#=;Kw2N!q zYHqdH@@KsiWKVsV=f%nu$gzoA_;L6ByfvQ=T$rigBf7k2?z=OrpLFgCa4oFSU7^!8 z*T`r`+5=V#UsgUtwuVb{7UXnac~Pg2TY15?m;6Z-J>j8{a!!nzLk**4iQ& z+mp-VE-h}FaLt1Ex(nyIPhMQ-y11unpG|RKYIu9fCg>)|JME8#2CSb~3pDI0`g9J9_Z%_rA~OyCl@yk(dFv=D|5ew;@B1x80b4X<*36*D$@|Iy%kqWmNV*(3kY zZxabN5q~YKEj*`Bh-+a0m!`37{K{EguUGE~GTXml?hb)jArnknh2>AbIu^%Z(r#=y zwb*jz=ED)mI${lzmlRvAG`9X{*tp8rdTX(Ddot6Te(QtAHb*C`1}!*~5Y!p=h#`)_ zHvABS%UPu#xjL>djC2?nWf<&pwDM}29w;PuX=R-iNVc(EZ1?`M$*0doKQ7yQ_AoO| zY2b1A=Fl_IYqLpmlb+yVrlbY-@k~#W4l#f5Qhl^aNsWQA!@*wuvET*=4L$~0tphIk zkL0r#n3ylKVlaK>NW+vy74jnk6>cf0M;NJs}+C_Fp z4>Iy3upL_9TKmYc_JQi2VDE#;{)KLjB@X+GI|sZJW_(oQ_xg%&rZelOE&dE!{pCf~ zI6~DvY_XM`s->Z0rFPYF-xk#-KgS@33oCN8UY)E+I3(~!#P0SLr5hoj6NWeNa63G3 z)b_eylXP`K0GrE#OGTx{GfFfICoFvQOrP0dtJGA#u(cck4&m}wl-oJZUg=@>nW|c0 z%3fj`k{!x6>p*CtC~L~pFy^;*2d{=LUBEVNfqppKg`BmVIuAIy-m<>i991eBwJ;zm z)+x@lA?~^l`-cCai&z#s{NNKF&E$M}P2A7W5biCiA421oZjE;rP1x*{kiN*SaVuNP zR@IKH5x-R;r-!o4`pP^B$&?iD5T1SQ1`7knn=96d4Dr*= z@~W;S$WF@)Z;B2#%lO5YlDt*5Hq(q_=$W8J~P&D`*S=?b$* zLR74iFSCNr)su`%4m`i7^x{ARbCA>Aga=9KUl=96v!7D)-rsjGXlthE0ls~gRac0G z8*PmU&-PdPsw(%L@lBaO`~UJy|E6*9nHQ=uu<DQHCoeKPUMXBjKU+kmu{^=^$UgfSw?7L6PxxRWoz% z<prO%rn1lFP zcWrxVtW(wNtUAZOoWtdXC&i0yo0nO(_%(d5{8-k&X&uil60Wrs{$Ood z&k@6L_((+i>8Zu}4c+^fE3Hc6{KfxMWkLJa9bL2a-8NfTsZZ?_NlTA%f! z`cOsBX^Zxg5-k6ARJq^mo~_FHpu(2_X5aLRe$hyIgUGpBJl>T%-F}8lJ$+;H_N{Ca zj=0^o=ri3>${#snyZeNAi|OnV-VdKlDg7~FdZniD0cME^MzbN1GM%{?>ZXp z^}dqz!OiZwHMM&7Z@nOeg{)VZYC=_wX3YyvSnS#`;qQ$Zj5jBS zIxX?63N-l@XgO<%q~!$p$ocEH`wKjn&-|-^txC&Ga$@GA#qSLk`Tm+4FS)2YYSHx_ zE3~CJ^`hoEMlI>x?(AkYT{mI*>RsFmCM?(+K4rH=wePNp(|;|RKGV4&YGJq4s@bWl zPFGH3TCi~EuHL!7_%{FivEwJ>l~=RRPhl!Kz_8^s<0tV-$&zK)!$L)mtbMz!tT7?f zTxX-`ii*x371^`WJ#*QfoKpP}ka%!=d1TW@+wW{|%DQ-eS3VBk68@iirG53*9XFUl z6wX;xAC|glkjAi7chT0@ueJs&Z2MeZ@cD}K?CXnjzid-{uzqLw#_ZqQ3!|GBi!Wnp z*#7Vl`;Fq&-y^ftcW;V*v}vX3X8x+powqm77vIt@Rq1)V?C|X^yQR0@4%r%6y*t-> zTWr$aX6c>b2X^T??K7O}&o5mwJ8WmA_117}Mz#hfIfW3%Y1?*2Yh-QT+xvTOsL1^N z-*(TvejvR2z<=ulll^AD{eP| zE|0jA-59B=bbGOIj#-P?vH#a}%DJ6m52!m^?G8V5)H#MBoP~&OV6(^+HSD-{7xgyaEGJpGxYDzF%bL9GAAZO@^6;>UpvRUn>6R1 z)|EXTxaR_Y>xT*F=_uqzR)xyeaI;~gDGG81J$jg4aR{5ss1HJ=)ebW!zPOUB2HP<{<;cjK| z-E^lrtXuBA{d>=FK_<(*2iHIDz5h4XVQX#2|Jnzf^Q<4PejsS~P`0y$HTt3KzlRgu z52rKvD(-uvyD#QIq}sCYk1Y2+ZccH!`AsSA+V<4jkA43=Ip}=Yd{3k3^e2J;o+jS2 zR;lYgUokZ}is_lnv(mcfmZDGYTg`iT$fvUIMQ5F5+P{7BKWw|}Ue2_$jGFs=mffqR zah7()uh#y1Rr=WKyzJ|p`(E$;_xfO*F%uJm;!hSzAh8U(=<~C(5Yh@jG zW&0{sO%qjpe>HVIHFXO$_o*5>!5XIF8kQ*|aiIIWnq&H^S>&&%{%{_xH%>1p=CRyv~*}IxMM4xv|t@6|}^fET` ziYW9dTj!k~>^ z!^J#f(X#BU^EpAe1^qq6p`K+MPgZ(ZcCE_qTf1RmZos6K6DLpYoV@<@^l4?&XRn%> zmp5}=&a5=&S%)snS-y2%TI|xf5i3?~SlNAIW#846lhan`XRhuITeEt`nr&Nm9y+yq z??#3J1?>MD!kU^}THD$?I=i}idi(k(Oq|qiIC24*f9j|~eB zHggDT#hlo%@Nm0;vez7sjf;+UOBiR}Ik9o^@qPv8E*Z~FOHNMK2woL)a?{e&(+!eO z&GFp4%%}Wy&Z|2oH!nXw-=UdH)@#d(i;F!bYsH@0vhwosfW=;Oy|%8px;kQW*4d)u0un=>x2iaot;?d|Oa{~w>4>%D#5-Q5+RU)|*vZPsS1VNMS*>@d(e z&?GExvM0llTX>a#_Pjs-Ov!G2z9Kht9w_c=X|sa&?(CSe^Fn6p+=8a|=QAqRZY=As zb(;D}rFmP@5rvF(KTphSG<)@8@dP)mmrJIEWxZTFBW=~oWpm0_bxxSqruAyYl4)75 zRth$Cy;`+q+pAZrHyqP?y=F@nSH{|#ce}JpcfI2hpV0ea#VVD(vy9fP*A>m~+H|7o z=o*dlX1ga_9_K1jT5&Z>P*+X)n#No2+jT7>T;HJ?uDY=86Vw83$m&u2`o=X^eE@qEqab2i`K7}vk_ zx_spPZI;~LMK0FKCE-dTm$xkTW^Ognxhht5>WJE-=B>uT+R0m$xC^Ad`p2q&HdVHW zvN8)!<^J?VDc8QJ>`wb0*%!Cw&wa~rH}lclFZUbR^?p2P5s#Bz+@`*6$C-qtrX91V z+3c$@tFhmlHhYqPpU<=Mdxv&DldI*ka!>kY`%AaVe3F&&>iO?}z20zK@AsQ6*YkeA z-SK?g?{|B?zx)0E0K5L54@boF|9qVMdqT(E87hUo0xcHjJHG4+c;EGPg+u?JZ+Dzs zj;P#Mc53<0C(qUNx5$HMk*$iS&q5c)=i<}$DZFlv@A%YmL%)OT(nWJC#SX-XyeL4q&){BOT zE9Qu1EnpB~I^3$chmAY2qQi9Igto~C5_xq!IAlLv@L*425^T#j6wEQPW8H^^qJ0)e zax^{)_~B+$CXXfRN1Cj!OE@L2Vmy}CQCL6iL(=q+6`W?<4)wM+ zEH-$O!C`gGuq`Yi_|AhHhn&7l6sYIn`4@DVLsWo~)91oG#jOz?e0!QWJR6+U#4-=K z1O!c-rm?vA(03Q#7@_~YeGN-gem^|np0TNVh0jv0@RO&)c72+=MBc75IFB$f^EdCX#sbaT_W9F$X!V4B;c&neBSUj~k{s_;ifOfAdi=?LN zExPR%)UTzuY}MgD&EM(zQr|hx>4pjh{6Cr+Rv);HGuBi%zISe@@5a#OLe7DSrrLTh zrd{(mFeTLfuKQ~d!|P^pi`HhHT^;xR)b)M8zOHZJU6a7>edCbSw+$V>Ym&rI-#BLV zZR5;C4_LbuBYOiMvQN-G7Huru#bp#UXKHLq%1m>PH>!%9J~!sGx!ykTH00XmsUj>4 zODzsLaWo1x&q+{X_;Fy;)UN{OEi88%K17F=Y|5R>5>vF@!{wG+6NisRUe4Pn4!vzt zx_cw^j?8)8Z5&jPf7~FrH9*T-^qt`z>zH$@r=&a_w_N9X&pU&wE}_ADMX=QTKkrmN z-QM;w%8_f?iT8e%-Vd0he;nZO+t4I_<^h}akAnhz8~(Sb`#j`|{&7gcthdBir-Mr% zFGI%eXq&T+;H9vNBNJ9!o3&(>p_nrB(FGBXN(naJQmYRg+ut+0^R)!G%;X=(9r!j) zX!m)dB>nS*hu@}2)6YCnv;KK9pl{QZ?#z={&1(3feQZ_c^@lfBKbSj7Va=3Kt5T`*WYg9%-o)j> z=3yo4+LrbUnsQh>z4YI_Cfg_>_hsDgU)K-tZQIc9`zA^H_l*;N+cr)AfA&q9wY2i= z&a$bC_s-0;PT(@pIIzX|K#P3F>{E<082Q>3G-_EVaL8;pIL%9%^G4nWfrYLt-*$L+ z1fG)Ks$$ae<&N(jo<9i;suoV#R+4wZ1jGebznjZl5x~H)qEPfktjiH+#@HpkH5Ix7 zOu~NL3H4`wm9l0yipT{pFt13Mzoubv|8lYI-*?$ObTM||?i0x6+~UA+R^d4V|4fg# zpx?KdZ&m-~kKaN@d`#7P0&l7e3pQob#eVTE8&olG$KM!PCij>Q_y!g21qH}!3 zf$y#pW@a0v35dEZ`zm`><;ov!%iD*{+a?sBDye^V$-C+M4wgFKT6>N=;!Z!VO4{D` zjF-J_Jz>wz?@#APKm1cZD^B3VdB26p8~>cE{{Q;{zx}zS*sfjjp)9N!3_p+RTlh4G z3YF~9I>Wv3-_e=zQp?soeY_;3-tMgC;mOa!|CV#@Q1fn8FP~x1@Me1h&y5DY9}NN$ zjY1sycg-8cDjFqbG)nDgl!=i4zC1x*LU{X9o}H!~!4vZP4eF;YXcAx8uumW?SEy-O zVdOLwIra**g$ntq|o|K#D7%se_^O)lpOB!Uppf zyj?pYX0C{seWP*SkIv=6jSDQgmPB+dtLR!WqifZUt~EEh*8S+(Akn?aqI*jOcpvtR z?p+%CJu5grish>WwoVV|SaGTQh(eE=WAoXho~n!5XEZbuu0*dYZD~nJT0S+Z*}%as zgVl9Pbla8oHib^EFaIMwJX&s8v~(@7ziz=P7!u_=!=9-`=JpMa2QxTctMxSrTpUrX)_nGz+Q#hBVw7&hud_qx5y3-(dXLnfT)QFi=qjpY>xj8lN z=hOtrX-SsTQX;3NadJgoPnWOccYVO0yOTHnWQpENQwLLBn{7M=C7tCeyj43nc0DUU zdSQBoVwXba^l1t+nl?;pZJ5#V;s5k9@flo~Ix9UVUpO$M{lSa{2{Zd81s1!Pb!2cF zSaLSp|HyB^g7%PKF3?44=SC7HFPY}N#4?;;7VLpSDlADh$dlz7>4a_fWU z-9q8N5;_ksH1D1{@72zEZ*Is$D&I7Ds*E$b4HmX5 zELxVZP~ukds%FErlg)%~ai~Obsh#5G|7DQ#Ui!Rs8C=7Wmv+;`eKbfMLV=l^nrUA>Ld|!<*(zFPNJ+Dc0%eg5v>8XB}R8 zx^ro#^1SuQ^KL3EOS`o!@7J;dspUmh%S)n`msKsVn6s4yPDxt!c zT&-N3?YovcI5OSXkYwYfv9Linditz>uKIbGmLD)!Jb{aQGS{rBzZRP>Ub*b#%8d>y zyI-y}Hl8^Ep01WTyo@Q+(uZ|U zn8KWs3~TC^u37E0`rOJn`W$ObHLcI=ntuOe=w0V!vjV1U%t}a#TDzzC|JqAlv0}lx z=d5P0zQuii)wDOKR=@kT?t|2N$%=KKqSk+_O88Q>{@1Sce{QY+_iH@^H~&wm4J^?c z*s3>h%-+DYdjrqy4Sc^h2uN=fvfe1dEv6H-G5nxTh8F*WE(594f=Lw{`xG|)`?T>^ z;YO8iO|{>eeA_mOPF!vDc$2%@=9_}EW;<j+W>hZL=#v zr6U+Q|MPV3)~t+fiz?^mnaP!Tc}IJ-Y3a_*Pbcp9$Fz9{d;1)1@wu6`>n3jUT*a}h zdgt21G_4NHGIi`s14t%(4(uXZ6+*@}T?4D=Fmo~$_lVQ)^!&_%O z*t$tOHF>qJLG!jB3%2b_*s~*g@3qqzr>b{q8L+BXaI>m#aWVAt2<#IKoLV5rc z7up>4uecVj=6j~Cs~6JR=Gb%OL``$Se(g?<5C@K5zvbg2q}4+DdjweSXFIU-#Bjzq zarzuMRj?(;tiOeUWfH@|mJ54#iT2MdX#Wu*5j=s#b)~0F52wVQy_1%bJ4cPXhx6lVA>BPLE-n25tTMKH zIDB-tExsJN)6rX?DAlz{YS(XWJ{@lNKW^6?4j(jN;SF$$ej{W*r&l$FLyx63{SA*^ z$khMbwNE@af)@0@>z*qcHOX|&(bPnVsjNMJU+@2T!7la=M;Q-S&qljP)}5DI9fAW+ z%x>|x^*MSu>!E314!%zInDmD;E*bBAiqZpk_KYR|bhch0^0 zbMAx8`AdtoGiEw`Us}z~h8m49pBVDhvq> zMU0}%4DA0Km=WVt9ZEf*ajMBvrh>+)X3d^6cOGb*YVi`3ajH$5w`|?EeaFsSyZ2xn zr@D0c3VfXE-u(v;A3c8Z^x5+lFJHZW^Y$He$EnWFwkW3JIMwOx>+kPxVCI(d*|Fi_ z;SOQ#xHCI8K0ZD{*?XSP&P`8G&(O6xb!O-0=jRtVcgy+i+Vb-9is038XLoIVeSJgn z>3P1px4pf+qxki`v%9yyzki^aTi$Qaj*pK|OxBJ+w`b?)=NA@x&-dHA>+9=O+02V9yANMX*_HZ3CnocDv`G0VVg|Zi-+wBZ5od{RHkJ->eN`a z;!&5*wil1O4UTC%?lHNR@wnIG*^0+~Hs4-6?ss6*e1bYo_43K&fHsr(DIsB*Pp3wt zt$aEyrtIa@=?QI`&t{}d%X~I7W7*1QvvRh*d^Wq_nCA02CD$^a&#id2^7*`)Z!e$E zZ(!4Uv7kjP>&3zjwN)<`^`d5Rj=3W`S$Ad z`U7m*Z#Ene%YL)*gxcyio6eZMezW<4oA%o+SHiO2ZoQGV`t7zmWv}0Ef6%7=ZpV{p z+3$9~Sho7zF7PM^IMw@of4+gnsn~Ts9AFX8`G7o5<*xJbh{$5){Qo46Q++<~ zz^?n{f{S?Wmx~_iYrkCbF@O8za)7(;*DE36xnHmTj_LV&EvEeK*Xs%Gy5DZ3Owavx zGh_MMZ?|%`zx{T*;JEJhJ0;h1zu&!@+57!o&G)z8@2{<6=y}i}p7-OSGy8%cj~E#q z{CLc;;P{V66YTYVKIsjY`&k)uMSXm+h zVgtL$0R!vj^Vky@natnVRlVQOzW>*U`QrLDl`FODYbs}?$NhXdS>HeI%R=|{f4|)+ zfB*OUgLeIY{6C&d&;R%H#q#z4e!bZ&&jBtYcoU#}+^iyyd=!p?BuW(IRW#?6%Fz29!-%znG= zR?9Kn?Y9dy+nV2PzLmANd?DM4hC`eh777RMx5#}s$jq3bz{u0Vf9n9JWym~cj)~m2 z4#+e0$R2rEEN<1n)WGt9k#|D7Uj|px{DP*3GudBle^q;2)_TF_-MQb<$C6K|umAJu zjQRUNpOe{Hz}Ziffr&xKh#`%ckAa_ofy0-9nL|c`q2XXN0|%c=MZiLbHa6ZBCq6zp z=G?)gtFR$LAeo_8Mp5n0j*m)*dsMCGsYqT@_L$5OxGg2)pj%(Gy4@OqmjS6h?KX{0 zJdg}70J6c5!Hi)$qdhYygWGaQfG3OCS(QkhEE=2{oVQxg`@Uu4XF0h*3s4;#Y-%@g zXW;Wwi!ZmtP1sd(^qOp1`_5R0@2?*S*8R_y+h#;dwuw&PZSP z^Vyv8cR!&AYfsPn^>W4Xb-!M%+5Qg4WYK*$^PPv;=f{6MYCh%9hTFRHRTdwx?BDk3 z{5;=PUt|;ISA9DMtAycoaNYYm+f}x2d%J%A^jnHY<=6f7zoh^FK*F2%|Nk@aEMQ>w zIKU+Jp@G9^0h9QN18i0w8U=b5u&8?+qAG;#XEE3y(;;3HL$L<84#S+Iojv39mSn3dSTXMddi~KpA zcDt;{J`Z*rJ9lwoU&Wcla^FuJxBK<6zkz3o0=wr4C#g>pI((KWiJ$cNf2T0UB1a|S z$q#9F*VhwM7Nwjt*ttqMtb6h#o~0V@o~MFleVRgeu83!uLA&RfBq5gm#*6I5PhDuUx{|3;vBE{& z>tZ46gGCa&3=C$c0vQ^#7fZa=aJT0Q>g~F+_`cRkPgk#?3G+mj-V1u^y?-eq=aUC4 zrV|*rWDJ7yGaF#{y-9u95-oLtRl(*%GrNofqx;japy{`+EO#r74o+Pays+w0{!Pb~ zQCqXZgQG63&huWD+?yHczv|MqU0>H0^sbJ1?sa|Ft*`4UQ0Iyar3AoL1{@yuC9h6@)NPF=aW``p<}7q8v9yXnT6TNmy< zdAjn!`A5%Qzgh6&(dDdTLx-AoTY{QA$pZu+uZe}Q9Fp30nvh{c`zn+0z3 z9{Fal$hAm#Zs?v98>5cpuv&Myr1{@IG5NTcm-ES@8K*K{B!O2SAXg~0Y>?$GETAT- zJHrA-M{G^ffP}s_5|%e0TR`6Oh5=}jHfpa!^cqK-q_5X(p-Pi9CG|Mk@&@9Yr0awZ zLRL4FFiy!SVqjRZ#)!duUe2deTHD_koif;*^Z1O(VV%vVO>f62pR>I`qlrsnPC*kh z6HD%61}+An1B|+B7L@ez{!w&b&{SA({)$OhZRxe>>ov-kIc;Q3uN(9AI$iWwtgCz> z>Aub8+lGgDjn6@AEFrWSE3e1_Tn=!68g_mRsSJXQ0^o)nD_YO3y?eChhHDiNkqtX9 zv6f)%uq%(;^s_{gyYP;#P_gHhV=RYvaE0uK-R$T^?2fPB5Hq?m@IAMP^tD6{u0XTN zT(oSm4zpqRUi`qbIqVDvo-beyNO(S{o$uF+CDnPmUa%}%x9jDK$@{EcGw-siZVU?9 z(8{8bz>exvjDiRFHC%apbL3i-PIB+q!!g%g{=t{4>-(yCuS{Q8`+8+G z|AM#ougm>=wGKSEvi<$P-ye?a|Nryldj9{vKg#7GH8&Ti<_=+yVBE+M%LM9*v7_f$ z0cANA72?+I4ep99+5eggz-@9IrdjY3}wTi(|)9)EZYMO zhhojKhqba>C!fPR9{MRP8#EpoB7O-p9(sax!P{+&3=iIJXP9#A?Y0MX+V6JUohGf9 z`C?i0yPdcC6b`b#T4#N08{3Kp&AT5=Gi&6veA3XwqjV)YidnQnpn;X+PJ%(E#FYy! z3{oBsHtbp&Y2Yl*sI7S5@Zygj7&-1V=|r)pv&=cn9yf#M*8X^o1-ksEJO0c(rp5lI z;q3ga(fPYkhC@v*GBSc|A^}jkj)4tgu$wk8HZ?Ocw6!y|GVx5M4u%hCG-FlIoUX$(fcE(SQU$^tRb3T^AitE!W>(|c~sebKx-fz)c z>4$u4-fj8*Pwf3Z_{vtqXygTV{l8zXgy;YLdLunv;KME9^R+wf+vn$hN18A|tJ9vZ z|NrmLb5Xm{|C>V?e!G)ASaDHG0cEhl0ogIA*r%V{bvvVwvY2$E|K{H1x@dkb93~u;PT9)u)LQ zdX}iDd!F=)`ZQ_AnI&q=w;yjUEtJ+u|^nx#&l=u5Ay~gBlCW(!K;e?MG!;I83Nm|A;&*VHaoWJu-s%P=6^F3+C zD zcdtv6W_?+r;k(i+{M4msn@kkIWver&zo5ck${^0@04`e@p##BK%2rXXGx&E647#$F zOr@^B9@-+?Gpxy`TNP^@qLQ9yXs2Iq%r>@f3SN&8NfO=l`^b-I#D# zSG{Hf)7wqW|9Ab^ikOUrmaX=`pbaWX1}o48F9wDfrc!WLEye68U{1=q||+u&pK zGhrE0Ru#$a65-mSaY)z8%Sh#yf$JnyW>*&0%$FybmUzjh$(}HI$kZIm=_LB&z{?2P z#D2A-FOCFW-@uSQ?Q-Ye$MLR4Prmg3d|ME23;!)VKIf9GAcFbDv=w!8b_K`nPs}G*zPE}sR8`U0k zhvo9LopWv(M{L+wZhj=@X0FS<wuKF?TX2%#XO69C48`<@J9#jd|5YpWHe7 z+~wl_I-L~YEua790?*}jAExKA=>J!o+V*&(<3!0I!Ib&Ve_N->yKysxT_}HkP*uU1 zW!iFP<#>q=a?ZSFEeqRNOJ7`U5t{fyAzQ=oV?v46+2eOzT6x;%IYrlOOpM`4b(D8B zbP~T)xA7)NP_Nj_hzS$0wb@?BFeQCB@NpT}EnwW7qei&K^c34KAThoEN7v zx2`-q$&PQ^QWqDwEk~lbcWMN-EsZpqFxQ^xM8GWdXWx_>ve%uwm+?IE%3ZnTf+`t~ z(=-a@o4OBOyXV?_YNhj19>u5$%c?F(taO~A^hGnWc-1kb@Ybj!nr^v$U12M&rT&+$ za-SAa6gGd!x)jY)2ccQ3oToNE&yLqTvnyh~^tD?VVO!VDx-GuMHzddLveFGfmE&41 zx_#k`tX5WC_*WIMm9sM?|$3Gt5T*urmjYdB`(z@$@2!?;(vE0?Ygsii~40Q`6uh{ zl)v5b;!gRo|K<~ScdXShJyxMDCKhXBe8jw;_wLzz=Ls|Knm=T=(Y^t`e#yMvLX$I}LiWC3XR&)LsXj1mV_idq%;xfZO70>e_G9KDlhQZJWAE<&4dsuD$qH#jpIjr|egMJv|>ZXVdwIKSp77I0H9m z&Srx0!__m~?p)f)4w|!h!*S+Fh@f3=M)moV3pm_o*w51~FsRR#;S5Kbv%%R6Qj+@E zLHwKzMl;CVsZHY(;Gb znV&rASM>?r44U<6$}AQqo-+chayJg}wA!Rd|6pRVeRY6`Rgu|IX6FR=GY2OYGcZUN zXbQw}smwSmvc#y~oQ>y3kV1>hG@WwGW=n;Ji7bu{jtZU{rW~7RlwC>F+h{oRPT~Zq@s|aA!6HgW50O z))Phg=?gMkOFwkvYAH=)J^R!_?59V^tSRMut{!&mMv6H}mlt+lY2aGqd42-ZmKj|W zR>}rfU7EM6Zvl%Wvw%*QNAsUc9)rZ<}VE zU6W>h`sTT+Z<`nJ>Uyg^oDhEE)D|_zwHdh`b{n=_Q)EkUaN`hYYy98hxQ#vVt>27A zxBD5krmo%_FOkA-pjYJ2m$>?Pr~NpqN{6 z#$P@aL0JQaI>tEyzqp==&KBTk3U;_3yv0d@uWo~bSkC=_|Gw{8Z^5d&V?qKSyLq{w zSVyJ2(t`IwM~+%$6uMdov^I(;D`~r}&HA}Jsl#RaJ`T=8iA&uRo;!UPN&KO2s4^*0 zQQMLsW!DDBhB?tH!jXr13_eM151!y{p{Q8>A==R=VB*fTX@%z}7dj@adDd1F`Jeq~ zWpNSzrDT+HCbTJBj{Uh0cG!Ri;t!xcX3^6|V4jv=>S`bjUj*u5=($^74sQ_i2dnWK^}eJjDe zbH=U)&%PthUKa(5f{zFvJ@(eMYE84#14}_BvkqCAMKAo$-@e6uv53h)_D$oRYQ+oJ z80Rb6rdHnGez5DGxp4pM3BHqcm12LHx#|SisK1z{u%6fNm~>E%9>FxP14B_ zou70~@c%{KiIT#1)45Z)jyx;h;_b~nDO~C{Q)H#nqS=qsm)%ld<E)@1MHtj$e%% zk51)tcsD`xviJdOHv`8ja|IZft6u%^JE6HL`@u~9mRBr-8#;UgKV^jf5DD4$>-yT< zmhVlm?D_Uevjm-{x1O1+aEfW_qfaFtca@)h&$RP*C%gZTL(=~~binra#Fch5Pj)|~ zEuh3wqRjM`;}kCwchi~&A02A8I;=|D(*H;J>1_6XF)xFOSDaJ63LR|mOgNu)fxFjhqzv#>Bl?ET@c{I@B>PWASoeV=cn3Y1@r4`TP3{6=uo$CfYm z|7$u{o=dNjILLHvIkV#ij^FC_DpO3QFIMg|lv;k>>O*1e`R9UC0>(Ti?8Jq|`I`j; z85&QvXR9jIrDuvtEU!SaPu$6*2WB?2xA3~${9u9P=$DAvZD5P0^zj!lq- z^&;cL)JE>m2G)s>lmqfIeRkT-FSkDNQ6)#T85wS8gF2=s zah^-+C~OwsG4Co8HF7QQSob1WL8Y+mQD+aM$roix>dYG*T_y_(&YWPPQqf~1D5ELZeb~I$K~VXnTEq8=%R44X&2;=? zk*vMbN9&}Z;m=7Xk(13TCtLiVIoWEb>pKfGo{d@7C*7`3v}_LU;|?^MH$!NW#1tME zJI=)dITIK*oS2ebQlDy+^&w-bXOaV(W12`}TABM){v+z^HZ{%u(OI)7%kD;2(ocsd zODirB-Ft0<+ipw?C^1qnw&!7;9&@N%)UmMaq|=Hrm5?zPIfH)hVgwR7&Bn{)5|oclm>-lPAP^PWV`Gu*=UqH|tMxIoqhF1`Sf zw?F4;1#-Tq6quU8`t)Z#|A%_ci6s(+jEMp~s~0eDJT~v$P2odA^K~wkee0Zmj+1Sk zfdIR~MB|HHJIVzr3>I)MT;OnUp>g5-i!$mb<{zgawSdxQr%#3xOEP?P@ zOF0zNC#eaDdkMr_33wDR*so%4?h+86u!8L%YtAgLBLz!VJz!a}fXgRvm4U%3D+5-} zgUbuln388POE{t8%?~wq&g?S+-E2D$>q~$<8zD`HIH1%1ggy3QpUV zwyiDOi+p zbj^D{_g~l}qQq>SbAx3^V(87cU9s5`4BzKu}xo#Wbcub-}x< zmbD73YPMp0b8DSXyTFksft3?h#4r>Yy%P9#YqdAqCb6wtVFs)(I-`}XHyrxEYz=33 zE$d4ww+-w07S8`OQ$Y56q1eTh;uqGRu-d?MVOfYdr}C?2#s`c+T&r0hZu#xDo-Gh0N?`drizRmA=7~q8`wEm4zD(d)Y2}?M`0r<@;%R}q zTFXCgyx-2*1VtIDy+Dh+i|z#$JW)mrwJcy zJ|-zBT+wLfTrHT`!t1z4YU9#%6L*VmTq(ocFLJRuQljQ?dt0i+T8_e+S1a~dEv)T6 zSS$Uomh-=3oxsMr#ftl!Ep(n$3$VPXpK*chF#8@3!TMXP)i@LD_eE4$77K7^2sl>T zJ^s9(yRdeS0;ljMTh1N(KU<6ZuohI(X#7xZ-)pl{M z8G`aMf{HbQIR`kyoDZIta$2+TfT6LcV?^Di6HSIW0>`)oRqsdzbR5z$Y~?nb$x+z4 zZFej0!&c`UfgQUA%-0KiDNCczos-R^0-D{4)ZTa|8-`1aoBst9t}$ zZH~_sJi+I9d}7LR?f-@+G!LE-`FMO1>&eH51o~=(rv4F_y?vip;YlvVlTrsyPSH8e z%y`O3Ltxe!!6knLSKbkr_a|blkASuHsYN`3tKSH1^$}QKBe*?BV7JUE>x-u)8PBj! zJl*w_iRWO!F&}~E7#5WSsV8d$3>%oa3ODLMXVQ1rVD;e)o8VdYg=eq+VPah%a!-c& z{2bA1GUr$xp1qeNdDlna&YiOl?nu7R5qPe1j@9v8d!;~d!r2>h&U~&B*s+x{dIICy z9)bUJ&V8J7&NWit^`A4R@0?*?c=q?43rri&&A!?-X%8dca%N`(fg?QvD!&926$E5; z1>}1LcG_H$J1ekb=_S>*%<8@|ges~))m0uBt82bcsI7^`aq4(SNY(K%V< zd%dRSTIS!YiMH3GB=$rWT+i`69qo8C_wMz2*&8!>nP%t;MBlyI7kks{!HFv0%YCJ{ z!sl)+$Q57-U|{-iOXwowCR>47XHI1LUK5&l@nm_-+A}33Ho9AF1y;>H%^Sd)Jb}eo zfZ3{cZ;-&9sE>E{#tQ7;E3m`%4rk+C9fiBKjdu_HKXmud+S}}fcTVoTWB%aoy}3I! z%)NJEE%VX8k&(Km&1?nic@HnMsS*%mYFWnoRaS7%Tk$Kl0=x-Vg&3F~_zL{}EAVLV zt!=rt+4Jt7|Ng+k_5pL?1D=KVnI=BCq;;Ql;X{)*58lpw$g6md^WOdDn#*c-cexB1 zihTui;so^H1!tTQIMaLU!W?Fc0w!I*bC&lWb^N&{{Z@ecKx)Bu0htCSJ_RNhIYFCs zkK5KhvbylZ`rK))eNUJIAM>o+$LPSI`hh`A;i;kW!)m36335;Q3!ixAJ!N-%!f4x6 zz3^G`y?X`gp2qxR2wV5eK90dL?p8qG(+M`0neqf0@{YB{y=bd@(eZ!Yi>`eydhWgG z`}bmk+{;OJFQ>%4oL2X8#=Mua_Pv~Q&W-)16N7=k{JL2V(SqgKg4)jxODJx*DlNQb zo?wxTCHqGoZo|{kcf{AfYZKBD7RwTBU=e;1yj^LJywE~-1r{?&L9xHTov)?7K3Kd~ zf10G$uTINLC55p9`}+hE7*6vx?y(YJTDVVurB^^}?puM2fj8;|9_I<%dw1(ZsKDDg zfgM@`ule5d1-|1HeBZgdv087XM$}5@g2B2itP9}a4PeE z!{=4oKkzg5?NS!W|FHjmU*Y6e0yDg}6sQRrzdhW2C{O+WGX9Bde~Zs^Z%Xn!P_m`# zi&mO|kG`Nuf0)UH?N$X}IVZBRC%o~?7hv~Xox<;%$p3NEq0PY>8-ruX%x1A6P^B1-|Bed$QwmRrQaOG65EWcY+cO zTUM=eUoX)2UiYxmSG_|bv-$h?Jp8%X@N2b^|A#Fbw(nT0c2V;83+v`{0>ZNeHuDRL zdY=_gGkvYjJ+F#Zoq;;&715-05ij>VgW>6u-$KgiLj zvi{%?mW#PN{{OVzSTmEKamKYt;w$+5JNu7#Z+ydMxP`}FaOb&O`u-nT8`pR|&}MOE z)>y*)V?Fb6R)P2uo+}^Q9yqob3h2pLq$*5m^$5z5^k`OeYPV7lGFhR_>eMJ+s&Qpw z!vp4t9G`XG{P_4_IybXC@17}>mbgq1)>f;L2tMv3YZ}a_8g=DG;373~D=W`{%s_Wp zJv-Nx&a3#;J+=zniTLs|Y(wHvAyJcSI!??yvy{$Ml^i=DklPWq*P~&DR7-4doa~Ll zHL)8U7zJ3)T+nyg$H9F%cJ`;&2M@Db_ejVjsjb=NEG)0%v*FXz%?n-ox4D#bE>-Uj z4%>TbyUC&J+%I1_thHMDU-i!7()Z8q-rgQIe}5~#dfc5Kg-=dS?Z3C@&d=f(Zt7<) zO5FWb`sU`={QYvXf0uuFc(h+V{@$O;FE6jIPrrZfZ}pFlPtPxpzyGiH&(E*#pWna# zzn)>Lw_>NNRPiZWT|T8G1!K2tfi>*&y(cVS?eChffSdVBfivIHth`1B9*NW2Hh5go zauj3pDqO(M#Np5_bRa6Q{bt9kjjrOxI()9;iCYTSO0yenbXMxVbD>A-W(I!~dx?yO zp|075M&XIGluw+}ULBKh=ut^ek=LSGhc9^;on|rMZra9?dD5`@Mi;C2d2-Y@r?f&90(Lk`%f33mU5FOjj zOCjuHTOOo%wAkG(TB9JgaY|rVbnN-1p4ShbS!Er_<1gG~CHpGaK6KCKuz+^utD#BV zrr%a*q`h5mT-^JJ;RRc2BC3we9Pmn6I?4bSGBRkkYruxNQq(P`7~F(sEn%VW!K zmwu0}cs#W{uIjaEIk&xpl-Wx4^S`)Uinq@Ax=7);){Pa?Pp^Dk;V3TWeZ48)WpP8Y z_O=M?_uHaAuj#E+c4AQfU9(X`-&5>lVhjHxmJ16zGP)Jg*?WVJPtf1?Gi^@swaWB) z)!%-mFK8C4%2?EG_A6t_TUmjWv$tKttxxn?r*=cHyjqL z&e?R@?03$V%VE{I+isWr&fW2NT6Ny8*V}&Q?fHDII)C5qZ@=>oFpJj|9O5?rQ*h+x zGH#|XW)&iu$0f58Z*Ne0e(uu|Wh0R(vk}``@pYMfGz^55~%CFy1SZU(vO`O~K>e6rqd-OmcA&_ASTW zXqOdSyqobsyeao)zQT`Wjz4-#4zd~s)y|0uzjanLUuR@vVp$+@rf<@JMn0Pq#UF73~xdTc_A;sli*y^D?< zoK4QJ6jORRRw{%|I3%vXRmkCXLdi+SVTRqNhEB$UlM>xQ$EODx7QWLy>6DhT+}c#3 zTZn-%ox{o5qH9TiLQI(A?-vK$<5K$KuQaM~I(bfPDQaZlRB~+lv9HDEy+XgFst&)W zKrmm+Bt5AHY0gXDEeydEON(XSuo>C4Oz2Qyk6iZWkc4{jEe!@1jf2c=C*A7)8!nl) z{qRA~J3G!S)=4PSd!feu<-(~(o9xP>edUYg;mTNT)o7P46SX@=Kt$)(T+-w-kJLS0&U$drYye|$tup%z`mTxG(X`3izDBH=`Rv4_c6P0g#{~xzO%T>x8lUA zu+M41+9^Vs2Q;{1Cw^++RGnn#Zm8|3bRnc^L8)S{FK6Okj|tmeg|JOl@X`|abp6P> zr2iY)I~{!2Uf|e1sdufZX!oQyRTIv?ISq)8&dp;c>6z`dI#;%v9CI=Z<$y4&cZ!0B;dT^awQdj={8Ia?jp z-7w3(v9={lg~^SpG}!y*(^n45S0}9HJGbD@ZKWqXEC-n#H(3klaXdI^=6kfNJZp-| zgmQ(cy>CJ|H$}5OJ`ty#R@fc;CrRRX#4+P#g}v8Z<7Q_q6>+^;7-19GBhsTkkJeIQ;fxS;r}}f+B$0lJ}9Y(ekd)<_Vp175nws#_0Pab?!Xg{@7J^4I6lvN<`lA+ zVdsuyS&z)_q`TY(H}(dJI#f(t+3b1bsy5>XhUn11#Wv~=8{8a^W z8!NubEZ(HS;9qB)SiAeS3&*$Ro-8?D92YXVg}+@^b@Q6`@lA*if0cqpUdig%zgZE- zqpodUR=PH~Haq5d)b-uZO4rx^%}!vCzHwNsY-4Y2PKtW;&C_XRo9F(`$#9Rpb$MCY z*0r%}uN2y?684%oUaXmvZ@lEt^n$?F&ZN8}OH^)ud1LlyNABDL{v#p%avs}m=ZaLF zR=;nqY~cJWb|U8n4U<3t&;Q$eV?{Xb{m%RIb`2lLpP2Ue7OOIYQ!*J2y4BpBiel$2 zVmzFtTfI8)=y%*pITt6vwg<-oJvz@ayA^OQS!AR7=3eia?U#y_LRF328}%F&{=Hve zW*8YUSA z>^f{WW#i%Jg5vTVGRK%oE_7+Dv2WK;XZx%ozH$2-j*S*eJzW}hN3*WT&0wCjW--Uk zpOcSwU+?PrdQNbWeu{^({fU-z%PDiumw2?v_p-Jfs%$d&W3k|V*KcjPFW^YkcyE_^i}QaH!|cg(f}$AzWz^VDc+~yu$7jv%;!6Tk z?nZQeV*lC0$M!Aj&JniFn&w`|!is0VQ+{Hya_5O};zs|LSNvCc<-h9C-T!qzj>rG| zyuAMJ+xq(6YiZnG5%CdULKe=t$tAmUU+T}P|C0soH!LZ#boleT|7rG;s|A9yh54d6 z#XPGgN>omstkD{3*u`ZtWAlPJ3p<)z1spkY4*VQWs}E~K)I$FOcQxdKHWI4Pe+XD!5qn-^EZDu z$+2txlm+vfCn)sFbO|spiZ^=fs^H-;IyGmHWZj_?GFgj6s+1;bEEL{#N|~vV`-D<2 zi>&kp;l3-3(q0T|k9gL(ELxEx`evo-h8GRlQXI}sCz(nn?z+;rUc@VKSJ%cEua*z0 zvJR&MPo37yI_)ayw!=qKbmnPuB`zPM?jN9Mq>Nd-Q$E-%~7BiNR)Y|06SM-Nv@oMa6tQ5)a%H6vc5*#Fx+V)c+3) zydJbjsYdWW((!w`WUE4k-}4&37d?J2=lH!^1kKYF#|Bo{M zpLF~`*ZA=oG_qLue=|8RSimBf;s0}v|F1RvzxVk6IphELj{miB zN`qpAKa+0&YwU&RH7tevUJm&-kwi6eAg*5UW2;i5!_*aIJ z)uHLRNuY?XKYQzi7d=hN4Na^H7r$+36hF|YSJ5b5!0aQr<8W2x z=+$Q`4ZIG4A!jeWw7HhTd&%yopKY%n?*c{%iAH}1COHWvM^=BH1r6D@A*HJRi6z^K$A~JfW+CBnzt7O6POG?u&5U_DZIE|ztm6kL%5et6Sw-!UVE;0@44L8bGmyOc`6tMZp;s4J)agE zzVh!mwhG4d){9COjWRo0oDM{-eHvAKlu_{kgG|K*#vQCW3eh?jn2laAZGX#T7}2=d z_jc#itM+?aMP}U)t+=5l(WLZ(NvYxnmj@H4K=ZV(S8{UCDLY&eb}-_RXyWmZvzU6W zZ|XVSvzK^vuf3ncsMK-pXzH!zrLt?!GN$C7TNN5A{59CYwds86#pAtq%tbG<{kU}9 zl~Lxz4P{$KafeOMVy@+#jrxBg_s;U#b4PVAIeiGy>bN8Pp^0c<=Cf#HpmlJ#URmJQ~Kb_U>)bMvaVM@d=Hudi|sm8aQ?+@j1mk zO}(ew;d#6@=A`IFjS3dM8BvV){Nx@mh}$x_Uuc%U(5xE4$P$*o7RUHuPlH~M!tJ8vy2s6~3^vowEsBk5@b$9gW3roej-#MKBB4d=!%Zi? zCQG>nsTqN?ehfPQ9yZsuOq5LsxyHchamjz#xhUUj;dy?cX-|u`p5vJCP;7340^^1L$%E^`_xi6KiA|kldPehMFeFNj+t%)peZ&*)@jO0yFxEA+<=K|x_d$ZsA zoqKyzwJu(Lo!`XJMwtos=Wl(aupmu(!?T-51G3s8MYNcz${O`I#2LN4#!``LcC9&7 z?UMhrG}mnbj)* zeLc}HZF1c?Hj754385kZQObGeEJK-WB^aevWLooOGvqcVKFhpU=l5UZ*!lL_MkS4C zfsRBSiFbMh4gcRZ@tM@@*7%gPcUV) zy)}RKQ2fKg5Yg8c?3(xw1V7)B@gavnC*nNY36|~8p1s|A>HfdVVk;V^+cL78ef{NI zQmC%7plGJdw1ivl9&4%P)Vbw6Kl1SFl|;F^w+aiG_!?fl>UrYn_oP28%&F8bW9l{I zcW-#^7re{%02xm_hjw6TzUK0KYOm%+zl6SxavDK zB6ulN{adC!vmzabB896VXX9?vlt#Q$ySlyf_G-5nd)<4-V$)Bk&U<0|Ql|7W@21QD zRi0j4#C!f&U8C>{Cgp~PXIo=6S_8B)8igGgmDoOMr8V&_ePQ{2nIc2ubEj>og^&>|Gqxg#wzJSPMY4;TquDXkViQ9UPb$Tji z!RH%SOZ>i<1hnT`ZN01^`tob(=Ro_fI(dv7Q=5LdeQekoEIFZpN#o0nv$?U~3sd92 zz5H{(=PHBRfu^Wsf!wa+U(qg9REPR zy=CR~uYcH z*WR38dux5|?ftcP&ez_(U;F>w``Y{eYaj5}J(RC|q+j>gzV3;C-P8EGXZdx{>+4?h z*S(xy_iBCJ>-}|a&ey%YU-#~P-TVJ_ANcD(%GZC=um5ac|HZ%lYkd8;{QB?p^*{RS zf6lM}wZ8uM{`x=X>;K-b|Ht0Jz{D=3lkq{}Pz#s1QO=7Gibpzx)PvS!d{jEtBV}In z=EXvDgay}Prk{PVlFzs)~9IMgnzpZCY& z)00!vjq~6AvHbGl((>T-d4H|Gy}7l$`2D-T);~TxIzCxH|DVmTFR!j|&VT>U_Ro(` z&o8gf|8Mv2&#&*F-@pHF-@wRaq0q=GRiV(tskK9)nb+!vLW`i6g<`8{RE1)jWY!MF zcG;>QiXDnw7D}C}vnrIjG*|6V>ek)$L#fB`l!bDy>8%RoKFe1-l>2Re{ZO9Z$YrTA z(N(HaWs;}XPL;{NRzFpy1bSJjP7RH!RGk)?wNrI^Y}HTI8Hrt%|J7!u&Z<HmG-)w zuXbs#-}~#A_J)I8);b%HN>%G@I;pi=XY*OB-#S|^dRgmky&6@myX|JyZr$y7tA6Y5 zc-UpFxAW<&YQ0@ASMAo@{dU)Hy*(dKS?llpdaGK0-_KXO_4oh%^;`b{Be#vgL00J+ zgF~F!dkhZqTK_QsU*LLFG`hy{m}K@I!{f5me+*A3cH0=8RGnR8bV_se9;4H`yZ`(* zI%9a+#`vu1?Hc2Amaq31pSS(}$M}LHx2?%VSLs@lOP<<$O)mRd|24T1=xu9yH8i@` z^jc*0UeoKb)qhQIBzD`H-AtWbYj!Jh^ z*IB($SW8S-shK+Rpmz*4uT~?{>c4XZ?Qf?|;@G4szSud^{>$Z}aJ-_I{hs zXRZI+e7WdtZ~OIXbiM7jo7wwqzu&F?Z~Nn6x4qrZr?=%;e!X11-|qL@-T&?Wd^~M$ z|M%b8V4AKHZ-u=C@=}HIKXPOp^M>e)WO|_KW47ZdO8*CY`y@qtU=( z(KN9(VoS30{Tur={5JmYdM|x|d%}x-PHdBUP1f9JQJHZ3>%~c3%R}yKGe-DCUs})j zcCizO*$viEl?Ck!YvlP`Dtx~>2G6?U^GN9G@n*3Qqeh7XhgcSWII5lYu|DQYlJ@QC zCyegBXW;T^_@z|P6t=H;l2F3I-(MvCzqu}C|Ird}f7P?4Zr%BL?4j|@K{Gtq4oqC+ zD3NY?Sv*kCXUn3PBM&&73Ya^*L>R?-8(af#ver2*SisNgWOQBq!uOpfbx?k*eU`O3au9I&@j*&f0hU)wRu&d*kDp7c^a3+P~Z`b$;Sw z^X4gHp)=lczl;0*%1@qa`ufk@X}_f!m_zp{FemMBWIZ~eIl6<9h5f`4Zi@+=Ix<_< zv|6l|2)NKHoD;hH&ewMtzAKL8vL&*Z>{!j1?!fXhF@ZzUp;6%PDn==h#;&<6s><;W zkq4RrS^G*DTc&bF&5)8{E$Pw8wC>)=c;x`+e_p5m_OmnYvUyn4s+bk3_7^>y!C!bO*pD?L*lsAyZ4=nR!@|kD;#$bUFvDN>xs1a&l9h;KQs!< zJQ3S0#>C{dk$J|O6dmOos~sx}C#BXfiC>5~6Bc%Vdb8Fe-RI^zv;L(hstGWQKVe`k z&6&@Z)X=0>@4&(U0*B?~8d+`kSY7)g z`>^ij^LPgF4O?027+sxLW%9N(Fe+yp6z4N&VU3x>tjMxNz3@LnBjbx5or-hRS>rdH znDA`+X8v9V>AAAU)gCWkx$~|}?&001-DP20c9h1;#1=f}|5Lbc-WH7s&78X~{41+H z9Tso!@@M{6&xa=jr|0aB<$U|EO`*l+!?$IM58?%Ge7nD(yX^SEJ^6B9sy7Lz&)@vC zCVx}Yo*hbQmUfj~%&MylCNiYPZ!-PBtRf@T?8f`+g7S{MiIb|QKI>CB<#>T1l&z6r zQ%w9B>%E1U+xegKEPr#{c}D4`vasg?&n-AMyxu41(6nO9yC!}Pg|m7uel6OQ*0jD+ z_f6=gzb6fSwjG{4$07Ll<;kWI4n`Nxx=5)cusC1ecK_jyoBC0EIi{5#6nAky|NqGC z1sknJ3zgiXzO=B3P2>>R8_u}C)yCXrLF}BynYB5er*rLW)vw<%CHMX>`O67wdP-jH zH&tLfth{e-*KsR}sW)!btJiH-n$;-z5+uHw1R{Ejp z?DJ3O-x8d`D(bX0GhAtlqfi7>;Lh;%f1@@eI(|PnbrYu?6YF)s8S%ki@3h6rKem(; za*+ES5W(nl^VvoD;+@i&sfRchFmP=UcYZ5hKR2BBUIG(CoJfuAuM9`AH#by5rMq&k z^`Di@yZe9M1Jj4^7V?XVG`@FCJQh3i<5Yz?je!QD2Xjqj1fR+C-%_Y%TqwZCDEMv$ zd#i%))`J^$A38S5zu4d)a>ha2B(m+~WJwiAZV%Z-meYgYCdwDdF^eSpd#P|ZGfHUP zLXKx*oMuT^bpr)fDgJ6vU{Ye>)>y!D;r#8N2N>@(39JaOWOWo`5frm&lzSk{_U^9! zQvL@k`QObH7K;$v?Rov<((_HG_a48DxZx>hvr$HMqS=Z8+ji*dYQ!aN@C?t zrC)1=S3Qm7d2*na_n@293~rlS&mT@U+Lgq3ra>m~qN8hS#IGl;D`y6=F^X<+;N2Jb zYr?$H3aQDW8E`^tI={%*@lx-M}0 zsx$T~cO2v|dvv}mYI(U+49^ca(VS?8(C6jz)T@>)FF!V=>Ro^0z4O(#{A;$Qmk32p zzPmjA8-MjB_4;qmf6d@;U|Z3^r_m_(;!Q>amxfcYjDsdeg9`&gi<<_+p3{tb8YL}U zxda?|G&Ed1GFo` z*uyA0p@n@9ZRa~hNeTA^OrG9=Q}c8PRn`4iRvi2Fa+%l5?Pf<#FnO=e zTYYw$_IWNB0SSh4Vl7ivt#smHU@FL9ShDu~BFFPZFVDYnxS*7ClkLFGU#rzv7>`-$ zzEH?51Lg^ujJwsz~Tl~N22+fKcF z!qu{-?#*ktBiH|NZJP9I?KTZb8z=sT%ym-Pclt7?bZI!RIJo~0;qoeVM<>C2FYaLe1Y2lS~Ni-7=n<3cTl(K@WMJB7FtNm4r26<<3yA9MqzgoBs zRg+%QdF)-eRwsMe@f>5xv<@AmGk&)pDxcr>GePa9Rd?X_JB{4EI~Gj1o!;?`Z$jSm z*V7gy>^@2AIlqL?;#L%8Lb@}~!RY;)&*%BR#!SE9aNViI)LnVRkv7fAgd=~fr9|Vrp_)fiZK(X#AZTC1r;g-_p8v7I{ z9O}C>`BtQz1D74&J67u}$`LFtC7i_0PiS{gaTM`9Zp!vx;shQB1~pGlhACQ;Cah6W z)$jE5%(|36X-SuZc$~v2afb(!7s!ONa49r+EZP*ZIww`lp3^&Q*Q99+-yGsBt7H<} zV>D&koTX~nny20W1x-C@qNW#Wc`C^2!Hh+(mZ-OTYGpbZhg|!!#AN%)vw1kq0X2r4 zzr_tYSQ1nQA7F%(!GacPmBAXuE_&GR?RRtL6B=$$CSexnS>eF!9};LjI! zh68_pFkeXi`{jB6|9^ir&;S4BxH2P4K?BR3KnB(q_6(o+8*MHf;Oi=A(n?`qq9|xHa7_bOEJJF&MqR1WVAuBC&sO?TeB3Jm0LyVt1 z*wpVl{MGI`)xfZn@T9$!%?J(uV z7yLSxY8|2b0t?rwOV_NP&lI*xK`%+@hsKeev)Z)#cH100{SJQZFfoU-jr8J+f+pmG z57P`)IE1*I+~X!4NKi33v8mMe5QhNILXO8r94|~MXes1u;0l*uVA%1Yl|e$7JDlUN z_^E<6-8G3k2U`xyT>H>weB~kE{wvOkeJ7dR3mCcL9xyOU2>K+fILORYz`&~Wpfi^1 z9J9`Z7FCgltegjwrZ*+C^Jy@0N-c1dDE+bYfy6=vrVR~TQ5%lQ`(*?i7K&4)Si;@9x0Jq$AhLuygnJ>i3K+jDMbeJh{(-LFxj7^M|*b3x08`TNK#5n48XL zTfIzq{@xd}tM&d#z#Db{e!bZaYSe+wVSd97xmw^g0}q1^I|BnlDD+@8Nn#FG)9O*) zgnF=ARgThTq$W(8i8)*7jwK2FO|k-VvNOIU1~z%Knwd&WJs8sL&mOk7DuCT3kx!ae zc82Ie);RXlLSL#3Rz!6vbC@|XnJJ%L%X34(C8Rn|M#&J<6+aV`JD2+BKhe2R?0k(U#`>MbA#TS>wSsB} z8qp8lb+p!gHv3_nSipAFn%Op@>QQ0ad2u)W8`kE{&!o$P>pJKDa^9z6Yw_QPZ(d`? z%WIt6NA}%a^zG&0g~}q_b1aU$;`?}BFVbSgvu8_V+ylyAa9Rj7u&q;%Z{pz+dEl_a zHblJUnB|dU5p}K+3eNmmPv$#_)RkUf52Qt9Im3H{ZtysR_24jPV`Zfr=AUjl^1(xcPgDJgwX)yF(ztE6gNTrpqLAUXgUt zm&9puoQIWNW5lK`>qx0`S(?qF^<~*){fal7JD&C`#)9XsyUd42!i$!S`^Qb;ob=t&{BE5tu)9P{IJh`Za^QUj~x{$xn z=)Zv$^Tuv3vJnDTkK)AKz#*PVLl+*31a0_)<|?lrNEQY=SzvzlhTp4z(Yr@$`OhqIMD8Y*7| z?0%k#oT#7lBZ_xt`T*jl~t?pw#?^f`Bmjg1qwRcx|# zXXRv+uh6~56Zl^$=T7?jGYqwr+$H6X?e}dq-){`OIqPEJw6h7$3wY!b zd}X%5v|yI1C&GsFCcOOTZ)=c6&|3=a8B%hcVR3b=i?;!g7ZfD}5WPgy(alF0}oAlA)b_n6g~6R#Pv5Im~Q>Vo2)T^td>$tK0T{bt$=<75-hzkw@mqLglT`Sh+5#GMy1w z&915wW>|Ih=%=q6C0N!(id#(xGMLI6eRg$4$E}E?*GyIm-(8ce=zWW|X$s>GgOw@g zwE{a=UERtQ$?TY<)qeQ@zA5v0BAD}1q6O}}+P39@uR?(2h9I^Z4Qp6=b^MoCwLg6~ zWqCG3R!ruvwkC)29ankRm5Khi*mz;#ya&ANQ?`4@{nec^Us7~^)zRpC-=5{~{m}cq z=&twuU$?&R`*C)C-S^Y?|NZ*DpMh^f1G~=yCg~psIQ%v=iJy7EX8q%!K;MQIb)Sb^ z(LWAJ>|3fUc5Fgo%8$dEoh%*hITQ0{xExV;H0)Gg!_%yBSYOw#ql^6zYokk20RK%_ z$E+HAS@{5^^b6}McHEe(sDI>y$Q48D0vkbL_mpEi8yJ{xToO^Top4gI@NoZf&JBMU zeZ&sFEMmEt$Sy0qa})DLDQ2rBY0}av|Ah`_9-WpMBVfaGWIfYOXQvN70=W_`=c~jx zti_T{TX|+NHsp28XAR&>vws(TFf7MapHEh#_A3YJ}TymMGag#&TMJ~1* zOh$S)zc|?3N#9^7rL?AR%W6@f%t&Jfo;z;8%_F$z5OH*;ibJeGv2duhVt45e4SplS0O$>;0C`@*;Yn_&qAGs zj&U&p7v-0{5OdflopX+1R``+YcKsZy|L@i7HnDjxELh`s!|Aui-Fwpn^=%%s8h>oQ zu=a<$pXI65i>IG{9<4b0|D}Kv&pu934!k1Qw%H+P->+T~*^4D^9RKHw9!i&Ucaio! zR{OK{Ue+D?l)pR=4gX|DPCaJKV9%V+-R`$%irf&=+LkCfqfu%{qs)y)xgU)R5>2~VDvOlG?=2SE*u=@|$iXbg zbxKJ<>jZ<|4*?ws!TA?l5?= z4Ezn+JyGeh zgSJ73pymldodmI+76PUTZS6n$_oVfHsF=Vpa{|}S2|PC^@co=1AURP;(yiRkdTo-V zT1CYY8&QKmA%Aw$ncBez&=62mol?v3giH$(5wu;broKCxMgX`{~M8)96SB>e@<*Nw%6(unBy$qJ#)&EQ0vGkR(G9s z9xt|g?>sf`=hOtrX-SsTQX;3NRZh#`oc6v#c+SI#nVde^GllbhPFwE6THIN~mpI+3 zaC*r~&&zFMX2Q8lifOgxxz~;{m>te}q#+<+(cN-Wpg&Tk?PluVOH*riy2)QR+IO*V zw|dTGXT|G}*dHYpb#({?-xS#YapqFaNz*IcquV=K8%qO^3*>y9rSe^`H&Y;ZVR&|# z?kdAcODD=~>r4$jK54C`$CT}Aae?B!3EhG_s!#q5@;Nr=Tx8_FnTCr#&$-Asdv{UL zwemSxTc%X~e<(UZAwT|+)VFrK6Xx?c0_UAHuRU~J?0V5G-zV- z;zjrGoAWY$l}A&+SSx?YQBmpEVC*zn&|pmkb_s8mQI+u~&|Dju5{ z0uL|#&eB=v(Xhm^-%nZaa$5syVQ#~BjoW28`tA#wHJ3d6IXB94(vj1@&r7JU|oxw?gZ7*wBJ*M2zEWDPvZ1NGKLm5lBKDuoSo?lg!GF4rm z;8tFdRgL}e%Ik-wmz{FF|KCIN_K)R7g0e<8mqtYO^BAn)VW^txIXjta{`s9N5>)J; zefFr|J~ilg4-aEwTzS1uRsD>O4JH>G?zk)#@FyR`1%ide5!Z`+lvS@q|^G zb4~14iz87{i5>#+6>DNl+t0k3G_^}+N0G*tpKIQjthqKT;HZVkO)K9onQK&MwBFt2 zbHi%gv#ND3X03a*Yu%e$>)!oZ_d#m?C#&^eqSk+_TK{9#`d_=&|GBmP->>xy(i`5k zHf~biu+yZGP1`H;x*$ilkV}F+|LhH-Rb{-1RZNami`(#=ZK8s8eVoVKkOI21CQhhCK%)Q9H6CuHGA<%WwOyjm=N_HN9 zV?mm0@w+m?k8RV19&X>UjH`1Y*M~%w#%Th39vFx&E-C+w6lS~`b)H-}&`%fqVM<$}fqy&Q?GB7(bk4(w(M+|2iJLuG-$fztx}tOXA3 zZp?Y5uz%z1mE1cSUA9K;7EH0;oqfG5kF8vSF{jtCJo^7>zO!zcC$j|}Rqs08E#PsS z;mGgo$F~J+p6!0QyYcTM&AH13Vplu7K0RIRG=qe-z+dZ%`3tMor0*6KOko$?bmE0T z&1r^ds|7xDALI$xBe;-@lX3g$Xx=>qlNimW_AX$Ky{x`VamOm@wSP9V$oL4}IL>e@ zJ&W~3mB>V%UJ_K92YZe%juZX{nI4VVnK_HP^R}$*Z;fZ&vgktJN6poaCI`S#d^Y*C*+I4%ZbHhaT<{nEImU{f<+76Wg07bu5nPn!iS9 z=^R1sH3F$V0-HE?Zv4@*i~Hm*8Nt&U`7`F6_$SpBV{)JZ* zs;_+5y^OQ*3Txt3_P~9Cdsi|&+#M&oo#*2fj%T8e+Xasv6tj)p;quI)AXg~jb}o0! z^&8i&*&n~|;w$KCD^Q-hBF4D8@UFyuLzcY@uk%m5uIW3w=Gcv%*!h#!cGSrxl*?Wh z4`fkojAlM~Q|ls!cD2BQxi>i%cBRYST3jnIPgh{UUjbw5*a?%i1HEwJ79 zHt)vUO}+xN&c-i0YrpoaP+oyZyTu(g!!Y}Vh5Che?yeL#y4L>8+dI+=@30-arYd+v z*Xa`P|ATjx6t_NDEAU|LUBz(WN4|oO_s&Y+c2Df#y;g03cf9x69Pd}>&hLzhaxvpL zxOeHjzlV7*N;monG%vU+;#fAX=-R^5_iqNRUY_l|g7blY_JjJ~J?VP{R=yQayDJcP z_5stu>k4%jmFym=#6420d!#Y%k=DLPI`uU&f8(>|IttjtGnkEK9ToIsAAU{oK=k>*xT!{-tUpR;~^mNR9) zG-F!(Om{2k-8RwB*#CduER^^}V&XF%19rs%0cD0T_JvOb8=q!B7nreclhmRoljQ_e zKEC8jygbkECC5U=8F>PW@&x<#IW^=7SM79cJ}c1vJF_!;+tRjeLW!^V1)uW>Fda;M zm3QDZ%fhF29s>K~1SBWCVq$y~_3^dHrcLMa1diz);t+g!_1^>bjr-UqzP)exmS@A8 z1Ix*+G+6)${r87Dfm<7)iN_od0_&T}z_4(~PTC&0n z&Im{pL>y&$IsLCT|G~T0&T^N#3f#OZujYxz<;AY-*;~1) z>g%hJ#VVUDCH>83Hz^4oJ^6xv$_L+Tn{K`?<2kTbLXdSrpH-_8cLL-0;QT|5i%RS3 z>+A9aURADC5B=ez|AXV>R}Mvv{`^BLE~_S}di3b6V-DHx=%11{za&Y2S&R4FiO+v1 zTzO)^_VlOIfvv9vME(c}S_$l2{Ue}vF3*KKRi?oq?*um6-%<$@-;poy>Dq7Zg}-?O znQ9n+1{iYkCjQ~sz}znSyTDK282_I=AD)>r{r$u4DEFV|(Cb4MM<@PJ5wBU@HSf6j z^0)i6-<=e&+HWtX5WPnsy5xh9_MJm_+Q0B_7WmaCsKO*rEWwkaknupOiBnWB<;I1D zPK_+QQr0ID4jyjhFjVU?4oH~X>tSYe!Qz6mOP8|nv@bI*JUBF&Ie68Q$ji@sXUj@# zkmPu(sLwWKfr-${0C(pJT$OxZj0!ZHmvK8XrC#WGafpRWk@w9*VXu%miAVcXqo*aR zY|gy8F7@`cx6wNapPpM9ZLS!)yYlNgSL+MY&g~Ur=2wfk@gea@=h>)DOKyBjJ~2_% ze_71UPpM~Sn&v;dbMtfhg@vyDYO%MzWL{Yrx<2jht*_ZPa&;f1GJMkf-@Is9D({gc z69f(hXq6kkIIHmE#KWV)a_WD6Cl)nbNcLYIH#awLto{ks}VeQOQL8mw5q;R;)b>22` zYu`|Fx=E_evdGuWdh>#IHBXk_?pZZCCyq;O-y(dz<;$I1XZ?*{9mjd@Zkl|obz9E= z;y^ck?ULmiS^~X;X4@q;__Z_CoH)~N^3?ZYi_KcjGmUl0kEa{l{1g(x=8*d(G~(@| zCYH7@n>(%5GPSb2qRn$V)Wh_B{3CpsLpz-O@{Ph&6NF{1U5!{g^_#ARVWg(M_ z7iO`0Oa~8IeszsSQ5tqO*?mmUMRe-Oc=bwLHG=_t)?74a{N{ z2~FH)KN4Dm!zvQnq|1IJb|_D)Nb1tw_9Lms_*zABpY^vN$rGH#DpMwToBd3g5*${U zIxV{FXX=dPX_aZSvhf|Pw&R%b#LN{7k1+>EvU!d01i zl4dVZ+;V%vTP;Hcj}MKLvKVh2FwEL>ew$kSi7chNp>r5dx&Nv;acH8L%=_6=J6{yC znMvroG<8+HC~eQE_WriNyIx zFG@e~Wnv5eY{o~DU5y-j_ptB(Id8sxtm><$X>--ynLpa|XX_*R6?JotgirbJqRXeu zP}A{Gg5f}n>V#UO#kW3+H0^Bs(xs3g-SYLpvPlWNE%{s%A5@Dp{kP%MJHq!bnS(>$ zTu7L!powMU9H*!m6U6lb+KiVZ^5#}J%RCEcw|pWNup~jTy@d{yQ7~ZiSPa4YS8vf-(1p7;%vpteRBePt6v_Ax#S`7 zWvyV>o*!bqQ#J~uX1wa-t9i^67YZ|U4i?%X}=ne#Rr zeVTP~nzNOfWP(G=bqD<;6i(jZ(3HH;6=rZiY?aNz$fk)s$^V%?E8g&l zao)1isjbFX@%o)fS1STJ3x$N!&ctvu-uOAej?0K|`jT)He{r!mgHJOgB&F3u9rZ&~ z3KZOKG@E}s-k|ZMxQ<0JLyL9gxrwTa7ibACb=KnYZ@p2hu+XZaY>^SdjN(>K=xZDqd2T`yS@k^50B$`m|!gx_PaNVlTY?S4vJZHhD5ZK;~pH zyU>O9IVFmDy{p+b-rA^oAVhD8&SK5lRTGRRsY(WWc&JsH1a4LcTgSCf+n3XO!qIzE z|L2^Wl9MVt`Iuo;*yhdLaPt*cXWvtxfp-8dGuZS&IH z+}!HuJI}(l?|zz_U;8_{>5hp>56e2f!&Vd4SB0v2X}!yyw&`lCjd;Ql)$W4ANv#tT zwyPTOIu>UtaqpePy31UPyJBf+VB3Q2iuMJEWt;@!+Ikd}k^`6c?D3xdvF>I3W|_`X z$p?N@85$V#Z*$DKcUpi^{Yco|(i4sBlNx6hv@-IADaRdnw0pTrtGZn$SL4D@0`m1$0}2o-XQIEyc*`VWOnYa&esw z*V_rs>c1kiB)@bEKYCHEr*f(5T>y`?wTRt!; zmKgL1aWuV|uEX*`^x)?I%K{$VTo>{B5D#bJ9RHrT>efph?pN{%X;7N7nj!Lvqoh}! zn%zqY@2C5e)hkc>))h@z9`jT?z4Bt3?F3E17LDD@xOd%Sol~WGJji0>&n3b_5!-n- zKVAHCfwR>Nky-m)?RXCGJH7~>ysW=ppgrourN!@Nw`3?r<}^-kYUi8fZ?-vs>gJMIeeu6dQ=BWCa$+Nse~H{a zZ1lB7h1)l4Q%(Dyb7I@(aVXcU`twNo|D@#;57cUIF0LsFWvXd)S>$SUp^729e&!N= z7Oq)c{}kr>PB=E@Xwc5{bG$4xx7{G#X-WOR#4f#_7+Kq!CY*cM z@3Ga{WTI{JE>8St^VU)EY<5D}*W%r6BjH{ft zTC8~cb5Hqc8}FW}i?W>zd^)(KIF&p^Wo|Aw7}>FCgL9;e>%R#Ne-^oJI_Mm8$2G3S zQCFZRZplKP1$?=eC6gKEO!|G)%!OC_{xc3;k&W<=X>w%lu z&!Yz!+;?AaYkkSFpn<>miT%bIZfzY*mJV*aG>*MYFxcF|nBUTE@6*FC!Q=MnSgj6s zVMvGIiupGm?(Uu7KC_d_r{#E75`*FmX7hwi)hQxHCf!TByZ?9B^mNK_Tc25SBFkeF z$BFh6?voWg>w`Ncn{c=Ja9Db9D4q~)5jna&ieo{<$&)Ki+*Rb5xTX7M=R&cFju|l> zHEWuJMLgd9JTB5SckUgIDjx1QB@XsO9ZUCcE^;}#EW|}G!|mPf6CzojJu`Q#VesCV zA@e2Covow!ZiVMO2AQ}O`ddmo${((uQ{$DCqPW>$qF9xb?uz+6M>^)$EZlpiV_(aH z?ir^v7tUhN*xtN_^E9W|#tp}Fytxl%`miaSG-gpxP~m7!VMxAlq9)N{Srtd_Y}pGT zK0OO2XYM&My~MpO#P>s_c3Xy`c?aX{GdwIW=AUES)5vkA@r8HPrBkP$oc-Ur<80#w zpQ#cj(pHNuzI~SUKm)Ia&y2?lmd`o0vEx+8<)&vferyZ;rq1x2bzsV(1AZ;9#MBhe z-F-6is^RHPF=xwTI=;5_Zx2-2nZohz3J=SNGbgT`efz|_Rl}tzV~%_T$HS10-*@~r zJDh7QI5Vq3_WhA1hi-AqQR!go^<9y|AfM48Ghz0pBXgp2W{OL6+%lQS(Y#=J=E=_- zN81{jECd+;ZSdQ;z~}TuZ-zr6CrUbcWCFNkIe%mrvz$G%vB5$@i0APV&L}uLd|O|fT;o0aJY#U{g(jCb zhxVzQ_`fB%`<+qnEQY;@E*xob@Q_Jh2(MW*li~PTmYF|Ic%75Zq5jNvDW9r?GpuY^!l8g;^dFpaGYGgS?A2hY5 zHnhoh3vx6{CoKG*?91KE8_^?i!;ZJR=O`!7f`-ty3pq3zveul@kLZ@l6>{{rA-?xU z-BgC&rJa%;*G?4NTs66&OSMDe!p$ulH}4#X+_fU|^o$#GLl;T@IMHI!B;&xy)p1nZ zB5I*aqvHyF9*HI%2S%9{Ok!)V3R^I`NHmHqn7|yskh}ZVn!8bAp^e$4j4m228Wv3A z8?J5-Jt1Du=*YpCy7sC#N5qz^QR}7#iDyKu%jMYjHF^zeOx4|U5)O?rC$6pA8@550 zg=a-WmQUF8B~5E=8<%~E5?6@m$i2P2*LO{6qqqc%;EFq^r#9GjFv=XbCL_UQTM&CA z^y&p$#_db*@Lsr+&3cJ@L(Ko~)Ico_rl`c|JF>Bl&)(f%+jz+K&Lf|gt)el9Vq-K* zV@~Y7duQ#v<8#B`?u~mc%dvj$o&BNF^QJP-Ub;~7f}32$t;Pq8d^2uVSvRd&%cOFk zL43jFPF6;_fQB^|4PrN#S#~h~_hq;$dg}L7p}n#Ux9@rjNHjdwz369~`>F z_+xKEl;JJ0X*cIhy(M3FjrCaK@79M$nXXS>>l10qq+`G#eeXP*T#~?s`?AY!+&%J; z`&j(ms|jMh;rwwOLif%I*Cny>CF@!w8rwbmug!Nu@>{%^SYmH))47yIOGG_5f7}wT zc+e7YzwfSJsqFQVuZ;%Bu73$_lzGs^aX{L^jlr?5QK=$D+~cOki$-~kCUK7jZi7gv zbqP9QkMz<~p6mE~p0vb}eXmE-YS9Tuj76c4}1 zg*IU|y-yXMMb7{0AFJ2oajYRy%wI^aG1B!me@5e!vrpa4p6O3`78{r1W0)GxmipEu zIK+=5G%Yn;@0kbR^RP6A;%D1U0IqTT7(r+nz z-x|Bmy^y)_qKqYT;C_lT8HF~2h1Fe zHLfqr;u8O_Z78v2EVq0rDR*MxwmTX(S~pI8F!SB*1$L=g4;qxu?&@2XWpM3D}tX_P%>PQ|yhb!kam5*-QytP@dCzu zdB=~{-c{ttf4S^Dk40m)Z0u9F6%sqHawX-rez+Zh$eJrPC(#s>$ z?reXW(>fz@;k?Y#Z}VTdMPKIq@P+Mtu-yAkX89eLo4)tu|8x7`^q}C!ycogn1@FV& z?{zI$$oHi2!~ONk78!(nxEgRGSk}POW=4eU&A4ru(!GsR%bTRzdjuyme3o6Lxc{o~ zijOY?P8`oIdY~sED#4_lnkg54Ln5Q7H!kz2MyP6fsQz@GY>r|>`C=peVq^Q_|0e#$ zrt!sQ`Nih-#TNa=mh+3P))!mvFSa>fY7VCbD7D|t;2{0gO#hpu`?tjU z&tc}@OzwBGaul1bD9hf!@ZncUID1+C|FQ!9^1|=MiQ#3Y>17W4%Pic#TZDhN=>KNc z{@pbFd*S->>iy+4?B$8&TkNI33Obm?EnqfG|0eQ)HMpNSSiHhGywpSBM}Yr|Z6PfG znG3d9yeK!$FLiPL5x%_KXnsX-ens|&A6@d_>f2iywzma5FAqHaW7`u}l@Apz!4*dL zIUDj%^KD=YUH-N4{Wk;spOf>yPOJY`BM&}U?S64UdrQ{*UNw%df&PvEIf|Rkt1p|+ zuu#01cSrN=`3=??zwCt>vLzTDB^vuSu=Vj5^I!P2A-;6;^Gf6Ls_X~9_!O$yGOAS? zs#kpfwRE`_e+To1|KE4Zm+jnNv0eOg)Ah=g&nx%*=igLc6}jW*V#vX2|G%^~{7(8` z?!as^SG{7bdl}<~UkX2d)QSH-63?)MzmhSdCcB|ZMWez+yVjATxYE7+#`zzC_x)Ph zS^n!vmtDX9=WPD3#Pfe{^8d`cUK^a>bo+gIrTpi^&%cGU*PWZs>oB=hXGIO@U^V&g zMcb<{FaJB&{j122n*H0Wip4*_U;gci{~!Bq<~rlg@7Mo5r2aV|o`KP#W){0i-S2-B z*g3ML9tCVZ*1$VSuxU-CaYMlaCPvK))5MI43!PQOCH>Z9d|cp`&7~{#L*mF;*?wu< z2di023g||aBsflxdRMX`tx?H&!nGiStpe@`Semq_o6Vgd^wL$gP~_m3f>4zu6M~}q zI-IZYE>TN58TI7V6s3p>X{-x;Urb|+nJR9)?oCDE+Plkr-Tq(Dv@l$90r_Axd9y4N zeW&akg^9~9PvF(RROk}2ch=Sir!FpK&Dv_gB((lcp#s0$S#3Uj6~18SF6A4Kg0Jpj zxqI$!^x_sEwjo@>VAXHiKN8s zZ|a2i*KIv(4nJ5eBcRshXnBB)AXEA+?|(O07PjmO*r5PDSWW82f@UT7!D^Exo?tLC zB=TT2uYD4#Q$x>1uxp)6n4ml@%I#!}Ky=i}|0*+*`YK@utMOSb?KxJmv1PVZnQ@oV z;+jQHny3CW_?Vy4xwzb@^%tkcysA%?8T04Am~mVy(MC#hs^A&RWVz)Tt9&KW+$s-h zU;UGzIoD_zBg3i{k3OYHrK|{0ha9YCbx3mYoTb+?oZ03r^L(LE!B>^B;4qu?8^Hry zx1aMLVtJk2J2hfsci*KTX;sGU35_o`x6DX7rMW0F1TGkTWDv+AwH=d6Cg z8xN9Kf4HWRzZQJ3n%liDpLOP^6pw5TxOL$uH|yye8b(WdjNZ&YYGkc^n2-Or=K}W^ zFT4#VJv*`Sc!-qqhFuSpm{;ux6-vnKt=!}E|FoX6b`OsXL&l%SGAS2czv{L8{@eJ1 zBeU(&Ir=F@nLO_M9XO3x8deru;xMjFX7Mt9%gwjSqv0@j$*~4!@z^EZJ-ikL0?8Xi zgtcEBFpJ)V@j*6ZY=MQ<#2te+yqxMR*d87-s98Jk=57y5nbdcHDz^RDMhv$gVG-D}(Z zlxO`JxyMgUuK9d_{Puvi<&)Jy_bmFRNT2)sXu|%gJ$p}>^zXTFHM)N9Wc{SSPHfxH zygaRYr+t67Ok%sQ!H-AkImz2BL=5e&#m*6M5?_^2dr0u<^r-)JyYi2FtXSBVs^R!^ zeIoN8;l5oWi}!rY&6f*SFsfm+EIawIqL`uKp@71{vH(9m!8r;H*A_G#J*vR8cGATI z>!z;EN=OiTsMMgj<)iM5pGs}_t?oYaX}7w2bDh+JS7JL{TpKhe=r!#!KC0~(Zms;n zz)f?`#rGBLPW+QDv{>y=PSZkJV0SX854+?b3>4rc5tgryYtp z&{x1BYSY_SJSn;7iHG~7yV}{4Uo)w0*rv5a2RH~24hIK1goOPiqt=SU zJwlqczPVYPvkx=#c|Pyfe52IvrE*uGw)2eUlvAa9lw+4o(bTe;b0~RNPoT)s@KZKB zR!!UfB=(%rgHzJFe#u{p?r7Jtc^h>I$E}M|mwv2yzVg_K-q;Bt2lkcOW!VP0{d&VB zpZUdY)7{PGMqLiq3l~F8pb*{KV|gHw*b%Z@BPs+$h#?UTU@U3X`Dr;@&zDh8-)K zEjY!QC#_1Dx@pgtEYV3^@ekKRYIf*IJhXqwU*veAH7&tg&J{@S^DcTg&X~^Tu zQy%E-*J@E}HH2+qxXT0|8zTz*Q zh8+44Z2_yyg5u8Q?aVl}w(DAUL8ffk+Z&p~yKjX23ZLC$xUDhvi_hX35%udW7nm+* z3F+kAQaM!`AQN!=#=U=L8z=rht7dTWBS-40;OVpGzAJ3kj4wU0O|WcXQ$j|x+jBPa zeV_lv6s}*H^X&1qeTQEe#bsGNV6*>W6Tjp`tMQ(PeDxMbl=VJ#2Jd+!w%_8I@w$(_ z#d|d5Us;@R*84PZ@}4JZ_LirD*L|A0`Og#ie9JS*dY@;SpI}(%A)+Ia$msEmQ;g}r z6DElTtf>c>8d{my7~CD(7kxSTTufn&0-sX};}v%P)jM{HvR!QHW>%EwSWtEJ;{>gc zyAPkl{{MA2xS%oNgD#I_{7=cSi5wfmpS~%H|G}cdz;u3vWBF_)x4@tTs{{Tv@2mN3 zLV{b_PA*~KOIg6}m!bFbWWLRNg9UriWqxx0x8ZE!t-Q6zh^5gpL1MwnS^tlyzgY0o zDfceJ3>jDUC3am-4tpKL)*Ig5Sx~rIUFnKJ7Sv*Z5Su1>33(HH#_|#P!y&DVGTRI2dm8`?k3QOH#qXNB0xeG!+~)e|(;F z%zmEg`~Lsl2J8R-wZHR;*UOQAkL<}_2R5F@52CG%EM8YOI==eKX<*R6yl$l{LOn>FXX=7oqHs*L8pTu(5GQb$NdkC4mVfM;o9`z zaOB$J;-E!C_3-n&HwDo9kDW3j<76glu2py zxgh@}_J~MW;=hmc#p@QP|A?=BBFjH%4&#aj{s|tJHJRA-78q$TsvY%R81jHssFm4i z0jt;CJ1%oCh@R5mSnzeK0`rb0{xaG7Zx|&OIDK8}psLa=wT8+1jjz!G2IaWeuaym3 zUO0-dG%`puC`KKWo6vFNtO9ez0htZldI9HTBOF*_CdeqvXB6OLyUQ5H;xD;CAuwbS zztI8ZHpbh$hrTH;xauj-B*bvLaS{81CeatZS{s^;j2>T?e5}ajp#Lw)K|Oa?{`KP6cOr4qT<^=;Q!$e6&eugWv)O%UO@Prz{i`2%E>y%%HL0%E5=qf_F7S9x(hoC|kGG z=!m0SQ^JCPr5fv)lw273nj8%x4vMfi8@*^$YC0&i!%;PaS#g<@#GA9%Wg7&4EZ~ll zz4nqJdY5Xr^QGp#+#v_zI=y>iI-wMcZrvh)=^yALC|(u`Cb?!3Im z`sRO{>Ix>gB}~d1N{Z+1a!5F8d|Jf6>;Qv?vhp7{b`?!#9nE~H)*D9;@XT4MbB0lh z!O?n$qtpW@5sqdh83xf^%Xwxk=1O4{un?2ZXms9pLOCpcfl-o{PU3@^YG#X;GTOY9 z^U$1pEKO+#)8ti7cN7mT5_`2E%xR%nN4}Wrf*@JNHbLC1yhP~X#o zb_=*uvF}S*RQG0v*ij9!R?S6? z+FM@Ec02g^%JQvJM}KeRW?10pC&YScS`Jsvq=o;MWlAxqtG!%mmbJug)#5`Alb`X5 z$Gqa@(7jmnN>7UQ)W3W8);O7(IG*HUSmejhrKGUhsA2UchBfmV@25%``ZU;Oaq03n zbG=~_n(L&*A%An)!wqaI&IN&DnupFU;*ttDEOsm1yF*qsVWIglFHyO5t|oe`da`$h ztvhx1b*yQvS3-=)od3x4Fzs zss;&{u9YgtO11WDEqKl=AfJ|Vb!x)BGqHCzHcJOEDl0Tz-TCxtq2rBDclCBH5PjkB zT~Sj-?fs`)_vRMOpLK4{>_<%-*%)O)7H%{;z%a#0tcO85nR3alER_SR z*1T%`RP|ij#YyqSD~=CMEtBFmWX-RdlfLnkf^#`?C20M<6w4KGFg}dgRp3?JGA8Z^A4OgmeixhnapS@7mvrx1Po0W*{WJ~bb0v~>O-VRg8eL0|IH^qIdIQm;JV`A#IeQRyWyl&s^mOHt}iM9o7M#iFnI22;4Wwo4~P|< zzL0f_ep)ZN3s6lF6WuvgvVIA=I>nu6f31tv|4Rw^+mM;$cy|1mH} z`C9BfhBv)&ZO47jD}V2cm2@fk(Z}$VK~n0-qbJj1UHtSunRc)-nBG5dK;!@YTOWBj zJ&pvbD{KGHk6hivA+vSmwM~rDt;f04#8XU9n;Bd?t88d3Z!g7qpey0(l@0ei zwpDu)FC3`i;&|s0lie%R*WcDU99yKlZT^#eO3pk7Sl2S@1!y~mm@@hNU&3xv`aox1 zYI{IheOb!4HFnFlWwj^r)G*%o*wDOgTh95i;|p_Y_oNihlF8dIll$FlXV(%RHuGCQ z%?icK58o`SeN%es?bddQ?Zx)yCGO@sm9{_mxUD4qyEq$bS-yFB`S$Yq?Z-0BEBehV zr*E%JHW%E+t*5Z=??HVRvxk+(x7VCEuid_2SJgtP7J>7tiW7Hy_gaxv%f6$5e@Ah* zq7d7HlY$EvueEQDIxM+`xjvsoY*UMX(2mx4i#GO+jnb}ry6#9WORSY}u;Opi2`USf zKI~$|;8>;7kiMgPzeUgCIUbXicrIGvwP}g>p(Q?-miRuZ@Oziy|8EHc%hLd{r-5q! zp9Yydb#H#q5$&S3IbCeS=DKCeQ=NVmJuB-;-#IPc@;L9tCZmiT=M^n&d7|w=GhbWB>&Ic@E%;Ef&34OY^tJ0>&AM!e=dy}(o!=ZC76Jl0+sy=Bk21Fw(eHJez7Uu2wDe0kn&gFjNQxmK@d znf+mv`R>h!cT5*IdY!iv z`TD<4X`I_VXHfQhKoO}MK{Pv!6-}jv7w>tlS&jtS4+80S*3+G(CJom0;OzY%7 zPM?y_H)XN^ep;u+)fc)8k(%=a0s=G;*J@b&NfoBF@M zMIKmr$8qj&om-D`k4@%inEbo${QUa-mh1m*E1GNdlqybY{;!fryCGH-@GZAeNWw+YLm@}|4PaDeOTQ1Ak#}FAlCL>GJ8mk^@T;2M%8my z8^4x*(z*Ocmodl7^!mc{6`u1_`nNyve&pbDF2(nrh2KAU|6eJt;yVMCmIfI;{lsZ= z;oYOjryehWm4wfPf@Vf$?#w59 z7#p}5q!<%=_H?COxT;;&qjvFI|lt11i^H`*|~i1?hzyUd4S_n2jbTtb~MJdk84mxx(m$uL#a zZO@~U85^>_vfO0##E(qway@p9Ej2mqfmWi7c`HwYnC~w`W}Z;F{2ta8o~aYquFgpL zx9XOhZ7WO0vmVEz!4Ho}zIgKU@~qOiDKBDf%wh8LeSOX5w$E?5x|*M#UtZr{FaN)m ziIpd+W#Po>s$CU|jeC}CQaHe0k|!2~BZlLISP-Lzt6II=`! z=7LF`3qCPS?Fh+yWTeD$AbIKyi4PmLHA#3dHhU_pTK1n)$hRk}>4b@w@-&Sb5nf9q z=k6{P500}`ov3!^vCk?6!%yqfnR$LpFt)k2fSG^Zh1Dnb2xOn)KWlO|X7X9HyEVnD z+47qbjZ`OGNN8uW+_IqA>iwC?T9)!X1XxAJ}nxLd`oBHn#_?>piz99(Q2y?w#kMN#%7VTb&U~&xD^#W$sC_J1b$ZPVC5hnR3FZGqt7cnN+zS-s zI^1z#+tcgu4cc96LfIzxG%g7@OLS?UvdZv~NK_kV*0P#~n~K~Rt{JGQxd!yDTrnfz zpN^X7hf@7p^J@P|zF4qut3sQ&pM(pOgj>R)j3u#87PblptYGY1I(ymy*N1TzPBVxG zI6P$0WAQN8Vu~wZ%;no-@IrU5Nd<>eFt0*F-;5P94#(>>?}RK$2ufVuyj|HS^urGS ztAUGbc@9;J?p=IngMd;jZ)TIH-_AeRIK8Y|#Wn^jFt}K*c(XNt`IN|B>kG+~j?UsN zb81j?eYP&TB)esw?DspR_ve1^O8U`cCiiSn|FNGP*SPmRJ{Udk=d+pbWq-X`I)C2( zUz-JDMXFt7de{H>X%J$*_WfM>`F~!WwU__<HPWse!bl<|Nqa| z`}6<*`}<$Mfl=fE180N-vz$O9XUGF4$r}#rb^=X;Qy#ErMmTcE2{cPydBA3Q!;!yE zphZ#SA%|y#lkhx&R?U!yT#+}N#P^2$TL${Wt|{{%W5MIH%s zMz|=;33hshJQA9D!$sXruq$xNBaxL6uG(>e-H}%wiS4}Ms$VDAlPL07;$(!I@jSua z%#g=YH*dI^?-T4Robp)aWrVx+J;DCUE05)V-f*}7Cpe)|2btCQbZ5<%x=Bq^EbB(Bzp{o~T*g^z^S2nzB&jsfK5ySMWTcsVhUCYDM1k3g0I* zZR3=uI+>B)(f5R=@4WI0%=1re;JKb^4#KNq+jto;khqEo?G3#=~uo_c;3e;&uv~t`d8l* zp8xa8bGx56{pU3(XhsEg$B8VKy!yh; z@>XDfoyZbJ(U%^cQ9+aEi7eF&ed!f>D`@&Yk!6NcU;1Q51<$@GvfT3OOTWrn!Snx# ztZ)>470?+KvRF=ZrDy1?|3Ncvg)FxdT@^U>RmjSy(A9CGt0S+z3fp-rbbX!Znncmp z5htUgKJm?fXR66;6E}^D-)Y_dU_|l~-TK{k#>v|DWiFM$tD3oY4`7 z<-|62hQ3LXyd81ePHfY}sc%v=qa#npiEW;F^-Y@P?a1?WVp|r9zRmEAj=DTgZ0pL< zw^@<5qpt50+qQA)+nmhk=-cq@qHBvj9Q zL}A{??%9pk`Sg>I+lYOd&>8bYK0f*AjRLm`-ft4swp%PbR`H;Jeol&Z{LB+)Ca_G3 zT$3VgE_uSqEm+{hA5kOrgJ)9X`kKH{23P`^4QE=-aOKsf8%7*vQvTq30o979-UcuYyyW< zY?f*IlQTR9r7TFUfxtrZo&E`VCGDwfA|5?S0*+Gy{abHlEbCe+elFAh|7cqLP1KMw2TgX;*Y`WhwW(@_#i*}9&MS~kkydB)^ z`VU-b=9{YV<-mFG^Bk*7UmZ{^%uesH7Q`ag#dd?HE=f=vS;*C=ZXuz znLQG$!VDUw3VP_Xe7oQTq*HHOa-v0->A5sbfGX(DlG;mkwiMtnyi$Az_&w%gwge$*3u$@@LaNU4I z$Y0$1qsZb#Tp_u_{}UO`+FWFHFqFzH)S7eg&$36%*8UH@&cBEY)Z+5vPCCF^#K1aX z?U_dmS}BfNOL`bN8W_3y7?KRM{QNBfHpm(|$r(4vH9ljzugt!2AxEXbQHR7QbvZ}o z^hkD0I2D(7jAQLZuX9T3yiX*IE}sdwu;q=?{(x^H#+&gJDxcY@05V+r@hY4cu%8M4BD$IyC$e2*^IR_Wc*8>lXgOLj8+=ida{QsUy6IuOM{q5O%UGGF!`ZN8}XIy?r z?5nPxYJsGv-qj@wG+yiLJ^b|k|EW#MO* zm%d7UVmIWKZg_aOukm}y2dN}~cH^SsEt@5kdL_#?oA(z#;dm=KFPPg?=*PT+(kVQb zf{cDd^{C$5Ag0=&yYktCRsL_>6#U&Du!}jUyY|0i_;~fqGLCzfS^M4#JT1DyxADci zA{lX&JJST2wH63m=wnPe!0=Vq=)qbhmj!>j{JFUrb(-IuY0G2d`y%RvFy2g@Be|zzhCIT(A)f%OTeZ5{Ogt__JUXJ zFZViHE)hI`Msm8I>;7O{cLzp`;)kDvwf!y%>3`6ABPcJaz*n(QFk!P;_BqpXce9I0 zUsV*jCx7_b6RaqEmZR~F`OM1}rkkFeyJ9{)QSq?P_nr-AiD%4K>sZ$Ns}=`XJDV^| zKH!+-_vTQrX67cF^TxKbdu?|rI9|+goIJ_ywEu?;J}u)%3`UMw0Sw%0c>gs$VB%Wv z!>&JQ|FauQ~-!YRTm!Dl&tLgm3i9bM()s*p!uxID{Jp1eiTH3;SpDEwFUm899-EIeCl>A!qLuSxgcP`@PY* znpN&&(eu6scU*b}g)b!D-QX%XQT;Zn;YA+if(DMXYlf$frN;LrzZGCvvrTJ5L*n0e z9{ih)7aDz9;gB1!(Q~=eZ7r9W^HUj_K9#YV*xe9S3gx-jQQ))jg0za`k^iqmPcAaJ zG(mtn(XZh8l>EQnj&qf(tiEt8%J1~14cs5U_$@qhWzhqUO>d)TPP=j>I7xF`z-_kV zPQR#wX|E(q*oqW%9S=yvKDbeH?dF#EsSA_r(-Lm2TKjB|-mj(vd#=XI5)W9}9!9NH z$O>4X-}~-o(K-ep)!VnGg^IiA^!K@6SIye>fF)0_N_1V=`-@e^Nv}4E8_0%Tk-3_A zTP-Ve6>cuC=)Nv}TerBD_x_5jHKz^BP8!N~^5(`k{D5BB#%;_+n({e(M!E5X?LbNp^w5FVITHVetX_~f~1(WuT=GPx|j3R1_^6nTl zas3x~+#+Uvq$G_iSHHWx<0|#J{G_?XRv=nY;P*9mo&As6_cGNK-_Y*(QB%ZM zy=QB%DPP;{8=dnbn%uo2Ei@Qb-RNR|u$IfHwji z3uRv<*xhPOFG$on!O*+)hR%y^+9xEs8@sx%K8ZZp)caI9=DI`A%103oD||o9Sj!`+ z`_IDejNqSLKeT@RuoIZM^3Gz}9>o~rLlOcFefydEu1aXtFi!4m^m37$?5?gXVVP(6 z)5OtI*)B3~Et9y-0k%8I6ZRkKJ>Hb}wnAW*1M`i-KsLsjidWN?A5s&U$(W<0u=|GX z1WWB(jdHdMGygM(SPL9bOIk3if9k}EKW8jtVw}e`YoXJmrAZ1;H%>dK#CFV5xj;c{ zU6_`}6FsJ-Oe_ivCJ)&EC9TYH;!A3ne|aY3gqbtfK4N;%Jn{R^`FEKmnL_v!BInNE zI^$(B`@cu}FPhG;Nn$Z-U|x{m_1R)Rf6L;PN|RSJO*-y0b>ShV4Hj%S6qIuqCV5L~ zF(gdsWb)d5Na9MQwvv_dzb39lN$jf@bp;>bty;kRwL(k8a=M^`R!-EijY$(i)s)v+ z&R%J$yv9;XLUQHNNG-7{t(aL_Pd+YOcxdJ7L-ThsEthMN&aUVOeMpzj&O@>Snk9 z?Y$pnY|FmAEnj+jarE}`+1smcZ?Bi$(Hy;_efEy-+dKNDcTSe>XNH``D9gYIx)CLa z!JSE&nStX!12e(17#a51b;)?5oyB-+jwkY2jPo6uxn#Yzthl(?W3pE4sVyrnFArGk zHP>tFs;jFbHsd}x_3^2>-rLvR-Cgnd)!ozE*WcgYz|1Y@vtz@3P1px4pf+qxki` zv%9yyzki^aTi$Qaj*pK|OxBJ+w`b?)=NA@x&-dHA>+9t9 zoencst=RTTYswm~|KhJ#Z@HHBdhHIQ=ZDsCe9XGIPV?uj)f=P)Pfys$rMO#QgQVf? z9OrXRBDoBgT=)z<|yNb11#b>9}aS;ulaC@$NbHQ!vgL) zACE{Vd3`)8k-p~RF`4o=ACD`v>wG$)GCk+hNsZ-eKAqCp{^rwZgX22JU8i1!8gJcq z&*t+vo9}NvSD3!eS$jc9@UPAm5!c|+yHkDMzx)0E0K5L5)#lcF zbKcANcK`Ws#{B)C&lk?G-1E`ZJ%4YvrTMl$v1_z;|2=#^dS}VzE8!M)ZqMV_|C{vC zd~Til(bFOSoZrq5`Ty$&=q$#p`}w)KHy_Vu=zU_pTw#4fkK+S|=+FCDtu|zRpB?Yl zQtHs`QJ^e7=fsyLQtlZd&k_Z8 z&l65kpC)wpEKw3adBV-=)5HlqG(3yZ^K4cW>RF6D%Po$3o+|>M#kkz+`pI);yFSnT z(6ij;x##(+Tc79sIJ4aD`^o?3>wbNn&%nFFf!*sulhl_59KI`@#7|vlv-+}7pm&9f zy4S_7s4t5o&aQAXKXtLM>dRsU-jyEiUY91#`m#jBccoYOsY}y#eOYSIyV57!>+-By zUzS;%UFlbT>hio_UzR)Yt_o=Py0S>>>k1FwRYB8FU0G)Jb!9;Bs*vSgS64-ST@`V5 zRoM1ZSJzd2U7f(YI^uZNLd#S6eY|TtSZyWjna#4+PBMJ$zuR1N=c=RY6y5|ztuR#KV4c#h;H;H{alUVj0&<-KKHt}4Wr9$X63Y3$p~s=;`xY=B(dConm7O7)*tIG} zu*z0qOO7iq%X}S%*&iEQ*Rs9fit#Scxw0?)x7C&Ei=8)`oPSz+C7RC2S=?SW2e%N|Ilr8viS#N>4<6Z9D z*B@*ROmCl? zEaXe;c`Ba!%=C(LF=yO~TaKJQDQ%9Dd~S+P^6$b0+V#9DJ$VabN7EBqtG=T9eEEP&}$^#su|9ndcJI;*z#J z5sPVRNpnpQyYehNv&luRMffb|t)5G)63?gc?R`0MZmbf^3a5{PTb8-BhlM6(erg+CmMo5&HEE5&!sxf#&v2>C;`45jK9GKSnYPFpmdHi$2W~ zS^r9&%X^{K0f$b`;+EQHwLtQN6RY$Uws5hZ<%R*`A5YENvZwUOjUF4mBMTOWx%Ct| zs%vY+on&IQyihH&$y-2~GxuRTgOPR21hrM?+*cps{HmjtXyL!*P`}=Kp9|Zp82%c& zdg$K}xWamoC*L({|1;Ayp4PTsGm@NBO0Em|Itbj7mW|oQ7L}d#%=u8~s@pTHB6fXs zEKC0{ZE}C-MxU5H{$?!ZO$FL+7DZOk6#@MF%zRcfGiH6c#l?Qax8z7&&$UVyZI)Hv znIAsYt(fOKEl=vnr25#MjfKZ6TRyQi)&x{cFD$9K$ysaYD0Dg8f8V~V@>{0fUb%|(*4JI) zN3Juw6|c9rH}Pz0fz$Kg_v>5~n&+PvQJTHqF{|O$W$#}SM@?jP1S;%17qF;%9OR1n z&?NDsW0%p1gM3vVniY5!ax6B7*D2vA4vC@FDQ6b)m7h2)_p3nh^=gmo|KFGlr;0vr z_wZRHG@V2C_lEc8pHIz2xw|1=T4R)iaXjADPgs zYRlj)b>Xn~79rx?g^aDK04B9= zi0qa|V+V;2NhSvYBMuklOarB~#ggv56H?|6QiY<}4;Uq9&Rg}^H4ckIC)n=uYpFYASbHtPRXBNY`fC+v}7BJ>7 z)d^{gp0Jf~$)@Jmbw!olvARa(TbfK~D!DD_JpF2cu>aKtu79T_n=Qh(Ule^`xj6dn zw@(GDtt6NQoK7!!Fe!|E^3v6O->hzIWol5!Rdp`9{whe8p~39Gu16#Pn|o}J1$ehy zJ;*bSJL1i>ud7)qk3?+dZrHnT+DbVOXGe=O@q*Srj#yrKnS*hu@}2)6YCnv;KK9pl{QZ zIJarq_A^iQs(+qN;M+XoxX&}A**j-0I3VH7Q25Nud&7UxyuQue3NbI``Qr zB5^|CkJj^?2aOL(C`<^;nZUrRXu>Lepo7=%36uLZ29a+kggw_g#7&#FQ1FlfbD&ns zIRU{fd_f0T&7zMQx@Rq18T^RF{ru!a!8Kl8D~t}iyhyyfI?h9bZBkV8n<$07b{#89 z6J9h=ICPaI@QZ_juE2e+78cGzGe^HfflTLUg^3Xzw?rm&r13ww#l3KwgPG!lJYkme zkJLK0vQNrwDL8oh{54~Kb4Bd{d6%qjaVIvEI&{@}E7hr=EOla;m)Eq$ibue(^dPU& zhvp^K57{-g9Of_j&@>~Ooj3o7$@M0&T`9{OukLOU?lIaMz0+ta^Z%9eIIp;yU3T<} z_pFMYwt#`PNOyfpR-DJa6KzdyxW^V4qr&MS(Q&ABLqVfS?IUK!UGeky zm|A8eDO5f1x;#H`!dh{cD?$1kSFbK$E>doJeSD3G#?Ih5hI^Oua0lGo$W_FC=_G&t z?8-AP1y?-(?65W5dC;0YQDI`dyRKpz|29V#U#=#Jxe5y&cpPo-E$a-CQ^%(fidxx)Xi)S@u9;j+bCnv@I_7gvs!x<}xx)02Wum!2f4E?p zc@?L+K=^iZ@y3FH^vc`js@yv?(#n0a%%uVX>T0*!njE%nzg$+8E~UAFHQ+%V>%?l# zgVpuvb^gi~g(?}E1vO#;IaUfK&gKo08}qFca!-Zj@*Zp!F68PoDE+XE*>;A&T=U$E zW&-XV0$pq^S3*R0eUzN0Ajw`>^eWh{L`i@@MZm1R+G_&KrtKo3Go<((T8j>vn0+^C zSknCITbsy~n!nT13L@IeD%vY%v{&tDues4)_o9d|(SA;d;L<~!tQ$F)1G)GDJD3)B z@c(b@5M<=ec_BFANBfc|nL0c4)+Y-^83?po=$K(3qN*S`e+BbWfi6MAF6O{au13z9 zkNIny1Xo#DPP1@NeiEv~q_n;{hn10$pCSH$m|)lOY%aqd8O9!+gWX$SIG0V*yS!0d zl97>jHNp^iEf}${EXSJmS?+qQ+C0 zsn}u5>e#2bSw{6EL(~DzQyBu?1-*YxNIGudm@%PmA4|WiVlRJTFS}#!njccvUrbO5 z5!9TJ#q)6jdthh70>(CpdbXLa+cg9Vg(q=n3M3{APFgYH>LY<~84fHLC#gPUQDtEC zNML-v!%^!0$%#4NCq|`c?wj7}{#ihrLr^wTU{*tyMB$Xb84i;Ydaj(9ATV*VY-gv< zN{^-!0vo0X9CTx0I?!R&(4?j$;CfRap;N%6L16RK{?#4YZ0-K3ngT(QQ;RI8mqbo4 ztDIgjb9&Xz=`}Z}hl@#_5jL74D1I?e)cfUh_ptg@BZm&n^yV8@-4!!>U#7-w7N|3t zIgzcS`=`Lf#nz>Vr!6xQaPFMxc1>R>an_F=mTZBBOC(dhnT_Xonw&}OS*w|{*t7pl zML!Qm!JN&uvm$5veY0Kh#HMPx{c$6^D2_R&cFs9-bI!S+b1q2Ey<|D}O61&>DdmA% zS${2>ac!nw$WGx;FOnbqx19GRa-Q&3);p3Fzgy;6O`LZ((nsChZc}^fhHVVWGm8EM zx3VY}NkkMcV9Dkd?sj|Pa8TKH#m{-$LNtFYw$@fCm-{KbG+1%bCsz3#jSijy+fUBq zwsKe&Sk7_Fd&}_|(;BOmHfnndid^0-5d1LK@Ur;_b3t2Y8O2?*Sua+tPoHNoYq3>V zvebdP?9#S?ORY>%GPb|e4hb%id$dT+SaNy*Rm=t$CZ<+R?e8Ua@MYub8fA? zXz4QRrC9h6>2kpthKZRo%rfV7`TW^9Gh0~x_NLrDHw8DPNl)Ch>hP2-rAZ7MI#)Yv zbBpJia%N-SE+*T`T}4~A8Fd-j8a^+a=~!%5zIxv)_dG9wTc2m{^0eT3rLy#~K#lma z*o{qMR_iWzc^-LXv698W^~oyBpz7`AP5M;}_ik2r7rAb_is$N2`Wq_cyPGrpS23%3 z2&C?;{`B4AOZrld*&Dd5gBH(}wSOtI@v!@mMQa~K2}DY5VE#Cb-%I0>)UvNx>(iHb zC9BAsa1uYXbJFsg2Fe0$$r=Kw5z-ku7_uyuC`4~I`(M4;V)kaM-J5N0Z?@arKJUW} z`|6ZM##;i!+`^K#_)l~5x}9?Mm*?(9>#p9~vfpcKq?@OA)>aL(t&1KvMOmjf{oa~n zy)7krTUzzDjM>|=c5lnMy)EzewgTzxMb_I(qPLe-Z?BlWy=wRNn%mp!qWwxF1fTxc ze(OnF%W0p(#|7KEh4>5{d#iWoO=LNEUEr^}z;AbfslQ9bR%e(*2=#Xh_dFAypS}K8 zCTGCsx%L|!Jf{nGzAi3|$_i@CQZn3S=eS#;dY8?ViVpW4F2kI;-U7$V1O*EOwrJ;a zCGI(*&2U0nz^Gvv_r*QdFM4w}?y+Lnd!}=@wu;i)?tK1@`KR1_z5nmzGRYFmPTbA? zF;C+m%hZ5I@veO@e@Lmkn9p=@enC~8)t0?X7kAC_7H~;#{##wLy1P*P;l6mu1|=_n zV1*?C8x6${=CC*(V4ZlNe#XL|Qp*k(?TWK@;;IqY)h!_VW*76u8m7Porp9Iw!#!Td z1y(u;3anw)))9DiTYzr@)6@b1{WAi(HUfq@ow1XwwXHf|-As~NE%@to{hg$m6U%EP zKki(uwwmc6YvS`fUdE%-HyvhAWU=x&%rA44dtrud&e3TSqTfGG{lQ`D~4m7hKEgKTn%~z5+|@s%1q7E63eu*HfDDH{9nV# z-QdJRvE@b{&1Mn|1wDe39RwCvi#})*e6Z|z@S)@E8&9%LJk0j+zP@^BX~bj zLp4%pu7<$UimpW-T?;gnF854Py?E-hO|bIB?kUY%q#kyk@R-fvIQv=8xuY6FeS6NF z^)Np#v5k4*B({SSZm$q{ULo+EXFA`;^Hvki-_Oy%+oN%5lXOAJI{wX_oQnOy)dvhT zFRYZj$nDs>vapXiasqR$@Ohha0t?TuC{ElZJn^87gOcwQXTbvuXV31GnPg=!X;;Tq z(TS7vRtoU{*EMGjy!>JXv&CM4KQktNo^{c1kw8k!M$Wr>yuAX+o&sJo1-*59ZrKRh zuAOGhd1blRjK)b*pT`KqyqxN6bH++m@IZ`UV6A|s@71*0YZ-H|W$nF|bN5=_-)jZ3 z*Nbegm&9H#tG!+^_j=Xd>os?;*ZsZTAbX=}?e-&yGS&~AqAxHB{T6EXb?)4I!{*A3 z$ZJ=v6mB+JINg0UTQ>1#+h(Dey54hoQ@07;TH;~vM0EjN4>&;7qE!1>`0=f_(-j`v(E4y3EfUyi-Y6v(F#Tdjq9q)aO-~CrW$4lUJpTHwM!SizEt#JY``vl*|2|V5BabvgO<}{I+Uk>g& zwp+nQV88UCO^;rSZ9K>_ku7>1kl899GRUbvJ@+Pc@Qh$mM>tXzusd#yZ8F%%#Fu5K7QFh^UGA;FEJipLo&Y_ zvh2TLCGchTbD#b-%#1}9v+T}vDV&R15VdfAZv6tCBVYL!e$wGDb9%JDTwd_R)jk$R z1`~yQC*_{>&tjRy(4%%u;L@kJ$BOH}?iFZ%uh;5t7$W$S(~-HyUZ6kUX3G87;#Df= zTz@>O5XgQSbK~UV#HfQS3l9cwIl*4|^Uc1`-?EP->IsxiKdAhLBkcZDnKSQy%k|{) z>?!1_)S38(?U=wvKfxpYpVylRJg*Zt{$Ah_pPohrTb;hldH&y=g?|MDf7$%Mc6j&4 z!wGy}>l~Xlic6|QSqmjDW?Jv0pU1IWDDLXbMbhTK?&2aHZf8x}s z>YFyxVbarsI=rd(p4`0r{QNvmo^=j4nqM4SY$dn`x2s;_~mDxSL zb@g?4^BSqXB&o7w?RL!_A|*_(7HDkXx1Kd8NTAb2ieu%a6BQpO_H`5rUb|W-t~hBW z>(4Bg9~%`C4-5TgyXTSY=sVSX@{^sGkssq_i+$a$8Cq`aJIc#@nW5J6LH3P}sppr) z-v0JK_s&++1352VG_u`i+ivFb>cs=5#@(sYQl{el2-y&1$&wtKEFK3%;>^#_!65)q02NEg9a^cGp|FFRCOwocD(v> zxlv1Y-K>iW(t=eAtP4vD3U@5ws#>%_RCl9_yU^s2BF~m<$)7wm7EdYi(ptUcla~(f zD?@L+-6bnTgATE{wrFqt{K?1Ua!9eS8GB9A3A4vjiv6r!Z~5$J^Z81#zuoUIpZy(} zMN0ylxJ|zVxCn>-F9~#$F8vbdp)5P`c(a_vM+@h(8XdwdVumY3=9ye=43>4+>lqTn zZzSsNZ|)?z#8-7{X;@UF6W`KxT3bx@ba|APEC@2tT+OnePB-+%ydK_fjn`dLIVXIn zvhBFhJ4LjNDSPIntzmh)U9a#+?tG=Vw{U*b1IBdTOHY=U%4c1V?Yvj35!%VXslTnH zcGC6*wWVLa#W!$%RaxG&Z9$Jehsq?Dh5lmqR)kKIvg1gatfJ>3r2C?lBdYntloQF5 zW&WK^YW6VGxYH0E7U>uG{e{*EN&at~Y0Z-#`zlRwfBIwj9N$-!%Du9;BH1UH>vkq} zT1ZwMP!KzqlDcB?w8_WydH(%3emKvi&LgEO^~$W*Uec3NVwW}LWxQDQJ2vQb_rgiP za(Ao^*{xZ4l9fwLc0*j3`qJ9674LiN%sAgRi6uG;`*g_#x=oq5`+MOD<>@s=r?j{K zDLP|(y{7o~whxCF=H@d^(mpENx@_UPQ zKAmVPeBzm=%OCVd@lmdO2M1%^)x?%{bKZMa-I!m>@v`@u>Y>hn(C`vgUPadVbAw}HEAcjERk zFyHZzt4q$&NwT-Rjs&dmR%(1Y-E-Zl<{uI)>#Z`H<8}%$wkoOoU(7r6jRfn2iw)mc zHn~mlP~P?HI&)GGdr|B4jOwBY*_KX`Ng2)2Qc}}HeKhn`A8I>Y`!xB+sTbR&=Qyn_R(I*w z?L0@`xpBY-r3Va6^^ADVJc?=L ztw~@}k2uJkR?sZWV=E;1T`hd;#Og_}qh$Ad*G#%|lO<>NwK;dcE5-ET^Nk&fD?+)W4es1p7qg(7&2x$WuN@O_tr!8nU-Mm-sG={PjRcE+RUv^EbZrl zHnYU|XPE{a*!24D-10mt0kgWSN%PlzVb}4v6tHgQmF!N3-?>w3J=Sn%-lDj5t_y?;&28SXr(~D$N%5F}($A+bS~1CT<%Hx-3Socn%xdD#vJATw z?sInEdAWC+b62iV$c875d>c*c<`}%;@~vIvpW!U+k~yL1cX`MAQt^@p`-Q)AT-@6emhgwGaQU}c(*Bj_ z4y#@);ZS6qbfKQ-$fU0F_`5<6|Ao{~U)-{MMHg@4k52PNb)8%4U3IG_x&&DMmzQMu zcSN(ISLRVgI=2I(j02O71G9|-i;n}V&cX-A9g0tmCJK~Qxv2QdKn&EB`Kh4 z#IenA=Ie)?hG(SO3Y}ypv;?ha*jUK%|LDzwvkhb{LRM>U5ngS%qse1l)5XJ+4INK; z?>pcr#Xm=7-i4Nsna(#PT_!(hS$tEZI`ELi6)BmT-er}utiFgT$xPG_nK8kzW1Zma z_8%_OCbZnl5I>yZ+|uCUzvS@dCJBcN4GS(F@_sT&zJ%jB!*0bd&dmueI}XhDy<@XL z^2j{KgKaY`j(E=QoH?(z!nJDR(a1NGE*NqN{jrbT(|P-`bot4->jUOq*I>Q%b9T-d zNfVzV3;{=*E9Sapu!grBeO}>~S9yTd;$YhY=V=$_J^LufaoOR6;O-j-Et(VN@vae< z{nAzX#=YFeqs7OgHO8YY$D_T*qoc>8bB;&X8jtQh9{+pJc=X=!=zHVQ|HoqjkLN@g z&q+F-lWjbw_;^k|GpRPpllj+Ct4z=7A__B)OrABzlc9)7YQ-LdTO5@p#l3`}Z*kZiT5P{bWUn^IbnRnJ7E9`Pom|2*W0lCns3ML4qmK2> zs*1)O>vTAz0|cX9c?no~dnI*lWwGBLGk@olNeh>p_BLu*|Aez}SLdE5dv+c^ysKyS z%L6k^U@A#bmbEf+WgD`{og)1u# z*i2#JV7eOPdo9QJdX4Xm9^adDd~dDsy}ifx&KcjkYtFhGC^OAr;7suPKQoBot-`sx zEobk2ne;g3+>Je_)jz7w$T{^z;N13?XEZ);(Cj?-JF{8-!MVi`{NAUWyXxcDK7+yN zgRe%Vsk^1`{1wY}UV3XwHW?{ynmxgP!+~>c7Z~!5c+yKaz8+b?xx@R*lJiXh%>D&T zQx^N(yLe9U;Ca=;0Moz=j5{@qF8OhO<>c6^%)LtII(P3Ei3`mN&3Y0S^#q!&l+HfY z=J*|B$jNZg!tvDXgodkUE@(J1UA?mV|CBZDD;l)5_E~K5->0P^6}z0V(0{VTrTGso zHVd3ePio-MXo@ch*eA9BuVLRp3kL1b9Z&Z($Z|1#S~F2Mfk~J**f5|;#lX^E;j(Cj z@Bbeu7hE=8leL@x1Ts!IaJtF&hw;tNpJPzQ^dR(#^+<2M7Cvg}FDZiCC=zbvhoh) zK-ly=V`-?`W$A|^D(V{;#rFz7f3wV3NYLi$T{%put|@d}Q@GHi+bH>*=Q>Z*X?B9*gjtFZKrfO!R1=KToGZ@Qq95S(<%KV|C0x>U{t-JY$F z!i82|FcISUuM)c?*0m$*mS@Y4@IxYsiW&i}T}^4pUiwPR@zwinf9&#Dx!gaOLC51P z+XPtljY;7aD(eF8bOTC~OpBs476ulzo^3lCWwF%v$XQ`Y+0c`7V@|D& zIlVXLrcX52i(M^~7i?QAye%q5O)z@z-jyeg#$54@y&4;PEjRXhZS0NS*qd`>Z>^2J zy*KvG+1R^xWAD9Zqpq5@x%qFj=aUXrq1l8RrFYFv_9UXprUl15*W=DZ}WbxGR$l61}`>E27y zdzS<{0*Ei!P%ha>FWJ~G*~BmTziC{uSzfYvU9v@AvgN#Ft98lN`;u+WCEMOhwtJUs z|1a5rFU3(V#Yr#4*)GM!FU2)3#Vs$zy)MP0FU50Sir2an?|msgpsm{};FAMV0{Bt` zi&X&HTKne)=J)}>|dOUpTzmU}NP?_FB{zqA6r^g_AxBE9rt zyYv#j^wPNWvb^;2y7Y>^^vZeZRqN8L_odgIORv3`UiU7&{$F|nUq+)`Mw4C!=yV*v zjMlh}HnB(Sbr~If8J+Vo{&%g*=-!vnb1tLzUPj-$jQ)Qa6ZkSG%4JT{%baYNImIt? zYFy^Dyv*r!nKSw_XU@xr`F}1-j{RcT+Z2hIp^Nxod1_|fiL%>T<#^k+{<>kSNw9X#^qki z%e`Kgd!sM+=Dgfn>vC`J%e`|h_wK#id+&1p-~X5UfG_W%T;3zSyvKHVPyF(p#^pWB z%X?mz_o6TF<-ELC>+)Xj%X@P!@9n+3cklAv|I7Qpm;X^N|C3(+XS@6_e)(VH^1tQf zf3M5`(U<>oUjDCj`M>w&|2dcc_g?kB3N z3nk|lO06%H-d`wlzEJjlq1^jI`TvCq{6&iLMN0Zb%JxMn{zah(n${Y9Gd zi?r4kY40!6IbWoEzew+Wk^cW81O8&n^L;-rNJ@a5?|WL*Q!7@|ianHP1*71Fv$pR) z-}zI_*f+oAZKtjR&t#1+790IGG@Jz;)?U!4DA02KNCPiJ$;X}srU>8ZwP%%2G>U&< zytAcI{6M2#MWeU^)72?W;tY&edm22-8^u>J`IP&Hm6twiDYc&Zg{7k**!`<`0Yi{^ zX-N3jt36CC3XE2+jN&I6`4@b#xyvX~;F}WujV+-pUA%?)1cNp2ZKs5@S@GY}>c2gm z)9A(9#PK2I+LkX-@n6IKUvcmM;@N+ev4U|=?b*ctrOEnn4~~>x?t0jKn->A%C#5hIt;n3;cews_;5`cie>hJ5)( zfgOyqk5{r>_<8y2S;-ecCG8Cw5kE_p|G4Jz^TwKAv)X-mDt=6#UUA)~LF~n^>q~y# zy7Nsj}Z$gRn&FFO%zP|szDFig?ulTa_{MU*6 zOdHQvu-vG)<5GP!=eFvCikaIP^#bn5&iGR{Kaexv*EIh>+$$O+J!-DC{E^K4qrl*I zKKv~60>*&`{`a5TXz<}j$@AK)DiznJ{5h=u@7(;e z2f}?1_4{rz|Gn{h#jQDw%eTjFFF*TK{?DOu-$&<57N`GvTOPxi!61`R@#Tx}{WC2S z?(!L)UH3`+rsc=q^DE9u-uQmwNQ2@D29X1eTsLYOE;uai=vI`BvCt4%ayR4S$A%#`Teb+NZZ zmb$YEpRe*=6_(>QQ8M7cih`nrefzA^9A-GOENb48`1a9N>HkO4Z-TZcOqKqYDR6L# zX7bfr0;$j1onq&BSSYr2%V_unT@zqFdWm02DkQ+dk%{B#n&KU9F`rc2dO81oyZZWT zE4QSHL%_D0N~K48s^{0~X>DUHc5{6y?{JyTHW5qVY_Sdy3$y32gQXjI(pL zsAdT-R+&}tfLHd`7G{oGLxvb;5ewG?+%=0ro;M`U^LXV_f2>kf zHRAGRuhw3l$H%*8d3OAcf8lF39{pCnrv4;v+axxjjEKWb5(QT;y8ClZIl$2)w?Wk_ zERdyfh3kaZPJY+AJl=W+7jBG6m$Q7bA~g8mDKVyxuS7EiqC||;Qv=T~kk~P2?T@gn zF>ybqOo@_xv);>O#){y>oc>>Owp=c{dVQ<^TMvzd;#J*xd$^xU-**0EHD^*Of27Zp z|6A%b9j>R&bugi^%Knb+yk4tjTxFcOqk)MlLV|P0WtqZbJ04GXEzNq!CUfG^J7$I+!HnOLkd~vZ7;Q}zY16My=*&sRlr5rDWA?f>^)F> z=zQ-U{%;@o%>LIM`gJs0DEP}$&bmP9|BuoRBp-a+aDY)*jHPhV4bgMiRga~Gc0HY9 zyD?u$^yg)+V?{D6b9#dKORj%@VJ6CUrdzA(P@n)u!lA<(PpKWxJnhW)eP^pfUV?C9 z5OYBDE)CN(MLU^$E`1*u+4rS(XgYW9GAY~t^$I7mg#r_=<{^fAI|CHedlou41h`6{ zTGyz&hlefv=pnn8oB>UXnAmMTPBBUoEHR(Jw4%vqm4)65Hl-~h?6x~rey!08S)8*{|B`(Fzw!vV6KvLl2iTBAxVLD4d)YH+SNZN=+r%9y}sCq zTk84t{hmkJSQp4?dUv|%y=Cw&e&lFu+|nAADy&+pfxExXkg>V{kBIkTN*P#E@|FG}D2Nv+nAoTfe?}zR7IMBG%Me zx7#NrG?X^2iq*|lv~J>=;J`3r@0!f)?Ax~=nQh;7H#h0|;oC=?%FK8g-sI^1zWrFq zeCMgyygWt+HY0=Yf+;Up5>HNG-QSaFdrp;^$!oRF2`L37B@PF!cL|KT3&Oc81sIEO zzrOeVkomqGY35|v>brhH`%wfD-}ooUUjVdos|4wjl?d7X&+_27_;#zJlJP#cdf)+rhz-efk8oRW9rEb%uOK= z_4qa%5R_W(!?=V&*=6EEW|dtck|hjBv*L_r&)l8zCMA(U@S3C86^AzEBd7Gg&;49? zBB70;=K*iwwt`mn*m&tb(~sX^^_!!dlW0BN?Be&C{?axRQno4HI_WprsPer*;}C8dxW7Xi?gu zP{I13M1kZ z?7!UguV23Ud87QT3$1K^{ka0g4{WM${mX1V{JA*uPfFEcF$V?~t+>?u=IA@l28VX( zE@%={S#Xv6MYoUChP;!P(w-*CTiy&<$*qII zL`sTritU$0@_!S4-g#i=QFEB(#)0~RNK;- z^^B=vsI7jp>5SRyH=8fGX}{faB`o{x)*Fy5owJ{= zy4R-tZpV{p+3$9~Saw@v$E$6x-|hZzO#A(wFW0i)@BQ&?_4|E)zP*0GpMhNm`<70T z@SKlFE$1zmc}$}GO`*38xA>>y;4Pg~=NcF}DQ?aV@YGtr<;;T+e& zGsZjY-rp%cYa=hR#lz)&jL9h<^S56vW8czwclGI{>ABx-#!l+}cFSeu*>4;2_UnGX zQ*u4```wDg;^p^hzW;yw{eA5HI>iEuCK1HqH9FCc}4i)b&%>w(a`5wxD-)%yX~n zyKa45S8;ZA-1k%0_x<|1zJYg50=xH(LsH*1boibXuixZ4IYLlbHzqQfchilTA=9*` z`+B6!7rxn>TiOwNQzzCX+i6?LHS_+vr``lplK|#gI4b4h(7H~;AG&1WHu!t{sz{)4!z!lQaB)o%x ziT{EFPt1b^$&v#(jB*8y>JIk>_b9UHd~o1)C}@ysSjfiTaDY){Lj$9R0;7Py2VSXw z#@|^F*d6tvdpP&p{pUA>jr#+`6n=vi_6P+|Z;eCTLJkc~90|Jv1rBf+9bnY3VO+_X zKKoOdZU6^o^K_nwYoC~R1eqo!819GqFWRg-QpS?G8mfKW=JwgO<>?ikYSM9@_5* zF$sfO*d7fWObUf3LU>*aw^*Ee8LMA?d-j{Ji>B{6RknW1a^JUE(Z6rqIJa%v_OoyE zs(;^pz_)$Jao=}Evwz>Y&C3C;z1cvu_e%yDrXD5+_WuoRP0cN>ZS5VMUEMvs-L8ET zdnQbpI<0xi^jWj#^v;~iHh=D-iA$EWFJG`~^_sQo)^FIjY4et?+qUo6xoh{Hz5Dhb zIC$vrk)y|spE!By^qI5g&R@8A>GGAU*RJ2VdF%F_yZ7!tc=+h?lc&#~zj*oT^_#cv z-hcS`>GPMb-@gC&`Rn(ezyJO-Fmn-ZJvftaAjGc>1riQ~_)p4-5ICC;+3Q!Hkvw=r z>)Y$wJ4iec0_i{qxuhn#9|-XusrfMb#yKf4@H*7e4Uk3p>Mszdx7{WdHs0y#N2d zKbz?;^0 znlc!a^b#1jD$cX06g0DiJZO~qage!2f`MBlk<+!pk;!R>z0rjPMmd4UjBOtnj28v= zvS>6gJQHVS>``ErX*eW2fngP&Oarr*LlaxZ1~Jo_aCt<7C-;g4ti3spr62!ju#|G_U*@7JCa%CCbzlKwl}Q7e3IkI>Zv&^k zMI(=jLko*h0JmVoQkA(3KFmCmIhZ;gacP=I1yTw`+MSStvpl5M2|3j0 zPR+RMuC{E&qb{9oFCKLppm(QUJnna3(|kh1?i7jTAsOAN-xBP%%BWQ!4s>})Tz86g z1tM~HYCE_*1a+sb=l}l;J|PF%om#-a?m@6S1wYNe9dSYqp3@9Iv^yZ5kmIvRXu8KX z(HTcNeXfLy>KGqg9#W_nZsH}j_{32?qvLFGJdbOc9F7^WF)(EKC^Lkl9Wz>G*qf8{ zSn~c3w<#wL86d~6xa&S~WGFLv%wc5EV*TJ@ucq;0#*hciHgZ9|TC*K^Vggu1PAm{; z3sIIV3uqAzQDoLAXkhJoz$CKg03(w}BUeBHleobHMyVMod_@Y)d=@+$q5_T#It>ld zcM_RuQA_Qt4-9NF4vgFq4NO7@8aO>3u<@>7P%!<_oMyI$QM$r`!KC1<&$5X;CJ_zn zyDA$LZ4NMbMmPz^O<-UWabQU4X<}eIxs_4FhLMwh^8ub+2HvV12j*nBEVsI8$zomL z!0B;;f%jFVzY!bb1Rjq@;Yk;mG>m%KWf&YKWmldoS@)Uot;r!<@MxREEN%e~-h>Mc z)kY0-6bd3(;vO{3D>}ek^=7e{QbJIhRU@ZyB;gjorH#Pj~8*sRFoZEzH0MD#GS%`X_Wc zPMk7z+VmMSXU(27ci#L33l}Y3vUJ(<6)T5G)0(uJ1bfrkCc<6)@M3}GK{B0&4-tp0 zp;aX%UdNXOQ+n7MQqy`LHENQKN1YlZ)Fl5W`J}P2nERV)KAjR0micsQMA}MhP3vc~ za<;vEHoM@M=JPov*D{~at$4QbIiaStpX5`M>0XmFm!ciEMt;*;*Jnj6k!P(vTb-}# z`i9WJ+-TDpX=DyZRT9Lh;L7md9bA>za5pfCOE554d}w5NAjmAvagg1spow=)0!wMj zL53v{_{1(WacrHyF8JmJqwpUEIjtRw`BqJ6wR+XSmh_-W=7|HF(vHJi@*ZunA`e+Y zPcU%FBs41TU|`iRXkZ9hz$7x~04rO?0iNuN!+Z@Z7)1pf7)(Ae%ic+3QpPC7nW3dP zlLaH^9focu0|xQiKNbq6G%yELFbTz-aF)_Jz-(V}0Mzz|wa7UF7lhZTfAXf>8qmhKr#4ed8S&IcMDj5xIlh-U^YM$WETw^pv`$qsngMv4&2LsCz zohORIJ3W*`E-`6kI5Iui!Qgm-fo;#3#rlp6izMeA=;Y&I;&5Nl$}wls4AA69Tmpk6 zXf!0_5hq)sZ_c$#&Kh$Tu$iw=_BJY*Cq894oArtF*v?wBI_LmtcT0jwYdr=Q21d{{ z2KqoqU;l)OlO`jT*0VIHESyiv(t4_!rw|9BX%yPE`>~hSIF81gVVv#fU4T4~vRN)C zD7NdX*7b=Ai|6TX{%n4G3yy&h%SWu|7JFkJjY*)iu8-f5E2Ln={4f1MBZu0G2TeR? zFCH`tWQ8QOh=gT4Y?Vk`q39``_u^r@LYu~;4wY%7m)6&=CQc4;gO%2~ww;uf*4CMs z9gEjEM4g>Hg-heq;vOtVV?s;oSreA5JErw|jqO3N?3LT@RmHB`1)WC8nYo7#|1=6p zyT4iVw(rsxI0izdy!xjNokrQr(t~_5CTJQ3R$BjFTmU^9Q~ldVWp(xt*wL7?XBV9@ zxvnE#VupVpM0(EaGm`^kzg~?u4kDUQMi{K|?o>?Te{lrnds*l|XJd25$MsdH)`k=pohk=33(}Q7-)`SKf6-E9| z4@a#_6P9MBFa#B_b7wr96m_DRL+Pf6*CWUO6PHa|qV5>Eim&7o-+UDnJlz3_2aHl3 zjod{Om?cXN`14ylWiha9GH+>MmCIn{0MG9`n6d{PU}9U)z#@^rB(%ekSxbR|IpYEQ zrjwI30wX=ZBR3Au(P|IIKZaaP5{_&Z46W)4i~-Aio+{ks^snSQ$R`uPBxK^yT>I^F zzoW)-#-Il+Dq9j*>%B6p?@OL%KXaMm@0JFxs0j>tk9yb)7@X|SYBCD^I61##$r4pV zNybT5S2%qt8W~d*7?n5@rmIW182BIXj%nL6vA;z{T~IRAE$HjSNpfdUkH$orM_F|Z zT4nGsFoO;=W?`@gRT&)r8Q8H7)u7IN^9G1;ZldqZ_XZVJH9OS9jM3WH)IZF4@9*zU z$_M8A@89?L_m9u7@1Nhl|NnmmHjM`jEMgfbMYfy9LwJ$>uuY~6OOY+MJpyB>Ch12~ z23x^J+Rc2gSZH5#B_pU`5A85xtB@u0+F&!^MNM7sp=&aRYCsKat>v#=!b-IB`onjG zymNZ4G)pi1wb~Uur-w#g^xQw2iM-!oH8=Xb_wTe@`umFi?w)#pLA-3e1Iy+u?+>14 z>kK-SV;J+{2&l-WV5nwG<9($mTfDvFr+&FCZ5n%_KS(|oPl>%R>?~;LdhOENMd#-n zk1n~sclF^a#LV}vr@pvnzOf9|>^j+2&HDA#hU0p_-)y;__xtUR=O{DZc3b)MKWaP9 z+41Scp;LQ;S%h^yI-c^k5BQS&y87bhbJfTGuDEMVJja*!8#@Fd=$8l@@xeB~#cji0V!$rrWK;GrqI%e8|h0zWVMfwgtPd z|II7gzB}qi){*U-=dQ1QJ6rJ2p;vrtj2q%kMBfoV;jni<>$^O`Iq|I5rybl?TTqj{ z`!-kfk3$mYHnf?adB|7&~NdkY9EXsMwQx8JVOAcUnN#t+mJJWT6X?=4FXO*pliSAKB zW@%2A*%P0IvE_($saBLF2ybTjuC}E6B5(6v=j&~{Ga?jX8jFq#)tpfUm9%}Z@T$fnyXR(y1{T(y4owdy(hR(;}@DgXS;V}fe4Y;=wz*S)Bl zaVHFvsq za^*7n9J0|>PsU6?cuO!vx^T7S z+mhTLR^LhEXoBbFQP=i-+g3TBkf>HI<8)S<3wVN9*GLstLEI zhL`PhX>0m7LCDcqVR^#*dDDJ6D%_g4{0?Hl)?GpPf-U`Pe?DKpG35%GVYrunbf=>v z_m*o#Zx@5BE&GqZ7T;VCTCk-*p_-|9g4-))hlvg+>Ol*(>Mt$X{_&+J@0{-EVxVd( zAkX4Z`1t~Hi;kQNf#$Owu!5?sO+8BQoK9?a$pD|1EXC+urB}SELxsoMB;~%_2lm5q zzb@2sK1gi--}K|KlGMiz(Lj0UEOUYDHQK36CuO)JJC1w?sbGfULW zPoDIv`ZRd~&r*%Gi6?`8Pg>EHy0?}ZdqpH zd9ooc?z2MhAvNZnM87zpC)saR(#@aW+-o?cSmA!jGK-m>|0n1$G%DV@v&2DQf@bP$tzfrC{poi0{AlPGK^=b>gGCIJNHmS>Do66p=O-Fbi%zd)0Vf+27Z?0E8 zOK6uZbL{*0FJIv!cfg-@*%Lh0EE9cT>R!sNl-QWypz!2|v(vwm3`IOH(rh~m+D&x? z$`T|LrB1jxyUa;!%V9pkw9?IS+rfm!12YtK)C`$@?j$yb%#g7;XIQ*BocFiVlO3Eh z`6o#~ifi1mNR(&8QHP$IiCpDN75B?_Sm&*o))=D9!++9fdhxai;`KKagz`R3TQ8Gr zz<=cb5iL96sdslw`jjljG2#}Y2co4OCejXL;8`AK(Mrml(~b4!HyD9 zlp2BX{el^+6N{%yGE84Eqk%D5nq&T~52n_x){2W} zevX=ze1EHgbj1;YjxO0n4^)h!6yLReaxn3o;1_=66wirI8ze8J#3;8MyXerdcVq2@ z5aE>jOgFbW{E1Cwdk}q}^X9uf41Dg&=XWXuGiJ)X=$^1oAw$2`ZrV1@+=NG!Gi3Mn zo>(ILDDFmq;_1WxYd^VV=)BixvC91z%5l&=cY>I0&8fd~o6nxMc{cOdCL!%8eWD z3UAcdD9JZb=X_O)uwt2G+P?|&?%z0-UHQ9b)x><8y6Pg&crz=>0}B^xFR^U>Zsv5x z;YV|(?M>dBW_KJ<~^AmxAbqTFx3yW8>jMxPM;umfU~e-;~l4*)s{;;xAvd7 z|0msMw#Ooa2|{NyWrQBq7cLfHun_pZTwwnKiTe`-BGLs|JL<(s9M~Qz3soqxE)ne5 zAjQq*Ds!Xp!r>Bu2)pZL>fxINJ0=Kldk8F^(8O8Tz_qc71oMY*BFJ&^f{2ry(Hbz_I^Av&WKp$&FP! zg01Wao7gMV0y)~6mJ6~u6tWApWm=?0G1RAav_86Qs+4T?*T_K9u|B55jLopsI#{4a zL#VBhgF~r#@^yjl%b9b3v=yANFIa3I^1oT2{V_isFWBk4XcZ{z z=v>j#{le+xb{Elw3YQ%OCRYfqt`O7-5X;sOFg2*1VlKGgM%UsQ-Me;l@43;v???9m ziJn6iJx6xfmOV5#Q4&ZAv=ZHJakL`RQp1AzN6(U_b$6MJWRp6t+=zU=~qQuOJQY*VXJA`Kn_DY|0mt85W zAUP@7g;iCvi@R}>O6H_&lZ^kO8B8DJW6d(!(gbS$w;5bXd*em>}O5=vq=Ui zx!Wf(C~Ktq3(4Jo$bM&;!0WI5T#3@&Cnultn4*70Tsd=Ul%~K*C3Q~0!YMywmoBVZ zFi|FUrhst!RJSK37VZ-FJ*MS#W;6@?DmhIvZ*p=qp6)ecQqE2L`r{SZffX07Rg^^5 zZ)h%NR-7T76t`((G2_fW=VU{cgEO)}PY+e8IsARXSN2NlOu?BSmG&QJ@c%HGJ8%|j zq1Y6KnpvDq$J}dXbh<3#6xu8~dt2q~9W!U|+BtjA&Dr}r9X~2d@?OZ1(DyWP6C z1~~=7DwQupy0}rnu0geT3T=BzO8h0y3szLQTO8tT_(m-7RAyfjq{Ut&bKdd z{(Ms9yVJ~18FBv4D}H#Ca#qdcdNnUT(Ci=Q!W$Z5L7D+oo8~G;ss7VctV^iG`K|mX&>Bns)!II{#&5no9Y;IhHBNxN&|NL;KAv z-iI4_{u``)wTdh61K+9(EECHFtil9-oZ^1QwA$;bz^Z`6*IAndtOXpa1-@`a*O$-d zoT&EAYyPR`^*j@J{8tN{@ya~cCGgTsAY*x@zIS3*L>5aTD@S3-jj96m9U(c{YegJa z&d}P<^>AaygKaE>2gm0x<`+)MnS+m?RUnTzZR? zt>`vx)t4)I7*;VK+|8m`CgxC<7QT(=;+7{5HkL#OuU@`~>)^)Mw>Gmb+*8*raHV?Z z<=FyaOSyO!Y-KsP@#uf8#H$CmZ*fH3-=^2QfLY^}z|M&?N-~%2+syLRTX4F2zT?Kq zwDLVSXY*V?Ey8kfYw9sg=D@u-wY64e3ozISsGksE;n@-Wde4EWB8syGR&_2u2i~LFSN>&7r%^b%h^0)Himuyb#!NLqKP}BiU}G%l|eh>>UXpVU!2H)yeZwOBebG5qesZ3 zMzC^)fT52-%8D6HF((q%bRvuI%y+&Z~ zn?r{_p5A10=19z$V>M?^%sF#v&zUoK&Yb&m=7P-GOEzb(#GJiWbN0rZv$yt~y>sX6 zy+3DvRvcqeWW4Uos!^~**YVul|XteO#Xb1&++I!=c8YE1V7yo_ZHZ>K&Kvm;nnA_EZKE+c~g*OEr-t4fBTM#R_ zSoWGtuE5e*ft9lHIkq?DX5IKKqFs0O5_{prEs3{z9Ita9ysG1SQK0em*4TRfwYOc) zGHl)}aX?pShwUBSkC%Av3hdDpIKnGZ+a>Gz*aKKSdbP48^MKeaaY(ZbAj z0%dmv<5kUB`TF*}-aTJym9cOBDJkZj$3ni*!s2-kG&hEFCi=9j!*lHpNS?O zd-nOU*}+K<&$Sz9pUoWS0eNB2dTRvSLcoA6v9@G;v&#E z*iK-pTPIK#TG7!bSgR+vTv~9VoOSu!@JdbK*y-22f{(ZZgSX|pV_W!GIPrtP z#0MM)KP-7I!1Z51c>X%Y)c0m}M}*dYe35)~YqqGz)hk*%#lw0Q2yC2o`|w?f#Mka| zPbYF$P3{&9{D0vI>%#DPMIo75FN6~{EbhOxtrK`>{Z_kKz$#vVIqsv##OFukc1i9R zu;2aVrtxm^Qw`gtbsE|PZ$2`p{8WSkJn{_bYU zN9H{VL58WPkKGl>_OH0#rI0WGotg1jYx#FmyYGGH82rvLc=Ve$W(zdczmI;}S9*Te z>m{1i{6YQaF89{kK981sb^7D$cl!+4P0miQ=-7TG)wi;xZ|jA}jA2K)!(7?*1NVFM z?dKO<{iXGzWTS%B`wzN`FQSirHdaaPiE%up1>o-Q)jF7r*8Qg z;gmI}t6$tRJHudaBVhGL;3vNT4-21)#|D;zYRor9QY;J{ojU~C-83cql$x8Fh0{c4 ze0bzOLD98OCGye}&ncRr>r!rBdU|?Vj?Frqr<;~}x)^in$(-E0@cewiMzbSdJ}RD> z;4G=3x`O#-@QT2teoLdSz6zaI$ielw`K#ulj{97FLfR7pJT|eMZ}QO&$hp|<&RRCX z<9l-Cq+Iq_vM;W@jz7@I%C8ndb8`S6(YS>GXe(Jpv!Q(i&zuzPsxyS!aAX`oXh~x#dY` z-%eZj{?^5%{>$THAG$76Xx(|o?~`!zZNXA672U!=g)caQwbBcwoz*|@e}2CBjC;Ro z|NQ*wzqILUq31~-r@jTVUTCj8z$__|f1vG&)_N5-cc+2{oNsTxcj7U=@Z$x};$ytKD|3Gy+% zS`zGM{q;+5fV1e;3o{Q$eGLg&dRWnh&1dZ;=IIH!zSlysMRNomM{O+)k7F$k4R6ZZ zthgkR_0U!YPPSM4i{d$NF&f9UP2gCQWIyTK;;jDE6}KkN$`xZ*lt?PQHF4A1uQAi} zZaXRjYp&j?sK9kd=Vph_6!GT9V{bhch`rJEh;Mr&%BS`_rgZzgNi6TUW7~qIwnt78 zOX#@A%d_Xj!;XrTUP)7oKAc`3d*W-?<2G+K&g7|gCg?J@N-hXj?cJH{@u+lu(9Fhi z$4@)#8lBoYIM(N#yP2}+zv_zEcAr(2*C$NdcOq{7;-Xzk=FTkpAEq#~QY<5*ahX`= ztN(}ec7;#*tXr-S+%2oZJVBxD!~uz(*v{MSt4ghv^4_kH+O@m)--`TQk{hZOYPhxL zEI52Ttfugobon3j^ODb5fB#c_!CAbv>X>Zm=fL1BozMJP4t+cDEnuDgUbm9HxK@X z3BTq$ggji|xTU{=Y2rh70gVY^TbdZRWh}V);kZDNfr7-z58@p9PDi+3a5b?QE^@Gu zn3!TSQNdAWQR)&6fw+{#o!VmTeQS^ZEH&Bh3Er}mpmq@)TwkP zoSgqZBueeC+hW>|{f7Q%a|23Olo(r({=0|IGW*@)}b!d@cSPHOOAcdFtMw zG2y@A<(WHIsp<=D;thKj6r^;A^}14%ZBxX0g%3F=cqJ1WpUQ4-=Vy5&D(T?(LEy;z zfG?;2e~Fl&eQlHC{hp@|Cm#B@F8Va_)s!njC6QC5+4O}t6PGwN9rtgnGg!#d>968k zn6X;%2&U!fb?Le~UxE%UzQ;5DJeNF{ykvj~58|Hc!>^W+WXJFam|++Fu% zP2N&I|2vTa``4{ptD(8ta}&d)!(1tRT$4^jIv)t17Bl6)YJF}%%F&RMZ3$vZ_63J! zoD^<$^dxK)znOhUYLZ=}1oNimg*whryO&x`Sh9hK;jzcG)-bj&3cT}OPv(7(nvnQ0 zOhGb0m-*3(=!Zce$xM9q9(w&Sh}0(E_@&e1B#D%Z28n7kMF<`Gn@N#T``T%%Y1 znvK~j<*0oxbJljJ2~Q7AP?_hcqhrr0bgE1})51(;y3qDXH@%+hW&QuqwO`rj*0Fuz zYbA?|0=F}3UwI{=8WDHnfQ7J-Vt(#no)eq0AG3tBohVhvP~(^)t~^2Bj z*F=eaEkDU~!?AF^^#sde!@~lV;e{m(t7pp0VpREjdVzaV2DARI(@DoR%+!t+@aQ%_ zI619jaqW{v(a%XoOB8y9*d9GoH%~bxc=K(=x2TvU-x#>$m@W#Ruon1M_I;;3SEpXF ztVq=2=|cPUI@ZoS(~v0Ma>Mg6=Xyz|TUXtpZ(Uwiwsmc7ZccjiZO^MkDFuI@9pLFO zw~{(h9&||gc+D40tvhD3Y=qKQ2Dm85Wa=~PI0;o%tC*Zk?AT+-w6E!d8#jN`$^ScU z_o^^D9XZDG>%{KwUnk9B`0eJD$+6#2=<(h)%WktDpV039=)>(zOY+Y?^mgXqn>eYv z<%!t;-sl;hc2918qGR~o=(r(^q!g#h`RJRKjxy^K^Xre;v50q0ySYJf*6xhQteWSe zJeoiD3n-cM8}Vl4oLf47KTCp8;!lUB! z_MaAUu2lIvrH$j+>$3vvla6a1x^@7{Y>%JaVulv|rU-Lvg{^#lRy3cd}*Sv6#|8;qJ-Pg7CwQthnf8Tyy z_kHjG+7IpVe;%vX|2%vC@ASFzgK8K1{kqDp`Te!}zxU-+q{|AXWKUGd<~dRCd_(?I zQ^qt$3BxvtmP5|7w+YJp(iUcFn6clOvmtP=d~w%}UmX3+Hf%4%TOtpbS{fZ%F=OHk z`$;=Y`FbWt-w+T~;hd%E7@&BdKSGMDq|;#%hq%n9IlB$SmI!|nmfXt8skET`fT3>g zNrlc24$5Z^>YQXa>3rz)#|G;JCygE_O%)E^2_`BlH)&20-WECOpp|Gc$Mmw*huB4g zL_MZ#d*w9w$DwYA!_zfb{;L(vmUZbgw3%sivFY#XF0CV77H5RlUg%ok9i$F+R@;4gwuV=59^sJ9oaJCv0IjAN;bzW@tkD9Hp67H;Eh8QESwuPyev}~ zOxL)k>$s$qoSO6S=v18!t}}vZCOo}494rB|>ZZ7}Ie0b(c&2F{zRlsu^v0|4g$KjS zBaH^9CR}J@UD3>&adJt^>81kDiIX{YF7e*|$F=i-LgNMRjtk;DMV1H`@@$nk6D8=g z%*I9OM3cS`!-|xS6LWkTU-W-T^lrPrborFWM2CijQ#xkzaBi8yF`+|u56|f>dw372 zaF&F~H)@>i=s0}chjUd*!<`hd1A7#5dpORebo`f*==iP8aq-B(;7Z2E6Q@c=JQ{8~ zugh#{)$Uo_(iN%W^^(b#(&BW}>%buDQoWo}A^~EA?fH3wtg{g~$>v+4H-LgA?57TJi; zK7J4V5Bvz2xZ~`k37#^0CtQ3YbMiow)Zf+Z2+|9kq&zi9J+P5ifbst=OD2(uMqvpi#~mG# z2bgAFX_7p^XwmD!6LC4_OYjtnAOV36#tcT2)D9=xkb^IR&1Bs~EE;8gG+3@}cJIAn z>D$S%qQNaSWV%PlwGSbaI+$1_0xuq9(2)q?ntRylM}ynn4xgzKflrzIVml*kIURjZ z$xB@6|8U7Wr$g{W=${p#9UY;K0gQSIVQdE1rbvK}n>@rAGVMob>|TyI)!-W}*Cric z;Mx#&zO#X;;Bd;{rs*3P!vxtJ1;VB{giqQLI%x)@>ssDY-42Zj4C!+@s&YAVRcBT# z~dMJsrv?7)5Se+giie5bG}@!E)tL1LQ16t%TtJ=C+N(4lRNij5{qD zSTnRcrbcw728&jNh&!}6bu=j#G@83ca@8`5-#G4AdRhF!)d_QNbZvDOH@MN&$}wx} z&5olt!CtVmTESp0a>Z^bQ>QKCksT4@JC01UZJf*+ez-G2yrR)j zpmAAk6z2_Q=>v=&XB!nSG;j93ZRi^|+4bg%xlun;8hoBc`7LcyVz|8KZq$yeQ9F5W ziNClxU$kSkY~%DNwT*-m} zIfn?g2aJ3(!s73;cCKw=J78e}9nWiT$wx5UTzXfmf$?7JE%A!m z912bEc)hE5?@hbIctv%NIK$<7-gr)i#>&_mzf?KC#>QP&z27L>vAZ@*(1J;4#^pb< z_n6Y+ueaV$llA$w_1^7Xu@VJ$ z+5g?`{Bh@o;Eg5?uO8dRN2(nc_Xg=og!+kw%5QiO!5b@jf>E!7Vf)TRmJ<)fHJFsk z7z=xwjIW=D3 zK*N6tzSDg79&FHIVbXY{EO!0tm!yj>kAH8y-rAe2tjDAhmfUCQ^G3HZjQ1vg24msV z$ChC!_Wzg^`S`WACF$4&>85oU$UQci_SkJ-icuPapW0RdF%IK2M(t~EoC^|ed<-kF zZSv~tkmT!BUXZ+7mqAYmATJWJgBEGO;xMwX1&t!X*)lJw-B28nUpohlnV z_j3K-j&QxZ|1bA;NUmr&Y}Ftz;cBYf!}n|NatT}&ULmM$7hiJanZ^y)KG%B|ZZ9&= zrOPj1;#+Zh&yz>3dK?;M&Lw*o``Z{b9d0PEh)gui{HFTq+txVNeU0;{%~-H3zSQq| zt7%sGypBND2PZfh^$oIC*4yh2jxcT18>US?^pSyB2 zS9WSGBJ>zJI6fbC;sdi+M>utpyZw|jZ!(-9t-kWy7EYL#M;i6tgH*2)H&zm?o zCN;OluHKw$Zt0FyS&bfV{;!nl_FDC>4hq`CCu6_vmuNTaDUm$x0 ziRUGkf9zO+?Yw07kJ9>R=OusQ?&sj`V9xqcVD^C3Bceg|{3qS-h0F=edi;gD7e005 zH2vqA&)~GFKwrLCv%VN|Ub5BlB5n4MOACr6w>L=b{v>ezv+(oJ*76?>u7BoZFUc18 z%(b1t*rAx)y~L`&#B+X$*ZLBP?Zx)r3p}P5y2^j_mH+6c{?Up5W8nV}{@Y7J{7XaQ zzj|yhHoox5TAtCPfhBH1vwQd#kq4|1*NdXB7wEUMM6dtk*mXk3pdq}U*+Zg)hyQbA zf3xZKw&3jr$=8b#wzp-ve~Xy^HEMgCR{htM}O~ zbM9#VulC`)g#bgg1f!z_= zKQ-jU|D04`!K?q3`+RA6c;zJdikTOFG@3V;-Y;LIU$xl&m*)HL*5`{O*Kd?6E^+X0 zY=2&y74bu1!MFV570t^l?adh&8GcO@{~R;_>l*PEF8xv$`QK^#KW!)}^XS-Mt^R{G zqiXs5A4|oH*KRL!&Hr5%{yYD8CHM88n(s??)mJsFH#9!Mv?RXfSbmN7@sg?MtF!l) z>P`Q}x8PUn`4aB)zirZgM*DxWP%z~^U%lmh1<(3VtO5)x{W;7SYJ(=%FhBUVdw%ui z>(#UT|6bi+c{#uGf3egb!}h=K{7mK(Dvs;dJ+}X+*8b<*_Ma{He@&ZTrG5SnPkBYh z^osNA3v@e}kG?OMx&PCI@_)SUl_^!f-`xM#mj16{{@-`|f9Q(Wn^#odH7~h$ztUxS zUAD&$!3E8Y^<_`kIkK79g>*7LC>(0x5;w|u@j>xOhmd;Env9Q1Zaq9^MNd{J@|kAy z+|b!@j7`YP>Kf0Chpk3^9oDis4RaViJvce#nq8ZW1(VSF1%+NxCIyqiW#YIacD0Bs zKk3N5XP(7V)fedjOH_-Uf=&jjcrMnT>a}!M$OXs6F04kiH)$>6h2#{x-{NT4ed`-P_;hA08ZP7hb=kT6xoxQ`3#}-~F-t z^5W9+;PrWbt-igvwY~WLyT8^yK0G=;SwH`uP1VQal1uX6*Hz9fKl#d~-`?I;aaw{KwNvQTJbmD+K)>a^tLqeARn*UxI4>iN{kwN&FXv(a6R%`L5`Dk>7&1pOiu zJH+agV&zu1G%o6T>w4fpQRN(?#b$|rrr%>-A5wg`n^$W(8-pX8<*~}lH4B@XJ+*eK zO!oDfzMzQv*Nr*6l6N!`+84W=Q0$N@TDf$Zd&< zzLwvnE>V8<>l=;=vN(Sf`WU&<%jo8o9cPb){g`q5*h-&?cg$9=S@gfC=){x!Oa+33Xp7l1e#e2?}{(f_| zRq2=8glwHC_bq*P>}HY-0khk$Kb_BsnT9=?5))39VA*B*5l#hv}l>{$gxvUMk(wo4bqWxbGaN{>II7p=Hy z?Fwg^Gp{zh|Kz8o+PtRlP0poRUSU@SH2aWdvT3PBY_I;ZjN~rO6K4PS ze7<-?=F5e!$&=GfEpMH)HDa0Z+4xA<>`z@6yxvdhy>RsNsyo*VnG;_8Ik6$vnI&_A z06s#08?DaDrdH79~OzOHAs`Jxb{NFgv(@tr&Gp`hk{8j6iqxdtSUWP`<2}I zI#M5}IQaN=g?%}kv8P!^Fv8X3lEHk*H%$zOZ@UWRo3ZLNooV`?x$tkAi}LHgI{Z$X zXX*@pRlV7j>t=u2bG>vp4NH zRlXx9>!e}$f)tm&gf03^VZzBKdn9${zvZYdi8*IEbMm?3dx8G^J3lK z#bN)NwrHe8oNljcQMti2bxxg@`htJ2Rh)!pt@Zbt;HWr9VSP_HyY!n!3r_@0- zQE-|;_UVZ+`_iUeJg3-Gvf|VQU0?T0!jUhQJP%;Ie#O(LLaVL--JeSE%#!TsS^%`E!E;|kI;Q8+ z?cFALepyuZ+t*>`N7d{uF4v5@d-}(--S=FJMVHMuB&uKCJyUT#-y7*!pFd35_av-8 z#_4YoFF@ohvx^aBIA+aEF=b242Qy73N6|Da;#=e%bU{IV6TL zp@+dvh~agq*zISlw|)Dxb^kwBf$a`o*Y+7QhDaV@oLlp8t=^6We9w#wnkHY?f4adt zcAD?GZVq!x&c_Gh{|gDWg>diUpUdGS#8vpev+9OSyoumk)6|aw$swEiE^eE7a)Z)Q z7c-YBg*~aOW(R$AYTaY-jw5~fi<@UF(zMs_TeR~@_sz+ZC-WLciDtx1ohVUz^=81= ziP_C_?q7fOj9a0T*UCZ3dGV`)v<-rpXR@Sk&th~~^8eD#b1!#ZY3$j!-uJJOgSSgy z5WC2s7|Tp)LpL|GjE}A|0=Lff)s@Wsn6uzd$On#pg%fIj#pwOakh1^PIi+yoR_4s+AH;KZ#Zyd8T z+cbIYn^fc7H~0MP-Mm=$ZD#Q9Ti5oPZQH!|ZEo@I+c((ywjchl`>t^EZwoe#){caU ztlSp@oHhtB@QWW{(A8iToA+73z{Z@*s^Eyz`)vojSq&#uaXXm2Yj~zGt06~$rCFBM z{M*6FJGoqJ_T1trx7ZL|&^W2p@!p+%2egC&KlaAdJlQ?3fyJRf!nEe|i6aj@xSGBd zB`uD5YQP@!|H6amA_p3IA`Sd@HtT&!T`a@qY~RCUFR19a!O_VpyiK8kgNONt^~?D` zSY#)?Q*4!PXkYx|zybHbj_IFnKUl4BT*T}cYl^&$V1mD+ti-|(3G#Qi5_kNT+i)4b_7>Z{~TYu~}Z&=jO!th`E&OyZj zeb-cxL&fvupL||ue&S;A`lvshd ztF;e*|Ep*BZsEBG&Ki$w2F?Y*^cnSVbJ z+20_VXYgaf?3zCZ*ZoZ7DQFCKd1PRC{n(kzd7myCG~^aGoM3rz{=DIl7rY6MEDA4G zkG#@VVD55zZMlGDMf_ID2Cg3m3V%e4$;^MJ*(~%y;7|p}N6GtcU+%pZy?;Qp=fK(7 z?LAI!B;|e>HfV2DfXXQ8!h(6=gEofBh>z}*9Sy@Xi|BF1spZOjPjn8H_nnoO$ zKG9KG z8dzl-xfdMZj(E6tjsxG51MDvxO#G5fqvV;FG;l3Az&WQu-RmG*fFs)i2C;?%EH@gs zMHso(JakJq!0qvWf!LlYEey>JPwpKkeZX_|wuV6biyw@fa!ZVkG;$g_eERsfa7Mhy z79OPr#y3l1jb0q&ZE`f(;iwwo%(Ki%qN7J$jzOYJ=DX({(H9J^QH`!u^SQlb#Cgsi zn{h~M#UTb3=3A`JMlTNdZc=%3;DF=`4*itFe(%~CCoGZtq~P&yNyd@`(q%6GQ7Udx z2Ys4)e13)bu1oRON|lOgyx4h6VVh!*SX@Bc!GL!v;YO;bJQJkP#s8iAaAOPOF9Bu= z7yfw{nEa1D-T0zGdk>Sffzu+-dr{LC{pVznICGxo3?owtqku)X!4gI$7shj%jfuKtj=x z>|@Vz-W_AmXn1lmjmhI6cSz$NR|df=j;sxHSrr;s?_on7u*lurEtslpvaBJnoY~Kb~FabIDBuEIl9u(M8|h$m6o!}ytmR*TjZycKrHSjIVsAf}DnxSD>@xrX(MP7@ldw~Yex~A5o z74nToR)W zvobh5k8L<_`b=U&qZmsg;|GT=8yKZ$9DK>?GX0(-V^)Jf%0WgBg;|ptXKh+J=h8}s zSZbXf_ZqgfX>1ge+b~P`jHU_+sZuT03=Fa&4_In${z+jx z#&_hnoIvJ3%~M&?3;48n43-P&G_bvCSXA}OpseBap*3gTxh)Zk;R?{Q>RV`3=4htX z_*HfOfv<8-Ow9b6GM`%$+-uU`nZ~|Y@?gy@S@9706C0bQ0~nQc9Pauyo-R1J{@w~n zuGM@M2lSSt^XKJWw@du-chOEZRcnz$W=m9BxDGIsyk-30B<$mGSL*dC)zlNU8oTpa zesVIL*yzytZ^aIy)m_tG?^v}$YllY9y6oOr4|j{*yZ7zw{cGA2ivG7u_#~^cZ)vpB z%1N&nuYY=~?ZR|d=ncmQrrcS~{~Gl)t#q{ZX-Wq;YNj0I*wA?5+nf_z3)ojU9COl{ z!}NYO8{>zhHy_d*KQZN>a?{_oa9P$SHJ&$XSl>8tt2mtJisL%Nz@4!Eo82o0ljm-4 z((?1(pD$zKFK9UHxb)|=1=A`xWKHh2=-j=e7r)By#MP&>FXzr})o_%Va?mMkEq4*4 zY*lJVTC?biwOTh6I{I?C0vIL2nD0MR@CZ`m)+u1NUwHR!Y>iu9b<@I&dw4iqRNtsL zL>dLMo2#*~x9y+o(H&{7uT+}444zo!Rc9^rd)2@r&vv4=K;q3omT-gn>;8ZE zpu)iaYe{$!%i(`Y39me#Y?RSGq5ALYQ&IQx24~_;6AZ<_q?)=gi#r?cyS2`tWf>Po zLh`KxQom!kBu)x$=*<#2l6tBCeCf;DwT?1JK1!W2JpQVX;b`L*F{7=K4ZM2}a9Swy z^f>Tnd{XdW5aeLs-*SL+fdj8jgR=7`74bQ?UJ9&>7%b;KX6sR8G+4~NgMq!GQT_g7 zw+IKx4i4FjMeKd)|IFU*UHXdalH;e7(U)E4Gs0;xqejBg;Yci54?Y z!-<9`(IUncZZSp=7jo#o;P2`=@llbJqv8H4Kecyk#?P|^COSlw!G>kEf+r%xvTPjwJVtEF~r#!p`sNzLm2 ziZvI1^b$BQvo!AHDRJ$n!weH{@^4vb`b0^QbNw^kN#{zp+^YGaQ=}#(vB`V?m&84f z#cgEx52*RvH}SK+eWQ#;Y4g*qUrlyA-4gJBrBT}Az~DOp>RW@p%RcL3bI6ue)B@{?S=B@Me5s&^v#RSw-?)+m$+{)@i#9G-(DJT zUY5SSEZ@Ame0zDlc}4s7ihlFT>Dw#kn^!I0UbWu5di(b3{pK~tx7VCEuf4v#_P%-D z^X+x-&FjB!um5k}z`mn_-=a}`N29z&llqP(eT!!E9nJO@E$%y7{4H9;ceKV^w59K8 z%eQDR-_c%g(b2x6qu-))`i{=|7G2ACbgj4O-oB%IzeUgS9X;nQdav*3y>HR?d`I7V zi~jFB`u|%@VBa}`-*Te(&WZB>Ehnk(oTP6#*?i|@d&?>AJE!7qIVIz;CrseAhyGt3~R&7U^3pHs7__-fD^at|k6fOT%|9jkj8szH3>& z)$;OP%j>OHwC`HcZ?$szu9fqxRxRJPYQ5F!?Yma*w_0<2*P8QIYp?HGd*5o^^IhxS zTdn`TYyE$#4eYx&@LO*b-@Q@ZdXxI@P5RcG&3A9Mx8CBudyBvI*6`h1%G@^@4aum@A>Y1 z@2&TL-@X68^#S%h2l#CcitjlnZ*xd}&mn!A!{&Pq+uIy*-*d#@=4kkyqwzM!()S$8 zw>e(E=Xkx%iS|7w`fW~5-*a-l&8g*kPOY~&y?xK={WfQg?>Tec=Ir%7XYbpbd%ow~ zdze zZLgQ_yx>JkpX(of_j%t3e*2H&|KG9mW%_<7^ zueJBTHMjr3{eRolMY>$lKlyL})HY?i!tj&z_OI>s8}{x`{LJKTvugdugF-)~{^qy* zWoBV+WabnzsSrqXYK;;x%em2Wb5rtJ4Wr3VcpjUkiC7jLdB!8PC0*Ehn#svPp_3ig z{g&DM{G_@qT{v&i zcyLJ(_qDy<(_h}1@7S&;^Fhh+(4pkh^I~PcRunxwJ=46rPG*ryzwzS7IwyIgPUc^$ zoL0j5argJRsvCRjS8ld;Nq>BCdH%HNjBGmDizD`CmzcfV%Q~A&$7<`U)d#G+Hm>XI zdS%AaYqg-2GJyMDPsI1q4Dnp%ZxLPuQY@g3JN)W-f1?O`=D>@qT8J_=PrAgXVrhESl?#G zuQxB2y_-?krZz9^l&97A2bTjCMEC7jtD*Llt8l&RO083?7`1s9IsE_T91zSB{3f6& zW6G=omqw$b+Fe0YttN!Xe=X{AYUEgvz_w~b$i@{+mQx+V8u>U9S4&#E9B9{S+}q8i z&o;~Pkk-Udvm0jVE8H3%^yO@g^7JezUD>?j>lXz#$pVvwfr7U-9n|BV^>EdqR|yWH zjV%%{;@Cdzeagy~=NWvzschl(dltNT9RJTXbI$s_)WLVwGs(#Z4suBKvi)UKd9|zKW@EPx@eviM@H?r2?pn+)mL<_c(N@=fA`00(O<9gSjmR% z;XCn7Z-;H@_60Y#Y&h5|6VP#brG=2uvs|_$Wrh1qS9;$6k9#H=5clwnpjSk7o3B*K z`LuU?`Yu>*O!id&5X~oPGxb{Z{~3y0bi%IepHT4|sR$v8CgMMOOk1J~T;x z%+L*bBq;87p-G?TLB8VyMs^_y#(jHP*<%_KW@sgguT#~w(@)^(Px&fZruou?r{Q{w zgoCBblmlgdEQ4O=9cj)nbl^T9B_1-zX|?!{hJ5EAr&*nq6^{JnYI!^fnVMKuDr{$@B3aSB&Tnlqw4ST!>?HGphHlQ2FJohCJ9`VXQ;@YFkBmSZg0jy zf$7W-b9RX7d$2mjvhO&`8PLF_^T#zj&h=v4?_bx8CUqIf?aQgEH~nm*LL1E z>2Iw{-BayVzkE)5et)QMeZO}8;de{+eS4Bq|9$qkv)iI3uRE1)r1E8X=4T7t_<5x> z1ivUnulk=RDsAPFDfcFo(bU;V^Y6J?EEjU8t~um;NY>@hl8u)dCvRgG@DZMAv*cFX zlg$iya_45vcAO`=`st3EeY};k_nsG2DV}20(i`CC?e=@2r&VwuQYK2y@tBE(jF3vzrKRgiw|@71^Y8o=tztI+ zXtqgRwp%C3PCnvuM0&-<%EPJ>!8cvr&6(6uz;j;k_vcd|+zop}j;si+KVknJ0eW z`K5H^*~E-c#}gm?B|bF$cRVtcOZP#xp{?qUUm^!~G=1EZvR3of#jtMnL+=i8K6{)a z`M#auvY1E9oU@Pq3Vpc5_Q~Ys9g7_|SY|V7M94aNB+Os*=9l32M z^7@WyaraHE`A+sFjocgF=o!h&JS@DlvRdL^LA!O$D)o≷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

J!%~tCE_+)db}x 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

EZk4wAg@w#&r(*y2L(=imNg3w zpNO2*v+0Oda%S-<+1E8jhr~)8jHhWT9B^XLJagdCg>be5&fMw?0uD3zMDHxT8X7mZ z__A34o{!fP+I7F(NSU7d?PkXEwcl>#Y=8UhcENGo?Kd4E$A54!@G|JgFg#({1gdG- z|2ObLYs@D0&LL4_V$X`?R+#@EpPEab^G9f!6*Kq*<=Qlq+;w|MtT6u%TADT@-cslrN#uEKZ3}Lvw0R7W;b6cyH#*p_xqiaaLEIAE7%zh+^b<; zkaVx&``PdJ8(!<~xUVUex8p$zbDhN_4XuAWx-?fb9O6_rP&n{JlW&0o6Qj(9LtJwf zdpIyMu}olM(wUMM$#CGnyE89WuD|!|p;pyChZl=?=PhEK7Qb%idu6Y_>PM}@`inj` zX}`mI{D=a$<*m%X464$fFvu`LTHcM2miLk(%_#H8#~XG$XgX-C8FXPw|-U8#Oa=TJoHL1#?5o<}8}DV&(E# zD?OLZ4_O_vX>He*tvl*B?wsngeckR|dv@$Ue5~a53ZTrQ9o5Z=AbH zo0d1$a>W0C(vNk2W$51WULnpYyUptB!PMrKu1Rx`ZQXsXAVYieUB2yG^|vIg`FPfP z(L3iO-K&G>*76RYKw?3HwH*1VdR#R-eivifjFeX;-P0FNxydmrYtf;!*#+yqq|I4# z0k!3Q&2)MA@y4)>1s!T$R~B@cSqUueqf5&hsT}!FZb3qyas;_b|9+?BdhYkT70=gx zzgP49?f3f)?0P>Qw20^Zc-W!7?#CmtjxqZG`|XbB>wdr6^ZniL_Xj}d7#$JM|MT$# zo^y=;et*!e|L@0>>G}VDzF5Bg->)~@-~apl;kf?)KVPoQrvjp@7GoJOMZAT%g$KF5jCOd5k~`?xda14#fN5w31aN#9EbS3 z3R+}!5;+zhJ;>?7z@`XyXEzKS!8<-VUdZujeBe*@1F&<=bjHU$oFVJQe|JUKHwVQ6B26qaGh zp#IN^C8+%$Y{L{gYW&vU9_{~}rou1EbqyH@>cYtRaZ!bdF3j6W_KH863q6gY5evsiF5vT_JGaB*x{ut0~$ieq8R zo2y0-nAnsoL=$z`-W|Gd_D|2G3Ud$ z-BEX1a&j{ADSIX_SDZXE8*$2>`ZbZvMJHKWr%cmX=yI~(VcC==oH1T26+%|>PYx=z zdhjY_S=h`Z+Z9ta!`Cyf&@y3cQn=o9h;53$uhTT2o$s$boUDC#ne_ydglif1xq>HMD|md9qx!g;#@tjNr4I`gk`>}C0@|2oIxLx3tY|r*Ib_o_Hh{H|%TaEe$`$Asz34L4(2y||7n;S}7q#dXFSBe+!NcUEyK%k~!j zw4AVjfA0_V7-oT48oex%RvHU@pM?wLadIk8jq929;!zjp$wkwf)jX;M!WF|-UFe?v zY^A_rKUuE{I*X0|Kgo35Y?h*#J;7|rk!eho;;S5|q=ipdzv$D=7o95}d1X7#)5==O z>1iP+)@HE{>?+s+9)WqYrCgeT98&T^W`cS3W|r&}`v zqTSw^K5YANkdCgkrfsPy7#I;ij9HpIA zdXB8(`m(_(dX4pjL%%1vZ#v1e&_;EWfjiHJMckz}TJfr%oYx*^-k~F~pYx&4gmbpf zXB6$XJQkUG>}s0TK|%g`+3(#h$ywYB3P|{xx7CB+q)GXm;+CzB+r@4f#0ckGl`dkn zOqEdO(QEwRwCRKD*%-b{9-hj}CI3rHg%n=0F~4oN?&`IBwa2X(PIt(E`_@>>U$EU_ zqJLiY?Tp)O<>58*ZBv6Q46U|3In%n%?8pk?eX`*?$|06%8>gO7EbUL9ck|_;va8uA zGIwn&f4x=PPAa4*`)? z_D$nG+Z>gDpWQ2TkDKM_@411W>XfJLSBw2+w2b4P)9dZ=0{_@19+Oquu=LYUUPUIA zgvo4+_Rd(kuD-57jNxdyfc+GYAZus&{<87|?;oU>v%R@{MeWCmPL941vDWL5f*Nnw=Y%3QBq}j~RlKB4L=R!wCq<3KQ?WP+Mj}M;+X!7LY zn*S=~%5pW)LZyEv7w+d;WYVayQ6YZH34!%17Pc95Xa~Hw%Rm2y~&a%nPp^8Jz&1ycE=_Z3;Gx`_U>p` zkJDRXf9LUB9sWx#HMXiAhXhg&_uLds(K2=}{uBA7z_MZD&riSJntu+E4o;-sNLq^o>-gJ%%aPe7J4ey z-u&tJYS|RGEkp zxRT@xukE`#rWl+y;d4rvF@<++hI{rkhrchwW=MrEVVk<@3|~u(Qdft+r}yn!|8GrO zHS?Fm0huDF=`YKY)NML~1)UDvmioTqM6Bmcfv2+{ga%YFa%8UN39`lc=i1Nhum9_LanL)GY|Qyq36T+JQA8s zwNv)iq-Iy3p0c-%ZTj^+cTFIt>>1Cv>689sUnRpQgN`|uZ6;K_xp}&jZ%gj`H{B9T z92E>D8fLQwak(zuc|JL9%i@zdFTDE2E--s+nSa`*A(!U?UxAp1j#_S-M|b3vC3ahv zhTBFmJ#Z3>TEN7Vaxl}sIqEEnfazM!OMLqzJo!GJa1smR&9LBEAlq(t!{HX=>Uj3* z8+-1Vu3rB3y7Plaq0BeFtjz7rwB%u6Sgh7zleDn4siOMKIthmzn`=3mCfvTmoblb^ zn(y1H=T`+b@R~2(xi+ma;;_I?u@kG=4RW+93K=#?86V&j>R+rOeS=NDK`8NQL1V@3 zdlKJYi}`GL?_XW{kX5n4kjLm%5dQ+<+W&3ltM;$?)U!Kgy-dH!{&?#KH}5%8D*Cgw z9pou$)TmYv58r++`roHT+pmgmIO@92y6$yZzZLHRu^$Wz>I^E^Br+64IIAn!GFbN5 z+-B%MsKd6Q&HBO5SCQ{sZXAy*TfBSj+Usr3)*OdQe7Kj$F6i4f{psGeZ1-C?g3p`D zfAT5c7hnA$-+xau`#p9Rf#2sR^zXSV>R-7&$%;+wMAH-V^FL2j?^`{GfA5Rme}7(@ z{qM^P|Glrm&;Po%``_0M{d?b}`~SXm``@=6=l8xVKmYsQ?|*8iUu`t8DZ3r;Nlqawud@L0&!e4%&V^N%duuif#VKG4*qMdh*#fjaq+J`(+7_Oe2?8Oxdw_ha62|siq^kj;E-~xm1wMe zYr=5jlYs5?THA@d9|8n^e;3Rv2)O@TV5?B%n+5E<3mW+ni-o2OsLgQaKd4d{z;hv4 zKsbZ%7CZmfGZ(PY5V&O^aA$cl^M_{U1H5k%SYA3bu_rc4SO~lc z5OT?AVJl>NsUT1x(BdA!%Ou#!+`!J%SnHtC!erPQ(b(eU(PR|S5|`0-L_MTRlz}Ob zm(!?`>tF*%y1*_4feMajp+s(_0ui=l0=DHGx77J=EpND$&KLfo`P2XH0^%=fdo38E zB3k-21a5`%PR|gy=^&tTg7;QKhYtt;?1-*bUI#iH$BL?>%w|B8y1ZyGI0EBgQJn80w;nCT_g z%K+Zw#EE9#Oy521_CF}FY>Bv9153apy-=&5=W`>S85dzr}Eew&o>oo)> zpP0aUv4cT<>W2pYNfHw!Z?yPSO#Cm=om?Tnx3cx#@dZA49$5!3O4BQu-)C4-17wB$g4Owj@uv9?3Su*Uy z0^Xf71S=v0pIb0|ZEqI6Sj_jc^Tzh>9~~18KbaV|f;Z~NtmP~dc^}hM&HB6dMj57KmcdW|(9cznR}OlWAh6@Z?I7X_6+) z6PdpJKa??tb8f;@w*T(toQbt-Ce(>GiYC2ad#zy^^irT~MdyNwiNYH7nVAAhUeq3& zqWEX#be=>O=7zpQmh}-cYnN#B@3l0^>Gbk;5@4P+r#zDPM?j0gf(3sylc#N&U7dc8QZ`d@q+HvNsO=3I~J@yK#6a;zZHpMT`6b`f$_!K!+{c`7r1uZv@ z*S5W=x2u@N>DZc3Az)1E4 zKC2Q~I$@o(A@7qLLS9B|uW&`Yd~E!G@!ICk(RW`7+_y5le?a^Bfi;|sYnm$Sn5-FC zb_+Z$V}7+#V6B0`u`W)r!d0iV1k%c9f3}Kh60%`b*4UDzIz!mTaHhZ)hNw*n8yQy5 zTQGH#iTe6`RsyUH3Ns#TTK0?g?SGTa%oAB#0yauoN4^wxy578g^A+s}s)F~u)^QYW zU{~C*E@~57;Rc`8t1jP~$(G0#)e3S?Hn7omj2$l#dPhXBfj$9?)H-w z@qOf6YPDn5&n8dJoqZ<-)ExMCf8>2JYaY|;Edq)=oE>&7GF{o`81TB#zuS;uhE@P? zsGt|iT7GT4*xz-`3~S{iwhK7!-exVJ(;#pmZ1-HnRR?!%u9R3~Gh1Mnwm_5it~0my zocq1!g7n@?)_bo+@4Z&NSM`{rYGGoxrT?wn!5;q)?d>R(nK)5qspHDd=Do|zl{qJR zRu`_mI7J|8(Y}?(wbqq7`8aFw9nop<-Y=PMD9m_(J9QgpqVd1z5@qcf?Uya}Z%A*w zY~izI|1oFFGGlShngf#R_PJ5^JPQwgY2NaSCE#cC!Bx{;4Os*ORSvRUoT4(PQ2v#` zwlAK-jNbO8zGk-$EkB;X`7t3R#Pg|k;DghF*facuecz(fFF=3l_bvndHxT2pqT}bH>9% zV~W7hMp3T`J$FtxoZD&P{6^r4#-g(p$L~q>>9r&H~u_fW|g44QU^ivP-|SPbO6T6>RFHO(oaAJfc1HQg8hwt!GaZqqXLqi5 zN?pq(=#zHq4EN^Kmv5dvG$&qvPUMxJA@5$8-qV@EE_71nkmzF>`KNOPjDAga|0Loi zd@kjpYuuT0&tn#6{yzIkb$Q{L8NCffRb3`&R?GJ`UufCc!*X`n0pa7~pN{hjUd-m| zea&Y~5i0 z*G7^}tLet9{85$3I_fnQ6gSbkN3fGIPM> zs-nr3Gp)HUPBxZWl(RNoUBu~jvHcej!4*6+OJB|1dFRwj&v~rTH>A|InVhj#XpUu> zcR zyyKC-Q}5*;U%PJV+E;t;%|5H~;_JPLX$Sg^6X*0^|6-dfu*C6qY{_TWTmOC2xBA}d znWVsK_aNKs-kQ@Vx&A#6kb5X(_fRD6p;+BRiFpsD_C1uj_fYQNLj}1NXu`3+bRL|y^jp!E-k((@T^?;Yr$i4JAU?wc~){FHv5Eb7d&R)$orJx@k4Wg zC+2l*jdico1((lM*rMI|DV(2KfiL#+W1B`brpBk52l>q{p19827@~75uasfYA^!I@ zg2sM=d=Unsj!!ucKDAeTZs_Ha?j}p-hBv;|H!=X+Y*GA4yPihv|DeVH?eKQ(##i5-{d^VjH?;i%NBlnSlsE0q%^BXV{Kd~W|EAG= z>#8p)@h!Vwu*aNZJ*D@FZQ&cHg$-Nzq;~iJoYW_(_|*Il5T=KXAJ_`&)JM3ox_rS$tVH?||AmwlmTj*3LP=#?0p>9Z{%oxJyu-FQ6mv z0Za4OSGGACA7nkdHAB~>+`RPEdxl}^xh0X8pZU(QEZx*{>BLfhFFRJYr8_Ra2wdVh zRWJ3{m6yRQ0+;$Njk@|ObWP-BH>nKmw7|8ANaw?(-oExWdPm{Yb4#PIzl+^d`Ssn? z+t=U6A82IdSBtsvA@NA3sD9n97NMnGee%If8-t2mRmI#*nl>#7R8~2})*M)f}$6zV5xQKw`RH+!xJu_tlIc&cfT`4%cJjA<`ztQKwhDE1dtUj^t zse?e;{=Ye|-tV8f&v4zE$Fd|4fTzo=;}>Tq#>x@PxM_by{@U&(s;o(<;+uWp9I>4^#c^C(-A_ zWN$buR-LoywAt^REtkWpbGO|t`<=Vv@wDo^U9Y$O&fD|(T6O+D-9wHGj1EdLOj!C$ zqF3wi)YeWe5jL&z>-$|9{_OVGsJh z^IhqLk~hW+96q?)Ze`e@D!kwzyLQkrewOF829_quZy+Oohx3 z(%5B_{;y-iI6-%K+PH}ZcW zu`Y@E#PctkG|z1Mu`y_Zjf~*g6^CbD*%0tTM}a%PAmGkkm06Evo|xG?HA~0vEfN)6 z@$AIONiRGn&vV_wsG0B;LwLA~Faelf~a_Hi+rK^RdPd~lf z#UQ%C_~&iQ=toU|wmuQFt+~T4G-21Vtu0*4HyLJIc{+TyG+N2r@yd6OmG$y-AEs-) z%=){nOZ#=ik(JCdRynMS+Ov)C!P>_%9udXUuf7RgvPMr*J|tG?`cAF9^%+mkIk4Rh z-QQQ*6g_v5Nbsc_3*Ey0Z<@R`CsnsP@=RLT=Gjkk(rtf7UT6#3vRE}Y)3-Y6%CfMn zt5b8cV}D28I2N{T^U~bh-0J8%&%(Cvewv$K`#XAB1*=*DV_soz^_{7u&1ywf-BxUm zPOY&p*S)m0!)94ghpEkU)dB_X(uvxlPf8Z4E=_pH@Wf^Ir*|BRFSd5-UVLmgOTtOv zSiw8Hg`0XAXSCNP9$a6iopg7WMzJb`nHyg?Qv;)h!c32sA@%v!IE?;gXel_UuVvs_ zy;!4MJ!Yojq%@`njUDFNj8X?=UM&?B;%7NxXlS@ErYS+CCxJmJth40mib-P9s>j!y zn#p;ga@X7whmKyDGqItb`N`A^-U{OXy+1k3@R^+PbD@NKA7_c~p}UL?5&J|xzGGN& zdx;eP5hfMzjS-n%W zm~D##%UvOx@FVBb%}k7*+Xz^k-l^2;S6u&QPI|YERE*uU4M7uZCUgB(Wzdw|>gqN3 z<;;wVWX+4M4k2@sX5DaNIq~v^!-YSd|D#lRnGbwmFnSQ<*x4m`;#5Fo#j@Oga_M)nvTTlr&)H(ZE{$mos)l^`xbM?H;23!!JPKlcf>5qU3cv6 zp3<}X4wIu3Z?wmota$6&zh``BxV86E&iya$xKGBWj#h_|vrK0>Tqg1h`iSiR(Ei_cZTJ8032Ffk;x67$ z^^!XqLN4-;yIH3~F_^ST{YMnq$kb>3i+=*0l_g4)Q~Cr{=K8rbudIf9(si!yeli4>a7`%^7-_bJpfX zjSsqJF&MtuY+8R?;d#`y<=KLf0&Kz?Hg$D4Fu%4Hc4iU~v|V0oz9P7j=gxty8LUfJ zb9^w~Eb_!bfcv1}6wZ&uo$GJg-4{M6`FlO*8l~_>2jyh;8%#PV|Abfdf}mfr{da8} zk4}4wh5LoiOq#+lNu+_(FS+mhhYco+h3{wVn~=z9naIj;uyav?gZYV_*Sa}x9^U+4 zMr0qO#AeMioBcetOA2(v6(3}I%>Jr~pS9cB!}_4mlFf=+IINExp3)#{zoo;)`bb8w zVdI3u*0Y_PPHZ#Td5}+r!=lB-VUB+1O(Pp-F{YArtP_qf8TY!bIZ_bK5b#HI@8${m zM!doqEV2xOPe1Jbt|5LT*ruFQ@aN+FSyFw03+fcM*ep2`=fh+7Ve^|;J2!1m zeH!7Mb!z9w8*I-PG49yhaiMdXp7nvo6IQRI7#2u(EQ&T^mvr%w-lF|^U6BY!*5S>u z$}UqQ3`zvuSB4*l42Ct|fPgEBh5T3SQfA zX37DdSsA`Ijb~*iPP`$*@!#O{ne!?&>4^-aIV17{Cz;qZAe|7MQx=OuG(CC@iHOxdI3_tk(=bff-E z2j6g;vojuu%zSV*q;u-66~dtp#R3&CglV2Ph&i+Bf$u#Pzh8g2FMD?#I$ z#Qq1&$!g@h^CsZSn{yeJr+=RDb(Wm)BZNyJ)^umjg)bbFCACh?bm(V2D6~0;^Gn3B z=?&tny%X-Q=B!=VsW5fg%nbi&20_y#E-?lKiC>*?QeoY3i<2!gdpZkGHC6;QYRu5t zI!SBqp4mGjCR~)5)TrOHvsW%QV2#VADKDn|-=1>8z;*X_AHzwJrn_^3toH`noDH_U z8*KMB*#2*@18<01O?h_h{oi*JZ)Y=~QKhMmKe9ngW-VO14 z8{+>rWWme6)m7au7*(gSTwQmNFYO}C@FWM?yMn#t82~yC9ke-Qpj*pIQnqum&8sUDUO4loa_hXB5&y*IyEoeb@f3h2Che|jtMgD{nXE) zq}aSiVdjj5EKFhh3mPsKHZ(KMnZcnF6SIubV{vqnvTakRW|gv%6+@U52XB!&+mS{6 zrn-7EDC>ba{d3_f`-7=O!;R!`3+RB-wbao zSQ-<>8U3k0uJwB0tYv+bZ}WE#At(s(gH^MOfD_wMC-0x_@=d2yK|zx?RL}zLrzeGzHa^bI zM#uz(FBZBz-5{!c)xrk>jS+h_XHM!|zGyY$g{Z(!%O+Z_oT+hR_1wt11Da2EuWaqo zY>84-4vOv(;#e4TXRB1lQQ6y@cC3;}xa!BW#!hhcmy`34Op55vU^;hjv*QVd#tnDo z#B%PAl3A5BnO~x9-`j<+HCFF;WE45jH06c%u3cf5eHqS(a-5Lrxc4;n{|Vl>hq7^x zbmJb|#y#31jS9gT_iH4@*#%s<0`rEo$AqX4_+ z+m0<39E|}9zutB;e=w-ah@9jya1t`OMgvmT~ZJ>*&qsl$Pr-j_7E-!O@z~o>S5Jb1jGDw}*@jNlI!7 zZW4)WEVimlTsgs_qc6*{J7X*3f=9DAw2F&$@U%T_v}g%!U@v~j;VkiJhQ*4XZ{`2@ zIB<4HSQTl~` zL*0dBr4UZ%gvV1Nk|#Tu*}j|Vq2?r@cz@T_6t}V`Yi>W0UDsA?@x)fFyU8HY&(2oV z@8KnH+wK*uVqzVkah(!s3HK&ffb)BqtmPERleXQlQPvf|G+R8TUah6xp{*=d+7U{AMY116| z-Jd-ytV{c!DAv9rZIeZd+k}U^O80;E=`;-SnQd{Hd*9CdGETN>`V|ey_A3(gELK$b zaki<-{I?TGeA@6LrY}BHlEF4Cqpd8x@c_H+xAdBMU7R;qvzBpX^4y-2@Sw}CLt!2} z3tMu>jKpadIwlEsZ5ImtgZ9-6pLmS1#S_JU^}T|Gjxv4;Caf3cO=fcvsre=_tqGxbF?K@{;K{ zw%vcd{oL)Xl_h%Br#HXbVCL~~+k2~>J;oA~S5N9WvV--a#k2=I+&=8spS`1tp=;5F zNdmhp9{qZIY~K5#!uQ{nvFIA+FMhM*A|KCGZ_{UdPo{r9HGM(Klxp#J*`^&lP{RbDw?F&kFHx=a<~gC;Y%ssD8g^ z@}7kT$9Aalio7g1ALumo!iU2@_6Q5_{b-dNR+l<$!g{^ewvV0d1pZvS>9$SRg5kLn z-}~rJ75?zYpX?d#Ofx9tozKztbj$wl9h`dZPqbM-pK0#=AN})`|7SFlDq`!vaqQ&G|4Hk=!MNbbOYTR*1w!Fn9 z{>#)A62HPaP4tCb!b=1jMRYX9wEy%@Y2iG>lX3c+P)mq7YdELtmJc30E@cnj*<>F* zP{zr*O;bQL zxSS*2{?=v^>pF1$Ur*n3 zd5&FIyk{-&4pC%bcw5={qjKewO5Fo29J-VGXZY^7$>!k|)HC_QYd>-JdH#dPI>iMu z)F+?0$oyNC`S+stXHTkpO7e1Ts{kZV*%ajEov-kJ^zVmC=i(glH&P|K( zzb4a=xq|b-AKw7UhJ1&>=@I8eC-KSzPI)Mkt+mi^kG%M02C>AGKeZ~)*-!q+dGefj zqkop=H*@p#mu8DOan!8)Q}ba;S=WV$UrYktF1h@7vDcz{`DOj*T@+vU_KWrh$wlydNEE>Y^^)3HVdLPQ>)-D-EUTQy4g8nWyk* zWE31|Vf5wVvbH$Tf4Es$#&u1^2jRU^>K7I`wF~KHebKnI#A~`y?yD^iguJHkxlQ%*oYmPCx-x36 z)gr+us=ZQ*nH2&_p(_PC^CSh%C9Iw%#hqpNLrmigqgwR6tv9yi-`P`b|IGHr_XlSe zb#niIRrBhH;gb`S)PvXM{4{!YW|n#JyEi|LUtCz^K3OmKm&vOutHL+uz5QkS=EkP< z%jDpjG- z#HqDIp_$j}heC^>SH=}Z_OFHw9G6Bk(k1e z;VF$ot5yc5#v`ImFOhbA_FiP4lGCB&)mwiyht0RXnXz zlqyjaXa3;W92ir@`TrS%Jjav?uHt-+E{=RM32IL4SGPQIPQDiq*sICQaH3V9Hd0_t zMv|pQokT~)qwWr=5+}i4y`7EoKJpw`v6xxl!sKqlKP<_PQ^XuKR(!tuNMN~3XTU4R z$R#T?Tvo+N1uv7=G&sPNu_$Z8D#5Q3TI-)@R;>=06BZ#LU-Hgs&Ge#8B@gGu-{ZWb z*DjYGuu);}%*Bq^<(A~GzZ+EkdWAw@;srLVJ6(q+tdVM2=d5QFDLBzZ#^e>drBv_* z1<4mH@*LlYndCV>6-!y+%p#w%VLNB~bb)Pa8CM$|;rLX@p2P26V|Yw5dynDqOIJhZ zERpSA6UUa#x%?2jw6yY(6F!cs{?8GU%*c#6!B)4S!P#7Y>n2xDU(?8Sb2EQ2@%1l! zkiXxZ-(Yh9r()~{M&^>vkSoEPL#{`){`vAIBZhtHR|Z4*kj()M;&(3}pR9W1OT%xT z2WH#y4$l=iFLqTn@}h;f`?KJvBL~cqHJ#cHvL!U14RVUJUbfl4lly47qv{La=Bo;Z zc_Fv>dJ8Tv`DiWu-gwDHr7Ey){#m10uF<+JCV6*e?7E^Ox;JbGYh%E5T?>&~i-INF zIcL6~Re1Kdd!KVyrT?-2DH<=BPh<-`5LAq>I^X9gm+*`wwf@Qq*E@$kZMY|%((`T? z_e6&uTccH4epo(>yKwX2J>F=>BkJ#6M36h3ms3{?699EaY(U#H3ysNiG%ZXHZ-<+ za7?-j;N^J*H)_O(3GI@PnUO|xiF zJEl@6c+hcrUxk#?+@%WFKc8%6SfRcs<0Pxbg-QQ)m|TuYEMevId>pmz`PP+hMa`Sl(qXH9=3?UVUC83T^mZyTgv2+KgNWMFhzFz&A{{M0di}|h-IQHwUe6Nt# z!KfRUe8NeoK|^izY4zTwV+%7@7GCG01!@CYk%c&K^!Y+D~JmpW7addO;#+dyPThkT;|%} zb?IH#)62S3_^$A^_?6vt(TN3b7cZNz z^~B|8QEC&b47~UXwU^ykpYgc?#``tA*)2KDM;$`4s-Sd!?J+3$8y3q%?wY!E(zJt zC@a2G)7{}9x1Rxv|pP;j-5L zZ#Oljigk&dm~%>g%1l-JeRG~!{GH`}{>x(4Kt^#jThkEf)czRd(m*$bS2Jp)PJ2%* zUEbKl$aUk^1-DKH{?G~8OD+^M91>tz(>f_Txi2+{_Y@@PO1QL_>w1avJvgau(a5~*<_2b)Z3!YX zwwr_sq>EcD5Qws9l8g`dz}v2M#&jmt_>$H70>&+j6d-n`vMB+q*Z<@ z7yRUI@qgF+;%7m;9h2CKoWJMp3;sU0oYC9Y-}C0`d0#mSYF)DA&F=KevwYhBm+4)9 z^{y5BKlVSjeYP}id2i^wmvjAlWgx{3XiOXBKnE%>{QG{_skPf0)blghAZJ z;fu$DCxQ*jcQh+@gQ~Q1NWZ_93KDU{Q}}0MG_ZxC_H@8YZ=MHIHlox>0S0M z3}&7W1#iW3FwGb8<9!n-Yj~G|r|2GU+5z?_3zqgM@|iX9omvMqT0mI3sG0j&OXzZJ(GowM=D2boxF8`-K)prUvVw6{GKlhteEHJub^_GqDQl?eA6#VcD5 zO!)gSKtXD1>fWQP_p&;Z zU#vWEq;N5Bkm!}vNaLz29D)rdJEd&rN%EK^h{+s05-Me@7w5Jr{@|X57Y-`xL!TV^ zs+8=oup0r*Bn%QUa9#0Qn6}Ea$$O) zCFb&d;^H8m1A+ySr$SvWm@L?}@wR)*C2p6K4u_Q5Wsll?&cdh@GZmc*k&+%EZ zobTOI+4EQZW6r52_&tbywlt1QEzxXg<}sgKF`2wcsoDQh)4S3V-pN@jEloZl&(kEC zZ!qV5K%?Ti_DPls9xI;s96eBEwmhRHh*3yAC?Ivp+oc6Rcu%&br&y)$6=^Nm7s%7{ zTvJIs?az$zEcKdW>4zeiYp*S@y{BIHY;I`Yu&rp|(`Xc1(I}_Uq_(0- zPovpvMYEkoi`$A8zl>%k*48+UwzL&(c^d6yE86QcI@(rr^u1_|(&(J0(Y0(v*E)^v zZ7aI>Y4qGu5AZo48_-;T%1LMjgU||%zE>ITQU}D|Xf$Lw3W>b5GhwXtYv9!R?@;?~ z#e`!TQ`}Zg@zb0d_Oj>Ni+VnX2|+7Z3ug2(t(a!_vZ3syT}@^K)5;m2mQOQUX?lWb zc2t9oLS}7S=G1E|=ibwt_bjs|Zsp8XFQ@sfn9Zj#S1e z6QnYQI9@J#q`o?7)v|l5R!3>AoAqjml&0yCRm+tQt`%Fk?9uXRvly1WYv$OJDP++! z=hE{hW>Z2=RaG%`%v~izJ>!zjk{-M?{3oG{cJTu z1oHtcooR=(*YM@kE^AnI>cxD$oH@_5YiDI|F4I0aZOzGfYkK~*>~724S0vGXQgd$B z8l{fa3>Pv460(-|F~}~+UYoFTYmoE4Y1tFXUTtD}doJqrd_Jv}Fr?d^TJ^FC!B zdX-Zvbzs@M6=yE3*?mv_E?3U^Z<*c}Ozkfd>b~VJ`n0;%?|_|71H*}&2Yl#?Tzbxzdx^>^{^nZ9|yw1~H`7EnnFHrG9-sg93Yp3Zyz4hEhC;K~> z_6nibKjkv(4&^CVXzjCV`eT*7bzRPcOYhgb(*IwyuJ+!lO>!%l^aUsF(!csG>xZ8K zYq&wvtQ8%bUQNzwe5+K@m{m|)R4_lvfOGl=&exi3?HS%XbXIg})pxC3aEgh${T1i+ z4ZQaarYtkydvC!1eFML?Mu0-I0KcK2_(nl_Lm~D58-?@@h0P6xULR6$X%gAoEUexr z;?89Krb#&8P`rGjc)g)S`$ma=L&@nICFdJTE#D}$-cWjWp}=-Sne`j>T$nVk7;2gn z%4;;rPHqxAzES?ap+f%0NH!xy@lA^IMoQ{Mg8MfLOg=B9u}P@B*~sUUNNVsILn@BR$uSPqw-Pa^GAW#OqwCg+K-zB)E#Ao3$?y)6wE)Y`J_lM z{IK9}Ci4$QD#jc2nT@5T59$9eWO;BvnZHn~Vw3UwPg19uC0mLN!Z(}78=EOJD=RlE zD;KhyX;3OZY?<;&V-B<4lqR+LhgIYq)wds(VQ7$1IBdr7pFvWBnPCm1sdS<4dLzva zX6@`kx$A|@Ym8)X7YVvIXwEpKnbB;~;;1iQY&QF_2+tM)eq))(M!J6t8SgNO2^h-U zFlN}&Z1}`jxc;-4x3Q=2M$dF(@9kT>`#+kMe->QMDEY&X>CPla;f*T)8w9*RDZejK zmuECua!_i6F#|_wfPJAO|3|S2Ov)!Vi7hwMJg`aNeX-DEBSYzpuIa^Q8O^%+rP8Yz zTz`K&^`s=I*wA8QEU&M1G$esJ6Z+(NGHnYESvkJGV)qjT|_N_J#{%^KnX3*2vs-=8b z_RU6z%|)`pn?sci!}ve)6dZQyW;Tj2(X%#j(l-f}|CpQ2tn+wNPV|?&!=DV&ovl86 z6BKp`f4)usaI@3lW&w6{A!#S851-6Fd@C~FF7Wu1Cd20Z^WO}ezZZy`>-aO}WH&o2 zGnbqKxUgj zio-h{#wP6@0&kp*t&4rle|&#Z;(B?rt$)S4ISfBn97;?+D0rg8`oV$Z?Dp@)>4L6-J{eOqv@G>x6#|ivL;`Zeo6**@EY%9?yScxh2ic z!VQ`RTQmFXM4>h;rXiqr6f7LUE1%=cU`7YmOT)z5F?+y=1w##mecwa{f_$d141gBa~~h5{O!cX@m1ixN!RloUB*`F z)!(|i%jC~nXmT|7Dmy!ze#`FmtHfb=*>4_<+co-vY|p&3qhJSDTlnSMGgnJ@5X`U6;$Iaa$VfuikV1w;s

d&ELL^_pAXoZZ`8Nibly0~-#AgZf$NH+>uIaC%fAQ|+pJ$-y7sqI)NiJf*MAkS zW;lI)%gXC}&dxVnm0n|RzU^m5VKl$t`Nv-b7uN*He-l_?!ndM{>%l5 zuZ`>)N`-`f2`K+LGTZvDyx|dfW4&P0i16||pFiDsUUb*_i-7W$orj&7W$F%f8wpRb zFq-q##(HzQ_bzqk|DVq*7X~dhF*;Jdl;89$|Hc>1zs@e-_o}+^-0EG*%dO0{tD>$u zu032A8UAHs`uBC;f9cBD3ij`KH)Y30<=vg(+x+eKUg0*?lr{}A{&lr~o56*RI_ZX4 zw>Rb}H{ZBlG~@d2nbvj-qjz$7Y?*!Ea@yi*tB&&9{^dXX8)v4Q3JF^=w(P#wy#L4V zy$5gawsE(M@HYR&+_JFbYRHV)n@)>w&pIKYq+GCsaZ~Q{51c9)1>uJyEvA{YFhAfp zoXb!k*dcIG(JSTCwG|H2+ITiu3C5Ux;V4p-6jd&Kn!*vR<~z?WSIo3ZBr|BK_e`_W zUm{r{D}z^tnOZSqhpmlf|FKJz3dkhc1XS z7#;hf^x5i2nyi|-Q3}V&4e#!@-JS9`A;RnCisHpnWPjes<72QC`uZuiGbCIkNOEH9 zy(QgKEK-(wxF#Lx5YcQ~=&n6?N5CV^ie)?Ia!oFHc;x=FEuG4J?^ozQdbA_+bcFg1 z%_zaC;`V%VUb+TJH#-8|b%q%_+&z7%QlZo6Z(MuX|6l>kHXohaocY`2**Rk#@sTv#RGDl_qj zkgv@~mvtd$xFnMcDinqLI1(Nm<$3c-d$Va$LC61N;yEEaj52l^8B19I?qc20c0$N| z4Z}pvq7z4@vN?ED*Zg6b+0VeRKz9183F+RllNa@xTv_GFJKt`K0;}bf6m4IVOA~hW zDl+Z3tTwxm=b*k~)P&9hQ-Zh5e68WYs;X~(=O0f=!2S=>UOR(JvJ-5d@Z^fDw0_Us zXZud&tA3!WWGJ`wY&B2!fU9DnQv%v<2{vu%R|vV_k#gtJCbjsYJA#@9hL>0NvE44r zc8|5cV;G^=={oUd+T2>PTN&XohPRgW1or4Dt}^ZNS-I=3*qwr-x+ZH2&)SOLExGDj z7`5)2Ya6Fx-wgA(;>>Opp|Uw%O!sd*sS$tBFn3k>gC<@(iT@7;ZkLwdRhX$$9&;(axeVy*Z9@Bd>9{1VGl|P)|DmU}VBww?eOc#?jyS7Z=o$xHl!EfHoXR~tmNj{%b zdT-|QdF9*KUMy&poAqK*uboup;@Y@bFPF`&t4idKl59&`xw1{_^_s2sX1!iF-%skz zhNFD9UvD~l>=whZHCu$HDO^~PBND-)F-bR)ZH9xlk&i%v>+03>qK=Aat!yti^!#D9 zc6gZOpPY%J=`ycHwkg^O9@#i)&zwXR2FKMRY7<4ic<7w>;>~l(w|R2OKmC^IW%u~1 zrnA=U#iw;IN=Sbfd7z*yccqNp>Bsu>x?n?@M z!gDt1!s^NU7|)+#&}*9*#lB{X!qORQ|2)%Tbw0wmY+lNdiEKZQPqepgWs}NO(*C{K ztU>-+gzHnQ?Y%_@7BGfpNQUuj;C}4kE)(N0@725XZ6a@)1pgf7Vx67V5$uxG=;xil z!TX?F!i0m-a7Xivpah$&7T@wc+ELuz9}g{NPn;^_HZJPqwt1&LAr4nJhk zN^Jd<=-L|@e3-$#-BRMnJGPjQ2`bBu9yCp3mNUA&;PtFDMstyinH5*MOxX-v?|l7G zW$^z_?E4NjPge!q_L)yk@$Ed+ZgS!vZ`28!ehT#;#bbYo&~s7iCi+?saLFAG`~I2;N;aJXr) zDK_O71-m9xurulgbf¥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 l&v}50==jAomEd@ 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%0A`=ggkXb=#tfYqbm&0@bbcV-xg? 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%0AkcYpP&y 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 literal 0 HcmV?d00001 diff --git a/notes.org b/notes.org index 56b374c..2851f48 100644 --- a/notes.org +++ b/notes.org @@ -737,46 +737,6 @@ Also, maybe instead of having a single =date= selector, I should have =scheduled (not (done))))) #+END_SRC -** Helm - -#+BEGIN_SRC elisp - (defun helm-org-ql-heading () - (let* ((path (mapconcat 'identity - (nreverse (org-split-string (org-format-outline-path (org-get-outline-path) - 1000 nil "") - "")) - org-sticky-header-outline-path-reversed-separator)) - (s (concat (org-sticky-header--get-prefix) - (org-get-heading) - org-sticky-header-outline-path-reversed-separator - path))) - (remove-list-of-text-properties 0 (length s) '(line-prefix) s) - (s-trim (if (> (length s) (window-width)) - (concat (substring s 0 (- (window-width) 2)) - "..") - s)))) - - (defun helm-org-ql-next () - (interactive) - (helm :sources (list (helm-build-sync-source "helm-org-ql" - ;; :after-init-hook helm-org-rifle-after-init-hook - :candidates (lambda () - (or (when-let* ((items (org-ql-select (org-agenda-files) - '(todo "NEXT") - :action 'element-with-markers - :sort '(priority date)))) - (--map (let* ((marker (org-element-property :org-marker it))) - (org-with-point-at marker - (cons (helm-org-ql-heading) marker))) - items)) - (list "NONE"))) - :match 'identity - :multiline nil - :volatile t - :action 'helm-org-rifle-actions - :keymap helm-org-rifle-map)))) -#+END_SRC - * In the wild ** [[https://github.com/AloisJanicek/.doom.d-2nd][Alois Janicek]] From 6a93e887cceb6e457d84e162151635c113890fb5 Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Mon, 9 Sep 2019 20:38:31 -0500 Subject: [PATCH 031/615] Comment: Remove done TODOs I wish I could remember to remove these when I commit the code that does them! --- org-ql.el | 9 --------- 1 file changed, 9 deletions(-) diff --git a/org-ql.el b/org-ql.el index 11c1552..73eb9e7 100644 --- a/org-ql.el +++ b/org-ql.el @@ -214,9 +214,6 @@ returns nil or non-nil." `(lambda (&rest _ignore) ,action))) (_ (user-error "Invalid action form: %s" action)))) - ;; TODO: Figure out how to use or reimplement the org-scanner-tags feature. - ;; (org-use-tag-inheritance t) - ;; (org-trust-scanner-tags t) (org-ql--today (ts-now)) (items (->> buffers (--map (with-current-buffer it @@ -812,8 +809,6 @@ With KEYWORDS, return non-nil if its keyword is one of KEYWORDS (a list of strin (org-ql--defpred tags (&rest tags) "Return non-nil if current heading has one or more of TAGS (a list of strings). Tests both inherited and local tags." - ;; TODO: Try to use `org-make-tags-matcher' to improve performance. It would be nice to not have - ;; to run `org-get-tags' for every heading, especially with inheritance. (cl-macrolet ((tags-p (tags) `(and ,tags (not (eq 'org-ql-nil ,tags))))) @@ -829,8 +824,6 @@ Tests both inherited and local tags." (org-ql--defpred tags-inherited (&rest tags) "Return non-nil if current heading's inherited tags include one or more of TAGS (a list of strings). If TAGS is nil, return non-nil if heading has any inherited tags." - ;; TODO: Try to use `org-make-tags-matcher' to improve performance. It would be nice to not have - ;; to run `org-get-tags' for every heading, especially with inheritance. (cl-macrolet ((tags-p (tags) `(and ,tags (not (eq 'org-ql-nil ,tags))))) @@ -843,8 +836,6 @@ If TAGS is nil, return non-nil if heading has any inherited tags." (org-ql--defpred tags-local (&rest tags) "Return non-nil if current heading's local tags include one or more of TAGS (a list of strings). If TAGS is nil, return non-nil if heading has any local tags." - ;; TODO: Try to use `org-make-tags-matcher' to improve performance. It would be nice to not have - ;; to run `org-get-tags' for every heading, especially with inheritance. (cl-macrolet ((tags-p (tags) `(and ,tags (not (eq 'org-ql-nil ,tags))))) From d336554e9ca670453095184028aee9ad4f497aae Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Mon, 9 Sep 2019 20:39:59 -0500 Subject: [PATCH 032/615] Fix: (org-ql-select) Remove extra quote Oops. --- org-ql.el | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/org-ql.el b/org-ql.el index 73eb9e7..b4d3db2 100644 --- a/org-ql.el +++ b/org-ql.el @@ -227,7 +227,7 @@ returns nil or non-nil." (`nil items) ((or 'date 'deadline 'scheduled 'todo 'priority 'random (guard (cl-loop for elem in sort - always (memq elem '(date deadline scheduled todo priority 'random))))) + always (memq elem '(date deadline scheduled todo priority random))))) ;; Default sorting functions (org-ql--sort-by items (-list sort))) ;; Sort by user-given comparator. From a8e8e76df961baa1b4a317bca7180f6dc9af9fd1 Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Tue, 10 Sep 2019 15:40:47 -0500 Subject: [PATCH 033/615] Change: (helm-org-ql, etc.) Name source for command --- helm-org-ql.el | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/helm-org-ql.el b/helm-org-ql.el index d83c0a6..56410e8 100644 --- a/helm-org-ql.el +++ b/helm-org-ql.el @@ -91,7 +91,8 @@ Based on `helm-map'.") ;;;; Commands ;;;###autoload -(cl-defun helm-org-ql (buffers-files &optional (no-and current-prefix-arg)) +(cl-defun helm-org-ql (buffers-files + &optional (no-and current-prefix-arg) (name "helm-org-ql")) "Display results in BUFFERS-FILES for an `org-ql' query using Helm. Interactively, search the current buffer. @@ -128,7 +129,7 @@ Is transformed into this query: "AND")) :sources ;; Expansion of `helm-build-sync-source' macro. - (helm-make-source "helm-org-ql-agenda-files" 'helm-source-sync + (helm-make-source name 'helm-source-sync :candidates #'(lambda nil (let* ((query (helm-org-ql--input-to-query helm-pattern no-and)) (window-width (window-width (helm-window)))) @@ -150,14 +151,15 @@ Is transformed into this query: (defun helm-org-ql-agenda-files () "Search agenda files with `helm-org-ql', which see." (interactive) - (helm-org-ql (org-agenda-files))) + (helm-org-ql (org-agenda-files) nil "helm-org-ql-agenda-files")) ;;;###autoload (defun helm-org-ql-org-directory () "Search Org files in `org-directory' with `helm-org-ql'." (interactive) (helm-org-ql (directory-files org-directory 'full - (rx ".org" eos)))) + (rx ".org" eos)) + nil "helm-org-ql-org-directory")) (defun helm-org-ql-show-marker (marker) "Show heading at MARKER." From adec4d05bf7372efafd9ddb3ed4f7f3d9bc1e51c Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Tue, 10 Sep 2019 16:29:48 -0500 Subject: [PATCH 034/615] Fix: Declare another Helm function --- helm-org-ql.el | 1 + 1 file changed, 1 insertion(+) diff --git a/helm-org-ql.el b/helm-org-ql.el index 56410e8..618809a 100644 --- a/helm-org-ql.el +++ b/helm-org-ql.el @@ -42,6 +42,7 @@ ;; Declare Helm functions since Helm may not be installed. (declare-function helm "ext:helm") (declare-function helm-run-after-exit "ext:helm") +(declare-function helm-window "ext:helm-lib") (declare-function helm-buffer-get "ext:helm-lib") (declare-function helm-make-source "ext:helm-source") (declare-function helm-org-goto-marker "ext:helm-org") From 5574f33682a417786c9f6cbf80d5cfe29e68c104 Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Wed, 11 Sep 2019 21:59:39 -0500 Subject: [PATCH 035/615] Change: (regexp) Match all regexps This seems more useful, because it makes it easier to narrow down results, which is the most common way to search. --- README.org | 3 ++- org-ql.el | 12 ++++++------ tests/test-org-ql.el | 10 +++++----- 3 files changed, 13 insertions(+), 12 deletions(-) diff --git a/README.org b/README.org index 180bf2c..0c32e91 100644 --- a/README.org +++ b/README.org @@ -228,7 +228,7 @@ Arguments are listed next to predicate names, where applicable. + =path (&rest regexps)= :: Return non-nil if current heading's buffer's filename path matches any of =REGEXPS= (regexp strings). Without arguments, return non-nil if buffer is file-backed. + ~priority (&optional comparator-or-priority priority)~ :: Return non-nil if current heading has a certain priority. ~COMPARATOR-OR-PRIORITY~ should be either a comparator function, like ~<=~, or a priority string, like "A" (in which case (~=~ will be the comparator). If ~COMPARATOR-OR-PRIORITY~ is a comparator, ~PRIORITY~ should be a priority string. If both arguments are nil, return non-nil if heading has any defined priority. + ~property (property &optional value)~ :: Return non-nil if current entry has ~PROPERTY~ (a string), and optionally ~VALUE~ (a string). Note that property inheritance is currently /not/ enabled for this predicate. If you need to test with inheritance, you could use a custom predicate form, like ~(org-entry-get (point) "PROPERTY" 'inherit)~. -+ ~regexp (regexp)~ :: Return non-nil if current entry matches ~REGEXP~ (a regexp string). Matches against entire entry, from beginning of its heading to the next heading. ++ ~regexp (&rest regexps)~ :: Return non-nil if current entry matches all of ~REGEXPS~ (regexp strings). Matches against entire entry, from beginning of its heading to the next heading. + ~tags (&optional tags)~ :: Return non-nil if current heading has one or more of ~TAGS~ (a list of strings). Tests both inherited and local tags. + =tags-inherited (&optional tags)= :: Return non-nil if current heading's inherited tags include one or more of =TAGS= (a list of strings). If TAGS is nil, return non-nil if heading has any inherited tags. - Aliases: =inherited-tags=, =tags-i=, =itags=. @@ -486,6 +486,7 @@ Expands into a call to ~org-ql-select~ with the same arguments. For convenience *Changed* + Predicate =heading= now accepts multiple regexps, which are matched with boolean =AND=. ++ Predicate =regexp= now matches its regexp arguments with boolean =AND=. ** 0.2.1 diff --git a/org-ql.el b/org-ql.el index b4d3db2..a80a9d9 100644 --- a/org-ql.el +++ b/org-ql.el @@ -427,9 +427,9 @@ replace the clause with a preamble." ;; Return element, because the predicate still needs testing. element) (`(regexp . ,regexps) - (setq org-ql-preamble (s-join "\\|" regexps)) - ;; Return nil, because we don't need to test the predicate. - nil) + ;; Search for first regexp, then confirm with predicate. + (setq org-ql-preamble (car regexps)) + element) (`(todo . ,(and todo-keywords (guard todo-keywords))) ;; FIXME: With case-folding, a query like (todo "WAITING") can find a ;; non-todo heading named "Waiting". For correctness, we could test the @@ -910,15 +910,15 @@ priority." (org-is-habit-p)) (org-ql--defpred regexp (&rest regexps) - "Return non-nil if current entry matches one of REGEXPS (regexp strings)." + "Return non-nil if current entry matches all of REGEXPS (regexp strings)." (let ((end (or (save-excursion (outline-next-heading)) (point-max)))) (save-excursion (goto-char (line-beginning-position)) (cl-loop for regexp in regexps - thereis (save-excursion - (re-search-forward regexp end t)))))) + always (save-excursion + (re-search-forward regexp end t)))))) (org-ql--defpred heading (&rest regexps) "Return non-nil if current entry's heading matches all REGEXPS (regexp strings)." diff --git a/tests/test-org-ql.el b/tests/test-org-ql.el index f0d0286..11ee176 100644 --- a/tests/test-org-ql.el +++ b/tests/test-org-ql.el @@ -512,19 +512,19 @@ RESULTS should be a list of strings as returned by '("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" "pizza") + (org-ql-expect ((regexp "Take over" "universe") :sort todo) - '("Take over the universe" "Take over the world" "Take over Mars" "Take over the moon" "Order a pizza" "Get haircut"))) + '("Take over the universe"))) (org-ql-it "with a plain string" (org-ql-expect ("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 two plain strings" - (org-ql-expect ((or "Take over" "pizza") + (org-ql-it "with two plain strings in an OR" + (org-ql-expect ((or "Take over" "universe") :sort todo) - '("Take over the universe" "Take over the world" "Take over Mars" "Take over the moon" "Order a pizza" "Get haircut")))) + '("Take over the universe" "Take over the world" "Take over Mars" "Take over the moon" "Get haircut")))) (describe "(scheduled)" From f55fe7ef79899e03879f0a48874a4f179c65614b Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Wed, 11 Sep 2019 22:02:14 -0500 Subject: [PATCH 036/615] Fix: (heading) Only match against heading text It should not match against e.g. tags strings or to-do keywords. Note that the (regexp) predicate still matches against those, because it searches entire entries, from heading stars to the next entry. --- README.org | 3 +++ org-ql.el | 6 ++++-- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/README.org b/README.org index 0c32e91..0311a4e 100644 --- a/README.org +++ b/README.org @@ -488,6 +488,9 @@ Expands into a call to ~org-ql-select~ with the same arguments. For convenience + Predicate =heading= now accepts multiple regexps, which are matched with boolean =AND=. + Predicate =regexp= now matches its regexp arguments with boolean =AND=. +*Fixed* ++ Predicate =heading= now matches only against heading text, i.e. not including tags at the end of the line, to-do keyword, etc. + ** 0.2.1 *Fixed* diff --git a/org-ql.el b/org-ql.el index a80a9d9..f3d611e 100644 --- a/org-ql.el +++ b/org-ql.el @@ -448,12 +448,14 @@ replace the clause with a preamble." nil) ;; Heading text. + ;; MAYBE: Adjust regexp to avoid matching in tag list. (`(heading ,regexp) - ;; Only one regexp: match with preamble only. + ;; Only one regexp: match with preamble, then let predicate confirm (because + ;; the match could be in e.g. the tags rather than the heading text). (setq org-ql-preamble (rx-to-string `(seq bol (1+ "*") (1+ blank) (0+ nonl) ,regexp) 'no-group)) - nil) + element) (`(heading . ,regexps) ;; Multiple regexps: use preamble to match against first ;; regexp, then let the predicate match the rest. From 9bc3138ff8ec72277dc777d13645a0177792ed39 Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Wed, 11 Sep 2019 22:07:59 -0500 Subject: [PATCH 037/615] Tests: Add (heading) --- tests/test-org-ql.el | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/tests/test-org-ql.el b/tests/test-org-ql.el index 11ee176..510abee 100644 --- a/tests/test-org-ql.el +++ b/tests/test-org-ql.el @@ -411,6 +411,16 @@ RESULTS should be a list of strings as returned by (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")) + ;; 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")) + '("Take over the world")))) + (describe "(path)" (org-ql-it "without arguments" (org-ql-expect ((path)) From 6e4ce26f45d685507351dcd921fe6a4923969fee Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Mon, 16 Sep 2019 21:33:47 -0500 Subject: [PATCH 038/615] Tests: Add org-tweak-timestamps function --- tests/data.org | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) diff --git a/tests/data.org b/tests/data.org index bdc664d..410c6cd 100644 --- a/tests/data.org +++ b/tests/data.org @@ -129,6 +129,44 @@ I don't know when I'll get to this, so it's undated. * Code +#+BEGIN_SRC elisp + (cl-defun ap/org-tweak-timestamps (&key (offset 0) epoch-ts) + "Advance all timestamps in the current buffer as if the earliest one was on today. + OFFSET changes which timestamp (in chronological order) is set to + today. Or, if EPOCH-TS is non-nil, use it as the new zero-point + for today." + (let* ((tss (->> (org-with-wide-buffer + (goto-char (point-min)) + (cl-loop while (re-search-forward org-ts-regexp-both nil t) + collect (ts-parse-org (match-string 0)))) + (-sort #'ts<))) + (epoch-ts (if epoch-ts + (ts-parse-org epoch-ts) + (nth offset tss))) + (difference-secs (ts-diff (ts-now) epoch-ts)) + (days (floor (/ difference-secs 86400)))) + (org-with-wide-buffer + (goto-char (point-min)) + (while (re-search-forward org-ts-regexp-both nil t) + (let* ((ts (ts-parse-org (match-string 0))) + (timed-p (string-match-p (rx (repeat 2 digit) ":" (repeat 2 digit) (or ">" "]")) (match-string 0))) + (type (cond ((string-prefix-p "<" (match-string 0)) 'active) + ((string-prefix-p "[" (match-string 0)) 'inactive) + (t (error "Unknown ts type")))) + (brackets (cl-ecase type + ('active (cons "<" ">")) + ('inactive (cons "[" "]")))) + (format-string (concat (car brackets) + (if timed-p + "%Y-%m-%d %a %H:%M" + "%Y-%m-%d %a") + (cdr brackets))) + (new-ts (ts-adjust 'day days ts)) + (new-ts-string (ts-format format-string new-ts))) + (replace-match new-ts-string t t nil 0)))) + (message "Tweaked from epoch: %s" (ts-format epoch-ts)))) +#+END_SRC + #+BEGIN_SRC elisp (org-time-string-to-absolute (org-entry-get (point) "SCHEDULED")) #+END_SRC From 8f2a02264f1dcd45e0d060655bffc45a7bde8235 Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Wed, 18 Sep 2019 01:21:07 -0500 Subject: [PATCH 039/615] Add/Fix: Set case-fold for preambles And use for (todo) preambles. --- README.org | 1 + org-ql.el | 43 ++++++++++++++++++++++--------------------- tests/test-org-ql.el | 24 ++++++++++++++++++------ 3 files changed, 41 insertions(+), 27 deletions(-) diff --git a/README.org b/README.org index 0311a4e..dfb4266 100644 --- a/README.org +++ b/README.org @@ -490,6 +490,7 @@ Expands into a call to ~org-ql-select~ with the same arguments. For convenience *Fixed* + Predicate =heading= now matches only against heading text, i.e. not including tags at the end of the line, to-do keyword, etc. ++ Predicate =todo= now matches case-sensitively, avoiding non-todo-keyword matches (e.g. a heading which begins =Waiting on= will no longer match for a todo keyword =WAITING=). ** 0.2.1 diff --git a/org-ql.el b/org-ql.el index f3d611e..e01e13a 100644 --- a/org-ql.el +++ b/org-ql.el @@ -193,7 +193,7 @@ returns nil or non-nil." ;; Ignore special/hidden buffers. (--remove (string-prefix-p " " (buffer-name it))))) (query (org-ql--pre-process-query query)) - ((query preamble-re) (org-ql--query-preamble query)) + ((&plist :query :preamble :preamble-case-fold) (org-ql--query-preamble query)) (predicate (org-ql--query-predicate query)) (action (pcase action ;; NOTE: These two lambdas are backquoted to prevent "unused lexical @@ -219,7 +219,7 @@ returns nil or non-nil." (--map (with-current-buffer it (unless (derived-mode-p 'org-mode) (user-error "Not an Org buffer: %s" (buffer-name))) - (org-ql--select-cached :query query :preamble-re preamble-re + (org-ql--select-cached :query query :preamble preamble :preamble-case-fold preamble-case-fold :predicate predicate :action action :narrow narrow))) (-flatten-n 1)))) ;; Sort items @@ -402,13 +402,14 @@ predicates." ,query)))) (defun org-ql--query-preamble (query) - "Return (QUERY PREAMBLE) for QUERY. + "Return plist (QUERY PREAMBLE PREAMBLE-CASE-FOLD) for QUERY. When QUERY has a clause with a corresponding preamble, and it's appropriate to use one (i.e. the clause is not in an `or'), replace the clause with a preamble." (pcase org-ql-use-preamble - ('nil (list query nil)) - (_ (let (org-ql-preamble) + ('nil (list :query query :preamble nil)) + (_ (let ((preamble-case-fold t) + org-ql-preamble) (cl-labels ((rec (element) (or (when org-ql-preamble ;; Only one preamble is allowed @@ -431,14 +432,10 @@ replace the clause with a preamble." (setq org-ql-preamble (car regexps)) element) (`(todo . ,(and todo-keywords (guard todo-keywords))) - ;; FIXME: With case-folding, a query like (todo "WAITING") can find a - ;; non-todo heading named "Waiting". For correctness, we could test the - ;; predicate anyway, but that would negate some of the speed, and in - ;; most cases it probably won't matter, so I'm leaving it this way for - ;; now. Maybe we should use a special variable to control case-folding. - (setq org-ql-preamble + (setf org-ql-preamble (rx-to-string `(seq bol (1+ "*") (1+ space) (or ,@todo-keywords) (or " " eol)) - t)) + t) + preamble-case-fold nil) ;; Return nil, don't test the predicate. nil) (`(habit) @@ -494,6 +491,7 @@ replace the clause with a preamble." nil) (`(priority ,letter) ;; Specific priority without comparator. + ;; MAYBE: Disable case-folding. (setq org-ql-preamble (rx-to-string `(seq bol (1+ "*") (1+ blank) (optional (1+ upper) (1+ blank)) "[#" ,letter "]") t)) @@ -517,6 +515,7 @@ replace the clause with a preamble." nil)) ;; Properties. + ;; MAYBE: Should case folding be disabled for properties? What about values? (`(property ,property ,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. @@ -572,17 +571,17 @@ replace the clause with a preamble." `((or))) t) (query (-flatten-n 1 query)))) - (list query org-ql-preamble)))))) + (list :query query :preamble org-ql-preamble :preamble-case-fold preamble-case-fold)))))) (defun org-ql--select-cached (&rest args) "Return results for ARGS and current buffer using cache." ;; MAYBE: Timeout cached queries. Probably not necessarily since they will be removed when a ;; buffer is closed, or when a query is run after modifying a buffer. - (-let* (((&plist :query :preamble-re :action :narrow) args) + (-let* (((&plist :query :preamble :action :narrow :preamble-case-fold) args) (query-cache-key ;; The key must include the preamble, because some queries are replaced by ;; the preamble, leaving a nil query, which would make the key ambiguous. - (list :query query :preamble-re preamble-re :action action + (list :query query :preamble preamble :action action :preamble-case-fold preamble-case-fold (if narrow ;; Use bounds of narrowed portion of buffer. (cons (point-min) (point-max)) @@ -607,7 +606,8 @@ replace the clause with a preamble." (t (puthash query-cache-key (or new-result 'org-ql-nil) query-cache))) new-result)))) -(cl-defun org-ql--select (&key preamble-re predicate action narrow &allow-other-keys) +(cl-defun org-ql--select (&key preamble preamble-case-fold predicate action narrow + &allow-other-keys) "Return results of mapping function ACTION across entries in current buffer matching function PREDICATE. If NARROW is non-nil, buffer will not be widened." ;; Since the mappings are stored in the variable `org-ql-predicates', macros like `flet' @@ -643,11 +643,12 @@ If NARROW is non-nil, buffer will not be widened." (message "org-ql: No headings in buffer: %s" (current-buffer))) nil) ;; Find matching entries. - (cond (preamble-re (cl-loop while (re-search-forward preamble-re nil t) - do (outline-back-to-heading 'invisible-ok) - when (funcall predicate) - collect (funcall action) - do (outline-next-heading))) + (cond (preamble (let ((case-fold-search preamble-case-fold)) + (cl-loop while (re-search-forward preamble nil t) + do (outline-back-to-heading 'invisible-ok) + when (funcall predicate) + collect (funcall action) + do (outline-next-heading)))) (t (cl-loop when (funcall predicate) collect (funcall action) while (outline-next-heading)))))))) diff --git a/tests/test-org-ql.el b/tests/test-org-ql.el index 510abee..c7890fc 100644 --- a/tests/test-org-ql.el +++ b/tests/test-org-ql.el @@ -198,22 +198,34 @@ RESULTS should be a list of strings as returned by (describe "(level)" (it "with a number" (expect (org-ql--query-preamble '(level 2)) - :to-equal `(t ,(rx bol (repeat 2 "*") " ")))) + :to-equal (list :query t + :preamble (rx bol (repeat 2 "*") " ") + :preamble-case-fold t))) (it "with two numbers" (expect (org-ql--query-preamble '(level 2 4)) - :to-equal `(t ,(rx bol (repeat 2 4 "*") " ")))) + :to-equal (list :query t + :preamble (rx bol (repeat 2 4 "*") " ") + :preamble-case-fold t))) (it "<" (expect (org-ql--query-preamble '(level < 3)) - :to-equal `(t ,(rx bol (repeat 1 2 "*") " ")))) + :to-equal (list :query t + :preamble (rx bol (repeat 1 2 "*") " ") + :preamble-case-fold t))) (it "<=" (expect (org-ql--query-preamble '(level <= 2)) - :to-equal `(t ,(rx bol (repeat 1 2 "*") " ")))) + :to-equal (list :query t + :preamble (rx bol (repeat 1 2 "*") " ") + :preamble-case-fold t))) (it ">" (expect (org-ql--query-preamble '(level > 2)) - :to-equal `(t ,(rx bol (>= 3 "*") " ")))) + :to-equal (list :query t + :preamble (rx bol (>= 3 "*") " ") + :preamble-case-fold t))) (it ">=" (expect (org-ql--query-preamble '(level >= 2)) - :to-equal `(t ,(rx bol (>= 2 "*") " ")))))) + :to-equal (list :query t + :preamble (rx bol (>= 2 "*") " ") + :preamble-case-fold t))))) (describe "Query results" From 5864c28cdb0cdc7f1c8646e6e86a2095504355a4 Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Sun, 22 Sep 2019 20:59:00 -0500 Subject: [PATCH 040/615] Refactor/Add: agenda->view/search, view-sidebar Squash-merging branch wip/refactor-org-ql-agenda. Squashed commit of the following: commit 60d73b071830ab8f0355687a1d325a4791eeb29b Author: Adam Porter Date: Wed Sep 18 04:30:55 2019 -0500 WIP: Tidy commit 36f65638cdb585553c0f90ef48b3908700461014 Author: Adam Porter Date: Wed Sep 18 04:24:45 2019 -0500 WIP: Tidy commit f7bae3ac8c250c4e42b79157656603da91185574 Author: Adam Porter Date: Wed Sep 18 04:10:36 2019 -0500 WIP: Tidy commit 8791b0de3404cfff9e110969b8aa30c753319335 Author: Adam Porter Date: Wed Sep 18 04:05:18 2019 -0500 WIP: Remove unnecessary defvars commit 0dd8d259a31e279ad76188640f6731f8fdf0ae88 Author: Adam Porter Date: Wed Sep 18 04:03:27 2019 -0500 WIP: (org-ql-search.el) Require org-super-agenda commit 76981fbcd3eba7d1b8d096c094a013953c2d3333 Author: Adam Porter Date: Mon Sep 16 19:49:07 2019 -0500 WIP: More refactoring commit a3e58f4d44aa804bfd9ff537aca53647dd068329 Author: Adam Porter Date: Mon Sep 16 19:21:20 2019 -0500 WIP: View list sidebar commit 56f27cd87f0ef246d31328e4c7a41ad2a1c57553 Author: Adam Porter Date: Sat Aug 31 22:25:09 2019 -0500 WIP: Split org-ql-agenda into org-ql-view and org-ql-search --- README.org | 31 +- helm-org-ql.el | 18 +- images/org-ql-view-sidebar.gif | Bin 0 -> 655770 bytes org-ql-agenda.el | 690 --------------------------------- org-ql-search.el | 191 +++++++++ org-ql-view.el | 608 +++++++++++++++++++++++++++++ org-ql.el | 6 +- 7 files changed, 828 insertions(+), 716 deletions(-) create mode 100644 images/org-ql-view-sidebar.gif delete mode 100644 org-ql-agenda.el create mode 100644 org-ql-search.el create mode 100644 org-ql-view.el diff --git a/README.org b/README.org index dfb4266..56abb82 100644 --- a/README.org +++ b/README.org @@ -118,23 +118,13 @@ Installing with [[https://framagit.org/steckerhalter/quelpa][Quelpa]] is easy: * Usage -The functionality provided may be grouped by: - -+ *Interactive commands:* ~org-ql-search~, ~org-ql-view~, =org-ql-sparse-tree=, =helm-org-ql=. -+ *Non-interactive functions and macros:* - - ~org-ql~ (macro) - - ~org-ql-select~ (function) - - ~org-ql-query~ (function) - - ~org-ql-agenda~ (macro) - - ~org-ql-block~ (agenda function) - -Alternatively, they may be grouped by: +These commands and functions are included: + *Showing an agenda-like view:* - ~org-ql-search~ (command) - ~org-ql-view~ (command) - - ~org-ql-block~ (agenda function) - - ~org-ql-agenda~ (macro) + - =org-ql-view-sidebar= (command) + - ~org-ql-block~ (agenda block function) + *Showing a tree in a buffer:* - =org-ql-sparse-tree= (command) + *Showing results with Helm*: @@ -193,6 +183,12 @@ Note also that queries in this command are specially handled so that quotes arou Choose and display a view stored in ~org-ql-views~. +*** org-ql-view-sidebar + +Show a sidebar window listing views stored in =org-ql-views= for easy access. In the sidebar, press =RET= or =mouse-1= to show the view at point, and press =c= to customize the view at point. + +[[images/org-ql-view-sidebar.gif]] + *** org-ql-view-recent-items Show items in ~FILES~ from last ~DAYS~ days with timestamps of ~TYPE~. ~TYPE~ may be ~ts~, ~ts-active~, ~ts-inactive~, ~clocked~, ~closed~, ~deadline~, ~planning~, or ~scheduled~. =FILES= defaults to those returned by the function =org-agenda-files=. @@ -476,6 +472,7 @@ Expands into a call to ~org-ql-select~ with the same arguments. For convenience *Added* + Command =helm-org-ql=. + Command =org-ql-sparse-tree=, like =org-sparse-tree= for =org-ql= queries. (Thanks to [[https://github.com/akirak][Akira Komamura]].) ++ Command =org-ql-view-sidebar=. + Per-buffer, per-heading tag caching, which increases the speed of tags-related queries by 6-7x. + More tags-related predicates and aliases: - For inherited tags: =tags-inherited=, =inherited-tags=, =tags-i=, =itags=. @@ -483,15 +480,23 @@ Expands into a call to ~org-ql-select~ with the same arguments. For convenience - =tags-all=, =tags&=: Matches all given tags using boolean =AND= (rather than boolean =OR=, which the =tags= predicate uses). + Variable =org-ql-block-header=, which overrides the default header in =org-ql-block= agenda blocks. + Predicate =(path)=. ++ Option =org-ql-views= may now be customized in a guided, structured way with the customization UI (e.g. =M-x customize-option RET org-ql-views RET=, or press =c= in the =org-ql-view-sidebar= buffer). *Changed* + Predicate =heading= now accepts multiple regexps, which are matched with boolean =AND=. + Predicate =regexp= now matches its regexp arguments with boolean =AND=. ++ Package =org-super-agenda= is now a dependency. This removes the need for awkward code to handle the case where it's not installed, and makes grouping features always available. Of course, the global minor mode =org-super-agenda-mode= is not activated by =org-ql=, so no behavior is changed in Org Agenda or =org-ql=; it only means that commands like =org-ql-search= will always provide grouping when called with the appropriate arguments. + +*Removed* ++ Macro =org-ql-agenda=. Instead, use function =org-ql-search=. See also command =org-ql-view=, etc. *Fixed* + Predicate =heading= now matches only against heading text, i.e. not including tags at the end of the line, to-do keyword, etc. + Predicate =todo= now matches case-sensitively, avoiding non-todo-keyword matches (e.g. a heading which begins =Waiting on= will no longer match for a todo keyword =WAITING=). +*Internal* ++ Refactored code from file =org-ql-agenda.el= into files =org-ql-search.el= and =org-ql-view.el=. Function and variable names have been changed accordingly. + ** 0.2.1 *Fixed* diff --git a/helm-org-ql.el b/helm-org-ql.el index 618809a..097723b 100644 --- a/helm-org-ql.el +++ b/helm-org-ql.el @@ -131,16 +131,14 @@ Is transformed into this query: :sources ;; Expansion of `helm-build-sync-source' macro. (helm-make-source name 'helm-source-sync - :candidates #'(lambda nil - (let* ((query (helm-org-ql--input-to-query helm-pattern no-and)) - (window-width (window-width (helm-window)))) - (when query - (with-current-buffer (helm-buffer-get) - (setq helm-org-ql-buffers-files buffers-files)) - (ignore-errors - ;; Ignore errors that might be caused by partially typed queries. - (org-ql-select buffers-files query - :action (list 'helm-org-ql--heading window-width)))))) + :candidates (lambda nil + (let* ((query (helm-org-ql--input-to-query helm-pattern no-and)) + (window-width (window-width (helm-window)))) + (when query + (with-current-buffer (helm-buffer-get) + (setq helm-org-ql-buffers-files buffers-files)) + (org-ql-select buffers-files query + :action (list 'helm-org-ql--heading window-width))))) :match #'identity :fuzzy-match nil :multimatch nil diff --git a/images/org-ql-view-sidebar.gif b/images/org-ql-view-sidebar.gif new file mode 100644 index 0000000000000000000000000000000000000000..c86473c413e7ebdbfc3da44f2f9c4ec7a71f69a4 GIT binary patch literal 655770 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

_@6RSa^uC42O||hobrm@kowl5r<}r z6U`1DEial|T$q&&`aYMuy*A6EGpMEG5obl;sr*eoT`Nv>`S^A3@c8C+tjua#mke)` zaboum{mN}C7-AmIT5%?$DPyVLwV5(kl8z}Td3o~x?ascZ(Z|x$%c0Y!5^~q8+viJ1 z{~wMCN}W#LYwjL;z^|dn9(0^RE-K8lx!YjS! zT$@^=HrZ_DQhN50JbpB{Vts?v!+-+@BqB*|Cb^1QPrsEC{HIUw24@M2$sN9(Gh>paEWYn5(nn{+E! z$ws{7uS3c1Z5Q;m%e@I(t|V>~$dfzw;e;z?mP^+;z13)F^UG~C=l8yce-;-IS%+Y<(jmQi0*c0l9V0m#%vq@&Ec}Z}FpYCST5S z<+i%7T&}QaX-2?`0Fk9lT}xxMTC@MtyicC3 zy7sstSIy3`bV*;t#kA=isi!*bGIcVaY_WZ0d$T8CPDSVO%fg3dSZ%#wyQAW^S663Y zMO*oewv)nLp6M@n)?E}x==xdFo&Bt9?~HiULo14uS58~yJcnzQf@?b81Ld_7o409s zYdh80^IiY*>gpo3+Wp*%=9p{<=-t5bis}A?C;v`)Me0uZe_g3!VdkXcA`R-jHxAfI zrSJds>gGS;#dD@8Rea+!oUy4Zw|O@E410+gs#h9zD15WXR;u!DXjr{et@Eu)3K-{#}t&0OBEfr5LC(g zwd~^R#~QB+*|=@iy-BjzHs$;K&TGzlbk$DlEL!iNP;fzO)$&=3*6dpICvC^JUH+<% zRv(YWQ^Ph?kOE-~8O>IQ!7!o-MlHxBAx1 z6?9->V_4R8erx}4rI0(Dj29iR|FgOI>yA>JKGEF6`ZYHBT*uxYSnO-Dq)ydVl5F>n#j7PW>+6a1_gOK3BVz z<)O#I3dPJvv&D`j@vf0tz13&+W%KE}P5Xb}KK4K4MXCda)NU%A;MHcQmz^g-Ry zq>7m{8Tpn;w(WIq^Of?Ad~+m{{oW6rBMU7$#I3h8FX(<~(dqd2teNe-2Rlzl*7)jv z@4LRZZSl>`={4bzJz{Y@%)PnPhrKfX_l-d1+uQCay*lgg!I$d`@2=lxS^nuhV0)*)lc%_;P+382 zk6~8Q?V8?QvxTY{S;7+cy081K6`=Gf`k^k<<9R%NOnb$bR9$#3eVymes{F`{J7+aY z-Mx7I`oL^pOl20j5?)8>)JC?^znAA{gTvL)UFZ<}Zmoavm zFCBkT=>Mi)F0fJjV8=a%75#-v?Vhi!dwp!)#Hx4C?;U$vy6@H7sT2Pgi{v{4XX8Du<^3L3+2Os^|p>N9Y$Z2zOVhM{w zL%_^w$;WdPESh>29+5K?uoLjOpm0c*`|yNI9R^E0y1Av>o_KtC?8qtGn6Y!ylM|b? z#s70KMSe0^bR=0s@Jz}C;p2|%8)mgK9y)XO;6xu$qmqt>rDvyGc-o2nT%Z!NOfj9y zCTi*m-xMdscTXZOuJUAY>Akjj`IR^4=Giy%=~kJ%bktYn)_XeZv(8;@2SqN{o`6?@ zt2zWfq`ol!aHp%3_r7UYNal$(;pSx_H*aV^TjkEi({o1b+Kt0gPsZ_m4l7PRA{4U3 zgW<5qA&YIIF*ln(a7c1+H~0iJupeyX(G*dcHKD=DL!5I#$lTrwVVW_@#V55w6T+nD ztgT^mJ&-;xjq5e)4|0UixAnU`)3ha*?n&HOdm^b@Zy!f;kI^}g z_2h|ek2F*!y6aUYPx7(jeA+GK!_X`e7}uFPEh_J1 z>h!oe&a@fs|0?eG2z@x}@~QrWCF^nKrj--;Tq&0xAj4wbguH z84KIwx-u4Z-SSx0>nD5IRk8ck&x|FLpGB-(GF|MHBNNw-#6!y#^?7BjTsE&OYt^cC zr?OVB+sBo?X45&Z?6uqOb!D&H_3l*m`hEYnayA^|^Um3LOzGPFj<;7Q$x1BU;H1E` z>%ygbnt=?{7i_-3)g{4wm`C}{|9D28&5SCCTBIgvuCMv+75bq@+h=BjrdijrUQ37O zy_>JHE;m*X>0H0h*y_MxWt}}g4ix^EJ6&+Ndfml&Ri<1?OAm{EpS5PwnN^?WR!jS> z))C?;w0YE~{jM-?=7%GvopvZbG(4ldtmIOj2akdxPnpn-!$;-oG8&ur_;CJY>i)AW z;x?D7Q0-$5`2!B=-G0usg;&GUIXyWaaq`YkecqtxEqz02%Q3z1`L)^FpZ~Icl+fAn z=?$BLvLZ{@zLs0xZWpfaa53;!y)1^^U!tPURRC3T|b*VYv6v#RR9g#jKhc z4SC(ulKaY@&wD>Z?z&Ivrc+`QIUdG#rq-XU`oB8sa{C0;)l(+PsBSK2Dk>70cB%8t z7Ucx%_u5M5M1(q}TkR<{Bf*K35?jcNuoR6b}Y2rUDkJBai&K z4NfroEof*>RAd$O@P4g#VyTY@Q-h-BdCPsl4X-6$h%^f%YJO8#5Ip0I*ttz%oe@9Q zWE7qd-#O#1*aguAj91l57T;drajl_y{|6><@gT7`0t|<96&X5|D-UZXT~L%x<71S1 zqQJI3W65=0RpI-M{dzY7xKy6_MO|@X6922LYtWTr_V|+T|4;i^kLMpf5S{m=i?JjlJKV&*rFPmU2(J@!4gX^YS0(b#zWm>Ea4Z zQu>*#T_)IYaGip{>H}|t&Z9+^L$Tnet~rWsTzc6)0smE(B;Pq8B9zfK$;MOt|FX7c zD}roKxF#tIDyS}7^=!A}l?kU>_m)lFv+ieBM5f77tyULF|IL$_=Xf&eJ1Cg@G?dwe*`yYj~TIa@bOjJ$H&xGJzWdCu%f zmnGcZyqTgI^g&wg4_mAb^RoOKHyfB?`qSn2fGSi+)pj zQX}Sa!f47Vk@cJS*O&sU!@|X8n-&gi3#(7K-aJM+*UU}8; zPEMKF3d{WMyY){r?cBVfW9fp(>Mx?F&ULT|S_E&cDSp@KF-hzGx-HRnYt{uWjQ()h z>AFHl@Z>|W{7l?i^b{WoMjRBXSsDJ#ak=Few{1tmuW*GeSZyzLY?*-FzmKabqzrZ` zwCIQ}Nj|ddhRuq9kIX9%7KJ3IAM=h;R?N#uYFYB<$X3=zI$;cKjsj(E&pSUJ)x8%z zbr)}5%iQR@UWGUI7~0yyObfM{TPphMDG2& zu{X{=(M?}_>vm1zgDj6pQd)|#ZMB)(FCKJGVq~^^$$puY1;BXW%4z|)^lPjToe|h1~rDnIc z_}>&s`niN9a6@7LRE59|OcNi-W{U)VV2Ln1?%XEIyelAJMLPE;0}j^$1KF>>s|*4- z0s_`FaJe7hUcQ0dDS%1&sh>dyL!YaB)@Fr0<+3}EHr7ln@mQjJk;#a^NO$hm)-#)H z>`aA1+ZZYy z$#4ENXTz50M2TkC<#N2A6a<^9oPNl{ir@NO>0TA)g`0KODlS-n{r#7m4goG-R_X674kW)(RaYS zd&MJD*~!JvU-ZQvVo*z9de$N9twQJxl@nT#hx-{dCop?XV9lJs-Z_DD zW9Y|lBxQFDs3=M>k>Dej$9JXcQf zJ~_qrwA+3Rh{#oMC(@o@Lwg z-j_34CmC=l$SOH7dmRwVd#T-RS=)bd=G>R6LKotd87qA@WQ04YbEf!ke_(o6D&ru) z&6zMuXgR|=&e9OommG44j88#R{1O4=|-~owM)d%=?`4HXDZVehHp%JmcZFu;-eEKb*bWrWw5X zsm{>OP@Cj)vNB8{qObPnoDk!_?E&+vQ|G;v%xf@Y+AhHM<|J#lz<;fmKc}aCO`mPZ zsLR0rU30+~iFx9uW?D~}wu6zqzdVe=U6!G}VzniMhzaxiOxd^#@fy2Wv{uD)C{CNe z&dT^9Oo>ZY#GqnF;G7u2#p$MtO=tD`el#gHS!CknSl+-G>cqZy1CyWeVmq(JZEXvK zt(IPI;M*^v(fBiAdNNZToBTvhruRD)o7I+`bqQ-Iw`Ay=Is5Wbfe#Dz9hrY^>N1Xn zOLMHGXGsdhY0XwJU=Up56ChB*8n8UZYiVoMLZu0eoFCGgyDSqd!#o(41Cd##oSZ(i(kaq+CI<-Lu|4Xl>;OI0lS$!%J|D0pN=Mdpf)uV%1*|G%n= zYuS5E*_5iqX}A0rp7P1*%3u{+?qIrn*U!~0UaOpEEzkS4lk1g5A-Yt>r>ciE=z|XC*YbE1{2R;nxn>f8UhtG82Hkn%> zpmi-uYUR#Zn>=T4l$_~!TTP^T-nFbw?g0KXRhxE|Y>}y++q;o@mq?+l^<4XIhI%Q6 zUU3HF=>MDJrRPoT66H!(zP_PFJ9TTJt)snau@`WkqFJ*{0wXHOJd+eiaf4R1s zY+~M6AkEFd?pU?G*?UK8_Kx=M9i6Lpbf4bQJA0C(v6BARZuX0<*Nn`fR&;eGOR+p; zlu@y?eZ(MhK){_<`|~tamSh7C=WVes6$8|F=odvBKI*p(s)}?n?CX}D@LKLrMNRAr zIlUW(Z!h{cFmiAB$ZWHKHU63Kl5CZK?RlFfnM6KXsc*D5=A^5&28+4SZUdv;HjB7d zZg8`CWSXFCW`Ct`N4JEhdTHU~lCoy=&kN0+*(IEe7JUA?%kmLtOhf%elU1{t*F?Xp zypM zc6MbLOO~EUbJGKzMQmAKCeHFKN`@TA7iB2T{uX2y;k@*~F?F%7lr=|Fgk2O3U0h9+ z+@BovQ4#WEaWzqKWhkn=F)JmOB{j(;=198Rq(82KX8X?wXf|!)>HXrtT^xEZ-Rr-S z@bLx@>j$x$1?xRSIlh{wA9whFDlx!r9*fr^6@$4YA}^Jtx5;=dUJ|ah_2Jo>4Zo1I&b4}!x zDS=gc0((+hH{OaqmKt>EtM$>Z(Z+Y@EPu%OttdS=smyC*orBO7!@~6chQhyYdH#|X za-LiNsx(yOm?%F(=&1`ldwW8a4qoxu8@ed-f5`L3@{K%Kmw7Lb<&9rBX@3Nda`Uz; z@~gtQE{Az5Y%eqoPqS*Qn7Ym3=OxBHQIn1qZDAM54q&$^RFpm&(f2j;S3?#ohMj+UOH%=SfcDdjhO3a`z+n9s4`_M>fQl`h7*C|%vVr}j{7 z{L$Y0!icj`Q`Muc-YGm0cha{!S19D`0=6G3j4$knU-&crqGAF|***4Y3EbBb{xc;C zsm=6VdEL4_>4W3_sY|m{j1R;(Dk_DkNp4SiRd|0{TcV8le`oaw_pP@bCETiba-)Cq zMw*EE&!3yD7IxqETe4%>1Eb~JCib|^^f|fzamtJ}ZaPX=D~@^H(#azd$mk(dpLzzuIClIG97&PO|G};(%5l*+tup}&ld5x?%eoY zT+d#}BCMx-t=aj-l_%N0OtgKTd(L@!uF}l8pZm{L?f+I~;cvEJYLp4T$hP+CUF8C= z;{G4wl&(1#%_Z-wtIV|Lc=;x+2aK^3>USD7G;~~39!~Hm_hlpB4|TyGK35o-ML9NdOl+Lle_iJ9r^=QKU*EJ??qFh^z`bH+t&YY z$yRRNBcH6FyCU+%(W$>%nCMVjC|tIz-DHj+`$uI{MzM)@ANUIo)i3;Utz(IroX?I8ikp&Ey|rw1Y<%pl zFQZ(SA`$%TOfzJJ^2$LAbJ3Wa#aKotnViKr7w9aU8TvYGUF_aER_U-e5t~xa&e|Hv zb=@a)Y1)Y`tjk1JJBkP%nHxQQ;exoO+t#d1Hh&w{HZ$PlDesL__1V}fw;rqt*NZ*6 zujs3;K;_4$K{NT!X^BRCxqY-((5BCapyIsfhPX~SWW+?`! za-TeSsZY^ZrY7uX(X+F2?c3#If0evS>(|*WwA1P)`?qCz?DF&0v~U_M>2RMP_qXc* zx3|;9r*q!_DRn5yc%?pRWW(XjPm(!~Y|;r-5>hOhxODP59ZU9&L1iBe+$7VNY;@bicZJU(HRjPG z0qNu?3XH6G3?8~G_qzny2nt3N>3H+a&TieHpsDDoz5a-ix9;{Qo4ob+vl#mr9#`4y zV|?Dl*w^%W%4T2l`z^+Pmd}@L_OpI}#Ms~V`;*Q7_WxN-0vy>@w*)xzyP5>Lil=S~ zbeC^63G!55x+Tb4|ENi@uldt0!T$EFrXhjus#`;X{asB%L&H}I*w`#^U+-wc(0rNf_?nmAk@WwCSQXk3Y{c-q?+ zSG`!+qOoGX(T}(dpYDEF5Eo%+jOh-yRXS0ApS8k`D?eaH!n!Fx9n?1}JPX%mmok`n zq2GC4-;-(ct1A=Nr`+R=uXR;g&)TlfR&|Aa!YnTqsVN%-lO}FI^z+Hw-Jir;W!OWl zo=qz5TlZ@A`ZB8|mc9cGj}{yk3vHTozB@C6wV^|`QCq>KfiFnsPbX{JI?jWKSnY~9 zQY0Syn7NGIFXHy{|0{o;<1A>~V&{>!YyAf6`@Q$CCN!^S{}5fslH>J|OK#pXF6NaI zQI?G^x9Xxbq#WWNur_`MB1uOIh2 z-4i|>n)}PIV9AYXwS~2=WicKny7LcwdE9!)=A)A8{5_x6&S5|F;k0r2jE_5>U$ZOX zKD}M$s4;11Wg#Ok@@;3eO4*-?^nDm||6 zWw8-(=8!n>MDK_#OVo?@Ey6-~75*!1Q}A1t?0ZMzK-P=H|BteC$*k^R7iDmgaa-EX zW%BTAQj-&}USgMGvaO7wS=vB2j!FhS=A=NDxTMa}M*{(+% z?!8;UB5x4SAUboU>;mn=2+IeddkV~0jyT$LSUfq@wBj&xNh0Ty#>OcpCQte7yMdM4 zlF7zF(`$(aE91M(PaKUj*Dt%e#Ac1pDMe9-M)nmBiJFT$Z|1nU{AVp}eB#;gnr%W; z#ng2(I9DhLaSI$_+OeA9M2MPkdc#=;oy{}vR;QUXOHR$v%V}8tN6Kbb##B|Gp!W45 z%FaohC;4kGYu#;8V-DN7GfZyDv=~cuts7uy zEzOsk)_p`{>AJ?gpNTITR5I?dIKE<#s!0@C;?d}L!0gD3AKBg8R|GI|Om3CGvV}uL zGU1EBgCM;FSDac3&%3h3xe)&A+FBIvv#gm=b*tSn~7m&;}~ zt&(e5W@g&4TO+}Dsn~;69*hSgHJ6351bmH)|9jAv|CiXBwvrN~#?>+QS>Y4TnW{P2 zW_tM^4BIYex~%2r^6+e_@Hu_~%iI2D$~~?WI3Q%2?iQQm&%gRghw0WuEybyBuGX4@ zDGDj2r49P(S}vbAn5u~hJlgH_f`MOc0o(VYdj%3qw{Nulzp!5PQ z?EQb6m_knnZmW)7s}-ti?w}$tZMEy7x5x5M+pnBp%E~%nUF<}GxK~lzSKq9?UUt&@ z;KL_jYA;;#K3|Bkx$0FmV{gh@ku%v%kNnPU?`(Zv=DdpGuH2IS(w}u7f6$KEB51yi z)8buO;4y*co|#+3`>rUSEk3Z4X99~}?Lqa^%B@q&a<-pZnv=`==AQ6<1GOIJjUDZ` zFKk<6v1bnJGasXq>;JAYU41_Hb!qqVM@pSncc+Oeht=-6ub6GV^VuBzZcq1=pMB>J ze^ZUXg#;!|PnlZ1_b>p`C%=;KRZlxFr9p`$uY1^->A2)3^PZ!93srva^$=s6g zKRg+Z=0BKc-CJvxedm^5{Ps(IZ6&@Mnr{+rZ@TE+X~txqnUk?k8$_<8huDaV`du@d-x$)+syFLZmiL?3pXWT!vF$jjeS~4==X0F5 z*!bLQURQ6p+uSG}s4Kjo^XyImzM}B;7A|q;kDS=@Pfwur$B~KNrjHA^B%Nf>c~*MJ zx?5i7|Br)}4*7b?ch>Uq|2WOrSH$&Q`nhg&#hItJpIctfc__}Z!_P~+u;SzE(}E%8 zR~WDEj(Fi)n6)_W)g!T~tXGn6T|d!quj9J4{x=5^oAXMIntsij=Fe3u`JlvekLmmU zO4}>e9~S*QVdu2{_LFiyhRw%=AMEdTo?iZtdEUuT}my@9>?^u(w~Xx%T^0CWiXM z3NJ%m?UxUUWj3{FdF1({Ln`WH;O&1| zKSV~$!1T@Z`+uIh*Z=x|b${Kr?f3t_Z@2$-TS@BTA2*}UoBX;?#a$XKtd^56cCYJb zOq6I#n9#`}(I(+=pmhQhlgfec0*ML*hr|_1Ge59Q*65V}u>WjfTUQ_-`-6r_JDAui z7}7L4n;r;pzBurG5#xJre)b2A?i*%rV6czNob+e2{fixr&o8h>op3Z1WZBYb&p6Zm zmv-xY4!&Q^E9Fd_?s_?0e4)LrgE6s#ktLV%6!fYX`@Oo;}qk_N5e3mn=K8uZp2 znDK$7F=CDUib=Bq8hwqsO|CTRM6@&;G-NxliQEyI-EjEXM)vS%eqLv}^#U%5I~`*^ zSf^$8$>#96gdBO6AZRe5)$E4D|NkAmiais;G+6IgbeP_75i4ljd4oaCg-LM(Z@h+( zzYKGLh%4inLo;U_V(4IDc4^S->CyC=X)EEp&cj)84xj%6rUa`d8=J$rFZmoo`j0Ym zr~VOjo5Pp>WWw(g{lXJjOQQR|kGL>hbn)BL5~{(vbOB5L8y2;Yu6r7-elL#YyEGKo zxQB0XVmZLfe55(tf+O0dgYnGK*gIWub2w8A+9rKC@GOx{<^UJ_0lqEH4XFnXBuh9h zR5&){K;JP5HyMrwA(a!4EIk@_btFG%>X%^DJ;1Rql1=YHhXIFSB-6?18@Rh0I{HjF z>RCM68a#R4NVIc!?)KoY*EnhShpTty9Nqs9I{6|NY41>BDPURBz--j8fMJ2v-kBWF zKRTT6GBG>J;;C`!&IIm%lcyien0T&(=deT1-Gq*q4{jSnT0K@=ae8u~R1FzZ=dq11gTVlN1GP-Ro zdV)I+t=e-cN2fb?Nr#U^&-M$fW*V$23djF&``s(){>yOAeM+b1lLg@g2cFMq)Jth# z&|ow?BN(gWHi4sAl%wGtj~w%YX3>~A5i2C>?r;ejFhu-+A;@gdF!93S=8hBV9of2S zR6n_N7<_P@RluOj(QN;tk^2PWnhgzAD;oaKY3SP7m)yWyaicNqM<1i^1#XLgQ;+=r zvjnWMVEQ29Zymx?9TC9Xz%s$2t?CEkKb{jNJ*}1{EaHE<7FH}^eZZtQVUpknrBjg{ z^*_y(wKVh?W-f_XDR4^D%Cqm#i&iF%76*&=IX9092{1(|@Psu|at(W2Sg zbnHd1*$NiN2-ZU{c$Hm)RCQVPTqpi&Xi-Z&Oc zOe~I`y>rKq8fYWZ7#;TfH@FT-yv7#U$8*CxivxXkf^2U>9M#V$Jd9 zO&9l(1K&dqHrQ}{{nKdwhbuwkSbIvxk2xM)2H_=7kG{Rrm8jG4`TxqDwfw zw)t@n|3p=mum@qs7x>%@ITGn`v{@taG-qVV8^a9wjDG6&+VM~ zm*-SU$`{fuqACuCF#XpY3djFz9?^A#nLai}Zrk*J@+e1l(OC5pF3JVejJhRiyK#?2(TP zjB^(+d9$dY#!&L9ZNKt|X7>*bffn1k0#`{nFdvG%VfC_C_eQf!WKVTw_necgJ2`qE zE3_>CKebbC4gbA6op0aX+nv%{9T~dJ^ol^{&D}?(W);N0?~Q+afXi$`G>b+2r5*P_ zq)uYeV_lOO^?PdkiGcXFj$3PHwBCgL^b*ekV92UCc=)v77Jo{B2t=W*`{O-x+f(MRAqnONi zU5=&rr**LUh5mngOr|Gc)(lpmAHLyL&DR>9Os;+4F}IQL--8sxEIR!6}!0S&v{l>a_wKix#ublqMS)A6|7Y$9H;KO|G9GaY-n3r z2dkdMy)_j{b-hXDOOxu8(#zj<-C1h#zQE%~uYb#eSk4FOKV1ZB{T`jQJ+?(M;sGn? zlmI@Pcl_ly^>`;U^_p_HWH+ihY~hG#RQ(|S*-~M-Lb%;UR;LNA4sYZC{5|{YL95@f z2QvcV6(?lQJU4NY-OF&b)VBqxYX3bmncs2E=DQLY7s^`}`K2}GgKxq-w=C9m@pJrq zgXg7gT$*rKsfF7uex^be2+zFJ07O| zJrZCN8Dw%aC?hg7<*3KCt|PV_Y!j~et+>Yfz$vkVhehSN(z$cL&-k|mJbt7ZQ6X`n zyd>$u({PqVj;}hC-Yq!ayqD?3F~*Z_&Q(jdq0;yXH)*F4-9&qz5c^Dh_;QpJG zdp%AZa?GD5cRmx#^1YY&T&>R|?%kRT?|hDRZTw%Gl6x;Txb~gLyLWGoaUEC?wR&s! zhqOs+bDJeju$VF2_7}Y!s29DCFKxrOym{MXcE>XN_VwOO;C+*q_V?-OZDQTq>keIr zaQeI0UcE$+>pRyzI}V*IPKVf%^jVw@&m2GEmel5O{zDDpw=3rsM5L$OaX-bED|>;t zbeF%Z$NA(1=S@mJrZp7)b!q$e=RCvH95D-qz7OerYZ|yM*uu3xDW{)k;wj?h4Pfyo zOpo~Zt;9nwpjl_aRc@6);o8S{%(_?IP|~yLw>-otdniz@c6!g*PJ0eU9jgunM>Fe> zq0t>pq8%(E7j=D~1npDcnbyk~E8zQIuT@)=CFH`TxEoBG|3jNJG=yxQ7u%P=dc2{< z>?mu5DTl-ROK~gs*YK8ly)S;aqh!sCD|TxyJFtHZ{aStKc5U_X{i2y#@<77ZpEZ=>dsd=ZXc+rt|5ldC*HYpvT5ScI%FNyvB3(L zifM&h#hrbH3=th13JV_9xVy<+KQa5xoJlN9x*wivCloby@NgDXboBE~3pts%r@Zdw z#7Qeowg;RvoPTP=gE@0ntITKMTByLa_=Wni0T`+KBdd9Q2=SqP8uR|sIYtB@jzVUN=&94&)Rll55 z|Cipp`oJZyo%iO6u7&&uisy%>{(qHt@7KmNrz0;sxwV5gQMW40qAG7bXa4^(-oWzB zGsnVwa|3yA4i&Rff(~CdU zqgkwWc9vQGqcbau)z8nft7qcXD$%&O$gN+=cU6hzcdDOsVQxS5gHdn)Ql6$@{B zi@?e$kGvOb`_p#QVfIH4kFAaSELS+K-)J_WDp}$8?Lv0R7jIi;KRh(g;l`##xh-LS zzjK!rsHvoCvTjgd(ON$3lH#%tr(WwHVETOXF3+|TMPBP48g&TlJUDlD-eS(&YbPB- zyKY2pn<-fG(SeKI=EKrcoKc33vh_aRC%)XWo^X zCfo?s{!(_Q_wmOWl;e!otc zVaJ1(?%5a4cFx|u!*Tt?hi~;%wlU6pGG%(rjt>6a7mcFyB}Ki@6-A6NC7 zRr~y&&uNQgYj-m3)rgkzl>--LtD);Y{to@mhg>{qW)+;jbZHl9Y&3tUA~3j6;5I(oYHdiS)A zDdvjFQzwY(X?Ji7ec;wR!prLYA%>}727@$9LpvkSyrWOPALN*O%r}1byzORf2F)vu zx4v)`?p|HVae*uG6^msP$v>V~Nm+W5%0!6pPLz$?leLv1tnI z=iqpvz+HJF$Rn`!U}nlIt~9qFJKgG3l3cZ1N)~CErLb=|SnwY-;QOJUJ7$MdZ`OEH=Gi$)0-H|wOqS|eV zb?q}*Y_v4f-SlN}3`6J&7v1M<=Q^+SONA_npF3ZlC6G&VPDYl)@5PRBQ?@Mq>cu47 zaFDCYoRRfGVm<4IbjB}LEPDbS6t1t3HsR*h@m`T(^y9Lo+4Uc@tSU}N-sgGle7sY) zV4vIE|1UGoImtLQ>-RK?Xg-+woU5TheC7iED+ispY_v|vJ#1gVBX~1T<}c)0 znaRMf(fVOgS-t6s{}Y$-96x@#LBLBP$+dSAv*EOjdPS2b9-TNnK_Nn_7pp8N{l zy$lDn7CAgIoG!Wl_NL9sAA1B$KlfkA>nmbf){}9)$ohdm2$Q=IG7o#-f>-abzxM> zIj*9D#VXt8o_lF8bS~b}Wle*)j^nyTd>>|?Kbw%{B7=3RRtwdD70ZV8Eb(0Xmh!K1IECe1(eMB{qjnhxc>Y1{j+&6C^i zpmBy_eq7u0>=vK(u_2!mjC~cv1n&Qv5X+FtJ&nEka^jZVdE&84l2}uJ6=fMsTf>`D zY^agqzvWY^?mM3jOZU{D>!WASTDji(vD$^_TzwB7J-52?<`viFulEEtUa|SOq|lyM z?v~%$Dc5Z0EpK(Wcl&Jl{@Wpnme%YCCFcE@9GjLn=Y6nN^5w+c{`)?y*!$;xzSNK8 zxv`4NH(o3EVJsIo7h4y|ReQkV|ECl8=YEpd{>SI{z5i7=>sNolRfYcxTxOi<^h@>jFGYs`Y&w%WRT*qg z-k00Qs<`A(>KrE42JYG|9=8@=X7v-F-P7hUkPxEMS@;Rs{0;&SU64R z(j#Bn$N4iFO!9=*gg$JDao1aSO02DiWf4cx+K%KC5wjE%Hr{mTxcZpkqJ!O5R6W62^x2z{_MJeu8PyV|% zrFe8b@tBn2IqQk%q7<)HDj_k-VtpYhAC+F_hH;r5(NT!>z4yf50(3a2qty}SJEBf& zp9EyNXxqd%H@G<_di)4&={v&}$aGq?PDX0wgE<=(%s;@kLx-i@XO3gR(||p~JRi*t-dK&51638Uw+;CTZ?ZGvHN3t~>RWGEfo>7kCayz%8$GcAM+y}YCUpS9=oN<;| z8g@+j39GBQQ%lmL)MTrcsH`K=aW2|NrX~OKx}YmF?`8BKn>m#y_?B3>Ox@C(@`h2% zg{Qq!&2hyc`FV#Frg+|%k;b^ANhjxE_AIsT4eoj+?zLZz>2^iC6gX^DJs`&6B2&^} z7~A+iSg}F*j;PE8N2Uc13^I(oN1X2HH1M%FNLd9p&Yhm>m!js;RJ4w9`(DSKwP{Co zsQv!oq_@U{aZg{q!m)aWv#l56{Whjm&GV_4=94Is^`IPA`9kDT6N*cvV*Cs_6Taou_%5}Z)iBEz~Lx(<*MeV^c!0oRXGl|Rz@?H zT$bQy(y8F-4|P)DaMD*emB!Q5ljYHM?V9C>aAz4t$sZS(UIfMVI@o?YpW87*x@=;s z?qtS?qR(cANiB;R5%lIZ^y+f101*h9{UP|>i za!z4Td2r@tN#_3vkt@$Wkx_ZDvifUN7nf)EJ`JrSFM6(NTzs%1rzdl!kjvblmBBpI zzs@hcko?ap`C%CO^y-#pqr@*LT_tk24`Q?teQ$i=3z4U99MG$s1D{mRf-U3FXR&B0i& zmIID=H(NGH1u^6r@E)_fE%@W$f8~k;8fQd|zPj=*ILP@%cz4v2DQ6s}PiV;8qNDp` zwN8t>wu4kdi~9`=og->Xx9;*k^XRMJ_ayT`b)sJP{zSj(&HMQvpc&)&7p&!56{XIFoa z*R$h3mml?=ZmXJo;8V=ad53N;%RRAS?JlJ?Pq_3#64JJ><$F?)_Vr8W5yO@#GFKgP zbT6Me^rneTkK^FGckhHca-Yv?v-;?CLT7D(z@h&Ep-1lSJGZcPsmKqllmmxsbsfLB zHQeZw=wV1@T5_Ol-a41Q=Q?W`BsiQFKhb;tZC&=2H7PzldNTPF-sT-Ot`^)Zqi1{`jP6+xj<8IM`po?Lz-_I1*SO6=_^#2@=?L5FXmdRssV#kcANg1jXGNl7jiMld_N}R z?j*bWqo7mG z-OXh4A(P$5sz{l)ijiQnrlexFPH ze}D03E)C$$Zi~5~&UVtSI{5#}q>>V@^tEo;3INtmXn~HCF>y=>|?tg?i#=%&|St8-NZ^a?r8LEzRwtBru@poehD9ZP+NL_lTWsS~< zy&9@P98AIQSgM2iD2@5$B2@ON%Dl;lAap^oM~r!%-sP zs~f|)4EqM#Jq!`;j^ckDvR5;<&2!0&ZeecuCjaLE>yHCIhh1XMe|0!f<~1eNh2^`) zhNAzmm-Kxcn!d4?MH^+cK5Ci5!*nZeL$R@02*+s?vD1DFPv6w_=Jh|eZKLcyn|oV( zcv`1DHvVmv^}pA42V+k0k<8`WTy>Zuty|SQzB$M+`h6(#HCX2S#oQxc+3T|``YdH3 z1snV-K9+=+hr0AW16I zhON=;?NOUe#XtODP}#}<GY=DF~l;;xiZ@O=j`+5J&UDXS<*KOsxwKb7ip;% zYc&)*EiVaLUOI2bNu?=`x-KHS+nya-rgK6q_trAUc4MZJV&g;UB7c@G{cc=!PPy^? z;~KFeEB?0!&U1cocJaz)E4S@!f$6`Nv1_b3y{qa`*Q)F3*>lpfPf29XdZyXXxmtTg zomy6t(hE21Z5=Gu%Y|Gjk2Sanuh=+W&1CVfO~xAQ|9AJKI*RH1aLoy3Z2K9hr=8*zA2ro7S2i`2cm)xOy6$qsMEYpxuN!W6JJWBa?Mvk z2?p65Q%8vgr5nsL2bviVy!@Z}_4j^r=PvmpHJcq6I&4xtSPL9DWO(H;Yl~w=goAC! zfn0wEr;BA0H@>kxahO@rXv}bs|Hnb`FJ+DvHb>%rPCLxJe{refoNoujThtf);cwY? z;?u=g)2q^doSMJ86)j-!TpcJlRxLa@3}AI7!m!4ujG%* zpNt87n%K z>(|Pbsdgt#@}95HoV_n|&a@ZLjEmdrGGasj{eN1#rRkmKqA0i5`~MY9Y1sazaWKn2(4;HBz%hGA-V zZ+uKXl3=u&Y zHyA7yt_|8@woPkmRq1TinN>44ZQ<(FGxG@hw2Ikevd$f?`%@mxzG9NqySe7C>XEDx zr?_?DuNH-7Cx3XjvQ<6io{Zzi-o5qtE`0(AD{gGcynSqK)sHfkwKWs#&zU})6{|H- zJAGcj)yxMsJ3sp?zYdeqS7iRlT%i2hEb1IfER$#EwBI3@a##K9vDUME`%T;TK+BEC z0ZVl@DV#kb9Ox5xR5UW@;!*L$oHnSh$R&ct&MU!6sAqT6xCtft7EZD&h&-#M&I6PhAWqE z-?HbF??jU*4K};KEFl2`4u6d=INpCFvdT+vSBchAn~B})mVGM`3F`e~q`5+RQ%GPF zXTk(0?{pcRb0!XgujU9X09xZLp&Xvk&r z&M2JJdr05}E6=qB$}Fd+CfrWy_jou-@9@1@rF>RXmn`;MT=m{J*O}$l>u}A=YS#u{ zF2RHwF(p@ZdG_rWs?)ctS56I3u4SLL^!`7qz|Mr4hgOw~+f9=q7XOp_X0h;I+Kq`U zxBuTL6_5MnagXE4Ojouyk6472F1`>-_lbJBbY|YIm&+IWd5DLH&0e_uO^!Azr(&pM zDywp!vyt=4%uFFhwZg}#rjaR{Pw#(UQWJXGg=4|OnKJ|ej?J7Nvn#RRKKwz0h{e85 zE7%`=^-k@ZLGWXhRNf}F(*(|OEe)0&Oqv}2J zpyNAV!>b-l2Bux5Y<9Z+ti{zHYyW&YlRo|Ox2w^)f4?qD@%1Xb^oLrPr@bUhWIx*GNXZw@BZJxnW z9%A(4#PeJu=L3v_D;#F5RcTn=sE`?DabQZy1(WNM3%z_aWK{$f@kU#mul}^%p5?BA zqK3~Trm03w|4uB*aCeTnvOvOB({Ex|Xw6kd>p}^F6(Y$NagQvvF6ZP)Dbu&OrNm?~Q9PxA-Oi!&p}_VjyBbvb;x{e6_(5Xl$%pUC z_pJ7sQ8h{9xf?hkxV*50*#_NiR=O=?lG%PXb=f` zR{QZcAN%Wa``alU;?l)4gGwAZB71rpcL*G^JTJNOr$ImhgYfdgKkXZXeDYQA$4DMg zY4cUT``&iVg!Ii*IvPr^u_vW3ZneCq$udv##N5X&ffll_3~JU1Ci19i@D&<%i#9k4 zoVmHoZI`EGhq`8=(SAv5^%#$ z*?bG9qUcf&KJn*MO;uJM>s{Hc9OV-*;fAVHpG?49wv%D_wP$>7+*acZ#j!D4V)gXZ5T! z)o{O;u3$ zMxE()wh{&_Hzp?UO%#vunQ`l?Tn3MN?}N;f*Un9?@G%wL^WZ?pZ`sH@Va`ts`E!0o z#t6JUZu?C;vG2&`+e>;%cCcR6&C_gAU4GFrUK{CL*Q|??8RnYz zQ+1_&@4TdbYRdknC~d*kX!sVxh+ z?LU0vPhq-oW??HU`-MY>mnKa$`16om{u!58O+cecOoGM|LB_7oGfBSpu1+m-JvM3f zo8~DoEr+8{Y>2OHf7UqRCwtnzj#%E=;RgR_uyX7u>I%P;#NrTnD&$^gT;IV~u9ycB z1xbSGA_rLYI9?lG@@d#OYbJx?L^-;fsPn)wyVFl%(%U#_kZq!i3~!IYNYl3 zHnJ;DS#W(n-?t6IS5{}ZD_wu+`C(oD+4q^v(RWVYH6uYB;sad(bQN)U&OZ=6RNFt+={)q>-4SnWpSC&t{>}1b&u{Un{^3$$o zIVK#q(72#=OU8SqvpcG;?KLPp_jQlD|9h=DAEjn&nlG!d#Q66u&FQ;?%kI7_xnDFV z{^ytEjB_t*UT58kZTcP~XvO33LAOg~L6eBhuK2Wa4IEN}f~F!1Le7 zSn%Q$;dG_RO1Z1k4nF<%fHN?#D_G=!s8CM0c;q?hkS)63ci*!(rr|8Xee@dM^R zNAjO27%-_8FllaJ(*3~1s1q*7|D^6{gu#aWOsl$_J}`S4Xu54+2{d30Entn@z#6;3 z)g*wa{DGK4!{(}Ytka*dEcIY7EMThKz}{%U(OSUKxq%~Ag-vzsU{k!r534WZc@wrq*iF8 zURtDHxkas|h zel~A3wrDN3=-h14``KcmvE|fa%bA-k=YFx0HNM~iJvZnio5+2*3L?bTx2o11O#eztvRZ1=R-?&W5?x1a4k8ry#@w*R@=9=;(Pat@53wJ+e`djZt;8j#qXnu|JM@#pIiL@e(`7g>i@VTfOBgA@7I8n zUl=zr^b3gkicSp_yy`w#fu(`LUH<_46$OvU4+M=u-OaZKue`!wWM2Hj z5#i<$Z*wBuMjW(Cn-3oDQcfLV2vVW!sD9EH(+(eh_(ZT6E@vh~Cn~*(JF*%R-Y& z!&*c5S53`ToEF!5HMe(5#LcpZ){@BW+dR&S)g9bo^rprkN7==xUo*z1XkVM)f@Lv*hdZ8WVYE(!Yl&8_)srSmlJ<5N<6 zw|NJaWgfkfp?KBXRbfliH;w|aKwbrgRbg4XMKb!2rO&+9d1HI#Ws$5%GwvJV3`t^{ z@nUr=zhzuDNelkwefoP1uLHw|Z9(~8f+EA+GaqpOd%#`sAoO`cqx6r)pJASp7bNU& z5Hb1@7-F7KzaT;Sx~KJw!wwd~&&?VuMdI5{!?kCGe!u3aJx#>Lv9dm-AW*_XKcczx zM_`^w;oPmv{}Pf4L)q%e`LwomREre1ip$!W$2u!SYX27t7EB15IK%TVLr3clulDbr zA4}t8A10QUbob9_E8UW`c?QF*lI~!M9)64N!xoj@S1Kz@7}CnCrkA96e@ppa?z5h; zU*urs{w-+_6}j8WYWS~aykC(aZpyG@d*IIL6FbA|&reBto{*+_GpqQUx2mPz-|%Wd z$%!00+|{o(D3=u+ZD2Pt=jJMFD-M~OI-_U$mQc?`k+82_{^E@LDv~yDZA{-;Ty%r^ zU&6G0arfMrvBfh({3ATNEql(2&al2JXk-yuS;1Fk*_`>)t@uZ5Z$w0;CA-o0u-X~! ztG6aD+&;6EA?E7T$jXLDW6@c?SD7m;!e(!6wsxPk-ZE;wNU`aEvC8g>p4O1gN|Olv zu&Be4-kA#B>Qmts|=$S z=U?Gp6d9WM(|xx@)l7?EWvj)Sw>mm4mTt6UIT7hD{cEB1^RC<5LfoyEUEfimer?J9 zpL0^J*xjUJDy0gZC#>wBI%Rg%{I@$iKmMpd zrCzJ6yf&#vQU z`;VHeXMM1Kf7Ax?(zN4J6JyHO9N*rsRV*Y~G;aABW}Aja>(b5E)$vQGtl<4GmN>ms zBqOx-rf7ouLFO*Kwwu>_ZOf(^hi-kYFtc>Zf|WO;1FhWOU)#z&Eqe9V&An5nM&909 zdo#NKYf|&qe8p`$*`qv;-`xIx+q~APxwA`mEUs*u{&U7`t64L*CO==Wpjg^N`&-gq z(b&H;=V#7Zm^!;`@oay4o{;qsE2>SyLcg+CFeD~#EjRwLjM=L4^6Z742luB&6f1k~L7I2HqS^0QIud>)yA}hur(J1()EJ;`9uz1X}RMW%ZrAOCGbk+6*)$$~7W>~S@%5!y8|8%j8 z*WrQ_{%`9)d}ZUq#C4peoASdLM84L0POD>0sJs4s)m)B^hfPk0mYuE*+jz2M{Xv-t z$9GlB&UTseZNv0!8%~F8yj_!df6nQ%RufCVWvsiiiNB)2SUS9t;i%xc{>A z*m|Ydp`{T0a-Dq9e zxZE2z(rewbOD|h`|0X~*4zIgZ|`dt4gZ>55pi9tGi?-ys8|LmX>B{{Q>HWXXf8AqU`p0-* zrTISh`F|fzGda9Qg+7TBO#G7?n%Vm`xEeMrJlrmzY;|H2%fm*UVhOD?K~4vb z^>Mf+r2I%oabXlUt_nFKm^#f>UEZ(dzxB4+@z_lq8`7@La%D?0ZNJ;4 zHizYI#@;@5@nfrwf62PG?zzl1nexvuYs5V|js8Rya2%R?^cipTuae~Zi~kvv?Ya6c z;&zd-bAR>1jdJ#~aZ{!S=D+>+Zu@3F3%Tv3d~O$(x5uBKm&froa^vCo!E=B9I91_C1DIu$h z2j$YIri#a;U40&(lJawFRL7sY&!)FuJDH%^CS`YHLCzD;Z?p10_p*xB$@~|~d@^zS z+!7ZtCxw!;Ap*H62i!ark4$m3Ke{Bk^p{oKs_NvO zmU78g|7FQUfBUH{=K~xiStri+y2`mcSR%6YnKP52sd)I`i_;}06?cAgW)&6STp4zw zSBamgTXy-Zu*00~w_;|pU0a!aF!NaAGSL>Ru(%f29dq(qGQTQlI(9|8&M9AdJT9+y zm(>iLcGa*oQX5_=Xjks6ToB#4H8yHm=Hj{jKQz88=9e?01**2d=)@jg#))3NmvjSr>W+^@3k_=<`rcg4dG zMEqCWlTpSP#;~!k=S7A1_GnQHvGAQ-KC^eIOqZEHsmrAD!sHCAC6kpbHJQ#&W4!X` z*;x)>mx(i5*IfznQ0rt_>SG(aq}a9L-Weeq{iT{O{EDCb2@=al2@Lk}w4OWJndxiD z(}hvzT=gm>(pA~`@6M`OS#|X4WJS#_wNm#}wof{~EiGe$ZtK~{}&Geq}VE)vq?1*k{yH!bx{z}}vC0MS&wN!Fa zc-c1Vw&R7B_or3tyj8sSUVc(c;_DA#?2B4s7Z>uL-_4T3`m(3SaVP} zaiWr_d-$ARZv(X3IeFsNSC!#9^KtI06U}yIjyhE@k~wM)G@nR)T9$9~gyGJN z>6*7Z`rLHp*L!?y-!9m%Q+Ve8sm>k`Pw%9s247z|$;&HFd!D)4>eB<6)_qIa3@e^h zz5RGvWaSTykX1tcWm~R9Y}c?J}mHm79hysG-3XKokshQCYvi)T}Y4XKAFq(Q=DI;TQ~emTJ^HU z>{1~i>|Qx{j@vwLv{&)dmif9O+O5n*{*>y3^qNQVkB&Cam=;o)uJdxulVzgeyN)i} z)x`a@Sf0v2B6bFMFapmR~hE_rYXq)S`@2 z?H>6_?34I{Gy^2vRL-d`k9o>@KlJ?6jR*fSt_yH|?CR^e?aqWna?iUWLfFGpHs0H! zQ^%?kZu|JE$I&b7u?gARdYDffVJk~Iedc_^6Pf=FCL3m$aYV& zv0xWSdO1h1CdxYfx4^^%7Ojs@X0fsd`M2Nrmig#VVVey~I z%EwYyFw|+^e)+4VRlsv?*-_QDtxt~ib{n1jx6S+Br@A-h8Ku3JxI@134?(B71sVIO!`o{r|eW&W)-<}c_llWdRGkQad;?XNp zUlkqtrn`EF%)>?w@ss=+zZ<(Iuq5&HN*vbk``B(hAx_j;>!3lOp;PUnTe_M@w2aPe z?A!c0>66u=W%U>G``c@luyppH_VlmRNK9#xwI| zt1S;+S^IJNai6r#qMv6n{5H?Je&(6k?w@D>X>XqM+~>K~e{%%}#h)y!{EVy&It&a< z3WxUY_po=CqQv zC|z-Nb;RbZyQj9UzP>);aMIbLEelTfr0}k4(cHH7_V$9ur{;QZUw3zR2Db=n(H9+; zZG4w^z0o$%Iuz*eM{Z8@_KlB^Pf+%r=d;tuNr5FX$o!%-d1#bUbd5f5Yzy)}!D zJG*P^>+2hmqs{IZI5Y0=;=UyJ;%DO3)}^A;ruy#L@$vDA$=duorIS81@1Fea-cFP6 zpI+bCoPGb?-mMSL3HsmvUnh6*C3jQL?$z<<_wD`t-RY$DoOgkxryE1wNayhF-~azV z1Di&4RGMarbRMUm$Au`7m(v9*ABk!_Xb}m^c-UI1d-aObEW^_IPEty$0qy5%BPP`S z*=lmfaev~AN8JX;G#0zREL7qM~wO<&Y z&#mw~a@eE#+03bPSQ%bDU(h0!^v3KzA$_BL?CJ}Ql0Tyac9>4QJ$a}2!qabe zT~9r&=YH>8NEqj?MOnfd4Igsf+5N}w$+|5!Zhgt$&wteW!$A)9H6IS~n7_GtfUjI7 z&*>GH$w#Ms>mmvn#ml!89%q$#IPn;Jqfg;U!R2d=vKypiLN+KIteLpa=>6*KwLh-? zNmymI{?7c9v0nvKx3F{S3SMB5lohP-flEX<5P|RyB(+t8{Ian|m(ci#v|4ewb)+yzu!%6Pf0-vMo z>;>n@R!hcan+1p-kIose^Jb`?}ejj?1f*e|H~P)?OUF2zdd6$Z@v5P z`|tn%S3B9zysv%o5*zOZ2~Iht?` zH(A^*gjc8@sb&5+jr0EUiJhJPRT7bj&YQkEwNKz`Wx6QmzM^gV#)%)=9e5TA{BQR- zq9paP!^3Bh(DV~W)T};s2J|cvS?+OE>zhkEXCSlli!E!{7hLSB&W_1GGGo)U#*aNG zRz4Ko-Equp*G4^?EgWmE{BYa#rC+^#3Ab$irsGFnc7*$^eE7D(So<}vcT4FM?=M~7 zMctBGGaf5-KAXqt*}fsLuPcm-@R>V&xLl{M z=~=3CkjZ<#X+V;~%Lh8jVy9wfT~v#ZUK%J6DHz6CJpFiQf}hq7%l42-*@6=v8goB# z;yxN^Y3HI=ofRpVx39H|hf)3Z5hK6cS(|-M**s6KT6wN4?&$1yJ{^axZcn<69WxxJ-tezKq9FOd=8nF&SKwTeEldJW(_PJf z9c%n`xp&TPwPSim1Gx`gR)5Fze5KH$pdJPWHZ_3;1|zP9FBdn*?NCyyOEI-;{u8)d zb?zlkMWOZ6Hce1)W%aZd-M~0Y=*R@;r*pNXjjk>b+PILvH-pip(xUlMOW*M=S&RO$ z?s+zMgJMLf)`26Z!hX-xT^p6VI_B;*`%Sy1%;yWu*2#ZqGv#b)N5Rz>kJMfXyElGN zJoqR3P>+^?1+#-8JWcR!ke61U$7}q)`urUao__9UFgE>9? zwefkkBa0`qs%9^jxYqOkK-h-OXLT9!ql54M`c}8+@7jW=VO@`;uJ1VP`|i0{p};e> zNpsuRp7xzut@d2($S!Y{HB}6jv9G3a?q+6OUtW9Z?#C|AJ**D-4$n0N<>btozRs4o zTJcQNZ`U`a?^`|UaxjN**nza9Kr~g-aSM}NHiA{P>!_Lzc`)<#@8}Zntf5RcR zmmBA^&oy$0pMIgE>~^8}+!t=vzb;NVS3G|&n`EoouS?1o*M+woj`i8U@@yyDrseLu z>Vdm=gj>sY&e-qryyL{pb(~uk{+jhi3iki~Z+H#6MnrJVmbJvi|fE zv(!lk#47J@Xkz`y=3V=$(0J#m`Kz=}>&{j4Wvkx5DsEzd{;8=8&P}-`%$7at%G`u> z_3w8Cr`c>1*M9H3@#nqcF3)SU_oigZd+g6w`f;%RWyNE?0|!q&^P0F?@-+AVgljVU zzqJ&W_9fzU?@__g(q<-}jWI z3}4RU_+WnNQl?tV%zgfK2`rPE8}~S<{$lcFoK-(zvyJ>$v5%+Ia@N;8y*|xe^Ht{m z@5lY8v`Se2;bpY{dA(l0`X!seKq5dC(g;4hcfmh1~ zm@Nd71RA(rm`GmCWnB@;Ezx+vP+*gL!yofTp&5;fj>!C7-YDlGxM*Un?2dY2Ly4~i z^~b(9YON6Ap4h~ssPbcblaWQUNkp?*MYF|>W~&{|HaD8>el$Bsv^ZI`xJ0zLRkV1_ zXz|+7;&Y?L??+33L~D>mYe+m)jwGUBe7b-3e=$-hOqR^i5?|=a*~sjEW>#$C#h9V(wI3(Yv&}Lo0If@PBM_3 zY-BlE*eISeu+ilI$*Atxj8lN=hOtrY2GF^;*QfK18W36)+cqkTyn3yz*H-6aT-Tr zZNW~#TiYYEJ9A|^8WSf^&uFQ8UM|T0V)`qWv_PX7Ei*m7x|x3AuchKf8n&w zOh5J$0v(wG(<2!;BW4De7nefgYD6ZolIQwDL}m&k7RCv7%Bap?v2Bj@FS$RG_H0&V z>kLDFS1z)-wb<_0Vh5=uPF71wUHpx`mI#|H^tfffvunxYrAzo27h8od&ShDem$OHqs@B6j-fYh2pR%?z#tvOb;=ESTur*^G5b8F4HUu!N%t-WNm_Da;+YgKD+ z%vyVE*V;R`*53QI_JP#8M^@{eM6G*PweH2Nb+2}!HzTX=Jq&Es#Zxo5%C|12u zV)jO<-5X_YZlJzE)=uK+Xn>1!`(%QXA=k_MO-&C+jUP(OcZAw|LCn;OYy|b`8WDQrx9X654&y1%1&TD(6{Zy1eL2)D)@}ihXW9#Q3+$gQyi{A@=!^viZqH5bN;_+^hc#fYapE3v zcfp;jg=hUgw0ptp1?3N|*Go@+k+kSS_g>x;!s3@Js%HzF&6eC}y#GqKut>S?=NCIg z1@*sG3$uOQe}1QDNwVb|5wEQ7ZTFle_RLPGy1q{+F!{9itdHE=iUJQ73T=_dkzvX? zDEH@}f{(Zs<4$EkMOHqsP4g5_0qs8$j(ddNYs9@}1RWj;?_7A;$&tbAl7R0TLH8a7w?9>( zACJgi>H#B1LT`saOOt z)Fd9?qIqJo=P{Xs$4&nW>SoQZW16U<;&Fn7apocRlROX0gqj3xV`5%)5kOG-w5RB2xKidE}3}#n|hOw;VCx7sNnYVOcR@wd6a@b z%6i8fU$*d^ilOfU#+^GKo<4p?@Xz#)aYjl0;>CUcpI`WW@cdThQ!2SCPKlRA17&x{@HwrOXk)yv z@S#Y@8^OARr`_&Ox01cAbV*RTRyn{|$b$FC%$`%OcaAx|6|fRG;`_E@_QW%bXV&@q z$Tv+CyZ!vo%ZaDB9IweTUSA?J{f3No;@jZs=|Voef*E(kvvRM?{Z%YqdnVLYsA|sP zk8^Gq{=F2+d(HODW$Ri2E!$?#Sf#FwM=tLXPP=`COIE6+_M+lKdAGe+qW=m$X}rmN z<{O7@pGYz1q81Kqprza_x;d+i&tV9-5vgU{|Zc>MJ35_J(Yt?7qK} z@D+^hmNd0cWkc0)&GA_eZF&*TkwwD-@6m<3ao!C zK6&o#qCE<)Ywu+(JTK#T*}z?XHiEls*njy7e#kj? z*l>1|%mewL>+*{fc1}DZ`uB$UrUw&kjxg-YUSNAeV&VhYg|4h0Z*9yGxb^4GR^H2s z4iv7=YwykPSx+j~LAS2^{LO%OT7ckuBf8PRKn za$S1_oQwpf>CArjM_@M3(|a*jSQ?+y1wK?Zd~)3O(XO`wcWaM-;k}ip_w>eD0pCB5 z^y*r4;sn)W)y}LHF0{McRy!sCo$)otM`aVAf3%%!&nH%VV7Z^rix0iR&Hw#`>*n27 zw3&SH>WjFG(X5IuC+riQVka;??q$Tpm#ha~&axAk^X}z*Igy2Suc889E!+2!UGde* zd%`R3y;`vE)rLIL^>(iv0$*=?C%j|cYnzR)_v8g``uBR5+?zx9ULT2jBUT!HV&9uH z_uicQ_eS@5)4w&3g$&=G`M1I)yDa+3erv;n5!FFA_HB8<_x8y@fm?C!Ud(&E<{-a_8fkFZ#u`d25sOH)MF;G=^4Cnft&D)FDx>OX1B|D?75lg|B5 zdjCHe$bUBaZ~xgO{<}8$S;=sUOjdF+Vp<)%>K36{OY;< z^JVV~7uLU*GyL9{_+7N|`-f%14EuezJWCc;;ab@8QPuH-wryV1d#O(Urwgy{soMV| zf$?Yj!ziBpf*(r0#?D{IU*D`S@8`VzmtI}`uI&AT%kkIJ`K+>QgdG}wv2Fad^8bl7 z_R8zxCB^rvvaV0A@)yWI|B-#-?_KK!cgu?(zrV+HP$XW6|}$z zLjKlavU(@BvE)Vnx_d6xADpe7MfG3kuX~^ZQuAy5f8WlpMTc>KYy1-=pP*FOf3?8>t=_Y? zwRe1fDah2{`I5gs-PoBS(BXkY6DzNrO$YBor#22zvlfZKM=o8Wx^YKl1U`1_leMj5 zkqmm`F-g^To=fJ(#KTjiqx))Z8mgV{=1=$9GxJiiUz1Jhye}(*Uj!_2?Ui$#74kA@ zneSY?TB$7yLYmEtgIaGHzYbd$`+qO&Bz5*Fw!c0x_)cZoxYm}VTrqTKz{W*KXNSL! z+gJPdAFGVSle3jrx*tX{qmg zx4BVYv#za;-QOk~{q4p1&AIoF&5iz^cW-a)e>S<89|ez&_R71@i$Oj~{p#BI<9S;G z%i7#`)U(US+1z}~dTPFlgV2eJZ*TAJZ2ezmnm)utmq)UZLN`=;WkR%AfQVHf2m&%n|AG z+K6MS%tuF^?MGg-F4;3>P4mw*p~B@`WPW9CT(tvqlKSe)pL{K+&)Mt;IZ6FzS1~nD zQpafWLctv&HezWhCPzl%Yyck};(m$e@s{GSzMvARvR`o@;&7S1=$b$s15dwt+LM*XwLh6J7OD; z%c6*M^Ln;$lO>+>)@3Z7-)5Dya{01dS*zC{v&vq({n@VU_50bZb2c7V+nuxdZS&8Z zt=IjE^~-MZ8w>y9T|8v@I2iVp36ddMvmwC8FIDJpyB!{>R zuj8_>i;J#I5WD8ody{R-ZnG-= zD7(v9AHC@w>#y3a4+`6MsLZnpuPX0!=`2z<&|bB-;s0~>?uV+b7V72sc61y~^-6cgybf<@#*`3Z*`>+zSyDAzExm%KU7E7oB~>eQr&rjvOHqpYew(j)JE4w`V zK1;gAQA@v~X_x0bcS*Opy3?<0+vU0MTheWwTKZRAyFBmvk#xJSJN@gvU7r7+CBuQ$ zDxgX1$^v%R3@6cD0c~bi7V@`dxTsnMc73RxufwV25v>wnPH zT_MZNuCDZN%?ep+6}l?y>ZkFiGrSckI678TvgUc+UlMAHv9Ce1|6Nm zl}aa^#GWy9Zh929ox|f5qfhqL>?hZ@?1^2iv?-uz9oO|8$5`Km6t2Ft_R_U&X}WpJ zQ&!!1m}kCy`P^5G&kACf$}QY+w>BqpVt2^>cVfE(f>tXX;J$WAYP;a3*i|(XPu=~w zY1;0{2>lT6|I&Aty_&w|w5x9E{HzDd_-3qR<1nb++z@}VZtFTvj)UCysu(XanQ``i zc$0qrReM>8!a9=|44O6znu|Ilj%uZCjAnP}l4<#|PF$f?BWez-)&!@+dAw_T4Xqzb zoi{yE>C435ppdeC(v2f|wjXMOy&v9YQ`qM2u#RKRn<$3*E8f|aX6zllJ!Iai>4$C7Hfc>i%arh;?EjmPkCV(-?sHwAy#8YR z9lb*gr+N({{>t2U%-_1DPw$=52bmWR+!5Q^DoU0naz9}0j$&9kbu+^}Bh%VyoT1-tT17&b=6L z`w!o)t1WW*D-~ZqSaPa->sr&TVW#H_x76La#39Czo2i>I%Rf|*i*NPmiCwR%Hd{Sq zomW{<825VHCDFt7^O)N=?|oPm@_@;zO`CTgLyP{0grhT`nriO5(6{!#)$6Z69Q(U# zZmw^idu*PrdEE88?=08cy{pugeT((=x9w^FYhTBPGw+?a>($))$ZHbpCJzpFWjwhw z?eP}g%It+l?!M3}=VROPIhZ#;`p9jwhrw&tFAV&h#wi_s**ZK=S%Ux9on7W17KvMg zbMC9WdnxK;v4&o$;M`xP`^6qHDbz$Bm1dYR{mx^1_2LtASA9OrHGR)?y`4?v_En+J z!@k(xuYEsz|Bs(av#x!z&96WIyJm@1!|r9rwa$OnPJLc1_2WeTt526@K3i>`_nY1C z>#Du+zrH5j|LJL3BgPSP|M|D+Ph9kO#U3`@9<*z_P;*MLw%lYh`wLrH-fXP$*nXyJ zV_?U|t&`2%GuXF%He034$~C8X&1VLM69=|;Yje+G=1H;Mxmo*v{%(gnXX}j1rYYVV z1wxp4E}KfnSV>y%-Z5)qdiO!@40d@FL!K5hd7h1&J%)ROP3H)&3%PCmdy=mC?)4jI z*?t$&dlj`Kc(=u~qRp39@6fi{`E|F=|6f~{zB=^I%K1akp65yHOj&jucy0flXl?GzXO7mbA}5zU z_MUI-{%$_%)#JKMOE)TdE3<=Z=#s8J;!8&5p^=j(I+YnV+}ueQ795*eIv%v~BU~;y(vU_H2_q zvs!MlnM||QN^Ymv!-k^VP8>^`0yk__dC`!wMq6|abNv$?>BAcXe>Ca;*jD_xA^o=- zM~-#Z7supar+u?sUhZyl>sUMSj`gGx-N`(wuVt~^@pAQLcGkV(di3|6xx4L;|2}jg z*ye$h^U7I!BTn1cJ+aU|?W$v95nZBhxcKn1*X!d_Ouwwsf7@ki5N$u_$lmKtd#-Zr zonWIot>mQZ>K$u-xrVQ?^x@HesJ+3`XWhR=M;|2ZR5S7ZVr{T8#DLk^o{ibtVYT-M zBZFJNZ2xb3v-irTwflUwI8WJ-QgS+K%gIm`pWw&)ZI&1@@80>^Xy=k&`zJ*o`or%gNN9J3T?7I>hO`kP7Kz)c%J6>sH#Yi@X=l@q8NP+Qsep(dE?SWdC(3u9`fa)>mBb6mLE<+y8x( zTgPk9x=1nuaLU4<=O6`cKf|@!EnD49-ujfSZs5x}puG8o*@>_UH8GmVlJfH4c+c&#qp3w|J|- z+x0WPuCthOapRZJv_JcW?_P}G>bXfad|l|p6_ZYLi$=$nT;FCI{$FD2rtMdKlD3|i zZ5qTgHGJ(Z)4+_NT|&&lj}2?rx~czdZa1w?R*SOonK;hO5L<8UCpd=_NB^|U7sv>Z4G5Gv1rl`oqff1wM>Ao zwbxSF^Wn^gbzD~II|nS{y~pS4W#@c#*_tRznHZMYUWXs+&Z&u;cG~`k$!fX3fm`l` zt_?l1E_L&%HMjS;hV9HTXw;6++vYYHyx_syV z-5U4%dklo$8D2cJP3x$(%x;e*$q`R|+;dGLc%)m)UNfB2Jtx(icxCHGI}0Z%>Fsxx zYOlEE60pV9qgBVMd)Tt$v%$BHkU-RabNFHD_AvB7fJ_cHJW{7SsL03<0~t?2>i9AB}WxHd(lM zgN<0g_L%j8sZZWzZDIJ~@;mh6l}Earr(M?iB=0@CP2#H4+I`4S;X&hsy9Q0A4kzaN3GUO*x_#rF zN$`$WXDeia|C{SNWlP`4@=nYC=TOJ%BpSUj`^X7}obC5wf;VoywBz!PjL#3sj-1GQ zXIQ{<=;fDffiJEXwHd9jT5ri=wIk=)wF+MJfG!s?exp9wa$#c*MBv7qUrYX&Et#3Q_p`A zzVtTu@$*AF|GZu=@-%hzCT+AHq}4Y0J%UT$h%X#O5eya$>jA>vZYe zS#fE*Z~0dGMD$)YNO|lb^(FY&<1N8e*BpDVHty1M$}Tw($dRq^_(XN<>eXsGVWFWr zQge<@dURshn*(20UAvXq8r*Vb-J5fHmM4}aY!u7gaoa633FSUiR*U*&hDAd6lZC?*6lLJhJEgy>}nqtm_ZF~RQZq4^=@Bcn~|AmhOytMHO0|)BTMnPhiHl}#kvOZrCb8^$t)6=yA zg<>ojl0_#YFKv|d+Op!}VvpWQQOB9@YE;TiH>+K>NzEmQZK2SWSzEwM8@pt^x2?Ik zIpea}73Jj*tlSJ9pGti#wl1_IG-=h{)7#hI-`~K@E$36Q{!D9?-UO+y?rke9`S_K0 z+@6rj=f;$}NAyPGLU!31qF!;~JGQ*MydrpY+}T~GO|!X51!Npv@%IZbDQdUGPT1sn zl65+l%2H?kUB|U=?kf%1-TnIcg~i_U{r2uEJtt_|es1lC&yM%`o}T@`@M6HRrZrT5x{c7-;LM;$8jR07+0JfFq8Tm5;ksQdQ9&+SeTQ!^g-T0C2^ zxTZvKOQh4Svm)XB%zI6bck!H!n5R*&(dCH)8=uR=KFHF>X{u9$V>G|COBfZnD+j-r zpmc9yPwB#C&WTC_OC2@|s>nF`^F5JaicMSjd|u7Bm(Se~Jau25)U#DH$}7}UB{or@hWxZaz-Kzmwc2mTgCkB(2hRvNY~()pIY3xw?!oKKNgaU`Ht!G1e!De^ zHCu@L(3yk@n>ZSF3vLz+)Sj{P#h;_e6JN!-E#Rgzx)Szu)&quB0L2 zBj43&j?X4p2M8}Pdg6D8MY!dI;}t$1!L3)O6&M`me5xIAgemfmz%G9Co`xgLCnqpk zv$o#JcbmfC+UTY)e5J_ISba;k6Dv<>v4^P)i-Oe;l?%*HZ!#T<++5|~PS`CN_@jGj zA5%_%0q0q3AuGw02d9p4C)P|nK2vZ`Dcg$*TLG(x$+D(QQoRu564~6M9Q;NfzW*^aGV&mRo!Nhyuz{10NK-{mT z?d9QnY~?ouMgBObykPbe_+Q@Yv|+^ug|DAD`J^W~G#2D{KHbbABC53Ase?x;xMsnn ziVi8qh?B+dFFbTSR53v@tfhy|FxmY=$7UVhKy~*&@eGAc=FemkDsL%!$W~8h^yFxW zsaPB>_g?I1m&JL7YLyONWu+6%6*-;FZ)Py4d7ku&`ZQ_AnI&rGCr|oSeVV+0XQ_s} z=c%A~JO;}}JRV<|W+CU z-TnF|=ecD}2(u zE(abJQQEg=rC<4}%kzGHS?<8QDxlr#$|9++D?EHx1x-J7Wtr7f<<%mcPV>F4u8JyE z2>g3OXZ@+G^F$J3WfG%2&Rq!7>fCCZ|7KOxTB(yIf3hLE-mA2St679#(^!Yzr|x)kJcWY6wQ)r6FHY` z;%Qvtw=7D8%^@czReOo!m$s;SC52qkGudwDrwq#f`#jpVV3Tg%_nBL7FqMTqDCx+M zkDjA;SJN|{#zLf$Pp;*9T`J&JEGVfbj8Qp!Hju~haGgXn_yJ2@QW+1Z5dzRBCJ zuvlBxal`HjpP1SfY+HQ7U}c2u)01BnEp0snZ71Eo|LeN;gUxvrrcx8X@uuvO=S+$` zz2jWliN%bWDjOUHZ1%AUr|dYR>lG!+6kmDr`@Wu#WiD(hCj1P$vZzkfe&yz~KVp_IT{x?nNiFUc+F`+!g z!IQsG|4YT5=f+wta>5tp%>CH&r1?a}1y94x9!uCg-B(RhJZO62)3#L;J=R-#cky~I zD{Y$)o_9-8#ExU3{-v9(IuQp&9ZPu?nNnLy!mi3|n)(;r6!lV%T(|4Zv$cwg(pbGN zr(|)rF#lS0-&?v`PMgZPaP{<8ZIrkd)GFFCzsQER`O2V|EOZp8MlVb z#YMRbww#XS;C%_osKsw{NR(%biYrT+4b|D)m0|>+e3*weOpf zJKQDv243)8xcw0x#Y1|HoR7xtF_HEA)Hd8ATQ z+|6LCGWEQtu6DU)bBX!=X{vKy-YJXYUi|qG^TRzZ)9O|&5kK;kg)!r8mir_}zdaXb z-!^2Czh7v2OUhrsuA1Rb!V8XYiQ6ai@4q)b`t`ay%Qt4rMW@!QxwcKX@zl-F{C)V; zpNCd#{OMzE_rLJ@+m*Nfe~u}-_IKvy{j~>{#;W9|8vJ&6l*-s(`E#R@{e9_4F1-!) zRsY(nL$B0vK5})uSljZk)@h-kvrBqEn_${?h5zjO?27J6fgEfOy1A*DFWUuVPSi17 zbW!kVNc&i4*Vw?ZAVRG}a9)_;W%j1i*YhM9vyX2VF#Msu<(cT7Db>cy1a`GCR2>c9 zzu4olNDlvsG)a*bl^0s_9wLQ{1S&oUJ$q87_|VjGNiK_FYoA+wcu<}_V|lQ0=$keM z!L3o}ts;Q8<0OR{sAT9TOx%d?h-kM08H8=$w&}zjOoY(#9X13g(Z!Gy?9PsbPMDdNCyEpLedeHa5qMt3ZZ$rf-Ud}Ed&q?AxCmC>d zFIDl%PjwMd47l*WJc;>mW5{tE72)uN%ai3!YIc3?NJ$r(-NABOfrHV(;yMQt(*kZU zhQ90#ovaB=w=%d7oanoqz+Jw9cS=Iv8U@zd37pdz`tICdoA{tRwsX>=6_cJ@^gWT7 z81u6)NNqw`=hWDpQw?uU7xxtEV;8Aq&rCFHYg}%2XPL*^t%k`z%%!hZI9KXUEVt;L zA-uGq_x1!X>4FI=4t-A|rm`;Ro%W!66+_Qkj%g28aDAwlHSc8a4uwfh8(3~H;M(iZ zRUp~JxpTs+8789OyPJg>%mg3I2YZ|7mE#O){bJ|LV{(TCw z^EkV=-+S>RSZk?iw4``+K^Q@GW=%Ypmxj=7e*dY3y)i?v#OcV%xH*97*ReKxyh$9VQJM{>p7 zTB_H%q(-aTD@rWkM*aRH3m84>f=;=zoe-XJb7{{1hJ_)WOXqVev$0w>VOC%7tM0W5 z+;27K&Azcr>E!gNu1UWw0`+|xO8 zX4RViE7z>~wRVk#kmU_gYYD3##m=%3IqO4xIE9yTer)#YSnVx3XGX5;AT)@Rb4Q9LI4wk0=KXxx8lma zKf8GUajjE`?pJx(YIku-Yt{Y zeJ7@{M>6Ocz7TyhewoC85WW6_Y_HNaQ#XmFFEj4WXEn<4u zd(ZX%LhM;gc6kfbT0eN6r=4 z6g@UMU1)OTG4_Q$)`CZ-rZ5ULFpDmTZ8q>^Ucj(OflX_{o-?ocEHALy7cdGi9C2@8 zG~K{5`3R%b21eKadrtJ^c%J-OBY1HRheI{n!a2?z0^C{EFU?%Ntps=+JZGJ;ZxuTg zuOp)JK_lkWn9>4%f6@0{WD8*`X@WzO{EERb$o zFi~d52C3DuiAgMm4y;e|K0OmSb4DQY&QZ3)TEUQ0vnQR}$5S|^giTO@+3rm$pTg-g z+Ds13ds^?D4SL3Epul=a=DhQteqc~@%W3|;;MK1Nj=;08pP#>VM)Qu% zxnMSC;{`nO3`dwYoH}iN!e9Y&_XO6KKPQWt|go7DvE zPuWJ;ZoJ8~;gB`YVWTw+;TJC3&N;rHfnD6!Q~AHZi4C&%9_b!n?@8mDe)C?+Ze{^S zV}pC|{@%M3eUGK^d}Zmq7iXQftmfcPXa3K9|KD5BWtUFcC_ec9R(rGc3C;pm!w>g) z@{X|nd(d?8fe_y%fw+fabq^)nPlOL1h;})+bMFDsjRsaNr6HdVnm_XrQ!JASJfvtNl%^+;87J5hS|eR( z%(n5FsN*xv!fR56PdE(PbB_oFe+tUquDv^U({GN}tLctB$p#kxx0o5_2?V{1x#cd< zwOnAsQdieD9 zRe`EDtDjRW%U{Hrrk)W{JUPW?#h(t>BeG|E?3#*%U+Dfjf3y1lyRl7wiSF_kt@Cxt z9PHkogk9OTi5}dpeP{J+e#P1&f8HMc_u|3|0cMe#{m;()S8uwUvujD6f{VG3{FOWF zoF3RJ-f!Z1^mtwy`^6Uw8gE{1JO6T*AbaQ&o~Gv!SF(&xXn#2;-1zH}?>zx?iwi7@ zPbCvv*#ti_#NO|a{UEmRoyJ;C<6dFKd?DreVsHKA+43W}8#7oRHZVQ>^xJ8_%Kzh6 zY`)*-2)KGfy+x}2GhgH9L%DM|v-sKR3r0FW<+$)>cGC0XQ?IowY-(J1&17=!7r|GlmL z_m26$ckTbZ=l<_?f}Y+Fe)HGWON-YZdVeX-?T=LYpX2M#sx0|4ecBVwgIAp*1)|v- z+=auf_D|;gANc$1|7Z&XfeZHKavLLEitSd~YgHfrlgRv1m-}1C@fjcgN39WkBlqJk zPrKW9_Bbg<0Sy5j6^jj?jx4M!92OB97!I*(WhpF)xcJDmN76L!$&HJT-6tp-+imdJ zl)%=TuD5Et62(owwh%y*7u>ANR4FF*HR;MmHi8g=DG;1V-=zLwB}M`z|s z>Djq5OxE&Y`6Q+C^w!nar}~Wy7io7)U2t==*u|!;J2(^1t}lFgZfW%Ocd>gazrOpr zL&Pz-sZKZOtL6>G_#>Uxi@s=VPW0NEqq(m4jNrPYGobUS@7(r=0(G8l$}$$oiu{@S|M=!9qm_-zxU_o{KJOV8m=pBJ)vm5e=$4XWF5CRYdJSfZVa$L z`a5ZLu2D(K2?geo3!G0n-v5%;F#n}ArND_x`-zVtBZF~=f+5qA3=0m^LmxKsaVlMO zZn?Mlf;qeCA-)65fm?caODaC@XcR5JQs^#MeaF+byWvZrhmv8{8V{ApAw`~QvrCGO zip`%=oq@U$fgKpM5PJPbv1Zdc9?` z2LHbV#pO2Nb=E4&+9bX6bK*Ar5@7IE;(vy0Q^SSDNBTru8!mQ9WPZ7*t7+As>@Aql zG{r&igh*hJx9Qg_s)=2f)Pr=gN|hy7Ih2M)Wp6Fr>T6sjs%Xj4Rk}FV{FUg!1a7Uc zB{BJ-WszyKdtaYu3cJb?)w{&DY(ciR)V0XG-Cw`mo@cf~BZOsBYgmi}r>LctUx4P0=as?SG2S7+sEG#G9#HE8~?b%oKRmlb(bMY82`*NSBW9e7 zwC!2CgeFEzTqzHh~$ghJV;<5WF zj!EWOE?q@651l@^A8FcBsPNXAK`iozt5vSRgqVqn=~@vJovSt~#P0D>)cmx^F-W6V zT2UcMOVabmhmT6Lj-;sD{`3rJ3!1W6B~{b6(koBT;2`|8AL&oq4Y6$s6`%o1z-{FB4H|1tjk zN}g(t(>f>Ti!GVmGh4;qCHUMu-XjJFcB{CZ<8)nkM3C`?%3Kr6%T8SHj`UymR&no{ zY5$~AMXF0p7siIbJJ z*Kn9wa|O-rC{Z}DB+a|I`9g2T76l_$MK=k~;JFV>Y~(m63YH%V>N;{^>5R%30pF9X zIT)updF}NOpP6-q^P+Is?U=K^or{7`*DP6Hf8}IwdBl|-i;d<9ty-~6iTk_ed{|-^ zneF$FQ*esVkp)p#ID%j9vRwI3Wqs0_6LF=FuAg5!an+oI3*8l0oNowg>2EvQ@$XN> z#ZA9h{%?xXeQII)ICQUw&}y-bIe~{FuRYu{S;BM)mvBoNG)i!Z@x481^=PKiyK;P zb(U_vbY3a{Zh^;^9RiQjT8^k)dl?=3Cs9J(b%XOl14p^v_qrc^ZtYhsaLk)?zW0Rr zG3R}!8{1C{D=s!w_WaNG!F7gDipKuVJ%P)Lrmn3?)k%*$9sR6m`rbdO2GY59iE70Q zkHw^!ERQ_9{Pj%tYnNCu6&W%wo?@`RR`Z;z_taU*&dn?MzC_wSj=bPg^kH9qsbXgFGTXhg-SU^zPT%-;x$jxY-#0jH7H#6F z*9m&bGB@hl{Fk2_a(Ii=$ngP3(x-|GRe){ zSNVNZ*;aNX&B>NrK{5xoxfU(UjZbr02%J)2veP8{&`u^X4 zJmjsfIHDf+F<{-sEGhmu$MyH+`15fZ7_OOpqWHw@`6u^0;dZaQ-%xjCuVC$iO}|q& zX0bdf^Nd@0HRXxu#Vensy^XTVgQ|8GrBprIA{P|&e@@&FHMVarHlL6_ufA{I6yqBE zMD>s5MKvuZ@#?3=ITMC_48l5SiBz`dbz0lq}RC*e}!HP zehojer=8W#l}YiS^SOAHkLUk}AMl^p>a<`nhr_4Ko&UMHn67lNELrnu!V2|Ub~lAP zuPSq;C~;`+(qEFXkmFXz=gaH2Wa-S#Sk2qB`e&xL>#ojoleu}i`b2GP)?}^V2pKo^I=OG!u04t$*J<48&|1SW|J5qxD;*-zPXA@sIL$b<$LI}* zK1=5n?=I^#6Kr@^AM%#Fy<5BM!pdXJNBSNpeSh4k&C=<)qi=`MM%N^J770b+8W#bj zF2hN-n?7+ExE$cPd1U^HBYhu^@XRv&GQ;J3lglq>gRUEDc8@lC-Qk#Ib?nOH8#WwCGKJKM+Cdb4ax3;#A-DFe#$MoakW0iB3 z*>36J+;jZkW?B9(9hYwJ?R&8N!RxO2khLaF`<4i}UKO-|KCAo5L8TLq?7JIOj_o?} zzxS1_%x;dq%^S<29PTt7SajpK(;W^Tm#+9Ni(W_`{BG>}E!fjD+cBW(;G@?(hFe@0 z{#Y+><1&ZkkVA}fU5x7bEce+S$Ce2#To5vQ_7uJ;r#TkA>HKBr)xBZW;yFk4P9M*b zcB$C2bomkI=}qn{{~Y+od}_YWsST3H ztTXjwXM4xEoa*8@_Vbh59vz>GJbwQl%J@Cf@q29J_r%BVX^h{q9KYu^elL3bUe57*wZ`xD9=|td{NCR2 zd-ulg{U5&%JpLbL{6FdVf41@e;^Y4{#{XN6|MwdIA3gp*=lK6xAit6X9H#L2Fkq+l>Zy3 zz#F6}8>FNgq--0c;v1wI8>E&Sq+T1O(Ho>WH%M!3koMjnowGr@cZ2la2I>C|GT;q1 zlnpl04K}t7Ht`KMjSc>9mK$td8*I@VY&kdBYHhIf-e8-v!M1mU?cN64{|$EF4RMqW zancQOwheLd4RMVPamx*HuMP3&4e^{C;GF;)cq1-D&Bj$$cw;rDp9oqZDb$3B%?9z_JryPk_ zxfi|eOg`J06dJTBnn^A*thZXR{R?NpSq-HCs9%-az* zX9jbZ!S(J3SHu5?H6`dyUl|(f8vfTOtY4t1^+0%{XhW(fSIAY>nA+<-2g2t!v@;Zh zax{iVp6ytca--tv0_VdVWxj#`oA0h%XJNl+bNGUW8(k7%eSdp$bOUS7^3Ihq_u$}~ zy!Ui}!?i+P&UG9S^`h73GR*9L%h~_5bK=*I*}VZ1n764DH|kUGOn(_rp&MrRD=a4UMucwE0_BcnQ|`>w2%iuT zn|;^3iS_#Nsn_O3#&D?K32K$N<12I~RCvwRi~sNHPP%tC_K|MfGiV6O3KU=?WnR2%>2?EQDXP5Kkq|CZhtm1z6@HSXWn`~TO***<90vv|O?FYfKr zd(3t5?jIVzt-Z&&F5z$P1CDd?ynXj&Bof|#O%RxO@3U|GE8hpK+Y-3a9{ekP@b+#3 zOI_jz(fChW?+LXf%DjscxptpBEs?n|LGa!KcC`l|WbX@>-Dl5}nfkf&{Zz)F6O5)O z9)6d7#H-dIKcP{|?7rB%dtZ+x$n0wn@nA3vV|Y0=$++$wzun{imK+b1-5zjzB+Ibf zH#!$@Tk%+VS(0g4+}pXyKYFMBUz==kF8RmSWZP-Y4sJ=#dC9zL4+S11+kQ*_%lgE+ zE>Uw?lJ>Djf^jL1_Yy4oQaqL=JBdAV5lixVchCD=lD`=1k%{e1KOXvSi?e^xV4rY5 z-0oozTau+i>if4zntn~f9t~0}7(_i7csm|N{fqx#`p`J-@ps>6ad{~ze2l4mi5&Ny zFn(Z6UUo10+_SW4&ywdcr|Ug&=6e`;E+J#vywQPH*1#XlLCY9dd}R198xY6; zjPc{vc-yvn?aNZuDzkR|OaJjT{Z()3$GK^7Z1Eapah+^0yS~M_|6pMCh?i<;nECA~ z%Y=K}3ePn3UNrAxYVv5}^k}H+XcbXNw)AM==t!Egt?~QQr!Qk!R5;oaCECI@?%PVV zi7t4Ra3W1}!K-iwCdRs~D6#Y&HP+s^IH?y5)63!}i^YE|O?lJ$s<$koqbz;l0r}4d4?-)qYsudlqjcXiu~ zz_z#l&-Z29#=YLg_vX;MxJ&14x5u zietI2ujSMoyQdVu6t+y-v+>zk7`@7;79j-uh0Im+1JkjKforNATXgPqGX_KbYk> z;yKD%KE7q@@w@*+l~o~tS*l{HWkcM*Z~4>yHR}l!1k6mD)OKH9AXhK#zRHBgsq>f_ z;@LU%-@TM=5NTli|FxM@A$iWV%z4-14F9omFr+P$d&LsaAlJYk{egMrvP=$xLR-0K zQV-G`o;^D$b;%HNu-|Vy@OS2(oqTAyfy${U(1;Ty>9PM#T{~P5w z7!?>kYi%!juFLU1EBJcR%TM74i&*9t@biCQTz*f7bAh_#JiVp_jy6$_2kP^g zkCzphYOn}6B-zTpRDZ{$U;lw){%5B1jRMynbBn)u%35rwUTnqx{*CXKm#H8Axn)29 z`@wU6F30o_jS(OI@_oI&uE6Vf!3(nw=H`h(^FPPhm3q9-t-r?XBmY@mBVI4P#G?G3 zHTzRO`LBP)KDe)VpySZq9#-boQIfd4)Uv%epuFJix({#X-HY1(Ewuc@cixty1mDe` z@0a}M$PAX~mg6`y;jz`Rw1Q(PSKl$bTl?9huH3XEzCu3f!_^lN$BJKUdt29+Ua;-U z?X>ukhVPae%DeY5$SZWbmSyUE#HKm1Fs@coUM3RXs0#<1jyIwSG#JUKz_Y=HI>d19zBN zR{U6CR#9O0e53sHH-CR^`(9oZ|6|GV?;E$@uM59dFQ3`8|Dn^p^5y%h+n=Wu=~c&` zPg)pW)$LbRs8_s1yrR|Y&uzJ~4f*$z>Z@w*|E@g$?#TAM@aumLJ^!;>EEUive>`k#6;{vOYdR&9%N z7KR^d*S%WR_h^mTv+3z9v-wMAmEW(ke|Vm~Lq&1b8O@4=?X#MgIK^^ad|2oZ$R`-E zM#K5hp*HrbFD6cIzBs4vwZzYt3l=N(28v3(y7^;+>Y;Wc(Y6UMK7?*)Yi&EJ9ntdq z%mP8#vNIC{R8FYaSWU>X+LUpWaj}+?N0QK^12YYT*-9<8B%YjHJSk?5u-MX58@*>w zlBz7rx!L5A8YL=yN!epb{_`at zZSQ_}-pPBSHoTACB*b~&Hs;o*$n!O!ZTmdFn!dTQDgE-g+}~#J?(8c6{O;{<^A9)b zHBSBRJ)G2Z#8`jDmEcJWDukzb1fBEd*;=tX{?y^#HFY>WiwLOm2FS>TI{9&(oMA_;<(Z{{wLY@C_CVMVZ zyVmz9vORX%quMR8F)tmL-0GjRQZuF2D3NpC?3k#`Su+#P87`jaI?XfH!=~opl|c7X zQ)MT7-uUchU+FBf@EXUsaK<@{SiWnnSlDHywQ}jKs#W=y&wgK)9yw(yi>v(!t=02e zcV2z9dP-j81PS|)0LGa!sh?$t7)W!PH&}XO7TyK#jb5vi>m}z$Jwm{DMM>{4i z?NM2+ljS-w^68;x$09FGVtp&3Iwi>L%lpOkQfpqj2L!5wy4ox<7h5E0ZXh{uW!g;i#td6juHv9Zxf+Zriu!4gcKE z()a!L(P}y80#Cn@S`}OU*YrkW^IG;$4TB6;>vVVA7-|9cS2nj#xE$>sU9 z=nvsxi7h!CPi)<8&3WFw2fFpc*p`LCczbsYk8|o3f9V>TV~rX(Z6Pj%XTBz z?gd3vD?XeS)fTd2-@`id#JUcNOV;c{2P3|ndedBf^GoLCy&BCAQaW#5eYL5Tr6%r# z_?jJI;&0#XIlB7%L&fkbzn`Rh+5MTf;`qJ5D--z@xmQi#Ib0mRK5X~*yN>rR@M}+V zkYC%s?hDt=HHM#qnk4`KPtfCJ$@tmPwC6GByNX2)^XHYdi?&^G$kg8{sr<=Zc=iun zm4Dm^mzJqJP70h*E2iBf)TO*laMFerHJz&rT0yN{JPX->EZ~w^#w;y(ZdtDB3J>PR zChaHZJYib$qgf)wforx&fo$vpMt-@2f*f2KBA*l*_}!UpOgkL;mS`k|FJY2fC-8th z@h2mr-Q;OMRF`zP`#d^nGKq=R(1TyXqk-wrhGR^=?2cRw4on&>yVxsP9k@?SetB%` z21bcf&e|UZ-rOWRA|6O&g!{$9`BCd*FKOib$VHma9$(JBOY0wwf?0 z&1I3$aucITYmK_ww44l@6#4m&zW(od_ z*sT;a(sf=;nRO&RQ0_-F)7jLc8Lt>+CoS@b=Q?!w{DmvaIBG=f1VR@4IHJVJ{o=q@ zhpq*32h#hKijqA;*>_46v}(y-P<%bXpeJ$9A!m{Qnb&veD7Pl?C`)A3YDJuTrLvm5`jml@}FN znZ3K_KU%6`$CDA)vrFwv$25^sp06J1WiOe#D0`W2;i||Qt}Eg{H|W~zy%FHPI7(4B zFxh8sZi?>eXpgyO%lLA2oxg0jG4bHFq)nk(zLMNC?-@;-)bE-XSGBwE{x0JMMgt|6Rdr9*LG;;kV)7 zFV@n2B-wm}fBO#g`dpc-E32*v%1toro%-vsf^qfBGH;Cr z-{M)9XZ|x;;jH^AaPqDz%j~u;v0j@MvU%6lb#%Q*$%FDa&ePb)$^M397+RwZ1{}T({_h0uz zqwt;wzxZ|>6khkC)mY{>N4~`oWxbD`r++;Z*>7>ocwM1Kbj@SA{}v~l?_KQc-t$Dw z-tttV^QS4B_dM0}|9L82@AJ&dd!Cu?w>($8?(^Kwd!E~!-^#4Fe1Vj~fm?3&R-5?^ zI&Ee!ymSw@x;$5}H1YqQS7G~qEpJ-4pis2-RowQiMrtWt>ziZWq_|sMyS(n(*2`&^ z-7A#2rWJhK$*u6lK*IX&>%4D!*k`}3`(J&_@@ylEgCfK1V@*sp42{|glv%?K4l*l+ zT-CmF@U6*?#?aLX75^D+9tH}*62JP=ECxM2J4 zV+G?J#hC9aP6%z8*HHc7A{*n1e_xNU|GVsY-Q~UY_J30U{XQgb$H;0Cz}OPsz#hQD z<^ADMi$^0%i8sR?ca}2@&lx>h-Ktp;Lc+B?V7;xDvs0a|3cxQJDk_%bKR2X-nD?~!2)InK318;SB~<0W%oqi zEnu-@c%s3<mB^*=kp0sGp==RK4@v{3ciBK>`{f2eX?yql=L z>%leM_|K{xyf*WnizY31ysy9JK7$$q--iP%0W7+==1Xl#u!Pahrmxl(g;AEogpEe)%?%lsnkccqimmBaix zOqXQU84fgfMcpoZw=60weFN+B{C%-aM`Aa`D)5Bd%ip(DZwZr7k9r)_vizc`%6ZFI ztv#ssWNGE1<<}jZIL|PpMBPpaTjqW;#rxJRZ4PG!g+_ynN8Xo04H#bd%FShYu`Dca zUd|=;n~CbnEtf`ky|@{h8g@>$^;4`yf>V~%T-GHA4SAMcF3kvBq|tT^G%WQ*Cwar& zM_uPMdgbO;)ydXe)42Q5sm|zj-6wVTpUYXe4rHvGI#DTM@&lK~RsW^lwPZveTCvJC zqgl^^r=l^MEmexADfkdWMAD(cfEL*%CWZtinUZCzOf{zDMQI#x;L%WLU~mYPdpi5v zOSZg~VjrHE8{M8(rpf2>to>8Nj3g#jnYabhR^C3yArY}U?2 zs~G~E4ozdy=4pDE>ZGsoMsG)xPLAX5Uru^ooHRuou3uc8d~bD})v_~vjIKM@>|GUg zxMt=<#$W@phYsRvD~_8!z!NH|xP!*GXfx74yzVh2)+qQp`dC+N-g{HMPB zA>%ui!`JpXy;?a{(?oN!-inK|>2(#Wa?CV%6dr_TIb5%0nmsLx_rPI>C5$~<&zU|P zn7eG{s>~H(R!iA*4hm`<>Ii%K;8$awUoNMKLgc?g@(oWn)M-VY%f0KAsnPS&>cv5Z z7Yz&#*514IUw2wuqeM&t*PF)Mg72p0-O37EJR@(#^LM(Bw`tiZWC_aUJxV+HNNR4; zHZ^00hIMidVhYS^Ar4|T3ogn!8tE`dH8?#u_D=N7y69VaTpI6|9XzD_=iu|Or%#id zp5^I1S7lba(tNLok=aB4tC_+pzSqnR>wjc1{^V--n)H6I+q%L}>`7{iWL-t?&(o~G z!~9J102c=XgBpjN=tGV>i$e?_T)gR|DWJQ2W%lK5PJ1>r=&osE=4MdgXiO@)rPFip z*;XcP6WJ5n9921*Sc_*JY&xjG;V8&rp!&s$k;O?NhUs2!0q1;!<%SMeGOY?jiNgzWO>+58JMoyO$(G!@5|*2D=0M($kGUKx zSGB5nccpoydH9sgx*<1rwpLbDnV#ASW{sBTYiDINUwf&ZaOg(vOE#J3OdI6yER)-; z*j!@Az(3_cp%dfsz@@7et_V(QdMT&AlC1`B57Ci=LkR^lYWZ=C$i1dhZ{j|2o z?6q;#X2oTB&zCh?)@xZ*ueu(a!29g~g8#A{wra7gCuF|_Hn15r*fuw?%{st%fAiLb zADP*oEpz>FG4EDNmTF>|l;WHwrspdd&NS(7kXPK$q#^x=kNbf1l%~m1CT`g!eC8Xr zt}J9|SfhDCTj&Lo^ql1^`i8>un>4r&IPXudxpm9e*u*K^#A*8>r|>UQ)4#B$Z{d95 zq+oJa=Z%wV$y`_C12W%VEL-a+dt$EY1t+=JhF3oshB6f8Rg~s(6fGBgAylLGd+(Bl zO({)UMmO#5vYIga-^-Qyu*6dSsgc%mt^k%ho9?&IYKkqM6);P0Gv`vxDW3z)w6*7N zF5PuE&RoG_wr0N9@>yA*QqDh%XIIr(Z!8|-Ah!H}@tinK<9IWb_Xnq$$$m0>Z>Dcn zuT*k>DGpKJBMO#Abzy!FqooXmLn z@j=n~XUl&bRIWInVZqJO@cc&P_PdNrnHfB+y=7URt0!!dm%Y73B>j!n9Q6~wR>#E| z?0+=(;HfYBz8w;K;M>!+?J zzWHF2y9rZUxs&(SwI5&e>@norv1Ol?#d61rkn85UF$SUex2{b45ms!PmZo-%i$Nhn z%x{C}B&nBCx|+*%H(gn&%UpG6#G)XDQlwk#oHWOT*N6X|r!{Q(LrxImJjoz(Gjm@Py`!l*yLMS<91*^Yp*3 zT_C(`q4M@Cr4P1n-T!oP0TcUe#wm$ScVw4|$G%)BC;sfgp}M=}^K-8EmN#)bh_XAl zEuVMxRF38kZT{vhYoF%qF}u6w^qRHC(gDp5f*c2f|CcxHwrc!tvR^4}_3mFy<+uE9 zf0uk*wJLgcoD!qrmV;t@HfVZSA8z{6UM#iuUiKBPhR*kfUCV!5^;(d2(!wWh?e69O zm-Twb#-HC-G)q2VIio;B6K}{7-Ta+ux4-U;ugrVIU~J*YKcUFi+-gqn&e`_cwibR$ zc|3P6_nyx3XN)?`FWi2ntEXn%etY2i&)NQ!xtq+E?<`YgF4peWT<+Gu*4YW`l&UUYEP9z7Mqi&eHaxEU|){=)j%DM89w_s44~feMcQ z*_sL!mHuBhZ%(f){;|x_LO9*_(rzogGl#eu8WkpNxzF9uew}S~y9Imt)+_TWcFpgK z$d~fo^<;Pcf2pih6-xQH_FUdnZ1nAx(%AFJFVYFH{B?}%jUrHWpAYKs+LDB4qyIIcB!HNs+ouWReTsh>xaie&SqI~yD0ZcXChziF z55+PRq~Bp=S;Hcgc3);THTPm35rm!>`0vLj90b+$!u+8vLHs(MRue9~T-9v0G_ zmF+P>=W1t?cE5J?GZra@|LWe;O?|m^qd%p1EppRVa=5^Drp<*$;q1G+iE0>)6UMej9%7}GDEYwqGjd{<2B0} zDh{{IwUIsZNc)PNt{ubI*Mj_MnE?%7TRgiMI2VZ3Ea~8BXj84RXZ&&0*?U$Clg-kH zhnTDQg|}$7F$E|)e16HkDZ=Bk-f5)`OnoZNiu&9(-{vd%(%n{Cn0=Gh;)(aY3z!kFLoD~ki0uqs~$pUtZ^hyA$Uep%hWH{}EO$GtyxEbef) z%aE}_iGlTr-V_rD34>lHyDk1Mb8cw|{n)8N z+2k!8&xi66+X@u{ z)kQb_)aU7KQtc8|I_WB=V)gdv#v#`bZdpnggCC=l1pCt zYdfX~e-l{5(lue}m7onF6H~h#BGz`P?76aNYC!ir4c83`+6l!{?dL3gZS}f_eRhqB+f52AJQ;Kx7#SKwRvoyaKI#ADKnC`f7RfYa%}r4@X8BzN`-&j0yn@=5aEJD)cFO>|Z2sl6A#b zr7&;JglTSjLo=rZwaCXgIGtD;IW;6jvsF~!+U=LFj7E;B|0~1T4x0RYHJAN*7^9Bk z(ka1Q1+C#LmYfoah%b7XT0W;qKCXgM*VFZf;hie^e^+uCn}5FE{A;epj@2AKF-5xJ zoL%+Tn7LC}7OZ|8xFllfjYCqe3=FvA1eztUJYcgtA<=yEo%g0rISyvmh1N54ic~@# za;dtTi0u<-Go12}Co{rX`kp{rSI0C4wh2tUGZr*EiaZkNjBrtw6YTU1S(N5*SSn~^ z0N3FOk2umL+8I9_(>vp-$hR{?P`pgACsE|F#K{OZAvs2+@=bRXrrmHe-zV5tIOVa- z%Ny&h8JPNAA{DtmaBxh!y1|wq!hz>ckhyWu$L{u!CrXkxJ>07VWq@;iy%d z(Bzp{o~T*g^z^S2nzB&jsfK5ySMWTcsVhUCYDM1k3g0I*ZR3=uI+>B)(f5QH`9Iv@ zD!Az#|4(SfL7At157hTKyH(k}d0_U%Btk7C`R_B$H&*W*7 zW*iMUwe>-`=robf4LY)N+xM}|3TJTY57IcB$s)p|x$n@dh7T_tv=?>A|7l>~zT(jT z!0v)YCF?FPR@tIHTSLjeYSU!~wi6C^{m1<4Cl#%P`CDa>CFcB|wh3J0GxsNtG@K1?S-c?at=rmrCfgiM%2L>odMYMo!d z>GcavpI zAuf{g4F~0I%>8d0ilp>?kde95V)iUY>zC&k2+b1&h_*F5%UZ|H?D0Sivw z)6{U7GWShm)$#{oMzb{+m~OwR6m^W_>m<#+aRK?_yKWuw*mGtd)0~tusdbuvBxb(| zR=rSv_tz$t_SMf#OZ*w~EnNKUwLD8qu_& z(zT4K&5>gv$BbrAMkc`yZyBB!N2IL2>n!35X;>8zTIj|2%9PFV1e5kbu3a0onu>dZ zSe|D~G%x+s`)y9RZ1gRskT4aG&nvnAzj~_S_;s3VlitqDTVA;P|61`igFDhdc1iVq z*@Y2ze^~5_QeWuD>yaJ!+Gpa=sM&0sGtY8|GJg0n%U0J{WUHj~l{(Lxxk57;E=6*b z#3-_f+*~g0XVjq0^Id7PeCNB$ir@c_iEZDqyyLCs)x3W8tX1Ng<=6ID{l4{kp4qna z24;?crj?)OeSfp>_(yKO!fHOrBP{8OlM*-hHLeg{Fn{u#nPMN#C^;u`s{GGA{j&f2 zyTYA;v(9%vvi1^mnxpj1XzBVdO(9l?EXtTJA4_fFxbWX1^`pUArHX}ma}J5D>ArU3 zKxh-Iw#Orpp2OG9t=sskYq3LszTYAiO9N96u3#1qhW}QFSV|NHwk3--J!1LHq%Uwm zeGa$Es|1xrP9L+5er(#%tDyf`t^bTp|EI2k&n10kRd0=@+?IQ|CNVvj<)ghXNByhD zA;yY?gC8dvvhLdF!2gj#D4R?ych7@qlL{|Bpu} z@1&icb7F(inF-c=6gZL;=7u>u<|*X3GT~O<8NS-4<1#56GOvCcyz>@wVzv=bTA;vi z>lI(-V$LZ#wR8)GVO z#h?9Lq$K`BeaW-~nrGV8ZZJgD^eL4k&5aUNaVc2mFoDt;pXx4Uc z@1Kq8a%p=Xcr*0)7H#^#amrUtj8X2%fs>bBa#=b2Xi+|LqLaIBqtc%VN*fry6{#_= zTJXJUwbJpIO8IM)bJc%7I(hPk0fU3j5wA&R4nACL2bfnmY<=gT9Q{niSchRM|09Pp z3%_~(3G-0MVo;ZHVEyExSaX8eHt?j4o{vh?R|N&8s!t;Rg8w;mpG{z5F?KcJxp1b- zbB|YQ%Y@ELhc?Y{Xg7;`DB`eyqh$e0_r>rF%cK1s1(=cZevjMS*XvhYPvw3-Sh0OQ$DOW1C6F~d^)7Pd)w-3`&J9! zEh{^(y>{g>+NzMl^ElvJhW6Yg4qLbQJ}zO9%i3%fts|(N#M}O!>wzMF`en2H%PMO> zc?WI!U2teygRzC+nR%-iWVIC7Gah`q6ksks@vh$`b;G9&N`c(PuUi!k*-LO0ui|+e z!p>&XW5c>YgZs5sq@MQcNlND?a`G1Jv=b0-VX*%wtS(Wkzu!-Dl9K(`$<`c)!zvcm zJe#Cd)fX~jqV|jceSNRzhc5m%d2hS(@ujpx)&mX#+nk)D1OET`taR>Tm{PHk_m&QY z_n+jnH~qJ1+N85u#6a8C{4`^wue|1?Sw4!hwUSoYC7by2-_%m#Ha)j++h@hU*$g`# z%v8HrwjqCYfz#HK2VxFxp2bb-jw>u{g)GlzdZ|9=d8Nqyz>#g=g84H_R9Bm*XRNmN ze6znTL1U?w=FJx2iyVr6M{I0;Y}pU7@Fe-&7C!xD4XdT9$`&Kh%8lBIPHI<*G-{Y! z?6Vm1o6Nqf5$AmDa9-Wf)IeLtKz~1zlkOrm{|!#Zy_Izqi9T@Bd%>h*^_9(6RsECK zTeigp21hk~Lc)wWTvNR&VzOpFP+vAJec7^=ZmbO^K8ur7j+uI#cHbCaTFA{F;lT1_ z!JK^;_P_D`q2eR*|B3@og~HKoYj5vcyYEfs!Fe4~Yel2|5BWr|xWmOLcZ<)rQYU7; zY4py;cYkTl+4A;*(7Ju6t}49>V1Jg-ey6caCV@dOul3MNxj#$TC3+Z}UblDkEE9XB zpyj^c##^6DDZW2MPDcb(3AhGIxCT5H4pM22n#QVPc9hwcHN+*=F?4EJP-uF?JMpT8_r%S2t9()dD(s*z5w&F~x7Fz@OK6(50A2|LlQTCW`t4xExmO5iV0_Ta#3SNc#&a5h`(!#?UUTet+RIHBZn@UuVTz9r8^{rsKI%MpIot_Redy&L=q&JzDNfuX}yH z?!9>Z=kG=u9;&m7UfKBIxV;_5q%{)CSH4;_p=HyY(7nv^4&)Mqql-)Pd8 zXf}>$HlNXKeWTf4qQy7F#(74IcSZ9~<)!~0JfCr@?BXoXg#s(8v%R`jtyIc0aj*RH z(QL#WsuZeldrina@5+nH*D1B>vv4Hv96Cv$G#aCH8FJ36# zvA%43Mcb!KBA>OSWJ4A+Z5H#1s1J!yg{&5nsXCU>4@RC8pXbjkh_KTC~wx9GO||NS#(t)6LpAYx}3<5c;G zsg2W(Pj>H~c5?TPbmR4}jcg~oE!5iUVyy7@G71WeKXkY92nJ# z7BWUH&`g?mlbJane4?oXpGB1tqnA$x*FtTlg?}ZN$XhK^kGjqAYt4q>WztqljMtS2 zKRBV$^k>GJ#no2nQVyD{yC!*>uUzWGxZ+Iv+MgnSzu4~OIdkOAE(`ytb3I~LeJXF9 zIqSuE#ih6UwN8aI@A;s&8sB&-4<6EF@V&65sJ4v#;-;vJMWq!|XV=NEt^U9Em(JCy z*}ki0SH6>d8z^`5Cv*DR4W(;8yE)(R$iBg)W>RH2FLSY9-+9@h1>AKHm=qdZxqdQ! zvt&5?giGrIlbynfoym#?3z$+I7!!CjO#_!CPT%4yy;VMnv1$RAm?O`WgnOGFu;e5N ziYe=b>-6Cx zJNLKD&~0KqrJo-1pkT$FQyc&6Txzt-y@^?=?9^Hx3$+D_du_gTM4o?0MQwEJ~R^Jw=*_6aIa(+1eUVTjvtDpVM~gocxwK?a1Ae zbMN!BEwWwj7cpDoo9z7Gv8_6S!om*1mWBaKex|RO#9sA)f65sVk3td2NBit;r&NBI zvYi%C>bE;#qj-v-Z0$su!jGxt6SZ@m2Atcg)KpmE;-q(;T~c(4%c>Iz#E8QC_eo%#RK_MLu|PaONAdK2ZtF=t=OJb1dV=*7Q#yz#pv z?H~QTqvT<(_(SgFah4CC?Y?I`NMv2}{`tQrjv2OJqcug#E*3i}tm*j@&E~(jNa+>J zPv(jQaiirX03-e(H|H~Sr_6ZSsdMG9G+Rc}hQ#*E z$LIg(+83cO;NX+u;pin3$n`9e3vv@O9NqP`Ie9aPdRF1Gnpc3kSo2z}DP#mS;^fkXa4fqQ6z zY(W##Kh7&GECw?!sWe6T9u)|%j_XXF7M15IraH;RDKPGN<+o`JTepTTi(eb);;FB& z=F&`u%{>>dy0jLaxSYjwCi1yUT+>Rm)Jd_^Zl=wxO-s|9%OP@WM(7YVo`}uB;V{`nPmZC-UE$ZPe|jxBRn-Bt;QN*6t|=0`59o3)XGBQ}s1hla972b4sUaM`6h?CFrViRnW)Gf78LUL>rMaX>mmw|2yN!|UTd*|;c4>vz2WXB7#o=i zOau(vAUqD@O&!``Hs1U%QL3&pD807>3{%>;Zt=p?JkE^ z#}8=LJmE-hIKb54FvWs5w^b+SVc(0eiCd>GV%S`9Yv~1*iIFE(g~}+otkPK26|$jA zRAGkSO^r#MAv_aH%Y>53x-85W2Obexp>b4`>jBq3$yfPlpIr5-3=j9eC}@}2bfmn_ z!Yxu(t#tM5bN`<$>fpX~vaqjY&0^X2FLr);@XqV_p~dq5IZilm6-{W-S)$0_dBR1j zXkt%JO2H-JJ$Z9oxel**!Xwjp(kH8E@|-tI)a^M>1#}fnS+v*DRXp=d&NAcqoM$t< zif3K1S;D=(^K4F5@$5TqmYMJ8JXg?FJm<-mG}H5%$BR}K&wZ1#-1zv}lzq~+ObVC@Q5{jQ5W zStX0(X0C9bc=+Oku977xx+^{R|NnV$3g7c3I=L&owi|}u;i5Hq;|3B|4-y_hf7qv8c9p|kh&Y-1$ z>%$pGCXoXEnj1?v zw?B}qWp_BZV8feZmiG$#|4J{3Zc$8A)HZas(NMWxr^=@ov4Dv!aT*(U0>kpJT>Z5+ z%LFxMo>Y_O4f5FLAY#CfwtquWX}?oSO~#v}CF?djB-i-7OtPqVON``ADwxp9nX);Q zNq)Nevvdb}#|un1);JuxEvTK@s_kRhqxcov!d!ZAIdfCroUhkS$VV0JYY8EZ^Ic4)7N0Y!m%5P>&k-F5| z*1-0_@inXWk7E`ZEUr2Y{W;mY*(2U@7PM9;TZnwW6+4e($?TTB(RY#>*Z-TiIyg=E zqvirRQHk&C-uJ%G{Z=(|W2giFwZ`mkQRPar&+43>Fn38K|E@dzcBY3Xv9$2JJm8CK zoXNBuLY69h)TcvNX+SH5q1`v)-G_G+X9?yJ0lLmruN(XCxQjKjo6|%3}AX zNL*UY`J%)*d%yb=^uufRdvxt(ebCO=!^8HPL3rENxw(19uBZQRuH%ZB_Vz=XJHrL3 zqVK^E&PK{@@K-j{-+i;u?Q_blIZF2HPo!mswdyWsxX5|F@`C)DgPjaNP9<3~Sh>9} zom6e5CNsa`swZ#Jp8bDLI#@CACoycETyOi7DS%~N@Ue-Tv+F)bd+j#3{_le&w<`1Z z2aKyaYp8^^iYwCrw=I{gwp`F!pWNhp!X@FN+~EKn5kZE7 z2F!sR!c#}ajA^hNIA;zB1w7R6$I#{f>wQntK;lJKCmqhA@E73!@wwdHmM0&Y_#)ryt-nB?^m8uzD>=0GtI9M)K zcCq>VmuBlD604Q8Hzc)ex@5+5pmUp$n2rLEaYM`jC7llsteF&84<&FJCvY9yU@d&` zKf`*7j%*HgmJiH|0`(lG9nQi%hJ_4o96HkjdyZ=aob(W6OJI=P&@TM2=Ym9s$iW^* zDv2d&%**M5@Sjzg-i!7Ip;mM+iRa=o4P3{<@-Xx`gkALaQr@vNsmW zy4{eyFDN&!u>aY?mP10q#v80BerQ?$L(uqxHq%D-tuI8gZ&Wxh=w&$C>kvHAFSKp) zq=`?rOiU=8c;7@siow!0F=Byh*eeOK8pVEA*Z#|ioT~%4<~nj3+~mA{QF6vY4SmVU zOa_y?geI)iV5kVtsrbOf)Hs3ZqFlwL2|F!V9Gu$o4u}EcxOlxg1^re$dgrWZ`zet=cUL@<}r@kbG> zy}{J|8Vr37Tp^qVOpen{3}!@g3Po1(=Xy+^oG{(0phW1vjK0X}QJhl@6=$?`W*^)! zv0rkg^}^}Amso0lPSueaqH`wS zquJYUD#%*Smj5`jv~qg7MZH;Bh2nR1m&CR>MU{v^!9E9(f&xc}&*~x{-LfWf8|-Ag zyJ+RauMxMgzjw;;C9T=?xC8`&=EHBW``C=urXx^KfqPJhFdtGs3YLN8W!dCr|Fzc@S#f5WZQk5+k8|FFuj<;K-nyM8YnX&59h5cusc~nbN!vw< z90Tq6#I6&j^5GS&#vi(P1Q=8oSjTRh63;l%h^bd-=sM80XXP|i0d{ABX+DO_OSL+pB$qh<63sfbEKh3g z#+@Px%=36@$@)C2f^POc$4L*tul$OvRE9?4k?UBQ)!0XDxTo zS|aBzs6Ne>)|Bzbq+BEL(!@`evQ`LNSM@mfJM4YAVDubn0`LBp((P zv1fJ`zBqU323DN}?$re*6C6yZZc_g$A+@+svPqfaQkMEs2DWAe7S{xk+#rTV0gmY# z|#qUFrDyV{Z%fPO$C-S z4{My`TKi5*U~cllO)U!-?U>gdD7*E+!haFmtBs_;WvsO=TqKgnv@C;5Z8sxhLhDo! zo)pW){FW>ak{N8WMBEvAa|{_yxliw!#^{-~IY3juGMmZrGy|UlgQ`ROp6My&4l{#3 zwApuWR#i*$spj^JUY>q{H7_bDKzhrm_W%0d4GNZ?EZtMdYT(#D{Z;F^$XBe60{@x&b~80+$8hvCR)1(?(Gg&< zVdAr45vbY9bcZEU`{2dNOMQZNrdDz<3SfzKoSx%2r@8u&Ptdm9*UM*g9ctA+q>^)J zviEAKm~FB=2NZnz{s(SlQb3Tp5nQ~E9-FCX))?v_vM+aEaC0PhvAJn$JDRwm?y8Pq+0|Z`teKf>(b_2`fr(*?4Tb;=XMm z8x?mgRJpasP2>2l6(^OW7R4EE`Vp;D{h?*ujV?xR`5&(*{NiRWe(;~&dBZdbj>`Sw)`BeU?Y#A9CFIGyAs8&Vw&lBUhiC@g&@8nsZw;IQCPw)5IcjulN* zo3cpi(#GA7HML)I?%8x%>!GBj!A|FSv&EJ(Fu5wQ-10sV-J+2`$wdG7iFprCOkJ^{ zHfGP1H5a`LPR{VzXQesWN=-VayWF(;hMi!>uR?fPTc%q0wcHC z5x+TydaDEuueiZ_SJ;yK=#sxTjz=DSP}9M(q`AOtZoDiJphIn+)?N6`D*t$YA)^+<5MZMG;)xJR5q?NL`aUx#jicow8T9hHU)j zA@^ekf0LS zeWB;A@)M&zw?iVA16aO(Wt1{jRSQr(`OEm1r1bN>Y-V3BTg3|Iep1sqqHa^@Vq3Vo zw~&p z>I$qm!SLQ%aJ@wLvIW*&KTk#Y>aETcS*^*HrNFj6OMp@L<&?aa@w1mGY+lZO?m^Lv zms9sm<*3{GeFC%Ft=z@?Ue;7ze7E60-y*M7diy3SU0AO0pr@_#)vAA@+x(XA$Ya=| zcUYM5^`?J2;&(AI9$36(*XyKHuWt1`vW=@|didIK-fRBJw#5dMs@5{!suPe5Xi%Ck z?PBEH1A1>_Ppq<9z@9XL-FoA}yL^@t*1g$&;LXas)hUcdO3p@V%|=?uOgfK^8qO9O z1@Ah#%Gf42+i~%(e=ALV9-FXKJ)Jb!B6727-y_omWwR9FJ5C*DS%=N?n9U{suM=+E zU9s3ay-uUy@cK4m)5(i1re3t@R~8WRw-npG!E5ub@VGsNCC?XKx$DHS(6ypvgYzX9 zi5DkYPpzAAYTb%OK@o!Cb8kfEE_S#*_4@Ap8?1-~EC6!@7w zJ=1q}RsD}eC%?t~|2Bhny6?m9zGmC_6xbs<*;iNn%*xDGd@%Lz9+uMj(+&3L;tG#! zv;1zf>F3P&`1XE2^F80Qmw8jDR4k(iQ|Sf6xwsj+~IlUj?@Tx}C>eFh^J=dgLV ztC?DCUG^<`=;D&%B0b;5dx_S0ephRI*U%Ez$SrqTo1VpfaZOZFKW#6Vc13IXWVdyj z+#KhBKDqz1ZNLB09@T*NG4eb8GCBVLT>pQ^l@t=d-Qqih20!}cAo3(u(wg$a_{bIl@5Owv#a#&J*1n% zBR(V?YUP!8+f$T%N3dTy?5J)3M)Nz&P+zRohRo5Pn?Mt#e< zu@!uCxcU8?duzS#%7SkWFZ}N|@6MvaXJ_Zyx7$VhEP2JYIR5y&*xzLvuI|--E*JNw z;?vXMI(Pruf2#g}dwci2pM3o1YS7i;?K<)GnScKN{m(vO-CwpC9S3H97X!z|94QyH zSmj#`oH!>kx%v_= zFQwI4kHl((95yMX+BF;$={a)7$j|cmlFfeBt8WW!*UK$fp=GhY$;h+oTFz%*#p8R7 z16{>aw_J4nyeId3bKio8Z7gCd7WsSW9^K;48RGGfOOCJiMWe6?15*gAhQNakMx9nh zK6O@(Eecj1jS7taS=S{rUW?g#C80Si-d7<^-JZAfiiT|Jw#fAPt=j@U7;kU(Z({pk z#3;>n=-TOA*$jo-sq#jp?yT<)E@xO%_C_&WWY#CsvlE1VJe4b-F7a@hLD`Y!y%Yu|4zut4pV)rcFp_Vlk3cU{%rHXVK6zQRZQDsC)q9*=ByN z?QBZ@4a<`x!UPs1v3`(P5!UpmBW1yar>a-ZHpa9?rr9{j?R-)w?Pis^bb8va1?_*k zW*qO#u1#QKby#pKOF-ws3=f@MavI(8$Mlw*FN#!M!O0==;L)_`qEPcVNA{wIHhnim z)mA6g7nX0g-mbH5WZKd9>Gl7`v)yb8kBT4v^zxvJZpZ5cR*mx4B5LdJcNhczvJEZP~}$W`3Hq_e%a4c`vmKY7O7 zkt?jA>BZ&lU+bpoJ}B*Wzt1Jk^DT8#(A-s(teg^ii?(hrn){l|@PPzhMZ(6{Q&-3R zkDAWao!ZsZS>XP2a{}n*@MVbx`cg6-t1bRdU8y3(9jwwBc~a~_%e#eVTG$p&IVyC4 zIq*yuUsQ|Zq*)0YS+6)ZW?p{uWYdXtdTt+sLRgdppIW$ES)JyG1p?-;t( zfUXX|DQ$l!1AKLOV=(0EaO9iApBxSe*)YPJ-@Fj{}nGU;3CUK6J#zF3DOFoMJR_T6f%(L*gHbPU*Zl z;N9tQIcmikSGCa1p8iEbQ&vrARrge22q_chWM*7$p_;^)e&sQH)DA{Q%}J+Y`CbHn zTH|*jp@6;T#pL;?STYV7DR%#N6j{g-vT>QKkd;8}5+=@DDZbiXhHTku6Bp?euxgqI z_^EIxik|D~ay{M<*z2S+J*MLn^NhykzB9qouN;~CBrQ~MCfk)|7j8Ydvusm9SA_7Q ztrIm|*^@vEGt;JMWT~I>-0WkrS=hyN6~lz6EHqs5`D0uBi-CWn;~PqG;E@6Ko7Q9n3) z+coPc6IjyOl>+_kjHfKtS-LfDW^@zB|3x!dA86*JS_|Bt#V0Y7&L*hF% zUWv_l67yo3(=L`kSFMynF0L&h472YrYi+YW*U0gGc>!nEe72}Am6uJtOC1gcot){V zvS$0<_qNZSr#$5O$$Lcj$B*Uec>>(BDF+2x4c_oJC|s}FB+M?l!@>B%v;-z;iGuvKP9(AhF$?%&jn-9Ndld5doxma}BCdgHpj z?qCi})SZcJ9ZSrL=VnG5?QUPnc0;vv?%A#We*L<3kpi((8U&W!aOU)C@Qch*6xca| zwesN0RD;Ra#Wra;DCl(E3Gkb#knZ<+)^8S0#S2Y4|FcYdAr_I)9oi7YPXI$2MjnAMI7e^9Xncie^Q*@e5U}hwXHR*4VeW|RSGlOPSmOEJP4EeCef_X z;q`iDPuiPHjAwQ*?MY}1`ajP~`OB0Xp{-ggQXhOs*K(6wvryA2(f`#_c}?+3)&K*M z84r$!Ym19aYtX$UyMRfyuqcE1!`73IH*a5Q{Nh*?H6ijw7{k*%u3hYl-kDxms61@} z>ugqmyrwO`?|$63Z0_vWFN>A8i~jM;*g4mQBaGwq?mRP&C8}@5yz0w$Pmf!-%<}IC ze|_^S=On)Jdi}j$|4-`b6z^;Xm4u}KZHfmN)}3J1b2xo4?%-~PzW-b6s}0QK>napB z>~KHM+4Q+@^_-{23x2xCY;$n>t5GS!5wvj9zs1Tw9tz4yw4RuyZfP(KpUR#nG* z16rC>=xfA{(gPp$A_EO$>r=j9u>!13q z;h&o$9vovcv^Ds-s`6a5o$|`bb2d!MT_R=T>cbu(+t0OiGxw4OY{qA+J}lq-_2;bE zQ^q@f@44xH#rnJT^^>u#pDS;b+03?nSG;}SovE)qXUW#E)o%Abys+xZl2hAPhRE&@ z`9C=;G%X>NA?j%sKc89AiT0W&p&5nU;un`63wB{T<1jm>$aY5a^mU6Y6O=pt2d`$~ zv1H>paISi1_X69DMY4<+)HN@dF*dZa%$UI&(;ynbwDq7&wKlm zcngV%Fo^ru&GWL3GT8m{^7dEF(_jDI{3g0-lW>y)&!K6jG(W8FZo9pu`_zi2#~S@i zD^+Axs+w4|Sgf29wQ}04{a-Wf+XD_TRBUC{>ClAem1e zZ%XFH!RDp^t<7&oF)u9AuWUY2b=k!%VYkd2UHLZ$WvA>emTorwV%K7zuk6FE;-MhEDs9qw*h`xlc4QO|kFlu!*x|*dXPg z!)2(~up#+{zMzBQKO+Wa2@ahdjZE2w6+ey@oUt#eaTDusTM+Ep#WAD!VUxV(bQX`s zq@RLHkD0tZ8NxVcu>NQkxFPsJkl~b+g1gCyqYJh-1spW|y~*IQkx}u9%E_&w91SrV ztd-s#ol88rUG%&)8m$hq>K1c6H*$TW?a7$2N_RzzLqL;8fskm;X8)q2;d3+Pnc&mTMQ`M+tYL5`b=&T8ou?QAitw<)piHCnT94hLt3w!(#`OqauPyBjtz zHT9iPJ(cYiv0zWtC$D3x)K?riwKC`Ua+ayGyVfXb9Ms;iLD_V;q(S4M)OgF>)u9L;lE$fciY|oqIGD(I*Zi^4& zgM;rc=>;)0+BKdu>)tZ6N8rL|?+i(+OCe{ke&N6DGRx?ss9oaOn@i4qD>&Px=wWWq zcqP<4i-M{bg-kCByIvHT+WF+>#P}8MNnQNPKNSzXxgfRmVoyNeaRKII#%uP{=(n}gkFI)ZX__OBH`G@X}kw=!z zI9}{Iy_7K|<j0g-6a7WsqWzjvd+Qkfa^bv% z+Sfd4uQ%~ts9+8Im${(vhrE)fZc{)@(xX|oy669NoK!be^N{BxyAs)n3$>eBZ}J_z z+TyxUELPFH@t*_m*uGMdY zYIK88^g)f=TYQ&oPQAUY^!E1F+dHP--nlfI%w1-L?yKzi)()u*jb-EBbBr7-Xx~~d!qe+Ei0IG^rw-!Uhwjc zh&F>88@LPD;x}_m^|JXF*x0|6i`k+f`EXD5A)e=JIbLnO*Z3grylcnRqa1HkJKmo) zz5c&f>7_33r>}h9zH)pHjXi66=iOP3`d8{^7k7TiSn+35Y_Yd>yH$tjjaDXCr-@3M zYD@IhYpgYF5-e>x_8D0)2FFjh5O?1pUVCN2^rAc5Z5$uxa`F9(`88KrU>^s+97uJ=Zi(Lfq{GUv)>TG#iK*_DSJ$pi>hO~} zI(f;u7ezu(v+NcHZEJkB@6D}s?+)qd2(J$|*c=$ObmzgecU6{Y)3iRm@|^O9_2Vtp z@E1mJlGPqJiD#;DM7>#JsL&yneSSap^50GC4=!GR=&=6dw+~sA6&P1b1d% z%S{G9nE6gO_8Bm^CbS6}Gk92R6wzK|-jdPzj)T3~VA5^vU!pHLoM-cR-;;iet zlF62wHB+x6bwTFrZ~Cm0v!V*w6daD}pSbV2Fw1aX)*Cf| zr7JQMy0hl0r5e~|PSSgoyut11+x3Tw)GMqOhF?o=?|8j)U*_6vucI$-j9EFo`h%f@ zH-lpI>i9qg<;Pc4E>Hb^Q7}(6vg5>wGe>-0bD3;jY#iuv)Gm`Xtb@zR*u=$phikUU zjD;<69-AF@u*@%f>uhZO^mT5iL+jKpYYVehF>N?uD8LfALaS5D08bYzvdl2-b>%jwy0w^l}l@6Siqe2{{hpwOcU@x zFS-T$EDN~SzgjExA$C_mSg;P?{tkxcA5PrPWbNnh7x>t$Q20c#!0}u`#J=}G=WUfM zEvUPdBwTUKrRBhqw$w~0+w z)Q;8*i^!ab-5@Q@7`L6Z?_iVnmV06i<`Z0+1$Kz36klxNh?}u&nGx%vE`2i#_0C%l z>t`Rjwbp#SGe@o2`8UgUs62VMLaF5Kx*d0F6OQd_pZmn(@Bc{4BV4;8Hy2H)j^n+* zv&qk4(l?gLlR3V~?hO1~GJo_m{dMB~rAh2% z0nbbP-JeFYZ{Rs*sdTdR@UgOq#clD&pMKmbx5#?&Vs9(+$X#KDRx2j&nz?pY=ueJ| zcCNd2p9xOUxZ<{|I7@4m=f1{E)~k#q3tF z{Infk62u?>QsYo{(>c94KU?wF!All%u2)Xq?Rzn~OkV%Z@x{`MuF20|?{)2Up=5f& z>iP#4Ht#9wuUaQxl_30Sg?{;}_XW%37^bamPi*dBkS~i}e(3SppVvNnhZp`%oLs&1 zUh-D^>P^p|EV_U41M6>Fjc?0*gf{wDZ~p$PvtjT1pP@oC4pekD=BLV<-lJI9g`!a}I3So}!Q_$Q=D2`4Esse?L?P+G#!g9lIh72^AZ8QK$ur4^wY`Iy?%Xh3 ze4D6bw zk90}OUvXW1&E08@*_xZG0Y-X?^KAEvELe4gXT~m;lZR9rKBr$uEZrEWJ0bj$&)&3% zMXl}!q=cBFHvW&&+BIe6iOG&>ZJr{GpP!wZ@7%9fYxVWjwe`v8*VS5oe|K+x^ZI+M zu1GA&KC!tV^wp*(&}FADe;U5L{+oAqkN3a+c~udjS3HCa9#3MJcV~l>SHQuELB8yY zD-zt|6;o$8=(egcw91#71~huhZ0rf<(G(4GG}COk>>R+j)W9M{--h%?80n1G|oZuE>oY6T1z#Sf+-Exm8}BV%d6i zAp^^^jD^!o6g8K6T83&Km}>X-gz&Vs&IdW;l%ou>|Fb*=X7IW@Xo)W?-223Vne#~LwALveLY{8Zo^EGL={w7IGwpaP zc;V`%*$$g~CMLQqo+=hr#PncQ_L`+q>e4w|?@qg&xA$+DmpT*U_4z4NYNtfDGUBuZNYRL9X z@|e7R%m%*<-ok}$ViP!2nixwgf?FBcUT7N}WaCa~H2(VM!Esj04k@uFs~3#@4pPN$ z3{O>pF#+98?~@pQE6-#^A8d?mzi$%F}D!^Qz4D zS%1dF{mhliYzK;Xye!;pHeUW8U@YpUs8mqE6A<%y&9W|uzcO2HN+dpXX7!Ajuplv` z`t0XhiHdjEUrIV^TYgvQ(ca<(Irka1T<|cIH9aL;FJt6!+Naj>D!bg_jbi3KCPvqy zvcE1ppEUXJw}lD^mmaW<@%VV1bHTC+4be<*rZR||H&_YAaQ_ixT45$LWd)Parwnh+ zP4G3atJSW(@}4$Dfkk)6lz^tn7WWUXZec&~) z3f;5w_WVq<$z9Q+P^BpSDw4nYmNkdI-$r)DDGwBG3W>97XB^~CGHAZ57~Y!0*!Go& zN%^gntH`$rg8%uOK15A^?C@nNd7boS~Go~8ICHADUbct8Z za28cN*&T1QHwu0r^g0&!&x&8e&v}9=$l+tRdL$vt`MYR~#+Pybs#u zT@jFLWKeVI3!IQ<6YCKoU@aly&QK_EC}CYd2lre?CT@m9EFv3bGp8gNSa9^XvoMH@ zWEkmu{mt>)E3hHb;s1L>{h6)1FJ0AU6lk&$4RY1GaFk2n$B`PzlPp?yB%O-47TbPU za{r@I5@*PiM^u9_m1$CexiI*0cZC!OX!^zWPERX*{cL7O7a5*7ss>4p}A7G;6pJ&U%l=is%e(&kxoiKT7v zhwO+x2j*9ov|abSndGy!`|c#G2KN30Mh`}3i35ww_r8kNufDzd`sXQ!Le)iEM8dM; zFC99v^=XLjo-0T7qNZG~UF0~uo_}lmqgP$5=R*yGJ{a_b&sZdU@Pq*K1O*;F!^d(~ zADYDq81Cx0J`FIxxsI#D{Ic=JDY^y=UM&ncll1+N#WACKhP{`$JB1oPAO5$8MPgq1 zq2`ol`<(u*X|>=;`Ld$jmZ8qS=GkFsmB;Pw9vuJKJia-kYRjjv9cFNeh;vNc*z!Uy zDo=Ce3SQm#7^Ya( z69U$$g4T)d44r^qT z^-PRNkQG(9!Qxib(!TU$*2W8tVlst3>=_4>?r_}p(68?5JI;>E z9A`F}CQQAh>cIFz;Ps4ImHc;j^MhFnVwu8ry*r(3_xV7PH7^g1{lE zV-sxGo}TyZv@nDItAK@J2G73jyl-n?IPuf_?2@PLat0?@i{?e0`Ezosh4_hu$r2SD zkLNHM9OQWv|6fvvmH#|%cati+5O>X8M-~RRke0HqoE^C*XJ%e)Q|Xj8I6m=()H9R0 zmuJklmBPxjNo0pA!-q<*m>CBi2)3~~9TehmcqDm*G30=E#)5YmTsyzEK0BDelXdSy zY25k+r~Yyr=jC%hzW3ni+9NtH=l|-sXit&f5Fzgoa{tK5@b9uN+Haf~B93vf9MY0e z%+GLhV|W;uvM_Z94o3|iG;6xJm{vB033@V}yEu!%mG@|qz*Nq1)1%#- zoqHn`X6Pt+-wb(uCp3CXAM+kQ)(XePBJP^!&I$fF2s#9<=0N2^NvW3EPfsT3-b&h~ z==M{9J-wn|=g7RxHAlX`XopKa; z>?pu=Li0S&9B$47ZVZ-^Uk%%&W<7R0$a4Co%$bui4R7756&lYzj476A``6ea5+Es8 zGn1iVR)o*YR-M?(vW{X0oD`*I3*0@>zcR8+FuLQ(1(}q_c@7KezX*EroOExwsJ19X z)9rxe!I}T#GZZ){v_^6;xF0*fxZ=R3MlJ(RhG>@qtVO-trsiJZ&s$mbLCxXYAW z>zAIcXO-9^5HTr=Lq$ba?%y;yE|z@OW=)0Z7Z1v-9cnQ$U>47rA=Y!^@rpB%B4-bo zJi7Je?CCu&4;?rf*v=dfIrHDU!ta{I$(hgYdMrKnYD*s*SKFH{;0v!JgfqUKd(Yzk zC{&@{C~NUH5ni+I7m^o#A36Wy#iBn)!$7xP8N7UR_1^Bz%YUDo|HqP;bMlaa2xFz8 z;z!B(Ivbd@5@JBtUh&RY?l=GV%F7ie*e39)N(sGOU)LU4HsM&OKm+TP+>87hqdflC zve(}}bHOk6E^dq#rL83kqy)(-B6%LOYZF<+Ua zR<&AY>J*kAlisjgHW0lWBkO3S3%=D#^MFa{J;#{KTdlGVO6mAGtU954WzWOO)^9Ht zBxu>*6b|B;%<+ zKNsfB<=Y~s!&8=Y_EFBcrYqg264XA-T={~DdC!{*%VJ{lZhCq)7QKA4t2Q*^=hI70 zxmU~{9y_%_^+@!tH%u3^-cB%V;GEHLM(UVQh3-Kw-D=KjKGSk;&y@Fo>)ivTX}6@_JygnjB&YY#NUu!e-D9V` zCtiA4W_eHjjz3AtdzSU?*`XOvtMp0>@?LbkdogJpPn}-mw7gfV-o4tSS3UP##J0RQ zr{2A}l;^$oo#nN>cdy>P+xG4)llFV2{106E&wjm|!1wilt{_kDylUBa} zed_(6OZk6qz5n|t|KF?k|32ma|MmV(-ICziC;x>C7^Mv|EE{BW?&(WRZmT)3D|l`J*X$`qTU=|33V2Q% z#8!T=oE3h#lYv*Gky+h=^ZFX@%};o^KMI70^3Gn&((uT=Btdk^6H$Yyr4P?Bg)q9! z5EnS&#ANX?-ej_9vSIK<))jjc_#Yn-P5&5w!h!39U-X_E?lpx`Pu$u23jd3DyK1gl zB5lmV>+(^A*=^2FKb8##mLDmU6#l3nY}6}R=%2Y@d#4xsDwTy(5|pzIR}?r#%w$dQ zFjCb&68_Ln!no*u=hSVjAH3ETx@ByV{anCQ@#%8Y5so`f5)E7rVh;w{Y~rZ)a+hOC zxWZtQkfGI_tN8nqe)(0!&mqD!2fPj)Y<1&`nbF$f_mN@BZJvlv994`OZl8sGKEIjc zGkfpHvUjKad2O^C5mMOn^B3e zWDD~W6;_=sZGXNrWf{Acl(@2Q=*}$({QTib=oc&Yjqc4)UNsr?UwBz7zR* z3wQiMmI?>{jK;+WzPh)UCTVX=?D^{Ec|iBY0dI?9mOGB&(VIei%uLwbKxc@XbcsY5 zrB|Dod2bDTTWQMQ!p5GkT~St(tz|v8vpI*3XHv4=nrh(&D&BiL+ek@3Njf=k6aZ z%Dw)PqrQvnz~R?3j+V2RSGRvH$iK4fr>u+)YmWRuh9`!_A%>E-Pu89OSY&RL<18$7 z{jh7YmW-vjZuIt66UK*oAJjhI=%3=n;A2s}`+MtuqZ<3L0OcJ!=3ZgEu*$gIux)Zh z=l`i~-eT?djr=!@#A+OHP@dg+`bW=UldgP=?(!d*RiQdZ&gma${C}}x0=K2t&5DWA zKPM_zPSXB4$+&W|_0P%9l~cH9*6r-hnURzG_eOx0_Kc%Ke3cAa7tRb;EfB~Q&nglR zZ@peIRlJXXXSL>(|1}Jj9#a$bn^|sOy0YbkXsxGZdf?7oAHpZE<36kVvf*TR;sK{M ze;N2Q4zjdW2KV*^W~|tw_bN=&R6n$8_U7rI7Gw!-xiV++l)2}p=q+h#xH#qNw+QK! zoucn{rf-~6cCUTX&g11)k+plQrr-OtU`4><%Tv@tj=r%o)&Fa?Z2k0{MN^jdi>$al z^Zd7)^G`Z0NPWAiSnTw|r3@ysHm`Z=wDswtz}<^mJv&_0)@=Mxdt1uw4+l?ZV_#sO zxUc8*^Fhhqq9lBNIjRUrGB!&7J-%DJV~2d8rsTv8x!Jq#Tk~jkY;;vvRjR%Fcf+c_ z5RGQ9&78tpJZJBYoXwOld(jE=jJoLmJ9=4m&YZnr@s#$mdAnH_p3M4rh|`6!a`MJt z>y3X@4(y$+P!n)+YE9nW+gFWroNm@+yh+gvIK8`f&Y8uR53RB}@wx4YVZc$z)w`yw z*;I7Ly(Z>_>Xd_LmrQW7_Ft*IYYJP=mc`o+Keo!UUAa7@P4v)K9p>wmvCmV^@#pk8 z9yxQ>wDC%7>)`-b#V5V$Oa9(+KEb;t_IB;`%M6a|8(Ev)?7f}X_pE@=^~l^g&klIo z#9mQcbZ@il!}+pDUPL{URDFWpw+F1N(z z9#@r(m*XnEDGpX|9lw>V`f}F$OYN$a+wN7)P+YQU-s^*L|DW>;{65k4?!MN}ntSW2 z;+SNQd^+g${NcQJkvny^#O?WO_k5+($HFzM)#4d+;y>Hoe_Nj=l*aN+xA9xxf6kv- zS6_!n-?}aRsYd409_d-~=g)7{sceX!YU^-E@Ik}O*$jLWVk3E{PUWX$=ZW05cOw=~d?3muoLIQi z<5G$j=Q)R(lxM;#0w&1@yG_-4aIlj_#m>y5;n0x|PA-QKUxw6^4J-+)GAlL&=&&-T zZ(}HjP%ZrzKk zE*B*|JS=fv!|mp(DVnEdD_SpGGwVx|)0#Ki=KZ+!&LwtBR%%XZ)<>Ny(+snp=^QXV z7PgydPn=+eXcl93S>~KMvkqnp?_!FbBU)RY|NIEAvVi@(n##}5FD?(?Kd-j>`}>E- zr`yl3tNs1`>}0vakyCZ<318P(I_OD zp2>f|fCI-5KIjQPXZdo?<#PvxgaaAO7R`QZZ)d2~vi-JQ^}F3uj9#X8+b)>1LNu)H z(bC>lhOfbk!fGV73@;m8-D1*{clzuOAN5HkoKBL~A-fJ=JK)t2HmBKdu@|dANt;i~ z%!T$sC5g`&~}y>=scqHoyE)Z>@?jbmJ2ZxvDDFqz<>vS6x5l**T=lbT$t z8wA=JCQQ+E;a@0nY0GYpCxXX%olLeL**(QEOQ|J^sW6W56l>t3)H$bC+)L(A`_X3m z#Prm?PBy(CGnx;}Du^|`u6(mzPgx-F?5-7?x>$6CRyCNc&L!pT~ zXhq@*>&$gGpUwVXxX;o*AX9V82FZZ8K8D_5f}%#Dfty%+g1l}fY52$+n`V5_3-xXI zXH|JMYfYtD)aw=Ms<$%kw>f8u#oaUrXfXfAyutr=)v*`PZ%C=?iMYw|{hzvAqTs1vJ6+~7|Xb!Y&Vl-kh*qy;A`IzaX zQ{9gVQk5BLL7I1cC#+b%XN`)Qeq${Ex3A7B&r;MSD`RgyIJ!%j^?g_H%RBKF0^&Up z2fTv{7}%VSF}!j0_u|}eQ1C*AtwkPdN7T)(qc^6z+rFFFFTAitMX6EZ``TxQlV|#+ z-nzE>{U5^#ffGa7SrfEg3498jRxQfzIeDx1JB<(ymfKDZ$_;09geDww?7N%fz-i{P zA*VgXSNgz)M$-jMrhmGhEHOCbA@pw2^#6Oms6OziFpV_m&5TeKFkBvbAW`UYXkcXn zm(2xM!xIlB3NkqPkGoE(`s2WD?s3Yw?_eue%maz#(i6K2vWrI?chY&#ll$u-lO>0&h^Z12^M!+wp#}_m(^W3W3tU;ibfAe} zYeEb63l)Qczyr2B0#r9n&}WSN700xrfO*PJRz2+YEDGXFfAINR3%828B(31zvQ(wlDkOa3GTx~IF8bfX zyVlixHJ+x?C{PvFB(&wpsvTQebu@y&VGU)2qP^L{=}R+NrBxk-J-kw__Rwu_UJ=P7Y zTFy?BNn|){u$C_@TCix|w!r6i#Is|i*=}qz)^~4kHTJVsR!w8szFzhmv)+W;cexgD ze&S))oc4QnXT*ub;|?0dbGh$Mt5~>Y*HNW-l?6>AQ%YhBC7gb)3+Q+`4?Kh&&QsFB zGlif1@#ny=S*wHpzMHz2 zZCG40u{&MXmPVs4n){EH{+$*{) zzuG7)@8Qfh{f#myitb{ue_~I5`ZfE>N)JtMud+{*7s@iiiGnR8O`gipDo??dG1a3r-2Uz4Wn;m(6*0rtMzOF5tn;rXp*7d#LzOHYS%}L~+edDOvw~Z6$ z=A`P+zInFn+vbI`xtad6Z(ZH?ZR^Ilxw-kXZ{Pj)ZTmslyu$w3cb=Mk-+6KF|Gd)m zv+uqw`@Z|3Y<}hW+4sI~`@Z+%-2B@2v+w`?_I*F2TtOrMoCmDtKMo4cD`?f9^N_dv z$6-ae!cPA=k3_fsIBGbrus46sW7+RNjyuW~P3)iZMAiJ~$-sF>eLrW-}UqF zw~AX<_hq-rU)_YAKd*nUZ82DOrZ=zc^SSkY`Z{Z~^<(CDF-vXOwCwrEHv#f@=d4pH zx4LTkHu$9V?XQPQHBa)qY2Cj4he&~t-~|WHvST;yF8=g=-;P+V`_7Ja&)4lce%a?! z`K_8btNUdf|6LZi6nxqBFi<|9GhwBd*)J}Eq=^mMTRQlbOxVn{?f_Gdi~>v1yMuX= ztAivCIKDQ^5*9e}dRYhO{2vlO|F~q;|GvY$z&pjC;doR0rDvbL_k=$<_+o2^kjXEO zcbo?t-=y2eO06hi49)QTd0zjwm@6wc*9Qicbq#$Y5h^jS{T+T=CU3cM{x6%8_9Okj zE~o!91gQ4u|D3?1EWrQm$@!md{{D;J>n!8{cVWHjru-jzi+-KxOJ1@_ON8O)spGm< z1;1CUXEJ`oROtWR!60=*KEsTBjYHZ0_w|37r>+;Yp8dA3j+g_xj$2JY8~2kll@A_? zzjHjNr?0z4DRqKCYE=WL^Z&Cy0-i1Yu#n-N6W7WDrFr?>QzvjvPhiPY74LecCUc*xsR5^Gx0orrVCE|!EG;j441t! zVEiM%zg$W1^t$AAALKR_upDP!+V{b5p8@CJ51)R0;EPV;y)D2h(ZF+dg5c#1KO_o- zv;#$U7qDLL6Fz!Dt@kKskeszewG4SrJ2h1UCd^eJ6P8{Nn@Mn0m zU}BWpi!(`#tDZ3IO5mK4qrSw2@yfB8YZkHDJmPrpQ0gb^zC9CI4HrqOKavzz{&K`n z`s0GsJ5OdV(EDSQ^mX03KWo^lU6%FU$!7@quaNw~km1WlE_J39t^+z;2NZr9GW;=2 z7TctluAsoasr1-#`Tv1RM-E9JW|h+^)S2cWIr|Ow#f{>OLE4`Tdv8sYiA{PtZH4rH zLz(3)(xE{rb1$Y|o2c5aqINt``r$;TClkewKKE`a)Hwf^A;sa`vmTC(PC6S7Iqpjk z@la&lm(n+bPkEm^AcR? zpmSUfz9j{E6^2^7Tv%QQaGM`vG2{Q}u;9;+NqTLMv=47mb!cPa3G(H7pueAqMMhYM zrP!0BSc&H|`w<~A!%v2)f+zKiji&|)#k%TdKG0nJ$y@FJX8ngkx{_?_hL4Po7kQtW zByc`R@3i6DYoAQ+UNQ|2)_ZwL`At!rM*(ZcCX3U)EJg?3F%&EK9aHyjd$S_N$oLS` z8vfKR7Z~S#_|?|L(wm~RVzbrdOEN1TSq3jV>Ga-ut-j(`VX>DJnZ6pCauz4QanfN5 z)@C!V+Ty~duVg50%=&DS-m}YE4i0vz8|`*ZGWsZN{Z-hJ*@SUYlXaz%^~YjM*#(yQ z!7fh(tdy|Q!b~TFQ={J71c%suy!^K9vPEvl zon`J^9T#+Ge9~HdKx(-Q*NPzJ6EF1MyE<*(?7OSj^MJnUyz}mjS8QVcZ}y06cc}lY zH?J`6fpL}6Wrz2ll|-hvd^ctknXE0j*?V`1_dyZQ@DfYKD_u8A++9CAt(_!LKjoy^ z7l+@Iyn>xv4wu;amU#XYQJr_iZ}At`u;_gC=+N+sE#VhC#NQUODgECX zzj|%&i9Vf<32(j?))X|bA5-_{Q?S1LLX36do+lq%)RTDS!`>Zvw0NBY+pQM~!rQ(c zapJrxkg9b}M)Z@ERkf2+^`VD9KLrL3^1#f#F`e$`_W*wUq{Z7({LA7_y!iCT zG-q+{mL$h>bqjwg6)>wW;yjkl_-bLyQ}1(P1zYqsvb!wIyf32sB8=<3nDUDULWvGa zH@^M9H;s?|`>!`i`8PM@AAbFRjzi$`B)tU<#yzIL#RSp=o9xeCv7i3_KgWh*{qL#T z!CE@si$DLr)*a`c`&X=hb$c%N^^C-@!nb88&-*R*D`NW2nC&sO(_Mt8 zvz2^Tk}7AEn=XF1gXze&%JsRH#{9Lb7QJ6I-EYD6s?Q!ZM#n05mfu<@UY&nTUS6Pv z{c-h4@!DsL7eE1CPer+Q&y~UtUjpl%RW~y#D9*`oG`n87&%ED;hX= zH1O`I6mC8ub>^5!x7duf%{JZ#czVtSG_kfNN;EktGbu=ws7)Wez*KB<20Qc2BBsJncevEqSXNx%M^?{%#bR~9Xr{N~B! zH%B_&hYKuu&`_({==uMR!7t{SJtrF{zHD4JW9FwO)|N!JA3Sm`jf@8>6qh(i_$0FV zC`$NAC`&Bp39L}gW8gTF&{uyT>Covb49e;y4drTw82BDI-IF-~E<$;qM(wine_tL= zXs?)P%G8;wEGoCcPiCfH3FD;9Wfu-Oh}}|X`p#iB=f}n-&$gh9Rzv-EbD?Nyzs=9dwI^HD+zTa+7s}jlP+Bg$Zf6mjuU3?#>Ia49j}JuEnx?5AYATGJ z?%pyza8cr}V$}kM4y{F*(--ct`+vkKYlhN{q~aGh=lwk2J?XW?yTt8o4%}0;x9vEv zv(7|T^wtiA4GZ{psXn>sHD}?j8S8fJ;g0)rVCRPj{bPM^wk0S%TENWlkxR;xLFS?M zg9TMg4LMK6w%s$anD|pq!c&>6XR{b{Fwfe$${@hBHH7Pdu+1|785Sg>(g+j2u6 zfoaDw`PvI5QbOu>Z7Z@;F0$@~g$L}qzT zUvbmUMMThbTwNd8w~@OmKHvT$3G6Rm)VZ&9Y6nHF4)Qi z{7b}M*qpbv?lC^Zvg3vbQ!O(SLyNP8L|KYbn6!S#j)bfqZN^Q`bqQsk9!)>YxPmotqGOArrZ>_dMLrX!HN%L=9j#F1hlNw92=H?{rU5^ZpHtC#U z(!J88n}+Lc`=;pUE}Wb^5=L_a3gz zSbRLD=a&29;J#(5F)!6qoNpyJ-wu!LjCXZ>qdvv0^B~t#i%HF*(-vDY{XcN??6E8* zUz7-g@_DN1g-wvj`rsg>vc9ZhZ%@++>~Guyej?ZCk3HR!;i_{e+~X z8;S>x#;;iPoLfz$Os*nk$AtYFr5P*}8JYdprbvoT@!rGYv!&GM)DzI5*|$<^+GDkZ zQUkNNBW|U~7A0oRV4MC(U3nQ>xR3H1Nmp}@7pM6%LRd1i9@M>g9ydv2Mb^7{Z+JQK zu2|h#%68~@tX5iM=(a55Yj(=N>;lsijCqcPZ+Z5<@=WfHdmrxZYmj>WaN^QU?Viy$ z{wG8k-EQ2d`bEF`i*n?gzc$L>6q@7Zm9IoHC?rZS9Q^A4?{e{M_qcf)d*oDg=FUIu zcDdGGpF!=ioYVGa3fxkM&RkLbS(@-O_tB5gzfZY$#=EE|vOWIEF-3EBddh+GDQogm z=Lx2zJbV3n(SZZEPVY=J2c1WsU?it{@nTftRky#lZ#`h$f2xI3!HQGDW5WW5=mf8+ zw~~?)wBvc$K4ooo5!a1j$(=e&@j;>shcQJQDI=9l|#!RK4L~ z(`JtsNzLgGW*ag_ZM>CmLFrhdRC)^N#;3LOvOP*#B7&Y=>DS|2cQaIA*`f7ItD5d~ zELd}MbH?TWt71=YTYGzZ!Q)eNy|=HsySw7^tGTyViCk!ms}70^T{ZdW2Bv9Zd^!mQ z4`-W4a{ShKaCO7!8SRWh3a&SVnhwT^-cdfI_M~ZEo`;FAT z!lvm=@5{#1>s+4n9xi!vb89Yt%hA>hN6s@EJWpyh9=()cecAUa({wWXjiau3H25^ z>(TAQx6x>k*3ubCioJ^e@68aEj^SORjzldR>Z&tDB(9<$UwAO&6s+ zG$JogGFSAxFv;8W>lB7S$DfZU>!g}q2-A&YN$&AGx8eG{nr|(}dZ z>NY;`(sY(>YY|vE<&n2@w#u#-0be}bB$;(sE_*Itmh&Mp-H6SgCxd0;v8S0U*Rn-c zvRXEr5&dAGJg0TXNq2z?R>SK8RYy4$wAXG6I`)cJTSCRr_?ct)-O?Xd%I=D)>D*qk zcK*_7Z&t69Y>|`Mc<$HD4MxX~FLadQ_%WMR;Lmdgw(o`k59)+mG7bxV;Oki5@YrlZ zL&LFo+8++E#CvqAOuXTi?%waX({UQp|2Hn7YMVS#FX$wnSWz&k@R^5dKhJ!XD;4bO zHMb7Q)|;K~)pox!{ltuYcOF-0Ms|kwWncL?GuTux#K>{&8zBb8+#?R0(x!nqhJHHE zQc&ctb%p}mHIa_YCriq`VGn+~`+f<(yH&UkOe!H3RI`u`qVx#KS#DrGPNjiDa zD>5BF_)Ob=Z0<~>X3g~+%-a}NUAq3tS4qO5-8fVt;XqO18%2klSCaqcIj(%UfZgW9 z-385z8)SrabSC=W^Le`Mq|`Ccs@Zcwhc^{8h#j}tea0{*q~M_8tD|<+Zyzgdu6n(m zd%}-Lz4mspMlmZUvZ{QL4L;8wbthoqP8RkR2W(^hulaU>^Z&952kMy&W-y4G|Iv z7KH%8iA!@93N;2eiAW`J|7Q$nFxz$WoR>mN_ml-JW{L|K1tSD{Kdf*5&;5X5{g;^& zaufv^x6I(;msk`eGNHXeaUo}5g=puK6JnbdIH>3;cF$8xt!D{j)h@a05Vqiv{^o`S zESeVErJorX`ZP+-Uh?d)sGMu&1cerzO~<-}-#BupN_4Oqt~hAUtEc?id$!#76UXg- z3F>EOCptwKa?C#PRwQsjj2l~|$8O&=lYO}6bg z$l>QM;6KH0@^owdw|#>4iLH7(4i0XGZk<-aT9?fDcQ_dL39`xFaADfgyi_cwy!GzE zAh!cgR0Y~J7stHYG@bFq6ZL*UuO^M;scUTxG0b~;Iw)*%f>1!?j|79I7Cebg;TlIu z&M`EyG9)r_y*SBeWS}VHa>AO4Lx9U<+Wxv!9G?7d)- z$a0Ma?L3u+7=dF8R6SiC9TO%uifx(bdSv3M1B(RIekv{GewyyU`6$q>(InL)@rk4V zs(`jz981ka9mG7df&}@VG;kliksoHYe68cLMS7;ZPLsIYOkH!eEUrc{{BNFR>g{q$ ze_3Fwo8-}pHjc+y>v>j39QV4miRo1y>**)<*H4B0^68$R+q*huswv~AvtQR$wDNd= z+O=@+qpRx`-#nN4!9LSxO%gZfW!D2-&jdGHecL#pcTLLWV@;=hKE-_4;gk8}ROFw% zTQ@J*8ZVs3*vN7tA#|bd+rJE}Z(ZIHwr)-B+BThqEgl?-4eEh?sxwwhPEedavxxwY%c3{`HwDx1D`^?`|11tetqB1z_+1+-RA+5^p67^ zejA#^&-{PDX8q%!K;MQIb)Sb^(LWAJoZHZ5e&!)x^^d~}d>cF5eI5zT{&7UZZ(~>Z znMY!~e;hUF+t`!t^H}Qkk7E|+HujaDc`Wz)$8iU~O%vLEo+wHGJmKNDY0~sFPt>e` zo($;QG-bKZQ?2Nqry|a6nzsGSQ@!e+rxW-#&p7V$%xLz{GZ}uHXI($@%xw41vju&d z=REg$ZguF)3)yV4U;$#d@Di_36tlEfKyM=HEQauB9zQ zM4~|Apn#jl+OQK-SSDn<{5LvaD09(uX+dMu@0(Uv*d$FOymW(aze#arT^X`TxA*PF z2_jwgx?k2+-<=V^{_D*ZY0ldPx4w<2o_&Qy^V<&9x3AS%rIq456_S+7I9roS?CQz_ z9Qi=E*gIU{SneHvVA7IpwXRxSY^M&%{(b8)IV7()Fhlc++eUTE)W^^NnQY-!db>X1 z$V0BksCE_JY3o>jdrF3P+zHYx-nJ;(visMmt`l!162fZ~Ea!jWnV{R?x>a%a&)qw( z@8flyGTrH^`NeNNHySj(GGg*n!%qY@)n(3`{d>Mw|1Y;?abH(kzq}pIe)`{-5PPVYpF>7Y@KJ-f`3R zhU>jQZJZ3h1SjruTyg*7t^0DnzshY}DCH%w{ri&70y>U@dWLemU+2zgJpVuH#9h%t zS9S|KTw>d#z`ErETmSURP1l6G3WfGCIPQI5sJKySDwEL!NA@KFQCtPAItn`fnwU3E zUUqKVnC$(f_-lwwuSLkWu= zLWvhEcQXj*CJ6IdaPXh-zp}jLSW(N->CNIAtu_&@b``CT9!+W|TFoztS2(n#b+nnB zXwy7l;I^VV{||nC6-VEK@EPzHMW1*u=U;fOS&=C;N?RP6=%0^>T5j6=Kd4uHbLAZgF~$wm4?2WDMF{jw6lhQCTh-CGVR7Gu8-1@ldN-NZ zX?FB(*w)K>u~Nms!RZ2beW2zejkdotT=z|F_&TFwLSf$-i3$IWCR~b`@V;U~=;smv z&534?6Sr*0>-r%rVcB1?VWPqJNevsh)=c0MFf4ysp}2Ue-4qL^?E-9ymHbyG`TxJf zeC7nhw~yQs9E>7OQ*Jl&i#+PeS;qA?oJ%CYdDDelVGfnu4Ba~m8WIA9|Cl#Qnu`>- zyGOap7bY0}6=XC{XlD*m_;FF5%Yl)90TU-ff9;GW!4pauomo2Ona>1s{@W&(W_3!W z@60&$aT>GW^x~KLrIPv;E2r1IoPNqZ!bCl1R`@jS&W7CO0vpWbCulNE@|@0?FrBAh zX7$bKYMdqwH>WneoU!~P+waM)%LO=07tN5~Fm2P#{?lgtDx&Rdg|k+A&Rm^2Q+~qq z^($vGHO$_zVD_F)!F`-__yRi)YgQhWoU@Ekc%K5tQU%uH=b}LeI(RCD8N=(po9BFG zVm=w9|0P+T)qsIBfZ<5^_PNwZ%TIeJ^qa%nr;ih=$g-Q|jS-mTTqymL& z3zbTrPg?$v!Q=z$Vh1iw2fwli1}1?5wFl|j+gLRj=H81GjmwQo3L%!$J;^+B~iv`{{GLcW~_sU|MZ3H!*Qu4@c>Qjq_M9 z&SN>Kz;%FiyF=9X%=sb?^Xr~1{2a_Lx`E~Y%QT*lAg-0Y2`jl)Y+&L#Rc(~HBJom# zkC%C5^MVN;0_!U~A1kwla4q_EQQ-LUa86J2tro)Zf~tGlTnyMN%@bE|YFI7m*mtl( zYHwBNyGM)vmt`>>j_P#bkTle+e5tijyBVSd&8g<1^k2R3kS zUX1p;aZ{nP!8 zC6Fn-_28>*q1@YJXEZt9Hu&E!rYc{~RlXpv!*H9^@hwHaHgl!}Miq*C~b_p5}c!Ox3;Rr)2r+SPQ%f>iuT8nKfWDb0LGx zhsNJWHm5D)Ub#Sly>X3aSH<*A6)w^N-!-!Pg)}D{N!(z|PHNn`O>vRTK|Q|PYb$m# z{Vv+tva4q4^QN5dY+FuN$0+T6+s3|*eXmEjz>VJv-yYh=zgzz9@4Xu%>$a71zA)c; zR@?oWI?EsLlG$Z@RcGz}{CoSi+jH)5>pxgM_fd3xYEY$hD%Y#oy}#4;{?b11cXjRL zsso>P?^USU&nGi`nwh3(&A}_Dw@9Da&(*!+|C{!Fo$qyAj7+K%Ts5)%k8z5F_Y5n^k=M*nQEjq{n@coRZ3UFOUk|xIMRe-78|WbhMMckP7gr8&oP(mT{X6fL{Zuq5e=bTW;I>%Uh@kd3`AFfMYN|)~WTv+|5Z0(#~#hddPUj2;O<=$HN_tpm4+ndhDJ~CBVd0+y!vO(=amZ=wRPfb`g<8PdFPqpRT z>sP;5KUc4b?Yy)ube7mBfdyx8=+0HVYTE-Th5t zR$GRSPsLiXMIw+3&me|NqTrR(zoF^ii|2*~7i+ za;qmk&AsD!uk6o`)#eM87P6@%7;rcRuslj)G_Zx z*Ssi~quhQ^1VlE9*gtv7^VwPF%CmgCoCyI=3Y%YM8?dRf*d~~~)Hhkt#m%|mUf^Da zXLW|p6dJkG?r~?VbIq0$414~pk>R=S6nFQ1;;px4*8dT;4PN2>s?ymg;$qr8!R9wn zL9@a(GkPa-88ot3ADqyqx9tCI9mHXjhxHdZ<>XT(>?<+AW?i{#CFYlF|lRk<8BNDzFv zSK;kyhqpNiZ*3Qwm^*%mKl*y_Jn{W}i|2JNIdZSgw@UGubi0F4+eJ<8!)%6E)4BXN ztK}pZ?wlaNHBmVwNkD81dws8Bp!V)3j~N~~GtP7Kd*Ef~{(!yz0psEebJhzMWE3z} zTD}jm{~8i+AY#m{xKP;e{3j7*6<;T%ge|OA{`=VGPmEdrsrk44L;+6M3n57&pB?=^ zFRS^?bd@`a|Bf`jhHu=RSf?$_4<%l`y6|7@)63PLOeZ-0U^&>4(8#X;KV)qImqGxG z(*>iDVqx#C0vB@?x3QT`x%Kv2qx@GXX7k^hT;!*VPhc{g@H2G(uQlg?i8ZpgY-SB( z|9JnJu#ThQx}u*vf$FLE>$l!-wUTqozNFSK|8ugxsPgAflk)r!uDdmFu@@O0Xw&{YiF ziqn%ibhb{pv}!t2+SEg$3o`ERu1x-;>$)X$rCF%xxh&=>3%nPxYDSA$Wb>pmx=qwd zeO0pL!1561(@Gly(p~vD10=*U7@2r9`3zK69ApS%;#E`e@kn@l;@!>Tsf$Z4C^Y7r zlvwJ&JnrtV(l@Zcj=$(v)P`cyXE!OpJ zKWzUvEHsk#*s^3=me-OML94sgT@$IwRrvp8Qh^hf_LdJ$JjPotObxR7ual~=?++8t zvV%5n1k@NUz7%L2>qz3^Z2i}CQQ-{Nq>BoRA@|f9G&)?GC3I%`-k6E5rU$(wRRkOZ zR-T%s5!Rt19+@`hMGuR}j&^QMmWl^0&x1S|%o%4jC@|{fRrE12Ziso%FEDR&;({9@ z5euztK3^&JxBLC&vww4rV$T9|FG=NwB?x=p`D zq)gr$AYfqE)6^)yn$Y7S>@U+1nJ$?TsC8nI@e0xSh(#MWHXRV%t`HjZe`U9*0Mm@E zCX70cPY*N2I0iMuFeIl695!-Hjjhw3fJ%ZbJ65f6tLLlP6~G%E$> z){j;w z?SIR-H`=Op*#_m7#UGB*TKaTX)~lP&!9R+&egAdihr#B9ZF%}eEh-7mB;LH=DQwL- zhjHNo<&2CQi&8h3&*%Q>^6p=Cx7>~eGm{Tpc$hWW_TclrS9{-IW|WglR9wU!&{KQ6 zvZvEeuz9oLQs=3L9koIgf{rCG8(B9-YQ7V7ypuYig!PL+ZA{vtYaH(bSWV_#n&jS{ z6`7eTJ4-N@Y4Vhyh?5G}4j<&tSkNk+bKZ*i@13g+XDUyjVnk0H67=QijY!@qR z5IgjtT|P#EfUKC&6uFTHc`-dV}rATpq$6G3k!wBj;R@nI9)iTD&V-0Dbw>7 zr=pI>(WVIfj*R3s=}9x@%I9rTI_(fIqyDHQH4+R{FkU3Gb!}OuDxWRvhf{Ww>b6RlUQsBkswiRA=k(4zNnsky@oLy=WM)9gYNZ>|$*^vXEII;zm8o1CFkP2a_2&;&sk#X(*ZJ!1(5{6PHrM0f|O;n+U~@ zz<*o0m2(+Yr~H_Hl|#w&f#asg-NF;LT&a>Qo!i7T=b@_}Ytk9M%HZ|qPVwx}Ym_+m zZCkuUUEp!u~KeQ+^!VGh|@b#`2SnEHs@@-uJI*w)1jud z4RP7mzs=~-S}YpHU=lRJe8Y-$mARgpVb!eM`4UHE798O|$8d=M&j(h0C6$BR?_LL!y9_#-X`Mw%I|+XRq8BGwrJ3&AGN<8OyXg&dXUoy~zlkA^uX(KUHt;%eWk? z+qd7DZ4I_HbG`oSTJq$)Qr>l9p$yBMn?(;cEYj ztHrNmvGUy4aoeqKPY*0zCoZWNcP?dyZQxh^{kF#PZ!4YmO=<8ocQ;d8@j2o@U#lvQ zg7(f!&ZO1wGE3n#E{63x3>3wI7$Zn2? z!;F#L9rnxkrmfl0uGe>{@3e)ZXTQtJe&?d~`9|{%Ca^b7XfU0;(_lyQ?%DqtLzo&j zP2TzYpwjH_os9(tN{_rgdIn=^2dicUgXj;r@13ll6RoGN-g8UB z&@^Jztk;H9KI^aHwrqajz}UdLVsnE?%t5glN97Plu@XlC0VgGw1^uhI0uVCSqXyupCp5CNtBB1S3 z-En-vB#(|3t15A`j0rIr(^#E4S92VexydZ+!W$FK8&qsNJ7A6L6P{wtbp^&9E+!mi zJNCJV9J#jR$kS%dN8GlDAE~lP3Pc*1XJ@UByTRm^)8VDk;V0AKtFzAFiR!KyjMEGM zcR7l5IGwRsP|*2(MZf!!ZXX@-PsN;#6ZF#O=zZ^Y+jw9q-^|9hv(%n{T=#SL7SRX$ zRVJ!^aZ;3c*vdDtb(ew8-^07uQrKh^7^E`V7;bBP-q~myaZogZEvSKc;pCli9lQAM zILr~|s5~N9C2}xGi9@-kQS?r;JX53bJF$sDj! zS}f0>qHf@GqBX~3at~`;3LAIL0ezJ&&5&LFTMqGDInWoS*|UaS>yO5Q4f9hQ z7-y>f{9!G0fa%_ft_3}f%mIwctN5B1ZszZ3;Pz;gdSTtRK{Z^4H_Ed!n4wWgpy{qR z=jX+1`ELGaTGJ!mYCN&e*!5e3?R`t{LQU7{nr|&#%4pV&kPP~BYJ<$_r?0gSr+BwA zoJp&3%b4PJ^$P!yS1d=Imicw;i1~eN&ztVx&C8sP6c`=NN}nw8-NYc~JUeYgQ+iAb z1IJRH2aNI$EbG1;XJhdQ6!Lpi;`Z3YL)z!$)GZEa4bm;oAWc@Y?^h)@q>uJ*-NLB70V4uIF`KWZFD#l z!KAEtW0m5QUezDHtP%ekRSkqseHMBYAffo!nZ?F*olfuah^Z@AbVb{6tevoI&l}Fk z8+bfT+>Wm5pBb@j>H(KliHnUZT;E7@E#o{YA?tcD$L!D(&iOw$V_Z6fN;{N98Kk#z zeP86W?1$a58y$T=Iwmx9U2~pv#ASlQRmZ6U;%O=z--3NJue63t2w1a{dy&NwLjjeU zHyLi~Y<02HFU(ou{fm3ejm6uZ_)a*ybE`39;Uw#J#ifA`%{&*Hl&aOAyGS>*G_QTV zS_`IjCEY0uof{cRIUf$w<(U;7N* zA2%+@^!l(y_WC+=#3h9te9+&lan#eNgT1mR>4Pm zv%XqzsBN`-wrSPR7d2L@J z7^JUYVm4q1wbC>_(Ud72DQz6t%cG&Bbx?l7N)Oko>yjIpE!4L?-X*@fq11s>=R+fx zM-#V)YHP(!*2$5xzH0cN4M~ZJl272&+Pq0sIx2YS|MTxTqg7vD=_|R~?4T;kaO?lZ zTQlZHHdfqPG540W<>urEO@FQ0Ui5J2TolqX++rX(S?}UzlgPV<3SB-fqtiqGkuIa85C*-+$bfYhQDQjb>6oUO@l zZih|6mFcGz#h-a~;r`cFu0xL-7YOYRSbUgE%0f+Qrs1p$I$S3Er0#S-*`c!TldhVp z+^ngJay~Ps8@A2zj(fc5V*lyQ$#V+hL;O-hzs=Hnlk{~agVDvMlP-qYE=-Nw_w>?| z|6QT?QsdsG@@A%*znZ;2GbBcAarMfl$$Dw2V*Ih+Qq$|wGQzkM<|&*wcr|t1(v)Mu z(fiU;)3#;&ODo_@FO*9!(n~M4OE2+DFO5qt%S$h>ORwllubh`&wJyDSUwX~C^xAvr zb??&a|D`wZWi-lVH0fnD+hw%)Wwgd+wB=>A*JX6{WpvKV=vtT2y)UEZTt@G`jJ|gn z{r@s1@MTVv%bcW_IoU3AieKi`xXfvJnbYesXY^&xoR>LkUFPh4nRCu%&b^m8?_K7G z8O#g#vKGo^Ez-+cY?rmfFKcOB*0Q{;<#kyr`m$Ee%UZQAYxTaYHRrO{-pg9|E^Gb2 ztPOnG8|D7LUiB<(v)$`1h3u_y+1v86x7TGaT*esmfzh-fd-uNVJ?FCb-pk%smc8ZQ z>z0ZJofYS71#=E9>s##CB(Q>M!L?@Y1=&men%q~sUN|l1)VnPE4-H%bS+)xr`4m|B zFEFlq_vSp`+XZqAK_?nd`(@caU<_h->wY6=<27bUj|Z#6-t3IaU02p}r!DJB-P^zm zZ!ITepP0vdYg_K}b2&HV-f}Cj9%IY8qt;rQ(6XTK-OIRFj1sL+*X7CmXu7g2Z?9jI z{)F}g?{eOo6U+%;Eg=H)&uD%jI$D}CH!90UG>6)SIj}M&% z4LS_Gf)mzR&M|Wg&)Zq|_Ih8zntMfh`~_FS-YzZ6 z(W}p8W`F(o+ozS!a)TsTKmE(PrOSEw$nW zY7O!e8ej8exrBdlG=KHxUfzN-7XFGBzKnvsWjQ|cOI|)>ENLiS=hx&EU$jQ18{C^cUy>bovtAy}^r1DoO`mY#& zl&?DXftUY#wS5P(fuHM#kBt_E6(^b`@0Y#Y@bS@_j|ce}vbOVOsni6JueaqqVt@PC|JAhkxA)_I znwl5Ci1fC?!(e^MUf8AE!pDo`Sx0QzrMPGRpx__RmtGmowZy#U3-=HDM!nKP(_RPZ$Z8eZHezR|53dBBlMY;tL8V6m*gphDC_3vd zJfW;?CYL#NQho21MZvalQxZFDYYW9{tWLQ%d-FS%h(alKV;)fZ-dwyGcO{QPaMg0r%wxo|CPlWKWj6)Uh+sMTS` z!Kc2Krdd-QP5xYLUGnLs=lp1$gRYa7wH9#&g$F5G$UD`&Vp!2w^(Wz4%}T3VVgfxX zC)54sxBd58DI?FveQ9m8;%{dThd&>h!y`ACu5w6NI{Gm^iVUC-UKq4Ppy7W)C^Xogqcf7_LI9Y~J)Jxg?Y ze$mJJ@)`T4KMh;A(H*UbA@pjSb6;y$yI(!kiCW(9tpBymN-Je}m*h z1)sVv%;5}rZIh4GvZe$ZCVt7gX3HRXo?p+p<9^z+1rKez98?|(eW^=3EXlVvi_uC@ zv*E(zMKudMYF^$@mTR2Udt!pNg;z&!*rESR7jYh8PFmd2?&7#`sse|d#hL>byIzRQ zee2N``g!*K2`i4w+xUci!KN3=Gw=Brt@ zEPDE9g~tYkCBZ|xNkoj%L#!lW%98I_#Y^Wtzyzya!T;f~|GWF5_^WQ1k4V%Tz1D z%~3|mPMpSz7xf%jUX;QSwDr}ciSGn5UbK2u27jNv=a@GM{hvjw7ckHtt!?(5oDMX3~=jn@$F+iM%a}eeWAAc;U*m zLXE{7XHUG3Vf?Wv^Y_=;5B8{;J?4qn?X&pKk)E5T2WGxCOExjX8@Emo3sSv!wXamX zaod(g&v*CFHcpzztomf0_f$#k)ylWO1+F}xm0!I1)xE%PjuV<~Qcu6zU9#QA$mp%@ z-d86T3;q1&Rtr694Vkzk|o%n%1+}e=)}C^ODb>cyl@C z-pq6Jf2Myr?Bf={{pi~Nc7J;gJPJ~4Y)(77Q*Y9$IcL~Q?u4m$UW|IFxOeNt6YDPc z+Jpo>4}GB#zv)8UwZc=Oo6A#0R|$Ia@5zih-K%PIInrl#-Pd`4e|cI8r1M zr}|9(yK2Uqie&bcfl0l3jFU{YnU;M0zS+DeLObC1?Zq>kEG@3dOzK}PZ!kZUHR;7< zd9SAzMcC!oIMyXUYn}5oQs&7!aq;}0|I5?rubtk^GW%y<`n~5frOp5Sl<%|sIr;cO z`TVc*i+}X*aR~m;`ykQc#eyxwz?f0dH&QBKd~br5jly09rq$T7YI9bhhoFJBJJN2}z_?e~g znJ44z_ul_K(fw$`@6;dA8vR7LlexOcY7W=Sq4%dUE-E;g@IwrG3&_Qb&>nttvb@*b@W zR$a>0+ZIcHoAGGFBAau{wm}!P!seX2y4ddBxNF~)%)yr8sJ6sO z@5z)e7gzjXT>RG|abmcOpNeywiknw!Q%wmz!JNW3EjP zOqZotuY1C_ZHf0e6<@yv5&@5Q9*tF=G~Mso68|KXdj(fL`BH6{oz_$mQVmjjn(;>^ z*lcOAooa~N(hxt@P^(!%ajIcyOT+4792giBf3mPjFfcRdFfcGN9AN&!%)s%Vft^Ff zW5a@j%^bp7F()=GJlrmz>@~+@vQhrvY93HD4^M=mu;@s)>T(mM{Lfz zdur?I@VVF6j!2(aDRX>7GV8Qlsg0@!x5Oju*5aLY&F9c`<_o?utA&yxHaEH|vaR{R zpVVA;{1d|&&Ug1t&oIuucV_42^xZmwzf2>3BxYO^bmva7nedfC$|aneC;CFv&E=wY zukW4Rz5V_D1I_#uRsmlb9y4FmoVIqt4u`8tecer8M14r!$aJ~S^}5lf5APow?*1?D zzt1M<+Odho;ufh@;O?IP{~6dc9yFB9Ws9s`D|ls|6Pu7q zymPy5#{HHnhF_cHIXaUh8)eE~JZx8J`wglieLV_WlqnRl1h( zxYy!YhFnyN;d zAE)oZbSy zEjo@VE+K23uJcXN-O4mK@#2Qz`epp zoiygXFXPB7nj*C&cQ@BW?F;+s>sC+L%N=U9!I|f{_QpLzi5ioRe)jz%dFY|u75(Ec zi?s8c|C+HBIjZOX&O0TwJ!j%UcK4D^hm6j~EI#|>VCQG&_p6@gxmkOQm`qpMom1lP zEYBNw^53^3Uz|OieJ@@13eVjd9>OnSx=k$g?1gJ;{%=2CO{r!nyUBj9<27^K|22WP zx#rF-JEMHC_uJiy`%6B>u+91Z-C1?dcWUnxt{m??T+W`e!tuE z{oU{P2iW!hd^jSW|L0?AUEiNiXUyOK`8-W%_r#4#GtVi0eUi%e_uHM%>-3x?%405k z7to9Sah>Du?5gi?Za?|8&uFi|K(1Gy-o!7gC-sw^r@pq{9~Bcg&ri;bq0h2MVd8F% z%VN_HFq&+r72vt}sAJoP-zRyLcqUK!wqlEUSBZcMQ_lj9>PfpUM(S&5N1WjNy2)vB zO+ceabe2@Q45t9Y@KIAI>l-UtA~s`HA-(@>ZNuyp``E=9s$9BJ)(#B(1)^io({cx!u%k+mSDXO2RP6&I(AF}Jondx~m+&XV`H!RkPx4NnRe}Adpkyn^*Yd$O%Ub)gcz5U|V!imLAA~UYcYF<~p>uilR>%HG0 zo|k%9N)+GqsLTz}62F>JTqEb(ao1~`K-k!R?Pilz>JEM+K`m6BWT-y{HSknzSqa$|7O;hOfUFIk4 z9ob@2rZ92ovmFz-KujrT=|T zwlI6>nr#0Te8DJX>z1>#b6uOF?=I@vc-+YfUGKtmCO-IQxFY{Kjt1UOZH(qW4&7+cYcrSeb-P+(N0-`(h?? z7?=M)6TfiQxnmMulOD`C8{TBRXT=@S$2ZQllpfo>;R3g{-RY&<->fa3_`F)knOiDS zB2xJl$6QH`kChku*LBaH*`2XAW6~6tyYFkyYr5!mM=5jasIUrudgLRlab{A^t2Z*f zqRo;&uPmwSIB2jp)I|EpxpjOKCs+Dp$FuLwnUa^i(Y5kT+V2}$r^~i&S?>EbE4q3n z!-;L%w${GQJDzv@fuEXBr9 z)zhzY+02Vd@)wq!mu*mzQIx!s7rLd{Xv zTxJR1@O;9#um3%6DgKFT;GCfNEo|rPR>8#E{HjSZd(RiDsVeX8%dt~EbbaL_j>a9l zuY41>eP?@Iy!qzM5M$$IE3MwL?zDL(ye&0td#(Qbx;`I;K2Dneo3N()oi|;rw|7-s zo&4g_tENc*FXvyoof7NgIKsGrflWb~A=iKJ+qW!v_3ZUOK5Ern*{N6aB-!(4Y5Be{ z&8&at`TzfQg4r}Ez@VkyfEK?+Niy{ z*TP1T$6QoBK0D{&!_O|AYV`+&>(wXL>k2!Cu?Z@CE@pb6HIrF~_hRutV2HwPq&7VRgDng>RH!{Bv5R4F%v(QqqsNRwusCL56V1i)&azo9IrXAZV zmo5`9muPm|+~nbuzT$a>QM$m7qmh;;D&3}=DL!wWd`-YML(oA(E97dZCx`iep;o^Y zChypqqJOj|a9Ac|@)`w$ioYs*Bj|a%Z$_B+6_Q zOy#)9SAU_ZwnL^ru)dT-wQ5F3NQxl$Bumr(Q&rYYw7j#hV+x1RiH%BrlNi4&l$u`A z&h4l-!NY2*MVHz|H||L)eK!QA3Uw7*L@)W#C9%-<%Rz}183i1M-6ll>6FIu~ybzQP z?e1q5?|vY#=7j2@8Qptl^l)EPX9=|28lkr7ghIVWm-F(TYZ2|2H3VjPIIcV)@FTEi zUPbSt9|DCXz6`>BYgY(7NgE zUR|Mb;-Q#yOU1t#6S#Ix;JG=0@8<*o$%#Ui6Gb8?id9aOm^o2u=R}#C6XkwRRFIsc zWI0JCa*|r*B#oJqw02I?xj9Mi=OhEk$wrowK~tZVlP&(woNTpovdzuOc0VUONKSFG zoZ=EWMek{=+sr9mJE!>EoZ>gr&*SHmAj_#CkyFDer$)@28ntt3%+0BBKc^;0PD`?! zmJ&HFt#Vq%%xPIWr{&yq>AEnjKyrGK<@A!s>1CDED`rlw+Bv=E=JdLs(;FmbG+EAQ ziJZ|^Iiq9djIN!aX~e#tGbTvRoMbt3O61IGl{06|oH=Xf%sDq_&igqt<7mSI$(Ti! zvkoq8U8b4*u({H6+N`>%uA83DdcQ1f)5-9kZh2d0hMk>0yJYKZ!K1UYLxaOO=Ez*j z^pd2P;*XCS_oO`Wu?v0sqZ|$6W=jPn`itX#n1q%M}$TAFV zXX8}6$LUiOVZV;KqiKami-o}78GRiy=4~^H?9J#FI@mYKV*a<2c5^M}-rCXmgi|7y zrR!Tq-+xV?WflE5RxC(s>Irb0w|dKhJtDoY8GHC&wRH1t!HEJJdFt^yB0Z|nqy&Q^HgG?S=17T zR}0Lz7CFyy{&+*`^NhYHogKPO&Hjt}*FK!@>t)06vaf%!zt^oknW_oVQOnY*mSxOZ zmbGhH&aGv6zm^q9EibZKUJ|vutZI41tmRd^me<@`UiWKxgVc&9s}(I#E8417bj(`O zwQEJs|642ieyy0WDk*TK@MNi#)2dd^n6)xFVx`5wm9u`WTp+b-k=3dtQLC0!ty(c_ z)v8^q*4$dP?$@dfQmf4$uG|#0dRx`%9k+6}%v!zY*6Mw~Rv(aBbI5AVk*GDts@9yC zwdT~WHD_+EIrnSL1*x@{tkzzMT6?W(?TuM$Z|z!p=hoVLzt%pGTKC9m-IJ(w&#KnF zn6>WJu61v2t$X)t-3O`lpRCq@iCX`yYWwoQ9|L4~Ff4|lJgMjo#A?uAI(Hq68H%iRjD7AZ|%`hv`H|gBor1yK1f%Il0>&+(7o6Y`LZ?>4d*=qM@o7}iOw}w@3jhMYPYWLQd+gsy)Z%vTimSnvxC3;(0^|p-J z+p>0V%elQR@AtL>>Fq_<+e@OimsM}Cn7zGf_x76G+v|RBZ;;;6WWA#$dPiIJj*i(o zx_0mAxxJ%L+V}2sf#L&-lcTpx{Jq1baA#-{!whYi$OM7IGXxfzZ(V#_bK&isGOKs4 z*uCq}!d)|qcE!HlwWeEm>F%vlPw&`dz1wi&?p@tNdv5POAic-ZP%2z?k5)&=5pAKU zQvxdG0@;cSWf|4KY6@R&6ucZQaJ5?K=IRz{!MVQz1#ka9Ef`oRvFn)p&xZo{UJE?D zy{9W#;Jo$1sEPY{1@}EI-Ya)p;QeobH{MIun<&d)lsnoj_%7W~F7 z$laqM5m?`0aez12a)OB)5ktUFO=g_ol~>#+3n+#_K2->ly94}K*Ufo zYop>i!;^eD0&{#$ES!2u^3Rd&Yff?oHXaui(@jwMCmpD(pnhP_QRa(G(*zZl*Ql(& z*xn;3R&OB2F;lvO{nQ0(&rC*XuZ`}D8P9w%Jbp~(Kv2-$GdUV;6VDu-Bfxv-40FKQ zX*TD##hm61JTgP#{52badv_M{T;5Y56I;P^o~!ZfqB{#cjr#vGUf{iW{)-I*8?U0i z&FNn`C;4j6PFr*E)}E8!dfa(z1$G=1NMke>?>(~l<34HGv-kIS9O6+uIa|O;Nm<{4 z`P+XRhL?AGm?w&z+9<(LESv185`XCOla&3MXHQt(z5Mpf5;n(ke}8wH?Nv1Iy~6cT z;=mt?>xuiXeYCgIy&742QlR)$c-G0-xmO)@ub!H7TKmscpCm~}ThHr^>O9W-3Y=7? z=CnJny~d_^#e33~6*dA@wU+{%E=K=Vw~O7UTzg8hSHI)p)r_@W3BE^6t1d9?xb7Z% z`f|?=jk)`KdKK#L+Of{eR&nxM`$gj1MLwT{Qp-C8q}HC&eY4n2-KMNaQ=$k%f?K1_}890wN^05LEw#ypv$Iziq2_L-E1)9)b8fUI%<08vn9?BrC?6cW>g`tEY3rZslGv zs9VY$cmG26qqab|aIgC^tCq;`yT_+!FLmg;o!-LFy*GEiIceH;|7f!0@7{L7K+QD6 z2bn@o{Oay|c^!>ax_xpjbJwP)b+X5etBwn<6FB_l2G7CU>2(4TbFV$OeUkq7LEgSa zLW}M(<+pjt&`|?@zON$a&{k0D(BQz5IIP&0gKxTVCAu zlf6-)>snL$yhFo&-DUZNIDvw^^WnLdM78cE^Ip@4*}v@0oA$GB`roQv^}BiM-nnUs zFG}iO-#z_a2?>z4KD; z)Tem|`}e;8)+=!5ob}SiZheV;0lAWa3pMWC=KH)lrOH?2-@S{{ibsnk z?JY8TYxC~IQJK$cKkoDES4irA$bQH6(`$i(i_gsN%A3o+nD+KGpUxBg#6Bj*c82`7 z+<|I5{IAWejx=2KQFwQb-SN}vjo;M!JGgUh+34Rj+b1yLy?Rx@ywkjXxxk+s7v-(q z3tgW0vnGGvmY6Sc{&#N9{?1(}yZFDvs(gWtFPG=8d(D0E*Y^%SeH~RZpP!cxYAn{6>k3j|M=wn zDHV6Vi5m+);unhFu=lyV;M01+*Y!d#-;0=i`p19qU$EzY4n=jt#{UKj|3@p^Jf~=eu1mRj>8bY&!_;$2A}>Gl zonu-0?un-G0sjRK)qJW^S6&1z@tmrcdh5!|;1!aL3Uj2cz6xCvxi#-8c(<0_$~IN_ zZmsHVs}63@eR^(b^!0bKdn!*KQ#}#>KK?)>E5BOIjSmd_JNWg}?%ep8d}3mRrV3jj89C#YVsXpLu&{>HBAQt2OiP zA8h4UkF!xJczklIe!84YW$}xPOa1@H@%R7L{`vX!{qy_x|JO4xixfC8ahrT_V7Z;OaDlx{)x!ns%311;T-sX% zbc`K}9y;+^e-T*DqgiF((k#Z(d4xYWr10p32@NM)#geBK9$TCsbHYuk_)6jNsRc(q zF65{bDe{mMcPU&TDEMolhuZ9tPbZqEl@xht1#e+i6lzxS@M^bM`N`Yhut>3w(P@*< zJ|>q#iha#)mwfiMcs!-p&+7G-&we(Xo1U$+o%rhW68pkgACB5^yK>L{yT{~zNg#iA zLdkMA`KcwB)^E9TB52B=9U_YyHJ45~J+Xx0qtN15fSIfKl^}BLG_#u*q%QSYJCb^guSKk@GXM4?c>;8|*3Tz@f5mq7%(hBf z5iuos+UtbPA?G@uwiSHSV4qnncj?)Zl53o4^SkqOn0x;e%vc&N^r$Rz;uJH9%ta=q z|9@pI>bTZ9xx&S!<5gqMvsnwPWlcCH*1XnR6SwfCoJYo7 z^>edTwy^)$y|DWyo9DZoo=Vs9j&VBAQEdMz_n?qhc+s58ZQPS=7P9N*|M`69hN#u& zrdi86KB;gT{atb(eENqlUEBT>UoYz3k}0{vJ9+PdvJ5+oqO*dpWS1Uj|NiUy1N~Qf z7Tj{>x}y+2|9tJQwKCJBk3K6-`?nzHyWGi32R7$-JZF6HZJxqM?OT7B++JB;uRS+5 zZN=-(8uyO61G0zel@`2R{-Q~4uYW`R#CYdBX#y(~GZ}KFJHK!hIdrH@P+}Efy`g13 zsf9P7S^7x=yX}wvjsk4~Ey^m1oW2!KBFh3=wa=XYCA7#?%xqo5szTY26W0$&Jlo(U z88V44{Km@Wg{SLTC6yf6#Jc+yoK|r4>Gn$gCy28Ebh+u#9lzt&mx4GXw22L;z zoGEuO>BK?>q2A_{g-RzMdAPY<(y7zoP*vXKx<=$8gC?hn*BcGbfHajJ*O`gFZacS4 z;^}E$n3Ad;`_n7pSkSc1OHy@nE4^c$1x?@mBvrrmr*{Hd@QlMMX@++H`)3uepIsemwXWxF3X1@2QZ$Vq|oX0Ba#`zKwZBvD3Pt!SJY5K@- z?SbIAhyOgXd0RO>FzMBlw3{-UyeiK}lm#WJUQ||L)N%^nIJsl{rK{ficATHZ@nwN! zNQR5uO!1Q^ix(OCJa^q5BG9kY(igw;#y&HtlN0z3xEs6-vGV^FWWDU1f@W=|ujeP_ zBQJTE$4f4D%&l_QNz?SQSIr9S)tYN47rN3rH7j`TuaFgPp{wM)vw~`NooEXQt+4U! z4ExM3I?L~>PMqnfQ0b(wy(#*&hLPEh7jF4&ymhQ9s#4qOmDar7$4t%nva{m^KQ+}0 z83yEd-&znMYIbSskqMkOZy5e~O*yV~?f*LNwX@>Hoh`RMov83t#vyGkn@U@SnCE2P zxBqy8wuw)9oWr+rq2smi!*zwz6j#Q+b)Keni(TwUlSB4fkA&SfJGNY1JKuIr>UXOR z2QAC0pG$jmsJx1LW>m8J)YY7l`QEW71oM=R&P+ZN{n+$2eaQ7)E^{sV zjTFlv;Zp*_zV4vgf+0MBIH-_vC=c&kuF!<$^Omy;ENFSieI#=)(KDC%br# z_0+J3?P==$bclEH%|7Kby92uxY*Q3_JV9IO$>+TAu9E-S@1MHmtoe4#LbWf(pm*b; z@Gq0TDLhh^SCfA9c9wtx=Dg`tfO_=J(`jX!=l;#faF4!qd0E-kwY9l9>Cv}uKP%h5_it`Nd-R>hYUMl6 z*5;KgkG}glt$g?0zj+nMqwjrQR=)RbZGO%3==;B)ZEr2QbK$XS{sE3WkN>W}efM^r zl~6KR<}sB&Zo5c-*h6N+ABQVXss=>c%#^t9amqGZ=YHY6%myY{1d3nuK-TKNi z>2aTDKd*Ui`@ix+d)$}B>a{O@>#MFTkNdhhz4mqN|Ee3uM!uxGnMc{@Ip8!=X?l~*oQwmF6Am0P?r3SWkD0i+r^8|Dg-NeJIUIN9 zc(~a9ZS^*-P5YMzIL3K$aOZG{)hwD+aqwJ`qx7E+i8Tki795IXCQnj_N%i$9j9R5!&INTB7yyC!a<15{!e-55l;9StW+;Q>D;zup}yE`T_x%6=C z>GN+)Ji--F@J;e23TCDSYd4x;FedbtYr}Wbdh7NvBpf zcx`Io{ESGGXT%Z?&J^2V{H>>G&MBIrB&OO#2GY zTN2(!j#$o`aQyfjpC48;vU^-3j&LlV;&60}?9>x(7pxpl*>LTh!||K@IAg>feJ$TM z2j8|g9fdN!W{$^`Ub^30!=aLMe4!7A)*fGDM(6uedj8*GvAHwl;EEW|+dSvq-dO%5 z#Bb6E=3`szJCc0aIGx&m9QNTkyXB-Gc;#Z&60hStJjcJBn!US2#r1-^ zY?o@S;)Dpz^&OY8N)AnYeQHWV(8R;LChs_|t9mRs@U&3wL}ruV-U^2Qox67}5An8k zI=$#XP9aS9KV8yt!C~&9&Rx5L4;4G;sq9Yjwt7|LEG)yhdyDt^C*B64N4hOS z)Ok5Qrv`ZQPB^zG#P@E9-`f!Xqchmv@>(rDZ~uca*p>5S%^`o+33p?zUWhpCle@Xu z;cRY6=mw6%Uabe)3(o3pzRIa`Zh6MlEi&s>Q##m}b_d4xq{J=@5k0s1^VJ6)SJRfd zWQYnlKRJ>$wLe+3H`TN!Z>d`KmyXP-N^^Q#x*C=@UECaFYSwe(+Mg|lS_~ZmZCrOQ z+10k;XwKR2+PmR(Z^P^VhBxp=G|EOa=|(i$Mzr`ww8loXbk2?FS{w1d zdvC-Kt?-_!r&bwVTJ|Dh1;fqhKf)r{ax^PP&V8}m`?Xp5)6Qu}FCVXnT)*IAarf0O zhsZ{2?%7Yf=H_syj9yvd!4qZ`8p9ksD;AH}$GrICG{%C;CK(@7BNFc}smuYs@z0M(;Z6KXYyL zOo`LGr>@#5s@8HO`ijH(R_2&Px-o}sV~+U79MxU6Pxj3N=HMqulM#Gx8<|Cr-QaDcVa`t|WnY`kP*Vg7Qwf7n}ckI_a`PR3ywWjl| zY!|CYjK!uH2EGJFxdbM?1ZKMg7QY16xCFMm1opZFj=luWc?n$W61evz@Q86T-bmnk zm%#roL4Yq&P%cqOFHzVoQN%A%G%isrFHyWMQKBzVa$cg;x@m!#sCq#Bo`mY1Ynm!#2`q&Y81OYD*Sz9gM0WFU29yr-OkuGb{iD2RvYt%W>WZA$X)0X0?$LPTJSj4WugDu(XTcYa;CZE2C zcGFT^_a%CWJrRBO#3L+~|KB5nXAc78Qbp2I+|MQYwYBr{rTX4`>Jir>%=aYPEhUUC z&E(x<|9c7E^HO5YF~vShbTxP;srS^Qtvz^JYVxzxOudIr@1CT{J+xc)l)o>nKrGdv z?5Tj-a{<2R{ALaLVb64SJQH_&q{7iC&XHuhgTZ#*Bb5pk>wU?J-wUmixgJ z^npQ^A*0zXqg5=)SfN$sNBV!&eGEYlT8d^c+iqYB+VNcBTyj_2{#?ma!#msqtez2@5UsdA509NNnsNGXXmbG>+8A<(SXk=(qlVVc|9 zo_WbZ9l1dfFD%+}Z!UW~@!gwAdF;09p8vne_d>s-rDxycJ7!7t9Pb{6B`uX?oqjDt zF5zusS?-K~$;anqRrd~VF133YB$q1q zBX3h)j)Yp);%yH@w&e+>Jvknh^HcBPhq`R(v=oz!CtK{^ocNcJ820Ayv!t?PX@+`F zSnCrR)j!DE6^P{(tZRFdyX`~lz4sE^KCp>5I2_C8YkzZkU7pmroc?pqYxN%0upQwR zXnit|8M^hTBE#ZePSB60vJZvp9v1rjU@V!CarfDCCHYTE>MtL~J$kD4LY+NBIq#EJ z-zSAKZo^rH5T=VbA%CeOIf6JcawXw&^Jq=LHS@Lf z34QlD;@o?S?VscAo~+pR#lNm(mf9C-xsU(svYF*S^Z9)!2`klk_9XFLa%LDyINy_9 zVkLg*#o^|qg=wj=@?W!#JxhxFniZDL{vb7NU%^ke?0Ej1@cCb?zb8cJ7hCCPW$J%3 z2o(_#f#!$dF9W zkjh{Wl3=|R_pUOZ{nt(bX6 zUHFfR70<=K|4^RK+$mmpGw-9$4u-nr$r}DYCv8u*z45)d{$*)jrilEj;QODQk5&GD zm*TnXiGJAAZ}YzVH%njst$^>}Pj>MyU(FJ|KWH<&-O^Z)jl?b+VAH$vraw%vQ0 z-u^20T*2P$KbP0#Ter7ImzNf$m8IL&R4mK(D=YSGOIaFM^VyE!Fn`1G@Up0T-(u2g za?BFl*5x0(o_gs1gA3|qhxv<-)MbfmubF@D&)V`o|LkgA!disCzuIS>D0=_Rf3fWu zx9+{L*J$TH(byx#Z0*;?{egjh!^a8plk7PfC;7jvm2Z9gyu79TU)}eHvI~v9)85{Y z`=LDV->d&`C)z)H7oX96?z`0U@3rTi-?;X#TaUeDL7k#sQ<*}Yirmky%agmN)Y#2iK6DEs7G8K3z=hYv_?Ol{=~A^0?8G(IHK9<41-)%3Vwg&U6H+ zdRIuNUs~fCtZE||8KIXn({%~MRMlp!Q!@irzQOYYaOpS_sK_v>X~pZr^yCG1wrp#l$Oq@I0$ z=)y76(W^tp%0k)YS_Q}a?q8}`&S`M`6m*(!ttW_)xBo@JA`P>15s#Z~Z%t3CPx|rW z@x)K94hvf)!meI)UzR!T|6MQhsWM%>=hnY+17+Q zKRh)j_d?o}8^!A|x*N{iN?9Fu@>kX5jSoIqy^35~w=6g480+*k zTZ#m$g;pO*JMyUJ>)FEl-DX_}4~zG&(MW9Kdu5o^Y<6pfyOY?z+mG4|s%|9Kzn}U; ziPu4nXW@BO7FAChX?dIBJ(cu-+NB?SsZJsz+@9HlzRjtS)UEDWz zUB9?{-lM6)t~rmrl}}4Vo@Q$gE$-33Rk@}4>sp!2CF$NWSG8Q{mAqhF!MC$y>B@7H zcKU4AUcIqjd-oTQHS7zuatB>}Hnx(aOFkX612yr+y#7bA0YI zSop)sY`EHuqI)(^QB9M4_~U8yip}2*H8-k!$}BZQoYd+wxP3%SJ}k`SjFf8V^pMeO!~i{AB0z zQWu@1yt>C?%l5pk*mAjpCB5QERcvGzg1&{u8OC1 z_0E*^oWr%)c*fR_w==Cm&RA~!c6gG(<=IRZp6czrtaoRvW@mEDXf9+ z%D>gNZr%>>5XPzE_TkH?-cRuEU3)O>8N=oa+4m+}Bw2=wKHWLD(`{XJQBSYPN#;49 z7o63t*pu`$VhU@?nN8^nTh1TQ`MFSkO$VEPs*0cF%odT(N988)KOkAby?NrD61Ylzs7dP4bDPa z-x^1h{AbQwwB?1<<}|Lj1>U!Azp2vLt8<8&CiZ z@;))u@Qq)mWNfUwao%jzmi=>bvs!~~uC}D;_8IXT?o6Gs#qL=2vE18{zO%PjZZIqN zn?1LR7&384Qo$9JendtEEK=c2%>FysLFDhI-czn*K>xn-e->YuQ zl9zp&KQ-{w{k}Ao2k-t)SN!Yg_ShW#XpX9)Lwh; z7Nrq&NvO&y!*6j?E_Z-qpkZ9aw-vK_Z0EUtm|0NV>Kk;)M_0+Nhh0B8pyo!kXLCW) z#ILocHC!nI{3$;BfBH^jxAWW=B)w$nZRrB#&?)yj8Ftuhs{0`S=wo6~N7BvDy%QQf zFK^}(-R&x~F79N;h1cO$9Ov%cdmhrZ*V5Uge)pX@oZEL^Ui+?e^Y3X-(iEbnFP>Df zefPa@|IFsyW`14!dH4Mu5$9%>LvP=I{Bq=TZxz+MY_PX2@X`5GJ`>P_Sulu^Tc<<}D z|5i5+>wT+8+WRKW-ul);IRWsFmJ19Vs5@E&N!ZaMX&s_?!%^ncbj%$sT(VoEk2jyv zur8jY6?TQtwhwh%R=2e<|KmuOGaWs)oqEKzWMrR8+|(G0#13*Gp8`SKeCyCIdFb8;H%wiv0a58iC=ky$I}w`a%4$0sIhtG~!F zPi$h=5^s64gL%$!&)Mm9afRCpnsqr({Xg+AVnMWNdcObueSd%d zFw6?C`u**|2PWAz*^qNP%R^j?6cwZzcIC2PjbZAX+*0lw8W2|}0lI)lrtCyi6YJjX z3sT#4LuR}6OoYpZn+Yc{dVh(wAHyjTjz*4I~_P8;IP9|Xv2$bFP5#=i@ZBa zq}ky9I_>v+jxOAAN8n49$a=@$ax6ak7}#|-%)VZ6^?k%1yD1x-xffsA;FL1u%LgZ6 zd$WQ}j|E$f*5(9#bY$Y5!Ii}8|IAC^r0_%OiR(Bt3JM+Bl|Se^8Pwuq?)-5w*?dOHa_@wD!ax6;3*1*>^b5Ex{d4bTx2D5u zEqubdul#sqbg@?Gp-Q0Mgr~8IbrYXWD7TwzCfKMq>4m|>ca?XK7tZ_Xwrc)6D<2;h zk=-7f58JJN=y28M^WCMY|0Z)YKa`vJetod#*4qBt+!H@38vdX3dA)a^0|Oi5=Tq(p z!m^Vt2?)xkeCPkjv*kjo!JP{Xj?Cw3Kdu*kU~-Lpr~afrvYiG2Z&@$)JLKHEzvG|p zC1DQ+XD5sD35hk&syi43D<-kB@hTnK-NF33d;;gD_f4E9c|{cz1g0q-2$5k_^mO^Q zjWOv%i-wP4o6m|vV!J-H8uTpWN%uG`b?ZZ$#hHbCSo{Dy&@;te~SNYr5#7Kq70*0KXc#sSAJCQo@%n)#|17&EQE}tmdJ4$K6aFI z7clC&prF&OJbtt9&pKJLd6u1*LqB+ z18;p&k+Jb+SaE!E%&CHD0>vjJ1&q!#F?^nOLT0X;Pr1N@sV!Y+d^kk8Kkdi}5>`An z<(bo(n-g->KF{7_rQ&oXQsz(OkvZQ_ACUKJKG$mCICn$ya^Gb$Cu_R3%zJPqy=~I+ z{}a{3T>9!hraLoa2{lD|)=Hkd_aVi=PD|tvZ+)(t0K;>3fq3_>bkV^>l3cGsL7skj$n15QgW82qtv7IWi<&O-*%#QFnsLYO)esqH%l)6DAaIR14qwUE`-%Ju*cvEs88BS=tu%5?IgQ?AGLSL;;3V-G5+oz%?w{fmr zDDiUfr9T}4XaDattDS!LLQLbP+j9=&_e$Pe;;5EA;l9<84M&PpT`pWxJpF9jqUAAp z43i3+pW3BtHk0<$6@PT+dD5!wi4Uig>o>)A8(dSmJN0SBTCQ8&4wKuTwsJf?_j~e} zb>@D~GKV)MaOwQIX?{#S;V;6d9P2ed>M z7xG@Z*V%JriFDc7`wv`VW^DLSwJq|DL*A|kkEDur?jOA_W;YJbm|zyfvhZVuVo`F5 z;g6#Zd`1kdsP_*o4`2wudH>MbH&2Y>GZFU>N&Y_@ zgaVj_6RIxsux)1C|+D2K#Rt+`M>lM4TkK4OSdr;SzYNJcp5KQi$WK zmjc}^2NrO7HyE*dd}CzY(a0EJ*JOGjmcLZmichwI;l!#5Z?yGy-(-?FcwC6#rG|Yp z1ABlYZv;bX*>353SI+%dTO7N0mcrX@PSSdpxel3M|Hrfa?*G1p4AWwnE4E0Tn)|1b zE9k%rHHQaWqB{<-pU`FCyCE&t_k)2oLC z=G6JRh9k)gsk0x)Jh!>NRU6a~3=ooYBbeDK2Bz?Z3<%@s^vpryM- zvv7~Mhez$l{{6dN1q-lUbC3MKYPs$6Cja}ze$a;Jn?Qp_4a0@Qbyoi$G8?>k zpgrr_=VRvY4#)p=(wAnlif|D#2w<+^X5c=^zx$D}K7+gVeJ0Hf48j}AnF8vbrRQ9k z-jI-1E4;Am#`mPk^tvU-7{T9X| z@zlKMbB$`Om9?BylbE}+SZqhIp|GZ)l4X#V=cJ^KTr~%cs+USH zEsb3B-_=<4pn3I^1ip!`>{3wi=9~^(q1{gp2G?1_*}< zvVU<XM~V9ZP3z{+ZM? z(|^az+22)X?vtEz$a2n+$T`O>CoP>Y=hV(QXKv0p_jAq#$+?$q&S40cdo6SBW!R3E zdq3yiteo@cf281pNUq!hmfIV+p6;A?nv>z&%Xx1k=YO)C|3!1|tY>-;g3|X^s#clJ zJ7&msTVMgxF5a~PTpkV!&R5QR89DzxCj+||$EF2yKAc=2617lFYF_lh8S{^43I@*j zTw>w*cs?`p0%oZNtW^tGU(LxC;A~tlPkh!~zFoWmS_}1~7Mo=)%I-LD`r;n1B z!BPe8O#$4u7jQXAE!3!5{91Cc@vJ$*tCj>vExlWrt@cy+hM3qjk?BfmLc1$xF)L3t zWL$Q9qoL`G&eSh%o0ki6!^E;=b6)-n?qgaslT0 zC<`dGWQwuaba$u11!@u z7A}4CN>pn1GLEWwirMpCcrIU~z{# z?A!x(a$K0@DybyPIER&Sujl0e5woiNZmC7Hmy}g=1qCo|-NifMe*lw!7t?92&1irsL z=CZv^v#r|eIOWjgog02|A2yjYNBd5i?wdpQA%`z$9=7>&`25PlRy;?p{G8`fbL6Dv z5xt%xLRE9GpFHBS=17pu(U6#*izXhR4?>Z;=Z0spfI{qB5gljljkK zrH)6GPqgj{_MUn|s@dg|t* z<2(m<8Xi2g=#8cP)06Cq?o3M)BvL#VmG9wW^>hecwegPSj>Yz;x`Wh?1~xdKK5R5` zt%TzS9_fQQuFF21Q3wgSSabGr3yrjkJA+>jD=B0}zwgUXJH#i<%DtmkWdFh1xt1^M@0u-<%0 zKIF!v+H3rbH#=)@*6R8?tv%1waBcG6n+s%bEwa6}B=**_TF~LNtM=Yna~F31knQa) zvA4I?-rh0y_O89R_uRd`@9*scvUd*I-Z>I`=UDBX6LasJ+I#2B-8<+0-nk%q_mb`1 z(3rRht~b~l?_Sw^_s(BI%l~)oy8pggJWU{l>)x}o6C}8InJm2fJa^8^yZ2TLa(;-t z^QbrRgz5dTp!+{!uQM;Xr(dS`op-9_!uz6v4}RA^;F$M-Yu^K&dk^^jJrIz4C}j6g zWS`W(*oURH4<+_Jl;OL_)^|3^YY)2}=b@Dkc@rPWH9nGDj+Yi83dtSBgdCk4&b^o3>{4<*;`@&=AGwzM9g8w(3ZRwjKnmncZ--`+7PHYr;*)MZy zO5MvD>oos8Ju~y)iG`AT6`P9Y&YKXI6@13})rxtqR_%MW=H9Dy|6Xm7dtKjo{==P% z?_ypH==wPMN`C7(Kjq-fLzmBQdKb!RE5LhJh~umfSF8Zf+T&aoZ=A{7c=%ncjBQNy z+8aEDSG2xr%GEcYVIeAXaafe72{|M!I^?^R37oosei^4UE%!Tqy% z~x%T+qwVi&~)SPZgzK?w{@8;#gx1#+5FWw2X#|Sjdz1wX2Y1{vj8z=kTwja8| z^j;!_;pR1+&wg8jwBz3?Q#o(|0S;$FdiH zOq*Xc!~S{E|LODZ{|vo)-}1`iLXPKO9?nP+{I#TCbHxJZb@}JY{{Pxm|9i*$-@Eqz z-gE!=LCfF! z|Nrm{aIo+}cC=tzK-42?n)d|nj+VuSvq3vrZeD)wzre8-yrboOlsjxkOW;z!rB)`I zM+8(J6gWJd+IHk4%^XEaAjA!C~QZIs{gVW=#G|W zcWy#=w8Y-}0^QMa>udH6@Q#+--~Q*`0q+`ID=yrTti z0nt71j+UeS>hYi*EibRGPbaveML49ukxjbfgCmFX6!-;1R|=f@tiOD47H}3RbP@74 z`RF1N98%~i7G3huRU&yxp_^3pmXB^S#a9a5<*L7YbXRB=De_S2Hu>bCGC8Ek6SSkn zQ)BUzA}_7gTRwT|Y`#+Dt+)HjCqg?~;P($XFpHK1IB}bP32+e({a+I3CSCd^&_j7@ zNsyQJ)-ORm##c*%{j9%!2@Y@;Ee#3sHvJkB5*%6@8WvspH8di5YH3(h_SUaqF~wI) z!{e&Iehp7(7A=cNf?PlpS{9i$yYyRR#^R}EQCX|Eev8W4e6=h(Z}-=4(FKP^%VUa8 zn|_Zexg1&^TXwtjdu+wyspWB1ueW}WtNDDjJihMt*YEKS%wiP@P26Tb5?X}ADiYhI z%YGzwC{L?M>eAl!1GJ;1BDv4{8`6%Jlqtbsm8sLB%YLTLNS;=iHY5&I>&ST1^sMhi&ffd?R=)3MP}j&l=&lvB;IKWH zLSc`D{mH`p+Rb;CpHx1+;ZvKz`p(>WCgB~~=QnPUh8RD7_Y3 zBD?6OXOzt5L!AA4v$|INTk-7*U%JeXyU9&^f4KL*pHT5+dCS{inHvj*}^2>%ck#D!vQ)S)OoNN^QGWmsr%$LvC>;M1Flvv92 zuh*YHWQQY@7z6t+)__KCn|Psp3GAO!zY17_1X6Iy;3E3mLy9283^!p}F-CUE(n!M9HM(gAB;tW+?Yl|~U-zGJlc#8z9Oc1DXjb23_(ERPurwKQ-B91uMrv9IF{ zzREg~P{RJU!2{N=id;pl-@!>*0oOD>hnHEn(EU2S#! z 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%0ADa{TIqlqB+j=(JZHM}22zpPx7TL(a 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 -;; Url: https://github.com/alphapapa/org-ql - -;;; Commentary: - -;; This library is part of the package `org-ql'; it's not a standalone -;; library. It displays buffers similar to Org Agenda buffers, based -;; on `org-ql' queries. - -;;; License: - -;; This program is free software; you can redistribute it and/or modify -;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation, either version 3 of the License, or -;; (at your option) any later version. - -;; This program is distributed in the hope that it will be useful, -;; but WITHOUT ANY WARRANTY; without even the implied warranty of -;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -;; GNU General Public License for more details. - -;; You should have received a copy of the GNU General Public License -;; along with this program. If not, see . - -;;; Code: - -(require 'cl-lib) -(require 'map) -(require 'org) -(require 'org-element) -(require 'org-agenda) -(require 'seq) -(require 'rx) - -(require 'org-ql) - -(require 'dash) -(require 's) - -;;;; Compatibility - -(defvar org-super-agenda-auto-selector-keywords) -(defvar org-super-agenda-groups) -(defvar org-super-agenda-mode) -(declare-function org-super-agenda--group-items "ext:org-super-agenda") - -(when (version< org-version "9.2") - (defalias 'org-get-tags #'org-get-tags-at)) - -;;;; Faces - -(defface org-ql-agenda-due-date - '((t (:slant italic :weight bold))) - "Face for due dates in `org-ql-agenda' views." - :group 'org-ql) - -;;;; Variables - -(defvar org-ql-agenda-buffer-name "*Org-QL-Agenda*" - "Name of default `org-ql-agenda' buffer.") - -(defvar org-ql-view-map - (let ((map (copy-keymap org-agenda-mode-map))) - (define-key map "g" #'org-ql-search-refresh) - (define-key map (kbd "C-x C-s") #'org-ql-search-save) - map) - "Keymap for `org-ql-agenda', `org-ql-search', and `org-ql-views' views. -Based on `org-agenda-mode-map'.") - -(defvar org-ql-block-header nil - "A string to override the default header in `org-ql-block' agenda blocks.") - -;; For refreshing results buffers. -(defvar org-ql-buffers-files) -(defvar org-ql-query) -(defvar org-ql-sort) -(defvar org-ql-narrow) -(defvar org-ql-super-groups) -(defvar org-ql-title) - -;;;; Customization - -(defcustom org-ql-views - (list (cons "Agenda-like" (lambda () - (interactive) - (org-ql-search (org-agenda-files) - '(and (not (done)) - (or (habit) - (deadline auto) - (scheduled :to today) - (ts-active :on today))) - :sort '(date priority todo) - :groups (when (boundp org-super-agenda-groups) - org-super-agenda-groups)))) - (cons "Recent entries" #'org-ql-view-recent-items) - (cons "Review (to-do keyword without timestamp in past 2 weeks)" - (lambda () - (interactive) - (org-ql-search (org-agenda-files) - '(and (todo) - (not (ts :from -14))) - :title "Review" - :sort '(date priority todo) - :groups '((:auto-parent t))))) - (cons "Stuck Projects" (lambda () - (interactive) - (org-ql-search (org-agenda-files) - '(and (todo) - (children) - (not (children (todo "NEXT")))) - :title "Stuck Projects" - :sort '(priority date))))) - "Alist of `org-ql-view' commands. -Each value should be a function that calls, -e.g. `org-ql-search' as desired." - :group 'org-ql - :type '(alist :key-type string - :value-type function)) - -;;;; Macros - -;; TODO: DRY these two macros. - -;;;###autoload -(cl-defmacro org-ql-agenda (&rest args) - "Display an agenda-like buffer of entries in FILES that match QUERY. - -FILES-OR-QUERY is a sexp that is evaluated to get the list of -buffers and files to scan. - -QUERY is an `org-ql' query. The query may be passed as -FILES-OR-QUERY and QUERY may be left nil, in which case the list -of files will automatically be set to the value of calling -`org-agenda-files'. - -SORT is passed to `org-ql', which see.. - -NARROW, when non-nil, means to respect narrowing in buffers. -When nil, buffers are widened before being searched. - -BUFFER, when non-nil, is a buffer or buffer name to display the -agenda in, rather than the default. - -SUPER-GROUPS is used to bind variable `org-super-agenda-groups', -which see. If t, the existing value of `org-super-agenda-groups' -is used, rather than binding it locally." - (declare (indent defun) - (advertised-calling-convention (files-or-query &optional query &key sort narrow buffer super-groups title) nil)) - (cl-macrolet ((set-keyword-args (args) - `(setq sort (plist-get ,args :sort) - narrow (plist-get ,args :narrow) - buffer (plist-get ,args :buffer) - super-groups (plist-get ,args :super-groups) - title (plist-get ,args :title)))) - (let ((files '(org-agenda-files)) - query sort narrow buffer super-groups title) - ;; Parse args manually (so we can leave FILES nil for a default argument). - ;; TODO: DRY this and org-ql, I think. - (pcase args - (`(,arg-files ,arg-pred . ,(and rest (guard (keywordp (car rest))))) - ;; Files, query, and keyword args (FIXME: Can I combine this and the next one? Does it - ;; matter if rest is nil or starts with a keyword?) - (setq files arg-files - query arg-pred) - (set-keyword-args rest)) - (`(,arg-pred . ,(and rest (guard (keywordp (car rest))))) - ;; Query and keyword args, no files - (setq query arg-pred) - (set-keyword-args rest)) - (`(,arg-files ,arg-pred) - ;; Files and query, no keywords - (setq files arg-files - query arg-pred)) - (`(,arg-pred) - ;; Only query - (setq query arg-pred))) - (when (eq super-groups t) - (setq super-groups org-super-agenda-groups)) - ;; Call --agenda - `(org-ql-agenda--agenda ,files - ;; TODO: Probably better to just use eval on org-ql rather than reimplementing parts of it here. - ',query - :sort ',sort - :buffer ,buffer - :narrow ,narrow - :super-groups ',super-groups - :title ,title)))) - -;;;; Commands - -;; TODO: This is called `org-ql-search' but it's in org-ql-agenda.el because -;; it uses `org-ql-agenda--agenda'. Maybe this could be better organized. - -;;;###autoload -(cl-defun org-ql-search (buffers-files query &key narrow groups sort title) - "Read QUERY and search with `org-ql'. -Interactively, prompt for these variables: - -BUFFERS-FILES: A list of buffers and/or files to search. -Interactively, may also be: - -- `buffer': search the current buffer -- `all': search all Org buffers -- `agenda': search buffers returned by the function `org-agenda-files' -- An expression which evaluates to a list of files/buffers -- A space-separated list of file or buffer names - -GROUPS: An `org-super-agenda' group set. See variable -`org-super-agenda-groups'. - -NARROW: When non-nil, don't widen buffers before -searching. Interactively, with prefix, leave narrowed. - -SORT: One or a list of `org-ql' sorting functions, like `date' or -`priority'. - -TITLE: An optional string displayed in the header." - (declare (indent defun)) - (interactive (list (pcase-exhaustive (completing-read "Buffers/Files: " - (list 'buffer 'agenda 'all)) - ("agenda" (org-agenda-files)) - ("all" (--select (equal (buffer-local-value 'major-mode it) 'org-mode) - (buffer-list))) - ("buffer" (current-buffer)) - ((and form (guard (rx bos "("))) (-flatten (eval (read form)))) - (else (s-split (rx (1+ space)) else))) - (read-minibuffer "Query: ") - :narrow (eq current-prefix-arg '(4)) - :groups (pcase (completing-read "Group by: " - (append (list "Don't group" - "Global groups") - (when (bound-and-true-p org-super-agenda-auto-selector-keywords) - (cl-loop for type in org-super-agenda-auto-selector-keywords - collect (substring (symbol-name type) 6))))) - ("Global groups" org-super-agenda-groups) - ("Don't group" nil) - (property (list (list (intern (concat ":auto-" property)))))) - :sort (pcase (completing-read "Sort by: " - (list "Don't sort" - "date" - "deadline" - "priority" - "scheduled" - "todo")) - ("Don't sort" nil) - (sort (intern sort))))) - (org-ql-agenda--agenda buffers-files - query - :narrow narrow - :sort sort - :super-groups groups - :title title - :buffer "*Org QL Search*")) - -(defun org-ql-search-refresh () - "Refresh current `org-ql-search' buffer." - (interactive) - (let ((current-line (buffer-substring-no-properties (line-beginning-position) (line-end-position))) - (old-pos (point))) - (org-ql-agenda--agenda org-ql-buffers-files - org-ql-query - :sort org-ql-sort - :narrow org-ql-narrow - :super-groups org-ql-super-groups - :title org-ql-title - :buffer (current-buffer)) - (goto-char (point-min)) - (or (search-forward current-line nil t) - (goto-char old-pos)) - (beginning-of-line))) - -(defun org-ql-search-save () - "Save current `org-ql-search' buffer to `org-ql-views'." - (interactive) - (let* ((name (read-string "Save view as: ")) - (buffers-files-sexp (cl-etypecase org-ql-buffers-files - (string org-ql-buffers-files) - (list `(list ,@org-ql-buffers-files)) - (null nil))) - (function `(lambda () - (interactive) - (org-ql-search ,buffers-files-sexp - ',org-ql-query - :sort ',org-ql-sort - :narrow ,org-ql-narrow - :groups ',org-ql-super-groups - :title ,name)))) - (map-put org-ql-views name function #'equal) - (customize-set-variable 'org-ql-views org-ql-views) - (customize-mark-to-save 'org-ql-views))) - -;;;###autoload -(defun org-ql-view (&optional view) - "Choose and display a view stored in `org-ql-views'." - (interactive (list (completing-read "View: " (mapcar #'car org-ql-views)))) - (call-interactively (alist-get view org-ql-views nil nil #'string=))) - -;;;###autoload -(cl-defun org-ql-view-recent-items - (&key days type - (files (org-agenda-files)) - (groups '((:auto-parent t) - (:auto-todo t)))) - "Show items in FILES from last DAYS days with timestamps of TYPE. -TYPE may be `ts', `ts-active', `ts-inactive', `clocked', or -`closed'." - (interactive (list :days (read-number "Days: ") - :type (->> '(ts ts-active ts-inactive clocked closed) - (completing-read "Timestamp type: ") - intern))) - ;; It doesn't make much sense to use other date-based selectors to - ;; look into the past, so to prevent confusion, we won't allow them. - (-let* ((query (pcase-exhaustive type - ((or 'ts 'ts-active 'ts-inactive) - ;; These predicates look forward by default, so we must invert the number. - `(,type :from ,(- days) :to 0)) - ((or 'clocked 'closed) - `(,type :from ,days :to 0))))) - (org-ql-search files - query - :title "Recent items" - :sort '(date priority todo) - :groups groups))) - -;;;###autoload -(cl-defun org-ql-sparse-tree (query &key keep-previous (buffer (current-buffer))) - "Show a sparse tree for QUERY in BUFFER and return number of results. -The tree will show the lines where the query matches, and any -other context defined in `org-show-context-detail', which see. - -QUERY is an `org-ql' query sexp (quoted, since this is a -function). BUFFER defaults to the current buffer. - -When KEEP-PREVIOUS is non-nil (interactively, with prefix), the -outline is not reset to the overview state before finding -matches, which allows stacking calls to this command. - -Runs `org-occur-hook' after making the sparse tree." - ;; Code based on `org-occur'. - ;; TODO: Use `helm-org-ql' plain-text query processing. - (interactive (list (read-minibuffer "Query: ") - :keep-previous current-prefix-arg)) - (with-current-buffer buffer - (unless keep-previous - ;; We don't do highlighting, because queries aren't regexps, but - ;; we remove existing `org-occur' highlights, just in case. - (org-remove-occur-highlights nil nil t) - (org-overview)) - (let ((num-results 0)) - (org-ql-select buffer query - :action (lambda () - (org-show-context 'occur-tree) - (cl-incf num-results))) - (unless org-sparse-tree-open-archived-trees - (org-hide-archived-subtrees (point-min) (point-max))) - (run-hooks 'org-occur-hook) - (unless (get-buffer-window buffer) - (pop-to-buffer buffer)) - (message "%d matches" num-results) - num-results))) - -;;;; Functions - -(cl-defun org-ql-agenda--agenda (buffers-files query &key entries strings sort buffer narrow super-groups title) - "FIXME: Docstring" - ;; TODO: Rename `entries' to `elements'. - (declare (indent defun)) - (when (and super-groups (not org-super-agenda-mode)) - (user-error "`org-super-agenda-mode' must be activated to use grouping")) - (when (and entries strings) - (user-error "Only one of ENTRIES or STRINGS may be provided")) - (let* ((org-super-agenda-groups super-groups) - (buffer (cl-etypecase buffer - (string (org-ql-agenda--buffer buffer)) - (null (org-ql-agenda--buffer buffer)) - (buffer buffer))) - (inhibit-read-only t) - string) - (cond (entries) - (strings (setf string (s-join "\n" strings))) - (query (setf entries (org-ql-select buffers-files - query - :sort sort - :narrow narrow - :action 'element-with-markers))) - (t (user-error "One of QUERY, ENTRIES, or STRINGS must be provided"))) - (unless string - (setf string (--> entries - (mapcar #'org-ql-agenda--format-element it) - (cond ((bound-and-true-p org-super-agenda-mode) (org-super-agenda--group-items it)) - (t it)) - (s-join "\n" it)))) - (with-current-buffer buffer - (use-local-map org-ql-view-map) - ;; Prepare buffer, saving data for refreshing. - (setq-local org-ql-buffers-files buffers-files) - (setq-local org-ql-query query) - (setq-local org-ql-sort sort) - (setq-local org-ql-narrow narrow) - (setq-local org-ql-super-groups super-groups) - (setq-local org-ql-title title) - (setq-local header-line-format (org-ql-agenda--header-line-format buffers-files query title)) - ;; Clear buffer, insert entries, etc. - (erase-buffer) - (insert string) - (pop-to-buffer (current-buffer)) - (org-agenda-finalize) - (goto-char (point-min))))) - -(defun org-ql-agenda-block (query) - "Insert items for QUERY into current buffer. -QUERY should be an `org-ql' query form. Intended to be used as a -user-defined function in `org-agenda-custom-commands'. QUERY -corresponds to the `match' item in the custom command form. - -Like other agenda block commands, it searches files returned by -function `org-agenda-files'. Inserts a newline after the block. - -If `org-ql-block-header' is non-nil, it is used as the header -string for the block, otherwise a the header is formed -automatically from the query." - (when-let* ((from (org-agenda-files nil 'ifmode)) - (items (org-ql-select from - query :action 'element-with-markers))) - ;; Not sure if calling the prepare function is necessary, but let's follow the pattern. - (org-agenda-prepare) - ;; TODO: `org-agenda--insert-overriding-header' is from an Org version newer than - ;; I'm using. Should probably declare it as a minimum Org version after upgrading. - ;; (org-agenda--insert-overriding-header (or org-ql-block-header (org-ql-agenda--header-line-format from query))) - (insert (org-add-props (or org-ql-block-header (org-ql-agenda--header-line-format from query)) - nil 'face 'org-agenda-structure) "\n") - ;; Calling `org-agenda-finalize' should be unnecessary, because in a "series" agenda, - ;; `org-agenda-multi' is bound non-nil, in which case `org-agenda-finalize' does nothing. - ;; But we do call `org-agenda-finalize-entries', which allows `org-super-agenda' to work. - (->> items - (-map #'org-ql-agenda--format-element) - org-agenda-finalize-entries - insert) - (insert "\n"))) - -;;;###autoload -(defalias 'org-ql-block 'org-ql-agenda-block) - -(defun org-ql-agenda--header-line-format (buffers-files query &optional title) - "Return header-line-format for BUFFERS-FILES and QUERY." - (let* ((title (if title - (concat (propertize "View:" 'face 'org-agenda-structure) - title " ") - "")) - (query-formatted (format "%S" query)) - (query-formatted (propertize (org-ql-agenda--font-lock-string 'emacs-lisp-mode query-formatted) - 'help-echo query-formatted)) - (query-width (length query-formatted)) - (available-width (max 0 (- (window-width) - (length "In: ") - (length "Query: ") - query-width 4))) - (buffers-files-formatted (format "%S" buffers-files)) - (buffers-files-formatted (propertize (->> buffers-files-formatted - (org-ql-agenda--font-lock-string 'emacs-lisp-mode) - (s-truncate available-width)) - 'help-echo buffers-files-formatted))) - (concat title - (propertize "Query:" 'face 'org-agenda-structure) - query-formatted " " - (propertize "In:" 'face 'org-agenda-structure) - buffers-files-formatted))) - -(defun org-ql-agenda--font-lock-string (mode s) - "Return string S font-locked according to MODE." - ;; TODO: Is this the proper way to do this? It works, but I feel like there must be a built-in way... - (with-temp-buffer - (delay-mode-hooks - (insert s) - (funcall mode) - (font-lock-ensure) - (buffer-string)))) - -(defun org-ql-agenda--buffer (&optional name) - "Return Agenda NG buffer, creating it if necessary. -If NAME is non-nil, return buffer by that name instead of using -default buffer." - (with-current-buffer (get-buffer-create (or name org-ql-agenda-buffer-name)) - (unless (eq major-mode 'org-agenda-mode) - (org-agenda-mode)) - (current-buffer))) - -(defun org-ql-agenda--format-relative-date (difference) - ;; MAYBE: Make this a `defsubst'. - "Return relative date string for DIFFERENCE. -DIFFERENCE should be an integer number of days, positive for -dates in the past, and negative for dates in the future." - (cond ((> difference 0) - (format "%sd ago" difference)) - ((< difference 0) - (format "in %sd" (* -1 difference))) - (t "today"))) - -;;;; Faces/properties - -(defun org-ql-agenda--format-element (element) - ;; This essentially needs to do what `org-agenda-format-item' does, - ;; which is a lot. We are a long way from that, but it's a start. - "Return ELEMENT as a string with text-properties set by its property list. -Its property list should be the second item in the list, as -returned by `org-element-parse-buffer'. If ELEMENT is nil, -return an empty string." - (if (not element) - "" - (let* ((properties (cadr element)) - ;; Remove the :parent property, which so bloats the size of - ;; the properties list that it makes it essentially - ;; impossible to debug, because Emacs takes approximately - ;; forever to show it in the minibuffer or with - ;; `describe-text-properties'. TODO: Shouldn't be necessary - ;; anymore since we're not parsing the whole buffer. - - ;; Also, remove ":" from key symbols. TODO: It would be - ;; better to avoid this somehow. At least, we should use a - ;; function to convert plists to alists, if possible. - (properties (cl-loop for (key val) on properties by #'cddr - for symbol = (intern (cl-subseq (symbol-name key) 1)) - unless (member symbol '(parent)) - append (list symbol val))) - ;; TODO: --add-faces is used to add the :relative-due-date property, but that fact is - ;; hidden by doing it through --add-faces (which calls --add-scheduled-face and - ;; --add-deadline-face), and doing it in this form that gets the title hides it even more. - ;; Adding the relative due date property should probably be done explicitly and separately - ;; (which would also make it easier to do it independently of faces, etc). - (title (--> (org-ql-agenda--add-faces element) - (org-element-property :raw-value it) - (org-link-display-format it))) - (todo-keyword (-some--> (org-element-property :todo-keyword element) - (org-ql-agenda--add-todo-face it))) - ;; TODO: Figure out whether I should use `org-agenda-use-tag-inheritance' or `org-use-tag-inheritance', etc. - (tag-list (if org-use-tag-inheritance - ;; NOTE: Tag inheritance cannot be used here unless markers are added, otherwise - ;; we can't go to the item's buffer to look for inherited tags. (Or does - ;; `org-element-headline-parser' parse inherited tags too? I forget...) - (if-let ((marker (or (org-element-property :org-hd-marker element) - (org-element-property :org-marker element)))) - (with-current-buffer (marker-buffer marker) - ;; I wish `org-get-tags' used the correct buffer automatically. - (org-get-tags marker (not org-use-tag-inheritance))) - ;; No marker found. - ;; MAYBE: Issue some kind of warning when no marker is found, because it's - ;; likely a mistake. But we don't want to be annoying in case it's intentional. - (org-element-property :tags element)) - (org-element-property :tags element))) - (tag-string (when tag-list - (--> tag-list - (s-join ":" it) - (s-wrap it ":") - (org-add-props it nil 'face 'org-tag)))) - ;; (category (org-element-property :category element)) - (priority-string (-some->> (org-element-property :priority element) - (char-to-string) - (format "[#%s]") - (org-ql-agenda--add-priority-face))) - (habit-property (org-with-point-at (org-element-property :begin element) - (when (org-is-habit-p) - (org-habit-parse-todo)))) - (due-string (pcase (org-element-property :relative-due-date element) - ('nil "") - (string (format " %s " (org-add-props string nil 'face 'org-ql-agenda-due-date))))) - (string (s-join " " (-non-nil (list todo-keyword priority-string title due-string tag-string))))) - (remove-list-of-text-properties 0 (length string) '(line-prefix) string) - ;; Add all the necessary properties and faces to the whole string - (--> string - ;; TODO: Use agenda-like format strings. - (concat " " it) - (org-add-props it properties - 'todo-state todo-keyword - 'tags tag-list - 'org-habit-p habit-property))))) - -(defun org-ql-agenda--add-faces (element) - "Return ELEMENT with deadline and scheduled faces added." - (->> element - (org-ql-agenda--add-scheduled-face) - (org-ql-agenda--add-deadline-face))) - -(defun org-ql-agenda--add-priority-face (string) - "Return STRING with priority face added." - (when (string-match "\\(\\[#\\(.\\)\\]\\)" string) - (let ((face (org-get-priority-face (string-to-char (match-string 2 string))))) - (org-add-props string nil 'face face 'font-lock-fontified t)))) - -(defun org-ql-agenda--add-scheduled-face (element) - "Add faces to ELEMENT's title for its scheduled status." - ;; NOTE: Also adding prefix - (if-let ((scheduled-date (org-element-property :scheduled element))) - (let* ((todo-keyword (org-element-property :todo-keyword element)) - (today-day-number (org-today)) - ;; (current-day-number - ;; NOTE: Not currently used, but if we ever implement a more "traditional" agenda that - ;; shows perspective of multiple days at once, we'll need this, so I'll leave it for now. - ;; ;; NOTE: This is supposed to be the, shall we say, - ;; ;; pretend, or perspective, day number that this pass - ;; ;; through the agenda is being made for. We need to - ;; ;; either set this in the calling function, set it here, - ;; ;; or accomplish this in a different way. See - ;; ;; `org-agenda-get-scheduled' and where `date' is set in - ;; ;; `org-agenda-list'. - ;; today-day-number) - (scheduled-day-number (org-time-string-to-absolute - (org-element-timestamp-interpreter scheduled-date 'ignore))) - (difference-days (- today-day-number scheduled-day-number)) - (relative-due-date (org-add-props (org-ql-agenda--format-relative-date difference-days) nil - 'help-echo (org-element-property :raw-value scheduled-date))) - ;; NOTE: Unused for now: - ;; (show-all (or (eq org-agenda-repeating-timestamp-show-all t) - ;; (member todo-keyword org-agenda-repeating-timestamp-show-all))) - ;; NOTE: Unused for now: (sexp-p (string-prefix-p "%%" raw-value)) - ;; NOTE: Unused for now: (raw-value (org-element-property :raw-value scheduled-date)) - ;; NOTE: I don't remember what `repeat-day-number' was for, but we aren't using it. - ;; But I'll leave it here for now. - ;; (repeat-day-number (cond (sexp-p (org-time-string-to-absolute scheduled-date)) - ;; ((< today-day-number scheduled-day-number) scheduled-day-number) - ;; (t (org-time-string-to-absolute - ;; raw-value - ;; (if show-all - ;; current-day-number - ;; today-day-number) - ;; 'future - ;; ;; NOTE: I don't like - ;; ;; calling `current-buffer' - ;; ;; here. If the element has - ;; ;; a marker, we should use - ;; ;; that. - ;; (current-buffer) - ;; (org-element-property :begin element))))) - (face (cond ((member todo-keyword org-done-keywords) 'org-agenda-done) - ((= today-day-number scheduled-day-number) 'org-scheduled-today) - ((> today-day-number scheduled-day-number) 'org-scheduled-previously) - (t 'org-scheduled))) - (title (--> (org-element-property :raw-value element) - (org-add-props it nil - 'face face))) - (properties (--> (cadr element) - (plist-put it :title title) - (plist-put it :relative-due-date relative-due-date)))) - (list (car element) - properties)) - ;; Not scheduled - element)) - -(defun org-ql-agenda--add-deadline-face (element) - "Add faces to ELEMENT's title for its deadline status. -Also store relative due date as string in `:relative-due-date' -property." - ;; FIXME: In my config, doesn't apply orange for approaching deadline the same way the Org Agenda does. - (if-let ((deadline-date (org-element-property :deadline element))) - (let* ((today-day-number (org-today)) - (deadline-day-number (org-time-string-to-absolute - (org-element-timestamp-interpreter deadline-date 'ignore))) - (difference-days (- today-day-number deadline-day-number)) - (relative-due-date (org-add-props (org-ql-agenda--format-relative-date difference-days) nil - 'help-echo (org-element-property :raw-value deadline-date))) - ;; NOTE: Unused for now: (todo-keyword (org-element-property :todo-keyword element)) - ;; NOTE: Unused for now: (done-p (member todo-keyword org-done-keywords)) - ;; NOTE: Unused for now: (today-p (= today-day-number deadline-day-number)) - (deadline-passed-fraction (--> (- deadline-day-number today-day-number) - (float it) - (/ it (max org-deadline-warning-days 1)) - (- 1 it))) - (face (org-agenda-deadline-face deadline-passed-fraction)) - (title (--> (org-element-property :raw-value element) - (org-add-props it nil - 'face face))) - (properties (--> (cadr element) - (plist-put it :title title) - (plist-put it :relative-due-date relative-due-date)))) - (list (car element) - properties)) - ;; No deadline - element)) - -(defun org-ql-agenda--add-todo-face (keyword) - "Return KEYWORD with TODO face added." - (when-let ((face (org-get-todo-face keyword))) - (org-add-props keyword nil 'face face))) - -;;;; Footer - -(provide 'org-ql-agenda) - -;;; org-ql-agenda.el ends here diff --git a/org-ql-search.el b/org-ql-search.el new file mode 100644 index 0000000..8adfd93 --- /dev/null +++ b/org-ql-search.el @@ -0,0 +1,191 @@ +;;; org-ql-search.el --- Search commands for org-ql -*- lexical-binding: t; -*- + +;; Author: Adam Porter +;; Url: https://github.com/alphapapa/org-ql + +;;; Commentary: + +;; This library is part of the package `org-ql'; it's not a standalone +;; library. It implements search commands for Org buffers. + +;;; License: + +;; This program is free software; you can redistribute it and/or modify +;; it under the terms of the GNU General Public License as published by +;; the Free Software Foundation, either version 3 of the License, or +;; (at your option) any later version. + +;; This program is distributed in the hope that it will be useful, +;; but WITHOUT ANY WARRANTY; without even the implied warranty of +;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;; GNU General Public License for more details. + +;; You should have received a copy of the GNU General Public License +;; along with this program. If not, see . + +;;; Code: + +(require 'cl-lib) + +(require 'dash) +(require 'org-super-agenda) +(require 's) + +(require 'org-ql) +(require 'org-ql-view) + +;;;; Commands + +;;;###autoload +(cl-defun org-ql-sparse-tree (query &key keep-previous (buffer (current-buffer))) + "Show a sparse tree for QUERY in BUFFER and return number of results. +The tree will show the lines where the query matches, and any +other context defined in `org-show-context-detail', which see. + +QUERY is an `org-ql' query sexp (quoted, since this is a +function). BUFFER defaults to the current buffer. + +When KEEP-PREVIOUS is non-nil (interactively, with prefix), the +outline is not reset to the overview state before finding +matches, which allows stacking calls to this command. + +Runs `org-occur-hook' after making the sparse tree." + ;; Code based on `org-occur'. + ;; TODO: Use `helm-org-ql' plain-text query processing. + (interactive (list (read-minibuffer "Query: ") + :keep-previous current-prefix-arg)) + (with-current-buffer buffer + (unless keep-previous + ;; We don't do highlighting, because queries aren't regexps, but + ;; we remove existing `org-occur' highlights, just in case. + (org-remove-occur-highlights nil nil t) + (org-overview)) + (let ((num-results 0)) + (org-ql-select buffer query + :action (lambda () + (org-show-context 'occur-tree) + (cl-incf num-results))) + (unless org-sparse-tree-open-archived-trees + (org-hide-archived-subtrees (point-min) (point-max))) + (run-hooks 'org-occur-hook) + (unless (get-buffer-window buffer) + (pop-to-buffer buffer)) + (message "%d matches" num-results) + num-results))) + +;;;###autoload +(cl-defun org-ql-search (buffers-files query &key narrow super-groups sort title + (buffer org-ql-view-buffer)) + "Read QUERY and search with `org-ql'. +Interactively, prompt for these variables: + +BUFFERS-FILES: A list of buffers and/or files to search. +Interactively, may also be: + +- `buffer': search the current buffer +- `all': search all Org buffers +- `agenda': search buffers returned by the function `org-agenda-files' +- An expression which evaluates to a list of files/buffers +- A space-separated list of file or buffer names + +SUPER-GROUPS: An `org-super-agenda' group set. See variable +`org-super-agenda-groups'. + +NARROW: When non-nil, don't widen buffers before +searching. Interactively, with prefix, leave narrowed. + +SORT: One or a list of `org-ql' sorting functions, like `date' or +`priority'. + +TITLE: An optional string displayed in the header. + +BUFFER: Optionally, a buffer or name of a buffer in which to +display the results. By default, the value of +`org-ql-view-buffer' is used, and a new buffer is created if +necessary." + (declare (indent defun)) + (interactive (list (pcase-exhaustive (completing-read "Buffers/Files: " + (list 'buffer 'agenda 'all) + nil t) + ("agenda" (org-agenda-files)) + ("all" (--select (equal (buffer-local-value 'major-mode it) 'org-mode) + (buffer-list))) + ("buffer" (current-buffer)) + ((and form (guard (rx bos "("))) (-flatten (eval (read form)))) + (else (s-split (rx (1+ space)) else))) + (read-minibuffer "Query: ") + :narrow (eq current-prefix-arg '(4)) + :super-groups (when (bound-and-true-p org-super-agenda-auto-selector-keywords) + (pcase (completing-read "Group by: " + (append (list "Don't group" + "Global super-groups") + (cl-loop for type in org-super-agenda-auto-selector-keywords + collect (substring (symbol-name type) 6)))) + ("Global super-groups" org-super-agenda-groups) + ("Don't group" nil) + (property (list (list (intern (concat ":auto-" property))))))) + :sort (pcase (completing-read "Sort by: " + (list "Don't sort" + "date" + "deadline" + "priority" + "scheduled" + "todo")) + ("Don't sort" nil) + (sort (intern sort))))) + (let* ((results (org-ql-select buffers-files query + :action 'element-with-markers + :narrow narrow + :sort sort)) + (strings (-map #'org-ql-view--format-element results)) + (title (or title (format "%S in %S" query buffers-files))) + (buffer (or buffer (format "%s %s*" org-ql-view-buffer-name-prefix title))) + (header (org-ql-view--header-line-format buffers-files query title)) + ;; Bind variables for `org-ql-view--display' to set. + (org-ql-view-buffers-files buffers-files) + (org-ql-view-query query) + (org-ql-view-sort sort) + (org-ql-view-narrow narrow) + (org-ql-view-super-groups super-groups) + (org-ql-view-title title)) + (when super-groups + (let ((org-super-agenda-groups super-groups)) + (setf strings (org-super-agenda--group-items strings)))) + (org-ql-view--display :buffer buffer :header header + :string (s-join "\n" strings)))) + +(defun org-ql-search-block (query) + "Insert items for QUERY into current buffer. +QUERY should be an `org-ql' query form. Like other agenda block +commands, it searches files returned by function +`org-agenda-files'. Intended to be used as a user-defined +function in `org-agenda-custom-commands'. QUERY corresponds to +the `match' item in the custom command form. Inserts a newline +after the block." + (when-let* ((from (org-agenda-files nil 'ifmode)) + (items (org-ql-select from query + :action 'element-with-markers))) + ;; Not sure if calling the prepare function is necessary, but let's follow the pattern. + (org-agenda-prepare) + ;; FIXME: `org-agenda--insert-overriding-header' is from an Org version newer than + ;; I'm using. Should probably declare it as a minimum Org version after upgrading. + ;; (org-agenda--insert-overriding-header (org-ql-search--header-line-format from query)) + (insert (org-add-props (org-ql-view--header-line-format from query) + nil 'face 'org-agenda-structure) "\n") + ;; Calling `org-agenda-finalize' should be unnecessary, because in a "series" agenda, + ;; `org-agenda-multi' is bound non-nil, in which case `org-agenda-finalize' does nothing. + ;; But we do call `org-agenda-finalize-entries', which allows `org-super-agenda' to work. + (->> items + (-map #'org-ql-view--format-element) + org-agenda-finalize-entries + insert) + (insert "\n"))) + +;;;###autoload +(defalias 'org-ql-block 'org-ql-search-block) + +;;;; Footer + +(provide 'org-ql-search) + +;;; org-ql-search.el ends here diff --git a/org-ql-view.el b/org-ql-view.el new file mode 100644 index 0000000..b55de60 --- /dev/null +++ b/org-ql-view.el @@ -0,0 +1,608 @@ +;;; org-ql-view.el --- Agenda-like view based on org-ql -*- lexical-binding: t; -*- + +;; Author: Adam Porter +;; Url: https://github.com/alphapapa/org-ql + +;;; Commentary: + +;; This library is part of the package `org-ql'; it's not a standalone +;; library. It displays strings in buffers similar to Org Agenda +;; buffers. + +;;; License: + +;; This program is free software; you can redistribute it and/or modify +;; it under the terms of the GNU General Public License as published by +;; the Free Software Foundation, either version 3 of the License, or +;; (at your option) any later version. + +;; This program is distributed in the hope that it will be useful, +;; but WITHOUT ANY WARRANTY; without even the implied warranty of +;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;; GNU General Public License for more details. + +;; You should have received a copy of the GNU General Public License +;; along with this program. If not, see . + +;;; Code: + +;;;; Requirements + +(require 'cl-lib) +(require 'map) +(require 'org) +(require 'org-element) +(require 'org-agenda) +(require 'seq) +(require 'rx) +(require 'subr-x) + +(require 'org-ql) + +(require 'dash) +(require 's) +(require 'org-super-agenda) +(require 'ov) + +;;;; Compatibility + +(when (version< org-version "9.2") + (defalias 'org-get-tags #'org-get-tags-at)) + +;;;; Faces + +(defface org-ql-view-due-date + '((t (:slant italic :weight bold))) + "Face for due dates in `org-ql-view' views." + :group 'org-ql) + +;;;; Variables + +(defvar org-ql-view-buffer-name-prefix "*Org QL View:" + "Prefix for names of `org-ql-view' buffers.") + +(defvar org-ql-view-buffer nil + "Optionally set the target buffer for `org-ql-view' commands. +Includes `org-ql-search'. Helpful when passing a buffer argument +down a chain of function calls would be awkward.") + +(defvar org-ql-view-map + (let ((map (copy-keymap org-agenda-mode-map))) + (define-key map "g" #'org-ql-view-refresh) + (define-key map (kbd "C-x C-s") #'org-ql-view-save) + map) + "Keymap for `org-ql-view', `org-ql-search', and `org-ql-views' views. +Based on `org-agenda-mode-map'.") + +(defvar org-ql-view-list-map + (let ((map (make-sparse-keymap))) + (define-key map (kbd "RET") #'org-ql-view-switch) + (define-key map [mouse-1] #'org-ql-view-switch) + (define-key map "c" #'org-ql-view-customize) + map) + "Keymap for `org-ql-view' view list buffer.") + +;; For refreshing results buffers. +(defvar-local org-ql-view-buffers-files nil) +(defvar-local org-ql-view-query nil) +(defvar-local org-ql-view-sort nil) +(defvar-local org-ql-view-narrow nil) +(defvar-local org-ql-view-super-groups nil) +(defvar-local org-ql-view-title nil) + +;;;; Customization + +(defgroup org-ql-view nil + "Options for `org-ql-view'." + :group 'org-ql) + +(defcustom org-ql-view-display-buffer-action nil + "Action argument passed through `pop-to-buffer' to `display-buffer', which see." + :type '(cons function alist)) + +(defcustom org-ql-view-list-side 'right + "Which side to show the view list on." + :type '(choice (const :tag "Left" left) + (const :tag "Right" right))) + +(defcustom org-ql-view-no-other-window nil + "Whether `other-window' commands should cycle through the `org-ql-views' sidebar window. +See info node `(elisp)Cyclic Window Ordering'." + :type 'boolean) + +(defcustom org-ql-view-list-slot 0 + "Side-window slot for Org QL Views list buffer." + :type 'integer) + +(defcustom org-ql-views + (list (cons "Recent entries" #'org-ql-view-recent-items) + (cons "Review (to-do keyword without timestamp in past 2 weeks)" + (list :buffers-files #'org-agenda-files + :query '(and (todo) + (not (ts :from -14))) + :title "Review" + :sort '(date priority todo) + :super-groups '((:auto-parent t)))) + (cons "Stuck Projects" (list :buffers-files #'org-agenda-files + :query '(and (todo) + (children) + (not (children (todo "NEXT")))) + :title "Stuck Projects" + :sort '(priority date) + :super-groups 'org-super-agenda-groups)) + (cons "Agenda-like" (list :buffers-files #'org-agenda-files + :query '(and (not (done)) + (or (habit) + (deadline auto) + (scheduled :to today) + (ts-active :on today))) + :sort '(date priority todo) + :super-groups 'org-super-agenda-groups + :title "Agenda-like")) + (cons "Today" (list :buffers-files #'org-agenda-files + :query '(ts-active :on today) + :title "Today" + :super-groups 'org-super-agenda-groups + :sort '(priority))) + (cons "This week" (lambda () + "Show items with an active timestamp during this calendar week." + (interactive) + (let* ((beg-of-week (ts-adjust 'day (- (ts-dow (ts-now))) (ts-now))) + (end-of-week (ts-adjust 'day (- 6 (ts-dow (ts-now))) (ts-now)))) + (org-ql-search (org-agenda-files) + `(ts-active :from ,beg-of-week + :to ,end-of-week) + :title "This week" + :super-groups 'org-super-agenda-groups + :sort '(priority))))) + (cons "Next week" (lambda () + "Show items with an active timestamp during the next calendar week." + (interactive) + (let* ((ts (ts-adjust 'day 7 (ts-now))) + (beg-of-week (ts-adjust 'day (- (ts-dow (ts-now))) ts)) + (end-of-week (ts-adjust 'day (- 6 (ts-dow (ts-now))) ts))) + (org-ql-search (org-agenda-files) + `(ts-active :from ,beg-of-week + :to ,end-of-week) + :title "Next week" + :super-groups 'org-super-agenda-groups + :sort '(priority)))))) + "Alist of `org-ql-view' commands." + :type + '(alist + :key-type (string :tag "Name") + :value-type + (choice (function :tag "Function which calls `org-ql-search'") + (plist :tag "Org QL Search" + :options (((const :tag "Buffers/files" :buffers-files) + (choice (function-item :tag "Org Agenda Files" org-agenda-files) + (repeat :tag "Buffer or file names" string) + (function :tag "Function which returns a list of buffers and/or files" list))) + ((const :tag "Query" :query) (sexp :tag "org-ql query sexp")) + ((const :tag "Search title" :title) string) + ((const :tag "Sort-by" :sort) (repeat + (choice (const date) + (const deadline) + (const scheduled) + (const todo) + (const priority) + (const random) + (function :tag "Custom comparator")))) + ((const :tag "Group-by" :super-groups) + (choice (variable-item :tag "Default org-super-agenda groups" org-super-agenda-groups) + (sexp :tag "org-super-agenda grouping expression") + (variable :tag "Variable holding org-super-agenda grouping expression")))))))) + +;;;; Commands + +;;;###autoload +(defun org-ql-view (&optional name) + "Choose and display the `org-ql-views' view NAME. +Interactively, prompt for NAME." + (interactive (list (completing-read "View: " (mapcar #'car org-ql-views)))) + (let* ((view (alist-get name org-ql-views nil nil #'string=)) + (window (--find (string-prefix-p org-ql-view-buffer-name-prefix (buffer-name (window-buffer it))) + (window-list))) + (org-ql-view-display-buffer-action (when (and window (not org-ql-view-display-buffer-action)) + (cons #'display-buffer-same-window nil)))) + (when window + (select-window window)) + (cl-typecase view + (function (call-interactively view)) + (list (-let* (((&plist :buffers-files :query :sort :narrow :super-groups :title) view) + (buffers-files (cl-typecase buffers-files + (function (funcall buffers-files)) + (list buffers-files))) + (super-groups (cl-typecase super-groups + (symbol (symbol-value super-groups)) + (list super-groups)))) + (org-ql-search buffers-files query + :super-groups super-groups :narrow narrow :sort sort :title title + :buffer org-ql-view-buffer)))))) + +;;;###autoload +(cl-defun org-ql-view-recent-items + (&key num-days (type 'ts) + (files (org-agenda-files)) + (groups '((:auto-parent t) + (:auto-todo t)))) + "Show items in FILES from last NUM-DAYS days with timestamps of TYPE. +TYPE may be `ts', `ts-active', `ts-inactive', `clocked', or +`closed'." + (interactive (list :num-days (read-number "Days: ") + :type (->> '(ts ts-active ts-inactive clocked closed) + (completing-read "Timestamp type: ") + intern))) + ;; It doesn't make much sense to use other date-based selectors to + ;; look into the past, so to prevent confusion, we won't allow them. + (-let* ((query (pcase-exhaustive type + ((or 'ts 'ts-active 'ts-inactive) + `(,type :from ,(- num-days) :to 0)) + ((or 'clocked 'closed) + `(,type :from ,(- num-days) :to 0))))) + (org-ql-search files query + :title "Recent items" + :sort '(date priority todo) + :super-groups groups))) + +;;;###autoload +(cl-defun org-ql-view-sidebar (&key (slot org-ql-view-list-slot)) + "Show `org-ql-view' view list sidebar." + ;; TODO: Update sidebar when `org-ql-views' changes. + (interactive) + (select-window + (or (get-buffer-window (org-ql-view--list-buffer)) + (display-buffer-in-side-window + (org-ql-view--list-buffer) + (list (cons 'side org-ql-view-list-side) + (cons 'slot slot) + (cons 'window-parameters (list (cons 'no-delete-other-windows t) + (cons 'no-other-window org-ql-view-no-other-window)))))))) + +(defun org-ql-view-switch () + "Switch to view at point." + (interactive) + (let ((key (buffer-substring-no-properties (point-at-bol) (point-at-eol)))) + (unless (string-empty-p key) + (ov-clear :org-ql-view-selected) + (ov (point-at-bol) (1+ (point-at-eol)) :org-ql-view-selected t + 'face '(:weight bold :inherit highlight)) + (org-ql-view key)))) + +(defun org-ql-view-refresh () + "Refresh current `org-ql-search' buffer." + (interactive) + (let ((current-line (buffer-substring-no-properties (line-beginning-position) (line-end-position))) + (old-pos (point))) + (org-ql-search org-ql-view-buffers-files + org-ql-view-query + :sort org-ql-view-sort + :narrow org-ql-view-narrow + :super-groups org-ql-view-super-groups + :title org-ql-view-title + :buffer (current-buffer)) + (goto-char (point-min)) + (or (when (search-forward current-line nil t) + (beginning-of-line)) + (goto-char old-pos)))) + +(defun org-ql-view-save () + "Save current `org-ql-search' buffer to `org-ql-views'." + (interactive) + (let* ((name (read-string "Save view as: ")) + (plist (list :buffers-files org-ql-view-buffers-files + :query org-ql-view-query + :sort org-ql-view-sort + :narrow org-ql-view-narrow + :super-groups org-ql-view-super-groups + :title name))) + (map-put org-ql-views name plist #'equal) + (customize-set-variable 'org-ql-views org-ql-views) + (customize-mark-to-save 'org-ql-views))) + +(defun org-ql-view-customize () + "Customize view at point in `org-ql-view-sidebar' buffer." + (interactive) + (let ((key (buffer-substring-no-properties (point-at-bol) (point-at-eol)))) + (customize-option 'org-ql-views) + (search-forward (concat "Name: " key)))) + +;;;; Functions + +(defun org-ql-view--list-buffer () + "Return view list buffer." + (with-current-buffer (get-buffer-create "*Org QL View List*") + (use-local-map org-ql-view-list-map) + (setf buffer-read-only t + mode-line-format nil + header-line-format (propertize " Org QL Views" + 'face 'header-line)) + (let ((inhibit-read-only t)) + (erase-buffer) + (->> org-ql-views + (-map #'car) + (-sort #'string<) + (s-join "\n") + insert)) + (current-buffer))) + +(cl-defun org-ql-view--display (&key (buffer org-ql-view-buffer) header string) + "Display STRING in `org-ql-view' BUFFER. + +BUFFER may be a buffer, or a string naming a buffer, which is +reused if it already exists. `org-ql-view-buffer' is used by +default. + +HEADER is a string displayed in the buffer's header line. + +The following special variables, if non-nil, are set +buffer-locally to preserve their value in the buffer for +subsequent refreshing of the buffer: `org-ql-view-buffers-files', +`org-ql-view-query', `org-ql-view-sort', `org-ql-view-narrow', +`org-ql-view-super-groups', `org-ql-title.'" + (declare (indent defun)) + (let* ((buffer (cl-etypecase buffer + (string (org-ql-view--buffer buffer)) + (null (org-ql-view--buffer buffer)) + (buffer buffer)))) + (with-current-buffer buffer + (use-local-map org-ql-view-map) + ;; Prepare buffer, saving data for refreshing. + (cl-loop for symbol in (list 'org-ql-view-buffers-files 'org-ql-view-query + 'org-ql-view-sort 'org-ql-view-narrow + 'org-ql-view-super-groups 'org-ql-view-title) + do (set (make-local-variable symbol) (symbol-value symbol))) + (setf header-line-format header) + ;; Clear buffer, insert entries, etc. + (let ((inhibit-read-only t)) + (erase-buffer) + (insert string) + (pop-to-buffer (current-buffer) org-ql-view-display-buffer-action) + (org-agenda-finalize) + (goto-char (point-min)))))) + +(defun org-ql-view--header-line-format (buffers-files query &optional title) + "Return header-line-format for BUFFERS-FILES and QUERY." + (let* ((title (if title + (concat (propertize "View:" 'face 'org-agenda-structure) + title " ") + "")) + (query-formatted (format "%S" query)) + (query-formatted (propertize (org-ql-view--font-lock-string 'emacs-lisp-mode query-formatted) + 'help-echo query-formatted)) + (query-width (length query-formatted)) + (available-width (max 0 (- (window-width) + (length "In: ") + (length "Query: ") + query-width 4))) + (buffers-files-formatted (format "%S" buffers-files)) + (buffers-files-formatted (propertize (->> buffers-files-formatted + (org-ql-view--font-lock-string 'emacs-lisp-mode) + (s-truncate available-width)) + 'help-echo buffers-files-formatted))) + (concat title + (propertize "Query:" 'face 'org-agenda-structure) + query-formatted " " + (propertize "In:" 'face 'org-agenda-structure) + buffers-files-formatted))) + +(defun org-ql-view--font-lock-string (mode s) + "Return string S font-locked according to MODE." + ;; FIXME: Is this the proper way to do this? It works, but I feel like there must be a built-in way... + (with-temp-buffer + (delay-mode-hooks + (insert s) + (funcall mode) + (font-lock-ensure) + (buffer-string)))) + +(defun org-ql-view--buffer (&optional name) + "Return `org-ql-view' buffer, creating it if necessary. +If NAME is non-nil, return buffer by that name instead of using +default buffer." + (with-current-buffer (get-buffer-create (or name (concat org-ql-view-buffer-name-prefix "*"))) + (unless (eq major-mode 'org-agenda-mode) + (org-agenda-mode)) + (current-buffer))) + +(defun org-ql-view--format-relative-date (difference) + ;; MAYBE: Make this a `defsubst'. + "Return relative date string for DIFFERENCE. +DIFFERENCE should be an integer number of days, positive for +dates in the past, and negative for dates in the future." + (cond ((> difference 0) + (format "%sd ago" difference)) + ((< difference 0) + (format "in %sd" (* -1 difference))) + (t "today"))) + +;;;; Faces/properties + +(defun org-ql-view--format-element (element) + ;; This essentially needs to do what `org-agenda-format-item' does, + ;; which is a lot. We are a long way from that, but it's a start. + "Return ELEMENT as a string with text-properties set by its property list. +Its property list should be the second item in the list, as +returned by `org-element-parse-buffer'. If ELEMENT is nil, +return an empty string." + (if (not element) + "" + (let* ((properties (cadr element)) + ;; Remove the :parent property, which so bloats the size of + ;; the properties list that it makes it essentially + ;; impossible to debug, because Emacs takes approximately + ;; forever to show it in the minibuffer or with + ;; `describe-text-properties'. FIXME: Shouldn't be necessary + ;; anymore since we're not parsing the whole buffer. + + ;; Also, remove ":" from key symbols. FIXME: It would be + ;; better to avoid this somehow. At least, we should use a + ;; function to convert plists to alists, if possible. + (properties (cl-loop for (key val) on properties by #'cddr + for symbol = (intern (cl-subseq (symbol-name key) 1)) + unless (member symbol '(parent)) + append (list symbol val))) + ;; TODO: --add-faces is used to add the :relative-due-date property, but that fact is + ;; hidden by doing it through --add-faces (which calls --add-scheduled-face and + ;; --add-deadline-face), and doing it in this form that gets the title hides it even more. + ;; Adding the relative due date property should probably be done explicitly and separately + ;; (which would also make it easier to do it independently of faces, etc). + (title (--> (org-ql-view--add-faces element) + (org-element-property :raw-value it) + (org-link-display-format it))) + (todo-keyword (-some--> (org-element-property :todo-keyword element) + (org-ql-view--add-todo-face it))) + ;; FIXME: Figure out whether I should use `org-agenda-use-tag-inheritance' or `org-use-tag-inheritance', etc. + (tag-list (if org-use-tag-inheritance + ;; FIXME: Note that tag inheritance cannot be used here unless markers are + ;; added, otherwise we can't go to the item's buffer to look for inherited + ;; tags. (Or does `org-element-headline-parser' parse inherited tags too? I + ;; forget...) + (if-let ((marker (or (org-element-property :org-hd-marker element) + (org-element-property :org-marker element)))) + (with-current-buffer (marker-buffer marker) + ;; I wish `org-get-tags' used the correct buffer automatically. + (org-get-tags marker (not org-use-tag-inheritance))) + ;; No marker found + (warn "No marker found for item: %s" title) + (org-element-property :tags element)) + (org-element-property :tags element))) + (tag-string (when tag-list + (--> tag-list + (s-join ":" it) + (s-wrap it ":") + (org-add-props it nil 'face 'org-tag)))) + ;; (category (org-element-property :category element)) + (priority-string (-some->> (org-element-property :priority element) + (char-to-string) + (format "[#%s]") + (org-ql-view--add-priority-face))) + (habit-property (org-with-point-at (org-element-property :begin element) + (when (org-is-habit-p) + (org-habit-parse-todo)))) + (due-string (pcase (org-element-property :relative-due-date element) + ('nil "") + (string (format " %s " (org-add-props string nil 'face 'org-ql-view-due-date))))) + (string (s-join " " (-non-nil (list todo-keyword priority-string title due-string tag-string))))) + (remove-list-of-text-properties 0 (length string) '(line-prefix) string) + ;; Add all the necessary properties and faces to the whole string + (--> string + ;; FIXME: Use proper prefix + (concat " " it) + (org-add-props it properties + 'todo-state todo-keyword + 'tags tag-list + 'org-habit-p habit-property))))) + +(defun org-ql-view--add-faces (element) + "Return ELEMENT with deadline and scheduled faces added." + (->> element + (org-ql-view--add-scheduled-face) + (org-ql-view--add-deadline-face))) + +(defun org-ql-view--add-priority-face (string) + "Return STRING with priority face added." + (when (string-match "\\(\\[#\\(.\\)\\]\\)" string) + (let ((face (org-get-priority-face (string-to-char (match-string 2 string))))) + (org-add-props string nil 'face face 'font-lock-fontified t)))) + +(defun org-ql-view--add-scheduled-face (element) + "Add faces to ELEMENT's title for its scheduled status." + ;; NOTE: Also adding prefix + (if-let ((scheduled-date (org-element-property :scheduled element))) + (let* ((todo-keyword (org-element-property :todo-keyword element)) + (today-day-number (org-today)) + ;; (current-day-number + ;; NOTE: Not currently used, but if we ever implement a more "traditional" agenda that + ;; shows perspective of multiple days at once, we'll need this, so I'll leave it for now. + ;; ;; FIXME: This is supposed to be the, shall we say, + ;; ;; pretend, or perspective, day number that this pass + ;; ;; through the agenda is being made for. We need to + ;; ;; either set this in the calling function, set it here, + ;; ;; or accomplish this in a different way. See + ;; ;; `org-agenda-get-scheduled' and where `date' is set in + ;; ;; `org-agenda-list'. + ;; today-day-number) + (scheduled-day-number (org-time-string-to-absolute + (org-element-timestamp-interpreter scheduled-date 'ignore))) + (difference-days (- today-day-number scheduled-day-number)) + (relative-due-date (org-add-props (org-ql-view--format-relative-date difference-days) nil + 'help-echo (org-element-property :raw-value scheduled-date))) + ;; FIXME: Unused for now: + ;; (show-all (or (eq org-agenda-repeating-timestamp-show-all t) + ;; (member todo-keyword org-agenda-repeating-timestamp-show-all))) + ;; FIXME: Unused for now: (sexp-p (string-prefix-p "%%" raw-value)) + ;; FIXME: Unused for now: (raw-value (org-element-property :raw-value scheduled-date)) + ;; FIXME: I don't remember what `repeat-day-number' was for, but we aren't using it. + ;; But I'll leave it here for now. + ;; (repeat-day-number (cond (sexp-p (org-time-string-to-absolute scheduled-date)) + ;; ((< today-day-number scheduled-day-number) scheduled-day-number) + ;; (t (org-time-string-to-absolute + ;; raw-value + ;; (if show-all + ;; current-day-number + ;; today-day-number) + ;; 'future + ;; ;; FIXME: I don't like + ;; ;; calling `current-buffer' + ;; ;; here. If the element has + ;; ;; a marker, we should use + ;; ;; that. + ;; (current-buffer) + ;; (org-element-property :begin element))))) + (face (cond ((member todo-keyword org-done-keywords) 'org-agenda-done) + ((= today-day-number scheduled-day-number) 'org-scheduled-today) + ((> today-day-number scheduled-day-number) 'org-scheduled-previously) + (t 'org-scheduled))) + (title (--> (org-element-property :raw-value element) + (org-add-props it nil + 'face face))) + (properties (--> (cadr element) + (plist-put it :title title) + (plist-put it :relative-due-date relative-due-date)))) + (list (car element) + properties)) + ;; Not scheduled + element)) + +(defun org-ql-view--add-deadline-face (element) + "Add faces to ELEMENT's title for its deadline status. +Also store relative due date as string in `:relative-due-date' +property." + ;; FIXME: In my config, doesn't apply orange for approaching deadline the same way the Org Agenda does. + (if-let ((deadline-date (org-element-property :deadline element))) + (let* ((today-day-number (org-today)) + (deadline-day-number (org-time-string-to-absolute + (org-element-timestamp-interpreter deadline-date 'ignore))) + (difference-days (- today-day-number deadline-day-number)) + (relative-due-date (org-add-props (org-ql-view--format-relative-date difference-days) nil + 'help-echo (org-element-property :raw-value deadline-date))) + ;; FIXME: Unused for now: (todo-keyword (org-element-property :todo-keyword element)) + ;; FIXME: Unused for now: (done-p (member todo-keyword org-done-keywords)) + ;; FIXME: Unused for now: (today-p (= today-day-number deadline-day-number)) + (deadline-passed-fraction (--> (- deadline-day-number today-day-number) + (float it) + (/ it (max org-deadline-warning-days 1)) + (- 1 it))) + (face (org-agenda-deadline-face deadline-passed-fraction)) + (title (--> (org-element-property :raw-value element) + (org-add-props it nil + 'face face))) + (properties (--> (cadr element) + (plist-put it :title title) + (plist-put it :relative-due-date relative-due-date)))) + (list (car element) + properties)) + ;; No deadline + element)) + +(defun org-ql-view--add-todo-face (keyword) + "Return KEYWORD with TODO face added." + (when-let ((face (org-get-todo-face keyword))) + (org-add-props keyword nil 'face face))) + +;;;; Footer + +(provide 'org-ql-view) + +;;; org-ql-view.el ends here diff --git a/org-ql.el b/org-ql.el index e01e13a..3c6a337 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.3-pre -;; Package-Requires: ((emacs "26.1") (dash "2.13") (org "9.0") (s "1.12.0") (ts "0.2")) +;; Package-Requires: ((emacs "26.1") (dash "2.13") (org "9.0") (org-super-agenda "1.2-pre") (ov "1.0.6") (s "1.12.0") (ts "0.2")) ;; Keywords: hypermedia, outlines, Org, agenda ;;; Commentary: @@ -162,7 +162,7 @@ point at the beginning of its heading. It may be: - `element-with-markers': Equivalent to calling `org-element-headline-parser', with markers added using `org-ql--add-markers'. Suitable for formatting with - `org-ql-agenda--format-element', allowing insertion into an Org + `org-ql-view--format-element', allowing insertion into an Org Agenda-like buffer. - A sexp, which will be byte-compiled into a lambda function. @@ -247,7 +247,7 @@ are returned by this function. It may be: - `element-with-markers': Equivalent to `org-element-headline-parser', with markers added using `org-ql--add-markers'. Suitable for formatting with - `org-ql-agenda--format-element', allowing insertion into an Org + `org-ql-view--format-element', allowing insertion into an Org Agenda-like buffer. - A sexp, which will be byte-compiled into a lambda function. From ead91f7894821c3fd396f90a3f7914375d5cd908 Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Mon, 23 Sep 2019 17:44:50 -0500 Subject: [PATCH 041/615] Fix: ts dependency 0.2-pre is the current version, not 0.2. --- org-ql.el | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/org-ql.el b/org-ql.el index 3c6a337..19f8879 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.3-pre -;; Package-Requires: ((emacs "26.1") (dash "2.13") (org "9.0") (org-super-agenda "1.2-pre") (ov "1.0.6") (s "1.12.0") (ts "0.2")) +;; Package-Requires: ((emacs "26.1") (dash "2.13") (org "9.0") (org-super-agenda "1.2-pre") (ov "1.0.6") (s "1.12.0") (ts "0.2-pre")) ;; Keywords: hypermedia, outlines, Org, agenda ;;; Commentary: From 9295ec4c0675c24c0044d7c6f92efe55de5bcb5d Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Thu, 26 Sep 2019 21:33:55 -0500 Subject: [PATCH 042/615] Notes: Update --- notes.org | 299 ++++++++++++++++++++++++++++-------------------------- 1 file changed, 153 insertions(+), 146 deletions(-) diff --git a/notes.org b/notes.org index 2851f48..43569a2 100644 --- a/notes.org +++ b/notes.org @@ -2,87 +2,9 @@ * Tasks -** TODO [#C] Test caching +** TODO [#A] Document sorters -See notes on 1dce9467f25428b5289d3665cd840820969ed65a. It would be good to test the caching explicitly, at least for some queries, because if I were to completely break it again, in such a way that results were stored but retrieval always failed, the tests wouldn't catch it. - -** TODO [#A] Helm command - -In branch =wip/helm-org-ql=. Works really well, should add it and demonstrate it. - -*** TODO Add - -*** TODO Demonstrate - -** TODO [#B] Timeline view - -e.g. as mentioned by Samuel Wales at https://lists.gnu.org/archive/html/emacs-orgmode/2019-08/msg00330.html. Prototype code: - -#+BEGIN_SRC elisp - (cl-defun org-ql-timeline (buffers-files query) - (let ((results - (org-ql-select buffers-files - query :action - (lambda () - (let* ((heading-string - (->> (org-element-headline-parser - (line-end-position)) - org-ql--add-markers - org-ql-agenda--format-element)) - (timestamps - (cl-loop with limit = (org-entry-end-position) - while (re-search-forward org-ts-regexp-both - limit t) - collect (ts-parse-org (match-string 0)))) - (timestamp-strings - (->> timestamps - (-sort #'ts<) - (--map (concat " " (ts-format it)))))) - (s-join "\n" (cons heading-string timestamp-strings)))) - :sort '(date)))) - (org-ql-agenda--agenda nil nil :strings results))) - - (org-ql-timeline (org-agenda-files) - '(and "Emacs" (ts))) - - ;; More timeline-like version, organized by date rather than task. - - (cl-defun org-ql-timeline* (buffers-files query &key filter-ts) - (let* ((ts-ht (ht)) - (results (org-ql-select buffers-files - query - :action (lambda () - (let* ((heading-string - (->> (org-element-headline-parser - (line-end-position)) - org-ql--add-markers - org-ql-agenda--format-element)) - (date-timestamps - ;; Each one set to 00:00:00. - (cl-loop with limit = (org-entry-end-position) - while (re-search-forward org-ts-regexp-both - limit t) - collect (->> (match-string 0) - ts-parse-org - (ts-apply :hour 0 :minute 0 :second 0))))) - (setf date-timestamps (delete-dups date-timestamps)) - (when filter-ts - (setf date-timestamps (cl-remove-if-not filter-ts date-timestamps))) - (--each date-timestamps - (push heading-string (gethash it ts-ht))))))) - (tss-sorted (-sort #'ts< (ht-keys ts-ht))) - (strings (cl-loop for ts in tss-sorted - collect (concat "\n" - (propertize (ts-format "%Y-%m-%d" ts) - 'face 'org-agenda-structure)) - append (ht-get ts-ht ts)))) - (org-ql-agenda--agenda nil nil :strings strings))) - - (org-ql-timeline* (org-agenda-files) - '(ts :from -14) - :filter-ts `(lambda (ts) - (ts<= ,(ts-adjust 'day -14 (ts-now)) ts))) -#+END_SRC +Note that the built-in sorting only works on Org elements, which is the default ~:action~. So if a different action is used, sorting will not work. In that case, the action should be mapped across the Org element results from outside the ~org-ql~ form. ** TODO [#A] Outline path in buffers-files arg @@ -95,10 +17,6 @@ e.g. Also, should support an ~id~ one. -** TODO [#B] Update view screenshots - -e.g. doesn't currently show the =View= header. - ** TODO [#A] Tools for saving queries and accessing them [2/4] + Added example to =examples.org=. @@ -120,6 +38,28 @@ This would be useful for having a menu of saved queries as Org links, or even bo *** TODO Bookmarks +** TODO [#B] Add more sorters? + ++ [ ] =category= ++ [ ] Any date :: e.g. it would search for timestamps (active/inactive?) anywhere in an entry + +** TODO [#B] Default sort + +Would probably be useful to have a default sort option. + +** TODO [#B] Normalize queries + +[2019-07-16 Tue 11:49] This serves two purposes: + +1. Equivalent queries will return the same results from the cache. +2. The selectors that can be converted to the fastest preamble regexps will be sorted first, so the fastest preamble will be used. Although this may not always be straightforward. For example, in a file with only a few =TODO= items, the ~(todo "TODO")~ selector would convert to a preamble that would quickly search through the file. But if there were a thousand =TODO= items, it wouldn't be as much of a benefit, and a ~(regexp "something")~ selector's preamble might be much faster, depending on how many times =something= appears in the file. + +So the second purpose might actually be a drawback, because it would prevent users from optimizing their queries with knowledge of their data. Maybe there should be an option to not normalize queries, so advanced users can order their selectors manually. + +** TODO [#B] Quickly change sorting/grouping in search views + +With caching, the search doesn't need to be repeated, so resorting/regrouping can be very fast. + ** TODO [#B] Recursive queries For lack of a better term. A way to query for certain headings, and then gather results of a different query at each result of the first query, displaying all results in a single view. @@ -196,39 +136,86 @@ This works pretty well. It needs polishing, and some refactoring so items can b -non-nil)))) #+END_SRC -** TODO Add more sorters? +** TODO [#B] Timeline view +:PROPERTIES: +:ID: 00573552-ffe9-4608-8904-7f6c73246b6d +:END: -+ [ ] =category= -+ [ ] Any date :: e.g. it would search for timestamps (active/inactive?) anywhere in an entry +e.g. as mentioned by Samuel Wales at https://lists.gnu.org/archive/html/emacs-orgmode/2019-08/msg00330.html. Prototype code: -** TODO [#B] Default sort +#+BEGIN_SRC elisp + (cl-defun org-ql-timeline (buffers-files query) + (let ((results + (org-ql-select buffers-files + query :action + (lambda () + (let* ((heading-string + (->> (org-element-headline-parser + (line-end-position)) + org-ql--add-markers + org-ql-agenda--format-element)) + (timestamps + (cl-loop with limit = (org-entry-end-position) + while (re-search-forward org-ts-regexp-both + limit t) + collect (ts-parse-org (match-string 0)))) + (timestamp-strings + (->> timestamps + (-sort #'ts<) + (--map (concat " " (ts-format it)))))) + (s-join "\n" (cons heading-string timestamp-strings)))) + :sort '(date)))) + (org-ql-agenda--agenda nil nil :strings results))) -Would probably be useful to have a default sort option. + (org-ql-timeline (org-agenda-files) + '(and "Emacs" (ts))) -** TODO Document sorters + ;; More timeline-like version, organized by date rather than task. -Note that the built-in sorting only works on Org elements, which is the default ~:action~. So if a different action is used, sorting will not work. In that case, the action should be mapped across the Org element results from outside the ~org-ql~ form. + (cl-defun org-ql-timeline* (buffers-files query &key filter-ts) + (let* ((ts-ht (ht)) + (results (org-ql-select buffers-files + query + :action (lambda () + (let* ((heading-string + (->> (org-element-headline-parser + (line-end-position)) + org-ql--add-markers + org-ql-agenda--format-element)) + (date-timestamps + ;; Each one set to 00:00:00. + (cl-loop with limit = (org-entry-end-position) + while (re-search-forward org-ts-regexp-both + limit t) + collect (->> (match-string 0) + ts-parse-org + (ts-apply :hour 0 :minute 0 :second 0))))) + (setf date-timestamps (delete-dups date-timestamps)) + (when filter-ts + (setf date-timestamps (cl-remove-if-not filter-ts date-timestamps))) + (--each date-timestamps + (push heading-string (gethash it ts-ht))))))) + (tss-sorted (-sort #'ts< (ht-keys ts-ht))) + (strings (cl-loop for ts in tss-sorted + collect (concat "\n" + (propertize (ts-format "%Y-%m-%d" ts) + 'face 'org-agenda-structure)) + append (ht-get ts-ht ts)))) + (org-ql-agenda--agenda nil nil :strings strings))) -** TODO Document/figure out tag inheritance + (org-ql-timeline* (org-agenda-files) + '(ts :from -14) + :filter-ts `(lambda (ts) + (ts<= ,(ts-adjust 'day -14 (ts-now)) ts))) +#+END_SRC -I think it should probably be enabled in most cases, to avoid missing results that users would expect to find, but it will reduce performance in some cases, so users should be able to turn it off when they don't need it. +[2019-09-26 Thu 21:28] Would probably make sense to implement this using the view-sections someday. -[2018-06-12 Tue 14:32] The docstring for ~org-map-entries~ says: +** TODO [#B] Update view screenshots -#+BEGIN_QUOTE -If your function needs to retrieve the tags including inherited tags at the *current* entry, you can use the value of the variable ‘org-scanner-tags’ which will be much faster than getting the value with ‘org-get-tags-at’. If your function gets properties with ‘org-entry-properties’ at the *current* entry, bind ‘org-trust-scanner-tags’ to t around the call to ‘org-entry-properties’ to get the same speedup. Note that if your function moves around to retrieve tags and properties at a *different* entry, you cannot use these techniques. -#+END_QUOTE +e.g. doesn't currently show the =View= header. -** TODO Normalize queries - -[2019-07-16 Tue 11:49] This serves two purposes: - -1. Equivalent queries will return the same results from the cache. -2. The selectors that can be converted to the fastest preamble regexps will be sorted first, so the fastest preamble will be used. Although this may not always be straightforward. For example, in a file with only a few =TODO= items, the ~(todo "TODO")~ selector would convert to a preamble that would quickly search through the file. But if there were a thousand =TODO= items, it wouldn't be as much of a benefit, and a ~(regexp "something")~ selector's preamble might be much faster, depending on how many times =something= appears in the file. - -So the second purpose might actually be a drawback, because it would prevent users from optimizing their queries with knowledge of their data. Maybe there should be an option to not normalize queries, so advanced users can order their selectors manually. - -** TODO ~org-agenda-skip-function~ +** TODO [#C] ~org-agenda-skip-function~ As discussed [[https://www.reddit.com/r/emacs/comments/cnrt2d/orgqlblock_integrates_orgql_into_org_agenda/ewi1q36/][here]], this is a cool feature that allows further integration into existing custom agenda commands. Example: @@ -271,17 +258,56 @@ As discussed [[https://www.reddit.com/r/emacs/comments/cnrt2d/orgqlblock_integra I should benchmark it to see how much difference it makes, because all those ~fset~ calls on each heading isn't free. But if a macro were used to rewrite the built-in predicates to their full versions, all of that could be avoided... -** TODO Update commentary +** TODO [#C] Test caching -** TODO [#B] Quickly change sorting/grouping in search views +See notes on 1dce9467f25428b5289d3665cd840820969ed65a. It would be good to test the caching explicitly, at least for some queries, because if I were to completely break it again, in such a way that results were stored but retrieval always failed, the tests wouldn't catch it. -With caching, the search doesn't need to be repeated, so resorting/regrouping can be very fast. +** TODO [#C] Update commentary -** MAYBE Fancier searching for inherited tags +** UNDERWAY [#A] Helm command -When tag inheritance is enabled, and the given tags aren't file-level tags, we could search directly to headings containing the matching tags, and then only do per-heading matching on the subtrees. Sometimes that would be much faster. However, that might make the logic special-cased and complicated. Might need a redesign of the whole matching/predicate system to do cleanly. +In branch =wip/helm-org-ql=. Works really well, should add it and demonstrate it. -** MAYBE "Node" caching +*** TODO Add + +*** TODO Demonstrate + +** UNDERWAY [#B] Implement view with tabulated-list-mode or magit-section + +[2019-09-02 Mon 05:20] Especially with some of the new packages that make =tabulated-list-mode= easier to use, like =navigel=. However, it would probably break grouping, or require some kind of adapter or extension to do grouping, so I don't know if that would work. Something like =magit-section= would be more flexible, and could be recursively grouped, like in =magit-todos=. + +[2019-09-08 Sun 10:06] Came up with a prototype yesterday, in branch =wip/view-section=. Seems to work pretty well. + +One of the things in that branch is =org-ql-item=, which is a struct used to carry data for query results. It seems to work well. + +Another idea for it is to simply store the element from =org-element-headline-parser= in one of its slots, and populate all of the other slots lazily, like =ts=. It already does that for a couple of slots, but I think it makes sense to do it for all of them, to reduce the overhead of making the struct for every query result. + +*** TODO Experiment with =widget= + +The code that powers the customization UI. Has collapsible and customizable widgets. Might be perfect. Might even enable editing items in the list, with functions to make the changes in the source buffers. + +*** Code idea + +Inserting items into a view could look something like this: + +#+BEGIN_SRC elisp + (org-ql-view--insert-items + :header (ts-format "%Y-%m-%d" (ts-now)) + :items (org-ql-query + :select #'org-ql-current-item + :from (org-agenda-files) + :where '(or (deadline auto) + (scheduled :on today) + (ts-active :on today))) + :group-by '(org-ql-item-priority + org-ql-item-todo)) +#+END_SRC + +Items would be structs, and the =group-by= argument would be a list of accessors, like how =magit-todos= works. Arbitrary functions could also be passed to =group-by=, as whatever value the function returns is used to group them. =org-ql-current-item= would be a function that turns the result of =org-element-headline-parser= into the struct. + +Not sure if it should automatically add the number of items to the header, or if that should be done manually. + +** MAYBE [#C] "Node" caching [2019-09-05 Thu 12:30] At each node checked by a predicate, make a struct that stores attributes we can query for, as well as parent node position. This would let us speed up ancestor-based queries, like =(ancestor (todo "WAITING"))=. Ideally it would also serve as the tag hierarchy cache. @@ -383,40 +409,9 @@ This works okay (except the priority accessor needs to be fixed, because Org pri :action #'helm-org-goto-marker)))) #+END_SRC -** UNDERWAY Implement view with tabulated-list-mode or magit-section +** MAYBE [#C] Fancier searching for inherited tags -[2019-09-02 Mon 05:20] Especially with some of the new packages that make =tabulated-list-mode= easier to use, like =navigel=. However, it would probably break grouping, or require some kind of adapter or extension to do grouping, so I don't know if that would work. Something like =magit-section= would be more flexible, and could be recursively grouped, like in =magit-todos=. - -[2019-09-08 Sun 10:06] Came up with a prototype yesterday, in branch =wip/view-section=. Seems to work pretty well. - -One of the things in that branch is =org-ql-item=, which is a struct used to carry data for query results. It seems to work well. - -Another idea for it is to simply store the element from =org-element-headline-parser= in one of its slots, and populate all of the other slots lazily, like =ts=. It already does that for a couple of slots, but I think it makes sense to do it for all of them, to reduce the overhead of making the struct for every query result. - -*** TODO Experiment with =widget= - -The code that powers the customization UI. Has collapsible and customizable widgets. Might be perfect. Might even enable editing items in the list, with functions to make the changes in the source buffers. - -*** Code idea - -Inserting items into a view could look something like this: - -#+BEGIN_SRC elisp - (org-ql-view--insert-items - :header (ts-format "%Y-%m-%d" (ts-now)) - :items (org-ql-query - :select #'org-ql-current-item - :from (org-agenda-files) - :where '(or (deadline auto) - (scheduled :on today) - (ts-active :on today))) - :group-by '(org-ql-item-priority - org-ql-item-todo)) -#+END_SRC - -Items would be structs, and the =group-by= argument would be a list of accessors, like how =magit-todos= works. Arbitrary functions could also be passed to =group-by=, as whatever value the function returns is used to group them. =org-ql-current-item= would be a function that turns the result of =org-element-headline-parser= into the struct. - -Not sure if it should automatically add the number of items to the header, or if that should be done manually. +When tag inheritance is enabled, and the given tags aren't file-level tags, we could search directly to headings containing the matching tags, and then only do per-heading matching on the subtrees. Sometimes that would be much faster. However, that might make the logic special-cased and complicated. Might need a redesign of the whole matching/predicate system to do cleanly. ** DONE Byte-compile lambdas CLOSED: [2018-05-09 Wed 17:30] @@ -535,6 +530,18 @@ Virtually indistinguishable. Going to try moving the =byte-compile= call from t Doesn't seem to make any difference. +** DONE Document/figure out tag inheritance + +I think it should probably be enabled in most cases, to avoid missing results that users would expect to find, but it will reduce performance in some cases, so users should be able to turn it off when they don't need it. + +[2018-06-12 Tue 14:32] The docstring for ~org-map-entries~ says: + +#+BEGIN_QUOTE +If your function needs to retrieve the tags including inherited tags at the *current* entry, you can use the value of the variable ‘org-scanner-tags’ which will be much faster than getting the value with ‘org-get-tags-at’. If your function gets properties with ‘org-entry-properties’ at the *current* entry, bind ‘org-trust-scanner-tags’ to t around the call to ‘org-entry-properties’ to get the same speedup. Note that if your function moves around to retrieve tags and properties at a *different* entry, you cannot use these techniques. +#+END_QUOTE + +[2019-09-26 Thu 21:31] Handled with the tag caching recently implemented. + ** DONE [#B] Dual matching with regexp and predicates :PROPERTIES: :ID: 39972bb5-fdd0-4754-93ba-c85796a67ccf From 086f290d0bbe8a7b9687633586ed83d8ca24cfc7 Mon Sep 17 00:00:00 2001 From: Mikhail Skorzhinskii Date: Fri, 13 Sep 2019 09:05:40 +0200 Subject: [PATCH 043/615] Add: (org-ql-view--format-element) Set org-agenda-type to search Some org-agenda commands check the org-agenda-type text property to ensure that the command is valid to run in that type of agenda. Notably this fixes running commands org-agenda-schedule and org-agenda-deadline. Setting the type to "search" prohibits some of the functions that are still not working in these buffers, like org-agenda-do-date-earlier. Fixes #35. --- README.org | 1 + org-ql-view.el | 1 + 2 files changed, 2 insertions(+) diff --git a/README.org b/README.org index 56abb82..8191748 100644 --- a/README.org +++ b/README.org @@ -481,6 +481,7 @@ Expands into a call to ~org-ql-select~ with the same arguments. For convenience + Variable =org-ql-block-header=, which overrides the default header in =org-ql-block= agenda blocks. + Predicate =(path)=. + Option =org-ql-views= may now be customized in a guided, structured way with the customization UI (e.g. =M-x customize-option RET org-ql-views RET=, or press =c= in the =org-ql-view-sidebar= buffer). ++ Enable more Org Agenda commands in =org-ql-view= buffers (e.g. setting deadlines and scheduling). (Fixes [[https://github.com/alphapapa/org-ql/issues/35][#35]]. Thanks to [[https://github.com/mz-pdm][Milan Zamazal]] and [[https://github.com/mskorzhinskiy][Mikhail Skorzhinskii]].) *Changed* + Predicate =heading= now accepts multiple regexps, which are matched with boolean =AND=. diff --git a/org-ql-view.el b/org-ql-view.el index b55de60..9b7db43 100644 --- a/org-ql-view.el +++ b/org-ql-view.el @@ -490,6 +490,7 @@ return an empty string." ;; FIXME: Use proper prefix (concat " " it) (org-add-props it properties + 'org-agenda-type 'search 'todo-state todo-keyword 'tags tag-list 'org-habit-p habit-property))))) From 1b60f8e2a7ae7137c91529d44fe389a4f1841614 Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Tue, 1 Oct 2019 01:32:40 -0500 Subject: [PATCH 044/615] Tidy: Add header --- org-ql-search.el | 2 ++ 1 file changed, 2 insertions(+) diff --git a/org-ql-search.el b/org-ql-search.el index 8adfd93..707ce9b 100644 --- a/org-ql-search.el +++ b/org-ql-search.el @@ -25,6 +25,8 @@ ;;; Code: +;;;; Requirements + (require 'cl-lib) (require 'dash) From 75fd46022f46c547c1b8f21da803f72ed84b756b Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Tue, 1 Oct 2019 01:33:03 -0500 Subject: [PATCH 045/615] Fix: (org-ql-block-header, org-ql-search-block) Omitted this feature when I refactored the -agenda file. Also, put back the improved docstring. Fixes #32. Thanks to Josiah Schwab (@jschwab). --- org-ql-search.el | 25 +++++++++++++++++-------- 1 file changed, 17 insertions(+), 8 deletions(-) diff --git a/org-ql-search.el b/org-ql-search.el index 707ce9b..cbe1e5c 100644 --- a/org-ql-search.el +++ b/org-ql-search.el @@ -36,6 +36,11 @@ (require 'org-ql) (require 'org-ql-view) +;;;; Variables + +(defvar org-ql-block-header nil + "An optional string to override the default header in `org-ql-block' agenda blocks.") + ;;;; Commands ;;;###autoload @@ -158,12 +163,16 @@ necessary." (defun org-ql-search-block (query) "Insert items for QUERY into current buffer. -QUERY should be an `org-ql' query form. Like other agenda block -commands, it searches files returned by function -`org-agenda-files'. Intended to be used as a user-defined -function in `org-agenda-custom-commands'. QUERY corresponds to -the `match' item in the custom command form. Inserts a newline -after the block." +QUERY should be an `org-ql' query form. Intended to be used as a +user-defined function in `org-agenda-custom-commands'. QUERY +corresponds to the `match' item in the custom command form. + +Like other agenda block commands, it searches files returned by +function `org-agenda-files'. Inserts a newline after the block. + +If `org-ql-block-header' is non-nil, it is used as the header +string for the block, otherwise a the header is formed +automatically from the query." (when-let* ((from (org-agenda-files nil 'ifmode)) (items (org-ql-select from query :action 'element-with-markers))) @@ -171,8 +180,8 @@ after the block." (org-agenda-prepare) ;; FIXME: `org-agenda--insert-overriding-header' is from an Org version newer than ;; I'm using. Should probably declare it as a minimum Org version after upgrading. - ;; (org-agenda--insert-overriding-header (org-ql-search--header-line-format from query)) - (insert (org-add-props (org-ql-view--header-line-format from query) + ;; (org-agenda--insert-overriding-header (or org-ql-block-header (org-ql-agenda--header-line-format from query))) + (insert (org-add-props (or org-ql-block-header (org-ql-view--header-line-format from query)) nil 'face 'org-agenda-structure) "\n") ;; Calling `org-agenda-finalize' should be unnecessary, because in a "series" agenda, ;; `org-agenda-multi' is bound non-nil, in which case `org-agenda-finalize' does nothing. From e60e2173122a294a60812c7ab1de0269bbf058f6 Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Tue, 1 Oct 2019 04:46:31 -0500 Subject: [PATCH 046/615] Tidy: Test data file Not sure how that indentation ended up there. --- tests/data.org | 38 +++++++++++++++++++------------------- 1 file changed, 19 insertions(+), 19 deletions(-) diff --git a/tests/data.org b/tests/data.org index 410c6cd..403ee91 100644 --- a/tests/data.org +++ b/tests/data.org @@ -14,40 +14,40 @@ DEADLINE: <2017-07-15 Sat -1m> :END: *** TODO [#A] Take over the world :world: - DEADLINE: <2017-07-07 Fri> +DEADLINE: <2017-07-07 Fri> I'd like to be finished with this before the weekend... **** TODO [#A] Skype with president of Antarctica :world:meetings: - SCHEDULED: <2017-07-04 Tue 21:00> +SCHEDULED: <2017-07-04 Tue 21:00> Not sure what his timezone is... *** TODO [#B] Take over Mars **** TODO Visit Mars :space:travel:planet: - DEADLINE: <2017-09-20 Wed -3m> +DEADLINE: <2017-09-20 Wed -3m> Ah, the red planet... *** TODO [#C] Take over the moon **** WAITING Visit the moon :space:travel: - DEADLINE: <2017-08-27 Sun -2m> - :LOGBOOK: - - State "WAITING" from [2017-07-24 Mon 19:01] - :END: +DEADLINE: <2017-08-27 Sun -2m> +:LOGBOOK: +- State "WAITING" from [2017-07-24 Mon 19:01] +:END: Just waiting on that callback from NASA... *** TODO Practice leaping tall buildings in a single bound :personal: - SCHEDULED: <2017-07-05 Wed +2d> - :PROPERTIES: - :STYLE: habit - :END: +SCHEDULED: <2017-07-05 Wed +2d> +:PROPERTIES: +:STYLE: habit +:END: *** TODO [#B] Renew membership in supervillain club - DEADLINE: <2017-07-10 Mon -1w> +DEADLINE: <2017-07-10 Mon -1w> *** DONE [#B] Learn universal sign language CLOSED: [2017-07-05 Wed 03:02] @@ -93,13 +93,13 @@ Gotta buy one first, though. :END: *** CHECK /r/emacs :website:Emacs: - DEADLINE: <2017-07-05 Wed +1w> +DEADLINE: <2017-07-05 Wed +1w> *** TODO Shop for groceries :food:shopping:@town: - SCHEDULED: <2017-07-05 Wed +1w> - :PROPERTIES: - :Effort: 30 - :END: +SCHEDULED: <2017-07-05 Wed +1w> +:PROPERTIES: +:Effort: 30 +:END: *** Sunrise/sunset @@ -112,8 +112,8 @@ Gotta buy one first, though. :END: *** SOMEDAY Rewrite Emacs in Common Lisp :Emacs:elisp:computers:software:programming: - SCHEDULED: <2017-07-05 Wed> - :LOGBOOK: +SCHEDULED: <2017-07-05 Wed> +:LOGBOOK: - State "SOMEDAY" from "MAYBE" [2017-07-24 Mon 18:59] - State "MAYBE" from [2017-07-24 Mon 18:58] :END: From c286ab19677fea985150423f7bdcdf56aa5921a9 Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Wed, 2 Oct 2019 11:58:28 -0500 Subject: [PATCH 047/615] Add: (org-ql-select) Accept a function for buffers-files --- README.org | 1 + org-ql-view.el | 3 --- org-ql.el | 4 +++- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/README.org b/README.org index 8191748..b81e588 100644 --- a/README.org +++ b/README.org @@ -482,6 +482,7 @@ Expands into a call to ~org-ql-select~ with the same arguments. For convenience + Predicate =(path)=. + Option =org-ql-views= may now be customized in a guided, structured way with the customization UI (e.g. =M-x customize-option RET org-ql-views RET=, or press =c= in the =org-ql-view-sidebar= buffer). + Enable more Org Agenda commands in =org-ql-view= buffers (e.g. setting deadlines and scheduling). (Fixes [[https://github.com/alphapapa/org-ql/issues/35][#35]]. Thanks to [[https://github.com/mz-pdm][Milan Zamazal]] and [[https://github.com/mskorzhinskiy][Mikhail Skorzhinskii]].) ++ Function =org-ql-select='s =buffers-files= argument can be a function which returns a list of buffers and/or files. *Changed* + Predicate =heading= now accepts multiple regexps, which are matched with boolean =AND=. diff --git a/org-ql-view.el b/org-ql-view.el index 9b7db43..d65a7a7 100644 --- a/org-ql-view.el +++ b/org-ql-view.el @@ -210,9 +210,6 @@ Interactively, prompt for NAME." (cl-typecase view (function (call-interactively view)) (list (-let* (((&plist :buffers-files :query :sort :narrow :super-groups :title) view) - (buffers-files (cl-typecase buffers-files - (function (funcall buffers-files)) - (list buffers-files))) (super-groups (cl-typecase super-groups (symbol (symbol-value super-groups)) (list super-groups)))) diff --git a/org-ql.el b/org-ql.el index 19f8879..ac58f00 100644 --- a/org-ql.el +++ b/org-ql.el @@ -149,7 +149,8 @@ For convenience, arguments should be unquoted." (cl-defun org-ql-select (buffers-or-files query &key action narrow sort) "Return items matching QUERY in BUFFERS-OR-FILES. -BUFFERS-OR-FILES is a one or a list of files and/or buffers. +BUFFERS-OR-FILES is a file or buffer, a list of files and/or +buffers, or a function which returns such a list. QUERY is an `org-ql' query sexp (quoted, since this is a function). @@ -180,6 +181,7 @@ returns nil or non-nil." (declare (indent defun)) (-let* ((buffers (->> (cl-typecase buffers-or-files (null (list (current-buffer))) + (function (funcall buffers-or-files)) (list buffers-or-files) (otherwise (list buffers-or-files))) (--map (cl-etypecase it From 527c6f5123c48e2a4fbbcf677b1ad86ff25819b2 Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Wed, 2 Oct 2019 15:31:58 -0500 Subject: [PATCH 048/615] Docs: (deadline-warning) Fix docstring --- org-ql.el | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/org-ql.el b/org-ql.el index f2eb234..e4feb31 100644 --- a/org-ql.el +++ b/org-ql.el @@ -886,9 +886,7 @@ parseable by `parse-time-string' which may omit the time value." :limit (line-end-position 2))) (org-ql--defpred deadline-warning (&key from to) - "Internal selector used to handle `org-deadline-warning-days' and deadlines with warning periods. -Should be called on a planning line, because it does not search -past the end of the current line." + "Internal selector used to handle `org-deadline-warning-days' and deadlines with warning periods." (save-excursion (forward-line 1) (when (re-search-forward org-deadline-time-regexp (line-end-position) t) From 463d5bce7923a1c039c3132285210b2ae1a7eb07 Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Wed, 2 Oct 2019 15:42:32 -0500 Subject: [PATCH 049/615] Fix: (deadline-warning) Timestamp-local warning periods When a deadline had its own warning period, it was compared with the org-deadline-warning-days adjusted timestamp rather than the current timestamp, which matched deadlines that should not yet be matched. --- README.org | 5 +++++ org-ql.el | 21 +++++++++++---------- 2 files changed, 16 insertions(+), 10 deletions(-) diff --git a/README.org b/README.org index af8774b..8e7e667 100644 --- a/README.org +++ b/README.org @@ -441,6 +441,11 @@ Expands into a call to ~org-ql-select~ with the same arguments. For convenience /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.2.2 + +*Fixed* ++ =(deadline auto)= selector matched entries whose deadlines had a warning period that had not yet been entered (=org-deadline-warning-days= too soon). + ** 0.2.1 *Fixed* diff --git a/org-ql.el b/org-ql.el index e4feb31..94afdf7 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.2.1 +;; Version: 0.2.2 ;; Package-Requires: ((emacs "26.1") (dash "2.13") (org "9.0") (s "1.12.0") (ts "0.2")) ;; Keywords: hypermedia, outlines, Org, agenda @@ -899,15 +899,16 @@ parseable by `parse-time-string' which may omit the time value." (`(planning ,tss) (plist-get tss :deadline)) (`(timestamp . ,_) context))) ((_timestamp (&keys :warning-value :warning-unit)) deadline-ts-element) - (ts (ts-parse-org-element deadline-ts-element)) - (ts (pcase warning-unit - ('nil ts) - ((and unit (or 'year 'month 'day)) - (->> ts (ts-adjust unit (* -1 warning-value)))) - ('week (->> ts (ts-adjust 'day (* -7 warning-value))))))) - (cond ((and from to) (ts-in from to ts)) - (from (ts<= from ts)) - (to (ts<= ts to))))))) + (ts (ts-parse-org-element deadline-ts-element))) + (pcase warning-unit + ('nil ;; Deadline has no warning unit: compare with ts passed in. + (cond ((and from to) (ts-in from to ts)) + (from (ts<= from ts)) + (to (ts<= ts to)))) + ;; Deadline has warning unit: compare with current time (`org-ql--today'). + ((and unit (or 'year 'month 'day)) + (ts<= (->> ts (ts-adjust unit (- warning-value))) org-ql--today)) + ('week (ts<= (->> ts (ts-adjust 'day (* -7 warning-value))) org-ql--today))))))) (org-ql--defpred planning (&key from to _on) ;; The underscore before `on' prevents "unused lexical variable" From c34c8061272e5e70a1e3e65c42b3bb08c88d625a Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Thu, 3 Oct 2019 22:20:25 -0500 Subject: [PATCH 050/615] Tests: (-test-show-result) Fix Update for refactoring that removed org-ql-agenda. --- tests/test-org-ql.el | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/test-org-ql.el b/tests/test-org-ql.el index c7890fc..4092642 100644 --- a/tests/test-org-ql.el +++ b/tests/test-org-ql.el @@ -75,8 +75,8 @@ (if-let* ((sexp (elisp--preceding-sexp)) (sexp (pcase sexp (`(org-ql . ,_) (setf (car sexp) 'org-ql-agenda)) - (`(org-ql-expect ,ql-args . ,_) (setf sexp `(org-ql-agenda test-buffer - ,@ql-args))) + (`(org-ql-expect ,ql-args . ,_) (setf sexp `(org-ql-select test-buffer + ',@ql-args))) (_ nil)))) (eval sexp) From 3f1870ce5a01807ea3d8558b1803a660af1e313d Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Thu, 3 Oct 2019 22:32:48 -0500 Subject: [PATCH 051/615] Fix: Priority queries for headings with certain to-do keywords When query preambles are enabled, headings with to-do keywords containing non-alphabetic characters, like "TO-READ", would fail to match queries like (priority "A"). Released as 0.2.3. --- README.org | 5 +++++ org-ql.el | 4 ++-- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/README.org b/README.org index 8e7e667..896e42b 100644 --- a/README.org +++ b/README.org @@ -441,6 +441,11 @@ Expands into a call to ~org-ql-select~ with the same arguments. For convenience /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.2.3 + +*Fixed* ++ Priority queries could fail to match headings whose to-do keywords had non-alphabetic characters, like =TO-READ=. + ** 0.2.2 *Fixed* diff --git a/org-ql.el b/org-ql.el index 94afdf7..ef86677 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.2.2 +;; Version: 0.2.3 ;; Package-Requires: ((emacs "26.1") (dash "2.13") (org "9.0") (s "1.12.0") (ts "0.2")) ;; Keywords: hypermedia, outlines, Org, agenda @@ -460,7 +460,7 @@ replace the clause with a preamble." (`(priority ,letter) ;; Specific priority without comparator. (setq org-ql-preamble (rx-to-string `(seq bol (1+ "*") (1+ blank) - (optional (1+ upper) (1+ blank)) + (0+ nonl) (1+ blank) "[#" ,letter "]") t)) nil) (`(priority ,comparator ,letter) From f4918b19dc8a3b109e06543faca1892fd68da59d Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Sun, 6 Oct 2019 00:17:14 -0500 Subject: [PATCH 052/615] Merge: wip/helm-query-rewriting It's finally time to merge this branch, which adds non-sexp queries, updates the readme, and a few other things. Squashed commit of the following: commit ee54e31dfa2c3335e4ef5498fc9714ddc093968b Author: Adam Porter Date: Sun Oct 6 00:10:19 2019 -0500 WIP: Depend-on/Require dash-functional commit 42f6a47d86dfb7f8e96f3b1822e17a3eed825897 Author: Adam Porter Date: Sat Oct 5 23:45:06 2019 -0500 WIP: Update docs commit eb56e46ed8cd9ad6874dc955375be5efadb4fcf2 Author: Adam Porter Date: Sat Oct 5 22:04:24 2019 -0500 WIP: Add demo script commit cdd394f4865cd49791b2fbebb1913d9210aeaf35 Author: Adam Porter Date: Sat Oct 5 20:24:44 2019 -0500 WIP: Update demo GIF commit 7f470a7c3c7612b7718dc26044069dc2a6afdff3 Author: Adam Porter Date: Sat Oct 5 13:02:09 2019 -0500 WIP: (property) Convert keyword properties to strings I'm a little uncomfortable with how query parsing and processing is getting spread out among 2 or 3 functions, but handling this in the plain-query parsing function would require uglier special-case workarounds, so this seems like the best solution for now. commit 4e494a03f29a1d0068daa9cddf095dba15252133 Author: Adam Porter Date: Fri Oct 4 16:25:00 2019 -0500 WIP: Handle query errors, move code, add tags-all, tags& aliases This prevents query compilation errors from displaying a warning buffer, especially in the Helm command. Close to done, but now need to figure out the "property:" predicate, because its value argument looks like an alternative property rather than a value, e.g. "property:agenda-group,plans" in which "plans" is the value for the property "agenda-group". commit 9d8222d8fa9a584b1ee648c5aa38999200e7c54f Author: Adam Porter Date: Thu Oct 3 22:18:29 2019 -0500 WIP: Rewrite (priority) predicate to accept multiple priorities This commit also fixes a latent bug in the preamble for (priority), which wasn't being hit because the query (priority) was being rewritten by pre-process to (priority '>= C). commit 4900470ba52b0fcf4786ab857e316403dec00481 Author: Adam Porter Date: Thu Oct 3 20:41:54 2019 -0500 WIP: More documentation commit 5041a901f6c1071a4233e5671a0926e65e29a5c0 Author: Adam Porter Date: Thu Oct 3 12:30:50 2019 -0500 WIP: Mention query types for commands commit bb2d18532cb972a54b5b9056b76b0582eb4cad03 Author: Adam Porter Date: Thu Oct 3 11:01:56 2019 -0500 WIP: Remove old code commit 8de048e531bfa9ba7058e7d540aae2d332f9be68 Author: Adam Porter Date: Thu Oct 3 11:01:03 2019 -0500 WIP: TODO done commit 6a38fc845aeb05fe3f03174c04a7011830873705 Author: Adam Porter Date: Thu Oct 3 10:59:45 2019 -0500 WIP: Tidy docstrings commit 04d0c254fc8694b1363c91a1691f3303fcf7755a Author: Adam Porter Date: Thu Oct 3 10:58:21 2019 -0500 WIP: Document plain queries commit 23dcc9bad4a8e6660e48632a20a04adb2654e20d Author: Adam Porter Date: Thu Oct 3 10:27:41 2019 -0500 WIP: Move ts aliases into defpreds, improve docstrings and comments commit 6ef710f25bbd430b56ce205b8f314b17cd9ac7c3 Author: Adam Porter Date: Thu Oct 3 10:11:17 2019 -0500 Tidy: Whitespace commit 1022c4b36fb03a6724d97ba4dd1b5bb68025ed7b Author: Adam Porter Date: Thu Oct 3 10:01:53 2019 -0500 WIP: (org-ql-search) Accept plain queries This way, helm-org-ql and org-ql-search accept queries in the same format. commit 1903e8f5684269c272a2ff3984d4d262f41323c5 Author: Adam Porter Date: Thu Oct 3 09:22:35 2019 -0500 WIP: Add more plain-query tests commit 9d58e3395e871f3536296ccfbb3901f98416bd9a Author: Adam Porter Date: Thu Oct 3 09:17:07 2019 -0500 WIP: Return boolean from --plain-query, and only when needed commit 3770e18e68eaf776aef6fbb94e6ac5648c869c12 Author: Adam Porter Date: Thu Oct 3 08:59:55 2019 -0500 WIP: Parse numbers in key/value args e.g. "ts-a:on=-1" for yesterday, or "ts:on=0" or "ts:on=today" for today. commit 0f2b71bb869980f413c7366d1b15fa35f3f6a1c5 Author: Adam Porter Date: Thu Oct 3 08:59:43 2019 -0500 WIP: Rename plain-query function commit be410a36f4a1c043de24a2d0d2fbbe22135c3385 Author: Adam Porter Date: Wed Oct 2 19:21:07 2019 -0500 WIP: Reverse query properly PEG returns queries backwards for some reason, so reverse them back to the order they were input in. commit c184091ac2e96a76696055509ca6245e9a020b03 Author: Adam Porter Date: Wed Oct 2 19:17:20 2019 -0500 WIP: Fix previous commit Something weird happens when defining the function that's defined by the macro in the eval-when block: It seems that I have to eval it twice before it takes effect. So when I made the previous commit, the function defined at the time was working properly, but the function defined at the time was apparently not what was written in the file, but some intermediate state that had been written before, so I don't even know what the code was that was working properly. After some more fiddling, this seems to work properly. commit 4e7288d494c6cfe69f82f3aea4b88feced7232f7 Author: Adam Porter Date: Wed Oct 2 18:42:59 2019 -0500 WIP: Handle keyword/value queries commit f603d199f47c1115cf11f8661c19c73f056b414d Author: Adam Porter Date: Tue Oct 1 16:45:33 2019 -0500 WIP: Define pred aliases and input-query function with macros commit 217ef7dff13e8464baaa50539c82843e48bc3fe8 Author: Adam Porter Date: Tue Oct 1 16:16:04 2019 -0500 WIP: Tidy: Don't quote the lambda I don't even know why I did that. commit 3130f6519d7c21e47a026404e3929f118b003092 Author: Adam Porter Date: Fri Sep 27 23:20:50 2019 -0500 WIP: Parsing with peg Seems to be working pretty well. commit 0762825c7ba8026768aec74b4fffd32b8530c42c Author: Adam Porter Date: Tue Sep 10 16:17:50 2019 -0500 WIP: Rewriting Helm queries Some people are unaccustomed to parentheses, so we'll try to accommodate them. --- README.org | 189 +++------- examples.org | 144 ++++++-- helm-org-ql.el | 83 ++--- images/demo-helm-org-ql.sh | 202 +++++++++++ images/helm-org-ql.gif | Bin 1329711 -> 853234 bytes notes.org | 188 ++++++++++ org-ql-search.el | 20 +- org-ql.el | 694 +++++++++++++++++++++---------------- tests/test-org-ql.el | 46 +++ 9 files changed, 1046 insertions(+), 520 deletions(-) create mode 100755 images/demo-helm-org-ql.sh diff --git a/README.org b/README.org index eaa8056..8a6a079 100644 --- a/README.org +++ b/README.org @@ -6,13 +6,15 @@ [[https://melpa.org/#/org-ql][file:https://melpa.org/packages/org-ql-badge.svg]] [[https://stable.melpa.org/#/org-ql][file:https://stable.melpa.org/packages/org-ql-badge.svg]] -~org-ql~ is a lispy query language for Org files. It allows you to find Org entries matching certain criteria and return a list of them or perform actions on them. Commands are also provided which display matching results. +This package provides a query language for Org files. It offers two syntax styles: Lisp-like sexps and search engine-like keywords. + +It includes three libraries: The =org-ql= library is flexible and may be used as a backend for other tools. The libraries =org-ql-search= and =helm-org-ql= provide interactive search commands and saved views. * Contents :PROPERTIES: :TOC: this :END: - - [[#examples][Examples]] + - [[#screenshots][Screenshots]] - [[#installation][Installation]] - [[#usage][Usage]] - [[#commands][Commands]] @@ -21,77 +23,15 @@ - [[#changelog][Changelog]] - [[#notes][Notes]] -* Examples +* Screenshots -More examples are available in [[examples.org]]. +[[images/org-ql-search.gif]] -#+BEGIN_SRC elisp - ;; Show entries that have any timestamp within the past week. Group - ;; by date using `org-super-agenda' with the `:auto-ts' group. - (org-ql-search (org-agenda-files) - '(ts :from -7 :to today) - :title "Recent Items" - :sort '(date priority todo) - :groups '((:auto-ts t))) +[[images/org-ql-search-snippet.png]] - ;; Show a GTD-style "stuck projects" view: PROJECT tasks that have no - ;; descendants with the NEXT keyword. If you use a "project" tag - ;; instead of the to-do keyword, you could replace (todo "PROJECT") - ;; with (tags "project"). - (org-ql-search (org-agenda-files) - '(and (todo "PROJECT") - (not (descendants (todo "NEXT")))) - :title "Stuck Projects") +[[images/helm-org-ql.gif]] - ;; Integrate `org-ql' into a custom Org Agenda command which inserts - ;; an `org-ql' block before the regular agenda: - (setq org-agenda-custom-commands - '(("ces" "Custom: Agenda and Emacs SOMEDAY [#A] items" - ((org-ql-block '(and (todo "SOMEDAY") - (tags "Emacs") - (priority "A"))) - (agenda))))) - - ;; Return a list of bills coming due, searching all Org Agenda files, - ;; sorted by deadline. The `auto' argument to `deadline' means to match - ;; entries whose deadlines fall within `org-deadline-warning-days'. - ;; `org-ql-query' works like `org-ql-select' but offers arguments named - ;; like SQL queries. - (org-ql-query - :select #'org-get-heading - :from (org-agenda-files) - :where '(and (not (done)) - (tags "bills") - (deadline auto)) - :order-by 'deadline) - ;;=> ("TODO Electric bill" "TODO Water bill") - - ;; If you kept a database of music in an Org file, you could run a - ;; query like this to find tracks composed by Chopin that do not have - ;; their key recorded in the database. `org-ql-search' works like - ;; `org-ql-select' and displays results in an agenda-like buffer: - (org-ql-search "~/org/music.org" - '(and (property "genre" "classical") - (property "composer" "Chopin") - (not (property "key")))) - - ;; Set the tag "Emacs" on every entry in the inbox file that mentions - ;; "Emacs". `org-ql-select' works like `org-ql' but is a function - ;; rather than a macro. The bare-string query "Emacs" is equivalent - ;; to (regexp "Emacs"). - (org-ql-select "~/org/inbox.org" - "Emacs" - :action '(org-toggle-tag "Emacs" 'on)) - - ;; Return a list of Org entry elements in the file "~/org/main.org" - ;; which have the SOMEDAY to-do keyword, are tagged "Emacs", and have - ;; priority B or higher. - (org-ql "~/org/main.org" - (and (todo "SOMEDAY") - (tags "Emacs") - (priority >= "B"))) - ;;=> ((headline (:raw-value "org-board" :begin 1220270 :end 1220403 ...)) ...) -#+END_SRC +[[images/org-ql-view-sidebar.gif]] * Installation :PROPERTIES: @@ -100,9 +40,9 @@ More examples are available in [[examples.org]]. The package may be installed directly from [[https://melpa.org/#/org-ql][MELPA]] or with other tools like [[https://framagit.org/steckerhalter/quelpa][Quelpa]]. -After installation, you can use commands like ~org-ql-search~ immediately. +After installation, you can use the commands without additional configuration. /Note: The command =helm-org-ql= only works if the package =helm-org= is installed; Helm is not a dependency of this package, so it's not automatically installed./ -To use the functions and macros in your own Elisp code, load the libraries ~org-ql~ and/or ~org-ql-agenda~ with e.g. ~(require 'org-ql)~. +To use the functions and macros in your own Elisp code, use libraries =org-ql= and =org-ql-view=. ** Quelpa @@ -134,7 +74,9 @@ These commands and functions are included: - ~org-ql-select~ (function) - ~org-ql-query~ (function) -Feedback on these APIs is welcome. Eventually, after being tested and polished, they will be considered stable. +Feedback on these APIs is welcome. Eventually, after being tested and polished, they will be considered stable. + +Lisp code examples are in [[examples.org]]. ** Commands :PROPERTIES: @@ -143,6 +85,8 @@ Feedback on these APIs is welcome. Eventually, after being tested and polished, *** org-ql-search +/Note: This command supports both sexp queries and [[#non-sexp-query-syntax][non-sexp queries]]./ + Read ~QUERY~ and search with ~org-ql~. Interactively, prompt for these variables: ~BUFFERS-FILES~: ~A~ list of buffers and/or files to search. Interactively, may also be: @@ -163,22 +107,16 @@ Read ~QUERY~ and search with ~org-ql~. Interactively, prompt for these variable + =g=: Refresh results. + =C-x C-s=: Save query to variable ~org-ql-views~ (accessible with command ~org-ql-view~). -[[images/org-ql-search.gif]] - -Here's an example of using it to generate an agenda-like view for certain files in a directory tree: - -[[images/org-ql-search-snippet.png]] +*Note:* The view buffer is currently put in ~org-agenda-mode~, which means that /some/ Org Agenda commands work, such as jumping to entries and changing item priorities (without necessarily updating the view). This feature is experimental and not guaranteed to work correctly with all commands. (It works to the extent it does because the appropriate text properties are placed on each item, imitating an Agenda buffer.) *** helm-org-ql +/Note: This command uses [[#non-sexp-query-syntax][non-sexp queries]]./ + This command displays matches with Helm. *Note:* Helm is not a package dependency, so this command only works if the package =helm-org= is installed. -Note also that queries in this command are specially handled so that quotes around strings may be omitted for ease of typing. - + Press =C-x C-s= in the Helm session to save the results to an =org-ql-search= buffer. -[[images/helm-org-ql.gif]] - *** org-ql-view Choose and display a view stored in ~org-ql-views~. @@ -187,8 +125,6 @@ Choose and display a view stored in ~org-ql-views~. Show a sidebar window listing views stored in =org-ql-views= for easy access. In the sidebar, press =RET= or =mouse-1= to show the view at point, and press =c= to customize the view at point. -[[images/org-ql-view-sidebar.gif]] - *** org-ql-view-recent-items Show items in ~FILES~ from last ~DAYS~ days with timestamps of ~TYPE~. ~TYPE~ may be ~ts~, ~ts-active~, ~ts-inactive~, ~clocked~, ~closed~, ~deadline~, ~planning~, or ~scheduled~. =FILES= defaults to those returned by the function =org-agenda-files=. @@ -201,11 +137,32 @@ Show a sparse tree for ~QUERY~ in ~BUFFER~ and return number of results. The tr ** Queries -A query is a lisp form which may contain arbitrary lisp forms, as well as certain built-in predicates. It is byte-compiled into a predicate function which is tested with point on each heading in an Org buffer; when it returns non-nil, the heading matches the query. +An =org-ql= query is a lisp form which may contain arbitrary lisp forms, as well as certain built-in predicates. It is byte-compiled into a predicate function which is tested with point on each heading in an Org buffer; when it returns non-nil, the heading matches the query. *Notes:* + Bare strings like ~"string"~ are automatically converted to ~(regexp "string")~ predicates. -+ Standard numeric comparator function symbols (~<~, ~<=~, ~>~, ~>=~, ~=~ ) need not be quoted when passed as an argument to these predicates. The resemblance to infix notation is coincidental. See examples in documentation. ++ Standard numeric comparator function symbols (~<~, ~<=~, ~>~, ~>=~, ~=~ ) need not be quoted when passed as an argument to predicates which accept them. The resemblance to infix notation is coincidental. + +*** Non-sexp query syntax +:PROPERTIES: +:TOC: ignore +:END: + +The command =org-ql-search= also accepts, and the command =helm-org-ql= only accepts, an alternative, non-sexp query syntax. The syntax is simple, and a few examples of queries in both syntaxes should suffice. By default, when multiple predicates are used, they are combined with boolean =and=. + +| Sexp syntax | Non-sexp syntax | +|-------------------------------------------------+-----------------------------------------| +| ~(todo)~ | ~todo:~ | +| ~(todo "SOMEDAY")~ | ~todo:SOMEDAY~ | +| ~(todo "SOMEDAY" "WAITING")~ | ~todo:SOMEDAY,WAITING~ | +| ~(ts :on today)~ | ~ts:on=today~ | +| ~(ts-active :from "2017-01-01" :to "2018-01-01")~ | ~ts-active:from=2017-01-01,to=2018-01-01~ | +| ~(clocked :on -1)~ | ~clocked:on=-1~ | +| ~(heading "quoted phrase" "word")~ | ~heading:"quoted phrase",word~ | +| ~(and (tags "book" "books") (priority "A"))~ | ~tags:book,books priority:A~ | +| ~(priority >= B)~ | ~priority:A,B~ | + +Note that the =priority= predicate does not support comparators in the non-sexp syntax, so multiple priorities should be passed instead, as seen in the last example. *** Predicates :PROPERTIES: @@ -297,67 +254,6 @@ However, the ~org-ql-block~ version runs in about 1/5th the time. The variable =org-ql-block-header= may be bound to a string to use as the block header, otherwise the header is formed automatically. -**** Macro: ~org-ql-agenda~ - -This macro is like ~org-ql~, but it presents matching entries in an Agenda-like view. It's compatible with [[https://github.com/alphapapa/org-super-agenda][org-super-agenda]], which provides grouping. For example: - -#+BEGIN_SRC elisp - (org-ql-agenda "~/src/emacs/org-super-agenda/test/test.org" - (and (or (ts-active :on today) - (deadline auto) - (scheduled :to today)) - (not (done))) - :title "My Agenda View" - ;; The `org-super-agenda-groups' setting is used automatically when set, or it - ;; may be overriden by specifying it here: - :super-groups ((:name "Bills" - :tag "bills") - (:todo ("SOMEDAY" "TO-READ" "CHECK" "TO-WATCH" "WATCHING") - :order 7) - (:name "Personal" - :habit t - :tag "personal" - :order 3) - (:todo "WAITING" - :order 6) - (:priority "A" :order 1) - (:priority "B" :order 2) - (:priority "C" :order 2))) -#+END_SRC - -Which presents this buffer: - -[[images/screenshot.png]] - -*Note:* The view buffer is currently put in ~org-agenda-mode~, which means that /some/ Org Agenda commands work, such as jumping to entries and changing item priorities (without necessarily updating the view). This feature is experimental and not guaranteed to work correctly with all commands. (It works to the extent it does because the appropriate text properties are placed on each item, imitating an Agenda buffer.) - -Here are some other examples: - -#+BEGIN_SRC elisp - ;; Show an agenda-like view of items in "~/org/main.org" with TODO and - ;; SOMEDAY keywords which are tagged "computer" or "Emacs" and in the - ;; category "main": - (org-ql-agenda "~/org/main.org" - (and (todo "TODO" "SOMEDAY") - (tags "computer" "Emacs") - (category "main"))) - - ;; Show an agenda-like view of all habits in all agenda files: - (org-ql-agenda - (habit)) - - ;; Show an agenda-like view similar to a "traditional" Org Agenda with - ;; Log Mode turned on. - (org-ql-agenda - (or (and (not (done)) - (or (habit) - (deadline auto) - (scheduled :to today) - (ts-active :on today))) - (closed :on today)) - :sort (date priority todo)) -#+END_SRC - *** Listing / acting-on results **** Function: ~org-ql-select~ @@ -470,6 +366,7 @@ Expands into a call to ~org-ql-select~ with the same arguments. For convenience ** 0.3-pre *Added* ++ Alternative, non-sexp query syntax for commands =org-ql-search= and =helm-org-ql=. See [[#non-sexp-query-syntax][documentation]]. + Command =helm-org-ql=. + Command =org-ql-sparse-tree=, like =org-sparse-tree= for =org-ql= queries. (Thanks to [[https://github.com/akirak][Akira Komamura]].) + Command =org-ql-view-sidebar=. diff --git a/examples.org b/examples.org index ea476a7..830e77e 100644 --- a/examples.org +++ b/examples.org @@ -4,10 +4,72 @@ :PROPERTIES: :TOC: this :END: + - [[#agenda-like-view][Agenda-like view]] + - [[#entries-from-the-past-week][Entries from the past week]] - [[#find-entries-matching-a-certain-custom_id][Find entries matching a certain CUSTOM_ID]] + - [[#listing-bills-coming-due][Listing bills coming due]] + - [[#music-database][Music database]] + - [[#return-org-elements][Return Org elements]] + - [[#set-tags-on-certain-entries][Set tags on certain entries]] - [[#show-entries-with-recent-timestamps][Show entries with recent timestamps]] - [[#stuck-projects-block-agenda][Stuck projects block agenda]] - - [[#listing-bills-coming-due][Listing bills coming due]] + +* Agenda-like view + +Show an agenda-like view, similar to a "traditional" Org Agenda with Log Mode turned on. + +#+BEGIN_SRC elisp + (org-ql-search (org-agenda-files) + '(or (and (not (done)) + (or (habit) + (deadline auto) + (scheduled :to today) + (ts-active :on today))) + (closed :on today)) + :sort '(date priority todo)) +#+END_SRC + +Another example, showing grouping with [[https://github.com/alphapapa/org-super-agenda][org-super-agenda]]: + +#+BEGIN_SRC elisp + (org-ql-search "~/src/emacs/org-super-agenda/test/test.org" + '(and (or (ts-active :on today) + (deadline auto) + (scheduled :to today)) + (not (done))) + :title "My Agenda View" + ;; The `org-super-agenda-groups' setting is used automatically when set, or it + ;; may be overriden by specifying it here: + :super-groups '((:name "Bills" + :tag "bills") + (:todo ("SOMEDAY" "TO-READ" "CHECK" "TO-WATCH" "WATCHING") + :order 7) + (:name "Personal" + :habit t + :tag "personal" + :order 3) + (:todo "WAITING" + :order 6) + (:priority "A" :order 1) + (:priority "B" :order 2) + (:priority "C" :order 2))) +#+END_SRC + +Which displays this buffer: + +[[images/screenshot.png]] + +* Entries from the past week + +Show entries that have any timestamp within the past week. Group by date using =org-super-agenda= with the =:auto-ts= group. + +#+BEGIN_SRC elisp + (org-ql-search (org-agenda-files) + '(ts :from -7 :to today) + :title "Recent Items" + :sort '(date priority todo) + :groups '((:auto-ts t))) +#+END_SRC * Find entries matching a certain =CUSTOM_ID= @@ -23,6 +85,58 @@ Since queries can contain both built-in =org-ql= predicate expressions and arbit Using the =property= predicate as the first clause of the two clauses joined with =and= allows =org-ql= to optimize the query by searching through the buffer directly to entries that set the =CUSTOM_ID= property, which is much faster than testing every entry in a buffer. Also, If the query were only the =string-match= call, it would signal an error on entries that didn't have the property set, because =org-entry-get= would return nil. +* Listing bills coming due + +This uses the example in the readme file, but maps across the elements returned by ~org-ql~ to present a simple list of titles and deadlines. + +#+BEGIN_SRC elisp + (org-ql-query + :select '(list (substring-no-properties (org-get-heading t t)) + (org-entry-get (point) "DEADLINE")) + :from (org-agenda-files) + :where '(and (not (done)) + (tags "bills") + (deadline auto)) + :order-by 'deadline) + ;;=> (("Electric bill" "<2018-08-23 Thu +1m>") + ;; ("Rent" "<2018-09-01 Sat +1m>")) +#+END_SRC + +This could also be put in a script, which could use desktop notifications to remind of bills coming due: [[examples/org-bills-due.el][org-bills-due.el]]. + +* Music database + + If you kept a database of music in an Org file, you could run a query like this to find tracks composed by Chopin that do not have their key recorded in the database. + +#+BEGIN_SRC elisp + (org-ql-search "~/org/music.org" + '(and (property "genre" "classical") + (property "composer" "Chopin") + (not (property "key")))) +#+END_SRC + +* Return Org elements + +Return a list of Org entry elements in the file =~/org/main.org= which have the =SOMEDAY= to-do keyword, are tagged =Emacs=, and have priority B or higher. =org-ql= is the macro version of =org-ql-select=; it does not require quoting the query sexp. + +#+BEGIN_SRC elisp + (org-ql "~/org/main.org" + (and (todo "SOMEDAY") + (tags "Emacs") + (priority >= "B"))) + ;;=> ((headline (:raw-value "org-board" :begin 1220270 :end 1220403 ...)) ...) +#+END_SRC + +* Set tags on certain entries + +Set the tag =Emacs= on every entry in the inbox file that mentions =Emacs=. The bare-string query ="Emacs"= is equivalent to ~(regexp "Emacs")~. + +#+BEGIN_SRC elisp + (org-ql-select "~/org/inbox.org" + "Emacs" + :action '(org-toggle-tag "Emacs" 'on)) +#+END_SRC + * Show entries with recent timestamps You can also access these views with the command ~org-ql-view~. @@ -52,31 +166,13 @@ With this =org-ql-block= agenda view, like: #+BEGIN_SRC elisp (setq org-agenda-custom-commands '(("s" "Stuck Projects" - ((org-ql-block '(and (tags "@project") - (not (done)) - (not (descendants (todo "NEXT"))) - (not (descendants (scheduled)))) - ((org-ql-block-header "Stuck Projects"))))))) + ((org-ql-block '(and (tags "@project") + (not (done)) + (not (descendants (todo "NEXT"))) + (not (descendants (scheduled)))) + ((org-ql-block-header "Stuck Projects"))))))) #+END_SRC -* Listing bills coming due - -This uses the example in the readme file, but maps across the elements returned by ~org-ql~ to present a simple list of titles and deadlines. - -#+BEGIN_SRC elisp - (org-ql (org-agenda-files) - (and (not (done)) - (tags "bills") - (deadline auto)) - :action (list (substring-no-properties (org-get-heading t t)) - (org-entry-get (point) "DEADLINE")) - :sort deadline) - ;;=> (("Electric bill" "<2018-08-23 Thu +1m>") - ;; ("Rent" "<2018-09-01 Sat +1m>")) -#+END_SRC - -This could also be put in a script, which could use desktop notifications to remind of bills coming due: [[examples/org-bills-due.el][org-bills-due.el]]. - * COMMENT Code :noexport: :PROPERTIES: :TOC: ignore diff --git a/helm-org-ql.el b/helm-org-ql.el index 097723b..96604cb 100644 --- a/helm-org-ql.el +++ b/helm-org-ql.el @@ -93,20 +93,18 @@ Based on `helm-map'.") ;;;###autoload (cl-defun helm-org-ql (buffers-files - &optional (no-and current-prefix-arg) (name "helm-org-ql")) - "Display results in BUFFERS-FILES for an `org-ql' query using Helm. -Interactively, search the current buffer. + &key (boolean 'and) (name "helm-org-ql")) + "Display results in BUFFERS-FILES for an `org-ql' non-sexp query using Helm. +Interactively, search the current buffer. Note that this command +only accepts non-sexp, \"plain\" queries. NOTE: Atoms in the query are turned into strings where appropriate, which makes it unnecessary to type quotation marks around words that are intended to be searched for as indepenent strings. -Also, unless NO-AND is non-nil (interactively, with prefix), all -query tokens are wrapped in an implied (and) form. This is -because a query must be a sexp, so when typing multiple clauses, -either (and) or (or) would be required around them, and (and) is -typically more useful, because it narrows down results. +All query tokens are wrapped in the operator BOOLEAN (default +`and'; with prefix, `or'). For example, this raw input: @@ -124,21 +122,34 @@ Is transformed into this query: (and \"something else\" (tags \"funny\"))" (interactive (list (current-buffer))) - (let ((helm-input-idle-delay helm-org-ql-input-idle-delay)) - (helm :prompt (format "Query (boolean %s): " (if no-and - "OR" - "AND")) + (let ((boolean (if current-prefix-arg 'or boolean)) + (helm-input-idle-delay helm-org-ql-input-idle-delay)) + (helm :prompt (format "Query (boolean %s): " (-> boolean symbol-name upcase)) :sources ;; Expansion of `helm-build-sync-source' macro. (helm-make-source name 'helm-source-sync :candidates (lambda nil - (let* ((query (helm-org-ql--input-to-query helm-pattern no-and)) + (let* ((query (org-ql--plain-query helm-pattern boolean)) (window-width (window-width (helm-window)))) (when query (with-current-buffer (helm-buffer-get) (setq helm-org-ql-buffers-files buffers-files)) - (org-ql-select buffers-files query - :action (list 'helm-org-ql--heading window-width))))) + (ignore-errors + ;; Ignore errors that might be caused by partially typed queries. + + ;; FIXME: This doesn't prevent warnings that are errors occurring during + ;; byte-compilation due to partially typed values which can't be correctly + ;; pre-processed, e.g. "ts:to=2019-01-0", which can't be parsed into a + ;; timestamp. A "*Compile-Log*" buffer is displayed with "Error: Wrong type + ;; argument: integerp, nil". With my Helm settings, it's hidden as soon as + ;; the query is typed correctly, so it's tolerable, but I'd prefer to fix it. + ;; I haven't found a way to ignore the error/warning; `with-no-warnings' has + ;; no effect, and we're already using `ignore-errors'. The only solution I + ;; can think of would be to ignore the errors/warnings higher up the chain + ;; where byte-compilation is actually done, but it might not be a good idea + ;; to always ignore such errors/warnings. + (org-ql-select buffers-files query + :action (list 'helm-org-ql--heading window-width)))))) :match #'identity :fuzzy-match nil :multimatch nil @@ -150,7 +161,7 @@ Is transformed into this query: (defun helm-org-ql-agenda-files () "Search agenda files with `helm-org-ql', which see." (interactive) - (helm-org-ql (org-agenda-files) nil "helm-org-ql-agenda-files")) + (helm-org-ql (org-agenda-files) :name "helm-org-ql-agenda-files")) ;;;###autoload (defun helm-org-ql-org-directory () @@ -158,7 +169,7 @@ Is transformed into this query: (interactive) (helm-org-ql (directory-files org-directory 'full (rx ".org" eos)) - nil "helm-org-ql-org-directory")) + :name "helm-org-ql-org-directory")) (defun helm-org-ql-show-marker (marker) "Show heading at MARKER." @@ -182,47 +193,11 @@ Is transformed into this query: (interactive) (let ((buffers-files (with-current-buffer (helm-buffer-get) helm-org-ql-buffers-files)) - (query (helm-org-ql--input-to-query helm-pattern))) + (query (org-ql--plain-query helm-pattern))) (helm-run-after-exit #'org-ql-search buffers-files query))) ;;;; Functions -(defun helm-org-ql--input-to-query (input &optional no-and) - "Return `org-ql' query sexp for string INPUT. -Unless NO-AND is non-nil (interactively, with prefix), all query -tokens are wrapped in an implied (and) form, and plain -symbols (except at the beginning of a sexp) are replaced with -strings." - (unless (s-blank-str? input) - (setf input (format "(%s %s)" (if no-and "or" "and") input)) - (when-let* ((query (ignore-errors - ;; Ignore errors in case input is an - ;; incomplete string or sexp. - (read input)))) - (cl-labels ((rec (form) - ;; Replace some symbols with strings so users don't - ;; have to type quotation marks around all strings. - ;; Not perfect, but should be more useful. - (pcase-exhaustive form - ((pred stringp) form) - (`(deadline auto) form) - ((or '> '>= '< '<= '=) - ;; Comparators, probably for (priority). - form) - ((guard (string-match (rx bos ":" (1+ anything) ":" eos) - (prin1-to-string form))) - ;; An Org tag, not a Lisp keyword. - (prin1-to-string form)) - ((pred keywordp) form) - ((pred numberp) form) - ((guard (string-prefix-p "!" (prin1-to-string form))) - ;; Negation of a string. - `(not ,(substring (prin1-to-string form) 1))) - ((pred atom) (prin1-to-string form)) - ((pred listp) `(,(car form) - ,@(mapcar #'rec (cdr form))))))) - (rec query))))) - (defun helm-org-ql--heading (window-width) "Return string for Helm for heading at point. WINDOW-WIDTH should be the width of the Helm window." diff --git a/images/demo-helm-org-ql.sh b/images/demo-helm-org-ql.sh new file mode 100755 index 0000000..5b67731 --- /dev/null +++ b/images/demo-helm-org-ql.sh @@ -0,0 +1,202 @@ +#!/bin/bash + +# NOTE: Run "setxkbmap us" before running. See https://github.com/jordansissel/xdotool/issues/49 + +# NOTE: should be bound to this function in the Emacs window, like this: + +# (global-set-key [f1] +# (defun gif-screencast-start-or-stop () +# (interactive) +# (if gif-screencast-mode +# (progn +# (gif-screencast-stop) +# (setq gc-cons-threshold gc-cons-threshold-original)) +# (setq gc-cons-threshold-original gc-cons-threshold) +# (setq gc-cons-threshold (* 1024 1024 500)) +# (gif-screencast)))) + +# * Functions + +function ensure_window_name { + if ! [[ $(xdotool getwindowfocus getwindowname) = $1 ]] + then + echo "Wrong window!" >&2 + exit 1 + fi +} + +function key { + xdotool key "$@" +} + +function input { + raw_input "$@" + + # Correct for Helm's input idle delay by sending extra commands to + # make the screenshots be taken. Not sure why two are necessary, + # but they seem to be. + key ctrl+p + sleep 0.26 + key ctrl+p +} + +function raw_input { + xdotool type --delay 200 "$@" +} + +# * Script + +# No matter what I try, xdotool is not working properly to focus/raise/select +# a window. And for some bizarre reason, the "xdotool selectwindow" command +# outputs a completely different window ID than "xdotool search" outputs. In +# fact, the window ID it outputs does not even appear in the output of +# "xprop" for that window. I have no idea where it's getting that ID. + +# So rather than cleanly selecting the proper window in the script, we have to +# do a hacky workaround by sleeping and checking the name of the active +# window. + +sleep 3 +ensure_window_name "data.org" + +# Start gif-screencast +key F1 +sleep 5 + +# M-x helm-org-ql RET +key alt+x +sleep 0.2 +raw_input "helm-org-ql" +key ctrl+e +sleep 0.5 +key Return +sleep 0.5 + +# "Emacs" +input Emacs +sleep 1 + +# "tags:Emacs" +key ctrl+a +input 'tags:' +sleep 1.5 + +# "tags&:Emacs,elisp" +key Left +input "&" +key ctrl+e +input ",elisp" +sleep 2 + +# "universe" +key ctrl+a ctrl+k +input "universe" +sleep 1 + +# "tags:universe,space" +key ctrl+a +input "tags:" +key ctrl+e +input ",space" +sleep 1 + +# "tags&:universe,space" +key ctrl+a Right Right Right Right +input "&" +sleep 2 + +# "deadline:" +key ctrl+a ctrl+k +input "deadline:" +sleep 2 + +# "deadline:to=2017-07-06" +input "to=2019-10-06" +sleep 2 + +# "deadline:to=2017-07-07" +key BackSpace +sleep 0.5 +input "7" +sleep 2 + +# "scheduled:" +key ctrl+a ctrl+k +input "scheduled:" +sleep 2 + +# "scheduled:on=2017-07-04" +input "on=2019-10-04" +sleep 1 + +# "scheduled:on=2017-07-05" +key BackSpace +sleep 0.5 +input "5" +sleep 2 + +# property:agenda-group +key ctrl+a ctrl+k +input "property:agenda-group" +sleep 2 + +# property:agenda-group=plans +input "=plans" +sleep 2 + +# category:ambition +key ctrl+a ctrl+k +input "category:ambition" +sleep 2 + +# ts-inactive: +key ctrl+a ctrl+k +input "ts-inactive:" +sleep 2 + +# closed: +key ctrl+a ctrl+k +input "closed:" +sleep 2 + +# Show match in persistent buffer +key ctrl+j +sleep 2 + +# closed:on=2017-07-04 (which is a day too early) +input "on=2019-10-04" +sleep 2 + +# closed:on=2017-07-05 (which is the closed date) +key BackSpace +input 5 +sleep 2 + +# done: +key ctrl+a ctrl+k +input "done:" +sleep 2 + +# "todo:" +key ctrl+a ctrl+k +input "todo:" +sleep 2 + +# "todo: priority:" +input " priority:" +sleep 1 + +# "todo: priority:A" +input "A" +sleep 1 + +# "todo: priority:A,B" +input ",B" +sleep 2 + +# Save to a view buffer +key ctrl+x ctrl+s +sleep 2 + +# Stop the screencast +key F1 diff --git a/images/helm-org-ql.gif b/images/helm-org-ql.gif index 16b5f3435c675d739625a9008197902c0845d2e5..910c1803dce60e801439c88b23101303e8d289ef 100644 GIT binary patch delta 683507 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

8%+ny%}%Z?aAd> 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

>yzHXm^yH^j!BykM?;oYF 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%0D0cBX}0gdG52EDW#CRGQ+uV2UqCTyl+!FM2n&$ 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 -b*t#nGziZghuls*3IB2%vpw7ZmZWkTDKXuHi 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 delta 1113098 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ⅆ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

IQQf0&Y0ZU((yLOyrTA6h_ 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ⅇ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

*|uTsv^#3OL5Jg6 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

QQn|Jmk#@$`-ct`ldh+Bq%DrJTh( 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

  • =Ju`O96g#vrDN!)#e9g7?xzoMU?b&yp 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
    vVHr!sq$sb{DBGY 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�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

    4y_9th&cr`|<9{jke|2?XGuBKQ`r| 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%0A-wH%oQ(^ogFEax;yxuPQBH^T~)W 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

    15SX&b3F9*g+rIE8kB@0We%eIEsPt`7BU{h<9 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ðz{o^>Lm?Qj*fTtBl<(^a9YEJK%b9&dF(|him z-uLJ99-l?g4eL4#Dw;PeXWJua_=YCuh()Sl zWtYN4YXRkmDgU<^L?n7&acK^?(5Ap-_QEBxTgquyTHA#t>75=tXU{VvbN&qvEtlYI z$nfa-V6l>;TKpi3bGBoMBd?+0rLvV5|2i%De8;QZ#;g0liogxsT^n|+X*kfeV0nLl zXQ^|yhY#!L39KxqRv4_+f2zZjc*yg_5}!#E`uUjzHr1Tjc!I~SmV@E%rQKJ&S4Z`G z7#fB6F7Wo%7mDOKQMIji!?kO(uF8F6ESh^X!(sJy1}EvSjFPXerSH{$yJuN%si|7k zsGgW>dl0Yp;3k+HgGbS|_n9*fy2* z+pGgeUtMLMICH|;E8ErQP7?S(w=MDbYdLn62o;2e3wMW~PvTg&_tpW~JBMuV z9ErVitoF`{xp&U=zf-_WETGuWasPU80w4IWNmx?AUO( z@50?{y}GadaBSe_e0FwHdGtMvs(X(yt`=@*VNn;TA z6b{L=b?pTY+*Ms%LX<*6_TMae@a@Yz6OKKRRjyaH9;`ihP0)Oc-ri~aqRR5?%!*uY z$Zx!QVjGh(pKsBxi%&lUI;&ois#ACR+oj`od1}%lxyDBw0qf40E?Fk>$XvJetu2R_ z?c=gT-ckYA%=I<~_1@Yec;7FYyX36TsVh%XW&baK^y7(#o>qMZl_J@q^kAotR8!8TW! z>{@5UrS5M_xXC>)q_kA%m(*RQ#hlee9MgO`Zq9i*XNq=R`=$_ zyf>%zy*YF5&AESXF37#TWY;4QurV&b+_1PSik@G546OV@%(?TP!DfLj^3i| zX7ft!T)`)!N)h+o`0A-n{Q1} z-2X}E{wKZuc@sYHExaj_W4UCh6qo+|&sO_C+xQ!GCcIDLYRFybw2x~|=Y`K6^S^lA z|1iUv<4xaIzxCyRW`F#5`n`Ak*NFLF<^NZ3cGR@F2AhRWnC9aqy6a=cg0C6#zh&Kj z)01%S=ilm;mS0@%FX!I>t*rig#rqZ8Hmpp`<(8lQy+Qs*Q+$t1;OX-Q;8Seljb3f~ z(f9wy1mpqR`9Ejv{|Oqf{r_`;{I5m!zm~-RT2}vS#r$8Z_WxRQ-|W}A|GzfK|L&82 z^K9dO>VH33_-j}H?-lodKc4vOK)w15`#<-dbRX0AJ~97K@0ac~=cO7Mz*o6( zF-SA$XfS9os4xaIwMc7QgD!EiERit|fn40C=M!KQP+(?iZsidgvi4bc&6KRbfU+p( z$|EmZPrdBlc4f-x7fWxwSatU$wN_}=Sy<$=QqEvdH?^wf&vd6ss0m7icaQO&A+gs#A|KT`WtJ?PQR_%|6oIf zkKXL_FSb;j&D(wd!;Tui^|#;u*i(1@{qO$`jZMuhsDs9nr%atTea1|TtIt-iS&MCz z?;+$db2`PZr-|m=kC4x4<0^x{N(Ag=PzEqdj00@yZ0YHe)|07>$mSe ze*XIX=kLG&49r|I9vc=MY~~Qwf*+(i#{*@RuYz-zjOV5$CnswJ|6dhza?{e&(+!eO z&GFp4?Cfld;#YT0ZeD(VzC$yYtk;$m7Z-a>)`~r~W##4N0gJundTm{G6*_1PI!X6% zm#p`;H8(eBT-KVj0JO@t;PI)s-rLvR-Cgnd)!ozE*WcgYz|1Y@vtz@WVtiy9}1?(io<$b`ga{a8RUj2zp?64S&3&9I90zrH>XX{}1Ic-SUW_ToSG9BX>;Mt7SL+S%83 zTNg+;uL?|=;Gwqi$s`}MO1|EUmNTbKK|A}pNhY%ua`yEVht6lS)K+CqoBi^@$!Bv) zz|%a>A}7tM`u6hq{026y7Yka%cHOeB`80inK!IM?i^UV%v|cWm5|;IH>5Q~hFPF_J zd-Za;l9ktr6$_?iy;`|q*{ZA}4-2nXt2P|d%8proFL-sF{9UWp>-KzdYhTyQB;B=P z?>|o+`Qt*g-y?(R#f}8f+Emy#^JZY=nZo5(>ysJ4sxik`EZEG{LP2M0`5AXX`Y;qMi1f9fS)R9FuP3zYe!GzZn&rt@zV_R#9MCLJ!ExR1cS^43ns@5lU;F)D z&G)z8?>DgP{dmwKp7-Nnhx)pTI0lni zvjyF9l}|Zx44Al86A~C0mi7PJ$s`%`pxuE*xq@N$%O&P=3@j=V0@Y8M0|c13Pb{Bs z;KK#B4+prU3^q8hYU!M}-ojF%(DYs?hb;0_y03Rtoi@euY}EK0h9QN18i0w8U=b5u&AS4R>;Z5 z2rXN68FX|R)EPc8hB1N5R!Boe&r2HImXR@uhLo`Ckt?-f#Vh1e+0cyAu#T;uQWbo8 zY<_o1{))@_Tc741c!}K1ftRYA3PZM4dhNLR0#dLd?s~oV5>&R{JbB~xPD%<^1_lPU z{|BZ)%2rToNXq`)aBU6YY7G4+wKcQ~vgZj@whnM>Xx|=`vh{Z0!~TErzr{bEzJK2S zUB^G<*3gOvO+0qf9k4WpAZ6?QW+jZ)5T1Jlv?g|d%2wE(C$zE^tu<7wq1iS&3#n{f z`Fvgtq-?F4HYZF#>jiwz6ZW!oL7UdA6-%IH>#J33w!M0_dc!fT*K4+1%X+0 z^(h}#yYXh)ADn${kaF*R&_9{q5Hq3GI8o-iY6y@$F{D=74Xva*KJlF$i=t zG_i|KX>hocw|eh^yZku?P4{XJM>w!4YcMb{$_mJt_w+P3d}R=~xM$YG-g4mJ6QPJc zvnR41d<;+LP5%4nVWNy3obEWWH`K=;{apRdIu)92=n`oZe2az`}fkmDC=f&w;=dYYO3Mv*sW#VHBi$!>&lRoV#m7V9VK;O#9I7jK!5wYLZ@AMcCT;^{5gU5;zyPy>~Z(6%RPXEEac zrAE0nti450`S^pk!wlEGE59C|crqE=y(^*1oX0z+>TAtUu|L+iWVcKn8 z#K=`h(wPv$>yM1J=b(&S`4!y$utUcB`@Ywpk*nwT&FgD*8k^uFS3WIC_2yB1v>CZd znedv(k*k)VrE~i_C5*G~oY=Vdc>nDGI!&;lt4%^Hi5MRjV+|JCWSNW0)G;)<_+z2g;@@w_2Jl{+|b?-POBUhEzPfXI@ec<(;D*02_HfOJI zs0EK)X*a)1>;8e#4~C9h=}*+(&s6XaG;*czpYtv+Xy__!yF6E;$PAK3u0UlG!8@QN ztT>)dkqcdN-90R5r}wld&>c{#JUE}txKrTyY-R@P{`91Cl_%<0f0?_^{qP}kxo+J* z%@;C_d|59RChKV&PIVCJ0=3nm`W8<@?FVCPtFZ;$nzqLCLRQn-4bN7+UbpAlD^Oc) zHUGLpNNu%f`TrYb9i?Av>2=6HYJDy4wez-fWv@B5-xFiX+wr8$;+@=cq0qy!k!!kp zcVAo@t;hfA9DKRsyO8|-3;uB%*fBLH>XxN#GWIXT)bd{59qwdc+9v|dC=c`ccsf#%*dboBO_P3$E2Yai`}8=f^i!r&s*Fs~FJ#=;w@-_Qf!*T(lazqZE9-=18o}#Xb}cXCg7$;CT`Pu~kOnQ2PXfg2#{JIL~f#a@g{rRsTrBT@iC<3AV>AX3#63etl?n;8`Tl zjyO?t`U$L8K%F?M_rL06cLMZ8(ODZq#5Ue!zf^I|Y}d!$4+kIKe!>AcQS{7Wx$h@P zJW+I0OioIG@QWWOgJyl2vcvhQgvZKLVY@y}-O#gCC*AXOR9(ORwlhoh$~y(ZK7E>g zfM=OOyXToCsn0V`_$)J;e$r>sk4-Z#^ei)3?s+yV>hr7{XO@|5KY2E<>htUeJj*SP zd!8$r^?A+rJEy2T7Tj=Y#<`Fsro0S{Yzo2C&GZfAMGr9YTnL_e=*nUz)m85KUY8f& z`m)S4RWo>TSI`P8QwG)tFN4-r9gt-yUE!*l={s5K+Vn7kWzlmrLmjO`mwQcJE#jih zFhdLT4yZK=?A|vHNqyVU;kzbD{Pc}uLT0c5W^D!?Mg}H^gG|-1K@ikNz6GR_Z(4O6 z-p+>%F#DIS3#vR4T-c4;)Xyp|T90V$Z@V%n$PcZZfA|h)-sj|<=TvX!v;98+Y2+hM z2?_CDBY8?FBcgv2bV|sJbJpB>lPAt!v^Z^H+_KaaIjaKKEI~T>Wy!k8Jqi2L5BMC~ zg|v;}$a#vUgcRpy@F{yCri41$ncc1B?BP>F;6^^$jL=P|eUiHvIdC$EW?b)$OZI|N8zl#sD+c zMt(+kofNhK=Dju(<+=@yc|?WDoXU9ItJ(Qosn6z{$LT)Tt0#^n*$F)pp4hvlHD#iY znP=AozklpYBm&$rkuO(F@G^fYk^HJKdZzn=mo2jrx4nEeyWp7S^EvB6J)e5!Tmlb* zNKTvE!_d{Xp#ICWh~A%qvs{w9&RtwFA8mlSc+SidGb)Q;vs1;5*(a_aETjaOI)h-3|_qguA}AA(t0! zRk|bfaqEq;p1UnKofpWq-&(xkZtHE|h+2+2g(qZN?=E_fdt^qHxKqacoXdN^%QjWt zk?dv+8%@=-T5&1=| zugYru^o_p+mwlG_zgul_cu2L`#P%|4rJeeU6(6!VCjWk)x!Uo`JAZ}qN8cZbf3)qy z#o$C6i51rO-M+2}|KIlAr6IoM+vY8$jf#(6N4fv%%4anHdE-9g|C=5La@N0tp6`G9 z=hyf5|Nk@S2>$O1UAiGKrD6Mlcn0wsdt4L@xVTv49)9?+oBf)npx~S)*2(28Yh4w% zC1v7;Y__!tL@BmN-dSK4rKZlZN`OnJn=1^HL^X+8HN*IHdNbK-yA-g(>%h z(zCq_+x;UMg(P>diTfpWJ}p#YZ}qU>64Kb=#ltKjZRnzybFpfEL92x7Cx?HDg`CVS z_uO`!IAW&vqI<=|2AM)rck^5SKlW8XD^|UAU6W4C`MsmSO=;8n9)S{P#cYp*yCqpC z2D2y%E39PI3A)5B_a{!&ens1>Ufw=~Hwk~<2p-Y#5DZ>AfL4X5&BCJC+lA}=k< z<`sO2nR{!_NzLz9*2kzlolyUU<#tV{sKcKNlRJ``3|%cw==iDkct|`pyL97>(U-Sn zS;cbq8Y){-y%MM0U6b}|o`Xxlua9%yetcGX<)=&324Qf;YW?|K<*m>2&R40*YgL>R zNjodB=7V}$k|$e}Tpd4os*Gu1(#?}5^4XaocAE_rTSGqD;>x~bW zt4D%(_Kt2}GtTL;E8;X~_iQSl_b%%S#O)JU)}X>>xSO7JgK{T zu3h@J?W4g;cin|Ix=+4sR7uHJIx1&XT8}IT#g~@3Fi5&i7Qc z@xLUW{Xcj&G_appDKGTnz^sGs3}bFZn^#_`p7`RP+RFvov)M|kkHw1JoZ`LgM4HmR zpoUkO)~TEf!3XzWF(|y+vLNZxrX7=aFcj)ETzV8G5uy40?WOlU92_G59d|v5o!Q?l zc*`vE?ZKKIg%;Zb{P(Q*u=hm9$CPZF?R$JbABwu8)3m*3l49}C(+PZ=XB^)n#5(!s znI9XTm`iHfFZyKIoTkV0W76vg`@l-&a<^iYuQqK5riPrZ33Hji{8vC+J~zk7=<|ey zIqPi1x1Vi0VYpEJF28;-S8DlRN=93Cvde-`jHbCEwa+a6w_e?1 zP&%DaHZF31;)O-e-X5+HWGI``d68{#wsU)~qUZBpH=b=M>3I@yz)I=&%?o|ow%lCs zCNo-k{<^T6p)+GFO;V(jeOH&=R_P2Y^gng&{NjAcGs}({FPI&1d!6(Wa~ZZryq|BS z{rGm&j`K0wJIk34w%RfO_vYzV_$4oKTQBSN{EAil#lGb36|Y5pW_-N$iATox`-Lxi z)2b>XXaBpVvUT!-j}IS7pH}DJdhG4&Pt$h)d1^47tv~r+>&(l0xXt$OJhyP-g)axH zo;&bc$rkB-StMO6<6>_mIB6YX8^OJW^Mn7s(pg?Ee`EH4 zHyQrbif8T}kBIv5@CYmO&5JWF{wo!}%R0aN-uH9g_x=8RzD=&O^rBUp?zKsIIpt1| zI-AR5U#$K3GIV>x73psi+-H4IeRJp$^SrNoH^1_5itiBovD-IKJF&ChUc+)>g8dZs z$zQ$sCNL@P@3``O_O<2H|EOgAm;CtAT4vjN^8-iiYFfju3GVObnIyWNWoh5Oy1aMA z2Myytp5p)WbHjCo&-v$l?kuaeZYm}$( z?P%a-wPhUjEcax&8dMr8+vFwN-l zYZ43#7~~Te`2rZ#4luUwoE%V|@5{izzJXC?0+Z?jMwSgTO*5z1{+!WSIVJmN$!Fy$ z`X^_3Xv|*WIeFX6*}Hbm-g9&IzMr!XNX|KAIp;{^oMV-9PRyKhYUi9YH|L!DIp>1p z+&z*k&=E#81|2pAZid}VMX+v{w62qS>K<)f6P>(6`T@P56+Ncr)_Nv3h9=G?rtY)u z_%3@4TG3-}8rBY)drmhq&6vC?)6+69GzUJ@44OunkbiQ^iMGE|BtSGxh(oE^7d`1 z7wgpD#(m07ViWm&YyqQp#vAqD>t?@)tn2w{k|4XWBYiACJnEpEmVnTS^!<+dpJdp|dJ2xp(U)js;Y;+K-x&%)dKl3xd#^`$?aY*ykMu2d=<8vWU9 z^|PaEkKQWLjyZL%A~>;JtbVr6j|U4`{lM#bemv?4&)Bi{iqzX9kK+UG{dmez+xzp` zoN~RnPv;pkSG`y=z3)Vpa;3!`ho9` zsjvU@;WT7!MSt(qeg6G_zT9{pR12AVz81^>@5ht-%5|{0XZv}(p9^oYt!K$svXuI` zdwsp?=l7s)myF9trXO8@91k_H_$*+mZ#=*XTGzvJefKZ%gIvoNH$GbMAYEgHB~P7F z=B7#g?7BNdcqe^m(ePPlz_#L0aL1z;A4LR4wXb*VMy{#I~O}s#o=~yQESHd_mHzk3AVa zi{*ZqwQ8;U*lS**Ec4vM-Tvf%LAmlZi{;ibud*$B*O}xJ{L4nfgXyVZZTpwSO5&cK zPDZ$HNLs+NRKwl#6lgqih0jv0aLZ{fY6quIRa&%jS;782t_LTs0gY##^!~JA!}OX4 zRrq-377o41EBB}V%4a^8vdm<;0!6O`7#(iH7e= zukcfsrtSK&^uIyxN}qJE%d>8MS!Qu|rC<4}%kzGHS?<8QDxlr#$|9++D?EHx1x-J7 zWtr8~Wq)c`g(L@iH-GG&w&d1}knN|guB-aGI)Qg}#Br~%S5r$JqC#WMvNv9fo(H0Kjoy&+O4gMpE4hXb2~_f6xZG8TRY2L=g&Cf1f~TX`8AnZ8*u z2--Z@mUiR~JKuq5!2pIGsYh}+L^fP!>TqB>p{ktL%gw-;a&6mM-aKZH4UJq54a}>1 z^;q<8H}Ls1Y?e@PT32yUBj(Y!(!KFH`H7on-(lk^-#1}uPLlKM8~=WN-_O9ep@H4! z0h9EP0~~%En$XYNtT^ZhTUf8lpu@?)!myjE64ETt#kSnn1NU;@cFg6zSy-3*uIq=c z^*wy&B`wzaVk}9+SfFnpqNq3fe1@?lY=M6Ndhj$Sc!9oec~i1~OKWEr^i-FGj!9F& z%YA3hah>8ef9|5iOO`HMK6%zcuhlCc3-qJcI&IssbJy-Yd-v^+-ErXX5yWULX$$m^ z9SZvYixav)e>#gvOWH&6c1~rl5)m$?IsRhm&rYxS_-J8!rbU+E&5cV=_TTZC7jv>` z)~RV2>+><21zV^4^*i-?ZOxjoGHiR|S*dL8>+2IHR`7anTcf`D-LXZfi>7(s-deDF zUoYB{w5M!x*cRv;?b$gEv_SvosfaUkoy}Kk>@wNfF#qm7qq9+=%S;zUpO&-5x#Z%z zhxWHm7tZ~4d2fE#^Xu~)n~Q@gWBtqDCK}euFKK)6L*@DO{XX%nwiO3c?{w?_kK6X= z*AHw9^kGXb&M#pDExF(j@ZgO+A)h%RVafl*#1)AZ$7U5o9I#Kf( z`ZOnWx$n%$GbLZWd_JFL;*sYQqRtv-h_&C^?z2ez+f1>b(5kYQ7C$wm6$=$hPs-@@ zi2ZCguvy3Sv}4`Hi<%2oEL(+TN!qH{4a?uXdflj4Rj6sO_unaxjb|lSdv7@C;ia?e zlor>i$Q*^=%eP)k!?xUa_kZqfueNbNWEb%~^lsxjr^7EQ4`0*1yQJ%hcl_pSnN~+u z{Q6}0zJ}v{Bgax!?8|)%!`SOVOVYSq3QlS)-xG8~3w=o%kK}2q)rX7E-}}S!CDnOz z^4bfo#k(~3d$RwHx~#3l`}GQ9xo@(YqA6mzufvCVa|3SqZ&+LAxi;X_*V`r6bHCrM zcn(_bTl})@e#8Br<>Jl8ffWyzDCl)PN;2qcc|6-8uH{K)K;93rX{RSuJ_|1R$NGF; z{}#SS3)3BU?OopzR3)+6`eN0C4afDWpKrdN_kZ_`&wJup-|av1SM~j4hWRZYerWpb zkv_ippN0O(`|m(YF7*F?xe}iL_v?-9OM65Y?0@+4TbzU6qT&PpWuM&nQ_9c!qeYwf zkWPT5NnH(>`kcRipB&NW&iP`rSNfL)qryKn4~M5`Tep&-uY>3qV}85la@|d zV78K!*Ty#h?>SCC9jjI^Ky@{~V*bZq+zy4hN%MY`DaPX+!^6X-K zJ?lEhNspNv6Y6`x7bohuFdgdel}eIio37#W>cr$Jh-Sf&L}e{?X0N>~3)(v`s|ZG& z^l;9~oXDvnqIcK9JM`-&zWp+h2Ge((N|Gv;Jv_zP$oSgI=EzC9ZxkMVDp+yCLJnn` zvn^81V!FZ!v5w1q+gu{cMJ)VoZ4sWfE#kTLW7G3h&z{Xmo19*8uGPQ#*XQ{Ryek~o zy)HEQo%a39BQEfA!6~;X#tTKVGk%|&;KxwdF@0A`hogCwut(9C#R{%dT^LI*vM<}f z|8&k_k7C9^maQgB5Y2)u$@->#eu-1JZQ00PW6S&K*_|5}k%um&9`e={pK#;YqEibO z$u5d_^ZmtEHZRaLVa-(Ie69^iGfpn{d9o_Pao5$2K@Yvphn%?7pc$IflfLvs!|O=% z&B2>*eO*^^c6HqMQ{i*o>C8SW?D^?L`V~jMfOU%+vUYh@o!n=&O{NrdsEc=`oY97j zXC@!wei?~!sLQLb3llnXnnk*2Y}u657;d=MH#VAUgI(CxO=s6?tbMg+Mcqc19Y?(j zO1;v*H7R3w(I-e554Pao_pW_b?f`SA7|IseLsC4rCA_8L3qxJ#^?$6SfR&o zue}k&rrtDJ_}qpz^D__ms(&0-;M>^Y?(;}!_KzbPejB^O&pZ;_{o|-X-^QMFpT|ddBpTQ{`(zDbh) zedB~*nSgO?Z;YH=+t=*3dD*{j-+A|K>;AoO|8!N~d6MS1 z!T+_fJVZgv}Ywf#JVLMLxGBhw56)>{9IIzgwDBpeE_br1% z0t?#%^X=>oi~?&OJks!JIPzJ#fqjJoGf#vAYtVv^t8S@7)Tvn=g@dqXP46PQ&k4zlYoloT1?xox)p{mzwdi&pyY zef4ebu0xmCs(!_Ps>^e~@}2O-wz80x-wviq(3VOQX>Dt1Juk?XO7+N<#=0gp?H3^9 zK#=M8u#Tly13#!6D_Q?1 zsDl=!J#Rs5sjOIsw53v4)Ta|^OJ&Yf%|~imVOuIquC9h{sXTt;8)QpmO+^EAOQl|1 zlV(@{go%?TPtoB~p01zMt2Srq`~?daEiRd-vTVu9RjWzbQaNeG%{zDRW!;v2c>l@M zXO2DP&tJcJ`{Lb)kDuHhfByFUhw9g#fBwFG>HUXOCL?#URTGD>9`|;CLIXLVEtNs> zr>7fim+A4`tj5;=&@2%11F%wrKh`GtTvjJz0QbOC@L% zLGISYd5_~(Yi-xtzBK;LtGTNq9#dN=ZhHXpbZezWD zzdwI^;lHzI*1o+}-#-*j=zm{pSNraW>|Ou$Ht*{`KL4u@-%`2a!GHJ;t%ohVx7-sW ze?M6Gu=QH*4bJwfl{@4*E_MEp>pXNaO{r@&Z>nPV^1U4J7TXHgmP)phlX{%k#1baX zdiq^)(gMMgPm=uXG9#u0aV>k&5vsOxNpfUbS;};@O$0gHUP?~QEBcx`CpWfIX>QfQ z&h&_?cRxet*OjF{=V)O2b!FOV$ye9rbeX*ZElk7Qpaol)=AyO?qs5jT)_PA%aPh8L zCK=*;<)n1h9Ttjy6S}{vc#YeNMX%%+8tZlot-lnO{r3OX8;B-b)#U6Qk6pRjHb0S@ z{AS0?eOK3Qc)#yR-ky(Zy!GwRZem}%@B6!~JlHvWphdFJ8}lFoIRfrFhBn;(;Q4dt z2Cd_eO$5h-3tc2Q3O{jZp5Ig?qJLVTSXS5C@H4mh;|azyt@$&Z&M%4yn0O&W;P0f1 z@r<@}FJ&6=7M~0NZO}^FYm?7s`uo9`^OI8UZat-2@%Pj<#|geoH+?O1zpb>M)3c2u zKNzw>3)W&=FZ7)^J6P}sXW@REiu?2boNa!j5z_GE@dS6hpHHR)AF>dczWVgxt9){C z-Op!)F#h^4xp;p-760<}6Dpss*&g@u)w<()zu#=Rp7;B0Mn~+92MNC?>=N7E{c$(n zhQkImoJZ$R{UdT(KhEWIokM@+Wo?VT-(PQ}umAfkc~#lgFKG?>{Xbe|>zjTiPnf^& zv(AG5Ex%<~_%r?KTF+bm=g#x>|7U#y59ELrre&=C{k6X#$s*zQs`dl04O*cG*;xGy zc)u@h{M%7}kgw{3gV>)19PS>6gl2tc(U{ZxFl~YL{iO!n4%`dRN&Gkj8pyFYqqtK< zoNrm7U%U2+gx_TfE+RPw>_#k$gr=XEs$%r9GoWXY$a0UPT5UP0*ETN_+kT_B>d%Dk zgp}jrhdqw{PnIccOZ8bSwf@l&(_J5X3wjpIJU_8eNlLKOEJIOtVdGI-=vCJnFCCNb z5zODe`SH&W5zPlRFIBk2s3^00p7gR?GGW@8C2Hm~yM1gXO6W`Watb zyiSaQ&Or{}pMzQj4tKnv4evPXGcm^-s2o#Ck`N0rbSi*Gh9rpfMd z{ukQJe_n}q5dM5noY$oNvu8%uor(*!57*6qW78wRBXO}SDx_8X>gf#`$+_jTQY@uwR}7zE_MYaIehb}#Ex(jt9mx5*GN5-=$nvO_ZTl{+ zsy?C>;Awf;(`s@R! zBE9WSli4KI6H-a83u1z;zHfF($SL%<7QJ`u+p_=HkG?DFcDSRFBerc5Ym?8>wBrSG z<-3A5zDw=xzIUn1Z0DV+hsqnf@0d^czV*$~+|sAB@BUd9w);?Te#!6X_&H2Bw*6y` zX-F-Izx>a9*4{5?|IVtu&3<^h(7LBOrS&@>xc7bE!x~pmVE$*)cdHv5B5DS;;cwd6 zR^K>qCiFv<@|)N@OXs3odxN<_q`3MK2A?qtzwnAELzpfwP+lFYdZQC^c?3*-eP>XHb zmgT;0v!Z|Bx^ZsXw(V!%=2ic`%|CmKNp^Tv!R+66Uig`7AF)j+-TnLShd%RdH+A1v ztzUNM+qv!gzMp-+rhOL~WF9ba&8Rr(DAmA{!oV2x-Qwzexv#CpbLStO z$gkQ}_hn7`o;k*ccb==f*TBh8`>J@#mX6d7MeI9dm<|6|y>9#0GEraloz&Oe_w=ZvIH7;f6LtTer=tITnsI*5GxPI5&sG2Xynz4j6KAB6J|>3w z47-``K{ob-+k4WMCGt+CNWm!v~^9aJVI>@p)ElFvUQ;urJ&ir9WOE` z%_+>!D)zDJs0{0FN$cNsW$CS#tM0zsxVnE+VF+Yf)sCAl4&QlsV%Lt7TPB~rb^hX- zoJ%V*ARGH{oR|)p6}(63E-U!vQx7H0$`~VDM{!(R32Qfkj^eO8eGhRIM`LXVbfj<6 zWY4ZCgY_s5(k1|}ZBzjt#j!l#?5VA&M{%rzZ?3x9nY8Y1WOVzL)T!U!t=spQVf&40 z?+y14z2$ixB-8fsp<~}}SG6_fTu-$mxm@*1EMuN2&(CgcI@3JXRLEmWE}duXDlNiciW9nk$n6mk8E0rF$$$S>Tp2q4wX! z=yXn(OBx1=vzi`dw4d4;*LY1c+_kAKG|OYj1x}`{MFD>*m0HtgL}{&Dvu@F<1+f)e zuM^hJQ(P^uU2WoPz4c8OwHGjF72a95)oS`unIo4ztrkChD+;u+zuI&CS+DH3A}1$B zz1@nkv45TB&3Ui?d+vHwboyQ5!@bdMdx9=x-;?|H%HqE4;#*%=Xo$FoY|xl|?|0z- z_G8;bmnR2QX3y;0GBJ8j(wFMiqw0a(-utdxIk7RCb9?rYZ5;yNKH8|C!nhI;)(kSU$^07@awKcFoQ+`ltWwG|Z7zIj!^QqDOq<77K6V*Cm$%e#;<_^u?6V zO}iX7o3rdjUZPLgELQK@Z+16l#ooHb{@2RvPVG6{^|wm0k8G9^ww__`VZJ~5%l#Jd zxT(k5+_TFc^_ahdwHw3pEVp#W-wS;5F(`P~JT*~J~olMJmso-zN=^XS~-oi)&rK2W>y zPPzT%FZVvP)cs&@<+T3kw$xAiSHj%$`z+t>pTFYdCw|qMWnbT$RQ&t%U7zR6KjqUu zm_QpEJ~VJZH}(gmH1LUVvM5_@()SV27pXb=^25S?+-U`wiCmJ(kES2Ivz4hqwT10W zg?r1?w@r1LG9gJVPq#}LF}17+p2u5$;;`+44ecHu6;L)b?66g=>TS_0R1((Rp_vj{ z=o$QkRpjah$2p0|5;orM-pgmI>{rv?YEm8j#o&sLNt&RHlU3{86`!0F4*WN$7B5j2 zTe8EQ?P5X2bnf$F9Z;bY8sYW$eb&#moinv8XJjpu;5&Ib=~Vv2V=SHO zlTV&Wv-&&}w4veSmNS`A!P!@rsE8~!IUyG-tSb9wne(nnhoUay{BoP+Ht)83mzt@} ze%F(pu&jk6<<#f7-_IP_=~E4|{``tJ=#!|l&fdv>!Bae?|B4EId*kH6|GIUR zQCP+S?ITI@+--Y(!nmd{U6W>h8fBz!*0(JyeAi}$pT2bsvhFe`-TU^fTi>?rIJ-8l z{PgX6zrJlhz`L%X9XitIyRK;Z={wJ?zVE!ytM~HDfnY7K@4Jqi;FY$z8k~QLZ}*Q* zm$dCxaUWipIy_tZzbW~Y@X}AqkVg8-i>~fnU-vz_@6RW3;l9>&syv5J{pU*ZXY>2O z>AL)ZVaVzIylJ{E%0A01d}bVyK#cTV+f@+Yh#2X6uk=V1|45(D6D8@NCp`Q%O`3k@ ziJJA#li-m)A9%YleMf4_j_s$TL=$zn)?7Ox z+dS`k&K---mfi7Ut@Hoqcy|3gbm7LORlnlWPHD1OEpBo1TheXw!V@ymw@jY1!LRz( zWgU*KD;~P$KJlMjb!A0fcDHikEC0n+SC;0LE|2$prF6RL+Lp9~UCgWv3@QxFY90q! zMHm`lUjI5;*UQAf$G{{Q@PJYNgTuz++PiO^uGxDEG_d#`XoxdsVC6H|Hj#Y-V`jM& zqjE>Xj@mntOf?CtAKJ>fv^KnZdTf)aic|xe#fFBu@6n83!}O}x`zqy5Z@95;*|xPa z?=o^YBrr)QI2^dVE6d}{uj^_7jvP7(4V~;iuU%eNx+e8)p+fVXC-!!g>m1KP)?N1R zJd^JCdDiVe&(M!=zV}K2)@l=H(2-}bV+dighmX?fT1e|U$(W}@T5am7drYg2+ZdWe zZGPDwmD!);J1NL->XC~xuD+NxYs1P+*JJ&mpv~a`EHqO{$ zqhO6|l#Zl>&pt~y?^mnc_4V}))lmLD6-U3x+~3^Kr9V&d=cgk}=G*tniB`Y!zPG(z zrQYT5&#mwNA3cva_^j!9OP#GkMeF}21A~ax<~a@#4_ZXRa2|YS(bp2RVMb@S*0CAl zJ?O_ML9aJn5^N&p!O`Psw&TIXfKS&_(2r4qjM62UrOwRQRFXC;XB%vn3v^x;w96%G z%QD&eZ<-o*;O(QZ>y1%H=@tcKK#oy@jnaXSQF^tCE%(%`)$?|6!H@b_1>ZgzJ!K8Q zp5~j48pht6px%}dFOm=4L?w2`zSd_eSnWq@|}MzrX1xMC3pWGv}2UM->uMJUWVlur5~uRt)EY4 zq$6LJu>~$j_2!szuWWuowYLqi~gPuVj}r_KAz!Q|L5Zw_4PI%&nWMI^Z9~% ze&gpW(eXCl&S%&E{c?r*f$jIx+5Z1NJZ_%9_vfqf^ZPa(5@%p!zUtopmr>Ls!QsQp z!~6~m95Wo4UtPEP!0W&$;=#b!|J;VjMuF)?wfv?->UNxR-A(rvFJMENSA~qy`7GoL zKXFKGS3!#+tgzH((BWZVV%UhjwNTb74AQ^VG=}aj#N1klxv#J&Ck%C8p)Y7(VSmZS zRsEZ%cWqg}V_T&cd~4xlY9AqjZEInv+$xe!n~V?d15J%gg)C;7HDS*D1(EaO7N;)F zSsu7@A=1=H*Xl)?J2Uq9?%RG4e%fU5fz#(mTg-xT+GMP$_lXTiQzPoqdXG-70PWew zy~Z`RQB3P{CF1;$Eg3!@l9hfzRg;rNm%A)~)GXDCh8OGWBBr36>0{J+&E*QT+^LALLQOh@vRj7MEM+aRY+f~H0ygu7B6 z>}W5rQo8t9*#4HrlL?U1Cig8#lJr&+NtqPjrulRVpXtkvsaXk<9eFvKFI%SjyE3Uw zMY&Txt;t4h(c{VakhAMnrq?DL?R-A}&qdA`3#z|qPMq4dZeqrw7SyScCmges!G*4_ zT#eSN6^^=IuU5Xv?0U6IE=ls0Mb9!p?bXopmB59r)S^}U*mlcrfb7}la$941TJ80l znP=^^bK5TZfo>>*&Wx-zxmpLlp(y*^PO~=Y|I>E8*cPp@`yKdvr6R_B*cChz`0V)pVGMrUAW*O>%3>c8b$oO;Q?8Z}<1Ln$J>o0mc{_dC5^hrv?}C%zu&6)o_mC?VYldx`z_*m6%VV6 zXZ?8CW3G4kQI^BI9Z_ZN!IrD0d(WyYsLi#jR8FtAYkR(EvD54)P7C<@?^JKN*Y@i5 zgnh2}+)w=buk&Upw9x(iaL0eWKOc_xXIGaWKY#8N;YmY+|SueW>uVEy}lzdsy*D)MXdh5KipUA&~{8UC&NO8p<_ zlk=tjwQqd2_FzMn!-9Dn683CN8%(bkFA!A8nDWhbf|tmi1#H_V9^|e1(44nP0X#M0 zx1xE%qrlIv8l8k+y{^~QQBW0m(JPU3zHQOrh3mgu7Z%(F-?Lxyvq08eXOYnKACpv! zCJI{Vcz>$MU@x^4lnZHLWG5J&T(ek4 zQ1G}VXlvn}qQ_lVDtK%keeCc0uvjuS?D*4%Nv$&z7K?m%u55K<-2}eIl({N1ZA&#i ziFz$mk^gaGuKuipljk!$6?BQ@cbw!pdA@UM1xw~B#T|XTYyTY5mS%Fc4Aq*}0AAyI zI__7I#g0EqL2Fz~CwfhN6X%vZRbqHq@Z3Ji7Yh1VF{Xet$f_*&Z8dp~i z&w7i?3#3A`T;IM3=m)KFE$xWVek^%44da`FkI%$vD37=EYgxwy4isWMt#bV#24mct!78L>D(#Fmd(md%vbt z?D_lFJyIL8m<86wyb=}Sn+z-BUMwGB@d-28VbPKcarUL?f8)}x#+GXNp!oxQWx|k&* zPV(P|4tJkNwJkfqi&-vS+_F#a@KHaDk6qx!EEWqHPHgNeUDG7@`^IsLyBjCe`#e$L zo_XAb?UQeR&l8o^2Tu5u74<*ocx=X?z`*^$fy?JXBO8OmDgU@lj4l@#*&QA*3H{hK zrFl++uuH;;?7C#Nrwk0t6CN-NTR2RfER&*>Ey*gM&@gN6nH?-!&5>;#rtQ8BG_!cy9`j}mKp|t;sCWAu*o5zGEp_By-OaB>8 z>5qBo?rwR`EVZaFdv11Yb0p!Zkt2MtvllcNbXXZw8CEkzFd+`0#J>s1555Tqd;leA z8UVHlD6jJ<=n!An!rr63laFEF3IrbXr}kDLw*L-Ozz3`$dZk%2qt+kR0v*TQduu(? zaoj8Ob1eMw&m&g*B97xuDevib?VB(eavXQ^r0O}dz-vdA1kEd*x4f)s)vAPv-s_fb z-m-OD-lp1}O}h*CZa;AF(4qZ4NBxg`ot)jazx?!J@NwM7u7Qr@o^avLeJUTvP1GE~ zraMo4S6*IzYJ%fjud5-DE!gycK1Se6}+kma^21swR8Tn4LiEu zn_zDs;a%;Ec^dbB?1%dr9Mb?bkieUO5Nk&?VGSg;mBb%FiM3Y>Ie-#;xG(+#*0Po} z-)LCn&YWBMyk%ukXO))bDn7?7gY|sEuccSC8EFe{_nY)ueD}7C*$R8NWgT7L&9ORs z?KMg1-c8dDPEXq0;Go^L-sL60 z-Lux19y2YfklSPnKz%$c~UPl1PBh)Y>$?q?qk80HJFW}I+m&bc$UQW%uZ z*D}OzUOSD$_KUh(f0c=u=ktqSF1bGbbz+VGdzO-`KN4lzugN*vwp|me_T{~iH$k^d zDQ)w_Z#VzCo&9#Z;JB{2Pj+@l`RwxKDc@&RM_>8gT>oD1hfA~Z3S-??_bC;UcFVV0 z$o5-{{A`>&{ciA6)}(dco|pazlx4`{V7v{$M)&1%IV^%d`x#MVf1N8f0Xyi~wxwkL6KNe1`7UX}Jx zrlhhX>Mn9#XFE1)C>J!>}Nsqd0SQhggt#FpV*4X2| zYp(9IhGSye0$cNa5@iA{-1R{XB=Fe_Gp1S1GU%RgLrLuC2@d;d7bd8+y16PUqJnQ&|W$MKXeWS`IPrkEf znZPE^b47IzXM@*{zz#J^_nTzt=x}WEJfS1$EMGYt>+B{>Jn(3-y{yFrHnAyuC9VL zkYJmDUe_(r!Z!y1UhR8*pVZ6cb+rl!b1iNhklV1~L5zA5@97)IP#Z`y&gy&>Ta7sf zpj&_9mLBx%g`7-|hFiC;ZBsw7Hm`K`x!b?WwjX%AHouTN=H9a69Y=KEakg~FJbm`9 zZx*)$vzq`Te**(E3qwQk^lbO)eU7`-9xyQR6fp8;T;F-&@9gFh?+*+NEDemx5eLdH zzh-~grNFpVmVr~w;QqT++Zh!t9O^tB8vj)p?z$Z6kjw4B#3?bOo8fOBGY1a?qfhw0 z7p4o1`)0HoG;C)UZD?RW^ZS98(hp|g4SH-WF-clV76?z#rb;fL5jiKIR6amn$<}*TUK% zpbbWAaxT;EGJ%H#FB5=V|MA>A`QJJ4?jlfoqg7m?4Ys?ezuIMr*Cg}1p%Z_x3fQ56B#!pqzh78+84Lo@V{UH!a4`1LoVesu@dpX8JAfUgEcT zSMl^~s}l~dGm`dMw0G<0+H-qTw|m}8Zg3Xd_g?=Q`1+5$E(?{%XBKrtHUm9?*cyqmDEmjh4=?1s#t}wXB$u>babP67>}J?3mdb^}yp% zpUpSSO~*cLLJI|rixLwWD`pC&ip-1DOr5$U_vHNi4K|#rReKxR6=yaz+RJ#VgOyH^p z@Ao@9xOzM9E_m>^{f^{y?Q_?hKKOor&;q?o;K!p9&T~H==P{kzs+8`WHyb_*zEiue zd*OD)h4p!}3xlV!8)D?y{+piRg6e?H9J;P*%G81xXuKc6q; zd%ZWR3<$H8z3wjsI`I1bvM0R_{)M0ZOyFPjb7_aYOV*3^_8WiQvuFNq_xZT|Z#nNP z`TsQ?@-P4U$G{_R{!g8Q>C>5p3JyG%2|x}}L~3s=dS%*4|ON;Q=s-n7DLAh7u8!$T~SvSt(>#MP5;!z zo~$X0WR7ZR*>hc*u!C`5>r)A8?VIqqWLX9s76ulEgGBB42nfv$ z>)09r+3~RjdB;c2hRu1XJ3heud+a+tG%T0qz%J23nM>Y>y5nO_SZLC&Jv)w;fiKYt zQr>2_E%ANM924=Ymz_Rx_q^X+Se{l|RR=kWShl9S53=K9s#9-p%e2{Z=FXeHU}C}y z^(70JuK?}%h^Sc>yLRHNOvn8cFWJbUvDT*hx6^mCaVej`eAKR>=BjDnCEB_(RpQfG&cUX!$9x+O{^@*!ljc zxz^8~%E`ICJhtbAbFyemA(Nr+@v_?nPLxP- z^%5;>n{)RLyMNW)S9A4(?t$`vxGO@{pFiZT==Ya@`RCV<^n2&e*Q-{E{oeaIuKxDM zvgz{7vnDG1Z~Qs&IKHEZnM4vgHS8WIbm_!>j^|R}*5M|5=xo4Ze+#BV{yq9nRH8X2 zNN!xvqw>k)$;3?(olhq1KXPf7va`|7C5?-23Iygj{M$OO$NZIr+jRREW- zUi*KAepvO|1v#F(-W1s9{XVq8WWw&|8OjT)`?o*Z_WB+2(H+k~bID1E^Y*K@aTP4O z6!!A43uhIVpd?rH~z-t%pG#`&fn zE357^x;+VoT^sS?xc>h?Uzq>a{EcYjcm4HawX&^pTUX4H8uMk+57LyMIkTp|Q|FNV zu)e-4L4jqb(m~Fwr}d&+7SubHEznY;F(mw1go^SEX7NbA~YO?oVYHrG}Ln+ujzSYasBwT)J+1ZOB^+fjlE`0F=AW3$6f2-jtQYwh+ezcS}FZ2PI~_x zT4MFiPT$6(wl3x*=ORI4(a9|b4HpI)CY)-NJMH3TbTMI;j@|;swl$5W8#CP%LmXyR z9g#EI_2jssPw!+1`6v?fYUh;# zGsl%8jjL>1xL8*`JFu$bz$@M@v!?80fF0d&ZBtwGA~U1aQHIJ_w}vfU>uH=BE;c1d z_sW%wg0+jHpC(S(^DfjW=I`o+;}61Duxu;HSjrZ}UcI73=372zDtubQM<>TbDBAgK zl9-Us-pA=T56Yc?C2BoquIDEo?bcmg+iX<}a+Th#n%=Qt8%F}ylc#ysx1OXtnyg!) z<52zj(kG7V1$$KUK3C*hax`h;(*M&JzEeIw@%CjS=Us}gJX01= zxK)u6zBAKez0lR}du-caEBE4Gt=zINOyj+A#_EF?z9noA-m#vWr6;~cV8?+KFF2z4 zc$nG3MGs~a80g;2=4SGq(HwbKHdL=B@S4-tLo#fu>gtbsbHMlLCe7{Lanzu%zvxiM zWeI2JZ5|3z^{2OYir@ZmT%JkaqlG7BLC_2>mw&2FB9E`M9u?bd*t(#9>%^23zB^Au zY&$n`^P5o69$k+;Ml&>no*K@cxnYS=vDTFuJMl-`POGMejZR51uR$)F7xkJrrm+}qvFv$WVZEnc*&LJeqUEb|9uryWOZ%( zIp`kU>Z@9L9J9R*v(mO3-rU~zd0F4W=K(p@OXu&IH!Z61rG3or^IzW;uRpl=N=>?C zLAC6U;Ky@WuJP`=bMzeYjt`Mk;k(`Qe?84)cyuhk?tsdM4NvU#o6oq<{bFdbLDBbp z@fGtOpEM8Hym8$B@y7XmU$*Nry)Hig``+(=-w*Kb`_S(H=aKaPA1D0xeVTs$&ok@) zKQHv}`|>mN$IIybCw8+teS7)i)$4Z;-tU{Hd2Hp5zppp%4G7fO|5J6P-&*y+WtKH5D>Un7 zl$cl)iF_|Mk7%~J(QNml*+HVk$)W}SiHVa7FzidEZh?9Wj`#7E844ewAb8dulvz{XF{8@NLUj`M_YztPD^t8 zj*dei?L9v_1g2I@u;`o;(K)T6a}g86tR0=RPcY8=(K%nEW{ySIf{3n9p&bDRU2`J3 z7HD)mS+$~bjYQY_FHKiJbZwC6mMQS~v90;{cb-`m3_Jmh(glnH4h%bHbgR47Z(wyV z4l9>h-lN38!1RGZN`UdY3nN=WPqu4!7Xt%p0;AA|PDTcXTNYt^Gc7{nJaEa~Vz zB+kG&fsx}v-^LZ)z6E_}CiK1b=wHL(J)@wJ>0$4K6aC9FlK-_bm9S=RX=A?R(R=NL z`^^`9ysiC44?6rlbn_|nNCfme-QjV^gLj)ppAct_;?0Ts!zU?MPTE${qj+|uj&dD}6L1!g8NKSFGoH9!SHmwLA=3`~p##8~HRs>&a2f5Bp zHFP$DwNi{ix78)E-B)S#5hC<&n>_C60j}l;9))w zU)YiE9TR7QJ17h1&t9~2+42?fO)HVsU2We1Jw)gLV%^p0GiR}{ySlw3;n@@9TYl4C zgns{)`t$4G3xBE@`UGFBU*MR{vU`Dd#fF8>i9Diqb38UC9_f;hU3&`e*@9}59mUI^ zZaKO6;<^9k_Jyo(HH$PZF7{X&YqF|!CHL|~B`4iYCM&Pn2cJ)A-THM^xJB&AmZRpG zZ?0FReP3d`J?CxYmbrJTCjM?&C$&5O?!&XEx9bP&KW)Z@^$?*=&|7{bAK%(L*STBH zch{De7t0nl*~M0sid|p#b>qCXW@nw;HfFwVo05`~w{drK_b*!kuEK}dZuzaBx@xbr z{=0jJk6Y>Ovr+w!b9S|POWoez!Ef)M-d}S2$DiK|9zDK){{HL-LI1xZZ%Iemkq%z# z8dlQ=8s-Dt8Tw$wwYKQ*6WAB2tGO}W?v!~HD&Ni5G)<|8_ngP$UJLYln<6{v-10h7 zCJEj;p;G5Ume&iu zl3DRB)xzD$XquIll+vnKFJsoLRb7rFj#jnd zls9Y8?hG|C`kJ$%zUcPx?Mq&*@(g+8HS7PoUE5|=cjUj3dh%B3!!d2Pon;@4*DHOs zd#Sx|hwLf+^&vOC4a|NERd3kDmVavY;ZDXo25Ji?X@5KdzcUmv%%^q9`;*e~ZKc3%3`x-Ev{VwAq|zee&mQ zQZ;{`e5LTO9x-=@!nUMCIw*Zl&o+UF`5t>#JbI*aZiiW)xaHT!+tU_afdoa96^>a21%`ru_*j1@ z9ux#^N%w&+cKy(5(6dnF*7jvTPEOGO&g{mq@OZ0`-@*2uKNYJlgies%#@ErjQ9&qk zj#uKwLDcM-%*im7rOUnHrkYT>4Pm^Xqrxlf! zHdilrsQyG_hX+Sc{=^U=dCN&&7F#B9FRWf#<9E_3>X^&4+ykj%NiRJwn@kehZ!$-Z z-}p?N)Mx0H^fPJq7S1@=qvp0i(l^WR;H-lROTTZ36w9ph>L_@Ucx4m2@A3=hr^!5C zc0l2ougaSZbAqzcg|3|RD^Hv>Z|7;iZ>KmC(dP%}dH&t+2kEa7k;6N$G$6rM?E|MS@+g zd{HpB_4N~kpDoxFu&Z_Mq_az0STllFCS19v`*qgj%vU+v4qY&CxWX57_inK4$UZjIDg2<<#!qt<*WPY;UBd9AvwYfB&LUH7!B1H%`=+(5t@_&) z?`jzAE+V$R(;_D`>ea;x-f8OnqN`x*u4bHFlV)zcdX?0pRdZP9c}U;(jlEF1$Xj7; z9>ZSTB8k76 z)Z?DwI7Dbi+8Jxm*@C=PUZVSW`Zlzv`#j`|{(-!;NP%zTgjd?AhX_@e%&XnlGjsQb z>a!L*RQ7G`%b)RB7IugbzG=k>>|4_PHqSc#?83&K=4-g$70xgEW??CP`P|+ko7KOr z>9}3i7nIG1I7H~4;QZHfUU2IF3VX}4zAtj=6Zh;(mu4RM;%|EQ1?Ui=1$0AxbM57+bhrh-u!+W^Ugr`gtK=(^ljhs-1mLe?ceu)fVZUQYpvg%Z5gSx zO`P>yo%Ejv9R52FiJ$w>wwaqjpugfsw8O`)@R(yl=XV@6@B7%}U-MYJe&ca_zE5H$ zHBVHRTO4CHSUh{G$1|ESXL7xMR3O^2<3D!$ybYWoS1|3H^ zp^5E6%>JE{4s0!aADJgGF!`I`+rQPJhCyJ%gV*uljI5jDY*cP#s54(+U>7-1woSd^ z&5_$xVm*0GGreWr3BEmk&iO(kyNv^rbOgh_R`qfnjlECRBN{oh0vZl(u9j79-|;wD z=I6rcf1b$Ax9QUM|9lF(C4KJ;cmH3PX8-%L!hi3p@bkZ}?f&<5L;v14>HWXpBh@;f zh5X(OJD7}M4N4j0i$F0}@jIKCLhqq3TNe z-#U%f^0WPSK)NUytwFiC7kQo9eaO7=`yY@qjvAns(09O3rG(uPGz&7~y>JouR7&uO z_gcuQlv}oLBdJ08E?6Am@ztjvzW8R{dFv ze;%|!d3ibSF5E}`H4{yw%lg1qPZ?FH?gf?q;^xLe*I*E+Ry_O3ndqYhgLp zsuzoTkQVZL&6%stCbWDu!>q;?4RfbCt`IEg%bL*_<<_XRGHS}ItZ8*?vRB)5X>C`xiN;_N}dw%91^(HBo1t{KCWB}P{iH3{?;rlP+xg+Z zWxpDfi$Fo^)WD}wLK>9tb!zp~vVN{v1R3$Rd$OAQY&4_p_lJPLDs36!!F;0&KnEpOb?!R$Y}bZ4Z1u6U#ubX#;2CH zp6dcx}G(VGmfG@c14_dwC|Rxefi@_ET3_yl%o}GJPMU`}m2$gAt29rJ3^v^_^uzt?e|NmzGa`Vo^fUHxNgtV1{%7y}&G zLkgPsEf^S1*(^I7vqQ=H3l{^cL?gR`KqI#g!|YRMRG9)48e^9g&tTPX3zQd}&t_)C3 z6M$`JlVQ+dVpzy6gA;Vp3d_>I3sH;IuFHnRw>&l2=66#l{`?%(O=7Om z7WuoQI<>d4-?cA4DONeV?0wH3uU}8P@VSF%>GeDUNn5!hP_$_?2p6TOusg3u3biFA(r57Ey*_P#% zPTK@OZK3~LI-^#<-S#9zN@x4&B<^?cWl!&Rz1cSV?Dj=FwHNRB6y~NO5Pi-tXRrFD z)9*F@{nP$%U~i5@fzTzPJ!cOFhOGXO{?hg9ha)0~mqg5z2w!8!%ai}+BU0_9UfN^i zqP1S;!ahCk>qTcwuIFst#d*JH@?opbCdKC+*mbvTwdY5vy?%@EezghmpZkjI=d4>C zXTpjT*Bs3_VC{0%e==|L{Mh@`%63e8vS*t_n)RX2x6_ZzmAbp6qt{#~#(4YoV`cw! zf52BgRov`ee&@%E6-rW;lTDAfOnrKjZFXtF9Q!!S>UnNEm;L9tcT4a`t)FV;t~>L# z|9k#w$&Os3H@xRh9=*eSS*~Z(uHEmdEvxK>{=C=t>W6%dwYda;ZQFJad)t>BetvHE zueaCsd_8fWv+ny7YyIki_)#-*CsXfI)f7 zenzQ+P*$4Ovn;t*jORGBF}U_Jkw>huULef$@5u$V#8}=| zgDFSZ93>8$p4q@=?s7jlEQ3wXOuyaq$%=G&bqkyz4!-8;B(brSmM3ditZ)Vpkjd zhCAp9eJHip3FK8z;Ng%IC$s77=2=4e^RF=7DwuFAV3v?VnT;xc(8^P{wtkxGn7Q!V zwg;XOuvON?u6n|Kb?nVW{&RgpsuGuT-R<1lQ@L>3-anGsPa!9*{7O)8Sm~f9JO#21 z4K`m}s$r*mOQSkyi@nsoVRaX&LEnEYiv?9t9uDYse{nL^uvu=E zq28x&UD*@wQ+84ZtiZz8>gmiTl(~EW@zQAid~m>xSr5uQdrQ) zF2TTX=xwe>>dZOXFM73RZCu;HBDJA`(}H2wp`&UsnJb!)9Wi6(VrXEHaA;(7xxQVZ zB9B2Rfstv?^f?7r9P=`*@Bg}IKI>=fp*qG3@xR-?&tmj@m(S@F&;0q?l-aU}8@T`6 z_YC^ZUUzktW23=Cw(y8mYk1!^u9Ql;+*h$mRqk#3;#o-_K5fHyrn1iyrFIM04NjsA zI@S!I8EhE4;LQPDCuz$P8S``*_X)~6CK?uQdOiXA0li`7rcs+;PVl#!dgS8rWV=;& zUv4T4*>Us54N%Qb)OAd({}WJ;0@>1eg^1?BHD43H$?mC}e}(w1C$BT>lbgS?bG6A@ z_x1i8mlM^QjoA!3uoq*~)vLS@pT9slvtMsd{rj7NnG1Tw0*=lsT6199l;yCSpWzx1hx12d1tP8C*Hw$8^>Y?vY)ScH8h zJeeB7B+0RbY&OG+O0|gXMSkoy+?}{i@QJPP=893S9&}E$h|FH-^>6wykv-~z#KABx`>}31wqHCGY?Mi|srUz8ZT~41e!SJWLbn`mS49(Vi zD_YdgRx%o>l zZzFUg!t4JWTV`(9-M+i_V0GJqdr5|Cx9oU!``BKiRj=P89h%L0`t`A`9EbrW;mq8l zh#AVcnmnIQWXPW8Jgj2v;|4hy!r=HH|CL|LwBZ{O-h4jq5ZzvM0d_LP7u1aireU*_ zvf5A7^XM8}{}!kF?MBM<+--#k>2JPDXU>0%JfJi;E4F>P9@|ax9oaK-GWLpn+qq5b zvD&lf8lb`ZkMS6xJj<=aqy9Yetzug1^ABR`2d=sglt6k&}MOF zA<7cU8}0WVo=)pEPMW$S)J4e(yz$X}$_=X&#gE+lQ{cCsCAfr(JvKXL0J;54sx|N! z{LE~RX%|MopjIBQMZDMR_|G=R}O8GABoXx_B@j$^?61BLxa)uoo9qBKF>UFBWJvv^K6z^ z@vO6J(oA~W&*o%pX1V_6nfctE+Wxu%e9!k>5@Pz$AP~{OEO(%Rk-@;P;Ml7suNU_Y ztvlc+l%c@Ly2F9(h2^=&8;e;47#tX+1en;aTwcJ>(8x5!lR?no!NOz7&)EeW0tEvY z79UMc=MY=h|RhCl&9m`}Ds_Id$8ai7wVwt+GwYp2X zdg>kxOIOHQOcvGG1QZzBW*DY*8|#`FTX-6$PBqP& zYFc&N%+%b>#mg*bow=&Id3c3|qqUVss8wH|wVsJ}*(@9Ina1|5yPQo-+&n|ws%N{; zy5kYu?vc^%sb}J4X6D^A*GF5!XTnKe8&BW-aNlK*{rvp>U9J5?bNtKJ1{4|wc5Dw^ zIVGr|C#dpB(4spbdL|(mr6Fsdg-+`VGdB&dnG!xZC8Bdq#^=bZrmj!{=1-Zcm-4hFz zCKu*s78k8A*)XLn%DHUnta1;_@~o%|3$w~2FDs8tsY&qw&1&s=)_Uq?dshkQ(zV{+ zj;Zb4R_5J#9o?m?yIaz_r_JptEbQ$K?CU$)A7I&^<1-;DbHes>6N7vw_LWXN);DSG zmdVGbOga5x>V}-DM=nmU=$$ch&5WxrW~SQATp2U-NcGI)Q|8*aF1__)d9oeo($^Jn ztM0yB?PIYz*l+FDP3wxg*BxH9esaP3$w$}kI=Ue?ZNup&8;gQBt|;1g=E9~KU7J?* zZnn1AoSm~Z%Vt}p*Y?`p?H$3}k0kH7{o-)%k)yqnk4|2Hbjs1AyEh*_I`>$A=&=d; z$97yke)q+R^QTX4nS9#Q=1f??*`l0t$CED>TVGt0bMeH3i|5x~ic7t;BIELsn9Fw_ zUC9i&ax4yfzI4a+J2!4@FTDZ3f%f*!8@Er~03SE~s4VlbpVN~zyQguf&tt-$pGbNc z;_)Uv?afq|ubTtEAB+5XBKg-!cgScc8p-jW;WH=J-h+}Ox0rF(9rU$T&$>6fjdiuu zvvmrTEK-AX9y&j>`FHz$Quy+6!i)2Z-P4yuoeIg=XE5Jtq2dmcDRNB#OO1LO0{R?# zL_!_5bY4*uZAt;3BdB|7bDlVxFUR)8yE`hBUlsiDd~l^EDya3>R$ez*K5e(=*N?C*un3MVVm>qi_0BY zE`N0t5NgiZ=&sDH`{F^fpqPq+6EoM96LNibrY~?1GP}aj#@*Y`8c9 z8Gk3?spARXWo}(5OK-Z(2%EL=n1t<_1p)j_wSvsW`EKpcW+iPhzfhf3v+?lEjF-n{ zifgw0Oq=s;YoaT^hr+36y;F8=m1$&CTA}Ia#u?HU?5610=`fM6rA3*kv2=lh<_xPW zyQO^pOI|t{9xz?)z$&z(Ls0C9R={#@M(NjUcAkp3uy$(S7A;pV#hG2fE^Oc2Hh0+W zzP*)SPKCXIt#abU8LhM01LT!wYzSa&d3IQGR}hcOx}7YIyDy~G3w_aZe!Dk3-}%k1 z=sd>;lIFd?JjS*netW*d%q*@&bobMOU^HZ}FWAhuEK&$hx>I znJqc_b4tvTNqr{;W;%og%=9c|eJfB>b_8GN0=M0)KWoI#v!7fou=fF{ONsMO zxmjDBoP@WS97qu}DLoOP%(`i#u<@GA@(0%uTv$8T9*&I)v*o1hcl<;JoYPczGzhptB z(~Cut@5QI5@B4X~U-7M+!L%8hyKRAylJui=@?Kg@#jSQ6SdX8Pn(l|zL4nlahdWWf4qd+| zY)TW)>1KtL#I_t20oiX8+V}2mlKg+oMR0|Vn?mT!^TBq7M_MHGI_48wQ}@4j;)AMBggTr6YW7+I88 zdYtE1pt69rv$9BwGk;#HRqqV{n+wF1IXXQ$@4r4=8~0ocwL< ziSso6cZh%WY_VA4vlKEDhS>W-!dPP3rXy1X8$CVtlq%5r+qqVaR!#3h zudshjE(bLV=RUi9Ej;8A>!F*U!8<6|fBnzYQt?^soc3}D!;HOYhgK_Y`|15-R)@={ z&i>TCMjm&gz@t73^cBC}S?*?jD)8=?&kFx#R(MR03`o7_sc==G#pTB|{{2szJ#eo(T{O)AA_N|Y4YW>b}LHF5?mTk+$zd8j~E4TYF zBp(z=+}NGibERg3GGE!>Eu9zr;@OwIONh9jZQpGUyUj1t%d9Rh&^v1yAN1(L8AZtpv8PuC&z-D&z?r|>9wQ8kp z4+`Ah?G>zJj=J;oUI%Z3&BSk2rpt`q&aUQs{;uZ1l-*WGx9{Wq)D-?aIqT#O7S<)Q zoy|9r?r~pab$k}kD;VP_dEI#4k8nu3``RnBs8g z5%We%$4P>m(}SNpKEScod6i*%lfc~}aGXGNLTyrTermAr zrz=+8TTfJP%bJ{PvPekq$i$yJRPN|oP7poWI-xSp$T4HfHud^o){{SW=w`eV*ubX} z(>lSLvd!B=I9 z;l~-tai34z=sSA-*3a|YPp-_|z$ClH_SdELe-yT^ud!=*7~DSJ?kkt&SBDPy*c+!C z?>P1!6?NG6=h1hOuLTQxWODQ;+~jv*yoNVX0bEN51y1>6@ zIiVc_#R{#Pr$n=72na6|5N#8X_}nTc*ifb{kfb26kJV{=XrWkQ#q_Ba9ztQP8`(}y zO=a4cD)2CiZ6c5FipI;!bEi%(e9&IhQNj65h3Vvi%9H;Wuqanl@0-r=$kEIh*fFWJ z<$ild=MI6@+l<)@JLY&)O!Mgc_qb%w^3IdTI~TcEhNrm4EpNDcy^6E2b+U!qMv1y@ zDskL`ZLEQDibn*dgp_M9GE)lbIpE>fsv>Y8Lu9XG`8Lt+E9`=7&l|X=7Z@ImWEG6} zHH!cF!D2#s`%j13lN;jeBPuUFV>R`tJ#$=On*is53v3e)v`&hMntGxsR=xGLM9G#L zeRAf77B^~H9`+l4@8U6RaeYy}s-p910;_FnSU`n9VFK%tGG z>CG>eD0n&g&XOU4QowE||0ehDx$0AFT{y!wu>QQpCrXsCBu--v1EZz;@lbW|G0oxn84wVlxUWjOpLWMEt;AySsYrNOp^rswx#s5`sg3177|Pi zdFU5%EbncaK=ihl>W=(f95s>O3q!8go=}(-cfInYd#zRKOWb#xOd;f$az;|9+!vT+$!wO zDroz^bp`9j6~!}`PvY{9RGlTL*nVw>%8V`nv#S-^T!mtd@pnTP{B&3)^f8QsF@p18 zd#3BERkQeKe^@oyYV}H&F2REh7d|!Y&{}agY(-zQ#XS$fg{D#E83Ku?1hmwnL% zx~|#sYt2@cn8FnmGrih1f+wH&y6lb;`$G;vUZ(I1rOSB~C*9gASS!Ho$-3^su63tF zdS9yszdgFTeX_;f4!fLLx(k1WGcSz)6YBK;sUYVy!Jk_N)Gn-G7G&MxD!`E~zf3*a(o*5i8OqSZ1T>48uW14`j+G^&) z1cTojjJi#iSPJa_&$cwQZP}VvD%Mw16<@a`q@{^nOgp<%@W{hd&WEm7KSUYc);0dU zWsk`M-o#Y_(Obi+w?@p~8nt_C%f+twy$WN9MO5-UEW?}VZrVlOs303vzLjl z7I4<6%J&v*TWxYfjpO>V9X+>q9x*8pdAP12xR-xpY4dD;i{q|V&o_n%SL`TYJwBn3 zTcPx~)k5QNft9a!sy=kCY1gjZz+TPJ%ao|BZaQE4qGI*;h_ZC8^mGBUO=dd`%Xt?% zb29BYG+SU^OF3Wjo{Z+Qx^Uly|LPUnb_vYrs?c;^E48y}?TM-4t<}4ZSHD>ubDX`l z!My+dj6&WEbuUiDX55_me)VqEMjh4{jvIrt-Jfw3UYK6+uzpfzo8aPzgv0~CIGq=Rq2A81j2UTu~kpm{@} zA-#IeZ2oAAR+BqZr*Ixnde}CjMBu{Z1u_r2FFZC-;t~AyT;RfI&nC9^XxFvRcCTbJ zY|##nntJ>2w~WIl1=#B*a4JqH| zxERfg=Xn0CJYK8T%ldrzwT^-%+=5egPcS_r(D2{9#N_$Jj58CmYJ`tWTJ`5-o6J;ey zGj)>d45?ky*4IqECwWqOq4TUx?Kuf7f(vZ6KjH|vFx|~;=E>Uv`#N+omOJq{?ma%| z48P$?&CIj9k7mx{Ja?$^Y2PX0?|s=3chi zd)emhWxKzZ9b~UK*OrfecBQ)*>-I$X#IcpZbVIq^_u2rH-iz?qwdB^Fq|h;F$LIcB8O4v)CT4 z{P|$DsNyO%$5kP(*B+j>YMB&c$K~x(g)jnSI(}xRCW7$)Y|9Ww{KLnSN>SJ zpmeD{_eBxMbxexu1PX6DM6Y}K_8z<9q${S^KF{5{sJi##tGl;7)^~4a;}*Ef-x$AD zTj1G^`2V*A8Ba(3D-lrjD}1Xf@LpGt{n`eu*&Eok9}D&^6kMH{xkg~woq&nn*X82` zCd^$Q^kuVh^c2<8$?0WJ1mYf;9lP@>*X)jI^0zDgJbr=(*S2&HUauE2I_QSZhF zzOGysRobFf9sQolB$)Qo;I@F{7SFuK{#_4r;snF_o=2{G+O55n$M9~&z2|lRo;S$7 zXtI0J68EC5?nTG{c`v&1GBb7y^zM5xfzLO(X5t#@m(6b5+r${#7=i^qu)8cW(sq>a zDdf_tIqJ=EJps$tug(`s)GO?iis(Q8OLJ zy!h+7x>{go_O7Y-1a#O-?;f9MI+wa!Khoc9*EczQ3_$GulX_BE#8{mHo0~hN@&i00n59|ca)fLQJ zvF}uA-QU^OyURcAE3bX}T>5jg!0P|Y^ABF%ZkJvtsm>TVW5U(zpDpEHFxd#~S$uHI zrGw0k2e^E+6xLik$$XGC?~6!I-0$*(oEwi^ayj(DPQdsAXZ!`uxfj^yZisZaz*)%f zO7bJ;j0LPy1=yHBaxTBX(6}+Tt>X2Ld;9Fxyp}xqy8gu+IgTcq4gt>@Y%0eYo7*RR z&G=FJf0KR3Tc}~UYBzA@)K{o8FkjSr z8!2;GZuW_)`?F`9?mU%nx6%GbbNk%KD|W8=!ltFSq8M8d4vCQj_(@jSK@ z+!MKGFtDsV@NuIeYf!;2>Bet1`&1_9pIF{~qBZ-i-+#*qFJt<))N^+1&w5+lVUNBdO0i_a)@ zY06A1e9pni7s_MTi z=WDA1>rB)9FoB2sTFR{cb2*#~UA5fi1+VohU9~Ff+PcrGJi8VJ|6k?DzV_XL9VZw1 z%?fV_mXX`?%;x{5lglB+zGk;eKKoict|?{_epwT!ZGHHZ@E%*~H=q3+m_A%Su z*Mr$x4!R3ZopRVnpfDv!R52-cEB9y4$CLdoEXddz@ZqyaNMQWp6;fw9>ev-y2;EYJ#pRO%3?hv0_o?{NA!#3qGAv z7xv;>we>{w#HU&@g{Muw$CUK8u2%@#o3u^gf=e-n3D3Q=>?TrMmvV@8?K=B>66=}? zrxY7^XKhLNAW-ME+Wqg^Q{C%C)}2XgTOYN3RonWeimUP3i*{&rZjIWpsAui19c%jc z{`!&RBz>BFukE*p{C&UD&arnoZoA>U&rs%29*>KF<@)}4E4$8UO~1TUr>*Ru)mcSd zjY+z%YUb(v@5oy9Wvv$9bgoBMD}0PDwzhE;^&Za2&*X|$?%Kt6I(PlUKF{l0v|mNN zZrXF=`kUDO>(+a+o$+X(J>O?bB z&6;zZSI=|q{qpI%fr{SQ<4sLD1s-dgn528YG-aGuZ#%-H67ce^o*=ixQQhWH?PrI(<|#chKfXihwdwYWce+;1*ZIAgPZl(X<^wx1*6W^-`pU;@@UtjYE zT#qe*k+r(G@?6JUXR@eG}(o^<6NRH>u7F`=f4&!8|mWAtkcNjhHeXv49-0qE5)R9v^ zjh4IrDm>aQa#7Z`?Zt%1ul*f7tB$F)B`{g`?(gqPri9#Y_!ZKd#5zj%%3;X?fbW#*i^$6{ZnD;N|q{7)2zv{rQMI^ zH($EY#KPArD4J*|woRjxZD|en<)uAB&nIxgz|Fm~%mqPa*e@rr>ik+*dbz znJ${CxtnRn#XY@SmYCekl-F*$WZj!*YrNRM=EGxWSGioC$uo{rzVn>??N3ShPn`=P zj8&m)(n429FYV#o`73lo+6(R-CtM#s-km%2`x6uCi0Im}z@o40n^)2@d5zaNSk`U)g^F1WI;?Lb!TbhSgN z8*R8A-JdBrd10|_;_Ppg=g+pKJO19OVEAP7n$?@K)@g`e z?0(0$j`y3WSlW#18hc7Mx_aL?x?kSu8B*-}fake|a@U@@D|zJGZBJ>p74~dYD{FLKe`_g8LCgZ7Gv z{XI+mhimMNZDKpWdqLfYZqbD0?$rVDm!>S;WiE8uOI+nn>pTlf^MA?hrF$M_&s+9v zPp%J7_|nG=b5g8O^n+AmxXP~DSo-mYtaMcssp`xi<;kU z3lZ_OI;^?ranpv1q{Jtg5q9q;^vBA+4n6PXt9xrjPqoB^@Q=R=H%>Cz_4Z^ z*3Su=@N>$NWcl*b{dM1qmWth|cwT+~@4xZ`>~SBO)oUK|)>j-+kNeo2Uh`P?f5i#+ zxKERp*F4qDe|f%3sjtzyy#o|@%^nA*Rz{NR;#-?zPa%0wz<9h>Tr*@+>1DK zUj*3A;yERC$ok%=Q;AoOsn`E>l)f(*p89P)|EX8pNq=iHoTS_?T&(;3`~HU(pTqxe z?TRq^^@1zg;4gDGr}ZXRVe45E2WoDt{2X{-m$5yEkAUFiuCJ%rtuL@S1~g_&*vBo> zBJiL!ZU?JFgZ-P?EV7qu&677)T5JuHw%;^iwwANXj!2_54YM^DbG~udlq|JLtJ`s1 zhSBx9%-lxw-$xR?pvzVMHhI$QWUtcg zv)G~ig#+&s2cAC%!U7m0H!$Cxz5f^Y)3#3+g#pf zoLg6I-xIjo-p2LA3Wu%$*PFZdWn{SgIz917rP)I-=OF1rS=!qbOb)QG;i&O8S>0i7 z)x1LQQ&;g~PX8^tA1vN(du7F6tz$Mq$Lb$%uPyG#bU7L zJHDQ73g2UwYjE)GX({0%i;mlyHk@Q}nqV1UwcFcd<>bw3?-uX)d~?}}lWO5bmU*jo z+H5*Jo7p393s-}Qd{xbXMTgxw&U9VP-g~{f?S}I4|6wJrcbpG4HSDUHV0Fqva^|Mv zW;W_;I~4h~tz9HfMp(*EZL#d$e0Wc$b+?hsoUCIC+$$Sz&X`o?q1xlIpk=~^*Iddx zUW;wKmK<5NwP?c9KV8dwyjJvh@joe}#i^W<`FIla@tP#+xu!`%TiqAQbo=pKhs~OH7+T3V#gGoiB zS+~eXZPj{}D6@)ASILzO#y6V3FYdVc<+PmenX_lwwF8(Z(GI(QZcO6}*EwRmCoqQZ_P56`W3=zq6HcG1V9vkZIY z+>|_Spe^`=NxGrQXhYMJD_y?Y#;aDIUm(C}Y9RVJq}lLA<3GdZ`!RkR8O{1T8t;l+ z_#d)l!Hq`U7mczUKBfi!vog-zj+{QTlaWW4gT3{_i#^tNFZNe;&D|Q&U9T1BWOcDA zz~^>mV0G8r%Z5Bx4No&0YO5buUNeDdoxtXFNx3JMn;&>?mJDqC%hPq2MM-x_hn)oD z56hs3d$`p1a@}0gsmaU5{Wm~Bms{~hm+sWlT^38GSFTzup|Zp1j6Q?Ungi$k4xj%& zOCxBOMUav&&%qGJvsb!gJA#y#o?Y8~C-~cgWfom)0x@buwMz!g_g?Lhz1FKKFB&BbRnIZ(efJWe3yFGcyZ=j5C_sv@Yns zXuNE4b*(|8z=6yEbef;^G)TN)OuyT4`VSNDU&cK@t`#hum(?1Yd|O@6_2TTr>yJui zK61I@x^}Kh?ea^UT=hoX!grUu>}*PPy}UNV>fNKYdrhu&O$a&g+ZgvSouAk#O;cVnwUj8|EBj^9UdGbZ%0@1X5qn7waEsc#@mV1k5Vc_!K zTf3R}UY7D=tqfhccaK+~EXNveKh2IiUQ-)mt=c)F`$`Ti5LmZi!#=OO%4-hXV(~n? zX6|ja%rk2$&KP!|3Dmr{*>v%H?T#x(j1Pl*bS?yM5B1}k7`@AMoAe2v1IoUaU3|-T zhNx8eUf;7mZE@G{+tW5i_(@H@BDsj;@YYLaGtPgnK6l^_^X0WSnpRvnd*t%P*gL$D z%k4TO7g_o5_3)qfQS$wjbK5lh|1Z9%F1k1L(2aesYk2NvGJHI8{o&D7-)hePh>2zV zW%Ap_aK+1L(U^nc+}&DhInrGN+Fvy8KeF|-O!K{%e!kv-_qD$)RZBt`LbS8tIw$?``&SL9pvpcY_Lyny>@T|r?%UZrUhXK zuY~29286EVP-<;fb!eKU70|KhsmHv#ixZdcI1qm%;aSrJ^{S-s0KRL-4#;n1PEd(( zH*e#qeVdkNCszOT>3V^PCZ!vj{<1VL?KtxDasQn54FW#vvm?4DT)APIcdM^kuD_m$hnL*6Mv(YtCiOXS2=v zz#t#VaHWY|?LyWjz1RD=vLquLq!U=yhcR&8xTSWXXZyA(JIu1z`_AL$xGfXFz_Ww* zURL9o6WJj*v;W>=b9%tDp{|90L7PGbL(B`?*k24Aw@vIldc!K?wPa+2Pyn-5gV5P$ zIh*<3u5rtjRBSwVkB93<^R8<>SK{6-%VQ9_z<6e!pwNou#uqJC4$WE_4b7`r{`0@c zzO#?_{Q|Ci6e zU%)6|z@%TmY+u0QU%(n)z?NUYUSGh`U%)xPfNOmL_x=K&^98*33;5oDU|!$wb@F?r z8%=f(82RlBMf?jz;|s;|3&raTCE5!F^f`XkF$5;Gsdp60-Y=AUUnu{-P=UWletw}; zd%pDXLPh@~)%YT{{37-GqCfK(v@@7^>>JD;u*L^4#Z6!nW^dH)XUl!iqM*PaAbvRG zLD7Gv51+1be>UuY&$yxS_GDI{gvKv=4bM-vXkTyhR%l>4!4x-v)#?GON_&x$eu=Yv ziA#GCZ%Qk-e1n#Vv&nI%$cTLzD_F%U82mr5T${}5|A576dWqNeFF)=zcBbqN^I)*6 zw=1>0;=gcj|Cn*0g(;xf*t}54py^8;gX8%^CX1pJ z|M!Xd-;&$kGw-nV@n8s=-X^pCbH)KSVfh9z1BSpCrSAP~k;hAm^vjFwzZc6hoOSs6 zGwl1BgzsO<%2^xAnI@E1?avo*|IF|5nej!VtwYPxWHv*MZ_@GKs=k*uh<|CUe_wO{ zV@5xlqsQ0(83wIi^D2z$%Sz5y^xm)N^Dp8}v2~mOzQ4b1g8%!8`jt!;KmWEd#9jE- z{k$kg+&MRaxoP^>8OQg|Y=2*4UYK+L^St#xbj=Hs<-hmoS1q=$TC%@@{RiW+<&3}L zel3g7U-6%DdHDO4>wo>Z_jCI5Mx*(~`R9M8=vRDwS0(nNYF7FW-SQu|yMN4=|Gi~@ z#UlTzo%5@At^duuzd?UN5%=~&9vKD=jxquFA_4a5&E?expR;a|Z_wGn8mQjTKEF(~ z;`cWH{QT`s`^C$fw^yINUvuvLpYPX7x%ta;KeSwZ{OQ#CR^1)88;*ZVoxtjE|Mv>} z=gs`(ISW32Q7bjHDeb&p{Qv8|KN&k%uXR_Sm#=%I|F4g|mV17K_V-o?_hNw^ds7=& z0vUdr?BAQP{$EDNznAm>YOVQuul@72*`KZI?e2xYXWH>8m80aLdEK}C`tSAiirX8+ z41O+Xum8Qj{?GY(k?RMd89JgbF5>idc%X2og-hHh=fwxbBOOBOL2EKTDjn;QGB0}b z;-m732}CMZ}>K7I`wF~KHebKnI z#B2H|mIq%nudE1K9<(;=tJbwOQQM2&zWS%PcW+PC_fKzMf7gF-pov{ruSV>+RgNsfe-?(#eGyE%%P$HkY+4t|w4L$Xg|ATy zF6=rYt1@}r>^|O`3}!`ZFSluKPGDZ7H+%4L1w)o29 zlZ!>qm6g9-Q*v@+N7wFk`40l8v(LAkQ@n5EkTuYyjyYx}{%ekfv(t1v=i+dvv?wHnfG12sHS74~bf?(Z4 z-$eS{leQ*@JZ=@gR>ALPv2cPIU)qu|&wU;)o$;Q}rcMs=)cpT2DaNvMHsks^Y!0)s zk9|F$y=2G9uo($Wj!Q!&PW=e2ym94%YZLdsQU;ARGg76yN(Hl4L_}n5)d($}7usaz z@8P;~X}{R5Ym0VxPWPW4WyvMFEZR|Oaa;V{n-cTdY)!SomS&w=F@5sP&iSEhrtQ2s zb7`#^U+%Au><*mre6O!CIBl5br)winwWhu`BrBBjMZ`v~wahVzXDqhfx#*k5vS5Ly z#mf^c42+&LHm|i}QJT$aa<^`FB-^Zt7qcc!yth-EfkQ%AN+-Z^!!yS6j?43RJeeiE zB!pjLa-YIqyEAT;jN;Krn@*cWFHw3G;FQ;)+G6~s@ij;D)dMSRT^r@MX*B;oqxSIK zgC3!6D$G8Oj92FPsKwMwejlP~KlR}9v+rRN_tzuI|TdfTBC;d@e-ryhT;d#&d!_ti(QS>A|T zj2EBr;RcWQR?B_0(}QCff;FZ+yF5Krtl?UW^U`lmf`u1+wb+;PDqigWqiTx>P09Cu z?Vf*r_PaMdH{+JA3)r}?;7d63-w+1R89oi%uL~wea%|sFro-5=Qn~H+1$m2LHLA&;Mo-iIiof#QRnJv5<8-B?beTD7IquN1Wni$ z$DMFUw)hZQ(J)6@F;mo-i;F>Y1FPPmg4Pt46-*};j;dt|Fux6Ho#gC&$YP0NyG~1T zlgyU~q7FB&yN&Jk$FOeM{?0FlS<)P8b)nPYn~dXy6=8{c4J@p8D;5(58W)n2~k4=IXne@Rezg12`HQj~?XH)d})jz4@}28!OYp8Da~s9psXU>tU7Wed#{& z#e9XX!$Hg$j&DoC_vvl@;+FT{;8j6Q+5}mJ!$I3Fx-xMYu*d2gW0Sp+zkj=rlLb;!{?#vPr zH}kmKt9LQt#-mqLI4)Ra6|FS))9TII6cYTV%j$LXN`~u;OxCP2XL4!SxA&U;jH8*Q zKba$+sg*1YS*2F9G%Hr_O!+W%Pvp%WVj2(Al77k`v0%Gxf`zWtyT)_ja&0 zDvKwb3jMlj+NoDzj>(3yaux@@w9%Qm$B{3_`wwjk})j-t$sFL*8& zE!@Js;mAuC1NH-#mJ3W!+4w@Fc>jv6`B4{7T?}1Tvqbo}`cck^;vEG6nkKU=M6Kst zF5J5P{+bg%L#JgNt>RqJw9D$~WG&?_Gy9J`zqoeCQ7aeYjn9_cUh%=~LSbLYW2>44 z{J(!{I<5ZFzQXx=p!M~I`@8e*FSzmC-o8p}MVX<)+vsJ14<%!(?B*?B8`uUl;YGiBF4v!CZqN3UWKoW!tv)`7-%O}~71mvwFY(avC-;TS*N z&bIv2^gsU6f zUXtFQnBUgEJza0-dK*4GR&tWjy~2)n!KLyDebER}jij^&{XaAMw=d)Oeso03%}(j` zzl!y*X57=-+?O+>Ki=i|o8V3BKI@!6^GtSveR7#z&X4?i_xI)%FXNfJ_GA2I8Tquo z_t$sEv1i=>rZ{_7fatQLl8j;p7OLJ_lw^52uIGD7eS>DCJ z+Uup08?q_${{kkX2Om~G;4z!)94ahQG+#vNzDndV;}?F7l~=TSoV8Qhm~##a-#Kql z6a6zVSUiP!>XJ@loBM(@4rZR2ep4jee8+qyv0LsFr54wSWGISf{G8jd(eZanNX}0A zT7{1J3|%#rGYwk$`D8CjFgZv@ojUQdSM_hVRZ9TFmc-Q^;eQ$>uSGKb&5iswbz0oR zP~N|xu7Q_DTDq93rkA^(w(bnjS;rwi?NDOl_42<9)~P0CScZj6319a_>BpHEtwqzW zC$?&Qn}1{GS@~&)`0s@YJrU#Nn;p%2&9Lp1-lK)TJs0N%D09~=E>=vwb>Nnq)HJ1_ zR*SBXN4&Sv3&d9_cI#jJ|ERoBS&!{eglli_%Io)I`wce9uK2pp@kFxX9dWCw8NX*f z4vh%SkeM&Lg1_U=A>D+gUyU8@R~Am5>CCIpVfo~Y{ zV3hg6#ILb{VX3p634@4&aBoMmphbgJ3$s1nSq8&Hf;^4E4jr6Zn>gn_ zq2hBYMRR3CdrO;@&xBMS!4pRp3*@TgESw)Q<;)j zThB%9Mc!K(qy?Dd7&wHi&rUNta7W+wQY_a}-$zeOKB_8eDloXD>hDSM;X3u#Am-21 zrWCHU9g#w6nL_FpeT}DGOmI?u@b-U-|Gy{vmx5$&T&hxhs;!|KeCSd9HHU<20;yT8 z436_S?xpx`OG)-q-HWT?bT-d*bNbx!wO z6WLkuFf>4OQUq_urYYB!G(R+W-f|?vqUUg%94Ctl^F!UKv-4V~FFJSo$k{t4QR!tb zwO34^sn^yqjl1*T0*fsNpI}oyo>?rdGrz0*$kEXo| z3(<+L&`HS232%6F;L_?7MXV>MtvOY7bpE=-Mo$i&TDN9j=HVk<4=U+A1OT6@J$_iEVMt8u#5($-$fTN`y? z#`QYg8*OWE^y%K5w)W;c-CN7n-dd-7d)wOE`*iOdTYKl6?%iu^@7~kB_iXLGce?k# zt-b$G_W|3w2Yh-D#nwHP(|e@0?vb9}W3zRS?ew19%3YLl$mUG54a>pnQH(Zg4)UKl ztbE{q1oMMKHV2x;E8a4laC|!H-AywFp$%>y_b~Q!G8{3{>oPeY!O+C?fbDS{`wg=O z=?h11-_m<`ZY}eS#`YP^yffZ1b@&@sFx=wOzwea4=t=VfJqD2}-3l$btUXs$UG#2y zxye<$zpZzG*TadsLH9?~Tc#rpqA~72y4EvKIjG{pq-?SNh8}~EN869Ow@=PF>*O5z zdFTdHN|TL5qs)qROf?70Lf$>EdMlW7$V|cDrXB+y&uj6XMzt+YZ_d4Y9CRS3VJ*vz ziGL@#vDa_7@hdNOM=po?`#W6?<^hKU0~-HMTFcUK%#w%k*18WokJs{LujdrbYv1A~ z+@i}a!EDuW@ZYBYYgyhfzES&lYts6keQ$-#H(o#XUa{k?i26p(84bc$-rsn%{-4#y zCwY1|q8RkHIKMdM%uxQ$`pjXIo(-{6@^1PyD3vt-)ob{BD({=sMy4+YJ*|fF+6-LG z`L}-+-uBa1NN+GaaZ+yfTE)*BIIQ#7)--ji>fcy(;Dm&uLcY;Gr$UD1YekETZs;`# zRDAsVY<=v9j}phFdo&B4?)&tj>fp;?@6A>eW}Yy-8FWBP;4oi)!8gB#gC>k~G7NfR z@2lz@5Sh~~TjR%|-*97zvq=A2mWC#ShPB)o&cZSAE>*eDP2Yc7=l$T#A%O)RM*79u zYl^l;G#*N5VzStL$i-N5_d0!^{~MVyHiy;bGDq;4TdcR9?k%GK-f~Oh#g5H;IOVQ< z+4M{6^tFnQpPuo3nw7it#6c|qV+ZapPahVTTkCV&IPG-4z-qm5k7t9!cDKK2CAR-h z+t#o3(C!z{-_q{Vthrm);PJiG51+G2y#106tGDaEmYZod!-%Wn(9@ZXKQp%MUD0e3 zP%vmXX4h##b2)*Z4Iv0W$R&7y0i6jT7&Y1#!&sn&}s$|eMbd_ zCb@*IVg5|v{s)rJzgJ0U`keMPtX?;Uxy*X{|NPMS(l~R|o}=$SROxaRF!APmi(LLS zYI~`&$;OcPADGS@NaA-AKffWadToO6HwB4r3OClruHSZ@%{u_N zp4qfR&-4hBaEqSJ5=K3b4GQt*dfpqiFgWSI-pI1yf`It}$qCM%qTX9dFdD6IHh#ju zwa3X++abiuSw6?RX8s4sH=AEh%iz{&;M>EXG;9ow`Un0Fks`+8Y#Nm;M+&$!>_4Vw>LFZ((Dckm~_ouVO?AIco9 z7!G*|6$><<*#DtOuYIA;j=b+`7uqX4Op6&*rMYdV>vH)xWmXqiPd7@s-w^uTfrsVL zZzm4UfL+(k4&;`Xi8MPX9M~Yr;*?o@K;;eNnT_k2QXCX`4)OmvAbw%<^5$JD>T?%O z-^SF?uz#1;vUCQeFWW-DHz=Dh{`6zwsb^G*DYTw_U}>>wOO1nM!XdHw4Gh}W%c^xb zzWm~EsrbS7Tfw7h>*0vC+y+8NOnzQ_zjgDjZPmIfXYbMoZDg>vTATd8I{J9Yj>8h` zfB#Zo_$_e!mtf1U51)4LSO0xo$^4#~gW80RFXaq`GxW5z3mAj*n48y?&3{|n+@b$q zE7OTQnGF*n;w!BV=*d=p7LnQ5y}W#SH#47pLuuxxzfso(JPwHSII=uwoF{HFYjueV zcY)9X=RKATa&L^QdTfN4O-_rSt}Wgvy`aW={T?Qr*yGK)dnir&8hW& zK255b{<>WLdCkqTN=udXH=>I!PyTZ=FaNU|quFkY>-(qvwKKB2-}zU{_Qoy)YwitK znr+RG-@X25@5@gncelS~deb0r$#BCL!wieVoICn8r|7bpY;NFSGmKU#ndS=8fUr3^IEdf3j7l|E}}cY&U&6h%z`@oxS`}gc0{&wpg zWNu+}?mhI7x zeFT>Tc+F@MxX7XzVQ@4?pi%WwXXOShwNoWLj$IDwZmrwHM8dX;{CFU`x=BdH^s_;M zKVO#heo&ao2xAhOx`u5^=qvzCBih}xF8LO+QXt*xlylAPfmg`t}=&)K$ zTQGML@3d{wrr+M&S{c4RJNIV-NAi(>QmcC;We;;5yL6T3_5yc>AeG~>QS-tMel?Yu zasA0|KjRNg+<6{MyB#=``JbGvf*}>rnFYnjn!2gWmJ3kdTHeCqLU%>q{ctN942TP|Dx8W5-$HqU|PWzQb zXG~Iv+;S&qkKV+PjuotC2cODToM=&>cF<_n^SR~ECZ?OHSpPb4n)BU-G$p}9j_Trt zbzgLrpD)?9at>c*l`?a3RrK1O8y4JR>5A@{*{Q+$Zq_QT9~{NHTMj!YT?u$|YE{kx z7xCETfnP#`mru9XJ?gu_<#6!<-u*tYTXy>LN}n}5JtK>oJxFxH8=cc~-tBq#0?@o0crS7L{ZD#b|Z#b<0z&rJIiW zm``|PQ@TRvn&ENNGrK|+=M`u3qIuD{dmp&`2=B?hGn-u?~h9OyZ(#soZW8M&7?TF58u2hz`R9F zcM+Q%x0Hg1Lu2B~OFQDOF|EINCQU}@M0=UqqQ(gw?l+ik z^|3utUVQdNMQTU0@S1>j@sOTY-KvWmvJW@59enPjly%_R1hWNPCwW>dZ}GGFK4|1l z+R(vt@zSk^%iFv(4{&j>JfY0;sWJBjZ(ix`+4saYGsq^Wa_*|^RuE%g{XcP;z=bXDd$gI`s-o@w@{};!}eUF&X zs2Eh%_U2e<+#_+XKKF^coz5sO&Jc)7eLdy%r`f3s9`R`J3F6I+lw0rda_@&dE>)9s zJiJugEPaGF74OmE2+oV_`Vd&i7#qQExN7@)#Q+A8*FTm{Shj(0zsG5F-H7{^vnDhK zd0b}xobAW*PGSAG#wX0~Cm0o&Qu`YaHrlM4UmRy?`X!nM!tO?6dfNO?G;o> zlyx+0rvi&v{f9K9tLE3{-yy03P4*@qDAGl?>@1y01g zuDZVGk-jXCNwewtNfBFCnQriSv^t(uN=)>`QLd~2uIS$K2|^*yjb?Jbjr;xU`m|k+ zGQK|=qz+B=er)-G@5-h_5@i<^Z%r!ORI*h&Zaq`XL!s$xTTZ>rtFAuRe9=qx;mrG1 z(-um7=y_N3qM=3h5ToCjHOVp;B6`!MfIsBNL7@T_RhH=NgN2jUPxYF`JkjUS0x_o- zXVn7NR>_^*&tTTraPcsw)|!e_`bY?VzNk@S<|FWP)pNGbYd`jC<~XtQ zv#@@<+UU?3#>&ldGtss$)c0W7Qf}=T2gCdd+PDv0o~L)LOZ|we^#eBb*(oVf%PbGg zc4Ia-vSa6*6_9UbaZz#gsT7N4k$x3Nl=xQmEf$lFV&F0nqEWvY6LBO zcGJbG%wkgQnXQh(+dP_>OfDIAg|x%!a%27~*l$EWg@ z*#r-K<@sRC?a*{m?c(9a8wo;tWlmgH2w~T9xbT2Q@t}l&VW-;>MmwJQEr%<0o;1cJ z@QA%H@0iG8_ANj{u*%~6f#ctna|>8Je4V)S=8jDbFCt_fb9Afov_Jb8vGj%8hK)a) z_4wv1@9#ZixcwxL+!c1!(mP)AYc?^NoGWY$`TH<_S<;NH|IGH4{tZ6pB)Q^1T-n;m zci&`&|GsteUfK5jwQn^U-taMP3)^x3zwG%Z^)yjO0J?v&^B_Y>2kS?0@D*|K^^ z997$B#G3zm@9T{AKTkB{D^K6AUH>BVy~U53%JcPdUlxkjO0L|%c{zNOH@8L8OY_9o z4eifXU!VNvMWb=`t^0D{cjoVA-n3wa^Zt`FZ%z-$@sdD-_vCFC2YGXZNT<#M*W}6|9)n- z`RccApTAE^hb8-w$^Z2S;{QxJ`<0LB-yi<36OQmQ7|37oV?4e7)0_NUo(T-n7Z$Pv zyq8j7)HL`PrDeLq_b=Zg)eF8qkLfR()t|`G#ByAjZ56}6|6Uv3mZY0d z+fD8Y8V({>&2PmHu&isHc*~Eya>LsKgVeeUyb>qb8w*TCE->+@acpGbY~G+~RKPel zon29%%Q2t3I*W7i2Zlg_fAa+18yK+3XSIkdHP0zf*s*x)6n~~~5AMx*&ywxT$GvF& zn*zT04?LOy(sEqvE*IYPY~VTHz}4L^z<=oCiUPsMEDR?%yp|GFIrD+*p#FQ6i$-!E zKi=sRIv?QmD?usXf#?Ho1%@_WUBmCM0&G5g__1kGoPn}Uz;P}vU0D^kOD<;@)QEWSi!paDM(lbZ^H1l3gZq?ig%XAzbA#53 zo%*QtL9qAPMwLT_@*6M8-*q;<^uCIZNkQ0C;o!x08NA}&o*o6fdutlaq$Wl0o2W3c zMV?>C^Fd*Z6|dCc3u;d$%CVkRx>-1FPocumkIH8QU$d!&<|v3W@N!*H=h1y7cBNa~ zmzmXtQO11r)x1F2C5ikOGnXA>eemEVw_Hj}kwCJ~i==mF?YmkZcCF);eaPXoPVh<+ zqeGgIz(W3iD%!<)3Km%k1`Ur2&fSn{%__BIA^*Aq5=rSou10zxlTDi!8R;7vuP&6GqsZ>^v0%z->B$bVSqs^6 z4oDnIW@mWIEu<)uaw)6ifU#roNtQ)shQ${bvQ?^O3qP(k6{RCq{ zi_>Z~!o5w!7Tv*CCyOnuxuvoWa%t#j9%r@{_O$KX{FyJw%J{O8fwSGq;+S`rjXzDc z6@6flt!R1wvXwf!amr@XpD$J)>at${Xv-O|ttN|A8-p#rURGlYbUZ!T^7=CtI|c4T zjxr@lyZ>MC4rEckd(Kx(Xp?cvV)HB7Y8DBg1H?a^eO}gM^TdcfNg+FhCnL|RqJWKs z>EIEDHN5JH{Err}g#|DgDG22G9L!MmoIYjWr?*~8J_m!I*gXr;{7Fuca=|m?Nqx1nLEw?Yx zId5}?Lf3BymUmB&IuNAYv*6OU<&M0Xq07IBrW93gS`?Dou3uFey1wc9E|rMM2@#Q{ zLW!k@lS*~DJR|;}KNQj(8d`4}CaD>``gqXBMPWOSas<8H#+B+k`)f$GDf5=Er<($= zsyw!y^N{75yX+jLyCHmi2be22D6$tc+}2~P{F4&f0vKg zm36UI%(82q1T1SZk7#C-TU@>2c%b{#YB3>$mPcJ8fhz6SbRRI8?&+@0TV!x*k$MAX zuYSyiQqV{bzx-ZgTZ4>TJ$8Bs|0SoB6FNo6;~fiZwO-#l3l;?WMW<+cPpv3m25}HZ8AGN_OT9 z&-8}<}9VgWI1KA^#L8LWrrnJJ+`{yWc};7^|yTcqmL8H^~8BsXe}497xQpr zQ1M7=)!}t)C<=#9q&tOX=nW+o*v-p zW5_h)^<1_zYTeP8{I4!`Ws&|L!>XD^^rucdH9e5!Va%@Z*bDE{)8upbc&j^E3#f*Z_Ga}^EI$G@TlegAhrf;7uH#iD_NZ0sD-x(|0v4tXAx0c*LHNy zqebbuE9VrX@_tcm_|Z6>$az@vS(w~s@LS|M!c|37~yWW%OjjO}-%Oof>AH4V!7FU2cFruSLym=dpE7G#+xU76=CG2!QoQiu$ap3@fXRZl8!RxDpOz3Sl&g)P%(6kV7R zqa3tx`Lshv8`x*H_+HAA$&a-=sT#I$#+j=VuN>;j379sQH9CH2+e42@ic$-f9{-l( z-?~vbMEh%pC}S>fgwCOMeTnsxA3R>ZH1FW=@e);!GCB&Q#FjTz3CkQ>s+x z=BqNQ=NJB;z9fHYOz_Di>$#RjCrpc)HQ6h1vF}Un6%Sb0blsyL8qVRIb>L<2s+Y5- zywu*da`wKHT1PwuPGq+0I_nxSD z|378#e_?er<4q&ynv|_Phd1dgefim29T7bv_x7%}&LtCNmoB-nsyD5h^>qKot9HB=Dh=DOHGZ5U zc&&%`W|kvE{-aAqx+=c98;)(1mppH@gm=yAIcFnxoq0RQp``d5}2Uc41}?xwZQ7a1X5rOP)1FWz5z>E`Tn z?+=`pzI&!s{fzlv6?WNkfssrV{F3{LOW$1A zH^)yiKmG9aR`k2a3GbHPoBJ&1(KEKoCj&2jcG>ls?ODLry>I@=K45ivz<%%TlXGe> z))n&3dnoa`R z)91aMeedP${Ie!Zc6JPMGa6pGmNGs{kp845=C)Yr29Jfu1F7SQl3Du{@Axy?2wI2) zy#2ucMrHx?<^FEx2^{n9y?g)flLw2_{{-8wOQ!tdSTEbNptf&;Y*fRCuUsFJ6nP&t zNLd|W&QcJ*bcSE^A@`eveC3-a2?AW3FT54n=)J?)-E}K(Z*%v@dtdzJ-%Gtn)qTvg zO+nyfYg@Fo7+v?qI}>&=(~K7K$ydG%@&M6K~_dAkv;D z;=V_O+3ic<{9mj0zkQNv_;0mCNdl+X!RQqEUrGtm4e=gE55?>DcW+ZXdm&T0LcU^! zRo9%2D)CRnng1HEQxI1OI;|e0z_6%kW9jP%O^b>RELPgH4lO-g65uqu@s>no#DpU< zysX>@CS-qnAbN1(SsMkLP9xP*oL!eVA7v4O(18kR29>u?kgoUh3K|I*g%qJzAi@l3u_Ey0X!h8?f&x$bc2I65V@ zSfMB2*#yrm9t^$(Hkw~md^#DUzdcyMqcBCo;%UU4AB9hv=N^yy%aG4|h;7F+NqfHj zlM^2VrXKig6uQ7*s^S9A*TqL~d||apYA9Of-2Qxp#PQgC;dNIJ%I^IYagxc`)?HS= zN75$JNmk#>eVRfubNbYA}XuzqEx$^4` zP8AlT*-Q#7hvtiVC>=SdQhg-QnI}|Zf}=w7pAUz{O|&{sO!HQl#O`ixGtHT&amvaR z`H+&GYH70?emec z;jq=K8A_t8RS#I+S*>Ns22k`vV$DWj#pGM>nO40kyCC?sBH`#Iu84-yCM8K~?U&a&B@3`F zT{HQdH2<1MIc+aFmN&5M_M0o@_Wa7JgqyiDJOnIPXid=ZQZ1>SwDwj_XXIAyr08!q z<5vpsIbM1ab$2}%$CF7RygPil)Q?>`Z4uJ5{$QhF?{@9^2jhH-l_6<3*RDQ1ED_sU=k=XPNk34$W z*R2iVj5?jb9LrPDBEMsyOz~>zx(kYJdsG?2HE!O&uavy)PiZQnN`T8|kq1qs0tT)Z zZbXNu6|_qf=JK8i3MegbwP4%iB6~_|E_Xb~VTn@#e#@F=S=**dxvP9A5zStZT@t+Q zYV50o+mBDoF?!6Qb!7pYNw?4UE6-WpyiIJ^Xo$>MpzhKo`OqYP2BR#W;dC{TkDUz4 zeLuM-cRp4~=T&ov{~w~Xq1QdYHTy2dsk?i=am5yNdRsLtc(Clzf$XggF6XiiNSaj$ zFzazQRw_5Ki>^>`X3}fQxXk5tEl^15#uKHdlcN2^0`y8`9MCPWz#bm2IGt%i++P?3H+RZ8Ei*r6`Erwiug;k{6P~j? zoyw@iwV_e8Sls1hrH)x)L6hjK4^1|zn^XS(a**-=wDLj2DGoV>b1MaylpahtTj-gv zgz24xLY@Mz;)6*K)c>k^2%dD$?pShLJF3FJT8Sm<(xEeJi;hn66gxCOyzqedih?HA z1q^O$H(a$kW5~kQz%+Sk%mI-J|1X`>Td|4t>8wDuZDB&ZJ5`tzbux7GyDrapw#EEh z$y`BEHIprWjkL}mmhj6l^W$I9=ex={_T{&g4D+Wxq)$G@XR+k5Bt@ds> zB>vz5cekjwbm5PK75`Q$II?-jfJZ+!ItpJnF0qTFUskkAfc;LQ1FKa)+oDva9}IaL zdu!i>Iw?67KJjvX9l>_TYPy;4B4(j7jTp~WhZpj$Y*%H`yz{rD>&_Fc@)DQgXDUBF zvnEMt3Dj~t5dS4GbK$%t?0H@yN-HWg{u@p_>9cRP@UbF+MqPn?a}5U<8Ksm>K7|g6 z$yqG2W|JlT0vZF_oTe;#l`_%z?6Wncvm*LKj%t}q(icwG@sZhP$X{_JDUW+Xv(188 z!a_F=s-I?XNeZ|iP^zPx;{7pKb*1RdZK(?sjbAb`@@hI&Yo)Ybn0>-(5u>rOL$X>q z!<L(#+tDtSwz_>Fht|R?ZPifOI~F%)GXQ4^?PcB?7juhiuUt7 zGx)w@r`wbxGXxmLTh6GOmM&=0udWah3V3GPS|~a9d==w9lO%z&S5D3d6BajWb~CZu z=^z<&SgP-aq~WIS%U@5N-kUBqqa@V&W9U9{JHzb%yRx=nKoMy0S#?Ys3X5 zmdlyHJf=MAcbr09w(q{r z`@Z6I^}R3aw(l)XVSSu3%lteepKw;~oCuX4?8h>XPvEmtIdt@dDu=vKxXgmb{g)QR zYKP_>)}PnU)^qTHP0@kdFP?Hs&3DQEx@-H%(57k9OP;E*r(a(Ad129(J1d?Z{C9fl zq}8j`&g2F!|8=lco2TF8N~v^Mv;*I&wvR36pK$y9Ka{Mgz@=Wz8ukBAq45sZ7s-as zv9E3xmGv5lE3++9DPCav^JMV8Pg6V+_~XR5Z>7##ymk9s^J9E12}$f5olFV> zI5%YFJQT}RlPo@#QTI$jbVr(KhQ#Cx4Np?jClm^pPm!t&FcA15_Ay1Q@^C}*!^S?w zChiJ}@{bL#4>(Fb zNO*sc5Z@?fG9%5iRBBaYhU3J>>4Jt;3)AD4HP|iEDo*yxN|8CAm}p|aWZJ;}c7wEN zT0!6TirELew;h)KdeLd-Vma#tm0AlUEgJaVe~p-M-CVOxw`K)H9f!Azssc-rg7iVT zcZ~9DFVsGo#607<&g36*9|fcOBciTtiahm5;l7~U{}rV#DZc)o=x?T^TBM{IWUpIfWnd&^+|&^3m=>`}HRh4(iZB)TNh(vntMwjK zvwq0Yo634)sfte#i{B)b$W5xTPRd<|oL9fb%Oo85c z;u4hNUf<|zPEhf9)bodFQv?R5RMQS;h;-U|UI~N;yImLHeP=DLPa{UMM%?{y* zPh(S!teX{Dn=df0n=JXxBB5I_GwrK-qmjn8%__d1`j#uJh9s$exS^l=LUX|;KV=2> zEEWE0SJNdM7?7K+?bbQv+_8We6NQcz>8Ks` z$a1cgO4d;e{6F<_lYn!leW9R&bjh?8hjbDzi{4R6y)UHqI7sjJrQ4a^w~D?j`6ml^UrHV_D&ao~#vyRgaA?P{#aGdYdT zTR78a6f#faG!lw5p3v#isp;2|sn#87#&Xk8UN|IrtK{;76FiMVwGJEUB@6ah8ZW(R z;CF+?yv4R)f$gf3Gg*#RIVM~2H+%C|3Z3+5dtV}C&(NNyTK#DPTVO(X!Hvmr+bdX- zSi>Ax)g7k^2{>&@67|+BI(@yy-_rBB=gi~JJu04?6)g7RFk*dnK&yPRgHYo9qQ&N4 zW_qx<3QZPoT6&?*_2+-pauzX%N(-4K7Co0cv_4ui3Rq4q=A63OVpg-|`jYAIlx8Fu zT3`K|b?=z-P9dAa!8W^!Q~peG^?DSn9A&*AGH%As=9SZ8r%8$$MJ-avbP-GRVQ=)Y z_|@u`uxQ0$|8*}H?=P0Rs?j1M<$F3=P0Y}iwafbW6GOipu8j(8H;b3JY*{jC+MLrV z8g@sWnWPL%JWU&p+ck?z9x%+_^n7yQ!fH#$XLAxbD(JR}Yr72$PzZ=_P7oQ`BT|0}XbvaL7;A}8MYO~ZbGcRY$u4S!? ztM3@E@%p-`HFJqe)v_(KmRRptV}3-9`@@oON!M(5SH@$rwolePw`!@dfvcdyoGo2* z!dnC^S4izY<^1ubWtLQSh6R8BgJsVzCltMy+cRA#WhUe54?Hgn$^#EB7k|9GeTSg$ z&-IMf8+c9TYZR_LJ$=Q!bVEG@Gr??+&R-j}0_RO#Wy;yb#~oEBJcUJNsb}O(&)r>; z3r)P1rm!r(qA>Rg(;63vnV;J?yb?X661zQQNy;e=$>60CTfFzAFexnBtQ@(xP?2%n z%&Z+t76%t@nec7#nN_~d2R5r$ZS{~6^qRHBch!I4n_fDBR=(_szH$Ov^rE&tj#~Hp z))rSQw_YKUz&3PZxx+w&(?{b{qE%ekf zFwN58u=s9H!%d>4fs$JT-#rRcPz`b{t5KgS@^5pH?o}3j*B~QR4wI#hTHTw24BI$9 z+IX1sWg8Y290)0xV7TY!)+a4O7k96@tfg)@RdUVGJqt@+JySzY-Be&R-n&wB-xcnC z{gbwAG@KnNDjrnI9FiIuv32%+SDiT4nOWLw&!XnM=QcdU`ClRRfkw1z{o<8Ew_L?s zPUu&zX0UT-zVgzgNT8&&m3wZG#MHJOf4T%_h04!e$~@5>u9tZTg+pHn6+7suM=W~Z|w=0*mLKrTJj_D zw;ZvTO5XJ5|}8|F2^{v+exW zlNVpasTnYL7#KM%h=0g-;@Z;Q_p5|1R3==~tiBwO_(r)p%Y|2|d`Ixa9fu3q4At1Q z&K#0yJe;>iNKZy^`c}SD76q$g$?}b7J2##UPOST|J?Tpjw_e-)M;F+v!?;&mI;Y#_ z@j6G)Kunn{G|BN{Fu7Z02suB0RUH_)gOcG)q;;O0~Ym9m(b$eJwS=NA#pd z`qYCNON-NlW~7%MOkXy6QHh#(i6LihnvisD`sq^|Q7=}9&CZhNRg&^;oL(5ly&=QG z_Hsuf_Gbk>7%q!WzHH3Ua#Jf~VWXMq-HX<_LQFmf2^zL|6J75qPNN=v1t>xi*7tvsBtiB z-nXpY<9$cia(P8OpaM1_ft~c1`ROH@1x%STKvvp)T?nT|ZmwoSE&Aoe_H;wxM`hGJg|bUsu5Y?ShlO++&W3OlEofhZ=-6 z1^CVG@njV6-&xC`S-|zNfdA_OuH6S2G937P&v7{_vfe1*|9*k@>0Hro--Ujt3!5Yg zPuwnSTUh64DB@Zua(Gg$-^C58e9xa93$F5&)~UOso10daKK;P0#ywU|`>(IQd979B zM}+L=)qWhUGM25vCoaaVFg&!mrSV{s^NXliN~~WMiVPM!T^qm}a-ej&U$T=Qf5QUy z2L-&Ia{Tufuz!ERS0%u&!StW`NC8L4gICt;?tZ(#Rk(otNQ0u&J)S}V_NfjWLQaZe zO^REND#{flDLE;r1r=!-2_5>Olvuu|Fz@ZHYcV}SMqL|c-+9r?T6x?^x&M*IgjXGs z>Y5q{-n`Y-6yd#TXvv_hE^syR(nNVrk4=k7QI|9 z=fje3Q`5k|rs$=Q!jqN)#^1S&M?c)3;mGzy;K|1itBm`?b1en(e=aP_)O!&${Y}&K z4^6zEob`+80+!5uH;#P1dSq6L zTVGU$-~r7!H!nN%zTCe>@e9NL>(-AxY8d{1e0ZKvWW9iX--i``98UY#^y@g8&)*O1 zdm7otFRjS>ZNt$;^VoI&O>Q+l(!tCt_-f%RX3I&=ma~#AWwJKwAG9>d|M4u$_WESo z6t2ZdTO|Cvm2Fm)xy(OsP@5-neIJtk)cW=9eosE=unfn8a_zEx`3| zgMZw7^VR#M_2)g^oX?b+=^8 z#BF+@HKR4@I*;Ci=KeM&&2L8xTuwT8+4O6~?n~LBaB^3gT*sQj&k`B?N}ssxyR(z; z?m}Uu1#^vyCdYIy@b+F~ZSKOzp8S&K;E`FOufx{G?yX~$4to=^DfR3;*V$ojqqgbG zPU(Dn#A~j2cZNp;^NAz(_FCn8{5p9sP`FL3N`dJ}fYSmSjr(#zbEfCVui?%s_*H4p ztgI~jt)r9SIq$tATw)3nuQ(m#@e4|na=Rm@<1tZ>U93maXmh6Bmk{GM6^4(G^|2X0 zIz3%qarGK*r=6b}t{oKDQWskgv31?mrrFQh0vKG4tuAQ3-cgxxVQD(||9Q`6rD&+$ zTXB`6{Myvpy3zmZ{{8*?pWVQLk-g<*vvQG#o~5G3%EfI4#}Zg<)sqCP2EE(4%pZmWRnc*UEFscRQC$2Wxa4SJG?`KF|{UZezQ|U7jQc-lBIa+o!$=Do~Yci2Qj~ zo9ots;<*`7#w!>#7I>yl2|X6cq0RM8X8H6FZ*mm4GpyoN17%D(-DTtV^lnL=9^Yn} zHuFDoxbd-qnyU&z-)5vtvRd)MTPR%c;$w56V-6{k+#Yqj+cIx{*%4D#J&ncbKF4nF zd_LcQjpX6w)p9yFC0u7$@hoL`d~41Q{`khrg{Sq8+Z3NQf4--9hU|$$GfJ;SKFd1q z?`~UqH9UQ9>Gk+_+p?SK%lDSu&OdHjez*Mj-tznP>~<9o1M{byD+~)eaJc42@qr%u zvnTnBpDy=*XU{Id_x#7?m_-XjdfM6de`AZ8YL>XsFL>YTCwU$LW=|b?3K}I=J*ZjU zw_n0p*!uE)f0leNR;kw-3SB*n9a=d}Uc305L`!n?Yxrwo`yMS|7M;mjD;E@RcO!i7 zUylTSo#fN3+XOgVzBC%Jy}bC0>uT>uode95mASvBoUrF8Vr8kV5ax}Y(=$HMt!d<9yVozyE z1IsN1tK5JWR#kf@Dtwmcv(;L_v?!XrIIM-q`h97ATo~ z(qhTQcC(hnMOqDR`fC=jCv7R>(rC1*2wbJ= zz@}~O@l;$$u+QO9$a0%j9$)vUAdy{)vQsu3k|;A2vd{g(bu3|}Y=2eDyjgDS`UY)k zyg^s(VoX=pt!fqB6*^70MuGdG0Q-zbEE*RR1Czxkw|*28V)9w{*k9+VL)ncd^Ag0u z%wn@UIMW_Z&G3NA-EDN5wbxo68 z6;mXm)7It$-Bor;OpzyzgPTt{^5n6tIg|H)T6WptiLuApJBr*+u*geXjLZ6Z4*I{D?dtBDKPGNzPH$*ST4h z=YLOLo)W4paiz?B@<>JLN=3t!CZG_K@L- z(lj$xlLMS9Gp}u_yVJBiz+=Ijqk3G6!WK#wEIY2owJED+j+CL*O{21vpJuO{GxO*T zu_U{`2^~E$94ga~8MQ|o;1P3V%?s-2vVHb(N_0chm52xI|4lv^&eB&FHTZ9~@PFep z^`3=%u^Y^1Cq#IC&oW9ZF;U$6j6vA%a$(|(h#v}Fc~XK>xyMWX2&rYB(yI7*JF_ie z*2O-xCNr1J3G8bQ?Njn#&+~G~nr`z$VQpRM8qo*K8E_LbKsh3@o{ z-|5NanEYnalDcnFD<-YryT9ew^)&CkrETK#*DW)>W5hh?{()4#&M#nE6Vfp6|b*;PdO78LG=kqhN%sF|n z=iY%lOQlPJ!aJJH-t0X(QHSB8?uJFRiCS%6riEXcSJt_dSLjo7Pt1fVZT~&ldIEQT z{3O0lyS((Yw1zNi_OkWaMmJ>>*D*v(yFBBFao2plqA$+lZH)YY0X`Z_beBgmPJYy*loG{cij&5TX~x2 z?nobR{`fmYFJ(fl@aGx-zcJjgH!7e0qrznV#woKcMP_MmDL5t;krnESp@l0uEz4vP;ypY7?JH)--Rm-osxl3sy*lcsz%S<31! zd1uT2$+>0UrnA0nX?Na!^lU*PyG>Hhd9EBG=fVq@_nUs^>)9vFbl}JC5=|Q(OPhw< zYa6ROo2)IGH!z-jz0IX-e?fNd_KxnIE4ZZ|*dIxr!g`@m)RQSxd2iqE9sg&o|Dv>& z%|ThAiu0!PL56C}bqDnSRl@-BDbuc(f4Xc z-A0*O2@5`&JI~Q@{m^Rnqsgp+E&T##pK))0FvHSKnwK^BGbb=l+_}$d z_s(FRl}mT6R9M5az-zVbLB}Z$uFH(pTUV@FF>6)q?4$Y(%<%=h(IuK2F0sm9XngU& zRNKHUC8R<2g^Tu#=E55-8$5)U6boDYoNT#rvb7+W?Ze5lJ_w(bJnm#UWl6NXVT=2e z9UE5~I6pJet)8N@Z#5J5i77_O9l4!4Ex&E}m#ldhMI@_QD#^5AHI;df}NYRs~C*#Gf2B|K{OM1-xpYbPL?NA{OD8B> zd9u6DVk%@f8uDr1lQn0W)*N+KEbEs@tTiO-DBZeaWwn0^kt4Y*Jhu-nKSpm z=BXZD+%1>5A`j|b{$cvi^X#;f4fB68nl3Qi+$>YNMCMkC-?fcr`z0Kd|8#M0U`mf^ zI(V8(&})|Gi~|oi&v~3=m=ej}&Er%F)Y7ccCi+$ z`FiC1pDXA8J~{vI%lZE-7Z^k@Fsfc);+-Jr6u^=yoa=FZlScr5W`p66&CL}7{EoX; zzwYPqRazgQVsyxt$@4t5Y`V*SIvrJIdf$IVPbA%u+hyDGL?`i-?u7BpHgWFPXCUfc>H03(i$;o;gv0%c{dtbdmhk z%QY|N{b3T|3bezbVki60E@*C#YHIJ|_dV0mX zdAXFSMo!R#BCF*`m#A5ksCK*h6a=ZYl}2=&buNqYaS+is>2toXRPCTO)8_w~EG>s` z*cDhA$wV&Ps&**n;=IVKjhm$Eei@4#;OU$?d#-5Dyilq9i;=rL1^FYFPqv-7>TBeJ z++|{$&g^8qy*iX(ni_lkY*%UN z6;aFBP0rd|FHM~6wQ_2b_Vy<2okCLzS7@7UT~v5N+u`QweZN+(6j)=bsI&Hkl-S8e zVT1cG{-0o|DY`AUV}f*&XqAwK%8F^(C&kV)t<{e(J@RNukfmti#{;4ZbzcWD{I<3G zQ@i$tm&TDrV%Z0$CA+Sz@wvaPR^wZ#iDJasYg%XbZ1#V0h~?zbi4G6qZyws{d8654 zMdMG&2j{gO{5h(}#JBeHsx>t}YmR2E>9kq*WYN^;Rufx_;{!J8@hKzn5+TeEnaSb@3N{$vOJ=Y$=Y%Qj$5IgccZj^KEcvGuT(l`RK2Sl^qB7 zY`L#iobxtcS$kqb-@^^U#cll3vVxaq2(8{Ga=1-2d!x8?lf-PpkF4u1{+h*cvq!B$ zy>qod(;3NKF`K5pkg{xc;5}(Q-NGTEbJok9&bp^3oVjp6{hpzT%d~?LX?teu$U7#W z<9+gDg>hCGgYNXjIw(-sUP;;?XvLX?`c-MH``=Cvs(0As8gkqE#2#3 zl=kmuf_^J%rx_P3ix^4wH@9(K@P1Y-*1Ll>d6#eZyTr-1U3@Xt91+pXf*A^;8k*XN zo<=%bKKH()X_DFO@bZ)gQ^^Eo?f(xlwQg)>t73=~XnB{|$CoNR|3ROVEl1pE)Aa>U zbeV)NPd@iW_?S-YM+{`cvv$T_!NH`~;Vd(I@Z9~M; zUcSQO&M#l5+;8dJdwAl(-w{Uz5>AJ0zkS49{V><5KAxZ1y(ye5$HjUNtTyj5(Qjzm z?^U@&Sg7YAbMBeGoh83b|4){x?|aKxW1-x!<9OWc#z`&R$NadKynULNR;B#*wp}i_ z%yw3j=;wCtmV4%1O?zwp;l)nY{0Vm5c3Yct|3|RSmv}J0__)bU7L6UONk2j(yIrGI zce`+f%)e~4SIlwgznANuWo`89U;b-KfFG0XyptC*t?oFd>T20;spGtHR%x1X$HdQB z8{WNI%lCTYxt*N%ErX`KdYBrnsIuEXX;;oHrpe8jn<5xiBpY03cD8?*-*&=^<<_p! z7rQ>L4si->*~rb^S}J%^WvLa7TW%U@t+DR7B(ZGnnYS-ZVsl10gU*39 z5#>Le-zKmX=^ZaWxOw||=O(Kti<2{Wo^A`Pw(sGr?QL6rpsxKh?@R}tDcrj@aF<;F zY`om2BK>m1`R%sz-&JJu{;oD^-j@FCU&j{1^7mydQ#c+^_-D(|-8IX2KI@C7)c*@w zH7>CD9%y3`ES+h#(OU1&uQ#DnILbC|TXgE>JXx0~*Z1bHt$4*|UN*zxiVL4hz_I=% z>8$InJM!s#`yTSza@~7no)FPHf?_5GYa^UqAK-iYfKR&L>EnqPpDg;dW4d%&_txf_lfhr5c;16@AxKY|ctL@H}sE&NqF_JIa~|-K2(_tw5$DKNSdmjz;icoi`%)g$8yhfrJArcTv+Pd z-p=ZI=3>AG2A-W_Tyjo58V~)f{Niu@Fk0lmx+N~`N=5ck1r{qq{tC`T0bQb=lQlv& z-MaBH*`t+RST9GSa5%Pk!?$4&6UHQm#qVJX*HU9K%`PEo(JD^1R6j%<0^+!LH#hc5Z5uXybzGMT|K zrr@yPROP<@EhiqFIMHI8q;#P2GDGJQ8NqEnlb#f8UTk5%=1bv?#r#v{y#@AmW=I&i z2sHkZ`T0@R)J3G@(To2lK3-_y6l!FcY4Ne3^!4?P;v6$wUY-zl*&=_g&*PR!R=a`# zZ&9yCKhw!6y2*9Su~wz8`S%|;G-MW3=I38nylB#&zi;pCmeo4YsO4eF(@Jlqt4@phbR$eCecj}9(z+}TxK(=WDvdw*WKy-Z-zp0*A-mh2nvoj;tC-sogo zvSoDm~5&^UrhK-a*|{9nhQLQ4bNTXB-wxY za?05+ETzihSJd{q<&WoXzgPYF?)Llj%yJd?xP1gyJZS$srKy1XjleleRVBHdPddtL zUp|Qmt=su*cJaC3XYJMj$4ci;j@$Ke`QmxMp0r4>+jW<>VPjw1rp-@xy`AEpWBGFa z{d>FL?)hHZD9WtsxbFRN<@tL)osN#ESbs+QfrD6EmZb5Q>&f%1UmZxkUwi+~`?Y!d zx0`~Q5t9KZkX_s8@1|NH&<{{H{}nGG74{>osnW8!ZX9Awd((0E~SgT|pJ)_f9PI?peh@N1Z%#;;`9>9s|+ripon z@U#h@0aq5Xd^@oA@4>tdt`FUQ1sn%ejW}6qFK}?hHLjhz;y|Gbi?a0X7svK)y&xF) z*a_(_ALr9~-F&CebAQc7oOnI*;q2!v++}p$g9PAwvWp7-VTQ;Gfdvk`epN2rI zRas(N=>(yvuO=K5y`OO=dEa|xcY$-;#nhBqk1!;pMmw0aZfn@QbZzRXl(bV9%s95* z{NK*>Y1R=gQRPnk6WIcMhU!-83;pUni{s6#5AE8q)%UXP0f{3!`1#&^nIN>HS^RS3 zAw{tVlcQ=B1rKcDk6UuFU0Whq`#;YM2mXUgWWPMpjLc+JyZ*38W=h~9Zi_BMr=Jrz z{wORpyRf`AU{%mGBh|%WH&)#D`_QP<;w+3jFCt{$?VcFsK_~5zbk}I25|5CF_%MC7^Hf;tU zuM)dq!Rn+tn&I24Oa(4)JXEM+(rJ5SA)BGb{4TfSJN>;v81*cYIj>E;;V7Ck?P+DJ zlI#PvLV**y|D$xCCdae0yQ#By#S}I8GISi!(j$DbX|W>DJJ621EcljVt%vjaL+7}&e* zQrJX{j3$XLc%s-c-Hcb`zw_w|p{GfKGZS9wKIgSyo%?G>@m!}B{S((SGd=e8UA6u6 zb34&X{w%$ohxt!77~V*VbiFjwug6wtvebpv5})Vnc^R_L<~&cxE38nDeROhB_t)nR z{JRcSL^E*y+axN!=5Rs9#kN`HMvc}lDtUXCio~_eaMS(eD!WqDXmxb2m6G$4Gka(D ztl4NRS?HF*_&|kc-TTe2HCCFRnafl>{b-DQq19zUskGT|znpNl|2O%3{Kn1Fe1EuN zmzXTIVhEV?+AXBhuIs|Q(zouiVSEZN-v% zXFsPi8|^&iVt<4&q2ra`lyhGy{{K;Qd~ZHk<^!wNoC99|xvkOH68jX_%=XP)*`@T? z=AqagtyPj5th3K3&ERN=dci;6`fhFMd8M%O-8ZhjD}Da@uF;V*CvL^4xj2beSS&Dq z5+`STQapZse{t(mt{v4crJ|fyc66R+^JOop^Yq$N@r1kJgKKNrJ(bg4i#g>3oGqTz z&0iIxsx4&76*MJjzHAS(@Xc=roeS3gp7KfV>#Fp7^`e2TJeTecx?#mm&1}YW`J$5eHW(x`!NOl9hV@BA}t}>-!USM-2Ij zrYPr3zCZtCKp#WD($Qyk|1@%$+0 zx2_<_>4evkj)QyWb}Cgah?sDRB`AP3NOnD|cZ3V`MG5Xr8mD;^Cv0};-V$(n-IqgK z86;FQy$ws_`HSvxURubpRpn)HVw+QnjVEAKUK+r^(+{B{(?BrTXA zEBM%apMdJILuxUnpl1Ruc=ROKS+!2dMdqMd&S5K|Ha-R>g%<~HYYyA)YYcE~(YciL z`^O{Ggfn`#F20@9!2iL~AnBYzQ?i|p_nQ`1anXr}Uu2AL`HOyh@Y_Y%KO^P;<*AO7 zJzGRe`3wKddS0@aPxFBDrX|->4ynCsVSV6aZNi{;g1MpOk@cCwCMKttCnnup;$U+o z@X;BiKRhXppOil7sOac5IM*d#n(8RuAT{N~k(Fx&-Hejmulc^{c=BsTO!N{J7dsd4 zZBM-CNn3{{MRhF_*J;o^cF62b3isb7>seHFTwJ*3IN98Bw%x$gz_5hL;DF|X!}3cT zwC^+}l(Of%$ z(e8y~vYB&dgj$l;GlzF9JXe@Cjg}?Hb)^+OOPqBjD5^u`MXGTNldZ$x6#@(ZchYHgMzfBqf3Ql@EMj2y`W&5 zt)A0Mmp{D|`$9qtbiAI*iVF+UZ8v&MRZKJ!JYzOd)q9qzOGJasIcC!qCC~wSS5!a; z=v{ccWygycGtXEz79N4aiUEysN1P3gJknuHv(1PIxWsJNblB8{ljn%D@exL;JIwvR z78Sfovdw6jAhdF#9ShGLXY(yiq5+N$pIrD}IB4u>=KsN9yfVpLrl~JVbLuO{iT4EM z9W-6$sQu?vSUJf^vp+6#T3+UKCzgDt7Lhy621gER-f^Du&X+AS-v1vywjyct`|0T7V$C`U(H!|?d-BR#Tr45Cydftg}B4t$u?ZMUi)8Jn{Y4@t7&qCgUBG&zoss2c4qwY_1&E zd%!H%`Yc0C^@Z5s!&zy~Ka(;iHNIsl)aLsrc;ENPsg(z{4rFd~5Z?Sqpx8Cz5R+s{ zvvq~u2dRy=bEHK+vz%&sX7VBXwBN1h36qjiqy9VPNG;>jSTUEgxp$U~bMwlT7sWK2 zR!x0>FGrna{@Z?rc}x+x4PD)vZu*Fat+2LiQ8MnClWLHB#esLn=@U!bO(s3RVW)h# zN`?9P`!$_!eww`!V?88&hCx>5(0&ufKfB}wH_Gg&OJ6rP<@DTa-&Ltmc1=6q8QHE| z(Q`?gw>v}dv$oxv52|zY-fqehwb*Q|t@c4^y@kCYu(qZTC4QdRlii zABX#qU1g7~w`ps=D%!*L`LWRFV-m(;JDH4@=LH58&oEJy=GHlwmhZlG!;zCIjMCZ^1hy0)SDMf`r*G%F;yI37iqHE;xv2D z(d(_Up?$ZVX2v=%iQTzjZtRY^3I}3k%uC9IZh3fW-O9Az1rY&UWoP)r>=vX1}j7Vt1`D7;%_cB zW^j^u!Dtwx>VM_sB(uzGV^4eLU=Z>N?UPiGe2RtgT-d~<0wu*hl zqN&He&rMU4EM}ed=)=djrV8;@pNo#JzR>CMMdY)mceKs?m;Y{*iSLcRhc)L%06J{rW#&nl>D3e6gc`iN~=R_6aQ=+4H-vZ(?7| z=N^4EK8eGzu0*uge&>%)(aH-ZQAgw3FSKo2H{r=owgQ96zn9+s^;P%YKiv}R13uSO zc-DXT?`L*OFhZ%p<||KjUZB7#TY+Z2_|jCdm9-IR(`Ge&zNQu*)u$ztuOqc=LA7zq zecuKB?=t(0o!P3)d43suUXhlSx6uAsU2*G^SE{yKI`i*28_#Kq_YM@lz`1!#!X};W z>HoTT+`2ukEZ90{BHyaR+cxZ2mUYHd@zALS?@!DP*fh0+SLTdg%EALBCF0M{RI2?J z6RLFC;d{l!?T*S$%eiN)JRd4e@3?rt=a9hf<2(U%6>zVG*L!=IZ}UwwTr<5AQ<>)$&bzUevKFI#hX`$eXJ zgK8c&ZQEUKylNz@{`~*+MDgsqhnnesjyKnw=>BtJa?Q!ve@-s0Ikh^G?clCczZJMY zr?}J{&^Tu!yk%+Bv8K54M>boUkLOQRyW@1>Hv@%L^-?URDqYvO+|s{eghbIJ9VFUypJx|yB~oAyXw zH8bgw2|r_NDkzq>zhCr(vv9}_{uuKI(p#*SIZ7QlX!hk#?UM!>6}!nk4Qf}KL}OZX zVir3n?Y(qc`f_k=#o8VB3he&X*tyJb;GJ>sdbi!n*>!hY>Ynt}y`28{sXQNhg_CZA zP2zQIjY8?)Kzu)(L|G%5c{2WKFX0CO*;M5X2>CgN5a&C|L?}yK@ z{MYo?+5WS2y{4I+gNA@b!2=fGT{ap832EZIjfOUNCmmhU+QjNw(|b{+d-CCSLG^7D z64-?uS+!~;4J{`$uQA)Ck-AfL&srzku`1Y!??FAuWFw z{)eB=J9h8m&fmklda|F}g*6k7ujSu1)BU*Y!;emU((Wr5r3HXqRrD=1ZkWm6eRGTC7b$URs8k3|vV;%%`?*TCn6vm&X6?6Q0`YFMncm)-*da zm}f!WOVx9eO1g^9H%|GKA|PAUvDn|MZ$nc5_jOl_HSEL<6xn>u4hK(?sk+eOe?e*P zmP<+-u1xa2amlA7@TyGG*&rX&x0n147^k`hI6W?K;5E`cm1OFvY5H=D%6q3?1rf20 zk2=iE8@sRjJKrt3yj|vm(=@xj*d@#2uSW6e@BQ?r*o~EEm+G8CGhxPArN>UD&MoOE z&SO-%rg>bkI8*xgjM9R?VfSn2J10(B{@~EMMXcL42kena;y7~H!!w{_0o$AheMjFo zaIgewGciUi_x#qexJ_bJgw6!Vx*rd_)oyIIxY*PFclsu~6$UpS@(4(_9CG|$Rj`Ef zy_(|}ZWq45ZHXeve;4rh_!vB7Stu*V(K4$(f=Td8g&fPnWvrjVlj~B~TwKdqWWhAg z^hn&{4#6ik3gs$i6uj|B2si4OA?)MeG%ZCuDwjRJZN~}mDbfbbXZ8f&t?rPO>N?OR zlT&+b$+ROU4hTD{&6rcr&C?!JbV{B5)Y+Jy`)U{uPnI$bn zFa9ih_tpP@n8Jr^r-Qh@<^`{l#59rNnn(i^tJV@8$L5GKk%VT~iWX))>1oR6z8k0~1T^O< zDtzT)Td20eovEOrxxD1qB3`~HjrSHOTnGy~+^(o-E&k^uuiA+NSLOsXT=+Q4v(90O zvcO3tdoO2^M+Qrj_P#ZL=+v#l5V$Bz_Ly&&U_5u+cFiLljE24(jXHXcjfWbRsro9M zkycA+H^~cROwM^M{kWoY!yJFjB#y@p$7W19U-({Z&Voai9tiDA5Pe#;aWi)U8|Q4d zMOhPbItlSkDGoTnOd{M0)O@1;EuvVGy}udt|-BdYA+iRYCYC*?1k z>lGGc>$U1s&HpBmr#)wu^2X>b;C}t0ja_Sj-SZX&^OHdi9B;PoOWCx#v*@eZo4RhEaODqCTGiJ4k_*g50}XkTG$m*SOhv3w(1|@ zV}E>8h2!1^9jg)rnSvD!k{SiGZ)Gkp-JPbq-S;qa(G0ejx{%5I2ObM1EL6(j3F=m^ zaTMNH=@5QFX`;B+BvW|``Ipi)(RjkEW)CF#?4tvV@L|8ttBS84Qy&eOq*PX#@U3{{Bm)$(Dz8Nz;} z(dYQ)d!K_&p4zc&8RI3X|5NxRlur9+zV^9t*n?yLbk8`uPb+?B$y;VUVlZE`Sd>e{ z(c)aAcl0d<^Vvm?dt{h=b4^4S&F%Gb=FeD|V|Qf%Q|5t-Mi$P(SBr(-y%gf8U8?jk zBxUQ@lC`?655Na9*yK3csc%@pv17wRu8e*SZ*2kgkPQnWl%F%mCbC>8yS(|L<)U{5 z3%AMI9`g8f;e}bVE(#lyLHl8@2cyonfcd<3g=E>R$mvedpk?% z^2(O?RkjE2FMM}#`v27YsQW^UDg~XZYwx~_v$^Dc`|PE?XBm5&Bx6E+opv0U)wRAx z@Xd_9R}b*{EYi|yX4Q$6VhIZ9c-r}&^>%3VJKs%>rBB2;WxQ&26S!VyxTQ2XuPfI* zen_d!&C0|qC8y;1hWRVsP2Q_z(5=AO7{s^MJlCSx^-9CecPuWK4#>>>%`i;@JS-ivL_}7KYBOeoM+X~J95c;h3>CiqFOS+b$5c!OmXk% zY3EE%Y>9pTT7Qz4n3<32woLT}NxQ9%8y7LiNpS!7NZzxaG2uY?Z1?gMhdBqBIVCq) zwmC2c{Md1}>77m!N01X&SmlD+8+Kg zZo4;gAv1eb)bU0cSKbeA4`mwNZ4bJ0pILDWQ(eMhl{jy{4<61^i#YnX`R=+ezo|rX z@>W&ns6-y=J*6!Ao?j$aJrFx0;V3xi_?zJG;e8(RRTnc4WLZA)^xv?_N_2|c!$|f! zg2#3_Z7;tWDqQ0eY--?Go^t8yiuEaPCm(9LefxLzjT;NzxLfRQk5k}YqFYf@_``@?56%Jy}9T%Ty%P&6g_7I2Agp=Kh_20Mum;d`PZN@dhX$iV# zqU{_T*ivpq!+dg*%xF>Io;=0B2zqY~hy3v)X@235p-Eqv- zMaIW~*+pQ^Y$5Nc!~5=>d+PV-@iAVOtv=Vq5$_wp02}1uR?pR>UZ) zuraX&7JLkP)@7jl_LEXUoR?CWTX@?cHb-WT`mA&<9y6^rcICrQRGNg&Ecj6Ne<8=j zLoCS#M$^uQmo0cX?*dO#!5gQ=-=fr+PHb?Q#iX`|i*u?M=T|;67iX=Mg(hr=crG%9 zFAz{$w!w6bz>PZP`nG;E0q(dNj~U|{XWdhp$y6wNF0paJgA;CvqR-NQvaJ32h)GZ? zQDBA7mR0MmCp2u0(r(E~5Rz$kP+Q2i!r@Fpw}MB5V;GCwlgA>#AOCK9#`Hy5_%YA_ zXJ_WCIA)ooB-l;d8WzZ?w}8j(h_IvJHn9clhnnr)tYvKH_&4qS)3P^MwgiqjK5h&~3V%N;l)sUCJyA|@lcMY=MMWbe(2)R}lypBS85${@7Aae9 zQnvl1>}aIoTBPE+NyRrvshQ`fUy*9$CROcCj7E;`PZT*g4sjhjCab!Zanovdtpd4< zNx=&gI4&-_!m((B!Y0Oj2Lg;VrPWU=PG0$A-%_S?sshTVRe~<5ZZwkqsH4>FeLiP} zy~sJ0ZJXp1i{z3Lg}YRQpB&`KI>#-i>;BB~63ZhFvqb4SArp@STx$}1H5~OhM7@LrlSAyVm#*K36cQwZ3|lE8nhS!s8Wj_G9;g>?(; zE-NM$<@g+8YWwe^zSmpf&PUm2jk5A=;_p70M==@RS2B<-GC25rqF(V&u?6>--iWGA zR47}oRsGpw;^e9&I#y1?%HGAb_kwoUT;lFIqO(2GG`ZMpXD_SvVb0U1rl>gZmOZR- z_`sFxsrSr4kt5kyAldfRW(_7~-tEV<0$=fc=F`6Qh^@a#y7q&*m9o9~Vr{czTgJ?l z_l(0>n7bD^@vU^Sk9W3WD3r}{Rw!^buUNc3VKHM@r%cdMiwVw_Gn6e|r#ubu+j1az z+nVLhmy`v}KJQ5QC|b&7pEuDygvG(B!(on~n~;lw*b>Jg5hs-+X<96^4W5Vxe{tbb za_PHR8X}?-qT;^srAz$(6orU&Pv;dY=q%8C-YB)HTPmrMv*gmVl*_uCC;QA@Y}URs zqVH+mzR$cW3wWn3_urTD&PR!bD^vgGl+ri8haVhyt&kbU)f(*6z;dH&`?O_&9eE+Y zruZf2)HtYm&vA{kNmck_68sD*r zg{N^gzAn0xJG{1JtxHQ}6U}bPNYYxAq}P_Zt0mcnEyblR#fPo5V(b5?v}}h5e-1F) zX1IA2x}{efOK)h)>^R2K!|!Ts_g-^!3A15u~=sqOuX^0+lalMm;{Us9J{5X^Y%dF`Wg3;B0E*BYg@llA){Qp1rhevWbawHV`rCh~5&7t?eji{)-5vRwJN=#+@ng)Mx?A51M;uXOH& z@P&74k7!JK&9C)y!kLlzzt)4HNc&B=-RQ)Gb$SR)y z`^bb_oCU()qnk2kbiJIhY-Nh$;TQqISr;5<75z_+%iLz3E-JN=$0EXH&aszs=cvuQ za8l>m%DMBpZJAc-JkxY}$GL;4asCS*A%<7y*j8mp=ARcjb>1sP=6orm8Kd|;M!6;8 za!HB2Vh*y;AIioETR*(&lll3k+_806wAat`R5E!u@toIEvk84=3D>TzTAP(#JN;Dh z+{FdLFR#BSH!jXBoc>{LfM%U-L&>*r_PJcT3%nS)BI5b9H;S#^D0kXI{|(;{Uj;qy zxOtpXX4<8}<)z%~O6A$MvaH+Y@?_hI^Pb5cT|IVe)e2@P?cQD#IKOP;j+l~kPNqu7 z8>bg|?}{*&IUlON)L8FyQ0_Y;pM&Mr+)3SXkB^?y;CFBc-twPA*lx}JM;)Gdo|PUw zo;*B9W@uS`*lxdl$9*%-XZLG}QaemvH(^qoNhI~w9J#^;6nbX&NJ|#JqE$4Y$68OJj zV?}Yq&Ru7+0++N-o4&A0Lgsv^!WB{V`;*igBlLP_&vT(L8Q``sN`&tnbbT@mk=IvZ@ej!iZ0s%b%5xwx4Ycm`t?|f2erFVX=&VN2W zgUB{h$+k52th-F-UDoaN;>+&8HbHcOmm@QS%&&!tR*O`t7HRHUr2A`;q19s3s>PPO z7Tf+>>}a*bwQ7myt|h*|mIPWY4Xs)lxoc_cuce7r%TlYBW$s#LF2$tK&7M=WJWy)+ zdB^3IRx4VoR&?%K(fez~#9xc~7l_PKWMpVy=x~spr?7&tr!@X4&3canuIoT?|(gq-q>Da4N9P zTCi$<0@I`a4r{!t7`8d^h|FgC(!k2m5PJP!eZa4+%Y|Zn4lcZSYn`?f(}IV~85b~c zIm+riTqwF(ETUoAQlZ$k-AjK;Z8qM;l;;@B6uqeX_l}3ZHke9n4UJwMd3%@Y@7)Kj z_Z+R>(>iO@T&Y#Rs}?PclIlCav*Y1f*;xz$4kB)iVt*RM7!Gdn+{N%FK_=&*bPl7` zl1BE1YRjwzGiq)x;g*r+tC77V#ZY9unD>Fe_Nqgd6E{}QV$jo;R++*uBf5ER^x~yO zyYz2uxX!rIc-H>E(g#>$wx9fcG|}c*YRxhATYGe^_cAsx`5jxx?$F2ZfH8w{Gxq_W zFUOC1M(umADry9f5EjYMV*6Q^3J*OET zoPAt#j=Oeam7?G^N2ztU7~UwzENSF(n8RSf`_m~YgZ4Ua{NN_mx-&}g( zVNI;S-<5$1C#TOj7W?;VqU|-w+s7{cUS;~{2)8w7M(cjLvn`7JLJixOSFddSy?wuAY~DeM7Da|h34)$Ai{{p@T3EY7S!VIZy@&O?rRUu8 zyQ+Hdrq#B^4`VhYvfN3yJ$;u<-|Zu{vWs8;myunQAo{E74zuBg>#?%8YAquY7{t6~ z^B%^`y7i#lU-pyKs{Hl0qQ&-U@4Bogb@%q34Uu6I3p8chtRJw;Nyp4)p7eM1%-Cyz zc27g=o(9gkrf3a%naZ3D53fu+@SIucc#7TG;#&)O z7l?S(zHL|LywoUQ(IE1P;nePfE8pJTt$k18%tE#g3}@Hdz25$h^V+_*tySfrSg_yjH*UNO{(V_0_Ufju!dV&u-p3dG~*uK-<0-{dOMVvFL;qC=4$DVvQMO`WbJ}km#W*i!HRFNrd*vAB$h}(r=cT3Wk;`}L z%xZsh*PoI9v$J|P8yDkQcI&s(>t#|L#f1L7jCI(td9U;tR|&4&+=~*$HRdhK|NCz9 z+&{Cce=^VBzIFcZ^R1#1avNV){U~3*o}EEqnu5|&%@`{)2960E4o&c4Vi3@FaQ@D+ z$dy6h(A>w2h6iSrDr_um;9$IE5xFVPG5R=H0}}&BgYxQT=H>Fuk6LOzLywm=J~33 zq-0#lRFsRjy=CX;=NA@x&-dHA>+5S9evPhK6INZF&9{o>ebDQ6*(CmAD~m((+%B^p z>v(@OHoW-#s!g?zTlD1}Yg#r)E}NY7*oBGLGR5?nl;?#9<$^Vr)(CZ)l|2x<61*bR zG}={Y=CudqiEF1#OJ0&166*Ol;ZPIf`U}gYJ@%YDCf;%ErRW{^vkx}#HRW1%-0gQ@ z(|j_)<-b^FN-^sW#h`+O8Iu(lL~0b{E5d2&F^|A47q((0NUf#NrHR!*+} zA*tmtGkw|4XTtStTn85TuQ)a<`9rU=2Se683BP#N$Qi*aj$UP%Q*h9xRE=RKm)DDl zJD#n2y>8F9SFc@JrabV~jo-rPt1Tv&5LP74%fMzB_vxoHqt+UhOKVDQnx?sDt$WPt zk#oys?bdl)Sq>zu;M{yU^O;z}aowG3jL+$APiR`cM_YD^N}}nDXDROTshyKISx-`( zW3Z&@%iE>j`zGs4&->r^V%GAPcZ8xsQ`cSQmR-GOv6dgJh|+uAeKrsE_9$QH&fXwp zd-22J{l|1ZpE0?fv)PwfK``H{$HvoOvv}Zy4l7lD$p+q!i<&*FlCG6B$g;T_E%sx) zBcPv{uuyvDE~|sj4V@ScwBDM>$)n)1=atK0PJWgZH+`A%maES>U|#4}R{px+^1;i2 z{<&tivOWtGW>-lDOfajf@nGOuP;uu(y-lG4*N)a{MrFnu+SZ=1dhz#dOT{@?Ep z$MygJ`Eot~|KA_a*Z=?b=llEr{~34|FtB?ZV3PXKz~QriN&LhCHmeVf0zC^@)IAPz zMSW0ogIA#`hu{*)%p;*pD95VT(^JZ-O0-j1pPxHIjR{4gNE7<{UikbLxQ5ffbIt3M)?p z&H6NDh0jtgRShSHxJ|5lGnftfW*j%%^uDzwC0>$!=PA(Yume2LG@B*ZzsWRm)oyXo zxgqWyt!6x(>&8-p<(_A=qCU^EYI*$o(+d|vKf&qmC##tq_dHiL>+>AOE6aYz?eJkW z`8?ZzCtakn^IX-f&+~qWEVH^T?(L{{dFF$Xc>9+#&o@bZS-|0%EYN;KKuW`5QlY^? zj^i0kQaMIqi$WeT?P%z+xT3($$-C0S-RqLnHlYb8Bbu3{7O+?`J?@hWSg1YuVe7Zt z141fa(ml&hU7q*r%W?wG?GeYT_-kYW8O1gnGr6~&LG#JMT5gWkh_kZ}u)Xk!+gH)dud1*~ zcJ9?WUI}J}AJ-Yo3z`?i_^wG}-_hXX!@Tj`Wkv;th3(Zf$(!;67O}=Ka&K#UB-L!w z$p6FPIJ-e?(pC#)3O3S>lsVL(pekT!i4_w zy7>e$y$Kg#!QY3`Mj%{#M`FQ{+GvCptgmlmEf6$Z8@Sus7^E(} zI4s&znD%R`gY2FKM+B!8aIoI7JYW58b7$u4XQtb49Ow~Cv%9YHEnopKEuvh`WE+uG8yr?(aG8$cLkR;NY9ha zP5dk>?SAHfc7e{TvftCLEU?@9JLqlXlYQr}W*#l7di?R~Ki35Ac?NA(C5aC;XDDCe z(r~n@<9)dLZ3o-UYi`2Zc6QlyE68eX-N0#P=h6ClYc2nZir;$k3iGzFf0(X#e8NHA zqKTXPpXk^b$KQPWZkD>(y=7{8e_rrjKfi6)mW-`zHE$Vx|M@=PyJc{w;k02&zxe|0 zLOZ9Nnfn?N_-EHjPAEv}IBd7M;m9r7f2F@S)k!;^nXyZ?ZP$Y3`##<7i+z1q(B;}) zoxEAM|GbMhYWeTUUAuYfZ~cFMlC^5zYKMwL`7`SEK74IB&zQ@)gW>Ui+s`E{{ib&A z?mxQgN8_{l1dve?{m6+p?s{}&u#l>)XunX^E~=M(yn~*_dCv8 z7Zms1+o!(s`KMNS$q$Vm!Y@Dmz@^|Q|0{Yw>x+b|o)dmFTwZvcP2dK{|59UCuY)D5 zD%CgtnCN_ZYX0j(@#7EP@}FL9J^y#A_@l4+cK?6>_;tr_+M#zl&)bKrW#D(>S@`km z;qpbTDc3)w1iP?(oxmO{P{qZ-{QUw~%l7=U3><|E*pC?GY!8d>dca*9pmX5?kDNf- zB?WfVZK;pc_n|n^rVi-mud% z;A^@TuRfzm`$nxcE88srcKd=%lZ<8y3zp?m`5F?K(mrJV+TI$N$~4m@7U43=SKIwAKeEedJb9i9Es>Twj;uz zf%kg=|1yRwF&D-~6TBNuBZOI4mK!id1#q5Q;c%^^_y4U7`@1uGZ*w?uC-k0BXKecr z_FcH|{s}w91-wb+J)bmUK05HX2XKDBP^~Z}_tAnnt^-9vNBSOjI52VcUDxPSOYQq4 z%vismkL_je!)I(C%=V5kY;7Zwly@t|LROKo0RQJ(k&_M3eYArrnPPm&MmTW(PI zt9cS9d%s9$xBCX(&knpr3j8vb`Rf?k-#D{<`;dLOz2IORzsn}^`wa(lQg&Sbz3BxiglPD%T8|&pXP3_wv$2o1N+JgoZSt% z4gy?>A2{bOU{7ylOuWFkQh=+6?slCyJ@EvS#6lv zE&qY<$^^EVANVXR?SC$F2}6Zip@q;|^00kaxG&bYPX6z!ciaI9Gu)M1eJB z!bFD&TvI178zyj^-o})nz-n(W>&gv=%9ZTyA6RP&TnsO8&T(K}9GUU*=)8B8_OEZw zdoMZvbL9L9o%4U4od4$Wdg1f;Y_bKY7mowsU&W2iE`d85Yi* z!ZdfntnV}D|K_X{wOYv3%KlY+_Szi`<}U+y8@P9B+KU&YzHOdj$TEk^V9M#vg3V#s zd>m8XG*5{a4L`^}_mZXkqq3aO;*&lE=NvD~+p;B3cS^;_ANIx#T;c39S0v0|cwi#8 z0Ne5lP6`E!HJ7k1FPOnqz`U?w2FsUag;9OQTr*2w*|m2ruR68--DQS4tCXf!0d1$k z944%oF|6@2EL0;!BTQpWHq(KloUFUaS|h)`>k^ z&Ofd1>8=%A4eQb^?XO5KUpA|L#VxzA4XdobPuY{npXSciF_T|lHvfCqu=TeZz9qE1 z6`m4s%l@qC#Qz@4{KZRi%*)S|RC5PRdv$^P_AL9Xlhc0OZ0Gv9er^D3dDQf&ZOe5P z*1judytZqdX|{v@?sZcYHsA2tY!tE2T6L++V3b}{^_D*AIO z$9OlB|vR( zTD>y;K*_OJepSC+!Wnq~$M3Qi+rTuRA<2e&gW!X;5#4Lw?OOXWDs!6kgm05~bgy3V z+-iCM?wpCY*S){B`A_D~sb(ItPVeB7-1)m}@jtE&-!?PE2Fy*~-MT7kiAU6`^={c> zVq9k;m+q~eAy!%Qv3W|#?cHA+R=-+8JDlHA)mXYZOoD37`V>&J!}hfNzrD;kTX z?SlfsWGdUg9bTq+q{WXT$bChV4oBhr%z6I%Jz15k+HNOro6gZ+_cEq*ji2IZyRU3|Q zbuIKi!_H@V)c(TZzq8j@u3}JIz-(5I1 zCn+_b`$F6I3p{zN4`zC_r>E}uxH#@0gS|?Oy-pg}htHkWmz-vu=ya2swzYu$YkQ(r z+fJ1a?DH4Q?DAqO>16AuWQ@8nEn~svcT;CJ&0M;y=M-zmspT=JSFJoXw}EZm_fz|I zPG`8Dp6fYd_Zs&0m8Vy%ne=b<`UvT*uep}*-E)fLPtld_$Nz7fu_5q`9Zvz**Mu^T zE3=P#N5nSdF<*(P%84@ec0D)8`TZPw|MqjY&UD@BvF8ck+{@*l=D>RG0pIl+dzk~= zFHhP_2C#>GV9uIwmQUpTyF2I1o?Q4onQ_mC^Ivy7K38IdBUwpWSUg%Odg0 zjSB*IUDfyYYx>$tADAcp_mY9^Wh2|mCb5^zYA;*(I=cVjPGF6X-DNM^ZQuH)ZR4q& zwwNm%CVO6)Ur7zEsS^(`7QJwJN%Za43~3vLmdu*Erl6>HX_aMdIqw9{{sQ|+p^?)= zFZ>d|A|l0q$e|+GBqleO^|o|F&`Z05x7TWqN4`^zT36;5^4I>PT83V&_y3DKvNotj z2mQSoeWLu&;%ncUr^xnhoLK8{xV&`2T>IKwzxucKYBlz1%Wu3(V=}Six7k~sbYo7{ zhPbmAHoZ5lsd~_M)*vOoYDyqi{6?v;l+Y`#Gvj?{P4V7&l}my3R0aRt3l}p*PugbQ z-ncC8jcCQ`t+(q{?-buy7Lpm0`g7`{=ZS0+kIu81_T}=_8@XLcJEIp_B>j`l5nRT% z`$EN|zbALI-kYFdAKESz8Os>Oe&`9*3buP6Cf18(G>2vA%glS+8GZX_Mh4rw zM>E%SEXxdC&bKvy*(`x)U1^lhx>nD7bH7|ZX3@Y`n2>p98MA%@&yTrPTUs+apY>fx znD@f+LFCrUd!F0b?PTjXIr;PB$$#4#G(sM_|D61x_-1m%l>@gMzBeqDh(4FGboCyU z7oXK02eOp}Yh~|wed43>$&bo;x-ZzgB68m)@4az4HtiMTf_2N(J92M@mD)siv;dj_TcPy)jx@}s=^zf54a%zXL(-QySgmS;`;7rtdze!OeywSV@v#k*V@_@+HCTvDD^*_}M| zNTK?5HoovRX=Q8LMT^AR3q#8b#Msz2i|#PK?sWK9!I^D^Y6racuDhz)^7{JgqI>OA z?RKo$C-;0u!vmMHTN|{dIEdQ^%wk&q>iJ&Tn|*N`lS?<=*!L*Yga7ccrP9mZo@3e`bIw$R!#kF|DJw`*DHJ4UK&=n$>Le5^}e7i_0lwD>KwoCwg0=v zz;i& z^Y6`df$gCePDpCo^E4a`IJx@h>o@&;pZ{|yd@hyWzGdro;d}N^&t*TK_ijtw-miK) zEWTCpFs4o{FKdwg`Su;-#_}rb*({NJ83Ordd)5EkzOH3TJ}b|QivIIoGl}^`|mfq*6VJmZ8zQfjlKKR=C2d- zU+{!q0)Wdb+&f)C_ z_qH}^K4P_2RGoLU+2Bp*$rY2HI!-*xaP*?{nGVOP*#?I)$~yjYNmXy)S;nAlvY2T) zhyRZYiEn4|H)+1#x+*9&!)B&QuF~6|#u`pCuUll#u3(DN*Us9r)hdGNu6HwcSdOcYYSXxVY4RdEDJ! zrEhL-)SqB{es_6ATwng4@PG4mHwkHGxl~3e&8ql5Yi1lnyxsh79^u>W^c%FU{R zsnXw)Pv@upc$L`d(3xkYwQ|P~gY`DmJRuE?zh9h8Km4ERzf3^mf1wxwosCnX9XevJ zdA3iyd8g_00=7*JZR@Oe&3wCp$Aq(eogQ1T!ZFG0l^YkZ23!c7n;OxRv+0!HZjKX$ zRh}yPtVMS=PLuPs)-&B9Wsxjva4_Vo0w+`S@nffYc-TF~L=A*yl`hH*wzhh`<+Gp7 z=PSkjcE7)T_IK#tbYP_e_t6X{*JF$L0$q7azXWixG|#c005W?iFU zNvIx6Zrqt~aW$W>evi<65`AK7_90$Ym8WNp7BeaxxhSMqcGuRI$#vGwj~4q>?tM?{ zF}@aYnbm1wy929Q-n!(b$;LnYxV#dx@0Ph9<4EeBuD$SHZ}zsIX>;aUGl{=nA^6^e zyGv7Yaqjy-ft0C_7%s?#vCaKpGo62uNB@s!!3h@{+O=LO2<QazV=LN<B0h|Rk=a|I`T7QcuwEkQ1q((w8{@|;J3W9OG z2?|~9yB0BTe0uk-XxA$FsVW!RL>fC~mNnkYk=xMa*6EPL9x2NtU*V#n78o4(;HJ%r zM3*N93L-DLrG6AOP3Dr!OL*+uaWE)>UwqZ`l=F@uXI7>3O#P^;&-=p3D(^G1`4109 zTN@9y|2-egL>smBJTI_`O#R{Rz$O&HZE?tK*~K|?Sk5*p)SMLc+~F#`=t52S%_Ce( zC)>0?JgboPg@Lt!W3lmxiG6IDv-RoCwrlOMRxa8Z4H2 z+a~aHE5r21D(RMIEB#8A1S1a zeD8l8Efg#0%1dApnA*{9t+#1Mn#sFD&67!P9@E>kUR<)3`FP^OuU3ApL;035x9+D| zeV%#Y%TxWviOI|d7X0tE_~S5rcVbU6N5+IHOZ}!<g*}>Ra#5_W)Fj!tC^~pj zn(~q0pCRjtmu9bV;0S%b;bUFhrPt=Ke}x}l6AMyX&}1r;CCm3gX&Z;jQ58B_{=KrGV4U-Rp`x%DtU6*6Se!8t-kgpK) zKUF$q`XcYx4{hebEh1SuPcHO*{LlI}nSWFJrCn2_mr3Qiyov00(Q~qDyX7o#LRH>w zg_``S1m4wdfezPAs;6AtdQjrkjibKW1;~QI9-Xy(raMPlz$5VTO*<#Z~Nn1xzb@c1)l8^J!OLkR9{HbN#U~&kVm7@B4PP zZT0fbo-B(>fjdbphrE{+&wY7?Ax37C(Q{e(si8O43NHJgAQSVXZcoj9VWwi6PP@%q z%xaU4_xTvzE*6>-pZG+6F5}6vXC=$$3peJ9l>9#*WY^Wf`-oY9ZPy~Um5+j7Mo;`* z=5Jr6(k*^4VxmHUxuy4_p4164>1~<24$V_5+bB8h`Hl~g8Alhi$FaQi2oqm?LB~*{ zPC(al&m#Xx$|9bssb^&3%wJxgK5g@c-rBqpVMAfRum!+*il0XID-|T)p*XW7grNVOLk__Gm<@PV^J}Qxw1bfOo}znaeU~MV#lh$DZ7B zW%ELnM#)vd2QlOFeZ_Vb$Ow*M#OfPkNdv+dF}h!|J4uJ<9{4hulv|rUz4y>K~ii{gYG9c zMsF9XpO^dBu;qNb!KKoCO?XDjmzDqj?)N$%v`gU<--Je=56kU0aX)A>)_B}t8S+?( ze?zO$6vbMB2q(#tCtSFX$aD7yFs4Wtf7L#)SFkZ9f%66Pfl~&ILObkQ9xz1D_|K{x zz!crl%JzWilky_%3HHo?9G)$-FMZgMvcUR9wGMm6{y5|P3IUAi98DY>niL!M?_qS5 zJ~ESI2J@$6#}2VQ09a;q~W((mqbJBO9~}+N3TVkaj$@d!_yF&HJA& zW(eBRA}hfbt8g$U*vVkebb%MG8XH(1zc~2fx1)DQt5n8evmC}Bhgt0>F#82Cr9|`_ zoN=x_=;RS$*E7NC$K}@iq(g}>TBS0YJ#IMI#vG|`+@D;qzuBNss=~o+O=HsphlB-8 z+6$Py7VwA$u*FI=Y6q~frMLud5!=b&y7$BZtu2S`nkmdDVAL$2k zdl{3=LB%I9iBUQPS-S?IzHKp$(nDiO(Xw_rmY3Cg*#MP zj67O28mDD%->0C^VySTJ#V%VX_PG^j_UEvd8_j*9gcpF1F2Z5lQ;c zz{`2|ucE{0C%a!P+q1TN)t2RL@fb1hQ5)oXEJlWoz`HM7qa zNi_-{P(3hn!PAZg-489SmsyPtE;P8Q$Xa1g%GsC^ajIs9-}RN}p5*L#vGMFP9oC!; zO}Y`RzqTmbc(F(A_G>N>Yzg>(VSD0*Qw5%-FIcZ0u~PRuaX>{~@<-p_KnAr}l26Wb zaPDZfOHwwsVzT%&@z=x|Di#ZP8#fp%yzoC}4?`&5TA!X{Aq~8Ssv(yemzM;vHUxMx zUkVOVZRu#xZfM)cvHfGu@i{8X1v{9uzbb#yvVQtN$UjI#|Kr4~JxvTnvMRnym#6gY z_X#$Q4K~XSHm?n~=nb~a4Swm_C+q5a&2ss*E#k^|my})HZM4ad_wA{c7>`n}`B75y z?6%7%oPvyu_f8pWu5vvge+~WuMS< zR<3>4bCqpAoZ!9K!W-EZt#rw*m)q1)=z8U3i_FR4s#jW$9INzDUm&El=#f&MkF@AR zmdgs-IujS4@X+4Na58J}($urzwRgko-iFuz4R7F$Xq1g;(v5id*e##s_+cHEdyDug zCW?DRG8DD8M_kzbG=`6>V7A4|))_H3+Cuxd>i&Wcu&j9KtB>dGTN&CN`e z2M+f*_(UD)c-VQ`E%5es7Vn)dzUG^n3~#U=dLVnBQO^D5?PInbPoMOq$==>S)${6! zn8!EoteNY5zBcIc-?^KQ#GWm^^YRztOGRtFLuaRdX}#;>TNvQWTqLknb^%k;*;1dA zJ1(qcXcDnmy<^W@>)oOkdQL>Fa+TQFc<*Y-z1ynypRq2;^E&%NH}HY&+Wmrie)#fz zEAcOFIRDm$Dp1UFX|Gw#o`~OV^ zwoXl8y>Wlq)(3xU z`TDf&>fGeZi)n(|I>(wtdzv$E&r zOxyo_dwG4HoVhW_v~BKO@8GyqA;)$Gty>v9@9B(Lnkl)detBz^XS8Q3EGuoDTvBj- zYwl{xk5*fpgtsLL@7=M`I%;;ag?3fx&CazEv1utAWFN1&awFpf>%6~d+b^wMAALu8 zWqPy0^Bp(CYU|P(_%a&hGMe-o5W970}tNvYIeeBhm zXV=$0d$sP|_4RC=uQ%+wxbaw10|SHNPZm})hEEJS3=B*R7npjP+686R1m#Qwgj76)bkfAML#1q6q-E8lwN0e8t)+D>q;;L7^}M7lOQZu=${2df7>CH1xX749 z%b2IjxcAFig~>Um$vc%QStTp^v?|M~DeIW1T7{~5l&gl$R*hJ$u4}FClCGY*N5j%p z)7VloqDw0vNGp1+R!Wt&qMEj@iB8@jy?|c5xJZM50z=yj!?bQ=T@zyqPvg|7rg>9M ztB#wQnwz6;(!yX>)_pP#>uj=!t5e`t<>*}A}v?SU(&1QqlI zRUQdibSEUEG-O&=$l7ON=BDA3QzB}nM0U=JoN+2@^ULJ!m=sH&)S0K#%}q1RwKFDf z%GmKD)6+6@(wwY7|Gd!bypE&!`MvooF63{0nt$MBL7;U(cS%9_#Db;Ch54C9Ibp>` z>q|CFE{k$5n>wr9!?MD{tn$dq%41V%QaoCx&T8HBto78(_O6nS%CL^!-j1p5-B#w^ zc^%y)Yr0#~x~I+UDJ<;m4eaYX+8)A%3e?#I3sf zaoW#ZP>D5jdSh?njf0&xPE5OTd*_YYCvMz(eB<8BM|CYv+U%akgue{-c$t{{s(kUQ9V=eP zr@cO&{${Gn_hXSi)_VUuJn`p=WCo%E$A5;WoH8C8794Em5Y~!0v0>rib^&FtIUXC8 z4sxpLWZgNjaq;nf1?Mgq&rM5CPSyxsC9>n3(ypln$*1OcZicPOELIe6Eak~N<@{m! zo&|F1U#>`|uDrZFU~yTFR;bd|w(!+iTO-&tFE!5oCh^D1V9haOyBU>hHeJoSy}jV^ zskz?U*X=Q2I-KIWV`V~od%fi?r4?l=_gZsg)uv4kd@#AWo7ZicMP%I5wiJE&8Xe1p z&ki%0-j>Z3=DFCG;4)8b#;=8$Efr}^k|r5j4_sr7pKK@D*7ahO$#qWgy1WIt@<**- z39LBG6WKTMs7-o@wPH_8LY;lhzM6$!IB2Mn=Hx6ZqH2b*p z2kj*`d}c3}{=3q0*;OQ=;h$*60*?=}O9dPGRVyAebKDibENQ5s9#Ay7;!3PjpvD3R z4*tf90FJa2RV61Lxh>+3r5g$sxiD+FEb8Q1s&S!P;Ms~~Pri2?)63XBH5NKKJDJQW zcsA$Yr2?^IEr%xemVQy;3cM9@p^MqpJar29QICt$BAr;4^{2dY>2$M=nvym%bn5nH zHqNs`0~(6LrgTkWpZQp@*+S^cva~spA@io1msMVv?I7#2!lqHoWQ9w|rjyI^n)+Iv zI=p_`8W1+cs!Jeant-Bw(~6sAvsZp9smkhe_!T-K(DBxPw%0C_Qdd&eN}Hy;RfM;F zyO5+-@k231<6qQchqar&-Hn)Cbz^zzQK2n~l_$Nj-o{Q{W)&pOw@^!9JF~0QI?n_P zBaa-OgUjD7y#CC@clU>5+VA&#xt9HY?~iAz-|zeL?e+Wp4D31|4zP&ld^pIVzUIRr z9`iRJ4hy*Jd^{o&p7ZgjM7m74x9DDxp!yQcg&$8abbA{)yZM@j1a_)z6*^JeS@Y?P ziT0h)(+QoX=@YENTf!2heVbmZRH(6RjxoBv=F6ooX3R5I`#Kh74c&qm1 zm~hvX&6}@=P1yb>>$KEOmU!O4iJG!I`&y5i&Rl;h_WIu`CpnjW*Sx7_|NqQ3r=Om+ z0oUZkL$~GLZ0(yz*C-` zbDvB)(i>7D$s{Xx^v(1jm+H5|wRRWY3JCiBdM~ojx5{`1kBfP{(^r|aPf~X~C(Kh4 zeY@LX@)M(4*Q@dR6W_6?GcKmQzv0|cP&XN-!i>@Bg zy=K@^A>xs2u#rKOi#3baQPyRdTK_6fm)yWp52dqDa3tykDQ?&BFm~A>p?~c{`+&Fixdv!1V$cjua?Q5W-PXGi#*jX^KRlJXAf0DA@8Oco9yBb^X2*+-B&m> zSK(Ax|dy~~C}OH#-)I&YOiZ%C?$rjdQN*Js65EQ_5Q z947u|)+2=&3CEvs+BS zmPua!Vd1QkS7KT@ChhDBX`I4l_(J#2P63^&$(Ed=9L~Z`7jvba6!=Yf;b`;g;xa7; z7H-W~j!L_(ELe0|AxkIo4TqBJyjK||=8>6loh%-0M?@4?9lkvA$+C$?E=*Hp)^aGb z9O~FHt3*LGbwwjx`c`&ptp znXPw%WaN>}&wTl+glB4pulBkTYBfpexyy-b^Gri7f7-C|>da*G)?EUo|9^!j9-o}W z@lHbW_AgPzRZ|}2K36|_%uZtlr=@(^1vYt|&d-V~c0I4WmM-ur>P&5orjj{-(Eh#; z7Z$8vveu0$YQk|bm-UZKXi<`o|%Oa~s;s&phO-{&84=Z)1nM&m*DP zKaOZjo5HQmbhtl5|ER&S#{v(JZ!#=Ou{cv<=w2f8SS~%F=lsgcpZ+Y`)A{F&#h1w) z7ucM(w0^j8JmBBlLSJ#yIDQlg-yzrJJ4gyeFzYvQfD&s`4Xv?N^6K zw#PJ8&N6+RyUzV=_Ur_6r&~)!qgs_G{pL+M?Qdx2JZs~Q*w4$aU#Pp#yx8|`R`l;% zH_mO_w*Bneyz1Y#AMkD8aoje^Uhc@9Cw}E}`6n|v(d!U76n;O*Oa1MPvkP5`yl&vWB)WZzp08zha;tqOnzmv!qr7Mt|ej5 zL+QY&hT@OzH+^Wdn*4t%`z^0?f=`@Uo+_97o|^hCt#88g%U8TlJUI{%9?>BdC2-L6 zgyPf*)kPk`T3*v#zI>CbS#?s$_rJ#;!?5DYBRdtPC%LByKM!b85V;hg%Hj3&^pod& zu_aS_#r(yVn#@?nQq!G1M{57S32S4ou1G(>yI!mIRmU0G9qv!fZ)9^<{CXv;61@K8 z%tbvnJ66wn&|iPzY;m3RVX>60QWu|nOsf9TS>m;e_tn*ljh3IEIJwNxM2d+NIv_?!n@3g9R7mMcmh5xS1 zFK=|8w|Rw`krb;@t}6f8_UG4yU%J=dFiTB!wfyB+sZwaectY6exd6XMgR)v$=ySo- zQ!@W4rLhY(3f)KxEiV-_OxI{km${gio+!9svp}zKwyZ^Bb6BHXV#c~KA+;9*AD;^{ z?-0<;5VX9}Bz>%$BSJ89D}&4q!P(0ScQa?rH?x*sXg_b7fOUkR?TcplkSwN)5rvzw zN;YNnhBdpDA{d!2xaLW>f_jnA!6N3u zBJPP*EE|gy6#Gms_neVXdG*7cy|GWkurg+O@%1MH)f0UMH!2?f5q`N5>3DNw*Z@%dF(;h$ZHA_T1pCQAOd6bMKauzs0;#3Oe~!33s_ z-D)c*XuOOyTG>BgY60uSaI? z*|3tA)o0puTb7Ll*)Jyx6;77u3|!R`!SbW>e0mj2qxBr48jcoGjqgfYt7AB>mp}OT_L>DQ)=@}fvr0Qw`&UR{5k9YqF&91vqK-Y9=O?MW;iEV zb(YZKI?k7Mdz66cugP(HNM;^@iQhJoFjD_iGY71+qod+p{dHjTo*|KT|tffFYO zPn2eiuU2CfeK^OkqDkQ3yiCtIVi!|Ae+qn>Y4~h~z{_HR#AGeQ=e_@S&iwAw7_DfM zRyp6tjFWSfi{Qlh<_}XZOU`F*td46J+Od6}+{1aPlPW%`2>i8}u=u;$2}uL_6+*I{ zbA=BkcYaP1*tO`HxS%js8`s47FFK1qU1+FN>yOwhpr0kE&(`qk(?s4cOMznl_8qCDu3s(#UZDb zb_g$yvRcX%xHQ>IAg*h1zSr`cQ;O+b0? z9$fk#qr^Y|TKBDL{f}Aef9+cT=hpgvyM%Uoc9sfm;BnmWUrX+>xZqQD15MM#MGF^c zRc%mMIH%yy9NEU?+OD;qFKsBe<$O_jqh;gVf<<$Grmy;~&L6xugEw%!rO`SCX{(2v zV#_BtNNB7x{@=JnhkI>S<-**k`Bz_VHpo=hUp>XxT3EbeQ@WbC#p_jKiSZIoH)NGL z%Xiy$SqaKy%~jX3U=2(cyuDcAV0*xcXj1mi2aSUds1zn{#zTI&1TqW|a!1CYg^dm$C#V z-QJe5Lo@Z(_I<%S`9E$q*_B@rWie&<^1!T?)aX^pKh`yMwW{uJomZL>8MVttZROMEZ$fnAeV^-f(CJR`0C+U_mh{i0D#ybgOD!?%8S-IB}Eae4Qw z{a*P+C(_vsWi%IVul^yh^Z)FX?T`1KkrI^BZn&J4Wf!u%@7boDjGdjQ1)3%He~I4z zt$P2D+53O(-v8(J{(sr#Y_o+K|LlJ}d4s^l4ZAOH-S2roaxu>-1#b3*JUoG%d~XiO zH*U0AbYR-y1Cp0Hw=Uq>uOLwP;ed$DA*O{qJ(~Pe8|r_tn`oXsc=vkv`40l83=Xqw zJY>?n#h`HOve~I@g{f6bv(N%r*xhehuk6EaMX`EBI4 zZClnY!RG4?&D_W4?-n$8yompyb!yJB8Mg#{{=Ye*cIODIB6r`KL#h_r!^5^;St)Su z^-jH&nH$(nthjx6YqvmqPs`Qr6Q+&F_#6*12Obq^%#7d>nj^h-p>}Kan&mz>HZI5! z`02TC{kBzKA_aa*o?e!-Z{wA4xjV;{ZMao)1cY=1*5nAT4cpvvjmPP-@7i7a*3a6v zd-EQF8GHJFoi26Xd8g(`BloG*Ru#RU7p4E$*JyKw_u&D7GiQWtju&SL+?g$OJ4;~Z zp2MA!&o4Z))@t|Zt5vOYo~`|4aP0J}HM|GURlGjuXSknF_F~NB&B-eSMRYGp%)KbJ z_oB?*i*mC2<$qmNvb`kZvQb-jjm2Y0X2Sz2zWQn5=1STrnzbwD|G#-@3F8WZ5{W9u z72Vo`Nf#uU3z;@8xwOhWep>5(z3o!}PfG1RvTlEg&pwgjH4o=sFkSGwNNMjyt)ABc zDotiVy;227WX=f+-@Pc~vTHqe+iI3d@h?x*S)v3#wOqbFX{*3R4YOSFqP0Tldkvy% zUDF)QE^idy?y7O!<66g@>wk?|;#ilR*sQ?TXqKFmTt2rONt(6d>0vgh8qV0-hD?cFP}cdymny)pOht-W_;#4g?W ze>aWoj{wJ?yFraN7A9X3%WixvW!j!PT)HTdLLt$Hw~peZa1`VDGPq-hc00O}+Z7>FU11n_7ii zChV5wE0h(OC@Za9c7bv|UIO}1k$3pF(T2ZlmI&A+sp5D@3<9J7B ztMNL;S1!x19kMn0e)j$cC((nCLN>^~-emWBOWf;ib+32Kd%eStVb8tS`~JN?Aou2w z-J2tEZ;sWyIWh0eseNzG+)wh5aG%`3d^C!0qAi{@XuBo&W23E+uf1|4NUwOIF~V;pPRtxp8qYQ{>$NY%UeSNU@&EmY#p`+MHhe$Dz_st* zUkmwPJLmsc<9u|r=2Gg5%9p(Q%tyRjmHIrBT>SZ>r!rBdg?vHF!kJ$$ji@s z=UA4$dvf#gbN>a7t$eCcS6*Cf=d00~s~D_#x!1qeWUa>3SH6>(HVcKgWwtW<@yfe} z{G6~ld_z+7tR)o-CK=f)O`T{GJwfTE5BOIjSpwIqo+yqX`DUZ zpmyrX$-~v#r`_5jWxYyeMOnktu=Qa!CAUo-xpo)56k@Oz-?V8@d+PaRvA4hd&%Lv= z^u6E0HB%lkCQb2t9pb%d&$aa%_JmdoN@{t>TWSWMi%Bj>J@00JC9&q=N|sgT`@*hy zCBC`)^6L8Z`}h7<|FEzAZ|0-uyEd{w&HvvAv73uFn7sC1IGOE_{(<%lm)9*~%&PDf zTQA4dxtQslGh5#jjjnuWKI<iX~hF-WRk^4x5aAR4xz zMM1{o2G0VvsACh`CIt(!dQUQAK5=MP-0nZ2XBj6gSbQdVtIE|Y7P=GMxOA5;opvVe zdCs&3wq>Wj89e_Eg501RpIqGkd$wkF$(dZv2c{nEh9M9y zZpqxr^7od3+WUUS552g{uXvq3Jf-&YiOV_Baks72 zYw`?jpUY0jZHS!_EEMtV$|=T%6Q*;*%NlB`7=n2BdJ7#`*d%g>QDOmC{I*J0z6?%_ zg_Cj)85))5Ul31E`n=Y{t@fMo*#(oPzSYVNKPCG~;6ZojOz+?d>js%EAJxAf^sife z_!9G_=j;qJ6T-fBg?>p1`@i>fYJYjFz;WdV&y9q>y!029X4gMZvO_!6fq#Pln}NYZ zO{NzMBs>~i4T=ocF?=wPn7rU7H{e7UDd0ECS{2Tt8yMVntP_HgmnWG6YGuR z_H2_fSE)Qs*SWcW+fk#GMSCVmg#SG0{ePJ*gL{S|W0V13Rtgu(+7nm5a4={VY9yzg z7ig3^;JAyqhG|-|#PLfStgU%lCQD6LV&J^u-fEG;9HsEV)o4Y-zThSA>MRsiJlV6e zHzuG_;ITpIDWS&pW;y3cv5VBcdVOGwIGNR4^yAo8j;w$dsdp0ZSsZNSk2x|_6qvjS zNnf%rw83djmh{>Wtomnm@bYARNLjLK`DL3{L!I0Qf`J80{Ebr&Cmcy)lWsT~>}+tv znrm@UoYktwJGNeEi}Flezu=JchL1)}Qxw=*71(%v4lo&%Zk?suu);-i*2<03zOLb_ zWp%D?+&Nk9ia6)qprdk;H!NkQt#)$Il1&ukRu579FCnnm!QhDpv&5Q*nLS@$32vLn zV;-R>&BuGt)wnAxuW1|C@f{O?+DTn9TQzlUUaNMJ=xM8S=eDjBmd$WvogL7fRI)W= zX|_wH^r^>lUvFJz!xZs9Yw3YyQ%aYLu5*k3she4(ur@pQb@b6Ho=vk#7q`hKm==4x ze-KOLuC<6{JSNcR9>B=6OQJX3Q9J6uFSDimrte}GYn~1(6=Aq2t8=+4J3OQGRy0_lx+eO^c`^Y^7pdRD3?SMkowbb1h{v%luNd-2KhEN7gI)l_x7qfas& z3Q(A#cK4Wa!{RV)KLf^v0)BZ9b7$Wj;ecbfcN}&a=pxZxkR;hortzJ-J8>! z6r&to9*~kZxA<<7oAga@3%>qW?<6 zwrxHG@0%_w>)jjt)=fBFJ0bq|4R5go3Emm*n|xDq5^qmv)r{J>DQL@s#5-%+{-28R z(A3p%7B61B{qrpLqwL+cL(*(2PG+ z_Zkb;?Q?rovXf5w>b=_c`|o?za{c8`FNf^CI-xj1z2@OMww5IB1I~#mcQ0A$99yb= zwvpN8Pz+NA^PHViRvk{76Lh>=UG)6Vz2V|(UM#<5@%~xDs&$V)uwA~i>zL=oPs(c6 z-n-d^ul<+l46d2YplPsqS##piUHyA!xjU@Vus>&1m}$GLA-gm&UR-}y{mFMdPk!7K zcKE0*`|g9{|5I98^AjeU?|Xav@E<0|^-Ir+f8Bqf?$6Xq=eBH}toJEymQ7WmAnTmU zSJln>HZSl0pH~?*b#L{w_}YfsbGP509rr_4KEdXwJ6CSD)*;o?Zo0C2Hbk#bl)87~ z(BX*k=7KqnjJ4dM_YKS$D!#6rCLV6yaMs_pA~(3sa)G1xv~OoaUFY0AoM-d(;KEM! zO+sHMD;==hG!Wmzq&M&K|FG-E;lrP_bn>4VM#*fy{(F~9&(UO;V|SEoQiE+y&OZL`p!MFzyR!oi z8G5=0bRUgQF}Kdq5lYyTaK!1v=i>%}9{)8~9q&|b4SRCD?T%I9Ojkv3=YOv^KDvE8 z{LQ5PGp-Rw)|I`UTV3NGkiDj1$&o`*YuPXFRo%0$)a7J~h-YWESwzmT@4ZwN>+HLAG~Cymdp5|1UkQ{n5xY z^TmN%k5-xHF7B|oC~}wI{O)QuksyB7K*7?z{uk^WRYR=yI&fF4IWbGe>e1O9QNa&b zHY~`zDBgQfbVg61N1IuMZrqP;GO?|)Zv)@<1WV1hJWVR3U}f;KoxviZ7f*f&RuaAF zSsEzeYZG=hxN^hg+!Yt4SsVO$Ll>GHscsB)2sK-@@JiHQvAo4Bf)Q&oo0x*uuC=|p zqQWTTTHsZgL#*Z+Oxh8a-<#Ge9cc31am6>rJW2PG(9z)VsqLw`*OEDA*4+w~Ze6FS zd#xll^c{<<=G-&>8} zM)I#YZ!})rnSI2~>&PXYm(r6g8Em8$X>kPKg>sERbp zFaIO7Vy{s5(HnmoZmv4I&^jct^QtOGK-*<)$t|*z*XAxZ?^+IYsw?Zeh?2g&q z+dIE+t#_^mv-csrDy_&%l?-ca*KGE^t(SS*|5MbSn48mdm+Uzz*RN`#lXT~ePQ!$) zs*_S@mS?$aN{yWUb<&Bu(Wkbm?A$4INc3j(qNvrjG27POUc$7%@7Ly}S+N(U+&W)- z$LHm(o?KrStJwedPR6V+zH{N}-I}|y;o2=-&i8CI87vt@_r*+R)@b2koxILwqr=X7 zFSZK5J$q02KpfMrdvCu=>N4E7czMs|rrPJL8$Zd$KTD1KT6%wN=Kb$$UQ*mN+- z3p5vOj<+#v@Vl_a+_1sxgy<|DVU`uFNA^x;iA%7~eBe;o5OrX|g1HZj8WXGzCb&#Y z;F1&O{dWJ?(+AvP2?BbFW+!hKI<%D-CJKk`Z%ddhsL8yd?FyB#pi#&3Q>$>mE5sTIw8oRB$%b;tMtaG{cF87w$^T8`lFjmx&Fhja`jRc@C0ngaw%(U)b1vETUb5Z0Wcz=~ zCVlM&Vkr)KDb98&E`BMlaVc(jDeiSC9(^gE?~K?G@`xuN2AU%reX_b z`3QDbiJfd6t)&L+`Uf7d7Bu^sv1=MUW;1At;ap}au~T5d22Zp7`gsfn51Mu27!J*D zj9upF!?&5QAUU2b&9aQaFhVk4AQeEO2)H>wt86I=(Fz}r5 z#C%$V-2&#~y2q>=8r>2Y4c*d9`O+k2G#N~LUMgqF&cWvnArR}t}Wx^=|`L$t;H5ki!)vX-g}aI<7M!-45MWYPAk~5;~28fJuP_l zYGQO&yIk6_cTZ>MB_D5loU=L0_#8ug1M3vM$EWr^KA-o5N1=7XKaWU4|&*0e=4)E<8*WDeSq$1(lG?}Y^}TR!}Yn90MQ@%P#LW77&^ ze?I5(f5x1iDKVX`$?v1ys<)=|@`Bc+{XZu9)$?L{MXtfT)H#O>v+WrD1lVH*mwh1iGsZ?C=p2cQCK5NBii}{~*juq)1PvT){c9i&%a<0Lpf!WZX$?!eH zdcP(+i55fooksS>I?EW0-#@Qg){=6s#NDCz|FdGZ@A>6?pMCzn)w%xMAR$f1j?sHY zqiuV!?dt zBl)gd#;#+JI3K(yO<)U2YYPczI-tk=^jHon$D0VXWKIT_%m>U1!*VzkR<6ivFnqw4 z^zB)`LepEh_M`)i!V#^X!x$8O*=!uG7XHr8f`Ks z7_GW1f_yqUvfD36}W&AD!hdCe*d+ z&d_MfuWb4L{#g~P)QZM~pWb)v|IuUr#n7)&(Udu7$2*}DjnWM5W)~`2+M3u{XX^3) zTBu*uvAv>adll;i#+U;de>s0n_W!9AQOR1sVA`Pn^Ac;c{jUx7B^}c%SdJ%cZ~y&M zDQ%Pa?_`djrg;py9PD-rmcOohHO+Cs^R&F62iv3c(wmZIPPKf`tC0Irv%tuX(S1Vc z^>6vNmX$~g6w5R;mXy5^l4!ha{xm84>-v8Uc0V$;UNA@AXK>%p%(o_;^+dyeyA#bz z19~Pl*WO(ISLazxWOxJriFo-4{nB#`KIvt09xbXF>Fz&X>PoO|`u6@xeC^xs4F(HX zwwN(q39k+Q&tU((ab|e>tMkp5p4YJ&)V0gKn7*yC-mKon;lHCp@$KWaXP7!PxkPjr zidGyx(5TM#^dsZ3iw9fOWj=b&XiOAxudGmsTJ*qqzPsy+FDri-J~=Uo#aksL;Z(@! z8C;J}&WYTd+U)u4+?JRJ$L0uWS+iHoNb5VXq_nHxn34L^w9~??kLAuj%D%8k;Nh(k zKcA^8b{1rd1ZcRdIn1Q-V4t4Fr``@`(_2jfBA>oJW7_SglEW#Kcus!}f7sM6&4W5& zP3{N&e=IR*k4l=Ed0lJY>V_j0ak`Jst*ze9`gB$^H~$od7n0npl3|X|e9Yh9-Ztg2 zlU}bx)}bAD(=;xetyXxkeg}KlkCJa4CjFcCUpiLx(H{dR)R_qw0@A{1hB zQbi-gl6Pu=-}8t<6~+?{qYit;wiP zfTh*ko=0SwIRAvA*szBmN`g7Emo}W$6rJF-is{kTFS6x%d#|yYr>#1^YW4J1<(P_w)p9&B%kxdaQOD`x7IKW@w+e2|Tjap? zL9^{0)2mx-bIUU?81Wsv^G7V#-$~{AlU&2f+1C%Xar%6)U`v(~=Ge#btwDcEWC2ey zSHuHvi&bK$oaN^haNR$V)amp8lce;7HLvQ$zq2fCu?ow0)Y57BGI6E-Dzg*ej#fV$ zC#I|AUR0&Kb3xjQ_Rlx)`_9%0~X41-*LL#D4ZB>*`9hf7l?pan>2Xx^0Jg z%qyDLZeOAxU9Q<}u`JzqhoDQk#p}drSJ;*s=#2%+ri-h(voLsZCP+>ZA$TOo(>GO`B zC2NxBDiwV?dGTnU%ZAN2_v{m5`f))MWy{jFabNeweA+a9e~*J`pQH9m-)zyh*?gvzFHfi5 z>yQ0y$mjGxRiE`wz6GOI9M8#_4#n^Iy^<#=aPDK@SjxxUe1~Pup&yk;B5wvanHBSJ zW^1xAE_`Yy7JR<;fFg%*%L9r0$c#;54+6vzmQ72aC8@>u{V=OUqm#1klA3!r%$zSU zJ3(J5W!gO!6P=GCradBAkC!aFJolN&vabI}mZ&8Q@mF5h zx~^>LYQIIx85YiA4Dt?i2t4y~>UB-lz~x8IG8F}^X>Dy-$DQHy$%~mIxkO)AFPlN+ zp405KEPw731+Btbft;`IY~8ZV(mPYOdVgxH+2+1k57O=(zd3CR>(-T1+cQ@+PIz>o zbo044bN@c$>|k{|YW~hR!@AITMpD4SooNEyHrGw>9Qm=T_UOUq-#0nQCEWV9t@P}< zvZ$cgM>U5QD8^p3s0*B4SfR`zdf|vg$8BMa9%dun3r-nK+G20de#;M&hRYNOj|uO(9$U_= zSdr3ua&jT_^&NS7$10zmQ#tpsdA`QOz=^x&No%Cu@P7ErVDo{)VwVbfk`$I~ELqB+ zP`3QyAEv&2CkvWIw^$0~JZ$2MPB^SHM`N;ZkTZ+>i8Bsf6PU$+JQA}!!5Fqgx!3Fm z1N+j{W#8WPq}zH=ZmK>vZ9b!~xa^#nT=_TH)P(lFaI@dF@Zkez&LakWyFOW7Y3$RR zvdiG57r#2|0yF0IQIld;OmK*wZ^ydMb4j+B{tRR94-Jx=8e{#xyYcZYVUjTWDD7z+ zeYK~|WXbCPwQqCIAGmp8+PB6)N%6uh>lZzCICkLJMZ2#$A~M|_&Snffx~pWG6TWM4 zAN(YH^WlliqUH=|&J=?V_T#*Y2C|NxUJP3WED!ms7tZ3}X5hM>YZiM&M-%^~g6${2 zGCr0H4?B3gh1u6~(UCZ3?XIT}IVMgxqQc+*;|O$QqndqBU;8NV=*X~leq1_n^SSS0yS^{@@9})$WX9v_aom^v zqNRGi|2o1Te_*41T!zYozlAyRrdR4)zh2JW{9S4{qpyXVg^eRu^8F=DKi1jSyuZqD z>v5CFMAm&4XPUMcoS4SYcSzAmZi-0M9FbOuM$uToUsoEGTf&__1YW!1D01dX_|_vF z4F?r0n3T3SCPgezPEfccx_~L>fV08_@zT2iSErsZY-zDrAex)N)#i9jM$*&vLAWl% zsfGm{b{s87Il0mtCf(@W@6MxQgBxdW4sdJ|@EfKr7P%-WcKkLP*l^YkzBzg55eJFEJQSRA7xp#{4-xkWx z6X(*oQFUX&g1-wD<&>1v7Aff|Dc?IHajs?R+P-NU7y7T^oB2_ZONCMMMVQlpg}+Rb zs;)d#Z&K2nwn%fHlCl^3{=lPq7B14>r=)Xik{zo|-ea?*#pZR&7Hx|y z`jjoFEw-GeY_)8$)jDPCZHuk#ze)qHu#G=+i1afy5wLy**>z(=gXs~BDMQiG?Z%w3rB*H!gF$kO0PN4$jE!<&>s z)KYckEtN@H8k(h=G*`vo-9oQx$0|>r`6%$zJ$1UJSA#51g4LrXiC>=H)CtYxSZ2J< z^~fCtU$Le3s!GpVRW1Bd7xp+t*e#3B<97&Jrgtti^5tUrsAo}!{y$YJQj@AO0%zGry?)bY;<<$@p?_(@cry78w(wQ|4RjVd{Bvzw8uaY}c_6 z8UB)p^q)6_Q?r(N)-gZQocHy|z0)%4Q%fx1(Ldc~#mK%RnyYU4UCu^7R6}(B&lE7b zb1sMR+Lw04)U#4IPd;8Uk<}>C>4&f2ng$+1hrQRCSLA*b4b;AyH@2<@f1ENqaj5B-`>_C@{h7zuCLD@2Tj3*e z=VEAw+XDt3nM>#QUYz_lQ(fWcJlQ3WiGQ+=4Lj@OsP8I z`owWg(Gj5=YdmreDr`6##L^ReQ@xyr0nIVjOYF>@t!kxp;Ei} z6bAl`CKCtlMXtw7w%jZeWckV=Z`2rGxuY$8Pgsdo_rpVMkDf`D`mjasV0~nFCdq)^ zeHL3*&FPIsJs&LdmU#Zx?rhM@u3h;=?Y6zEwo6i8)*82}pm#Yj?=qJhOSp1uLt@wK zsCUoAyzW18dn=T(agScgignNG^j!4T#hR=$c5FPIBM{SYp)fP6J1yktF8>e5)@5xt z*5lL~du^Wk8TZ;d$D3aCPx1m@?7rR;f@0D3EV4OF01X-;=0b|-x0qjv}c*o=??({Pd|0<;yG4o z;r1?0pzxr8Cj|HX%Mt({=vrO7lRNCh1?T{j;m`Qh%J|yj66cuqy znIq>{A#kHn;B#NW_9+{m9CP{8abB^!Z?&HB(J5zYEiV|nXG^m>&2X=vpmE|}v*QIb zE}PU(VBsx%QC9fr*ae3r41ZNNzJGMYxcqa(yu1?8|NTp^vHg5-{O1ilqs5;;&ulkv z76`w$`KQH1v)^*I>Q^I*v`v)#jn9i)J@!6%<+8($M7htKcgdK1{bd-}fKP*C=yO01yp*Z1?i1V!f-sia;MD-Gl} zn<;rz?NWdMb8&>kk`x5q~p&OPd6yUw}x(Hu_^*GLh;gpjE@A?_Dj&+y#g>z%@6^_BT}3(tlr-Ycj2 zWj<)pI>2&6#7}U0v}5a&KOz#GrrOn417E5H{a&JTxk%v0wwsFc%P&v$Xg>PAXSxp; z|HGnic7^+u&)aeqUNQ~NH=g*t^lU-)-qv#0=^xJJ#rTJZMu%7G&dUgU!lN+%)1xl zztFPJDMwp`HwCtT6q(F+vSVZ8Y12#Gr<%JoKQwsX z=vItpna)`rJxTM9#i!Qt)3(g$b#J3OG;eL+I%~&A%bl7IYyUpLD{?W1 zbnnbDo5OS`=E6qLqc>07XuNx}Fvh1s=EPp@lM`i6i7q&`@y?9HGO=gpT>d3<;j7F8 zhJ)ue?m4n~&t=ir$xMP3dsz0SSNH^Mb)6IcYwEEdd)2=%{`ns0^Mlp4%iHsj*{T`W%}jrEl2M({{k!M<^U@)gpGV&~-G2GC*v|PG zFIA^X%t_yrQOha$^_FtW_1p7$QssUW+FDottuIP?z4isy>3J`&9r+UY_q_Ab2h-*6 zu6MnzoN;UZ-^<3!U%idHom_ib{Qvzn3x_-Pe|JAlzjuG$obUte+RPmjPW(Q4|IfnI zllSEHp4@Mr6!-t{{8yY0j;h>cl1X4PnsfGj0$tjwHZCKVGB+N=U=W^it2OLXZJ)(qQHA((uu ziA&O|Wrbjh$3!VhvlSRQe0OQmqS-(2g;Z!((xapsMh#v!N7 z{G{aPd(ZUJsWQn7UMW6bDbz|dJB&T7rdPPV=YLT9n&gwyOsmCmqqb(>+*bNqEH7qf z@ylyltHtx<_E!J=_Vu@TLBhdiPI0rE895V6Ur+0leQ|J(&C+{f% z9T6p+>k_lq99X$y&b!n6OL=!mu^-IWFh1c>&=Aabh(pz7O^eWshIfm&H@rv|u$iXN zVd=<|tuQT>XV*GIbDxj|My)e}Eed}sH=QyNRJWHTxltjTDx`=FuJuEG;(;Br`LM%%F_u^C6ENy^V|vu&}N z!FH^(W%04&tbPVsbKERu^B%P0?CIFAl_B_issh`u1wu2Y?7Y;(oUPr#Qn2E{5QfJC)G#RiI<}fP%Sa2Zr`5f-m|L+uUPUYJ! ztaC8&ZrS~{{*1L7o8Is=dBpTQJ~Kt*(3~FSu7h*fRkNmuw>Vg+N!qOXp!!rM@xqcB zGDSDUFDP%zwCv5v2y$SL`LN(nS90CCi>&c-svRtaS(QsVR9s3NdJE(hGV#QwJt$%H zkDM?wZFV8wNf!P!C){Ssi*Puq&DizpsC$!^LaKCRM&n8g0X`Y`WmC)*T(9KYxlH?T zsMPA9;FVQ1*IRVf|60JmV&x0wt-LZD7xPN32v%se`}E;pyDr=R1n-sLp1y(Cil9ctY#XLIJ+d<% zUvG-3QnT6|dCS4Wpl^z(3d@ZZR~*C+EV|CIBzyiQk-A6I1ep)Ah|5o6P&gLIBYfw8 z_JRq*dtMzs7#zSGX0gLDU!~FMM{0uTBY}kvGa?R8iRf>1@L);3a&$MFfule3O2+qW zNjuwAn_{GlodoJvsFy|_3a~#C&bK~fsU{yw`zxU%OeqN+8Xp$$OK?pVn#tiJHpjtV z_=Ds785>-s9ReAHdieNeUsAdt@x=O>@M#vWkb|%1EN)^6oX^x^+}Cc?Ai^FKZQ+u( z|C-E0>5uzT@q#*esK(H@e z)2t&y!Kh);uBMEmwrUF#`Z8D!S8I!87k|QEHiRVuAW+R$s9P&1yC(%+<~TI^LeE{&pBO>0~sBtqEh1 zU*V|1a#Cf9Op2O^p2n2FCttAWYE5G8Ss=g`;=p}O@Y2-UASICr%`12++nBzkr*dUo zn(U+6$H*tV(vwx>zd+B=Gh8i~EjueNY@2k#q1ck0e@>uUmfr^F+FNn!U^4Se@hO~i zS$);R8NTZh&9*bhz9$&+s)mU+%k(u?g*=wKUe+tYWwbp?@wrvoD#4iy z{A>%Slnc4ctKEAyOfn-(i>*k(-X&eaE~t6?uFtb>v?>+fI>4fJx%kM<>*_Jou z=%?IKc4GH1*(dQ-J4G~;;h)_9FA=K(o0C{>Ce$@tN?^C&aZqyZ?ei_lA{_P>L2A+- zOyV~@7l|otZOG7cliAR!G2?(=gLUhlV-I^3LL7wGvWke*9F5ogGmTY2B!R>$_c>2^KU<6Yl}5H0hQrHN@LYQ#vr|*$vO)PCW{)O~Hp!=*ttZ%+j8u7^ z91=gqEXGkdX)1Im^~6)5%q<7mEj+%o8voj-T5*8qCPyY`(S$A0H_mKa%sNqKP1{yq zj+Vo!8d93Ny)QS$s)W>DVoSYY#`izv&fDp~D|Icz1lt!sNl!J%l=k&$U9ebW`-zKo zVzT1wTXjRe2Sj~(A+{;XMMbKGeUtHB1v{r*=QaIH@9v46QYgTv)3Mo3UBX2=FKq7- z!4zgY8(F0X4GXm*mAF(_EZcdU*ZPQKda2jU_cHHwML#dp-@xQ5yr{8g=9wi*X7x{s zT-=l=UuHP!=k}9ppFrswzMNkNwQIdrZ&8?X?o-JYNxKtEcWu(xXyL%Kw6aykgHvbm z2@7S>6;CXtFdnxsdnobn1It||k%?Rq)zUjU41J{nwyc=kv`AI_xK5X9?t1UeTRygT z6_&Y9$g)gVyzsZo(am6e6(dhizJK{t!xF}P&;O@)KeU~zEYNneO?yH7|E?3PvkreR zIVu}_amhT}=XuX}{;SojXL;}X$MWa;-z=>#j`qY z-soQPxb5f^&My&#otx5ys&C7Cf06#*-S*-s#|}9*c1Mn;r|L;e4`2WLW_{BueBY(- zPwefTcDkQoV&SWO9WVd;=JkKycHXajUoZdXq4@tFC+$_Wbe_!@?dD0DQZTn~Dbu5Q zk?r#}n@-t@nr~4)xYH-$vA2x4+W$uxrpuhnD-N4~%TZ`)wm6mVw6Dv3#d9^80(BJz zrisZ`tD5!Cq;obMVL!HU4;EMX86;g$2wAPJx5EF$as??CM#&ErDjV3}E_fZm#L4QyS?c6$am4vtQqQ+T zH7DA+f|eMX07iu-kDgTV zE^v*KagKYT`ti%T*h3%R95RgAB*_0LJ@!#w3&+ZYtmR(wRHIJyDXjY_vvuO^8z0xK z)B5;mqV)2m2cK+|7XBcst(LxdZrnHQ%wuKpM zBnlWj`8>2ck7ckO(pt}^9l7L6%cRDlgtV+>_e2y}`xq~sVUTWEnK@4_t4?3})U%vR zX}SMzrAgmYoA7K|-n%r$ugm;@J)6Ox&atrb_lu5V8}<^H<7E=Z3;A5{WT@}yQ4lof z<=Vwtq|#m_^1j&Vx$~9OSr>X;y%fA32yz%~Hj(c)wR&!%8*IA0#nh9XpX;5`=LLlt z%MYe})>`r2ly_2T%<%^&&av-djen6*UiG|u1A|rCQ{!3%6U%1v+TdBA8k9dbu+PdY zY%n$!@B7uZykZr9gwk>jwdF;6>cwWq-xoYqWu55yVRf|=TTM)V^0|lH<&y;a4^4Wd z{Qn8N%$*0q4~{9FDL6mNXsJTRBpwk*QIlGc6-IoI>XW#+yiS=K820UAXt;LFNpgh( z(}jsE)RqL4X#D5$nCSMXX^~&E#ffGIk2W`t)jk}p^Bh|vPP8^Lv}Jwyt+IKw&3dmg zkJ644KBqcA{yE;$($UfO#U)4K|s=P-ja$1_W5zwR9;x({$zO`FnlaBA6 zWG#c?o>?J`Z5cZi`pq^nsc}DI-km&u!(yH}3wVn@35#$1x9wrpiUzJl3tTc6vzK$# z=`}g>9&(g?p&85_YO617%W0&^d7~~nd%*$e3+a;^9tY)po%Ce+7QRC+zM72o3&mR* zWZ0f>3_0{KT&Ey14zW>UL7}Hix%j?`x)VZUqbH}tJ(;GVfEXni^%0IoQ*GP?F z4o}*gM<-v1_^jhoJ$Yj4ES{jdA5wj1FJ0MlMRVE77=BT!b=tGHb*^+`o_X%;j2~O; z)`%onHzXvqd-1=TbIG%Gf%Cj7gS~9m+{-%>_AtyB_?94jO-Iyp-HeknC;8~Ai7wb8 zz~jtpB;x%^qL5Kgi9wX1C2ERN*wuQQkB;su?eexMSzX~bU$xlIOGAu-%kK5Y4zaAB zvTQ#srLL(VX59*tHXS$@V3pvtEaTL&zQhQAr{xu06YIPbnz}fi1u%BKT5;sPjO@bO z4q-M&yVji1^5uQB((97o5-#bxW%FIG1^r*MC1LN{u(MBA{n++#Pv`CpCss3=C;sdz zoWIiR=9f6@2P+fO8Kr`fuCH1v;OD)zb9EVq^6Rd(N)7=Jr>+09jq9#p{#Uca)U7&d zrO9mBvLcP#+HF1}hCHf^1T(LNm^X>^Jah{Y&5pj>=+~WY`MkV&yJ^PNJYi1W{%fKq zm$FK9W?6sCm^ru}9t-yPGN5l4gY1<+ccJQ=L zUv-sZIrr_Z%$;Q#h0JOldSZKj9N4MlV*e)m;h(a^#NeG5t}1c-C|JugZ&UZmPt!R* zgg5>VD|&e@QPCjDuq5fEcZbfm*tIVk7iyGfCX{%aH~qi3b$!nRub}NanIhgcF+5G1 z(U$$=&>La)IR|9^Ikf*z;EZ6ReC>DtPf#(8xb zheK36I%nSK)NDFDYx*HO#w!0sj4=~A)ZRomcOA}=&=AwH3b|72kmb6u%+iPFsGq~p zh%-kMcwQJyJoX}Gae>eAX${9~bYA{ZIFZ#=v*o=Mw~|kniRs)_wke#aZzyzpDG7Yp zJ@GH=p*@+GWg<@|B~Ns8nH-#V_u82r8%w$EZtZe2%dK`M&Q$h0`{tb7CcmRSXHsrX zdVFHa*Cj3f6#H52@aRb*i@9m_ zfq>qV0gN7JuLSsROUh&pYZTYf@8Vp<>adl=z~EZi+1jHs=N$CzT>t5+4eu2f-SFdz zl6Mwl1Ra~_tm_)ds~f*|_VrI!N>ujjdT_}oSK-+vz4t*|4qR6%;&m+3HK^siapbE@ z+u9pGdN-4p9B1e*JNEGAi|xNvjPFQ1DmkEPwwCwyjk9+j_)cGMY<<1h+iCgjpsG99 z5+v~NCqV9z4S{^#l@}lpG&R<5czqIOR6*WbrJbha{XYxZW_xp>M z-v4ph*fH2-x>Tt}dvfj0l^b~@o~>m`Nf21Y!NK5XtN47`&a(+qXPV8GTrd1qMux}r ze*jD8(}l@17%k*-)_;zYi}MSSNtttcrfVKUD9`RXr(7AS)3rtGLM!@M#jImxZZGlQ z_{<>XY23o6MWND{9GJ;m9O-WFkIJ1vQKX1)$ zrQ6XuRX4dk$^)bscQLlD{m2*3abAU8Y4`TsrGiT3Jhu-uOB^z4+K_GWr6K7=kM`$? zmd`D#`3x5w{O{JUyJWql-<+g~J8BYcCR?6-3CdS(U^=?_(IH)#za9EYPu6cp-*LEE zX<}>UH-{=|lU+wN4;{VhbaZCY$<;rPIX_}raUg9HL#ley_c_h_frpMwd~e|5@T2XI z(t(&CeWwo}z0)@By!L^nL za@@M3zwd#pPoUC-*qe_J@opF4`#n*YIe?MBlhDKYeOnJj#q5zHR-l0lzG!z&`|4>aNy)S>%*U& zyHd(beyrZO`L>R{>Dykr+9akDMyW5(FW3K5$g}@0`GW5rV{Km?=aawudJC?qFAz`K zYqW2H?4!A|*UIj2u65YO8u8^|#g1jNws>vfU@HQ=1=ZBpz~>HByNRT6kWHGv}Jd zj*3D?fi^BXo=qJeA9cDoI<<+MIKJf6RGsK`H4oqQc+RN*A9w7C#X(7v9*sMH9S^?q z@$(ce*%)-7;mqa=pZjM6J{*}VKGos&#mZMktD8h_9_#gXb7^c%evlINLG)bzX*Qc* zC9j@j&t9_mq0S}S&5UcKI2(@5y~Jg);laTcZfUz7i;a(t_DEaT@mOwpz~9+XF(+bT z(y8t#({(mn1thfJ}qtVrW*VZe1*@ffWuHC|u zz69P_(aa<{&1;rPZ`9T&hq%qACL4ZUcJkHrLaSu1dvjGpuD4hzugbpOr2o#(cV^M? zl}-BZr>v=2)SbC|Lx*^eh6$fO*A@dmbN|MI9uw~^E{!sAwi4$gReBzu{oi=J#+fBt zLd(HX@zE5c*bb#WkEBkuc^yezTI*QuNEsbaJi$@sP%_7%49&8f z4-Y@}OZIHIL}0s`B) zQ?kOG*6;P>nw7ES;gQ1%vn6ld%HDYP7@PdQe^s-2gYCXYPm504c9SVF>G+&tZQp=5 z|2Jmq6}Vf^&|-LA_H>$Op0#V-lIH=gUw=M#bv?;0(y={q`JDv59Klvj?l}%!@!Srt zd<8@^E@kZ3(q%Ymai!!!gV?l90WZzHQ$Bbep1(}Av6=0hSJ6qe`8`Fax+()$_|lj@ zddQj-FtR!G8XTP9Xf@ePZJF0Ao-K~NEsmZZ=EYltPFpb8=6ZxBtxQeJQSiLjCtLeu z(j-OAUZqO+y(?w?uh+;5RUY|p(M@i@fZ+Se&y#-liK|Tz?5}yUO}zD%{Q~bEg}@09 z`EEAZZaCE(mnnR0`C|p=?(lk7PECvMBNwMG=IGme*08Ub&H2J<6Pck zb(sWQ2o!Ow71XiG&2{B%>2zj^ut@s)t#ivmX3?y7_kO>>(Cw{M`zKXg-R<4_mL@Hq zP-d@rPfyO4`>^oH?qV&Y$=}UAlxU&=Rd(o zPj4l|(`}91ZGV?ChFP$2crxzd4^fhSG=tT{hyAd`se(3>BOI?*O<8j~!NrYprL%}t zg1~)VC4L(zMhUiu94=cNEpHVGc^VWo8mP1g{e84hx#oqz6o#{%(yPO+=oB#;s2K9! z-ZZ^%(he6^3BgXUk{SP*@*)<^(eTnPTC=bt;K3%=7YfoVHZ7L_&vC+mt7t-t&XQ!Q z3#?}{^Q8NYmnh3~p7ii4nlxp}RM8qkzCwlOuBmU9sM~X%3g{}DvP5U8rhn(DkX1!f z*W@hKj^{ibajIzAmNlw6+pq7)-SNTQeZ_?i83nepm5UYnRp#vTdBVVv<~+TX%ahga zpkuU`@dVxvvOlCeWR(?o4Xl`X%_N1lESSjQ5zL{o)L{p!LC7P0?iWvYDhM;>+<4bM zVGV=&ix?t*geiN@0+i`V9Ixw+r3>0x>E!RbT{19z>(*(SY3 zrVeE*r2a-R2;a3_B=#qGLF7*cxkLYpnnH7&b=59j`0c@U`BLw(XpXDPq?r$2kmTYw zwe)CG{4x2WeOQCY{vDatdjnacIv$IjyXf(F%0a=7+QU3*HLlLahcpiVytGp2jvD6y z$5zp{#TmMaiJ?yoHg?yTuDL0(`s2J^zMM-KCtvD##d##lbZb-S8dvM?@V=jmcW*OY zA9MAotMKK8p}Gs$w%jb&)$vsP#C_dCE@_`-=tD7cTSU$HO6#bntMS)S`g zO#;%9Z+$Y}WK4*fEhrgc!f#Q0Bh&cPt;&1W`gFiWLE!q1 z6MH=-%QP;LZ%pGp{_|~riuI9ONl&&3cKEvY9$^3fz@l^Vnq1|a8|6&i4-$4=t-YS> zc|<((!@=IScifCVOlZro(PKS+fK~KN18i=>-aGT^H zvvotP(6l2$vKD3BEhpTfL=7Hti9b9P{qlW1b5EdY%VWV1hGspTlKWae9vx6vwxKn3 zbA!x|1L6&?0X^w8f-HNRxb{iwCi*;J)J}1ht`3%YW)OL08c(V8rV~qNJ2ZH%&+v1Q z*0|AZ5_Zdgo2`#)h688H1P*nL_gNJm8sATNGSO^*q>A&GMv3j7&v?El^6$QRsL8H) zmLNaVx#fkQ7xX@l7Us}bmGb09vLlR zkyD6TzeG6Q`Lg0dzTamQT^c6XL`YqJ?HuT3Xx{zv(pZQ)5iJuKCC z?6t}xrk$0jZ7OiAk#slo3D7KTSk%0K?RU*4SxuQc2{R`#{MccB3PmMy-;%Xi-4pma5Jp#{S(p$hBo!twSIH?BsB9}swVVBfy7J2Q`zsc|X3 zVGo|*Dd)f?)vn-FV7`gzQmxtbc; zRsPSn!y)*}NBN6x3d+q2b;pHxn;Ha-6!*0#NIVLf^I37JdQ((kmBDo#d3TmAib7Kb z1wA$~1c|GzpQ?6aVXf?fru-1e1K$hy7dCSlNVSU=uh<%O?0S4{ zNlnL%gu;~s^@Ws;gPJ#O%5ncH^6)rQ-171ocGg-Gg_h}}Z=Sa%ln1hCl&^Lu-+xU% ztD`)3d-*&?7O@V&mSXPR8>KA|C>Q)FUtQo+v7+7XK)a$KV`u@-%`}O(R}3a7X)gWb zXCI_F=aJ?DC9Nevn#+v%YL{r~m^RH{A*7n2lCz-dtYPiC_RLf6?hln>oja!aY6pS;Qr1809B*`)WYnApcXZD%@wrfw$RK2Tp+#aD!}1$4TZ^=J9xA$*VspD) z$udpNeSw0*;nwrlas-6Sc?H`3PcQqqJooUmTm`j0J;U6q+qiyQ_qlZ=_x?AjEC=5E zE)5SwOum&g{IWB?@!4qGJNjnx-tCklgO)9Ei7Gr!tRm)TDn+Ct>io#Qlj5!;8 zmw%PC31{wYU{+3;e9F+|LEA+2<r&V^e0Gbs5pR#Y#c}9Ge^1qbIN(58!cFVjL5Z zB+!;5@L4o3z^UuRf1x+ir>d(ZKCh6LGE13qxKB4VNw6)jXhV|jHcqie@zDp^Hb0Q5 zs}SVemb`rev*iMrUU$~A&gonWm;*dn^EdF$2#{!LZs>TNJL|B;Y-Y>ZMwU}AGftmu zIs39=+(*lK78ALj7uZ!y3_qM+oHlFKwx(bMMh-@kls3DzZEPx;H7hOCd(*6=6LdPJ z&ECyvGttauRbi|8g3MKiGmmd#od3+agMmG;)aGP!R%zQTrj1r}%UXlOm2L-f&JyMe zcA6A(yt`MJFOZe>mci6MQ)Yve^9*-3aJ~pliwskJ5>a#@@Z)ybx0dtxl*4DRg!-sN z%xW>Iy2+5-&~W_Q{1XQR%a{JQ{2M93FXAZtL`JN|QA)&D=b__i5vMxGl24u78b^Y( zjyUZWnYCoOt79_fjT_O2zA9_Za=TtCQz5{%{$-)~Mz^)DvjdMVI(e1D=}OF=H_O!qX<(K8J6c*1ewgcs|=rRyg#YMbzV+FHO@;5l=Pr?=FK`CeA6h08Lu z_!n16B(}J;1^8KPOhn{0q8nISHq4lm=>H={rPX1=l|q(>0#l7UGNtF` z&MvJw9TJ(iSuJsULuf?tZ{`^iQA#0QMYg~l9z z>LwcLd;H+;^{O#^in}WvcAr=(c>3v{-5z@$r79oL+N1lbxif$zsfFYG^gSkD ziOJS&+ub*Wm;^9?eJ&*1v?*uh)Oy7fN1G#=g2$YEj%0mINIB^pKIdrtE}@CDHTCW! z+xw(M9G=ROmeARl;&m)#;!Dxn45<>m9{9PT6V)D)%hBldknLW9Q`mR*#hI zo+R7dn3z@UcJgNR$$5+{8_#51h?vCfkhN@E+Oit!O@9jd64-Mcm<qsZrseMT#)g;=iJ#p zXP!{7^4MP1P#~& z%knOBb*L@e#P|5Z+i%-%PYmTZ(n{XVmafR@?7H6NI_soIxi=W{xC;c6cD9Au1btUO zF+X6w=cU}UX_qwCUb277t?A3fdj0b4Ykuas{U+SU>p3D!a&v+o*0(F>?{LVkEzJM9 zEkEem|NPpI`B?%5%?-(ANSzygTI_h z9qt#uxM$BaPw(RYE9drJl(<;YpRSf1UUtTIW0YcLyr5X}!R(Tan>|)k7AT6Be5@3_ z)Oqs7)hmicyADe4Q*1pHD41I2#yL^u%JJv-;t6qqypA5;a=ah3+1@ zxM4;0*^ed%C)V2Zb@#q)SzMuG_OE%fxNO71$7&H>_cq;>*!sk_s5bxXqp!aoJ$=2& zbl(d8<|j{2%lrF1-6+AbPoh-7=2>i?4DUy2w>ZIFdk>bMyWL&5DWrjQNr5JNhDD~M z#f%FqYd>%&ORHB^wsZ0oe|u%{WqPAzT<^(KcmK@2|3B7H`O9}xjJ92X!YL~jf%I|FE!h*cyi)L4430Ox7nKa*DZUoPR(4Rb=KRp&exSf zG?e$fQBBzN&ZPAHW4VW)?R0*fd!iB1Vy{#xlyAeiU-x6&^Ueanig_1$3fnk7i8rli zuQ?&UQ-Hm|fIBiF??YupPuzNz%um%7p;kWI*VMh-SeL*YmGk_rQ2UIIMSY=5@?L8j zE>M(xkhuKwhI?Ng?)@^4v2N)(p&j!ojQRzg^#3aaJ(baQxclQ)$3!E|nG&6|oI2+- zT@(-2(kakd*;IMuo=NB<*XxU#ZY7yIoD+KRXtvHl?emucYiyo9IMyvz75L*a5f*E9crI+kA- zZ~C2n;4j-n#lAzmVh?-g%@h4EWWXG3u)M&4!SG!41g=@f1Ya-s@9@y6m3u+Y;%f^V zrxo6bxFhjB*R#!^-MYm>?3_P~<>Osv6J``GY*(^)vbQFaQ}r-UXGg$>$Er-TO@(e; z2z;?wkegMWZEfJm3yuS#GTn>gh8;jbcW{7AW zW^-%Pnqal%+1WYP*BeB=#Zr4WaZL*fy`jLPx-EG1vO5zrJc3%|=59-Qv*YdU9WJ7I z8@9}No6r_6e|6zOR-VxL4x$`e=R_1I9PYVj#v)XvGhrWB$mUY-EuZeUh}>YT&$H-tAf8KLm`j&RNb63-8{y?BNGevh)rU6uA18UUq-Ly z?x~53vzqlT-TKkc6>DAo-f@ZZeI|B+OVta+?6rO@5n;b_A&ry&%!y|z`=4+;7t}g% zgGE&~?O=14`L=^C8(VJ_^V|Itvp6I@MeM~PB|-n&S<|Km-8j#avrhU#Hxs{)!EsqZ z9al!F?VCSZiG<3mb`|?KIeoVKwuU0^jUF}n`&!IE7b3|@sY{x#u{gFzd~#L7)WUN% z!O}`144E=18J3@|j)@5*$rOlnDogiol1`tU{3xWM$?4pc;3bBlRtE*`c62S`aPLk? zT=(S7ES`3b4FxSm%0fH)xokQfG4^ZJcs$Z*6MCw=*6xGGp>|!n*cUC1w@xVT7xI!= z$p7EY%fNAAfV-~f%GENJOFDGfJWaz~3m;!$_wO{);tyhH^t!aGLTcNM1+ybwTsw#H9T0jZ(;oMSni9d;#KB1irFV_3%RU!T4!nD>9?VcE-N=B-t^Kx zJLT@xbH3L@BcA$}nI-kQmMy$}=}>vp<&>#nJnjveO{r@B zvk%Xf7qeJ6Dd&hI+lDvmloO>r&w2N+HN0SB{GvGbTgIAM`R8^rt98n$&oQkr5%6F& z+E6(=e9MFnTTE&s-6aoX{R@6`cv4nE#-hvCMXsvHr#yJQ;r=eJa|I=88(ztMer9-L z*J8FcZ&h@wq+b0GzSL%wvFR|M3|H+=bg7& z|Nq#mieiYl-^-Bq-5~4wJf}tGdtb#ai@gvm_xaLy8`c*8M&8ExOxu$<*Ztsc;5_Ld z->^um^~1V~{ng$DVrmXAEt{&^1Lbqhm~(uIeA6J%BmXbu0(;F?w-(Kh5B~X>t$eD| zRAkSRB+zQ%q9k^)!`&rGXzKqRM_Lao$@XbkyD$!hg4c(d`@}q z<8U*YHnBTeGFfQ4kfHImi@o_R$udt@xT^c*^(8OzpZ{+QujSo~{XSn7rQXwUbNqL4 zLZM5tVs{0j))95iO_nJts+OK!enM9MYf_TeFqq9@HJCg8h8UN)RgO_tsq(C;O{VwE=S@|@>eo_?KX?xk3?zFxnI^FN<5 zBd?mV^~oDfGAAt0X3bkWN%X;y^L#rQ|8H3MQaanIN57}dug&br!ijIf)=qliSKrmK zhPtDwNAxikzM;_Nl%S7uZu@yiELIpfMqK;1N>AiGi zL;KyQ*~fwm-e2TpyHtEXLhkp0jb}Er{SD4Z&79GGEu^8M@5XheoC_Vg0{Z+eg1VW$ z+9w#@%q(1A#O^VQKF0pzkvQ+p#w$m(`l3YsYjZY59N^uujn#=E%>Lv7XVDtPWeY!D z+wLnkk+0yQqQO@~%@{24hO&ZzP zOyJG^)8JeGO87?I#<13q2gREjgkLxWTqyi=(neZ=^`c2r1e^JdX_`FuwhKLEDHcr? zsJL)rufZC9m((-Kf15WPu=!*7>EWt*yqXbm1q{tqUDpJ)(l%yZ2-VSgaVn{AgR^u7 z19Q03o8I`;Jnk^9YoB=71xohb(o))_kgLB$=ZIjBZC5yDrTAX7WGJ?r77qu4d_qV4kOpmiA=m(lN1i=BJ8 zKA0`xd~o9h(>z)I#KoP`NB=GKK0l?$H1dJOgAZTBBahEuJFs4O?uXX%M|wpH=Ql2B z%ld3_uR5dZ`s_(FB76N8tY(l*al6m`vRuGquFk=Psfx_}J`%s&&tK>h+v>ov^>Dhg zl$pyL<_SJM0lbm7Z}+Kg&vxwJwEh{lrLKmOq{4@p5#paRvlcq74f@Zl_LsGF-9&~P zv3@7dg)I7fV8@;ayAI23^*b5_c~03poET8HWMSddfCVZpufIl2oHDn0*OkRhLhhU2 z?k!z+Uhuxe+KM$fk0y7_J)kzv^ej`(43RD7DQ|h=J+kEG3U@i~VV?JOp0bdj-|Sx- zm)rBMiV)xRX43b~KHDYUR}?2mPLn^iKgnzMnciO4)-4OJZ%Hfj;tJw%&5N7R&woZj zMczfEa*1CkpWepjErOtB(F&Fsb9E+Fb@xpD^uDk3dg=b(W_5cle)Ij*uBi1{x#J?`?-#mm#&TuUHZP- zCcoMo9Jljc&=UOjxIs@RLi1~S)vw>bIlpzEV2tiy5?(Nq#hTShkfX_f}MQbo9R9Xkp--sK7Z{!0O)R1H4P-+}y-_wvqe6N*<5fy$3xw=HK8t8r8+%bnt)1 zz8BT|b}jCD?A`U+x_er|OqnYOr(akuAZRm@dtJeesr#Ec-`wbX_oGjKiHusY0LM#v zy^lf$g2Gyc6SZ%$d3o%S3*eC5aY*M2H(TZ*j*||@G=x_KPX1jad}ikM9jhl>pPX!a zQ~A#>K1anVD^A+-9XV`MGtuSuf!5AxJexPvEEIF`Y|)(2&~&p)z}VW^<;e6MQ)6yU zjjMFrJ=^8Le+TifLWx#SE;|+Fi%r4>6P6w8?z(c2)v1AVd6Luvfun{8rSfmhQZJD? zF;QkmfV4@X^e2neZx6bfNUjXKBDGG^dE4$e#(`{SGa1ftvY)@HzD;`WrHSS{6pmi) z+`4L)&B}59aL&?(yn5 zxN~(EqtQa9U5Zm59BIp%`7d~xrWCjKqCGh(Cz?z=QeGWTuvupFX|i49;pUbT9aB7_ zl7#AA)Yxw)%`Hmq-5 z06UnI`O-5|i~i+Lwf!s;FrHG+C)!KqDrqLH&k!>yM`L6(^me z8hkxYEt@mhI)i<=&6HV;vvrd@3cI|f%c$-6y!6@UO@7%Na@D6-ty!{kg=}*+N2QU< zjF|S211yeF4W0(l0XGYs1naMH_nC(t5mu+Y}8N;mY%(&vp z(zPvZn|GdCW1}McqS5-psn<;28*3)oSWTYbwc>NIcfzR^hfb+(59z$=!+Cs%Z?DzT z=t%4Oi>K|IJm-)o}jpMABk?-=D zhAS$ImL6!H6mVe52CErezFYrqIjfq|b!*FROHMy~DZhB@Ge@SJ{LSLE@XhH=i*~0f zzr{W0UZ!w}aIlsooC?~|bM}uU8%JxofR;!=YefNjT!3$DMN_&(z#@&t>;-dXEbw^vagNq;4Elc+S6X-(XsjrGmmQ9RgR0CqTc6yI>js4zwWreqZ%me zdU3<6bLT3WvOCz5ZnSJLQL=r#7&Im+bb8y4)rBWkuez~%-!JVgn^qlMboPsk@X<-f zuV}3m-^{azdF`o}%@sR$6lAS^W~gvOOD=Kd8t&*`bKBWx4mGe8&7alKEbiST-hJ@l z!Rf|-*VJCzvWHv2WbG-|89Lt;FJGn#2m z6L>s^J?(>Mng^?D#W|x6*26tr;j9;&C!XUA?GXRL>e$g_v!gAx!pk$^g51R^w*>!lXjusTLqL?JBM^;&dqdzMA3W=GSO5KfsBjlLS~axWVH zIGoB7XgPHzEL%4$?rhkVDPgN?+9dj=)BgWl8|F(Im>3$|_AqEpvNDi8{ao_0Nc2YGXa?ci;!-*LB(&4xRC7S4^*S(Opxu!UFVvf<8>eZi6&y^~Fim9Fm4_EFv8`OD?Z!Jd;x z-*~=Q63V!Doqj?PtEsPk1Lx&6C)F$1RX1qtk>%chHTvs^GjBgevtEea7uq1+(OzLY z<=|Dn@*m9`BZ3Yc_2Rx8EqF0nDS^RGq3Ph)+wa%hITCwk$&YZ>ga%brE-~8(MJ0{J zo#qykjjf#Rt-H6|1UK8hHlEM8MM1#C>GBQvrVV|vTc55zCHzACRz;#GXMwd;EhPwVSm-`Q~%QnwGxXekz8G`C=Hx#Y>Ptf@4DZQF#a@~cAI5*UmQ zTv+GA`EpHL#fDI^-s@+3VvfyVh;0buE@l6^A?($ZbMp^AXua?tx-~|j=uYc`u&UHX z;kr}2eqCp6nxp16#3i)y{YyB^n<%<0u}vdZvhNyKt>APgGu97g1;I)266RYB%}avK z)zi$?%goi&R^Ix1SLs!R3H$yTEgIbL4zbi${S|FR8?M=(c&f1U zd}3IqVp$u@zuQ++A6iLjvN~8z39#~r<5=E2YlSdJkzL!W>XrSccIm1u(p%=<)8u_n zf#;=b@a>z{%uM^Kv4BzPMDNdw_XM(ntCx8@%JDh1B{y#5bV=j! zjb@f?V0P@7r>c?cH}K>vna+-1q;VD(wi zc3AY)Duq`CMOlh=zN`vKSDrp~UH``k62N&ntF={8w)72B|WA8bgmrr>sQ-sd1+9>B8f23mJot*Qm{+vgZ`po-src`pi+uFD(L8zuo^5@d* z^T%{fH1wY5=)E|BL(u15%^RLI0!u_~9L+o&WkTLd)^py>>-hh-aZ_jqQ{2RbPttZo zJeb+HdzUF=I&0p;y3WgUpFY^fmh_<6>_l_Cga6bW*VAgR?Rb3Zv}~Aqdy!^%;;%mo zS1)PSEa;rR;oWqHG_~iSH0FPjHNC;-a4Ki*r<$$LmITCvg(Z4we5#mH*kd4LQX}jz zbF$eHVOvKIyUY{mOAZ%mOtHR_ee6HS#=M`?3T7T(SL+hHa>IvGmiK#IN-JmVTP+@} z+0_;~{V(r9H-(uki7!kmIy+}ZvhMie(POQkFrBOWE7xylzR%gNDjS;~PV0GSaOB$Y z$cY-=X)f*_$6XhGl-ypp-@xz5oAVnj9y|-_P*QlhcE(l1iRad8G&YsC#}_<(aE&Yb z>^XtEVF4>H$k(#7TsphF1*38a)6cK%d@H7x3r_Tl*A0vgEiap2KD8o& zIhXyD;ZkHR6ojAyvX)`P9&n5TeH_u&|e}AEMRgL?5 z%LP&==1tjfTv(`#MM&N^wz5VS$S4Nw3#|L*r(YM}#kHcPQ(WoR_S)D(e;xXoFW0voE@-%y-+G^Y(cS(<55E7s zn*aBD`l9tsXXU#Z40dSG;k^CfcT1|u%G39je!Y@Y|L~UMGViEGO~wBsn5;iF7SCw> zy!`bcoo1s9=6^@zWdsr~t#1i`&}TBC^~3(9Pupu70u%}q4mL51M_e>Lyug90_K!i2 z#zjS!PBHzYGb;?0T$@xgIx4RoRQ8xCZJl@LhvAbG-5jMGJt_;ESB7(^a&38#9kV6p z@qtRi9S6k&=D77M`L1$knrrGc-^n&(aiC9|&s?Dr0k;WPmj&)$wxsBtnxocfs~wiR z51ie(D&&l&<%w-ik9ci&3tN#Qq!Zt(zxrFP=QjO^hZ4k1ZdMx@#vZPdO#bsa;u*V* zg@}!UD&LfYA~*L5&IIlFKg_+1>D-E`*)K08v1>;doSc>uz47L*R_*UG$!#KU`u>+F zxGi*$n;Uh~N<{dfj=|KFNTqCZ9Y6kALBdv#Av0 zC~REFS7G(5Q86XZvw4nxj^xw{(L%SpJ#ED2I!OMx-lf7GY3MESDYhj+o6G1%OydU0 zEe-VyTr(~>b?ki<*UWz{U9N@c?)3Y0{4+Ks_-(RKRcvKxyb;~YQoBIDsB(+S;_i*6 zFJww2q(mBv*Pc=G@HXdCiOA{f2nn%o7LExA@MVL9o!+(Dwjuw#XC>I4p%dbN+s=LM@?Jg(5d zrLsb~h40CQb^C*wt}ken+wyYNM&GN?=dYZ~wVY`^?~{WjuLGjjTE=ZKZRRjJa_L&$ zUdb=FW4(_GK4V+E$B9*JZ9@A5o!$!tOuL!p&VILRiphl|`X!1YY2|Bef>?J&oDd4x z`|4bE-T`Luo&fC~3O#d~*zaf0*O~idA~S!k4^M$$$PK|My9JJ`e`HcU5OA`e&%BA5 zf2xPh#gm%rbB^x*crJV5A^CP5l|qFsk9nsJE_df05ldcED9txxNY%IQ~!v;S^mg8n?p~TO%J%tJ2CCMqkMnO zo%YAV)=BQtCI<{!nIykVZ0EPj+1TQ+XtH1HOBTbrszntpj=!Ht-jT|dvr*Y}B(rbA zzM~3jQuqD5F4yAd$*DTy!`5d%e&1GcgkQC=E$+{iK%)aojd`B1*?&9~@MhXX5gBF~zm=CPx)PZz^V|ws9q&J$ zro8iV#G~N3zvnopB)m%^{9E9$ie7rOLxgR z7uxa|(`GuWoVcT=!fp4UHADZC)9nRQrq77{zaZgZ3=>Dx71xC)k~sNa9FfuxVE3#k zR(QB1+3NbubLB?uz284N*=+Az)D*ixbXtegw^>gXs{ef57G$hZIFI8(cge=toPV!7 zaQ`xC=~}Vy_nYNR&wl#5@usv0Hw!wR>kN=i3{-G4I@)r9bw-DrNQRNJLiw_3L7iPI z+WA;D{XVGizSCjgdc4Aoy+nx5B94V6=2MjWXAbwp|9mI(-JGoW+2yLWVUcFP&6U?| zf+At_`~nS^OcCV2vQjBRWDT?6YFD*@)$yi_nAa*bIqx~(74GLcc|*<<<=m6Anl2Pg z%lWaIN2v1ZiPX?lud;)pE^OjCR^`noXV9+nDShJoJ&QR0M_=&vk(;n!+98hR^Kw_3 zUJq#W`{Bqww}FLC^^t7orpt3DN$6%Kez|q|Ua*i~5CcboOZ0`Lr5(YO4;HdiNzReV zTIld8Jik&(aE4OhB1xrpEjopFW-Obyll6CQ=KshrPqVemerKi@&7KnUS!)@i+35&A zr%ypomCTiXrf}TeAie1BH?csAiOS}y9x<5qJQm?nIGCR0bziDLGfh|Ej*~+HPi9T{ zsus&Pif>yYcCkz=zPfvfPU%-|cb%@d`EzD%lxb|AQSl>Oahkq>kRYqng@oxkGqhQq z#2UlmOaryAW$CJCPT$==-ndS4 zijd`vPt(4p#EaETJ{?R^HQbL49g#E+jumc%l=oI-gcKAJe>`K z&qU)}pM6mK{Y9~6{~STP-#<^E5iB|Q?oR4^zupFuj>9`9{Z{_6D8z8Tq2v^uTDP8a zCDvc|u3Yqb&*jA|r7}k{PR@9M7V%w@+pj=zk%t7iLgx`&WmPit>ND7SaswA!hS ziWvo`6+S<#I+e${)FE;L=Z6G=Ka8t4t#?n|dd%&Z$u`5j&ss^!Opyw9Y-@f-ct#v% zviAQJVZQtJ+jr%Mt?zxxD>r0qVpgB=nE%JW!$J`o-kqpQke%B4X3x#srz}PjRfB(T zD)_(U$2^w{3cQ&YlpLSTx!v~t*rQFc<_@1b3)^1Y)SB{blioGnEoI@0?yAQmAG|)d zsO)Kf&?WC8bM0p;EjgKWDQ3z(HRZZ&TTVDw!v>(p*Dugz>u zUeW)giY96ASWxoZ%1bWt$T__eD&m%Bcd^fmShM8Rw!H<9P1i_ITYfU-pmf0AX{Vj1 z?-5x#@nw+KnP$5$pH^&l=(B824r{%es&Ux3)cM1-=%1(JCSP}0$YwkDFWa)3v*i2s^e^Sv6FAm}I*Qdrlsoy{d)dFF zN618@ar#_&^UenOw8!d}QcI%+UMI)@W-4sdS#v#o&TRYi6Z7qsFiNwlGzR_Zl>f== z!gaz)?hL1+gaT8X8`EAUL5~9!Eu9SO;?GF76r5nXrP6py4F0;UV||LzR=e9%|q z=h2D_XDu|GwKZDO8`@Yznk+bO6xSY_dLtoFgwN=M@Ab2H!+9>V^EgRQY2e{;x)*xY zBc}hE%52xnR^=0y-hN@cb>UnmXPn~)h7UF86%txscsvvfc=)qml0$|Zp9_PS1=C|y zrr1L1CnuRdPw9KCvhZcXc}IqW{~gXQWIFOtsI31@L;sH@vkgr9UT{9zGq?HF(xXu} z(;U`B|21$9*b%LG=$@{C>}3IVo;k;LK6unbDitL>@|bhF=}TD1LgAdJ(;RXZ>6ASB zoD;D@LaOy zt~{U1d!9!j`=nL2MSIyKo%VbZCe*fjr+m29fnBw#5tC9QXFZKvlp5v77P{%F(z?Tu z3a$JB-Jz#uN8NhrTA^y6w>09_)7W26wQ#UF3cQ%*Ch;s$C@opcC2pB& zyw$UmptRJeXQ@ePX<5(Giqg`no~1XXWpq8un3R?|>sjWaw5(OnvW#3-$4X@%O3OKw z7HM`s<;+w5DXqUxJUyU!(<-JrCZOBWqtR7?P2Z2>D6h-^I@2`f9LD1{vmVV5NqFTF zDACILGst z>P3U!3-gc{twkB_RWI6`GCI0mbi8`bSi@wf!oVQVAmGs~^5HpSN>jI-2GbQLsWs^g z3r<>iFsm+k(eOy){+o>cNe3({4!0dsXFPGyxPXCyrQyb3r~b4R6OC4MzFN^Ex1w}g zMjhYFsSV9jSEWx`md?;~(BchK-K7=1lQL$ldO2%T=ImXXO|vw*R%!h2uF|X)Ymn49 ztW%-Mc;JB0ffXVF4$@yV8u%E*Dh|#JbC6rZz$kKVYR<6+qgSP`cr}(hpCG1L>vX^{ zLxVwtL7}5rWyN#0l0({S4m3wCzt^DEl$1I5(sI@AGr{p;0wrtA$|tJ{xdcCE{pw(EJ9nzLXBqp412mCymsf+qDHO>#S!T zFl!|=Ysxqqy>VE+jgvQ{(aCFN{iN5%Gqfj$tysG3b+wd(X)x+UnDj8~ z3pA{uBuRY&Z_Ii6;_8z|1hn;ecc)dBYEq&uT%}q=WtXKT1_zwKH zW<0>W!)dNqgT$AKhkvDSdFNu0;MA4pIg^2bsi3o0%z?+wN%acv(tDX^9?UWVtp}E+ zpZ<05^f4WV1KPD^tL`#5EX#W}ZPDr~J_dmgz7~59@yRr(tg_1?Zr zb5dWkg+u=AH4V3>iCTObdH!F~#X^U$dEp2%j2Xu?MGoxzl~=v5;KQN2Ji_m5 z^ddfSiL$Eewk})FSi|(ls&J-^qs5=b6_*&#ggJMm<*z@s+^>R}_YC8uR~vY~eem~a z6m~Y8`J?fd)$69%_tPe9{4aClJ%^5C)uA{1yVd_~QlDY;a>k=WS~<*1!#)VJ=ZgGp zUbdFMps-5s z##D{M&b-EnOz$=8nckk$dHd?qvU`R)`#1e}xtu3>dU zvrH>!dr{El=TV2>SX7tPtjfJE*ZfVZv?}eDO1`Jj1SVw;gx2-Vw|2F>m zOTT<$VfI4P;6q$DR-X|w)m1J%&-77GUdQl5_)4p9p_9upXK$M&)*#i8JGqKkJbR7! zmUPCDrd}t8cz2D!>92R@Wx4JzWzA;O;9+?G=wsC*v;VtaecQcDn^B`&ZU6E=Qq8MU zwdG%bFq`AlWyK)o(b$>i?6Lh*xcg!2!|G=aZIJ3WEa3hw>6}u^e4x~uF(p{zf>eID zU&flWSBZz8N4?*eemm=`-K&z-=GF7d8n}NnsB17zU@+TrNNmYL!#Pb=S$WRObH)EO z?L4)zRfs|E=7Yu8)_E7do0`Bp{oC7C?^PCOKIo`FF+8sBH~q&pqxWV$9I7YQ-+OX) z?=rKAO@SwM0EzTU`Eq>Ae zkEK6pZS>~nj3;s}Dwxs_r!(9*z$a&V`IbW0{qj?bG^eU9`K`6?XVf7+0R}_$h9%cu zS=`uGeaNKbeCFSxhI#UN^QY%7);_#gxw2KN;jCA)+>N)K2VyN04qZ6)oUMSVL;IJ# z(BTL3Hodi5d2`zP70cJnWUk)8y<6GcA*%Z4)l=#LtEG(f3pTFSXjJ^Y!Ta}?;OedR zE1rq{oI1g@R*J#e(qLQs^KH?;cTBF{IorB!UblaXv$D#T%;nYhH~ijt`uCp8)q8LM z-ut+EA9r>6r|SK`fA43mIl%qrfN;%0=|2bkBSbk4AJVrmc)HRflnQJd_|Gn`3*4gJa5{isEEQgi%FrK$((9!wRAHs0Oc#lDd)Wzi5 zYuSIVoj!6_zmc<{)^VwWfe(}Di$;SFHO~$lIyJ?C$HhtSzzo;IzjrRz-c9~{Jlyuy z<_6|Hj(R0xIv;A*1^ltzWpn2C--pU|kGTJw-F`4q+)?CCfXb4l9j1SeY_55zUH2^e z-?Q(#FNzu0a{S?>3H zv$`C5{rO+^t9=h||NH+zxc;N}RnRD``$4Cky#iV`=j)Gf9B|S)aAQ&mqrsZKl@kBI z71w|7X1f<&Yj7ZtS*6zCiPO{hHTT#LAI^4A(fM<=y8h4U|9>vm|GoYH@8kM^umAu1 zZ112UU@;-Vv6)>^Eo8@pMCW#XMYkyy6O&xK#SPQ0?3kGB-Y@UiCSo}$#dETH;IfdN zlTy8>>n9$YVmUd@ceZ)qvnx9%r~A*hZ)6j-nvxN?*nOf}=&nM?DfYbkk4&~Qy=N`P zq;3%%R&Y?*ibXtUQr6dGX5}r%a%XR4TfyS+_*miYTN@Z9?1ZFOEWDPO8Na`tk^SDz zgiA*IxQjnLoZLRw^k_Dpf56eM*Z4<^#ncd+9xwp3$KHukYYEDBcgkprtSYN;%$d)7Y(w4)sj?$C&y}WM z-#6Dfh<)R=R{nawd3##-H*>ob`o0QVb8f{k?e?1$jv}ib?R;DsbFf1O$W`!>l)h@NFRIHs<{3Cl84G>%*Qp^+J(acgBfKD4mNWs z_y!+fG(A+=!evm>Db$iY>EL3n_%|W2Q$1M%A6#$|&;8>1@57bJ=Xr}89499gojB<2 zEf_lGBClh0D!0=yMWd6EnQO0xE#o?@w@{P&)TzCVZHM{J@LK+MT%dk0FiF8gI<({5 zmbAiRXN?0NlMXBIQ(UxwZC6FxdVvj|feTpwggDPuFcVR_-Rj{nd4c_T-||@b#ljbl z=J7A)Gp@K8>kzASr|Q`%p0J5uuQdz$MLgs!{>p37T(h=kM^oF`Q$AnsRAw#W*zn?r zcwyemYtqT03W_q>+AiFBd1)WQXQ^^kHB51H=6K#y_}}}4rP<`0QXXlua>X)&n}Uu_ zOl|z~weneGmfc}D>$^r34_B^SXJvk`#I+;5Nr~;WQKEIQ!s;J)CO%Q(dNQGngL!x7 zrY8m0G90=cx&zj}W!-Rf+5#TEBZYGc{s^pKm6@%2@mAxHZ@=Fkc-b15x9e@0b!MZ` zcjnY{pirPimt2S+rt-$tup-}T_T!sFpcqT%ey?q zxW3A%(KQ_R+GU>YYUq0GFM6V&DTgJl;!*3ma)mpK^QB*2H^`3r@i20OVe#Hg|6=}p zJULynqMRrr z0%tGgyIifB9v5@mY`bPc1C!>0uObhoz2Zn|WGy^hr17Kk?9~1iRg*-|6$yRzERAK) zD{nZMB&%kWa2mf~d{|`C@&@rEk407opEvC|*lzaZp?Fm=!{%!t9gzWaXROUP%~FSfZ4HyixYoM(zg#1(Bm*X+enJA*>>kT0B`T z63xVKx~e*Jv~sLt;B20BWTC)R4QDN>i=C@d82OgYXJPs{wJqh#A|}R0lWQCSQ?-12 zni^be+|q^XGn1PnkHmR->vV&T=(7b&qtGQlk`8J($=%|^>qLKS5GB>y-b4{~ko&|g8&Sl&ITu->) zZTNrfx5u}AJ3E5xk5@KY-)fLApR$PM+>RMc*A91m(wVlgH}#D}kbp_!4UfVNn*OS% z7V{j7Dt2^^(h<0@NNk2~%krmz2j$!fIi0^`bIg9=q^38qeP==g_jHM)YM%n+*3=x_ zw&Uts?f~iNGc}@$(Xj_IgLmKJ-TH0o#<{t<`Lo&2_%v+4XvlZi)v0XH7U7)}v>u~U| zNJFEyi4vFp52uj-?FL*P4;a`Q1*UVI_`o9H@LkVtRjypuhF0qsR<`LITtp5;Ykr;b z<491FQCH}hB=N%$$4s_ubSPMpEXV!!xTD-ArmmVND%>ikbn8AA<^OKcO>sK8!ttQ$ z8R^H8*DV@V%nZ9ME!YM2O+W7**$}<>N<+jIaYb>B%MSmt%>KQ*uEnk^Ri%SgJ`QLB?%efuhLMpA2)h zm$nA%ILo%_-icMwdt)N>uU|i~$TU7LH)P?xfzewdeSaa_1*du8M7=jS_*u3r(5*C8pk{~gDj zMPIGVRxOdfH(iAzPTY3l6P>SB-d9bYS#a#*Z7h>{bfER9d{NAmQ#+>09sQ)bY(sx&s9!Rw^TW$SID}8;cZsG?(NoJ-cGBe6iLa`{fBfe>VzDauuE?`b;mg}QWoHDiE>(Th zVCkW|dKTM``DyaAIYJ&voSk)oC1gUU2xr~<4Sf#BB=tW|=D&ArY0*AEMW&jEhxh#O zw%E60QvRndyuZ(wxAe2!{mHEDy(+NjOPkrn z7uILqE3CR-_Rl!&vRQ7-f(0`tunDZ`JLuud=yTR`8Q(9yrWFc_JM|7mUD4}t@H*+> z^=Ojrb+0THl?hC`6Sxfw1WXJBECjA|B;B$zVEUfGbXe<|)51UN)-sv5uvq&yUU5jc zwVpj&Xv z3Hn|N?Du>GiVm9GphfZm`lKR7qXl9)LTXEeR8uyoE?OiTv{p%sflZBHX$q%vRgcQ7OX|mj z)=aykXtLnQvLfA^n{@Af(tT*8_q0gw)72E`su{*Mf{R$LWyyXKs?}I& zb5D`~Mzh4V_b;zqp4@RTcS4`eq9!f3_jb#Z41Q+W3-E4W@irEHz{$oX5v;4-H*wvg zM$x3StefRa!QB9C5K*BDgltV~eI+i0AYg6_@su&tWVs z>ztnJxX8pcmRWeaOkC@-v+#DGL!rTCreAIju`D*nQ(dc7oSn19F8JGA7h=yykUBTn z^zvdGyG+iw{|_#RC~4hGG`!Jh@gZyD2`A%Er}=lO7*{>;J}k0vU82to;{y#751dJ} z?O4cri$TaFO<_W6@183!PK7Y8N~ztal5R8n?p2^t zYLJ#Ik7jg;$Xe6tBx77=P}6K zIuLS9l|ANwc#TO_!jj<7qkeox4?F0XPAt*=98@wPP_8YoPH5#ilV`P4mfHP2wT_3$ zx--?_z5k_zelEqddvlzlq(3`0E{*6@jhw}&=;x{UZ;AA&$1&ooV`rr@N(Y#II2y~n zjQPh>n}4kNG9JZN35=Zo-LiHZy)1Ufy7qaP^mB_Ju5nvj6Piu++C^>WhsfP)JF7=;n8GZ!(1OMXVq$vI*F3ww%1WH}zuRtqnKxNCEcv>}%VkY3eZEDMIBMNG z*kN!sZpT;KplM%%*zKnIEu6O?&tCI}Oj8xhqfq|zN`dx}&3zth?0QA%c`B+!8`i~q zTU1oQQZQ+ojaWlwF8-`48Xb^1l8Oa6ZXiNO|^#+=B^Nz#dbMfpl(S7Oq0^#L%(rQ*Jv}d(* zZ!BZo`mKB$dlg&K_p0+{H-*Y$GfHlVDNfnCf6CK;OI}6Z{TBUGKdOJ~r!6U;g*N{; zo0k2fL}Agpm0CX(PANCDC$YR~S3GCx6&6wXBRtN1OOw-z+=Ll%iXGZ_woi5V-h66t z!;9%6948v|K4tBno^W?%v(O_(UI{f<2hZh=q6PmM*o9V__)q4qT4q<;-ME^`yVIF- z<^@jG8%@Edd>3!%n6h0Vu0euDk?X_(*-0171e>ChPi)BGxL9$b{ftRR+lijb6}`7B zN=}6;3QX-0+Zy=OoJYKc>qLReTaWH{Zakthga5ziWzlS(9;U~(aspqbzLaFY#G@?d zjbZr@e?Q9T>v~Y9W;x*<3-8qlywhhW{r9msbXaE7r2I*;zP!!g`DBBejpFUw zoBgLL)EP>gpD`oU(ZD-VPitE9^%pC3G8HUNPJYI<(dgui_s%oLwF`s871PXRx=vQN zvblbKt1zW=CR6X6&?(bbXl9nqFty;Gy<(xwxu2prnH@U?tVI5|bE`g>;gI3Jsd2^+ zCu!v;Zt*`C^e?)*qglm$lYp1dLPe`ZmQEU-moyr$Dr)S~$PZg&xoffRBkkKulpL&d zYYHM{Jw;5)>=}BUbR$3ogC6Kg= zf6=O&N7rnrT03zG$ARXx9a7p=jB7ZPobD&i{BOMB(_)baVOqZ?wJ1(Ae6(=7=q;bi zhn?h=HihN81z(w&v&Aj%NdA&e_aBS*-uSg?=V9h$jgqGp@E9ak`aYLcNsPYv|Do?m z1v#OROKdq@Tt5EA4&FOl>hGp^OFlN@>#@7v_?YSDY-GO>wVh!_P2(~Y{_#A_K7~IQf#y>Tga^DApXl}KOcLFYTBY% zk}2$S?#MHght<~)D*`|#gGocCr)@|Y`1DEyz2!1U~w zy?$oi?&yP8!xk>!vr={Hj4!XVZYX(uti-TprHQy6Lwdaq|B=o+`YDA{zseLt{Eu?i zB**@@iCFNc{Go4h-Qll0q?J0t4i)aHJN{srkxau)@rWzyPn@jLJjbqBr16FCO!2|e z812XFSAV%Xqcn!0z>k%wRbRxJyP(OgL%(JRbIOk<6?VqST~aTWU!Jo0jObjo8U@im z2RLsXu-R)VvZ_(&2ZPX!MD@}YTW&wt5`6opP#5?m7?|4Tu{Y%(wB zL@UYWFCG1VGy*j%tLzf5iq~GxU&NA>xb{q=sLD&uNjtSF7Ph{TTHk-u&WQ6|d8A!- zmTgdVEvo!`NBX3)p^}Pl?cL~2cQ4xB zTg#?iDs+$kkowvGvMTc?Eq}WA{>kTBkFAup8J%}j(w%+#zM$Ph(R&TP3m?kf=DtU|{~j6IJvOa-Y`O2T?Z3y4c28XEo_Owi;`{GOpxx8Zx~Gx*p2q%rns`q{ zLFrlMzGu1ro)y|XFRgoCx$k-Hzvqp1F9PeH`NxUvaMXIhC|M>aTEZw7p!hucp~RGZ z4;Rawm>>6IquuMRb+32sd%gGH>)LrQyz9hnC`(Ril%5m!e5T#oLc3SX=e>$PD1PYS ztAqRAz5Vy@quu+jb?+17-nh?u`S{`6)W&!Db#FQEKY#k~!_T^plKVf({{N^r|M_3L zM}ZGTFEGkBER?+D_)#`aY@MU5#s0j>{}~Ie9ux^k6tmHkbGZLy_P>{b2PNm!z3q?t zYI*-*>ix-K@?X98KP-KDS`@#!vvPs*sKKIgneF?;-0O$wzev+_pW9A)YeiX&nOAbW%3o@e;>GW`0?ra{`>d+{rw|f z?DH7NA+t(&Wt-QMu-aDco23wa_g-qqpY@5#tA=F?lo_+IPBNFY)g=Lg#7>56>@Fc zHB+8+_?W$XGC9C)XHchg<(E@d2OeBHW2KeH5^Zx*<#A65YZIHl(H)zwQbA9S20xye zskU_S?2J{J%PM(}rY2Si+b;3Zo_ta1-27*rnJ*T0sIAH<2zm8HP;32yWr78bAcR7@*V>8Nbj!n$S3HcS23X3yb1$a-m#+b^SYYc`)#71W&}yXD2YJ>Oov zULS1MHQB>nH9ewSCztEZrZZ-*-)uJGv|bZ3lfABA)Z%Acy*z4~KZn zLB|gKch~uNL?k@t<57w9H6M@3l)w3ST%ld((+QR7IiF5yEMN2Kl+N}ypH3Sb*ZF+L z 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�&sKXu}pDa*Cyp+H>1V_PS|mMt$2 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

    E*^T{4d-i^ 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⁢8YAMwT)@at;>f=(Rhj1iqd+?2nuo3j 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ⅇ_50=N7mhl5B+8v(5mjXIXJ9SSxRTye=v}tM+4ZBd z*F@KOm$M7KsKQ36I$#l2;-!Ef9I45>5 z-P(1?!lYrl`}r~vQw8>mZn+5?y*8u-I4>+&>!BcM+Uqf~#(tKk0d6bW-40H86Cv`ULuADYkq0Fc{bo#*+Bs1s(@N@wc+}w4w3lGKv&0Ff5l9J ziTV0r`H?%PiK?{zoGcxdAri4eBwSK-eZjQFPuWwJP0P7C{ov;MD#3*7V)37sig2%B zn&jG8^)${+F}{vd;@?L0>H__L;`~#0ins+U+!QjM##vLPFmtM=g<J-BA7OXR`6G`Epg_ImhQ7J}xpR(j<{%&a%XLK7lnH zU2P4L6@HCT?K2nmyqwo7v1Ip4bCylwOJ2@2{UlPccxg(OxrUTRdepM4DD%u$%DKCi z6=WIYdnp!6EibEDUNLKV)vo0=x0cuaS{~-w9Fo}VDq-7DwIWb(n%lw^&i@%(bTm7I zUZt!43_hpm{n4OBcIL`iyH?JbwQ@&=NSk38yg_2&+@v)%8jBbG5HT|mv2qO(0-fdM)J5II92qh^T;+r7VHd)JU$qSL1t(`M>h|H64SGcu8^y1_JwTR zDD?lR?~NxLWvfN1-JF!A`#*b#eD~;g^xl-ZwLkVoe}VY)(2P~Ch7-ol~NBPOIKI zWA@HjyLZmHy>s60oxMz=!JNC6L|dPJxu7q6my^f>zpeJgmLlt4FA5agogBGa*lYSr zx4QQ$ckQt@|0B%5uuJ+!u=-KXni9vW0h8D~^3Ae(1exqUB66Hsh#?GySt_+&?azkuq!Rf$44& zXD5BE-cg-=p)=)4b(-nY0<^*|UGo6;+>SZWH?I zrF4J5-b%;4`;X82a&-RP>_fr7=9yf}e>kl`_s=2b=}}dhCB55s{_kAC_^R+~kT}n) zkQLgyV;|a2IkdmMtnOG{_9n#|^^775P$ixk?7wx!b%WPs0{P4#v>9O7Y7}2jj=eBG< zAI^AgRrg*O!9BjS%@|&av}_lB7qjsNv*^7uYa$Px-|l>l;p}dq81ZKeF7_rJ9Y1DW zeBt3G=p?w*`RFVWj}wX)UZsAxw%Iput?S0lO~06B_Fi)P|M3FH+cja1=k$EntETKw zN?Gf<@v^652me7QFX<~5XD@fH_EMX4$tQ5FhODU5*=6%j?)$u2B=4d-IdT{ydWb?uFgmfOnzC*7?$ zd*{V1r^SEogfQz#Z9nQIXmX&}X2x0Zqq6)bY&Tn;zUJz<`J+M8Ca&8Tb46Bm-0}%r zeX2Hkiq zK38YyD^cN@*E|9P@0r|4?!A_HS|qkQAT;}c+r~#}NACLxKHe$$_-E|#>ROTf^v6jl zZjO0@=5e<_9(d%f_@p%Bf#O>cFFAgnb2|jz-CwYE>+2)eMKbR^o%6)mSa1HBK<}s9 z&KAZh-M!)Z&>{U@y1`H1rq@sGW?gZ==#kp(VtBWzTl==1%5%TO4V%24%Va+{=3U~? z_`+|WpYMOe_BnT-#O|9fadUgSp7S}WtE~54#GhLl7kJe0(N58|XPsWXjJ^2MbK$ie z&aa*%z1p?q;c1;$Ke?~(5_VFRZCuwExQg%9wz}6l=Dpsv?{)9&vwY5q`~Ha>JokFN z@`|(0TQ3}Zb^WY0L!I~)-#1Ac&wZS5u1~8)&1hw;uEeQ*4|Z=p|6S&M&cpLhPHlS< z_s&%D!eLM84XV*T)~mV-SH-+&O;{na;+)LwzT0Q!UBAqH@j~9D^QlUEezkqx=g>BL z%}0i-tn#lfo?2L5v2{|Pb71ZV_VZWVWP@t*9)>o4(7k!l|Kl27{mRp`9x}&WHvV^6 zxAvn&^QmonMS^|b+^pNwe`2lT|4(Z_I&_|q5RJa_($PR9%SA+TUuTpYzas;)L;eBB z`!5n~MFRa^)J^N+;g{_ufDJEBTYF zd()5AN%_7zBDMwWsG725bLxF}H^Xf``?}q2?j;|5Am1zc!cSz^jys9{-yM#A_rBQ0 zbnna|-bu$ZL{9GLnewX5_z|`CcS3<;VAPFGO?K&dBgyxA*Hl z579RNpMU(mt@xj)GTrB)#Ru<$Hb4Gu7ODI0zVWBY?w=2){QkFU!X4dPtK@g^e|&JK zuJ7w!(X;2i3dD(a^ouxaZ*k?`a)jrRyX~pBdZ+yUdy51_i?CKsh}^ifbNALMN5g09 zKmNGkXL9{keZPsne7(61p8C9>?WVV;#`Np&?{yJ;0v}oUWFm4OOlzF?NI*m)UD3In zXSINfMu4KD0du{<6AAs`WqpFeWi@3hllSz<1RJqTKJe6ghGFWtC6Sk(`OdK{efQ+% z<>&qj99#KRtv(<2T;e%Z@2y9Uz(Jphb`o!9^gU!>?ZX-N`oqB`#~QWkRX%tXEWXy5 z&9P1CcW8n@V;1{1sUM{iPH#%^_Y?Wivox-4(<`o;uCNUb8$Es=`@H*#UflMN=N3J! z__5xrsn3^$LtJbD&y?gt6 ze&giE#bS1MeiS}AIaNRX-kqPtFD@?izaCYytMt{)t@+RI-Thtu;o(v3<8rk*fnQ!; zU7vpc-rwpUAD^CI9)JH|?Vq1t-#@>9|9?FLvq*sh6Sv6+2NvOw0!KFKk`Im?%2NuQ zxU{!?aN;q(QgE2fS%P1a-(IB9MabLaql?I7B{uVG7ar=mzI}14PnR!y%SSgE#WM${ zCAK-XDa)}79h{bC^=hO0vN=|ns~)Y&e5tx-%Ot^L_w6b&PQ6$o(s4{?_m@xJ2A7o+ zSIRD5sB)sQZD;D_L>8${XP3N)@H#oUNVtQ=@|>cE*Rl;uge>frbAR!7;x_#fAY%IZ ze};RbkwB_~QvHMn7c1_)S>dr|PFLnC1+nB8u6ENO3F$YUQA}HKbe?9;hKgk>zFWg5 zZVFzo_>tk%#p`dZn!52&P;9C9oU+hT&Ei8zU&EJd_%d}tM6PMs`o=cd6%j{HXnhTF z*?hGuT0+#fE3hr3Ve$gS+DhNxJ!>-4@0Q+N*{EpC&K0`S@vPJf#giPH)c7nX%=JCp zcZykOUhQvRj{DW@>!vU6e&TAe}_m;epoxFIiu~~1@5-aCb8zRf&xVH3F#d&Kl35@o9 zkuurs&CMEZyZ@dqyL!J>WUt$8=O@0!Mb0CpudT$jRi5)u$m;2mvrOknJxNISpS}28 zr0I%_r)Do+=Fc=!q2Bt}?8OJRAL__j5Pfx(v2|_Ss=|YNr_~glik03I7%jEbL{5oy zQOMJYSC_5Hot3$6r{=DuZ!);AX=i!l_loz=U3o3my^F;^UOYzqPH=TqS)0nSin8OJ zRX4WW;#}0k)i*7F-p^Bur_Z~cZo|psADXH4`OM_2DVNWlagJa6wqj0X!?Zpp2c|2# z{HvZV_L*?jMf_qBztoS3b#Vv2w(&mC`1dICNd?o!cxN_`3I8}->e>Iq7R*o*3i+E; zA=Y^9?*ga&mu37^6CWk8+s^nuIaV{(-PTLm@j}ST4~2aSI^LJoFEW}s`36sVZC3Z* zMXJ{9zw*kaJ@kkxx-l`N@JO`eloPz>lV`3}-I(PgcvfKHwHXXj6BPs2EIcMte)MH( zV0ZKz-tMr?(t2%yJ;^G`l4mQ9-EVkenU%sTees8z#j(J?+fhAdCI!1+eNfm}{Ullb z?+PUnnfEm~)AP871@UT)R=q zQjOlT=DJ8y!Cn|GXb6rZx{;>yO9Lz3QE@$MB;(p!Q;GDH?*5AlQTWgE!lAHp7UN~Mxu-)v zNJ#QrT$&TSf+x&ZXVQ9 zmPlv@?R(o9&EsCaY72*|sz>_NP4~*Kv7N|Vdr)ql<+FK{*2ykA-Bq&k^x35jJ5Q}# zSk$q$Ce>t-q^a??i0lgrjaJ9Et>U>@tTa_iV5{7%)DuSXzn)AL6=D!SsV=#)aiP_O z)$>v=%;1}zbm*s-_v4*CJYv~7TyLfHvRPLwS4)mud3l@oxl>y{I=o$Smt~F>cgmWO zZRzV=_a6PyG}H9)msJ~4*CMBy3$DytYo15n|NX3d|KGp)4eT)w znAI!(S7{~O z`xIPon<Hepl2%8@PNI&x4!!cNFc5QDN|ZzQZ!^(!`Qk1`O;0 z9?a4^5?E(P{C)l5;+|`^^Gnw~Uh>9JvUV?PLDiMzabH)b*S?PZUv=Yn+_%lkYv1P9 zSKoOa_kH*C+V{2p|5ra?kNpsu@U-QB}{@3N@bzj%k*S<-Q z|9xBkA8W@F<{QEd+*J(r-_O?9eOVs=_jP*x@4Ns1J*(a?`Lw*2*~PF|{XqQx-_Ps+ z|NURjz~k_LvVCKP?eD|(j6M#mF%E1w4(v4!w>LLv6)?SSW-!~(8XeH|UYJ2($AQEd zZT>$P89&%flWhC>*nywLQLtt&;{ir9M>b!J#>>hL))H+#I}T*NU}02fFjNq--oVPz z;-Dzwq@?4d+~QCe+4@Sl!C2#)s zgTfhmMhgdLo4pP)N1RG*nG=M49T*IA+Wss)n7DxLgLH$a21DQtXSF{ET(&p|%D4vU z91W6bm~L?RhO_JRfTNd_kFpfFGB&tIuG!0Z&LB<`8whk@EGusR#j{N368vEvG zJkPOfllT9rK9cyM*;uA6z{56G=AfI2YxW+uoHNH*M5fCH9=h@PSmK9cmzmuQMHq_C z*m7-P^;vT4=Vq5_GuzAr+$>6tD>u4d-+fegi;L`)<5v#5e^7R@xZ>6*Z6(?j7HIEc>`WIHhE;{NMS;_mPg@V;jFGK7LPQ{H`%G zJg@P4(c|}Wj^C>_ey{iVy*cCe_Kx4XH-7K`_*pH(-+TQ3obmsA$N%3O|Nnpd8F&L2ZO=<6uxCABVBl!bS71+cXqfD9 zo{@nmMxi}#2djz1h1V(!P73VIt{2|OG^iFZzvpQ%59ne!+Q>P#&4VSt?+wcfmO#O+ z{)`oj!7mzgHn6a~I4`;OqV(Co*LMP?j|TEQ<#^%JCBO8d!q-5C84Z~X%pYYM%pU}3 zer*#zaN)N~U?azQMhWILh4y@l#sd|8yiYGMZw>mngdvTAU6z62Kd&siczYCY$bFU@W`Un2K_M7K=z}72)ya9f^{zbKZ!Uya>iZn1MFclqOlXMCD(GvFR zN|*Wtztpb*)uH~pZ`s6CLrqy3geP2TDm}+B_d-DjtL%kqEvdmy1=nAiH2e?Qakh`4 z-7AAXA zzX_r@MX!cxJ`G6ny*cyjP2HzAA`UR;2!ub+X-Ig%X3xOD&cPNZ8ysm6QB-iHRkgkC zXjr0byLZG*7uy?6stq;@>dUK7r%^ zkbf`wC$2*w^R+)dmFc>H+srizpuPe`fD$(e0pJZ>$$ma@667P z>=$L&yY|Aqzt>;!FjTU#S%tpAXvd-IYTWiAjIr%Q^AfFErI696_+?U+R|n$ODJfaF3TRB z(IVx+nEvLW{JLnxYd7_Ggo?K%O0J6(+R&J|mQf^v@p(v+f>@H(TejF0P0x=;ze>5v z%f`@M8vK9t(I~B@3EXBEv_!-B-m=AUuq9jwT`@Ik)!VE5=c4*q??Q=;{ zwGSoQnk1Kn3U9cqwSzhLz-{h?wg?9%T@DtzZRa=)m>3HhH=x(VA-MJ)=o1fhDZ$obS6Q{>RQGd`k%sOARth z4cTVR8}T%(?rB6?OQc*wlw7LrfmDVIsd3*@pYuEo)O%Vh+8}Ge8a#tZm!UOMtYMu- z%YD_3ki2K{Yz;|rX@+N;7rMr=t6kNQWsiGtsah@2zV4jhf+t!tnsXK;HmfEnyCpGZ zJh5&~F`9Qy!|%y|*Srk(wihx_lhl@lsujdb2{a~LxUA3j*wD<`W!|ILUoJ}swCgG` z>Z*kbF))U`xSvv+R3958|1Qa5X^Qu;6qbGGm|}0KD742l_;FomYtd~8;b>nGnzbUe zsX(GdB!Ja^M${hG7XoYz+zG9FOPPiH+Ktmf9KYSyKM)-@H+OV2gy zW*Nr5-X_=7@;ClvNPtn>m7QtXQCqWRFI+InWeDrYcxjVWel@IULaV7=gjQ(QvTs*I zP9$6YYpa!IkmP8{QoY8+o4Dp*a;;fTXX&*)df6-jIV@L0_r$(r=JV&#U_Jbl2Q-d!^aefwVZ z^-|Z|c-=Rbm%ZK}7W~yVSz~X$lSIznKEJ)|-oMU$`)FyV`o2)62l?CMg0KC{d^;y4 zZv~^1K*VCVten(Pt7T{PVp}B&f-8@Sz4|!xZ3+WnSZ(c z^~UvmId1N(?(HR><$g>HzC7RZrS|NXb9YN_o3c(yeIDvw!tkQxP0xpN-#DYRdyDK| zZEPzREBEV`jk2;$Zub53=UK6l-ls5;V4M4ew(eytD?aJU6@3+bQg^l}=sfeDvmb4) zM=IMFCAIs-rhZ`A`cghUQ9HjVjJ3pZ`G*%~~}FvG_%9mt!lKGas<& z6a>FjVXz4Z{=oNeYc4ZuUZnhrM*RmLx3e)UKN|mkn{EK#)a>Vb3Sad6SdbdM$FCwh z^@qT-*ULn87543}T3K7N1Ezgv;4WqvQ(d^p$&3oh}3KfoMH9)ytU7(*1yl&ApU!!ed{Ls>dD@}!@_@u&wsi%KXvu` z(gXXxe(Jjv`~1VJDc=&`NB7j9n;agoq};DdJ!`J$uU7S6$N6(vE>vhf4gLD{LEYIu zQ@;N=&HwP^_8;Bzzq6Vb6w6n3z7Jih&c3X?{8h`PycH~I0`IHdfB0__TCiM~Eo?R;d~PUVe{Yb6|Qiov|Q4H+E{>tM!ciN3)-m zKbo-p^Nas=AFhYy)fVWL|5@I9YvtNoyi;4*mIXD17MQSCJoSsqWZ)>eV!@!1@gc#H zDSv~agGa-J4Q;HvOPIn84v6Qgb8UDvwP4|qmVgCjDft3PZ29WmfpA=GN!*3kzKXWm0byEk83? zG5?n#M_HQhQoWf4%&Wv!HYh%k5R>`PHpiXo)`6Y2o`I3hjD|;SH8Yw%IQFTE{=dX} zfPphbQdk>&f}MMtO!?IpcYd}osNGLVk~vWrn#Llc%XDDH#s`m2aPW(}od^^=bcuyK z@7tfB3XKz0?+fYY&8dhfI(>rCZpC!{{II(*rYQ%Wavsflv}!|A+m2H4OlJK>2G%LJ zCNp>*+M0Q`<$dP8m2v(F*G}p%9NXP_nQdRef5%sQ#bmP>L=5CZ_)VuvHvAO4bf>X* z?w1J;rX`Mi@mv#`eHeTuEEaUX99kY**VR)j?gnRBCT|%wyL_bM&4m?7K^+w(Nj!FmC@(a zm;WhK^n4>zgCd10r$w05WnSZRd)Kfesw^;hX(5x$14Xk1x~1W9)jLHGbnm|T_140G zukOl<)|)OZ&Rru?vB1qr=!i1YFGZ1C8Eb0|19~m8)K=Cot8L9lTJu0GL1#KFS+*ITQqb=p?AE-!l(cIVXUj!YMy=9={z_;&2;}MCw3nWswn|vNNi7nsp zP(*8)&q7w^HlNHc9F_LZauYUW+Q$ zoqRo^d+j#1w8d-7Zu{&%tLDS2+Hi=ym7&RrooSEA*DIm>T`v|m-kPfYOe$7Rqh#&Q zoC_RhjszW*x%njJM!D6`-Nol8Ec?QC(7bt@)pri(M!(xe(8OInGeC*BM zvq<`?hP%DcIS~#H2eE*K9RpS;5gT zW8#IDjTK2jMk|i+>MiYDzQmiw*~9T}W!8V2r8bIMp*xREzo}g+At-MdoE|ywi%dDYPeMC{jY)j?Rh>go;g&HolTv<7- zWL@su`zcI4HzIwDqJjmVPEoh}yz+c)oad}Rf7DI69XgkrZf2PMBQ(0_F++67CoiE3 zhec`%*a}Uq%z4L>u~x6^;*yLIP2LTzGtFKFba+i!w52M;MLjBT;-)Q2_1>nhuK0Or z=DXky?dX+JECEeQS5DO{IJ)giHkJun*QD8MM_pcZZR@73YxDlsYR5d*y1w($)^%ljwc|do zy1w_**7bFNwG)`NZyXfbwxP{dCrNnqjiW}}Hulx(q$q3OJQ=iY)3m)hX~wH>o-Nw8 zdEQ^03}@|I7bk7ovdmUDD|q#-tDClMU017{ldOIF=A~`hw(Zr;D_(v3?x$_r_x;r^ zXx6^-P-y#(W43xllULt)YP5alxmvxF#oBjY25sMUZLeP0=GAxK7H!{s@2_6PVeNY# zCvD&J%vQhZ^6GnEH*Mehu2#S1vG)C+m$vWwwpYLI^XmJ5KW*Rt@2`FXv(5uX;T;Fq z>CyvOCsN9 zxLHRD?&JzHXqea__`~aJN~i;mLz`t{iNnQxY-0LNwr`RqTXk(aan+!rkXw=CVg{$c zX6Y0EcQIs^?p*66)-DsF$S3`H*WGt+>(+@Er03hulDWU(BU42{nCKhU)0_gIEXo9% zWHOv(T-SZyD?H(S?RV=l2PHl)-G5*X-;bNpPvyS1pE`T(S3`5;y*l#~&i|sry5CDX ztSeu1@l<|L_W^5HF{8b;b3bifcjtb}-OZ84YZIU)lceoO|`m;~6^-HQoyoUHkj~${!YwgV+B$V|8!Mgm#DZb)st$ z17mLPOxm{D^4YH&&a=ODrIl>h<{K6^`|qVEdD%yI_Y@|s-}m!ef6nXET$PH<#gDif znwDkT{#9fSmOSg{z!l|@#ahuJbzl7Z$Lqgdb*eis7D@j3{8<10lQ!9}pZDAU+xptR zg~{^&zyJSBD$k#4k!BEEz$mA{q_%)bPl4HN0rNZ2d$tQ$jIK>db+X>VZ2hMpGSty( zMI-+fXO#|V-7U^m4UUnT4KgtaoV%`mJ$X-8U_r9)jL2At*oiW?E5%-lM#hFVNPb{4 z?qN1!I25VraJ1lFr0WBgS=U;8nI5YCKhSE}AQ`}cLaG3}~YMU&}*hf#{RIWrq2a+qG|P7_-+m8HXJ-qoug ze;km$laO9J^Vr#`U4JA`h{Ru&<$kmshagBV-$%Rq2Qf4*tnK~B9om!Bv zS4#1c7{?1nUX=!cmvWJ*4BAh+j$Vv?=D8>%FhY3SR3?T-^?3`-m>y?Nd=$4-sb%5; zskjA}(-gS29oCL$)(M)Sw`?lQ2ByuS5*AAuHLw1c;_whO$%%@zWnf&(Bc|oRr4e8e zlJxs-fcc%K-ih+&3HL3IIQ>^$w9Y5O_MS3#8p}gY6-TKQyG#7`a!a^3&34Ojc8pVw znRw@-=HtVmOnNp;JP$p7`O|Uv!-FPw7=LRraKH6GdO+T^=^DF2<33qw0iQ!cEKEut z9M^g}D0nRNnH6f5w>ZFQDbt+;K}t<>U*seIrUb}IhXyr;axpfmGKni3Qc_Tj%xsWQ zU{cj_l9_X#N#tqNHr2?f2jteM%Ku0TuS@;?@PJCm(#U_egMymmeP%>VdK#am8nEoq zeb)wc0cUH0!yHkEwM`gxmK~P5(4-f(jC0e~g}%%RB@C?-|2rFfVBqnHW_of!Il`NB zsSNX;#$6$e5@(#IZ;dg2!6-5#t+wZ!kb={WiSg!Fo=IdlpVDmLp7Kn~XGX@PWtp2q z4Ta=#Z!ODQv@FZW`P9=i(Kl+0cF%K-_CaltnC}4 zj21M^H&m{zn$}e z-_eLk&isL<+qRWU<|ORs%icLnbMCv<&o(mcIhD<{VD&CH<-NDG_si*QJ{S6;Xa2>n zkFIZ=%3(7{eM0ClquJkQ#MUmzTxol!A#PPh>SL8Dv)OZAZJ4&Ek?C=8R}$L^4X!;` z&%9z3y0Ruf>dC33NR|UjMf{vL?>(TtAnVYfgZ)hmr|;#Qo2L+86m@2sj`=5@4NhSb z_%eT2GU+aGw#v!1+S4SZ(Xe$Jv(=SFI&o5Id1^6^4016unMxX~CWY?Yb@2R3ZXu3E zRZ%bJs2y0qB>X(}@y{Pj^ESCo*JL=TmAqe0`p&f5ceaJjHGACE(SPL1+g%TGAKtrQ z!J&8GP4C$p_1Mt=F>4JO%v5J_eu#~F_~dXV(}U3Y2Y*K1*%q^V)|-=js&;lxGn-bO zc3T_V_lonLLu}j&?{Dwk&r&^g?bazPM>D%aA|=NJ4IXZkOHA-mRK1b+`{z0lq4$^f zt-11U&Bsk^uIjDkn6>zao703Yea=<6+fIqj+^1{tC7!1z(#Gii>ZfljEi@jzJJj?{ z|6%BX?OWs@ZoB_**UJ6d^dtA?A6azu@xAdyH+^EKR;~H2mb2nrUgN8Gk*)`L z6%O@po67h3gX1!t$ggjh72a+%)n6|7f9*vvLxl+q=@S|>{%sI=l%o2`;GN%Ep7*-R zvAUb(Ub1gnD78*Or%BWsxEb-$iQITKikrRue_I`5Qlw($vC1{>17@o9t zp3*w874v5`)(070`J~6opYf?kOKZ7efS#E6d<99igOYjA*f%*pT(-b?%Ent!ilJi(ZCe<)AM;aw7p$4?pC=HIql{@JShrfu|TnHQg(4|}^vuZ`9` zAi=?X!hu=8Ao6VD-REmXzjpE~SG|;8@@0c8x6zgWxvo#Cs@Z0*)P*WE>hcz~8Tt1s z9qPza{lU4FpGB2zf=Jmnjh1PlLGD+Ao`0!hGF;}%#2<1%Fu+N*?M2757oBWO=Zsc# zsvQXa?GTclf901+H`CUT_a*}Cvx2p?uc-weUAq34Y@=PB zlhMB1e=~x1rXKkJ=KLc*dFeGL?96U^Fe%#eEphkyCYP*oY-5Rp#Q$yo8fHe@Htamp zn!>-tEWm8Jrr8FTfICrUl~s>Yln=Wf6ZJ|v$F=7^7stfs^QOA=Nv*mTKQHhM$KM1ez=*~IkE$3d}IrqNhJnx%5S8w!kCdY34+4S{BKV#Vaf3x%xBIl{^ zTBL8a*nHPw`(KmiMor6&>^eVH(MsmX-%vIO36paSOX{swwC`HcZ?*FJP7ZaghKeY{s&uF(#=qZ_sOsoV-*ccy?@8#|+y?cMgxan_QjzgGO5y^^nc+oV_LW_qu55ZJE;BMZa&imFZY^ zKgw|T+?jb>j{o1CaP;<`r*qe<-Z?Z;^yw(@vK~F@$XHnzwUmXch6jUExUZP;QRwgF(yWTy5`uN zc=PR!eO;97-pjMEdUf}I-@0JE^4_Jh{>Oc7E&35UYyZUg4joF5!mC<}^q3hfo~-|u z$!Pw1|G$E_^EX$Ryt!VN$N9iy&Z4*P?cRUi_x``#2X^}-{cm+=U1gv0;G_A$rq1`; zK0nyMeQo@oS>Ya}I7SILve7!KvbD?Ya#TE9w#r9d_wm(B;s%VQSmntjycC zc>eFu-{-G|SbfP1Wwf?9*!a7_^mju%v&)`}m)F*GCclkoXWtZoQZeb6BtDVUn6P4ZjPLy$;oWjTD@uT8#F01EE3}5_qRVcZ}JeR znzD@J+S&6SqPHfcnbk^_W?hX^UnIBtS5~J()r1`plRPwY`ifq@+SgUSy2)o}%kv}+ z_Ya2-wX3Ry`D~0%?sMr~_lToWV5=mjM2)6yFyrLKZaZ`R1u8!s`tVfJE3Prty8Qjl zbUTUQk|^a?1v5is_O%m5m6+6d({!YI?Ef>!=rI2Na9N-6)rpOH3)vzh`(@6EFfdL3 zuMl&BrEt{^m)Qj-E4i3l4{`c3$`ow$;3`^?Sg?e(@4?aie;T|T|4%8LWa)hD?=R`) zk|s6QLMK`59GcoEi0n`l@VX_Ww8&+LLyDjs+hqqH7mY|2z6Ix^mAniZwG#XFe=@u} zsj)nTquq1C5|`7hDjk!A?A102owl-!+T_`HYf4amZ`2fHFMD>=&8M_Civ%dx$!`@t zf8k1ZaJLJ4@B`LuKRO;ctIm9~qG_jy&boguU6P|7C6^)TE9`%@Sn{M5qx~#&Q^i2qV`s^g74f}F zP7|DOmz~QzkBs@r(tl#!L3nT$}TP5&U;d$UEP5-JcmNuJ@oikJ>aPb;`$Wh~H*IFFpP-Nn)DV)$| zab-dSCrh%cNu&ce(?YJ$nq|T+Gc#HoR>*p;8nv0oueliml<%?P2i4*S|Y#j(B(A+FIK4~MzV0cQRLZDaya6->a{iR zJ~{6@vpR6%uFK78nloQbY&QP(oadyPyXVV}mIdn~g^!(3S*WP_h)>zVu|%%GR>I~% zMsAVQs(H(~1)ZC`vv!=9YRXu|-J$E1vD#m4fxyE1JrA8Mi%c)g5_Va(wu{MY0f(&G zf{yK?jKZ1$x?^U4CYH8G9~ zu0`recfSkzS?X`BDvj7WYin6RY`#tY|Au@2mWB3i`4c1C?GSO?sv`1>jdrl$?MCa! zynZ9kCDMC}&WXHOKFKB4K=Svm>johUrU|T@r}zK#+?_2)_I+RKQpepLzD2c|am$PO z+mr(J&eR={IyN!KX~Rj=NiAX}Ya-e#G_-`D%$t_*X61u5Q_eh@C9!4Snj48JS+`jW z4j8lDGJUsdU%+j}knblBg=(a|c@of?5g;QN`mX5c;vNB>MwxpNo`Rn_=P7j^7SO1O z3i`k!%=)2{)$)&#w{ujSd$1alxkJmU16DppS`oINd=JFB`Y`>t*1!_l{bh;fokwh} z7R#sAt@Uy9&HS$xv0momDgmw78*J{OR~e3}G&Q$o{okHtv936lgYS)1$h;%JYHL&% zcLv%-#N3{B)ZODvxA^PKA8osi#rEj%ub9y1SW+$EH$%UO?K5LZPT7fk(cX#fO(|>- z9!i@wZ0}9~l;SvbXOtArdL^~b?<&skR+B$tbV};h)2Xk_G{coEwDPn+m^4oo$nm?G zn?K`Dv0E!+)C?vrkqJ%QJDr-JJZKY8Inc?oa<{GHrQCVp0WOaVHob_H5ZAqWf@$7gt(^+P)M+eQ~42`R|MRxNll|PWkuhNv6~c|N8-Y zjSW}UMhjhC8n!sbjl{&ebbH3a!!lCmnVG-bIp};u&8$n(W{srZ4+p7f%g*b?gz!mAOTH^TU)^=S zE_K`XYp0F&R~q>{7c`!_d9Lc)W`S54EwMuv%%^-ZDN=Ym&uFjmyrYVp))G(EFZW7a zc{5dMaYnOD@426UT8%t-UNq*Pzb&8|u!uECe-gXa0}hSGiG2zMY|9IT9u#CG=LvoI z_o=`42%pn6)qIZyvESDJ_wc>em8mEfP^wh$Qh}xPk=y@uzeYi! zP5_f=Q+Z9hkkiXzn}&*>^SF1L;xVLG!QqAyiy^+ztxM>BksH!W-8 zNj@)rR$Iu}$TOyaO+ty?gPGfMlFD@LRT(XNWOz(NjFty%(t7f!IK|2A%K}f4gq7=> zRJ}iGu2P8pm84ap5Pd2@-T&~m3mF>z%0}1pvyQyim>r~1G-=s_O-4mQTJsMvtvQf3 zZNbJ2C*3_QLOpEi{+BdcnOK_?IC?&5IyJC2C8!*qq|96jvXS;>BYk0G<6vX+ z$;Q@~jqQa^oP$l=C!2U*Ht`oW4GuO9pKKa^*)(3*EIHULeX?2hWwU%?^WtFh^2z4a zm(A;iEt-QZ+9z9dU$*EMwwxSnIeoI_?8}z(g{>9`TP>e#wfeHvdSUC$!PeU+TkpPX zy+i{K*(UlkJESH&_`WaMEz(3OY_WT8 zh)4Srl};uTiL?ABT+WjobtW+i>AjjG#=x~rP3(c^9=%4FU5%Qqt8|oS`B);86_(wdOQyCTm2|g?M2p>7ffac#d?w?DjtfpJm@_3Slua4 zrtP5puQPuawTU-1Zt+NB*}|q-r0oBFip;Ms{+w3>KIgD?t&sk+IC!!0lTF9OwDSGD zuZAo<#Ij}KF0XZ+VoDyXH8_%%%-2zoaahC{)R=wez4W~##wDq02f9}^O$o~t4Yy9* z(&Zsh#37-xF;v)rS?+bn;?Ss6rO^N3red*MmzF8>y0b;hSIe$obdS3FciWe6PvwZs zqF;GfVh&#w?K&YkrPQQB(Pq&x@gEPAmy5=KHdT3bMe|)rw?wXM@UqZG(@?`FJCAU8 z+MJGYR`TE$b8a{oTYN(F(N^VoS2T_+O#Bj>?0eNCmVb%P)6mNo;&x5lwLmnnl_^3} zEH;wktc6n2?2aUHB?;em4QAKU9*ek_ngnS-N#0tTaQ3RxmJmg;Pr80)8bQ;Pr52=X zvt-94W}H318CRCH)iEw#!F=Ab`FUa4k4@MY9P6lKWAf3<{`aNR?OKeeg4>j$r9Io! z6dv#?e2so@lq32z=<>GU$LD#Mn8kfx86ZBD@4sPDHgmY$|I5OuZ|BVjNfA~^&0XTm zRl4HFG&QMH2{(0E`NB0Nu6MLKPX012D|(6ji_)ts;U(_VOT4d__=}eYhnI#=FO9xl z8ZTa!9A1`w-B`LSBvZUx|MP{guFO_NC+9ibpkT zlVQAx+tMb+PYE`CBDu#Gr!H5PaCu*H_K@zz>#DQgX}dUWOnT9vY~1Ld9LsRt+{@2- z$%6XzOm+E>nj#;&yKi2&qmkW;p=IM%X%j}4O)uh|nKJ(uPgho6)G)d4mdWPE&Pgx( zRE#!#OH6B7y6Ui})kf*OhdC-Paa;TY9Q`}`lLENYypAvQx~k0Tp(3-XT*ZY!%1lu@ zsquSKV>QDSPHRI4{}*;scIe&@@91gTGQ~_ri&1>aj@FH(tt?9~gefe0@WeGq(XF7u zZ@C^DziRNM?w}6W_;)N(eXr&$F^sfGik$T{^54XO4_ybyTawYF(xUqAS)hVa46R8he8~>YViLH82De)-v z$g0|h3)H^ z-_Bpeel^2AUg)J>>B^c34uyFJwbz!{rm^O^JkRm^wZz(;`}?x|7K5r6Emb#8bNpRz z?hqB=!BBHVovSvgVh%e?AwzkI`?6%C5;^rU3wOqk>z9QeWtgtcnE0#a(8uC^>NUsM zYp=A|_OvWBX4P@oHKm)c(8p@^*%^KS>SUw${Euz8qd{?dEF2@ea5iNIy^m7MCY=c?`z6#+9s5v zDBLx*b5dhRk49p9$l|jbUE5w=pQZQaMMp(Uk6wdj-=e-59ozd}^lmfPeYGi|>avG@ z!b#2)&kgU^ZC772J#L2jp}dJnO0SJFCw~a!E{--VIH~cU``rVt@ao#t)AZrtxX zrUxl(tIgcLbN8Vh%{|(Wjo$I>n2@upMv?E`)pgf-)*DyY@*K6DH&gkMRl?#Ono29ckpwaTJR3 zTKwbJ;{Re+QRcJcVs|H|a8@y`TG8<{N6ANJ4HxG$uFEIVwLKTf*RNu3+puH)*^MQ< zjZm`%s%Ke$T@0mt`jf#uH0rouyj^})t<#b`; zYR#bTxz{B4BG*knaxyNcbi?1Cr$O5~-1K&BOWvjRBP4Xr^&c;`{(k4;q;u@U>p3j% z`?z}cCna6!Tsp&Z(cXL7`?jTXyv@^R{duDN@QKJfrw*<-IOERMz`6aQKFjZN?|ag{ zFCix)qPEgq=`^=yZ-?!*|8sA@cd@;h{$|dp7;~p3TtSY19@QvnF>uXT82H$x`Tq8E zg0kmzQ^cRN-MxO}{9%U!oHn97cg~7w9DFT%?#AnLmpQdG{ybT>UD)Yd-+CXLR{NiYrAsPr zwx;gZKGe55CHJKDU$v;UvZ20DOnWc)@e1h4J&Bdj*_?aby>7Q~g-cNjVmu;WgJ==TSdp2gjcwKus;m2Q1m0#&o%r&h! z4o4?&YklOfJ1iX0aWd^3zf<0mh|*W>B9s1qJvTW_=~3`MKau0LQPv;k%)J@k^TCy= zzm@M~YOF%%g`0cyj+FeJ{%4)ejOcgU)TO7+eE#Clj`W6)(ky&kdQAWOY62@~I@YR~ z$enD@`@*jLVgH@pFOMx5CVxI`&c8`9Tl~?driDL6l-TnWlb)<$bFixF0<5Pj7n7SbI-2eEw?v`78P7U!41fx0vUE=)VPx;z=SA z)k!iZwyrl+kqo)}q>rg-5C5MYrhmC56Bw9S7FnpoDP&!7WbE_Q7Sdp7GGOEsQe|RP zYE)`;V@uOeowd-AvBRNi!jB7!mM1dt_qViM>2N$RBJcfQVCO}PO;1ivQ49`X5-B=3 z(bGmtX5kTo!;6&!zO}4mIDXdIYx;zYjVlV1j&@6$+WDBUCWm#29qn>C(!R{Mom<+j zXT?SJ3lj{}ukEqix=PH&p;gGVYsn~OR!w<$ ztWVxq?cPa?qYm;maaMIbR$E_P?HBb>T)w9H7;FBCo7;5td>;FrIpNst@!Kr#u7&x{ zzO%c2d~EUA(HQdK=JDdn+cij@jom0G$Ati}%~9P%=sd&E8Qf2&wrM`D{) z-igF^v3bv?I(C03WO3rk{1)cq9(YJeb!uh{v+69HutRb>mke8TrtJI@#F?bvbW*AC z#SDjD^Jh0M`|C$4xJ^(|+Zqz=@A~zEis{0q*Sd7~&1hhiJ-H&OTPJMU0p3OyOOOs7{FDykOSRz69N+q9yyPv@hA&^+Z=l0iMj z-!c|2@HiJHJj3(c)5PWT>bSC2Eb8;hTDfdqSJtXk>rQ2@UboFmy=MJ6uk5wk?sa9a z+x6~L_WFJQqOzuLV)D+}cucN4XVWRY(>a^haJ|mia>>s-ck8vd?%Zv+@=oV&zgNed z_kYKuK5xBk4?QFDcD-76I&b%JEdgf>^UN#r4Zhv&&flm1^z?hCq=HjXJWpzvg_yVQ zob;OY;FE0+S@v?W`w1%UbURnSVy^YV-BQbst>1U)*7BSCWba2W6I8B#lY4S)(GjH> zsZBnerx&g2S$&uzdkNDnDNhBjVv7SMvem+_ip6ck*Lk(>?DRUo zS+p)w_Z73V@Xn|`vlVifj1JxiU&|zG^Ul%0N__&OcBu2;NnE#Fc*>sNyH~v}t18>3 zYPDunh1JTXw|5=*FMj9GgocB^RTpf?eeBEQQhE2zCeybEZ^#8*IwUwZis#W6M_$hO z7l*hGDSTL#;GxzL>{|NpOoyE1?(g#+)@)}Kt}%ER(sbHlV@qD7_>&4|Q%4*|=9oAtebZMl7n!_FBl)1h zU6roFTML;LS4`v=(kzX7;`o2xj2A}~t6F{a6_o|pE7UCGE_!ZyxoAeoiit{_PE}+% zNNFEAcTt-C8+C-%&l!R>XRGv&ttR%IQzuL*&y(I*yGa-KM-{3W2( z&>%TeO`=_Q)h3p0wnme(FAA`j9pujS;mh8q*?;tr@XkD)0>)SlcNxBAf^k{z%MU5c z`L~F5k?_t|UoK4r{xe$~SSKuPClolqOF$nNXCGs3@QJfkXYtQLT=S*=E{7&bf65cxKJ;2GCFRv{5y++M#W2bQ8E)i|6)D_O=TpL0(bwoHN z7)`2f%y&~eP;tc3H$q<7;*qGIOh|>Z?!H9kpr~iuS1wHCJkfY!!i2BEk^=FHrb-*` zXygD-!@#k~(NwEnDYs{ zE2=BlJq+7c$Z#g7|D}ff<98e8N;NBevNg?Cj);0;w5+Zb{*Jfzv)m-)Hl`X&lNI zka_TSdheB)uI1-+?fdtn&k2d#w`!uXw~Cm&Yy-(6V5!pH}(I{us1*5c<%*V zpKegm$MT7FF^^{?`|aQ!3LNl%=wX-i(J-{-% zxul`#t+`r2ugp%t8*6!acE~1opJj@foZh;Jp-qi}eeTSKGcN2{eC^JHAm=aNrk(1V z)ozo-WxAqq-jqWk%N>rMR;*5lJpN~r@8Y*-I`eV`SNu&-?wjrETvFn2^=w|bG0VOg z$qU2}zD<85cVa6?zIoBsv$+#yRQnuBEXm@zXKfZ1^YGNx5_Yq9N{?R54!gYCNo$&$ zKGX7LOaTdQae=+p4z9JjzG0bxQgr$2#OJ>ZO}1OMd+6++yVS{v>xBQmu*uB1H!76> zS4NmwG)<7tS2=Q>ce>eDgXl$G(X%~%@Ofrse@NGiUvk$}p>a{n?@1hY8uYW&8E@a+ zC*@=P(!v&bWfCFrTCM`Gr`-ccYi!L%U9p) zd~st<&P6$MmFRtMtv*%k+Mnb1(rwnKxz~jcxYn1;uB{3CyOPCZgY~Q92Gc5bx=Slw zSv70#yET;?!m2JTZ_m5?`cGzO1jdEM8 z_k9%&P)-lJ*2tY+B-$axI73Q&h8E8R_M0E96djqSY~j{>z_e*1^Y#X>;tRaXOkSv4|o00Qb%((tAFb%n~+i zGUhXwE_K9=_vCiL{0(gq!?yXJ&{oO%$6{($N1ys7s^E!9kSes+@Dg_EI+u*{)@23Iahzq%N_bzyJnSDVut!%{N z8fkQRD66HoR;Os5+o~e|MMaw-f69sIk|gyB-wS$*G!m31-G3(J9^$sxqu17HViD7% zq9+>Cni;i0Zeo%Xx9w1gXY!D)P?zG=G*D9JuT*i_#4wY|L)X&XaHXs}r;3%y+0|lhblLtyO6I&|SD&0-`*M0c=Zr?p8O@$ES~F*~ch2ZsIivgJjNX?s`Z;G#)SNll zbLP~{nbSLG&RjWj_Q{!ZU(TG*IcuTjti_(QmS)ac-Z^XK%2}&V&RY9&mJ~C?M$Orq zJ!fytoV~qs_Rf{Fcb}ZS_vP&UoO2Fp&N=Kk=V<1f7n=j|y=bZOYbKYamc~3LvJ+GX{cEOy3fq}_@+jx z8Wvo!WJsPMx4nVw#md>`t-5hh z{EKaaxfs}@7VYq4JmavC!GWR0fN!qCZ1D#s>H%{ZKS&);USep)xF~}YLJPO!&cCFA<;9A1KUCY4j zx@rzf0sGwrTsIeRow>kcC9v#QAoHu@1v9CWFzFKqs)S~uV^E$O=3w;RO zXvt9Su#A_1yV#2%-GT4qhBe1E88kmwKYYOXMl<;k3j?2m-A_-3E(5;l0kU@umRhai zy_~?#y?Di@o$Kl@tb0Fe=^CqbTP2qXF){FcUMlCs7vHsZXRzVM1g+~%e?y-770vXJ7d7d!o|SMu<@b7#$A%@KS!+(=Gwf^ zWb?+Ks}D-eR>|I^F?&N;mUR5A&4S$vSPR&1UEnD@z@rhh?)j{B7reHHW^WC*o_nck z@z<3Lo?Q6Py-||EM}bFu0`t9wW!wtP307<;61dYMHXQccq>wFr`2jmeK=Q}R)yZ7T zx)P-C9^gL6z?0~0YL`8`oSUK2d)c~OvzxeiV!L_YXfhSt+Q4yZ>th3+y^g$!AJ|%| zSKn_~#uy--wt6<(f$f(saMV}rDB8`lKY81`$hQ5=E0<`?tksU3zFK}o_UwIFTM&1pa+Y+QtKiD=kd-s(BCT51dz+3bE1-5T@+@9OD_4et# zcVF+_x^nB4Tl1JcZ`~NlFyX@dyaMK&2A(oSLNJjFg?Jq zEmnbd^MwVwIT>?47znPKS0%mdvBQDgUYx5E{@dn$Sg_&ZvS~JLdnTNG8_5*<;B+v< zg65bLX9`a4^5JW-IeOsL;te{dZ#k@v++%RWYRl0%CmVQ9RIgc7x8~UGGiUGKS(I~U z{YFj3@&=xo4~*puyw<-r*}9x?&8i@;Jwqp`om_<{Zl#q7dEDNF@$dCViCwW#bX6 zUI_WTRkBukdDZ!pS?9UVZa$?mTgKP)JP$+EnuE6%T+njZ;M~3O)1Phk-dwily>h{G zm#Nj-w3^vG2`qfKST{akE*Dt1^CW|Z!qv>(bN)+hI3KfFEB2(n^#A$oIkUswt~)Pt zVTb14y8)bM6n6c5vw_QcxltI;ngGrZ%9rkegp;!Zj%w7 zCwD_=y0pgJtA}&0Y`JNwaO--#?qw6(E#0w~!&4S=G?i9SFKuhYi{S>qiYNznHS{zv6;PQ?<#KZ4NM1a7x&Cwx0`31&1`nw z)m=yD@f=_k+grl&_L7$_?}S;iSsA$79xMq|U(WQ0*J=S1-zB!&l56;!SKGf~OYk~! z^exx%xp#JQ-hL*n_?(yFMC|;q*vt3N-i?%5y)pOB`?+`iYwgJ0bMrs%1IB%`nG%?8 zGW_>k@rJA0Yu{E&hIj>@rCK*`YBJoem7Xj*`}Nxer`-5%eptBQ_u;n0hs@rl3+BvL z?maV0Yv=Seoa&;F z!xp<|@0`DYnd!nwjt?&qP9NH}bM=ME=kDIzIK5$?((QSg54^h-HZUyMboa*UE<2u{ zb@%-JW-se|WiwkrH1_|x`EswG{(9xcy|Me=T-F4c%NN*VYM<@rdvoyIUeO8LSk|52 z&3XA$z^Oac7Z1IAbDr<*#lCs5yPs_PcxAm8=i|3~&+5Is`|j<1zIUf1H<|JB&M$cE zc=qkXb?;uEd-wL;yZ3zWKdyVX-t+y}y!YSx-v88_!NtIO{K5NwaXh{bjS(MsT$C7R z2$?Tf1#llL;4J>Y^X($T)(7wHlo{>*zdyc#TT%YAd;gbs z^Ur<_OuqL;wGwz{2C&u^@MzZuY<*ySE9F1)j0N0p&3Zlgza{GH{;~TKx}QmIJvXo5 z7w!GV9R6wY`CpRszZd`47L;cX>Sc*maGvpjOM2mFw)fwDvVAY{|IzBNqt^e)qxtLR zi60dUKginuXw&~Wxn8^DzXbdJ?;AgV@00(bc=1!A|IdZ`zZN9@Y>NL^WmY~^~yWZ0n6B(gH_sn;~!*nKUM!OwhVndaU*GBfzO-#pvee=JfV z8cwV;=cI;*7wAtj4PNaZnoU@jIYrhp=y`6#!-yDIdTozSRG#o?JJNQKs zdsa+)8?dYN?Y*P3!{5j4tNr`$YV?;C-r}!TZQ3)dG~s%?oiWR5*0a7hH|yU$#5yPP zbK1GNw)JeXQCkjhZMikquGa74kwfjQyEKkpxOsr%qQt$p=~E3|#5X_K%lysY-iL=7 zQL_Zp+ox(bDlN!8C8piGEkgTDQS#w6(K=hinY;;`26_)b^rdlFJ7TIIjd;_xH?sIm`go94 zj^k9JdrL^dvFTdZs{8jz6>zj!{$I9alb81TBbU4mhFxBdqj*SdOwq8#Tc?g^{+ zut*q8JguXD)Fjx~{He$?T~22KC4;q6tlCCRUyCW<%cm=P$kIb0g>_d>V3PFT3ujYpi^Oha^SfCj zwu+zAjGng5H6vt^*HfcA8S4y{9``IR?Y#8qz~eNwilhyI8|ZU+S{GQ-5osT7gSdCl`diplg>!$+QCTRW;SoWIbPRSGt;WSx}Ypb7|M!H!pNN|&A^w2007mso9I+FS5 z17pF3Qjxo@4=037IysYb+s@qE`NwU)@Af#MV(MMVef3OXeY9ocJqe{*3XWGA)qg&I zcu;LhhGPGpz1HlLCeJ#(*^kNk?GEpRMsqtg^-GNoH&|?Xj;PyT;=e6@?oCtvwY_z} z-ygTH|NH&<{`&v_*%KI8EgYD{E;O*aBru8Ya9}gL(8%ACz@lp5$Q5>>N&H9xo8w`o zEE5%x{g-=UvYdn_ccif|b8r;XVRY)%c+m3Yak%0q)n#HfYjusboa7ANap;t-3rL=1c!SpON!>_}ZGD0ERtJX6V4 zj;kdoNjORB>J1^*l2%`?!uCe1#oC$|S-KV|DvPQox$5|-FvYQW$q6Pg$*;RO!NH}; z^j09Rt^2^|8T&AU$uKIpk9|(Y#s{*621oP59GkjhSIDf>Y!u7cF{xU# zKmL>AaTBSDf?o`qWiDhKaX#_caEFEh>+B0|7HSt~u=YHxu2^uax1pgs`dpF1iIq$S zhZk~AxKhY;(BQfY%S;B|iblZ|60GuViy7VDFp5n3aL97)=H|eRM#1F*F3Bbzd_&G$ zU}|-6wflVXaOJb&w!@hRodIT`Joe5xE z@Vi;nt)1zhP+1#i2BU_WVQUG~qXk?~5AsSRc5ttpx>g{OL2<*v;~mqcHE?AtaTjyw z?(sXqB+V7GQ-~qR$7)IMbf1Pf+*Z zVz2VjeU4%!qFg%aQvBMJG-LYGPZwc=Jr?A z6z^+tGOWpA`uF2#hYdqJ%gIBchs7V1PCFF9HRF-j99QGZW)+RAWqGoqwI^Pmb!Bo6 zMgD*mYsa+6lB zj^lHbsqmUvA-G6;mX-Q`z0L!oFFL!lvlfW>Z8)HKVZqTKn?CQ;wP2kf{NVndci~Dg zavfs2h7-i6IB|TPd$53Mjk}ZOxr6z73N7qGt(^5Qlm5%p9(Od_BUjk#y-mHgU7I!O zq{4+VwI`-wv)wPT&Q&_do?q~2TH>6B;}iJf`zKy1w0@v2dHg_)=I<>t(!^S3DxM9F zQ+V;>!fqyY@q#BT_k1VsE&S&hv2{(YO5mLt69SJIZqHV#{4<5k**{CVPu}gn2j`q)$MjvI z6i(GTPqj9JRd`*>788t4SL>jxyTmI|<& zbws-?)Y@+(a^w`%vVSDW6w*7$d-BfhzBLt6nO*My?DyX^mq z^?uZTVAP5{)pSTDO@EtL$CZx+h56-eKk=MCyRUa&Our?;o^oR82g7A=4=@V{H>74QTjRiY zOu8fcl;w;K4EhopjuBhKtS#0gtE)CIZ+9@LJ*Cbp&A~08(fX=^pT&`xS));Dg>K$0OM`8VU>*+_cXR``8ZC!m(EoQcK zin6!F#@PyunjLLR4|4KvXq6P{;#ttF`Jr*uL#IO#OkoCw+fFh>&u~&tao*PGv`?Y= zS)s$MfClLd?Oi+Ub32v_b#bOooLCe*n>S#!naU9-lOxV9M_fXVxTYL&D>>rca%6wR z+L(k+?f(+<9#(NKHZ(Phn%8Dv%KF0P&Z|zdD0XH>*JpyRor;!i4paXK$`>+kH{PJi zc3STvL$_G+A&)CZ=R~aasE}Azz~vCJ)JMcMH;_Hy#Edl>JSiqjmnL!ESTQ@*$L-bv zu9h2JMhEAIm$-FGH0Cg@b~M?(RX|v%!sPnxqs4!?7j$y^ws88-axNF)T3l#ck;9p@ zM?QB6r%DRvrc3dzl>DwNb^cqqp?Jjzxv+b{zJp6`FU1G`(e}doMb1 z`@mXXuD%;gs)1gU`I_X|*YJLm-tus#%8d!V!8;{;d&IOEJaZEEgh(B;4Lb0vTCK2S zSpwIZBrCOuo{p&hS!zjI2O=EQ{!d<(=*9740{^cK{PRp4Rx^3U1nvH=AV15o|AR#5 zEy2nEg_j-ka7cUA7R_*^{*SxV3dSUb6YZSyZf41;CotZ))L~J=zAS(}*wAF+t**XL z%zH0($zAZ?C$o~r(Sy5LZferXi9u}^8<@NcL|XzTFFk$QhWQLjfWX3)6T*1TOtPAD zB<9R95svT4oNK)Hrhn4fAf&xwlGdtEo*fKY3zf7QJ61)^SheaD$I>LN)0g9(ETYXk zTOI~Ti77G9FqSggc{*%~d&_^1^S7O(?*3YPuc>3&XXX6p-Y-0}3?h5NQqG$=TK=5E zalysf{{a!&~f2-a;9WS zvER$CfGw{A-kJoKEN{S|EosCNIRO_vH@ zGicA1>|ZKI_2-gP}Mg2a^B#l1On?*{S3?u|O*bzM1FN_d*c$5xAiOTvHM-|2X? zSom*Ec6T^zAoW&7iTBdd*PCzuF#ccS^Z9=?`*A_NUmMSdY&`R)XPUd}^qm`+yh@Fy zTWml7XA7GPhmY}Mub*c=RcNW^Y;k|h5qflG%Bn5>2gQGGl#IG+62Yn+>B@bCx&OO% z;QF1HGj?A6bYOZ*z=6UKt*tB}u_7T`O*~wCy~|%n$(e33IvL_ne5HG*nQ{h?=T@$L zn+-}M4(Els`teHj>@@4s?ASGhQ$yCgCfJJqsG*K81NV$sS`2f7e78$-1Xm?*FK;%F zZJm~7w0IHAjakmzb#tW-WKOoaJN?;_;IIty=BG2b9>^&7T=ST7O?2(G35U)sYP9rD z68_$@*tOQ(P1SXp@FiO*)#L!hrH-uGu^d7+9`1H%%6N zb6DjTFp33rEvx8Su6bog4#zGN(LI-~_pQD-Ep^ZSV3}hlug&0RN`NDAD2 zs}Q^T(dBc$_ZZKfyLn@u1P8l=0;5=Ez^TnPxi@ZgYFxa^*>>$@*FBci+p1#EGuy7% z#kz1-bKVD*%~xHoIQ3rkXrHmDquXU(&x~k^(ssWVk0u8DkB`ILVq@<8H`xC|GW=j| zZ=}P~(2O3jxgB5EG(Qx)6PzQrq(bhisoeKmjvsF)9LZidt7KVCvBPqeQ^s>Tek-^C zDOO^!b6Cvcz__LF=3IHED}B)oEUS|e*pE3{#aey)IU}ID;iUpQ%b)!WG6&)}sm`8q zPuy>YjOz@gJ)BZ)52cSiyzs%vK;-bu8xIX?cFBl6QvB9!bH{m>!K2Iv&Pr*I)XE;I zw>{FB_DFNtBdu*o^9xSi4``E1QEtxYbmrv}T-Dh%wX;iAak@aG)2>IRezOmG%h=6m z&9@fsO5`;7*Qxd^AxPAHwm|aqnOhiKmCeLbT6SJ()QHYk)V2P`X(iNa9mVN1>#*bh zX-_mAnJ!1DyqSAGzp+E7jGf`zhQ6Bi&<|Js>q;B@k37mnPJGa~xE?MbV%r9XJCU~hM?R9LCM#v)^ll} zJ2dgBjnI|fcj7hAR{3=(JrsOmz3PdI_GTw-W1+RqVb5Csb@T6tJG6oKICu_;B_l(|P zllEfHJ)X4x>)1>WWG;$0bK^xTUkAf4A7Q1ZfiCNkbEXFV{j@DN`tUT3jcYQ}(|%4Z z_@OwfZRWIv;Uycx*S2+Zl|FfCY_!P2Y_41Og#}FB>)HaJ-Za(B;_i+tQsuC^_oDls zv6HdMOoiLweI{$&uC5j952~FLyf%3K*W`_nVnLg;0yyvdKJ3tSF&le`@}^8jD=x^3Gv{=Paa_S*iOaNTF~)hBkGIF@_v z!_1BeH*PLk^7oFvL-EcD_g+kPwVYJUJ|p_+OlO`Ax|tt?4mF46@{95>{F{B_-v!;@ zJGUvYEPs4x%jvfto^i`pv^xG@&}8AjF51h{dVtNBfyH~l?)C$_v)kHp?!94oF?&Df z^IfGLzIry3xf9O)Js*&re%4T}GS2p)>b=#M(ytafu*%Q9^t0)*r>tS--q|zlK3*%> zqreyyu%sk|Rf{V$gr#lg!xVq9yv_kqkv<=01?U(H75O8Tt`)vFCv)%X4 z_UvCA#J@Q1mltZtf3fh{zJMpL_Z}-|f0_F~ph5S8&%cf@p80&HZXG6V#ZK*y7L~Do z-_{Zo@+IjDr_Hu5#Ti9&ZoK_-DI;(EAP5^!`J;0 zr5=48iT$OUdrMraSS6rvznAXZ z?eo6e_GkDs|4-TSnx+GFo9l9#EMDJIKh5Rf-E^Y1!9$_ofrI$db)0V!pWany)Va4( zQR1PvQ@en0OyPHD1<7)4p^`f@9xRk^Qgh7Oa>Fy>n1ZD1yq-#-CZ$wapG#XbCogEy zdTC?HsnmYAhb8nzr_C?J#wMS0d0a6Lr*AsQzf@A&a4}Ciw9&m=?Ze-T;Z|0kT^ zZa(nfFlV;diJ32ACOW^j`nyJQ)zz(>P5~$Vs`YX=W=%47)eg{gJnMLF{{IS-m9bAR zepP#@_9Xw$&l&F@pI={Z|Nq~=|I88(l6>cW4rJX@p(Y`@{AHN5|Hj-U3@w}y5B-FF zdX;WB@oF~AZsOUPvam?9$s>TXYC+-*ruZ7>YYy7mDug%-w}^@A?!0kAM(AbCjgV@e zz02@V}{N=t}^nu2I?;?m@~6IkbMiHp7PG*yT>KVb6}hv+iR1v8Q-MJ}6} zzG!Azz1@P(T%t1Wgo7wP}QR9-D|Fr2`ACeg4XSlMw-RaB^TZ0m783B?nQe8ut$CUbLnM0{Qxn9Q0e zzxwJLLHE_op%?wEc1C@^QnY;8FO^D`+63NpAxA!*atk~6^y$Q{LMo10vu35}Zp$jV zy>|QkCh2uMx->Vmn!epLsdJ9?&V){@&N8E0nJkfxzKd4hDQ&fSuOWQfU6ymxdZTH_ zSU&7#7EYP4KrL~XZX)jnp;Mj$-Z_)_7Yn&KsYUNqire|TOlS46=#!l+y8E^{#rU`% zWi*OVUL5^oBg<6>ZmYKumpiLUT&)GpyzXP@l~!l9{j$SddG3}=-p00)aVcdk1p8HENB+2s{FV1 zdPbf>>nYADb-y03-h6M@>-C4_cE8ztId1pc?T_c}ez*Jcz1{EkGt2M!a9B8g&&T7+ z^Y?r@ZG3;v=kw0;d%s)`j^F$Bdh-0e-)0`~Q5t9KZkX_s8@1|NH&<{{H{}nGG74WE2>=GY&8-88mXmC@@REIKb{?&?GcR zfmJ)>Aa{~Mv(z1hq>zN3iUxxgC6+{Ww~Ryog%=sLYQ-pWN542Ee#oHBXpSOpcE(}p zM+WUycNF=nUmTWaGVE}YQ4;KaaY(4`L$k8WBEi`&j;K2sb_LB*5?!5fR6EJAJ4z~Qp&=LHLad*7mk`dGVHIqqb&dX#c}(2 zg)Cky54D{msvkRCl6emGD#s*qbPKk~s61vD4M87E9gLaJPPSvA@Y=iIS|Qr+3z+$%{;uYQ<`LN58r>{gBBrqq&;C z*;$uoKQdWvmNRpG3g?mN7bYv5c+-ttUUVMnQIMYQa7aYqXID(<;&#IqZ7%IuS6Azq zuuV)64cq-Hw4y7Ox4^5NCqB|S=$OC?^`2JYlU|3j9KN(&@JPI{FYEelr;p4QpIro3 zI5-O$ES9X2c&O+o(Jp)|X@MfknuP0JVS;AYI$t#3$B{|g-4PUiKD$ix|Q74`Q=eAEvr%Br4gN z@*PQdsLggzhih}dQT3cQ;egwRgqsVFNXu;su(omD+$JEYtn-m;YR;h-*S>Yy`2KJA z5A|1LutGm(%R=qBm&LzNT&>^o zrB3(l%c^r0EwkP!F8lrBzL=Ah@SBbg%cFJuZ!{Iy8vn_e;_mTUaG#>g^c77KX&XIt zrd@BHaO_<`z}_Na4AefuiiS!lOdnd1E3--iSZ4)<&j`xf!UAt%V$`p!9( zM$=c(?_~VU<(8^tOy4^9&i8BLvJ2nkPQNbOU$R-?{-b;5Qp;t%Hg3ry5emt=_^ZE7GZ`U60cjic7J>DETQGwBL4&#yDaGR%- zeZp+coy`(Y+TF9*?Q4X?jY8Q)F;A`PpB&4pbCSI+bwuM|uKBcIJ6RYk<(%$qtymry zqjRj{o`#R<;ZTj23)(GCD9u@Qk#*7+!TN(QmHzxXcbd;_^5G44l|(jk-_nt$=U z_MNvCO;?>VRH|C?(jVTNo%3x!v)zX#d7Fpa`9BUT+kNbcuMt@O;Ky-iyHAtm+dS3I z|9Lvu?(?ksHqWi!|2*Gp_hpg1?Mv_cUzZo#eO(oA`#Spluj_~Hz6C!}c$=O7`}SkI z@4N2XzOR1&`#!V%k3;fyAG`D2{ybK;|9L9DZimGC8vAqae_pzt{AGFmU*oXq&-h z3_1)93=9{T`kC4p8911E4FzS@1m#SGq%BLOZJT9`Lu8DjWz5rM-1}vM*T{sH${Kph8oSC`g~>Um$vc%Q$*Cz>B`f)~ zD(jf2T7{~*m#g|lt41tW)3#Czo28z*Tf@Rl!zEo)QC%~lOEYqfW>U45k%hLdiB8@j zy}&+w&p-nsU4!&)Lz@i4zyf1k6JsM&V{;GV)G4O9Q%$RmndPiC>+7>nRkyIPw1}v% z@(8mon`NVGVq<7x<7j2me%`)ihqH;PtBbXpXP8^{EVua&J)+w@GTJ?6-|^Hl@iaH{ zDqrU{>7;k_9PggfJ{5<3wbgyCz5NRf1N{60LUIB+wgxV`9h4m&RM-==YD#ccX^5Ul z$l7P2ZL>qyJqt584X>FJIk_`(#_1?mtC;S2DHh(TGtZ=Tb*9ZYnzr*rx~W-u+qCql z8!{%($u!r_^t8+l2*{qAklS%Ax3e@qG%G)^H-FXnf^E+V3$u#yf{T4DiwoD4Y@A*e z>0CB-R(V!bMc;%%(& zo!8M_wz|76vb!a%yZ31Kw7ET&=Dj@u{W-q<+s;o2vYZ&`J1Hu2Qg7+xOzX+Vr%X9? ze(Iw2Q#a&JujrkA`NfPQRWnyc&OFvR^Z1k%$+j!*yj+>(y2{&f)r$BvApvWTtzB2t zy>9E~^^*(NPd>UKHf=*;;D%jCH=Me(;q;SDGrBe{E#0)Tdvi|i78{E#x#rs{Jh!)p z>^PFVB0j7z(C;=#r9Yc2(QTw0NFx!C&hy_Z*RKfZc?|MfdJZfq;NvA6lg!Oj~e zr{B1<^TwSMH|{;Yaqs2LwBTEHJ&*jH9_2?pjZ1wI6aF&9BiH(bo_bWJe$#`yB za&odp@Tw&q`H82e8YG{Z;JWxV%a>yKHUrYPV;5=6Y{mcXxNi=T~=E zhaXqo*Ra`afsn@P_$}?s+Hq$hG7h#GuM^wWo~AW#rPPXfOd(r0?LD0$7<+d!=aFrS zOomT{vPD_4*J|H7G3{?!cJ#5D+ZijXq|LAH*w@T0@3*HSK`?3opNz~3#ZRjzZcqyM z+ndTPXt>NuPQ$5x-pYHEP5v`nesyI**c`i*ZQt+4{rdRyd@elkRs#MD|)9i@Yp@6N&&8h<~-^xzj85qi$x#c69q^nQr zHC~Y=itM4x`#v6xU_K|v7Nol6;ZY{uHwxE7LgON*N=Ig0eVUUik$GOEn8(9?a*9^w zv#`8P&r{~)p0T{jy{R|Te|mhIX2#60g`N*Wq(c;MONA=#dbnf?TRB^LFt1yOgJsO8 zg9-I>3O(9_Wgnf0?~!x5%C^cc^_hIA?*GIS;_V)bj)kQAxURBYA61$es_k%d2Z zOS%|O=99?QX;vwFLPf*)eyo|7ziVfqgzWQ7f9Z4v!I@#EZ!Wk=n6f-nIj!VhT6Bsp zIQ8Qh5&Lc?fr6;ijVEQQeMC>|y|y_n=Ah$v^_AlW zuj{dty4qbX%JwE3TDExmEIP*IZn)s^wQniU-`>jI|37x>wa}{@X4_`#Y-(Vi_`u<) zvce9*qX`og8XNDYczcKL2%h@Z>|Tn_Cr#1Bep}H85#Bc*<`kP;To?A<&y=|;_#^jX z+dup4w2P(#4f>?D>q@&|Yy&kPmi^i!PO9Q*I$AMS4Zjdd3UzWu=n|& z`uV)O|I|})h9038AJiVO{nC^+b@@@gS04}NH%ZOfJDq#Z`@bO%=F1#*__jR$*M9~V z@9Sb0R-Vu8YM7>dJLJQ*wz`{-1=0jgu-!`LKNYCTKBIX7i{^`|k`_q@W*Bog>^#1C*>bWYpMdHB_)OIFn{vg5w)65s#7u0x+a?`iz$ zo&3CCj72MSv_+g2aW!06WF)7e8DJh9R3s)KZFW^nTlvGKkUipVx-$}dV&|L{KR8+J zqvgt4JrCvFs$<8@x31SZu+U5LyoIQx)=DjzE$!?wSC`vudf9L4vqWjF(&6=i4;$vL zI>p5=*eZ~c!Q8hZY^$2%RMn0?E%r^vHyf<<^ehO{)|ha3o6N_90eIV zA#!rka=nX+9Ht8Lb218M>$NI!7<#A&Nf_;YwN#%cv|zI3#g%^Zw-y%Uf0@bsZ07%S z5?dJj^*V%pzv0}!`atkJDa_Os|jDB{hb$a(h<-Ke^92c9pTVj|cyDF#3 z9Xf9FDayb4o2dMam+Q2yWE{|WwBT&Hf*{K~heu4?B2`wEc=D?|T$(XY`QoJJa`KcT8qON51WD z0!g>)r>6fu6f|w(>=>rZ6IxTET#Kh@&tbIg*7iAgZAVCFZlS)lSXGMySLTIFyd7Cn z<@}Bs&p6PNHlaIqOGlg5LJeNww~YMj94A&}u3R+foWR|hTZcLFCFU4xeKJ)mH&Y?; z%l(?e0pVLXF8l6X_@HjPQrI`XX(`&tm&HD3Pi3?gOY)2gTEcWR{#n!xrzMNKWK;yT z&IwH@4!tQVdni@SQ=)uH#2Evi?&L;ehQ88xy_xOYJGcUXVx9VxUFv(rH>YGnzsGSQ@!e+rxUiZPto>z zW;FZfnGC+pN_EqS}kLol@Jw^lI6G19D5Yd2LK*YMQFF z`|5>xB_83mr!&%@vLwIst3Fg5@^i)VJ|EXtZ}%(;ZM?y5@AKsRhYPz!1zMCuUT<*M za}s1vvVMBwdZ#b56XX_$~s~xUqT_zgI*D2Tk zeQsj&NpQj<4OhR#s`sv~Fb_S_(6rJ;fMx3cj_tNeF9fC>w-yhHJYMnlanWS%CCtH@ zE_>`3icSqq<#^EhJv2D))7lly*)&K6XhT;1Vx=K9^AsfD>*Z)UMM z&p1>T8@lVsBfjbgck2ebskS0>wRRTlv6Waqb(#F%=MkNMLIOUQa)@*+je$rKU+qvJKsTD1uk`JGqQQNiS>|2cs zUe=O451B+n4i)*dl`(52er;q>{A!c4<86}okyTgDt*lZ1{{LOo_ub_z>+N|qpML#4 zx4)u$&)-)&4!*v=RzPHpv+U_vr+y12*8jZ||1bEVynnmck1|oE?G=h2>OW5x{oBSG z+{k)Sfcsl}J@0~gZi9xf#%jameDV#Ad%rhI6>+LO@Z{UTre9LFB*`&Uu|VKU1WR~9 zh^c@^L+!CE1uiPqF~%;{)2*Ml2|VBC68g}Em%;VvcQIat%8-wB!GX0A;i5m=M1K{k zmTc$Sd?Eke#g@fojTbNQvAoFtWhUC)-s=5Bw0ApSiFoTbg@)(~(NJ>%_UV}l6752Z z*exEgRXH%PHOkfe;d#wSyIw6g$5N=TRCxBkOW}np<(EQ4 zucY|0O!kd_S{Nsozvz2i&VqW5<$O^FT|Y`hg=f@%W2lOW5dH4n)qI&T+e3_XMNWbR z3#Ufck`nCXY0@L5$t}l9His(l{x6RW zo)~MmDRx^Lzs=8(V8OU$f-TQnc|WcYbC=*<#@-dI$R^s66D?Z$dIERLb^#x83q}ru zkj$wpE5)?jD}QgR2$swbt(}*G-|6lC4+^pWNIeS-U#-x{` zv(3b3Iw)3N;PL7ZJ!q+TIC4(#M9$L<)3h!!1T|E4O_?*jGb=MZnEz1LZcnlGZlW8@ zvTZFzxBhn%-PD%7dvW&4i`mXjV#h73PHWCN5-Dnvz`r>_^sS`gl}gbwo|Tz~^S@?_ zR|j-O7%~NKEQoqIzov0P*u?qMH4AQZO7Hw4b9<-QEjGC-1-U1RdH3CnUc3mgebM}V zqP%Q--OJ~qZ)bAu`Y>g>e^| zcqT9}IKZ$qvU~<(XK#n3@N}PvKNd1H7usH`klsEo*>LfCp> ztmUDGt1JUVk6Nw>7VQ1T!1ZkM%5Mi&c)eI9naRI$R!h^g$hdIP1og6wL1prlL17!q zI%dWk3)MM3N$1if?U09S_+50bHR)dZq`Nps^q7`zoupp=_K9&`qA91W%yu+?o77yj zUEij{h2eAg^a_KW6AWg|=u8%zvo)aVjAU=FRi$vj{9`wH78;12doU*} zFej^PDc^3Xc1&?);CQmx^ykIB>95bv$)eCk;Ixe62fXAePdwUi?PZqzS z*GluqEzyZP&kFRleBb#^VAojz4w={MnO5xz$X-6%x^i3h?#2n5PH)I}eLY{mkuh}R zE}_|?HWzrxC#>3jYR(C7(Nop}TRE933-*K_oPYSgWMA;c#XM5`xHj&+`+Gu@T9Zmf zQ?Oxg@WQ5(+ndZgdm|qPDTg>^88Aw1VGs_{()qsM#5Ff&b1(i zo_?Rc@03l|*`59MDKqO?!W zv~1uylgYVKd)?y|3!lA^`|Q;BiX${gw0YgfzNpfZk%`L~cOPj^68*gLXz0h~l~P2ELB%e+;twqjBBzF6}= z;i6*g8Tq@r_wj7DjlRUZ>Zsb83t`rxma?m_HL%9qIvVzH>FEm`VG}Rw&b<_PfWhbO zmEgve?sKm+UYmGWYSO{bn%py!G;T6zS&Hgb#-v#vH!O8pvXmw3an!P@TGu5zSl=8^ zsokEE&A-aj>a)${@Q-B;zLTf2F*kNCd9rizE!BBvK`>-J63I zm;Jo6B6Q>O45^jDf;{tIon9=nC)Dt4wbd%6y`pnsMbB&RoL_6uv#Ti5kelbg(%t5j z^K$tY=w6Z9ebafa=(=9fgE^wpUtf$rb$dhgt(2w}=XlQaJXtmO!R@`g6BC&3o}Rn> z)}Hh#%bh!dQa1i?isCYyA(b}c_^ugEORjC)lJqSh>HMjrn9s?50x62ig5R$xn{}XU zyGhyXttnkQ@Aurize{pvvE$6fk9#a@OxgLCaGeuBu>C=^8b`9$>i?4;@WnmMJGevV z=FPHg4`tQ~w9P3Min9{Qd#JKbY*Ij#>byr<`yT1sd!+a8k%8P}BfG~YagWXF9#6bB zJ6=$%VPlT$zsC-8Pn_(YWL}%gx@z+Li8sC(%=6%ra(bz}E3NbM241_q3n79z#p(Ip zjZY&zp2YoonjrVg>tj`P;KDbB3-3+~dGPK0qc&yFmc03&)^R`ReR}lZ+i!XL?)g#c zL=JA_jQHMSA@^cVXDMg;g3dPu-T(La^zjttt@91yQY+fW;OL+d<|n4GyhSCw*mQdl z|HP>$EXt!@OXk!yT5d1q70kJo~rFrb^%J=+rZdRyJ=aP{&K$MRn` zqUJYhXF45p2)Pkac;QWyfyIY)y~p`nEyUZWS8(5~=wDtnN&HsW$Nt&VE3f*!`W8^V zIj{EHgpL1a<(ywvF~_}nzWCGy4HaM7U%&hJ?!&%^m&0qB3Tye_SUq5Wb0?j>dG?Md z#eI94A5PXdX=rh?WMiG-@|z#n8!~SQESH%2`+EJt6Cap5#1>84*!R8V_3^i|rlOlC z+-;Kkv^MO6LU+ei({+M#%F8~yK2j(8^jq_c2+JPix8OP>UBmzGO+) zzYagHlb1t$Pwji{$vN%a&d>8#+*~`OJM!a);DudbAHOYrQL?e(OXiCf&K=)seoYN8 zWQtx;5!%Sgmm%6#FWRa9smDI!)`{MG9DU#I4nEnj(EI4Kmp`6-JJ4s?VZiOcV0$b*Z&ez!`PW(H8=2xkFIZPp3n1`tICsCV5Y8Yr!rBdg?vHF!kJ$ z$ji@s=UA4$dvf#gbN>a7t$eCcS6&1z@tmrcdh5!|;1z*O{gy^ueHFSUa%VFD)$l zpWE9ls{G8N`r08;IeSO7xH*|i7Pf004_PO?vv8Htmlqc;Y(1F`*81^g9evrHRej}c ze{7!dwzq*UqACYAyEk)cw*)Na^gVS%vezgwje~8;jgE~1rk`33g-yGh7YJD~O zpKW3Hu9jNx|53j&pP+zG^^q;deN3+2;qX+>UB&M)MPkXO-QNx*9OdKQC_R-mz<2B7 zC5O*^NU-e%1@R_Q?JR@U-9Uk6qa#Js8{FYMn=u7o6d_REpIjRTgzDR zgjai<{t~s~+Kv`w*=<|Z*?Q;1d=~7@Vz@TXRA+1Yq~fU=`JHZc83~+4=9jK1Gnz&v zO|mf5xDeBO>1qd0c4@_vyA{vZZuen$`_(Ma=-AU0{?!a_IhGxnZS9KiH>R~U-#~bRerkh zv|V+OlklY~WyYz_CtiPBq2RJW=2dSs<7Ve=Qp+b>d+k*5H+7n7GsC;}=f?ndUyr?! zYgSB6?`ye|QCQuyO?}^@**l#l1bCge*eGUhl&qX>^XZP<1^(@_n(E(LEGBGH?+i6^ zm)W@_zlZbI0YQ_CU;ZxH(k;)y`k+wDbx^^-A@a>Rp^ob`=kQ|Eq44 zY1?mC`N4IctQx;XRctD|`IHGx+=fT)|KqdmaXYdiH^q>Z(NVZS(3&wXuf&=r6M|`0$&JETvO3>%K=lQG7JT zaI5Pi<&qn>R20ijY?xS-G+X8#PwNkl-i}RvE<8&#^<9@mPvc?Rnw{hx*W7t!4cqkn zE+=y`f+s~Pc-N`SJnB|+Ri}T4VAK4BSV>(D>%RXQmrLuPr1@IB6m((i;+r)=M1W6m zslJVmcZ`D}f;r2^#I-)gAMS;Ur<62^W zOiPo;6yMb;nzuursD*2@#kQNSNu6{owxj+>aX_1#$ijbXr!_R(Z89(s;>vmxwq5V% zTGJ{OHj#{$9EBA}^4~gcYuWI9`_3CDtoE&%=&R$f@0F+ryUC@F`}fjS-re6HA zdQaj0_r51iW)(ij*rGh`EvsIVrcZpI!i=qRo))y*{z()tU&40oX-D$H-A1QYdKE4A zx_Wktwtzsw;tj@a#}ir`CmcDZB3^#uu+^=^2dR6fEAQmk)acoiSn80g;`0BRN5bE1 z{+tgL>s1cEWm(444%0TzyI zInR>JZ<_)mPoyp0^?6?9%ZZx#Dg1{R9Nj-vPmno%Wb-$T)wXrri%M5KX6v@w;us*1 zDQ*8t~1121G`m#IRV8z`FBPGe8WiTQP%eyXaI`eK zIjKg}M=kES&a8y~KULMrh3_0%ymR>rikDn>4%qItBUd2&aMZO2V&=O{FTFQBZ+(PW zz2g5t-hJ2DJ}BOES1xm3R2|C~Xl{CKZl2e@7q|NMDD&|!tglG?bX#k22k-2%Emm6! zip+{suFvxO;HGkBqQ~MtF>mWEy?k`@dzV-})6nY7UAc6L)K1MbAv-(|P%)pZy0 zy;sK2aox0|WR|mFkDI*ZX}O*6XMQjEzWGv&D%;+}Q~TeQAJ~3NZvDT?Js0;p-J9?7 zVDUANRL%1lO*S__u|KbQZu|dd`x|p{@i(e*ZyC>Ub6)JNQ>d*X@d{GX?qV6!L|Mz)${ol9s^?#nn|Ns5G z{{P?q^$a`?j4}>PIu3_EbWd?`V2*KMd!lwRQIvI7=gmw9E*q|s3wRQOTlyqew0_R% zeQ=Mqd1#?gF%sfC|m?W+sTuM-ZvDsbXv&|ph&Jkz0VE5V}lhU04j z|M!jqGj1H5Y~Wly!$E$D!}o`r|7D!)=W0!0_M9+@p*i>fqiY1KKtRi^lg`3-I$kgx z(VsG5>dr&G7Y=a;u!Q|s;;P)q&pA<0Q!w|jV|9dJZ-#8*!ryD(*m5U6g74v zG;^|fr*Q0?rM)MFdmBVNH!e)*aqKgaV*K187vNZZz^%vepzDrfZJaKAl1E-R9rReh zVtT>J*10pRQdDKdei|rLF=T4 zx1vO^fkX@A$qkB&x*x4L@^enh48|}H=CB1V_6u0Q&XBuV(VlS->Q1GC?P zCNUG2Hy1ce56twxAi478%#|NGWMrgdk9cLzl26~j=xf7xwo)%7rP*dfTlh~Ft{JDc z_$;vKU=Y;Q_G|Ijd0IJvG;Vtb?X53M;b7p|Ilhr`-| zL&S!~kD=K!;>f2A)>9(Z1tMPU+Nb;y7(*SJ#aQ~qDh|5tk%>7W!zwiQCga@IOKc}Q z9OiuEwfNzbi4Pjn6udVdY4!I|j=0dV;fn9QoHmC7@Be)r-aC7`?=T*_`*QAm#ra{6 zW;8{}KmB;R@4%8KiTMvIC7!OBXXPmO?V+N@os~Zd=e98P`@Luk3ut{B!K(j(N&iX5 z>6-J4WLh~cI8=8uxybm=t~oX7M9Y84i7QnUm=7(!ddBNojqmyx&Rbi~ZjSMuml)8R zbNaf@xjhUEdlZ`mFLB5_DemQw&IsWYf7HPRuARsh{cl& zf;4;&KV&%?P$A}dK$7*SZ*$BEdB+9Ke=dpKbm1)Jj*?l@ps5maN#%dfBM(uFZV}57`;|xKLkjfSz9oya? z&bVZRC}x_ky5SG3ae*Yk-Su+ zWaG6Ncdo|V4P(+-_5M#-0dIJrYf+q+ir(jj( z*PIQny&GQlHoX3Ccmr=l<6lkIJzY(u-Oah3El)dJWxLv*hIKsUoaVjzY=X}J>fb9m zOEtS&w>RFn(Q4fJ>a?P`AV>e+y%SYeO)g#8)7vqrmovO|Klhs1jkz3xcRF^ST7Bhm z$L?DkyP`Os|Kd4mbbZQQ9)SaEt3UTl{o1o2v}4iU2npk;sT`5JEpIMsHJ^Ofbc)xl zX_unfSKR8)?VR4b-(2Q~n+~T255MLUtM?NYU1r*S#i{dNmC4erQ41`#FXmk}+n96r z+m5}yof|?s_wAi~ptf^=?S7$J`DaRozdU(GLSm%Ny= zjo2*C-BrH&HhBHy4be>z2A8z;m42?({2Zfn(IB?cfamn?z8iP+cE^0a)p5{PYL_eL z1LfUwE_3|9_LSq2EJyPpg9meu^cLK$Y`Ob^nK48||NhgC2WJhgx^iAgz4iR)f~&6g z-Ur>iuDW@XRGh@(4S}Ye_hjSWNq5e&HhBMbn{jY=6w?%qO1E?s&*YZLQCrvg%Y8OfzTJFB`eDSE-MgCioYL+TShtC1 zT4L{syLWUsvmFe+Zhd&3_mP<0W_D*Cp?4fgryqV_Ycq|RRc^J3OZ6j@$&Zw~AM)CD zXzhEnd~f1|pv{VtZB+k7{nyiu;W0{*&D-&{_mS!8Ry8;7#x99k%NhMG!L<*kvwjd~ zn{gtabGqsWG48jsdpC-7Up&EADsj7V^WwRikETj$JDDjz+3eMqFy%%280*hDODN9bYwz8_B}T5RcjyKjzkQ`BVh))TjT8&dE7y`iYa8Bq4L zZ^h2YV|T^+w(!4r;-dJta(C*z%N>yxu9GyRGFOne^DI6<+L}GojEW1Jzv9} zbM>0#{5WpeO-B{BT%O3Vu=mDuj~D6t1(kS?>hj)|Yn*DeYO~dv*(qCf*M7)|-pcys z+3NK>cIS5gebB40$2x;wm%~U~ZT2^}#NCH?PiEMut!#84cb9wK>BwxApvHd@89iFuB!Q`k}kC?w(Y1=H{XYQ^b@-lW(hk2uOBfGQ0&9!g! zxJ!bceg1G-!sCA7B#Zl%Hk-fPGgF=OWwTb?WP>kJdReaN4F(N!&**Xn{k%qkKh^enqo=MT>t$>;0Z~Uk6sk?zZ;M z{~i0wyX3Q`b7+4L=C01~?0$Bu{lkwfQIY*`Z&6U$OzG7PY>Wdn@b3%(R zclTcV-Em!->H4gVxf}LuSMK!dD_wu1V%m!z3tKxTo3EPs^;Tm*Rhz}Hjt{q1o2@DecK58m`rhc%I)PtPBT7!pc)4Dd z>%upV?dyLW^N86PlCZbWV&6W2uI@YQ^<&@dGQ7TMo5F>)^W-_7d@KH>YWvjmZi)Yn zuTMGHn>S21j_ujj&d%NH^Zo1b_v=q><^Ox?-Uq*XuY9xL^}d;=-TBh>FU#S$7q*W$ z!#7;mZ}Z?cOX%y}|9vf9&W(Gd=yvz9YBFy$=dIPhzi$1qGQO_U;(^fYC&{Nbrz9J; z=51R#eWT>;b}8j*(|>+e#|%;eOJIx<7xgjMxIrYz3>xW+7ZB~VQiN2OsHyo8#XRDLZNPBQzV5a%) z+abcI9ds_V0{* z?AqG7)_-KaF8RWGe6sXZu2_qgFQyqPIc?0loz&@9y6(6~luz;3eU8b~`Sxr+G$&y1 z?cZl5bsHGDEEF19r79Gfq8*=!aTQ9MhCAup`Rd4A|8?rcc%dRE#l#3jA<5*z3k~yZ zdpIvM@l_vKd?95jZ%Al8_mvL<)z|)-EOxeC~ty&1EyQ zveKAqL~gY-OE_9gV4HFwwO?tKLg7MNsU^Estz=%h>T3Hf(`6Tu)wEdBy2D*>_Hmm| z%$O*4G;866UgsNWYs6e!BDu|`MsVKm-@qCvz44e(;gSgrY}0c$GXH&bPs~nn_0kzJ zO4aih)lWJ(XOa38>!&;R-QB)stz|o9Hf{ z%?WZ=F22m0f6VMQ;GVGHNOIm+F3}^eZaD{P9ORkxCZO8H_Jxkmt>F0VJKxL%F8gJl zl?x4Xwf#E#&s#|^e?GO_4Pw?sN9NjIOF6pjcKLz1IWy9izdcmAKvU(rbL`>iTbxxc z?VWg+`F64UL1w|24gP^&DtFlCGjrvaIqW$x#i{?Z?FF4Wf7WEDX@R$=y_~popXTee zyZ>3e*?8LS_cDc$Ng;X#r?-A`$lz(=T**0?sl#dCZDyObT&kOD zE=V&yRJnFR(f-DWWJiq$xAw6y?ca8yzvheb9NPkyy)vfl{9y~jmh0_U-p0U}$jq3q zV2jYMo`?&^=}rpuVjWh(yHZQFdj#JmX&jckw4u#xk0RgQrpA~Zhb!Z5GMlYo-=tW_ zQ{!@^L$H6v5mlp&oqjb+B8xSSY6b;5c;-A3UA^L{Zqdf>xIan~hc(& zyyBSYrj5OMHOexNHI7?e+SpgNM_KOkisQDQHul&3QC48qJmDy`X+oQgijwfk6Rt*^ zCic~+s7SgtiS=BRo4iIv&3NTW-=a;ESwAI)e|x~En0Lw2?8+T>?bK5~3yu6I)~MnvD8O1XhStPbs!)bJPn(89TbwG@jY2C52 z1_7}bX09n&?P&Q`OXR<5{GEA=uWVb8x%N*`OyK2RCc?MQX@$G0CopT@*mh;X;^4D< z9*;Tu9M&*Me%RtJFUIW?f1yc0|LJnIKRY?1BzdJT{?@T6VA#_5rcqYskeZvE)DGFk zes$5rzSOWy>^g#~AwG9KUG;>f=q0u&scH7vrgU>WC^(|*{PLtfn^2ga;yGm=9f?DE zQw`QV71I_eUF+WyaeHosw&J~mc||*)>E4ga-SEuzz4lcmza0{+OKQBCjqDCG9}nW# zH=kjd-mie3(`vyp`%BZD1QyTe@z|c>=KR(<#CpT+7I($>jCyWgri=c2@HT-@vp?kI z@r1Tsb=z+aebpzn+}YFUSFUO_@3KTI?;Y$&4igf7C!mg*nRIlJ-nP%K;`w1V6KthV zu{DI9pSSl<@E4<97u()kS>BYx|GjU^l7liGUQ=xvQ|uy_#jX@hmYKBrqFPIMR9Huo z>~g*|%e=zcRrj4$dbY4klC*x;)#ZGkRHwQpGVWPZ_G7V-bmO15tm~cPk7&uLbqeWR zc(}Q@=d0?}GS+6EsEj`B|4VyUio$Xw(>Wo65BW7>wn+;F78-v9Glz1^3^`hQ;r@Bj7S7=!BC^?%7o-ZyaRydJyW6z$@j-{N#XC%|W3x2iL_OU9rV$&4R8~8@g8O{7)1* z*A*DxAaz1PR-;9l;lU5bSgA9O!aj*k3=gDh8l7Vj8RA?ympDrAVU!eM47bCoe7EZqnAIQ%+sQ4thGr&=!Z;?~SLfb!$PCAW>H3tD6vaW^|4WO9hVBjva5L6sE;nG)iie4e}ybmY79P{xFjN9y4z7PmN# z#qn=g{rHZ>wVdSIv!G1kpmfASCymGQIt(m63%RE>*lat%`NqNeRx?kYtLOp6kPD3W zJLC_WE_U)r486r1k#r>V+v3Q+i4Imrbof{_Zyk=h#jGjERL;@JXVntJ#}a$!zPedL z^pgY10UYsq4e@*}G24!^O?WJH<>`k&N1JKpWbDL2bg*<}lzD%3(gFi4$y7?RY&_|73vjV0YLN-AOLgsaP(RxI#)d;W$9YU8M_>VXC(_9X{ZxY$VzGnzT_xy zg~58;!?bgb;oF`ySh+O)3zBA7(XcHo-))7+(xpy&Qlq0Z63v3+oLmbYr55YCB|LK| zF?vwamC=^OQeKrFUBMuJqM&86P%e@pPIgPd~|TdZ89PcSk_CGf6UJdv-3yX~NL)&kp{%;~o-TiCr6 z^I9=ePf(5Ri9?oq65kOig(aT5H0MleWWL2L8StSR$WuFvZ6)?#VZdgS1;$aaq7 zMy(bZnI^f2MH`q>oOH4`>%~smv~(fosuHJkrxlA-t|%?CbJ?&>WlNX#j=tCHn|vbX zt=_dxdv{sTu5H?Tj;-Dkc5(N)|Eu@j)86-N^}cu7`@gN;|4;h>+nNJ>ItQ)fy~T76 zsp+^i3Waw}dLijiQ+6~*OXnz4hm6G`6_>`YSAynhEq`w|e|!?Zn!{hWY0dwaw-X(N z%R0io^aM;h>&v<0fy{*EfhV%UTy(;Haw2c!91Y58Ph%B`$x+#(8gos7tx7YbU;+Cp zMvi$3y|-4_&PeE6rVw&r%6>tS&V~l-oF?u$4JW>aoIQ6?vcPfgp)5fs)^kFF=fC9~ z`uB$KoHEyr+~`yH`Pm){%*(A*QmkI2zH*P($~U^{u5O=s4*KrpFqL4vVRxh{>45mM zg<4ii*T%70?^Be{S|}g3PUg}=(WFGTFAvYC{cquU)i}dV@3!9jMXz4U?>MM<=CQ*H zrPsHbwGS=Q;bYk(_Ey>Kk=wka=uHO{RaQIg$X%?Z`A5)+{mVMrjB9VL9&O+|qMFd4 z+4bm-T=vON_jI2<()*?q_UBRRE0s2p$KU=v3%wx1QE@H(taFB9NSVsJ@MVtmVFyjq zlx=1u^RhHPu~TNax7fUCu?5owFZjT)_l*PRo@3y{kIHEuOQvOS=_zkaKF8sID zV^YeTymYU1DclAPd<;vbcP()|^wNFWqcqnG>-N5UZzQvmuZ2&5iJ8Gs=aVDH?L5UY z15S>E+_#x|vsF0kwLctO;&UnG+r1@yzf|Jis3foywzsVJQ2F2HtkU(sPKUK;G4q-S zGAfP1{}@BOmfpOVW8JmRdCJlpr;LbQ>pA&b7_F08^K_*2C(XOI@~zl2CYfi<)-HT5 z?;RpuY@L=7d+xvvw)EWrjZz0T+7_fZT`+9Bby#%*L%G!fsTGW!-B^Il>O-;rC3biPHc*4+_uR1QwJiqlbkxA9mJm*k8_ z_AU3h-Phllq`E z9wxQ?(mK-Qw=uZQvF_b+$@_1#?=NrurLS9FIOW!Ik*Z~D-feOgo-{A*bEn;r?MX+Z zHf)qN-`si2SyAMSTYAQBokl62204RbSK&_zlM5vn4vAlJ(PUcnapQ{aFzuyDC$3!6 z&~w-ATcmJ`k7fVDt0@I*uh+$fu{@C6@!nxWvV=_LR;|U-42?|EuD4ztthLgdB4;p7 z@9RoFmw=*&LOc_G=Q-L;S{&^Bl}Y>l%SnuyYH3b-vK$hx%F32UcQ|<4J!jdUxy@>` z?VY8zE!wgh3P0R(<}!BR-N7jT;b2J~gS_yQOA`&=oLgtx^2CDOEcNocFJABaTvx3; zma+8T|Gs}WotNFa|1rn)l#c&r3zpO8noo!EpIP)UZL(IjQ(DC|-I{%$9NuWHzU90| zOfl=r<`Ttu<66Ax`R6&dGNNs zo;0mP*x(Vj_jV_nxwZ<*rLPMdW@X2(F5hu#{&T}OVJ-6t&zDDjF;a6qv~KGG=lACI z-?!JV7Lxq&Nq%92hS#Bzf96fgC_El__uR~+~_w^88d#Pyc5t5Z6&T_?Xc?S5Z$mrGGl&x_^EQQj>_@85D@+w)m# zM?=-OpYvCDEsAk4D){-}-jua1pZpvTHah-Vnq~FJ->ARLU?^==nORlVH_I|5+>jMgP4#hJbsr+LU+~Uen@+jWz7>mxf=s&;a zxF1joQWDzHx`vr)t$EbfS4#S7jf#UBl_ zFD*IY-M%HbI-!PvIi`BSb{l^`jx*~s%POiFfVz(!@A^dzc1Ua*`2#~Tdlox zkk^Lc_a!Ul84a_-KZ^Qq3<|T_Ep25E;i7nSXP_oc1b$G9c?f9>P)z0Y44P1^raQO5e_=J_|H z_biY8!)oEEm~lwHX3w*!n=9rOZ+UGwe|Fb==3NW+f7X1mZ(+Ih{o7vWzwbH!{0fu8 zu9d8{GbHTx9$)@c+wS>pSNs3PJTJCC>8^RI{;&4e=DM)|kMjRMZ{J^Dw|8Cl-XpW^ zZk?}uwYok!<$!DS0-y5_ySsMHJhQjVBKJ%HllBWnRR$MrKY6K!%+jn02l%-q%t|U0 zC6(H}R+!EZZBJ~DIV3hA;1i#+v%vcW7A89nIPz)cKCAio$?=egmATrIi;tTgc9`Wg zutW+J`$;HxpSTmjaPXN^n_>F3J)9vLfs46IK7FYa$_`r_y|e7=FVX)w5gU_FPBX0* z%Z=KaeRJE>R}Xj;mh!G}acW9Dsl1e@7?4+8lh7fOXo~FrL}gC&}p5mcP5?I+xti8jKNWv z$!Cntx^Op(or{@#*6i*Tp+!ReZ?s&?BaU3$Jz2&eiSNjfs6mY)fg6anXz0IiPYdd>&2q$GwZ>#(}^`PMYNJS9vc~_EBz!u0>Hnf9|&h%Qn?-zLlrQc4bXx-_#c#hYku|Ix)3J z$*5@7(&>kyU-s(%xwGJg*|h{IjipP|9<+Y^;}Vs*Y-`YrhiykrOBu4QxEA_~bw}8{ z?6!N?q#o}xT&$z~=gZ^%g#vtqE`fVB=am(zkMjYe zUVXtWxr4QpE9q$8)Yyu9|NEZZXJ!61D?gfnC8z1P+&o1SA+?SV`SV0qH{AZA#IZCh z%lXGEsRs|a6)F<=)aO1caOyHhSf!+4<#D)DhT(uN4{J_v#$m~@PwlM>7&w@$Z(n{? zK5wh;n+SWx1PPXkc|WhduQS(tAj7wVWkc?U<`*AtbDh7m@W4%0{jNhIk5?_-k@fMZ zkY0iVkKJP@_LmCn)+S!hf(|$Asaa4G^`jw4q-3|J#z!VEg%d(jADh`^1lz5iJY;&2 zG@X0G!cO}T5yAWf7uTO3d_qnfEP8f(a-WQD=*JPd<%1&XH zG%{9Bxv71w%kX|3OH1Bg6EtoiT?jstbkEnVMTdlp;kz{N1OA_Tp@Q? z#>EUN@?};j%zYD%M5s=@y3DTB-g%3JbJ2!{l0_F+Ju}f>*yk`eW@n1_De1^FKHrR9 z?$k+Dd98hRi<7?Iqzt)t0)8?kpY~SH@Q)WfdW!YRluMQl?2{+mQITy5Xb$fCuwqL~ zyg*XGty5}gy?kHJd4)@^`LINB^M*YM(hl2B8cevhW%k=Qnu=3z@!t^JZfLPKpi_F< z`aI#4XH#BTB%hqXqjOCAyr|E!36a*EB9HjEGqr^due|fj%w<uvwlP1Y>=#PetMx!+GV zO!}M?#IIg(D^-$V#b4cn^#PJzfiem$23HPjU)_6-HA~>&0)~g|JY^fW{1*vZemP>P zK8>qI^^Rm*mBf)bJ%u4%K{4{#tObu+9}1r3UU`7$*@-sCo+Jt3C#*7Rh8NDx5%1?% zTcoAttXT1gUGKs^ZM#Dn3KJepp04xsE!Pk4!gN z=E%D;s<`XAMfmwG5A*Y4LKn1(tzhJ9&4{y{wc1!=nHp~%vzKhae)Bm8kHyHuUH#HF z*T84}#a&K49r=?^&B{`|lv#cHuUf9i#|=*|Pc7Th`~15}V0o3z{C^+U)u%4}f8c4l z{old^^-LxUm~Qn(mwgj-$uTJWdZ_x7kBEXtSDLT9UC0E zoYV8f(VJJr@)NgN=P+<~I9xwx_E16jZB_n@d*YkS*ZUeNS@x>BYEQ~J!geA_Jo3te zKVcQKjmkqMO=}*8I{oNTlPm1r%=yUp)Q_VJLq1AW&UviJfB9IlOVPynGEX(bf1ZlG zS2TUU%rnF3KhI>w6}K;0>0`0|=ef#xOD$AQbV{RCBBG+EMTH+Dsj| z*)eY}HShf79shgR>-jGxg(v2wU5L4J+U0Td0nTp+F1R)?v-NZlZOph7%|NN&?mD-Vz&SpG~Q7p}p`dzxg!`4p{$pZ9KhE;kHr7hY+*$zi-PA|K8}i)pCzZUXE^7 zoOY&KZzhvK)~jWVfA|?rx2gU~nf&2o(-CD2EpE*_391DrAI*7FsPufry54d-^%9kq z5})IDj^&m{rE6JzDEe;~P?mALtRTIoY0!u`D9 z7>E722LdlNnKPdA+<0T;qR*my$FD%Ks-VOxOXx|0P{eb=W$kRS&tGoij$%q# zGfRW@GMD+Z0|NUV2&g=am~+ObDZQfWdBrEKzF(aC7pO0Ild<4W#}}?M)iT_21qsR( zZL$}d|2%kiDeZiM7(+daZ za^P+G(5@AcBqD#}$R8J`tOxV#&Zz5XW=mx#PDpBONMO?|yk4Wx-NLc1i=#Wsp>xKH zf^9lo%T{#lG=1e2C%QV$bf`H7l<@VQap}ErqIaL`FR_OHFE9E&o#=BC5?H$GONHA6j+YyR zvgI5Oz5S&1Zbq_n_<@CvhD6pvalB^3Q>IkNRi){c|R1SvSAi)TA!o{O=B%MrbDEt@B$qF)ayLbkTM z;kj8Yce@_Ge)VDab^EzLA9aYfb?0C6t zK^~{ulz?li_uk{?f4cg!$fM66yuWcqCUd)@dIBe_YSvqGp4c=^@vG~}MFPSQD4^AjObgCnw*EEbZE$n}B zl6sYrVbXi<5<{Q;t=H%9oSMP2?%Eq>4&l>cP4YX>oc^SA=9o^*-6?DDoYFlhdTxr& zsb$`F`*{?uJ18vYk?B7Xuiqfc`Nj9~Mb>8*IlJB1ITn`OY2g3iU~p;c>18jtXJ#m9 zZVuEpN!Zvi^W4=rQqND{+M1yk>i@)t&p+(koR)Jo&Wk<;y!n>HxbIvDL$2A6^C~>2 z9ZQ( zJ3a!XA zY{mvT^Ok_i+~z;Z?#QVZd2=P}ia4uZFH>>gQ+ddLF2Pyq04DT}=9@}zFPtpjIO)sPd$-wWl?4C_UB#Kt6JaN%jZ>J zZ?4>3uH(R9Xw<;>ra?P^fitkZ>Y#b`Y`*H-;>N4Qf7~dqJQ!ZLTZu)$Md*Tw-8=ER z|KbhI5e@7!8n|yX@JlobM>KABc`kONQT|5NU%n>w8BNz)#AS6Y?mIVW&uF%eh}?BF zdSVmboCOg_t~C2gwEj0-_S5QF@|LEIWnZ%1o$?pkkQ2X1c;{m#;|ZBXGgK!r{FN)v zWO2)pIJ9IF+qN9D*2xi_kDK{Ak5@EI%&=MTK!u@|Yn|x#<@Kk&S`_}sJa<66d`I_w z387@ej)%|dWHb^sEsK~})_MCz@7-kO zyymiX(B^?hU0TAO_<9a4pW?iD*5|hWH(GX=PKfQk662uG z^UO;6<`jQP9WRl|{$EtKHM58vOK4cVrA6Dj_p{A}DU-FC^VFLsglbvwSx!`BZc$I3 zVYy^RpybTS5y2nZf?rx_PI$&{;-mFn>x^jc*6{5Q!i#SzmhD{W)e{w{Gv)FR?rRlV zE4T-tm zXZGF?n|m{Ip?H=1z3B_(r54q;Fupj>xyHdmS!%IymAlrNYxg1-+eBo!zDtBgC2d|9G&z=^|;8l6Lu*Q3a?)e#xzc=r_y3xD(;k29C zvm*UNnp9($CR!(R>-@4=vQs1DO{Ddk!#2OI`Kz{{w_NBey~Fw3T+zy9Q<)>?9_zSi zcKw)DPNwdaklhOeXKi0>y<_$5UF)THZ;sx*efI9%w|DQC-g7v5&+*xNPT$^hUV884 z=)Kox@4bC{?|tcgkE8cJpS|z(?S1d1_kWJw|9$rU`?DGTNgrU2Ilw;W0Qa2({4xiH zV-AYXIVgSSpuEf><(Nb2a}H_WIixRh*f{2}`JBVncMjXj9C400;y&ky_njmE{bh~@ z#~clxb2R$S(Ri6-$uY;$_Z-%25MOeTUEmJGz6bn8bB@)^oM?_Y(LU!y_ni~{GAF(7 z94nMLD8E2t*+Z^LF{hT#Iko!Esr53aH{Urm{myaTJ0};$oIV_L=J=d5r|+COf9IfT z0{5Z=M^zK}Di|eZJvdfu!*WkX@_?gATLVLmjO4F9=V$IYSNZVVXPJZC3hXwFk~s^7 zgC6YXUBEv63<|9j3iQ9NcLL!ZOd ziH(L9}{2FV#RtP>vWmruC7cn-t9J9qwD-#Nbb z4zCQOz+Pbyh8s&2Psz$ku2VeD?ZC#jKxCWj)w#BJSI0hJpZ9=!-vjOiiXFBG1?MS> z{M#>C$0#$8K_Tvu^qkY23s|1jJlc6yFfLa5Ov0V{HV?QP9^1-2;jTHk_|M&miUM7- zk{YrHg6q!TzWX5i-m`qU=Z9-p|H#}Hta<)>&vVWP&%JFAwA;Oq-osSEct2h4_}kd4 zTNm;<{ku8$-uZ?14(Q*zr)m3|`Ol-1e{UAcy*V8B=J>s%vI-pM;@Cv)yt!z1;JO{h zCAkB4<=)Bvd9-uRdGWdT*Z#Zn-_`CJtL%Gk$M>8u&%*aT-M;Vr%i3rA=e-f1|55t> zM_U`_Lk(v)%YJyffML~x+qDOd9lUewtKIv>|Mr{PpR$(!!rj1Krg-gt_0z|-_g??K znD}r1&%aOg%DvP8LtOB{OFXI{POSq z`h(Xw8E%Bu-iVd^re4SOt491+%*WFEzxT`kIXLfo^qsR0V=gnwUYx&Bh(Z1frvi(B z?dQApf3M&F87%vY@y-Ro*o(DyKQJ~mI4~Di*gig-eM_{FN7|}}!*J1&P7&>>JspON zkM+t}SN-8IT5@8diuWv=PNSu#rs_oRn$zLfc0hE`|0O>wI*pf~n`=}3>kp^NiVF)} zx_6m0=3LiHInkkMz-7AX%F2+{QG2^gS6}Ot^ZDqM_ByC*ZOZ9cw%ulHZ*9%Fy{nen zeBGU$L993ScAKxix3}i^ufN#M74qTTOJ?2~3^WInb;d)WcK^z)NBB|MMoY>#L1KeF^e z^@Gqgdsye(xH-FK=MzTDs-?`=Ju6-@FSXOm`*)`_j>#&lmf^6cbt02(nC$&*hd_mA zagz>AUq53{<(FHU8M{Bp%Dm*USWx(=(~Lpp&Wi8|#u$gm=PcfH3f%o4%cf$qAcsBg z#KQzphr_p9UsR-rhcEKsxY_!0!snX>M;CU8GtHZjk*KuerK)mozn}qA3v-)sSJpns z88=$Zi&osPd?|ZuUUiM6fk#ETD1+OCDo0J#$xk&`#xfSjRL+>rBF2&2K1Fp$LXwC> zv8RB2#`MRrECvNlO`B(Srq3%=E%%cZ*>`Dq8o$h9Pt&?x9!nD3j520+U4L-lXqWE1 zHV3VBI@>bZJwF{!sZRanx^(KK++9y%)&5Ke1&rCWdD9l2e376wgE=8#Yvzlrb?k8x zedXDo(wG|e+zf3HxHh-An|~^w_JP(F-%MYNt&h=SV7*%L>8x&MMe*qf|DMkY|1Iv` zVm)Zc?DhTmi~~=@-tDa5UC>;5HAS7F@QFtukJaOErY|f%Prbdo>ojY2!p7rj+0z*( zED-Kdzt{5EYlC8v2Ty`1OV@P9m>J!%dD0b3iN{~|NyhBevZ(2cIPyq)oqXmYZT-Dv zuHBzB_gntG2`oS1yCP~_XM+Hn!{byboeYnE(5Mx;-O9fRvUEo6f6Lro!BX{P#RA|NXSx zK6qiXc>jTeJWPSo%s<;AYYsXHi3l_+-8srsalwgak(oSi0FyvshO|J$#tCv;l0>5z zm{ixeH1Ibt*r!Av_|M69uv2Wy1Ll-qW$Cv`jmuaa`IpS#ufFw+NiZNO$FF6Pi1DU2@=(38oJZ=>>$bnU zkN#(hSTEk9ED@b>>Y)RNGW5vfH z>cGa_5mHd&zQpqp>%vz*1$sIDFPI+9sUFPPeAvQnvx|I;hqHO~gy|e!OA-o&^_4lM z91`)|F1N&;dDV`lt8WD4tv4)Rk!5|f<&m*jQs_&&WN8M8IWDT-b-o&h=}wJbvEA|T zm9-O@CiTAeai3k5w{8K`*_UR5o|nT_zUXVseVLQBih+5D$TGJNJcWF#7VJ?|T32kF zmiXOB`}W(Fb>)e3Tfd!hytijT<+U|BDRr&QE?-v7o|}2G{ZJxzw8N)``Vtpc&A7O@ z>*6x*n?GD%Uwbl_D`y(hmMR8)ra;XayMxV~M{dmTIeBS^;kUUvHSg8GIU1U>%};+$ z;tFTQu7!=3A2u(PeY;fQ#A*Ji%x@|&ti3`* zBzG%MxnRK@dgn-RR`k(FAA~OdF$l6qdbG?u{CL#$Puo+Dt({u8^5^oOT6v}1D>jyy zw8gQXGEeNvejocFn*E8?G-m6(YYD~8$xN+Vj&UahBz+aSa8*-$!TJLI33Fd^>(-pw z6r<*|^o*kJsaMN3Cx=}(vtPn(U(+lTCJ`9lRo-Wz@*wTt!ndM1-5p*>n=D**NtiCq zc~Y+@7Hik1y0(LPuVF{>&Pqjv2A&_C9e&rP)1ECmbVo+nqvgM{$a;a|__|ed1@@nw z)6c=gcgkVO13s_VS}BpO9#Jpu1%5lJaBnUDzO7I9>s;lw&tR0gQ~Y49W`zLHvkeS7 z3~t<>H)?|SPHGiZ)Dp|saZvW(hB?2iG}U^4fBP&GYwbwcVzaGH)ZCl?oWQV{ZZ?+L#E4;-#XWcwvT0O1jPK$P;`28Yf@XesSMQ zUsUJVd#8fhGp?Vxo5gt|N~+E8_G*7yG-F?x)h0n{x5MejQo5HXX)nE{vQK@-|C1M4 z`PS8a6%m=ak9$*oclxu;-4WURD>IfQK5BOJXSF`az3kgY#XDyV~Tio>FLEM7#`nVc_e=Q>-!py-zUq3u_jKGX0Lh3HI<8fM!aH) zNcv-`a<4vPvGpw`Uo@ZYIZ>?jEyvIPZE;Y8nEqm>s>_d4!_Lhd;`rdeDS$TtFP|0GgHBCWD zMVgY|V~>=ZTYQyUV%~7FFd}4I{mKLxV~y}i)`p&AwOz*;ubKNz*uZDvo@%=)*h5(cG6|Lz<$Ws+Up``sj;%wrE*A2PJnJ*wlJ!6#GRmZIETAmHTnfz|J+>f;6$z6)&k1cG80wAZZgxiBF$ zT7msQfv}~E_i~f}9p_nGik+)cn57djsT(`yCl`p6K&#ux0h=TGr9!-qBG0vAt14=Hm|z zF9(*jKe{$n2-`g1u3o?rGodY*V^YP&EQw&vG%*>r%LOMCxXd?dabKELu_A2CN0z5o z1MVDX)Bdhoe8KXu5ku+%y`*mpRh#u}e@ld&(PGI9Xp(1&KW&MI#Z+?nzTiUp8)BpK@f6o7@DZ%|}K10?5VXuXvv!u)?^Id+h z;BX_82ZL0yXXg0{3z`C@tBp&do6LzTH@Zd#BBUoG+HS{kUeG}votXx7s3uBDNymPVgi z8vAN#JlC>Bt!2qx%TlwJrFSjMT(vCw)Uw=H%ksIF7iujp_F7(=wY`|rqW9H`ey)`hwN_5{S~)dq<@BzVGgqygeQM?0 zS1adpty-wHYO&Xnzed+*Xo_CR_{Kw zdhe^%`?=N})LL`cYt7NDHOITwoLsf$^r2e^2PeFk-dfDSBzNcO5#Je}Tty=flfP29M zroU2L9~xMy1vYRqFx@z??%SypF9xm~0h^qyHoQ{W=vcMk3Hu7U2FJn=8w9hL#TIg# zP1xwDy~S?Tx=+6rOHAN?vtZqa4;#51*1t30zw&|6Wj43I_Y$5BTGt(zT%$H~{{Fw* zLOR`gHlMNemelNRNl{y@qLbB6ughJ%KIy@FnQmSm@2z3hOCqGDgQJtxnH9GPvvOb9 z%5#9ZMVO;OoAsKa9-sFT-hv$s#hmiDm2U;C6WUYdz|4fumM zh;K05oXlM|Vb{LuZKthQXP!=xVBk7wz<+YW`Wpt^0RdZb0=E7+mGUENyHnTpI}5h+ ze2~7X;P|qDSMS2st_r>d8yKF_b962hVgLUj1s%U$0F80_(G?H!1C2r&YcF zcJ-2ntG9CpFlPlMTRq-ydYfnBWlqyFG+B<34U1 z#cngC>|sdTb3Ci&XwI8s_5quPRx{S$K2ba8@XR@@tZUXQ-e#&+*ktOq{*41uw7}NV z(|cXJj`)-@#xLMp)?ic?@P9Mwr7gBhQHxj==e=J1_r-qh3rCH4r0+N|O`No0TTJXu zn*)4HPqWY2oHTnwd(N31Hrwjn?2=e>(5(7Io6kBQu``ErHea-fV)Z_d(!KrR1Map0 zW>dCvC)S*N8?(y#48wv6-0wc{eg4C@S%94<;ne2`d;#9uUH|NL+;xgufU)jCR-?h` zwUIlzbM_}c+Uhv#tl$QN_1&AFHn2_zIHY#r0?VWgvw!dM&^n$Jy`g>0#k6l19DW_Y zX0uCq?^)AnXHCN{iqE|$ZL1(_d(qyCahr+4gMb~XYxUIMo^yP=(z<7T-tBF(H*C!N zz3JZUQ{lHKRb`)^dx0sm=K|9sp4*cTatrLNul~PePtUIXHAmN0^VJmaDDAoG@am$c z)Fsnxm$(_uN*}-KHtW)ci3fB4Udp?BiDfQFa_qIIRoCoiU31W4N}s@W=`mBi?v+m2 zRde<**!!&4s@}vHeZ}R>756_^^xpFBy`#+9xgoZPkG0zP;R5d9*^GG!yB%NMOwc*D zqI>)1<2=FAw-)bZSlYX*v3AMdO&3beY;Kpiy(IUR^D726Umjio&C<(1jc zTer#g_Q@VT`PgKh0A{h(9hG-(Z~l9`>+Ic`r%v(+Y;tzkbjN%B2Zk+$-n@6SkGNS~ zka)#i^MQ-&?pE%A{kH^Ic{bR_-2{eSmT?h=+i9XvVL zpLE@~XKMSSdtvpbjwxw(F4vq8n$X&Dx>a80LG+&oziRnTWZ!;&oAr3{zV)(?SnVF& zefwzIsgoY7wDkY_f#q7E&7uW6oT_&A z-QKb<=EmNd_3n97`Jx}Wtzvqiy6d>^A-BFKT05Vt;GG&&`A{czV{Fc(;O=KZd^n`O+^s*S+XJ#Sq27 z)&K8__bCRQ-!IJfyqMnia^||1v(LSp`|jm@zE=zNULBfsY5a4fJw~VKNYh&E&2i$MA&0C_Ltf$1Y zB*FHTpA=*3gV&9x7_1sNPsJr)j(dA$E{mwo+u~OYDGNAf6>xg~SaLBl zzn?tN-Sl|xHjU`@cBeM!-M-=|#oXe+(cr-U>cRW63-9c@UhlfM{K!4t7kqCHty`uW zz;d$h&GBkw`@ft=fkjXMg2DX%%jTTf=C*fzp*450^vk-qCD!j38*bqGD|ICIbE&lxF_1l+U;I)6n`sKj-s`KC5`hRrk-*x-HFK)rNGX-2C_m||_-o2`* z$KLtf%`WP}fp^u>Tzu2nDt9v|G8ny3;PsK&qOgFaz~=6axX0oA2XE;4&Pw3$wPtJ$ zc(>E`uaF$mTC3hc8KILjv-ku%`*Dqy?UzvqhY-$@_Xz0du<$N$eR>(7b!WT^tS zz6bw;cQZ~tz<%L93&X;b7ueaX3@kNO{&P;~X605BxwJ$x;4rI@f?Lmz7tM#eg*A;< zFa}gR;EkBL3Q?Yo$EF^n-`?i9#^|=ZD=CBCbxR(B96+98OJoX zd2lOK9+tZF_eeshjWKWXiEj6feDj?pGw&XBKCj;#{4wlNXM4)Qhex`fUz*IW-8s!a zy#C0Fm?bBA+a^BNee}BAIO*soiSX2h%GB2tW-`vx{#br_acNJv{s*W28*@Xy=$zhb zr5I|_&+X>mJzek4#*(8Gg64kEnzJ_UmiP1r^JJ|z{%4hoOFbW_$5ry{>)ZRs=g0rA z`xh3PF{@LfSwid8iYAsUMU{RD3&vKbRoM+)%YBkGTAZW;le(Rla{MPdzdNvy%~b5h z0s-eH4yB%-VjBdUc`aie*h@J7aPAc0mds*aHb;P?!*h{^z+nTK$d(ms@_$~i2wbap z(jpvXaOvQyh!iajbs5Q54$eX@lawSoqaJB8_H!*frQM!&f|=h@WTM96ecc&2$-Rd?nw^K3pOR#DQ?wx@%gYqi!= z5o7Pk+1;D+I6i&3gbF*JAt;R+!8f$y5ROqS)_^i2pO$?HiS(foYlRs|piIp+SRy3-Lh23ba z`_KEsx+eLGc(X!YMnjKl&at15re0~ecy_Ty(Sen{I*UH1SFb&Fd2PUh%tU@CX|5!> zGLIWca#=#D*%xc3)y_pqbddzixa5A>zwV-e^;5pBni$>_eMOlxD**nROZ# z&*n^Dn#IuJpioTVu>)5V=j zd*)$*puGO-u97u^UN2u>xL3W(z=1>A$BsjilatSI@sr8Cw{|QSZC96AHe=)Y%%8#NSmMXTNXQ zZDFt==W{{3^)tr)yL(h~za(C9S5ls(lJG3?@S=7dx$qs^zfO?*FpKM@)p60VL^tD8 zpB~=s`fsdbYuH!3XW`Vm2{T+2yi|)T9=MtFHFGGcx%>O*OnW({berEyK6@SmC#xNe zQ^Z%iPE>7ZGka$)%K3xQ?xv-?jL!tVqCJLv9u9NOOq3ZtQnZ`fT~d_RyE#19UDKd@ zI{u>7M8j#eEXsm2k1VMQ+Sq@^fln}y(_L?6r%#?2$K(r4d<6x@;#=O=rtN4rIpg@E zATRxT17-!^U(;>%eU-w`SEq#PENYYdkSM5O;UZEIDICA7GfAjN&RtAJky%SfTl&bU zh-Vvp^YWCm@7#ID&A3cMVqI=Yn{pTL({G)Jf4t4}Y*4r9Pj)@5sA@U+P>6_B_>R0I z!ShyRDV0Qs?)o3;c&^}|&mo(eWn86em_+Uz5D|Ho=6{~ETaIyQ$BQ4HA}PB0Ja-kn zq>egH$nH!|mfJneQtV>W>nY5fN>?L2V>cWx`lDU3d2^ay>8{{yjK!R6OwU+ye{O1f zcp&4ka?9i?T~mDD@pAOd@ccIA)sn1jJv9lJrfWYGKm9XtQQf`Q^Zylbo_u98L5V*l z#bmkAR@VuM+*J*YhtJ%az-~2pvb#i%t^Wua9M1BU#9BNy^%Au8;Zy9p-1m|3d zd7sT{x}_gZ3ZCVzDPn#=>uQdbV*jI%X<7+u&N~=KU0{82Z1dNHJm!lwaLK;n*}Q~x zZHQ6yu3nAPJq!Oba0oT>MNIhL5R|FHF1TbeUs}l2Ao(kED)!{@xY)E^e)={=$x932Y(m&rH|wSsoGNGgN8_oUG-$mg~^1ZpT?Q*H_7D zMuye?^jfzl$Bs4eWG4!qec&=3gc`YS?!r8!#w?L>Rfepa#~vW&hsitSlFiW z=dG|wSzqeYqP5m_r>$;Ox>erknQby_vC#k86MlscSIEBEF>}Jrk8V~i*JGW;t>VJ8 zFU$HFFuPAEkM}R0)I3ScZbqik0Ua%u-k>k-OKm5s>HKIGThp?%EyCk+;)5;It=hK8 zCp_Subz%MQZCc*48BQM3SsqKwzo_hSbK>3;*RW1KHp_To)xlM57whF5o1)lP_^4Y6 z``hS>idsD4Gh}#w?6B~=_cwo}MwBw| zI8ZJez0LKQrRv8fn->Rr`tG$e`ec0G$q>exF^5_7(aQgeLews>7yoqHbu^nne1RZe z{GOx>iXU3cFEH|$NZxwkzPI9D}JGdPv`+(DRi83&i$N>1C1#+8@z zIJnL|=veSZRSFs9IXNwucpr_W81b)knN7F^7%8KH@$^Q zw;o>MBCIJ~&1^sEeZmdh@JmNprY!2TFPV|-dpcpq&&PR7%I|%izu$`|;xL0;#o}cP z+-qNj?ytJG{h!wT7{#@pHa{xZcl+!1<9k0!eYjYVpe}RtbnS;$`%MKj z|Mz`+{hz1y^}nv)|JP}gxa;+5KEs9u{#%|ei=41`gP`W*S<)j4bvGrjb0zPbDOE6gXtxAlZdtB+=s$u3C-3A*vcHZ z*nTwHHXMAmy3v4xS?@zz^Z`fR9bIfS4p*`l--~QuujuDGazG`->3TPVxyG)Cj~!NK z98y1``mfMQ&}ZYy8%-s*n@ge%i=!LtEseYuIx~5<#_G&{%U{zOT zigX^2dv(OIDHePJH;y!joM=?>Xw2cTPvOjASbpoXl(Yh)jKuc45gT1v`dpWA$bD$F zzri$@*-oK{!G1!2TZ3}u4Q5RXwr@WiGd{HHRy5~p$gz90WNUP)bF5>PI62AYWULE& z+yMb~3GG?`D~{?eXw`ktYP;bm>j976CmwU3c&dKzoZZqEeWNME`q-*H4w4sL4qX<~ zi=3d`DDXXLp4dr&nC2Pab6_V5dkT83Il?V@I_32YFB{X$D}v4$?(&S2qJ)K%I)$1N zC#Yr$B_s=IF6{8q*`~8{t8URxJl8$=Sdo8nY(!J^H1a5y^1FlAm4YQ22@q zSr>$b6`Wo~oXb{h`=Bw8BO>63f#zMCz^(@6_#MpG3eL&wJ@7(jeFoR+R~H4}>|7P} zcpk?h&JTf1UeRh%T5j52^E)EscTAR_{A1Pc!t;MQ53;T}^51ebqms?LTmD8%+D@x1 z){o)*udH*UQ9!@5U2@Y2n+v6gpx7}!HkTLln5ZHBtk#DM4nnI)2iL<;O z{68eNgruBX9dVA=fYmx7(7ZL+^8Z~4*Qs3zN5m3#Xv;ng`SJLo`|5KZN(Nq4Gt&Q9 z`~LEqaAQ}1QK(PU6>r<6AyG>s9_#On=FC#jURmKEt29G(?u__X7fnmg=*TQ@y|c{M z;IhL(HYb%Xqc#2KdHAQ~G#JgeTwEyj{z6do1y+%V*P6~;m}J1jchpy>frZ!fQ0~)f z3K5*%u7P}0-J^TL)-1T@ReF8p4hGEzwtH``)aKeVRqaX^HkhTcYVoJ}OJ=QFfBVY1 zid8F==C8D3wBS6U_|`gV?$&jyF2yYEj6HkR=Sk46PnQx{gOg$#EWu1E~5^l7y$bzob;^stb@{{N1)t5=R(pX0#!=0etrmSl~-d3)JT zCtbg{CR}W7Wc!ZDs@l+53M#x$udh+H7f`wR+Kajz%vKC-O)|byQ#_~VNP7HeyCdRx@okLn)w5Np zSC(%*dZM@KS(wJ|5|sow+r<`}V&}-l`6r41#6}*>dsB+dlr!ZS=A6naUaV=gi8# zF@{+k_iY)M=SEyP7JB5kZIJ(kzUUd(FR}#Awqbj}!DZoPJL4lEu_|3!GuGv7We+w< zFwDGlJ@wqIyA1z$+5fBF;_MUjFL2rV>#o2uyQRri%XhbUUGds~SjBJCuCN$}>?c<1 zH*2pHu-=rsXN|M9}%Ek2Nj1Jpl1F^?4s*UnL7+)UlH~QDuBKz2^>@nyhlWC7F zmp!)H_SpK^W1DM_ZPz)!oDg7l@3HQ^{r`U3pSh#P_~d-^t@)*+0yl_l&LWksE$Yjz4&uu1Fsgn!g=c9ar1ocrR;r`_G?2&QQ6+&Wu3wY8ch;XyAsmNpCy&X?pckU9GgJ8Y-)q1K&Dq{JMb?g2E7!f^c)=_l$C&VAt z%fWfC8Y|wM`PXqaFX#NaF76YrR>rkRzl~df5)*kcUm6(3YZQ%lu+AnT0 z``lJAtZy@Lm%hhYn&RI0BdUU>#plTJwiU;{cOCCL;XZf8k-D5?zqs!3#Gh>ziF7m! z+m>;nUFSlt-G!xc^Xxvn`xfz3_eWDK!!hLztUd=AMGHQfM1B-|-@-P7DMyt{&*S6w zTdm#`nqmc7^*6L0`p_V~{-cU`k&=0l@q#C@5uP&J3s)}r)RvJOY$2$ygITm(&|HIO z^0wBgQ{FKpPmtnxDp&qm-l16h+YDic;)QFIEuXS_UO$^ag>lZ?$^Z3BFPBw%z5G7m`_GB;jUno`o9#Y^ zO{rYeP_nc?b6I?)+yC#g_E%azPjhc9IU2Un_W2Kk{}ulXuGoCKT+$$x{`2t^llFxl zre*D%Hb-q=?DgqhCG%d!ME{vN>Gc|?w{LFoWzOon8L~(Gyw%C`{fYBG`<&mIdV1=^ zBiesGcdeKFxyI$!l;6Lv9QorT*Y)oF;lECdsuvEc7A|djbC505|G=(WZJ*|{KfP%G z=~iEp(1uojkE)e3UTah|xKC}cE2zD=oa0je-<#W;Z}Io66E88g_Y0%j@2ZYi=1cn}5ySUi>8d-(3F^9s5rY^Eoa({}+Dt$G86*a(PlqmhZo^ z)ID!ySxVHil(Tj3Z1p|v*uHk(|NLot-h=6N|90>-Txd%<$ixGw6Kp~T_k98LbI|l zx6%d0F9t`JXt3Cd^q%vA~t~*={8p z(k{BsGONFo=v~mJp`;&bl<;$*%Kd$E+Yc!Jo^VhuONC2Vg~$IXlfZj3-g}4h)_ZWy z%hTj6j(p1OzuT^Uo9ed{`kQ!`-6^^#S(0Hb?8Evfv1>AWw4LL%zE8LMTI}YBZT>Gd zx4QhjKhKUSY7tH*1s4`^_H9TNQEHZ4X4kzdaKe_%D?Q>qAHHN76dgOA-_2uhXZXG8 zo@?0tecHdjJy{+s|3CF!+2?B)mM;J5W+?xGfk#karTE3#DZFh`&AbJP-HMJ!CbZR= zcbZ33f8UwV-!9)&(b6cdyJBJOy{GCoipqY7UgUe(ad-xE-4f>0OllRu=NuFbContD zwfW*?^>{)klgTZg>x(9N8?99Es(4u%?!&W-HIO-lVWzW6%EOYW(Nor#yiVrxqoWs_bqCO<0QC*DLm+zYVhQK zCzcrr|9PJn^)H=%ZgXc+Ph&%`!9-uPNvXTughsnQEEQ^AwQARvh2<;Oom$0QTVixv zZjpzfQr;!O=hAC7))~yv-1D<+&bo^;KfYcy#dUg$i@454?g>0QW=XZZ7Cpjh(4^=c z)bwUN+7e7S+a=H^#rH=f1jB%6r5TZ1^PIy8eed1zfzo3x~pJ$c-o7T z>Kz`cnHrAG+e(dN{4eIJ4dTo)lbu

    T58Pd~2Kbz<4Z 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⪻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 ;; Url: https://github.com/alphapapa/org-ql +;; Package-Requires: ((transient)) ;;; Commentary: @@ -69,7 +70,8 @@ down a chain of function calls would be awkward.") (defvar org-ql-view-map (let ((map (copy-keymap org-agenda-mode-map))) - (define-key map "g" #'org-ql-view-refresh) + (define-key map "r" #'org-ql-view-refresh) + (define-key map "v" #'org-ql-view-dispatch) (define-key map (kbd "C-x C-s") #'org-ql-view-save) map) "Keymap for `org-ql-view', `org-ql-search', and `org-ql-views' views. @@ -334,14 +336,26 @@ update search arguments." (defun org-ql-view-save () "Save current `org-ql-search' buffer to `org-ql-views'." (interactive) - (let* ((name (read-string "Save view as: ")) + (let* ((name (read-string "Save view as: " org-ql-view-title)) (plist (list :buffers-files org-ql-view-buffers-files :query org-ql-view-query :sort org-ql-view-sort :narrow org-ql-view-narrow :super-groups org-ql-view-super-groups :title name))) - (setf (map-elt org-ql-views name nil #'equal) plist) + (when (or (not (map-elt org-ql-views name nil #'equal)) + (yes-or-no-p (format "Overwrite view \"%s\"?" name))) + (setf (map-elt org-ql-views name nil #'equal) plist) + (customize-set-variable 'org-ql-views org-ql-views) + (customize-mark-to-save 'org-ql-views)))) + +(defun org-ql-view-delete () + "Delete current view (with confirmation)." + (interactive) + (when (yes-or-no-p (format "Delete view \"%s\"?" org-ql-view-title)) + (setf org-ql-views + (--remove (equal (car it) org-ql-view-title) + org-ql-views)) (customize-set-variable 'org-ql-views org-ql-views) (customize-mark-to-save 'org-ql-views))) @@ -419,7 +433,7 @@ subsequent refreshing of the buffer: `org-ql-view-buffers-files', "Return `header-line-format' for BUFFERS-FILES and QUERY. If TITLE, prepend it to the header." (let* ((title (if title - (concat (propertize "View:" 'face 'org-agenda-structure) + (concat (propertize "View:" 'face 'transient-argument) title " ") "")) (query-formatted (org-ql-view--format-query query)) @@ -436,9 +450,9 @@ If TITLE, prepend it to the header." (s-truncate available-width)) 'help-echo buffers-files-formatted))) (concat title - (propertize "Query:" 'face 'org-agenda-structure) + (propertize "Query:" 'face 'transient-argument) query-propertized " " - (propertize "In:" 'face 'org-agenda-structure) + (propertize "In:" 'face 'transient-argument) buffers-files-formatted))) (defun org-ql-view--format-query (query) @@ -484,6 +498,128 @@ dates in the past, and negative for dates in the future." (format "in %sd" (* -1 difference))) (t "today"))) +;;;; Transient + +;; This section uses `transient' to allow the user to easily modify +;; and refresh views. + +;; NOTE: I don't really know what I'm doing here. Even though the +;; Transient manual is written very well, not everything is covered in +;; it, so I'm having to try to imitate examples from `magit-transient'. + +(require 'transient) + +(defclass org-ql-view--variable (transient-variable) + ;; FIXME: We don't need :scope, but maybe a slot has to be defined. + ((scope :initarg :scope))) + +(cl-defmethod transient-infix-set ((obj org-ql-view--variable) value) + "Set Org QL View variable defined by OBJ to VALUE." + (let ((variable (oref obj variable))) + (oset obj value value) + (set (make-local-variable (oref obj variable)) value) + (unless (or value transient--prefix) + (message "Unset %s" variable)))) + +(define-transient-command org-ql-view-dispatch () + "Show Org QL View dispatcher." + [["Edit" + ("t" org-ql-view--transient-title) + ("q" org-ql-view--transient-query) + ("i" org-ql-view--transient-in) + ("s" org-ql-view--transient-sort) + ("g" org-ql-view--transient-super-groups)]] + [["View" + ("r" "Refresh" org-ql-view-refresh) + ("v" "Select" org-ql-view)] + ["" + ("C-s" "Save" org-ql-view-save) + ("C-k" "Delete" org-ql-view-delete)]]) + +(defun org-ql-view--format-transient-key-value (key value) + "Return KEY and VALUE formatted for display in Transient." + ;; `window-width' minus 15 is about right. I think there's no way + ;; to determine it automatically, because we can't know which column + ;; Transient is starting at. + (let ((max-width (- (window-width) 15))) + (format "%s: %s" (propertize key 'face 'transient-argument) + (s-truncate max-width (format "%s" value))))) + +(defun org-ql-view--format-transient-lisp-argument (key value) + "Return KEY and VALUE (a Lisp object) formatted for display in Transient." + ;; `window-width' minus 15 is about right. I think there's no way + ;; to determine it automatically, because we can't know which column + ;; Transient is starting at. + (s-truncate (- (window-width) 15) + (concat (propertize key 'face 'transient-argument) ": " + (->> value + org-ql-view--format-query + (org-ql-view--font-lock-string 'emacs-lisp-mode))))) + +(define-infix-command org-ql-view--transient-title () + ;; TODO: Add an asterisk or something when the view has been modified but not saved. + :description (lambda () (org-ql-view--format-transient-key-value "Title" org-ql-view-title)) + :class 'org-ql-view--variable + :argument "" + :variable 'org-ql-view-title + :prompt "Title: " + :reader (lambda (prompt _initial-input history) + ;; FIXME: Figure out how to integrate initial-input. + (read-string prompt (when org-ql-view-title + (format "%s" org-ql-view-title)) + history))) + +(define-infix-command org-ql-view--transient-query () + :description (lambda () (org-ql-view--format-transient-lisp-argument "Query" org-ql-view-query)) + :class 'org-ql-view--variable + :argument "" + :variable 'org-ql-view-query + :prompt "Query: " + :reader (lambda (prompt _initial-input history) + ;; FIXME: Figure out how to integrate initial-input. + (let ((query (read-string prompt (when org-ql-view-query + (format "%S" org-ql-view-query)) + history))) + (if (or (string-prefix-p "(" query) + (string-prefix-p "\"" query)) + ;; Read sexp query. + (read query) + ;; Parse non-sexp query into sexp query. + (org-ql--plain-query query))))) + +(define-infix-command org-ql-view--transient-in () + :description (lambda () (org-ql-view--format-transient-lisp-argument "In buffers/files" org-ql-view-buffers-files)) + :class 'org-ql-view--variable + :argument "" + :variable 'org-ql-view-buffers-files + :prompt "Buffers/files: " + :reader (lambda (_prompt _initial-input _history) + ;; FIXME: Figure out how to integrate initial-input and history. + (org-ql-view--complete-buffers-files))) + +(define-infix-command org-ql-view--transient-super-groups () + :description (lambda () + (org-ql-view--format-transient-lisp-argument "Group by" org-ql-view-super-groups)) + :class 'org-ql-view--variable + :argument "" + :variable 'org-ql-view-super-groups + :prompt "Group by: " + :reader (lambda (_prompt _initial-input _history) + ;; FIXME: Figure out how to integrate initial-input and history. + (org-ql-view--complete-super-groups))) + +(define-infix-command org-ql-view--transient-sort () + :description + (lambda () + (org-ql-view--format-transient-lisp-argument "Sort by" (or org-ql-view-sort 'buffer-order))) + :class 'org-ql-view--variable + :argument "" + :variable 'org-ql-view-sort + :prompt "Sort: " + :reader (lambda (_prompt _initial-input _history) + ;; FIXME: Figure out how to integrate initial-input and history. + (org-ql-view--complete-sort))) + ;;;; Faces/properties (defun org-ql-view--format-element (element) @@ -671,6 +807,65 @@ property." (face (org-get-todo-face keyword))) (org-add-props keyword nil 'face face))) +;;;;; Completion + +(defun org-ql-view--complete-buffers-files () + "Return value for `org-ql-view-buffers-files' using completion." + (if (and org-ql-view-buffers-files + (bufferp org-ql-view-buffers-files)) + ;; Buffers can't be input by name, so if the default value is a buffer, just use it. + ;; TODO: Find a way to fix this. + org-ql-view-buffers-files + (pcase-exhaustive (completing-read "Buffers/Files: " + (list 'buffer 'agenda 'directory 'all) + nil nil (when org-ql-view-buffers-files + (let ((print-length nil)) + (prin1-to-string (cons 'list org-ql-view-buffers-files))))) + ((or "" "buffer") (current-buffer)) + ("agenda" (org-agenda-files)) + ("all" (--select (equal (buffer-local-value 'major-mode it) 'org-mode) + (buffer-list))) + ("directory" (org-ql-search-directories-files)) + ((and form (guard (rx bos "("))) (-flatten (eval (read form)))) + (else (s-split (rx (1+ space)) else))))) + +(defun org-ql-view--complete-super-groups () + "Return value for `org-ql-view-super-groups' using completion." + (when (bound-and-true-p org-super-agenda-auto-selector-keywords) + (let ((keywords (cl-loop for type in org-super-agenda-auto-selector-keywords + collect (substring (symbol-name type) 6)))) + (pcase (completing-read "Group by: " + (append (list "Don't group" + "Global super-groups") + keywords) + nil nil (when org-ql-view-super-groups + (format "%S" org-ql-view-super-groups))) + ("Global super-groups" org-super-agenda-groups) + ((or "" "Don't group") nil) + ((and keyword (guard (member keyword keywords))) + (list (list (intern (concat ":auto-" keyword))))) + (else (read else)))))) + +(defun org-ql-view--complete-sort () + "Return value for `org-ql-view-sort' using completion." + (let ((input (->> (completing-read-multiple "Sort by: " + (list "buffer-order" + "date" + "deadline" + "priority" + "scheduled" + "todo") + nil nil (when org-ql-view-sort + (prin1-to-string org-ql-view-sort))) + (--remove (equal "buffer-order" it))))) + (pcase input + ('nil nil) + ((and (pred listp) sort) + ;; Multiple sorters. + (mapcar #'intern sort)) + (sort ;; One sorter. + (intern sort))))) + ;;;; Footer (provide 'org-ql-view) diff --git a/org-ql.info b/org-ql.info index b0e6fad..2f9951d 100644 --- a/org-ql.info +++ b/org-ql.info @@ -63,6 +63,7 @@ Functions / Macros Changelog +* 0.5-pre: 05-pre. * 0.4: 04. * 0.3.2: 032. * 0.3.1: 031. @@ -93,9 +94,7 @@ File: README.info, Node: Contents, Next: Screenshots, Prev: Top, Up: Top 1 Contents ********** - • • • - • • - • • • • • • + • • • •  File: README.info, Node: Screenshots, Next: Installation, Prev: Contents, Up: Top @@ -216,8 +215,9 @@ Interactively, with prefix, leave narrowed. ‘priority’. *Bindings:* Keys bound in results buffer. - • g: Refresh results. With prefix, prompt to adjust search + • r: Refresh results. With prefix, prompt to adjust search parameters. + • v: Show transient view dispatcher (like Magit’s popups). • C-x C-s: Save query to variable ‘org-ql-views’ (accessible with command ‘org-ql-view’). @@ -251,6 +251,13 @@ File: README.info, Node: org-ql-view, Next: org-ql-view-sidebar, Prev: helm-o Choose and display a view stored in ‘org-ql-views’. + *Bindings:* Keys bound in view buffer. + • r: Refresh results. With prefix, prompt to adjust search + parameters. + • v: Show transient view dispatcher (like Magit’s popups). + • C-x C-s: Save query to variable ‘org-ql-views’ (accessible with + command ‘org-ql-view’). +  File: README.info, Node: org-ql-view-sidebar, Next: org-ql-view-recent-items, Prev: org-ql-view, Up: Commands @@ -703,6 +710,7 @@ releases. * Menu: +* 0.5-pre: 05-pre. * 0.4: 04. * 0.3.2: 032. * 0.3.1: 031. @@ -714,9 +722,22 @@ releases. * 0.1: 01.  -File: README.info, Node: 04, Next: 032, Up: Changelog +File: README.info, Node: 05-pre, Next: 04, Up: Changelog -5.1 0.4 +5.1 0.5-pre +=========== + +*Added* + • View dispatcher using transient.el (like Magit), bound to v in + search/view buffers. + + *Changed* + • Binding to refresh search/view buffers changed to r. + + +File: README.info, Node: 04, Next: 032, Prev: 05-pre, Up: Changelog + +5.2 0.4 ======= _Note:_ The next release, 0.5, may include changes which will require @@ -797,7 +818,7 @@ as they will be pushed to the master branch when ready.  File: README.info, Node: 032, Next: 031, Prev: 04, Up: Changelog -5.2 0.3.2 +5.3 0.3.2 ========= *Fixed* @@ -810,7 +831,7 @@ File: README.info, Node: 032, Next: 031, Prev: 04, Up: Changelog  File: README.info, Node: 031, Next: 03, Prev: 032, Up: Changelog -5.3 0.3.1 +5.4 0.3.1 ========= *Fixed* @@ -820,7 +841,7 @@ File: README.info, Node: 031, Next: 03, Prev: 032, Up: Changelog  File: README.info, Node: 03, Next: 023, Prev: 031, Up: Changelog -5.4 0.3 +5.5 0.3 ======= *Added* @@ -885,7 +906,7 @@ File: README.info, Node: 03, Next: 023, Prev: 031, Up: Changelog  File: README.info, Node: 023, Next: 022, Prev: 03, Up: Changelog -5.5 0.2.3 +5.6 0.2.3 ========= *Fixed* @@ -895,7 +916,7 @@ File: README.info, Node: 023, Next: 022, Prev: 03, Up: Changelog  File: README.info, Node: 022, Next: 021, Prev: 023, Up: Changelog -5.6 0.2.2 +5.7 0.2.2 ========= *Fixed* @@ -906,7 +927,7 @@ File: README.info, Node: 022, Next: 021, Prev: 023, Up: Changelog  File: README.info, Node: 021, Next: 02, Prev: 022, Up: Changelog -5.7 0.2.1 +5.8 0.2.1 ========= *Fixed* @@ -916,7 +937,7 @@ File: README.info, Node: 021, Next: 02, Prev: 022, Up: Changelog  File: README.info, Node: 02, Next: 01, Prev: 021, Up: Changelog -5.8 0.2 +5.9 0.2 ======= *Added* @@ -999,8 +1020,8 @@ File: README.info, Node: 02, Next: 01, Prev: 021, Up: Changelog  File: README.info, Node: 01, Prev: 02, Up: Changelog -5.9 0.1 -======= +5.10 0.1 +======== First tagged release. @@ -1057,40 +1078,41 @@ GPLv3  Tag Table: Node: Top225 -Node: Contents1402 -Node: Screenshots1576 -Node: Installation1694 -Node: Quelpa2332 -Node: Usage2775 -Node: Commands3124 -Node: org-ql-search3597 -Node: helm-org-ql5245 -Node: org-ql-view5657 -Node: org-ql-view-sidebar5855 -Node: org-ql-view-recent-items6211 -Node: org-ql-sparse-tree6695 -Node: Queries7495 -Node: Non-sexp query syntax8403 -Node: General predicates10110 -Node: Ancestor/descendant predicates14917 -Node: Date/time predicates16045 -Node: Functions / Macros18700 -Node: Agenda-like views18933 -Node: Listing / acting-on results20338 -Node: Changelog24940 -Node: 0425469 -Node: 03229388 -Node: 03129765 -Node: 0329960 -Node: 02332933 -Node: 02233159 -Node: 02133425 -Node: 0233622 -Node: 0137655 -Node: Notes37754 -Node: Comparison with Org Agenda searches37916 -Node: org-sidebar38788 -Node: License39067 +Node: Contents1422 +Node: Screenshots1545 +Node: Installation1663 +Node: Quelpa2301 +Node: Usage2744 +Node: Commands3093 +Node: org-ql-search3566 +Node: helm-org-ql5280 +Node: org-ql-view5692 +Node: org-ql-view-sidebar6189 +Node: org-ql-view-recent-items6545 +Node: org-ql-sparse-tree7029 +Node: Queries7829 +Node: Non-sexp query syntax8737 +Node: General predicates10444 +Node: Ancestor/descendant predicates15251 +Node: Date/time predicates16379 +Node: Functions / Macros19034 +Node: Agenda-like views19267 +Node: Listing / acting-on results20672 +Node: Changelog25274 +Node: 05-pre25823 +Node: 0426090 +Node: 03230024 +Node: 03130401 +Node: 0330596 +Node: 02333569 +Node: 02233795 +Node: 02134061 +Node: 0234258 +Node: 0138291 +Node: Notes38392 +Node: Comparison with Org Agenda searches38554 +Node: org-sidebar39426 +Node: License39705  End Tag Table From b601a1e7779253f2d9cf9ce3f7640f57259a4767 Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Sun, 2 Feb 2020 03:28:58 -0600 Subject: [PATCH 157/615] Update: (org-ql-view-save) Require map 2.0 and use map-elt I upgrade to map.el 2.0 (from ELPA) locally, which deprecates this TESTFN argument. --- 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 312686c..6cd4bce 100644 --- a/org-ql-view.el +++ b/org-ql-view.el @@ -2,7 +2,7 @@ ;; Author: Adam Porter ;; Url: https://github.com/alphapapa/org-ql -;; Package-Requires: ((transient)) +;; Package-Requires: ((transient) (map "2.0")) ;;; Commentary: @@ -343,7 +343,7 @@ update search arguments." :narrow org-ql-view-narrow :super-groups org-ql-view-super-groups :title name))) - (when (or (not (map-elt org-ql-views name nil #'equal)) + (when (or (not (map-elt org-ql-views name nil)) (yes-or-no-p (format "Overwrite view \"%s\"?" name))) (setf (map-elt org-ql-views name nil #'equal) plist) (customize-set-variable 'org-ql-views org-ql-views) From 9580c0ef670ba9768c1d9e0c0f153d96268e6f68 Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Mon, 10 Feb 2020 09:09:54 -0600 Subject: [PATCH 158/615] Change: (org-ql-search) Use new completion functions --- org-ql-search.el | 45 +++------------------------------------------ 1 file changed, 3 insertions(+), 42 deletions(-) diff --git a/org-ql-search.el b/org-ql-search.el index d97d59e..10d3fcf 100644 --- a/org-ql-search.el +++ b/org-ql-search.el @@ -139,51 +139,12 @@ display the results. By default, the value of `org-ql-view-buffer' is used, and a new buffer is created if necessary." (declare (indent defun)) - (interactive (list (if (and org-ql-view-buffers-files - (bufferp org-ql-view-buffers-files)) - ;; Buffers can't be input by name, so if the default value is a buffer, just use it. - ;; TODO: Find a way to fix this. - org-ql-view-buffers-files - (pcase-exhaustive (completing-read "Buffers/Files: " - (list 'buffer 'agenda 'directory 'all) - nil nil (when org-ql-view-buffers-files - (let ((print-length nil)) - (prin1-to-string (cons 'list org-ql-view-buffers-files))))) - ((or "" "buffer") (current-buffer)) - ("agenda" (org-agenda-files)) - ("all" (--select (equal (buffer-local-value 'major-mode it) 'org-mode) - (buffer-list))) - ("directory" (org-ql-search-directories-files)) - ((and form (guard (rx bos "("))) (-flatten (eval (read form)))) - (else (s-split (rx (1+ space)) else)))) + (interactive (list (org-ql-view--complete-buffers-files) (read-string "Query: " (when org-ql-view-query (format "%S" org-ql-view-query))) :narrow (or org-ql-view-narrow (eq current-prefix-arg '(4))) - :super-groups (when (bound-and-true-p org-super-agenda-auto-selector-keywords) - (let ((keywords (cl-loop for type in org-super-agenda-auto-selector-keywords - collect (substring (symbol-name type) 6)))) - (pcase (completing-read "Group by: " - (append (list "Don't group" - "Global super-groups") - keywords) - nil nil (when org-ql-view-super-groups - (format "%S" org-ql-view-super-groups))) - ("Global super-groups" org-super-agenda-groups) - ((or "" "Don't group") nil) - ((and keyword (guard (member keyword keywords))) - (list (list (intern (concat ":auto-" keyword))))) - (else (read else))))) - :sort (pcase (completing-read "Sort by: " - (list "Don't sort" - "date" - "deadline" - "priority" - "scheduled" - "todo") - nil t (when org-ql-view-sort - (prin1-to-string org-ql-view-sort))) - ((or "" "Don't sort") nil) - (sort (intern sort))))) + :super-groups (org-ql-view--complete-super-groups) + :sort (org-ql-view--complete-sort))) ;; NOTE: Using `with-temp-buffer' is a hack to work around the fact that `make-local-variable' ;; does not work reliably from inside a `let' form when the target buffer is current on entry ;; to or exit from the `let', even though `make-local-variable' is actually done in From d8dec50f5cbf40dc7f5c0a2ee78d4a9e0a286a9c Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Mon, 10 Feb 2020 09:13:30 -0600 Subject: [PATCH 159/615] Meta: (.gitignore) Add .sandbox --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index 28f3b16..784a564 100644 --- a/.gitignore +++ b/.gitignore @@ -3,3 +3,4 @@ /scratch.el .cask /sandbox/ +/.sandbox/ From 87b483e4e406405abc08dec30eac02c7228cad11 Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Tue, 11 Feb 2020 06:54:19 -0600 Subject: [PATCH 160/615] Fix: Require transient in org-ql.el I guess package-build only finds dependencies in the file named after the package. --- org-ql.el | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/org-ql.el b/org-ql.el index c41abd3..ce574aa 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") (org "9.0") (org-super-agenda "1.2-pre") (ov "1.0.6") (peg "0.6") (s "1.12.0") (ts "0.2-pre")) +;; Package-Requires: ((emacs "26.1") (dash "2.13") (dash-functional "1.2.0") (f "0.17.2") (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")) ;; Keywords: hypermedia, outlines, Org, agenda ;;; Commentary: From 048de35b07d8d29fc6fa49c34d7ba1fd1c912011 Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Thu, 13 Feb 2020 00:45:01 -0600 Subject: [PATCH 161/615] Notes: Add idea on partial property value searches --- notes.org | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/notes.org b/notes.org index d082ce3..b5ae904 100644 --- a/notes.org +++ b/notes.org @@ -602,6 +602,17 @@ This works okay (except the priority accessor needs to be fixed, because Org pri e.g. something like [[https://200ok.ch/posts/2020-02-09_creating_org_mode_sparse_trees_in_emacs_and_organice.html][Organice has now]]. +[2020-02-13 Thu 00:42] Something is needed to help search property values by partial matches. For example: + +#+BEGIN_SRC org + ,* [[https://github.com/fniessen/org-html-themes][org-html-themes: Framework including two themes, Bigblow and ReadTheOrg]] + :PROPERTIES: + :author: Fabrice Niessen + :END: +#+END_SRC + +Searching that with a query like =property:author=Fabrice= returns nothing; the full value must be used, like ~property:author="Fabrice Niessen"~. It should be possible to do something like ~property:author=~Fabrice~ to search for partial matches. + ** MAYBE Overlay-based caching inspired by org-num-mode [2019-12-30 Mon 22:42] Newer versions of Org have =org-num-mode=, which uses =font-lock= and =after-change-functions= to update overlays in the buffer with outline numbering. Maybe a similar approach could be used to cache arbitrary values for headings in a buffer without having to discard the whole buffer's cache when the buffer changes. From be696ff07568bde46988855bd8e94f6bcb092812 Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Sun, 23 Feb 2020 22:59:49 -0600 Subject: [PATCH 162/615] Meta: Update makem.sh, etc. --- .github/workflows/test.yml | 14 ++++---- Makefile | 2 +- makem.sh | 68 +++++++++++++++----------------------- 3 files changed, 35 insertions(+), 49 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 6930896..c3ec60f 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -28,8 +28,8 @@ on: pull_request: push: # Comment out this section to enable testing of all branches. - # branches: - # - master + branches: + - master jobs: build: @@ -51,18 +51,20 @@ jobs: run: | SANDBOX_DIR=$(mktemp -d) || exit 1 echo ::set-env name=SANDBOX_DIR::$SANDBOX_DIR - ./makem.sh -vv --sandbox-dir=$SANDBOX_DIR --install-deps --install-linters + ./makem.sh -vv --sandbox=$SANDBOX_DIR --install-deps --install-linters # The "all" rule is not used, because it treats compilation warnings # as failures, so linting and testing are run as separate steps. - name: Lint - continue-on-error: true - run: ./makem.sh -vv --sandbox-dir=$SANDBOX_DIR lint + # NOTE: Uncomment this line to treat lint failures as passing + # so the job doesn't show failure. + # continue-on-error: true + run: ./makem.sh -vv --sandbox=$SANDBOX_DIR lint - name: Test if: always() # Run test even if linting fails. - run: ./makem.sh -vv --sandbox-dir=$SANDBOX_DIR test + run: ./makem.sh -vv --sandbox=$SANDBOX_DIR test # Local Variables: # eval: (outline-minor-mode) diff --git a/Makefile b/Makefile index ce9cdd8..17abfe0 100644 --- a/Makefile +++ b/Makefile @@ -22,7 +22,7 @@ ifdef sandbox ifeq ($(sandbox), t) SANDBOX = --sandbox else - SANDBOX = --sandbox $(sandbox) + SANDBOX = --sandbox=$(sandbox) endif endif diff --git a/makem.sh b/makem.sh index cab8458..3fddb78 100755 --- a/makem.sh +++ b/makem.sh @@ -90,14 +90,14 @@ Options: -C, --no-compile Don't compile files automatically. Sandbox options: - -s, --sandbox [DIR] Run Emacs with an empty config in a sandbox DIR. - If DIR does not exist, make it. If DIR is not - specified, use a temporary sandbox directory and - delete it afterward, implying --install-deps and - --install-linters. - --install-deps Automatically install package dependencies. - --install-linters Automatically install linters. - -i, --install PACKAGE Install PACKAGE before running rules. + -s[DIR], --sandbox[=DIR] Run Emacs with an empty config in a sandbox DIR. + If DIR does not exist, make it. If DIR is not + specified, use a temporary sandbox directory and + delete it afterward, implying --install-deps and + --install-linters. + --install-deps Automatically install package dependencies. + --install-linters Automatically install linters. + -i, --install PACKAGE Install PACKAGE before running rules. An Emacs version-specific subdirectory is automatically made inside the sandbox, allowing testing with multiple Emacs versions. When @@ -400,7 +400,7 @@ function dependencies { # Echo list of package dependencies. # Search package headers. - egrep '^;; Package-Requires: ' $(files-project-feature) $(files-project-test) \ + egrep -i '^;; Package-Requires: ' $(files-project-feature) $(files-project-test) \ | egrep -o '\([^([:space:]][^)]*\)' \ | egrep -o '^[^[:space:])]+' \ | sed -r 's/\(//g' \ @@ -423,10 +423,12 @@ function dependencies { # ** Sandbox function sandbox { - # Initialize sandbox. + verbose 2 "Initializing sandbox..." # *** Sandbox arguments + # MAYBE: Optionally use branch-specific sandbox? + # Check or make user-emacs-directory. if [[ $sandbox_dir ]] then @@ -451,15 +453,12 @@ function sandbox { # Make argument to load init file if it exists. init_file="$sandbox_dir/init.el" - [[ -r $init_file ]] \ - && local args_load_init_file=(--load "$init_file") # Set sandbox args. This is a global variable used by the run_emacs function. args_sandbox=( --title "makem.sh: $(basename $(pwd)) (sandbox: $sandbox_dir)" --eval "(setq user-emacs-directory (file-truename \"$sandbox_dir\"))" --eval "(setq user-init-file (file-truename \"$init_file\"))" - "${args_load_init_file[@]}" ) # Add package-install arguments for dependencies. @@ -488,15 +487,16 @@ function sandbox { if [[ ${args_sandbox_package_install[@]} ]] then # Initialize the sandbox (installs packages once rather than for every rule). - debug "Initializing sandbox..." + verbose 1 "Installing packages into sandbox..." run_emacs \ --eval "(package-refresh-contents)" \ "${args_sandbox_package_install[@]}" \ - || die "Unable to initialize sandbox." + && success "Packages installed." \ + || die "Unable to initialize sandbox." fi - debug "Sandbox initialized." + verbose 2 "Sandbox initialized." } # ** Utility @@ -684,6 +684,7 @@ function interactive { unset arg_batch run_emacs \ $(args-load-files "${files_project_feature[@]}" "${files_project_test[@]}") \ + --eval "(load user-init-file)" \ "${args_batch_interactive[@]}" arg_batch="--batch" } @@ -827,7 +828,7 @@ function test-ert { # * Defaults -test_files_regexp='^((tests?|t)/)|-test.el$|^test-' +test_files_regexp='^((tests?|t)/)|-tests?.el$|^test-' emacs_command=("emacs") errors=0 @@ -892,8 +893,8 @@ elisp_org_package_archive="(add-to-list 'package-archives '(\"org\" . \"https:// # * Args args=$(getopt -n "$0" \ - -o dhe:E:i:s:vf:CO \ - -l exclude:,emacs:,install-deps,install-linters,debug,debug-load-path,help,install:,verbose,file:,no-color,no-compile,no-org-repo,sandbox: \ + -o dhe:E:i:s::vf:CO \ + -l exclude:,emacs:,install-deps,install-linters,debug,debug-load-path,help,install:,verbose,file:,no-color,no-compile,no-org-repo,sandbox:: \ -- "$@") \ || { usage; exit 1; } eval set -- "$args" @@ -930,32 +931,15 @@ do ;; -s|--sandbox) sandbox=true - # Check whether next argument is an option, rule, or a sandbox directory. - if [[ $2 ]] && ! [[ $2 =~ ^-- ]] \ - && ! rule-p "$2" + shift + sandbox_dir="$1" + + if ! [[ $sandbox_dir ]] then - debug "Sandbox dir: $1" - shift - sandbox_dir="$1" - else debug "No sandbox dir: installing dependencies." install_deps=true - # HACK: Next argument is another option, so prepend blank arg to the - # argument list so it will be processed by next loop iteration. getopts - # doesn't allow options to have optional arguments, so we do this manually. - if [[ $2 =~ ^- ]] - then - # Next argument is an option: process it next. - new_args=("" "$@") - else - # Next argument is not an option: put it on the end. - new_arg="$2" - shift - shift - new_args=("" "$@" "$new_arg") - fi - debug "Setting new args: ${new_args[@]}" - set -- "${new_args[@]}" + else + debug "Sandbox dir: $1" fi ;; -v|--verbose) From 69692a4b9b4f0772fc663b24a07c64d77b071c00 Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Sun, 23 Feb 2020 23:00:41 -0600 Subject: [PATCH 163/615] Meta: (.gitignore) Ignore scratch.org --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index 784a564..ad6347b 100644 --- a/.gitignore +++ b/.gitignore @@ -4,3 +4,4 @@ .cask /sandbox/ /.sandbox/ +/scratch.org From 32c68d7f249e1780a7e1a0b1155db3f36d535e1c Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Sun, 23 Feb 2020 23:22:11 -0600 Subject: [PATCH 164/615] Fix: (--pre-process-query) level predicate with args in plain query Fixes #96. Thanks to Akira Komamura (@akirak) for reporting. Released as 0.4.1. --- README.org | 5 +++ org-ql.el | 12 ++++- org-ql.info | 103 ++++++++++++++++++++++++------------------- tests/test-org-ql.el | 10 ++++- 4 files changed, 83 insertions(+), 47 deletions(-) diff --git a/README.org b/README.org index eabd92a..e7c43e2 100644 --- a/README.org +++ b/README.org @@ -398,6 +398,11 @@ Expands into a call to ~org-ql-select~ with the same arguments. For convenience /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.4.1 + +*Fixed* ++ =level= predicate used with arguments in plain queries. (Thanks to [[https://github.com/akirak][Akira Komamura]] for reporting.) + ** 0.4 /Note:/ The next release, 0.5, may include changes which will require minor updates to written queries (e.g. a few predicates may be renamed). Users who wish to avoid those changes happening unexpectedly in their configs should avoid upgrading =org-ql= beyond 0.4 automatically, as they will be pushed to the =master= branch when ready. diff --git a/org-ql.el b/org-ql.el index 2eec565..6008e8b 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.4 +;; Version: 0.4.1 ;; Package-Requires: ((emacs "26.1") (dash "2.13") (dash-functional "1.2.0") (f "0.17.2") (org "9.0") (org-super-agenda "1.2-pre") (ov "1.0.6") (peg "0.6") (s "1.12.0") (ts "0.2-pre")) ;; Keywords: hypermedia, outlines, Org, agenda @@ -583,6 +583,16 @@ Replaces bare strings with (regexp) selectors, and appropriate ;; "h" alias. `(heading ,@args)) + ;; Outline level. + (`(level . ,args) + ;; Arguments could be given as strings (e.g. from a non-Lisp query). + `(level ,@(--map (pcase it + ((or "<" "<=" ">" ">=" "=") + (intern it)) + ((pred stringp) (string-to-number it)) + (_ it)) + args))) + ;; Regexps. (`(r . ,args) ;; "r" alias. diff --git a/org-ql.info b/org-ql.info index 1915891..1a6a498 100644 --- a/org-ql.info +++ b/org-ql.info @@ -63,6 +63,7 @@ Functions / Macros Changelog +* 0.4.1: 041. * 0.4: 04. * 0.3.2: 032. * 0.3.1: 031. @@ -703,6 +704,7 @@ releases. * Menu: +* 0.4.1: 041. * 0.4: 04. * 0.3.2: 032. * 0.3.1: 031. @@ -714,9 +716,19 @@ releases. * 0.1: 01.  -File: README.info, Node: 04, Next: 032, Up: Changelog +File: README.info, Node: 041, Next: 04, Up: Changelog -5.1 0.4 +5.1 0.4.1 +========= + +*Fixed* + • level predicate used with arguments in plain queries. (Thanks to + Akira Komamura (https://github.com/akirak) for reporting.) + + +File: README.info, Node: 04, Next: 032, Prev: 041, Up: Changelog + +5.2 0.4 ======= _Note:_ The next release, 0.5, may include changes which will require @@ -797,7 +809,7 @@ as they will be pushed to the master branch when ready.  File: README.info, Node: 032, Next: 031, Prev: 04, Up: Changelog -5.2 0.3.2 +5.3 0.3.2 ========= *Fixed* @@ -810,7 +822,7 @@ File: README.info, Node: 032, Next: 031, Prev: 04, Up: Changelog  File: README.info, Node: 031, Next: 03, Prev: 032, Up: Changelog -5.3 0.3.1 +5.4 0.3.1 ========= *Fixed* @@ -820,7 +832,7 @@ File: README.info, Node: 031, Next: 03, Prev: 032, Up: Changelog  File: README.info, Node: 03, Next: 023, Prev: 031, Up: Changelog -5.4 0.3 +5.5 0.3 ======= *Added* @@ -885,7 +897,7 @@ File: README.info, Node: 03, Next: 023, Prev: 031, Up: Changelog  File: README.info, Node: 023, Next: 022, Prev: 03, Up: Changelog -5.5 0.2.3 +5.6 0.2.3 ========= *Fixed* @@ -895,7 +907,7 @@ File: README.info, Node: 023, Next: 022, Prev: 03, Up: Changelog  File: README.info, Node: 022, Next: 021, Prev: 023, Up: Changelog -5.6 0.2.2 +5.7 0.2.2 ========= *Fixed* @@ -906,7 +918,7 @@ File: README.info, Node: 022, Next: 021, Prev: 023, Up: Changelog  File: README.info, Node: 021, Next: 02, Prev: 022, Up: Changelog -5.7 0.2.1 +5.8 0.2.1 ========= *Fixed* @@ -916,7 +928,7 @@ File: README.info, Node: 021, Next: 02, Prev: 022, Up: Changelog  File: README.info, Node: 02, Next: 01, Prev: 021, Up: Changelog -5.8 0.2 +5.9 0.2 ======= *Added* @@ -999,8 +1011,8 @@ File: README.info, Node: 02, Next: 01, Prev: 021, Up: Changelog  File: README.info, Node: 01, Prev: 02, Up: Changelog -5.9 0.1 -======= +5.10 0.1 +======== First tagged release. @@ -1060,40 +1072,41 @@ GPLv3  Tag Table: Node: Top225 -Node: Contents1402 -Node: Screenshots1576 -Node: Installation1694 -Node: Quelpa2332 -Node: Usage2775 -Node: Commands3124 -Node: org-ql-search3597 -Node: helm-org-ql5245 -Node: org-ql-view5657 -Node: org-ql-view-sidebar5855 -Node: org-ql-view-recent-items6211 -Node: org-ql-sparse-tree6695 -Node: Queries7495 -Node: Non-sexp query syntax8403 -Node: General predicates10110 -Node: Ancestor/descendant predicates14917 -Node: Date/time predicates16045 -Node: Functions / Macros18700 -Node: Agenda-like views18933 -Node: Listing / acting-on results20338 -Node: Changelog24940 -Node: 0425469 -Node: 03229388 -Node: 03129765 -Node: 0329960 -Node: 02332933 -Node: 02233159 -Node: 02133425 -Node: 0233622 -Node: 0137655 -Node: Notes37754 -Node: Comparison with Org Agenda searches37916 -Node: org-sidebar38787 -Node: License39066 +Node: Contents1417 +Node: Screenshots1591 +Node: Installation1709 +Node: Quelpa2347 +Node: Usage2790 +Node: Commands3139 +Node: org-ql-search3612 +Node: helm-org-ql5260 +Node: org-ql-view5672 +Node: org-ql-view-sidebar5870 +Node: org-ql-view-recent-items6226 +Node: org-ql-sparse-tree6710 +Node: Queries7510 +Node: Non-sexp query syntax8418 +Node: General predicates10125 +Node: Ancestor/descendant predicates14932 +Node: Date/time predicates16060 +Node: Functions / Macros18715 +Node: Agenda-like views18948 +Node: Listing / acting-on results20353 +Node: Changelog24955 +Node: 04125499 +Node: 0425726 +Node: 03229657 +Node: 03130034 +Node: 0330229 +Node: 02333202 +Node: 02233428 +Node: 02133694 +Node: 0233891 +Node: 0137924 +Node: Notes38025 +Node: Comparison with Org Agenda searches38187 +Node: org-sidebar39058 +Node: License39337  End Tag Table diff --git a/tests/test-org-ql.el b/tests/test-org-ql.el index 982e226..bf2340f 100644 --- a/tests/test-org-ql.el +++ b/tests/test-org-ql.el @@ -216,7 +216,15 @@ RESULTS should be a list of strings as returned by :order-by 'date)) :to-equal org-ql-test-num-headings))) - (it "Query pre-processing" + (describe "Query pre-processing" + (it "level:" + (expect (org-ql--pre-process-query '(level "1")) + :to-equal '(level 1)) + (expect (org-ql--pre-process-query '(level "1" "2")) + :to-equal '(level 1 2)) + (expect (org-ql--pre-process-query '(level ">" "1")) + :to-equal '(level > 1))) + (expect (org-ql--pre-process-query '(and "string1" "string2")) :to-equal '(and (regexp "string1") (regexp "string2"))) (expect (org-ql--pre-process-query '(or "string1" "string2")) From 9a56141f6c2ff2b8c6f92f93a218f4935b8f0335 Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Sun, 23 Feb 2020 22:58:08 -0600 Subject: [PATCH 165/615] Add: (link) predicate --- README.org | 2 + org-ql.el | 141 ++++++++++++++++++++++++++++++++++++++++++- org-ql.info | 50 ++++++++------- tests/data.org | 2 + tests/test-org-ql.el | 31 ++++++++++ 5 files changed, 204 insertions(+), 22 deletions(-) diff --git a/README.org b/README.org index d72776a..21f48fe 100644 --- a/README.org +++ b/README.org @@ -198,6 +198,7 @@ Arguments are listed next to predicate names, where applicable. + =heading (&rest regexps)= :: Return non-nil if current entry's heading matches all ~REGEXPS~ (regexp strings). - Aliases: =h=. + =level (level-or-comparator &optional level)= :: Return non-nil if current heading's outline level matches arguments. The following forms are accepted: ~(level NUMBER)~: Matches if heading level is ~NUMBER~. ~(level NUMBER NUMBER)~: Matches if heading level is equal to or between NUMBERs. ~(level COMPARATOR NUMBER)~: Matches if heading level compares to ~NUMBER~ with ~COMPARATOR~. ~COMPARATOR~ may be ~<~, ~<=~, ~>~, or ~>=~. ++ =link (&optional description-or-target &key description target regexp-p)= :: Return non-nil if current heading contains a link matching arguments. ~DESCRIPTION-OR-TARGET~ is matched against the link's description and target. Alternatively, one or both of ~DESCRIPTION~ and ~TARGET~ may be matched separately. Without arguments, return non-nil if any link is found. + =outline-path (&rest strings)= :: Return non-nil if current node's outline path matches all of ~STRINGS~. Each string may appear as a substring in any part of the node's outline path. For example, the path =Food/Fruits/Grapes= would match ~(olp "Fruit" "Grape")~. - Aliases: ~olp~. + =outline-path-segment (&rest strings)= :: Return non-nil if current node's outline path matches ~STRINGS~. Matches ~STRINGS~ as a contiguous segment of the outline path. Each string is compared as a substring. For example the path ~Food/Fruits/Grapes~ would match ~(olps "Fruit" "Grape")~ but not ~(olps "Food" "Grape")~. @@ -404,6 +405,7 @@ Expands into a call to ~org-ql-select~ with the same arguments. For convenience *Added* + View dispatcher using =transient.el= (like Magit), bound to =v= in search/view buffers. ++ Predicate =link=, which matches descriptions and targets in Org links. *Changed* + Binding to refresh search/view buffers changed to =r=. diff --git a/org-ql.el b/org-ql.el index 0af9c5f..0853659 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") (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-pre") (ov "1.0.6") (peg "0.6") (s "1.12.0") (transient "0.1") (ts "0.2-pre")) ;; Keywords: hypermedia, outlines, Org, agenda ;;; Commentary: @@ -73,6 +73,25 @@ That is, \"CLOSED:\", \"DEADLINE:\", or \"SCHEDULED:\".") Tags are stored in match group 1. Match group 2 stores the tags without the enclosing colons.") +(defconst org-ql-link-regexp + (if (bound-and-true-p org-link-bracket-re) + org-link-bracket-re + org-bracket-link-regexp) + "Regexp used to match Org bracket links. +Necessary because of changes in Org 9.something.") + +(defconst org-ql-link-description-group + (if (bound-and-true-p org-link-bracket-re) + 2 + 3) + ;; I wish Org would not introduce backward-incompatible changes like this in + ;; minor releases. It requires awkward workarounds to be maintained for years. + "Regexp match group used to extract description from Org bracket links. +Necessary because of backward-incompatible changes in Org +9.something: when `org-link-bracket-re' was added, +`org-bracket-link-regexp' was marked as an obsolete alias for it, +but the match groups were changed, so they are not compatible.") + ;;;; Variables (defvar org-ql--today nil) @@ -727,6 +746,40 @@ replace the clause with a preamble." (setq org-ql-preamble (rx-to-string `(seq bol (repeat ,num "*") " ") t)) nil) + ;; Links. Always return nil, because we + ;; shouldn't need to test the predicate. + (`(link) + (setq org-ql-preamble + ;; Match a link with a target and optionally a description. + (rx (or bol (1+ blank)) + "[[" (1+ (not (any "]"))) "]" + (optional (seq "[" (0+ (not (any "]"))) "]")) + "]" + (or eol blank))) + nil) + ;; NOTE: I would use the form "(map :regexp-p)", or at least + ;; "(map (:regexp-p regexp))" but they require map versions from + ;; ELPA. That would be fine, except that I can't automatically + ;; install those versions with makem.sh into a sandbox, because + ;; `package-install' doesn't accept a version argument. So I + ;; have to use `plist-get' here for now. Maybe when we drop + ;; support for Emacs <28... + (`(link ,(and description-or-target + (guard (not (keywordp description-or-target))))) + (setq org-ql-preamble + (org-ql--link-regexp :description-or-target + (regexp-quote description-or-target))) + nil) + (`(link . ,plist) + (setq org-ql-preamble + (org-ql--link-regexp + :description + (when (plist-get plist :description) + (regexp-quote (plist-get plist :description))) + :target (when (plist-get plist :target) + (regexp-quote (plist-get plist :target))))) + nil) + ;; Planning lines. (`(planning . ,_) (setq org-ql-preamble org-ql-planning-regexp) @@ -838,6 +891,47 @@ replace the clause with a preamble." (query (-flatten-n 1 query)))) (list :query query :preamble org-ql-preamble :preamble-case-fold preamble-case-fold)))))) +(cl-defun org-ql--link-regexp (&key description-or-target description target) + "Return a regexp matching Org links according to arguments. +Each argument is treated as a regexp (so non-regexp strings +should be quoted before being passed to this function). If +DESCRIPTION-OR-TARGET, match it in either description or target. +If DESCRIPTION, match it in the description. If TARGET, match it +in the target. If both DESCRIPTION and TARGET, match both, +respectively." + (cl-labels + ((no-desc + (match) (rx-to-string `(seq (or bol (1+ blank)) + "[[" (0+ (not (any "]"))) (regexp ,match) (0+ (not (any "]"))) + "]]"))) + (match-both + (description target) + (rx-to-string `(seq (or bol (1+ blank)) + "[[" (0+ (not (any "]"))) (regexp ,target) (0+ (not (any "]"))) + "][" (0+ (not (any "]"))) (regexp ,description) (0+ (not (any "]"))) + "]]"))) + ;; Note that these actually allow empty descriptions + ;; or targets, depending on what they are matching. + (match-desc + (match) (rx-to-string `(seq (or bol (1+ blank)) + "[[" (0+ (not (any "]"))) + "][" (0+ (not (any "]"))) (regexp ,match) (0+ (not (any "]"))) + "]]"))) + (match-target + (match) (rx-to-string `(seq (or bol (1+ blank)) + "[[" (0+ (not (any "]"))) (regexp ,match) (0+ (not (any "]"))) + "][" (0+ (not (any "]"))) + "]]")))) + (cond (description-or-target + (rx-to-string `(or (regexp ,(no-desc description-or-target)) + (regexp ,(match-desc description-or-target)) + (regexp ,(match-target description-or-target))))) + ((and description target) + (match-both description target)) + (description (match-desc description)) + (target (rx-to-string `(or (regexp ,(no-desc target)) + (regexp ,(match-target target)))))))) + (defun org-ql--format-src-block-regexp (&optional lang) "Return regexp equivalent to `org-babel-src-block-regexp' with LANG filled in." ;; I couldn't find a way to match block contents without the regexp @@ -1073,6 +1167,51 @@ COMPARATOR may be `<', `<=', `>', or `>='." ((pred symbolp) ;; Compare with function (funcall level-or-comparator outline-level level))))) +(org-ql--defpred link (&rest args) + ;; User-facing argument form: (&optional description-or-target &key description target regexp-p). + "Return non-nil if current heading contains a link matching arguments. +DESCRIPTION-OR-TARGET is matched against the link's description +and target. Alternatively, one or both of DESCRIPTION and TARGET +may be matched separately. Without arguments, return non-nil if +any link is found." + ;; NOTE: It would be preferable to avoid this manual argument parsing every time the predicate + ;; is called, but pre-processing it to a normal form gets complicated with the preamble and + ;; pre-processing, because we don't want to display a query like "(link :description-or-target + ;; "FOO")" in the view header, which would be ugly. So, since preambles are expected to be + ;; enabled nearly all of the time, in which case this function won't be called anyway, it's + ;; probably not worth rewriting code all over the place to fix this. + (let* (plist description-or-target description target regexp-p) + (if (not (keywordp (car args))) + (setf description-or-target (car args) + plist (cdr args)) + (setf plist args)) + (setf description (plist-get plist :description) + target (plist-get plist :description) + regexp-p (plist-get plist :regexp-p)) + (unless regexp-p + ;; NOTE: It would also be preferable to avoid regexp-quoting every time this predicate + ;; is called. Ideally that would be handled in the query pre-processing step. However, + ;; handling that properly, in combination with preparing the query preamble and whether + ;; REGEXP-P is enabled, is also complicated, so let's not. + (when description-or-target + (setf description-or-target (regexp-quote description-or-target))) + (when description + (setf description (regexp-quote description))) + (when target + (setf target (regexp-quote target)))) + (when (re-search-forward org-ql-link-regexp (org-entry-end-position) t) + (pcase description-or-target + ('nil (and (or (null target) + (string-match-p target (match-string 1))) + (or (null description) + (string-match-p description (match-string org-ql-link-description-group))))) + (_ (if (and description target) + (and (string-match-p target (match-string 1)) + (string-match-p description (match-string org-ql-link-description-group))) + (or (string-match-p description-or-target (match-string 1)) + (string-match-p description-or-target + (match-string org-ql-link-description-group))))))))) + (org-ql--defpred priority (&rest args) "Return non-nil if current heading has a certain priority. ARGS may be either a list of one or more priority letters as diff --git a/org-ql.info b/org-ql.info index d20b262..10b5e6e 100644 --- a/org-ql.info +++ b/org-ql.info @@ -381,6 +381,12 @@ Arguments are listed next to predicate names, where applicable. Matches if heading level is equal to or between NUMBERs. ‘(level COMPARATOR NUMBER)’: Matches if heading level compares to ‘NUMBER’ with ‘COMPARATOR’. ‘COMPARATOR’ may be ‘<’, ‘<=’, ‘>’, or ‘>=’. +‘link (&optional description-or-target &key description target regexp-p)’ + Return non-nil if current heading contains a link matching + arguments. ‘DESCRIPTION-OR-TARGET’ is matched against the link’s + description and target. Alternatively, one or both of + ‘DESCRIPTION’ and ‘TARGET’ may be matched separately. Without + arguments, return non-nil if any link is found. ‘outline-path (&rest strings)’ Return non-nil if current node’s outline path matches all of ‘STRINGS’. Each string may appear as a substring in any part of @@ -732,6 +738,8 @@ File: README.info, Node: 05-pre, Next: 041, Up: Changelog *Added* • View dispatcher using transient.el (like Magit), bound to v in search/view buffers. + • Predicate link, which matches descriptions and targets in Org + links. *Changed* • Binding to refresh search/view buffers changed to r. @@ -1105,27 +1113,27 @@ Node: org-ql-sparse-tree7044 Node: Queries7844 Node: Non-sexp query syntax8752 Node: General predicates10459 -Node: Ancestor/descendant predicates15266 -Node: Date/time predicates16394 -Node: Functions / Macros19049 -Node: Agenda-like views19282 -Node: Listing / acting-on results20687 -Node: Changelog25289 -Node: 05-pre25853 -Node: 04126121 -Node: 0426363 -Node: 03230294 -Node: 03130671 -Node: 0330866 -Node: 02333839 -Node: 02234065 -Node: 02134331 -Node: 0234528 -Node: 0138563 -Node: Notes38664 -Node: Comparison with Org Agenda searches38826 -Node: org-sidebar39698 -Node: License39977 +Node: Ancestor/descendant predicates15674 +Node: Date/time predicates16802 +Node: Functions / Macros19457 +Node: Agenda-like views19690 +Node: Listing / acting-on results21095 +Node: Changelog25697 +Node: 05-pre26261 +Node: 04126610 +Node: 0426852 +Node: 03230783 +Node: 03131160 +Node: 0331355 +Node: 02334328 +Node: 02234554 +Node: 02134820 +Node: 0235017 +Node: 0139052 +Node: Notes39153 +Node: Comparison with Org Agenda searches39315 +Node: org-sidebar40187 +Node: License40466  End Tag Table diff --git a/tests/data.org b/tests/data.org index 1f618ca..b7a13cb 100644 --- a/tests/data.org +++ b/tests/data.org @@ -91,6 +91,8 @@ Gotta buy one first, though. ** CHECK /r/emacs :website:Emacs: DEADLINE: <2017-07-05 Wed +1w> ++ [[http://reddit.com/r/emacs][Link to /r/emacs]] + ** TODO Shop for groceries :food:shopping:@town: SCHEDULED: <2017-07-05 Wed +1w> :PROPERTIES: diff --git a/tests/test-org-ql.el b/tests/test-org-ql.el index bf2340f..605d32a 100644 --- a/tests/test-org-ql.el +++ b/tests/test-org-ql.el @@ -217,6 +217,7 @@ RESULTS should be a list of strings as returned by :to-equal org-ql-test-num-headings))) (describe "Query pre-processing" + (it "level:" (expect (org-ql--pre-process-query '(level "1")) :to-equal '(level 1)) @@ -225,6 +226,19 @@ RESULTS should be a list of strings as returned by (expect (org-ql--pre-process-query '(level ">" "1")) :to-equal '(level > 1))) + (describe "(link)" + (it "with one argument" + (expect (org-ql--pre-process-query '(link "DESC-OR-TARGET")) + :to-equal '(link "DESC-OR-TARGET"))) + (it "with one argument and :regexp-p" + (expect (org-ql--pre-process-query '(link "DESC-OR-TARGET" :regexp-p t)) + :to-equal '(link "DESC-OR-TARGET" :regexp-p t))) + (it "with keyword arguments" + (expect (org-ql--pre-process-query '(link :description "DESCRIPTION" :target "TARGET" + :regexp-p t)) + :to-equal '(link :description "DESCRIPTION" :target "TARGET" + :regexp-p t)))) + (expect (org-ql--pre-process-query '(and "string1" "string2")) :to-equal '(and (regexp "string1") (regexp "string2"))) (expect (org-ql--pre-process-query '(or "string1" "string2")) @@ -575,6 +589,23 @@ RESULTS should be a list of strings as returned by (org-ql-expect ((heading "Take over" "world")) '("Take over the world")))) + (describe "(link)" + (org-ql-it "without arguments" + (org-ql-expect ((link)) + '("/r/emacs"))) + (org-ql-it "with description-or-target" + (org-ql-expect ((link "emacs")) + '("/r/emacs"))) + (org-ql-it "with :description" + (org-ql-expect ((link :description "emacs")) + '("/r/emacs"))) + (org-ql-it "with :target" + (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")) + '("/r/emacs")))) + (describe "(outline-path)" (org-ql-it "with one argument" (org-ql-expect ((outline-path "symphony")) From 9b2ff276a0419715a02cb36127e450756afcfebc Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Mon, 24 Feb 2020 01:48:09 -0600 Subject: [PATCH 166/615] Tests: Tidy --- tests/test-org-ql.el | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/tests/test-org-ql.el b/tests/test-org-ql.el index 605d32a..8085686 100644 --- a/tests/test-org-ql.el +++ b/tests/test-org-ql.el @@ -218,13 +218,16 @@ RESULTS should be a list of strings as returned by (describe "Query pre-processing" - (it "level:" - (expect (org-ql--pre-process-query '(level "1")) - :to-equal '(level 1)) - (expect (org-ql--pre-process-query '(level "1" "2")) - :to-equal '(level 1 2)) - (expect (org-ql--pre-process-query '(level ">" "1")) - :to-equal '(level > 1))) + (describe "(level)" + (it "with one level" + (expect (org-ql--pre-process-query '(level "1")) + :to-equal '(level 1))) + (it "with two levels" + (expect (org-ql--pre-process-query '(level "1" "2")) + :to-equal '(level 1 2))) + (it "with a comparator and a level" + (expect (org-ql--pre-process-query '(level ">" "1")) + :to-equal '(level > 1)))) (describe "(link)" (it "with one argument" From 4b1e253ee910a177733c0230ffe63e9ab1cd3798 Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Wed, 26 Feb 2020 19:11:40 -0600 Subject: [PATCH 167/615] Fix: (org-ql-view--add-todo-face) Always return to-do keyword Even when org-done-keywords-for-agenda is nil. I'm not sure when this was broken, but the logic was wrong in this function, and this is the intended behavior, so this is a bug fix. Released as 0.4.2. --- README.org | 5 +++ org-ql-view.el | 10 +++-- org-ql.el | 2 +- org-ql.info | 106 +++++++++++++++++++++++++++---------------------- 4 files changed, 71 insertions(+), 52 deletions(-) diff --git a/README.org b/README.org index e7c43e2..180138f 100644 --- a/README.org +++ b/README.org @@ -398,6 +398,11 @@ Expands into a call to ~org-ql-select~ with the same arguments. For convenience /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.4.2 + +*Fixed* ++ Items' to-do keywords were not shown in views. + ** 0.4.1 *Fixed* diff --git a/org-ql-view.el b/org-ql-view.el index f141270..1a132d7 100644 --- a/org-ql-view.el +++ b/org-ql-view.el @@ -666,10 +666,12 @@ property." element)) (defun org-ql-view--add-todo-face (keyword) - "Return KEYWORD with TODO face added." - (when-let* ((org-done-keywords org-done-keywords-for-agenda) - (face (org-get-todo-face keyword))) - (org-add-props keyword nil 'face face))) + "Return KEYWORD with Org to-do face added." + (let* ((org-done-keywords org-done-keywords-for-agenda) + (face (org-get-todo-face keyword))) + (when face + (add-text-properties 0 (length keyword) (list 'face face) keyword)) + keyword)) ;;;; Footer diff --git a/org-ql.el b/org-ql.el index 6008e8b..65f1053 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.4.1 +;; Version: 0.4.2 ;; Package-Requires: ((emacs "26.1") (dash "2.13") (dash-functional "1.2.0") (f "0.17.2") (org "9.0") (org-super-agenda "1.2-pre") (ov "1.0.6") (peg "0.6") (s "1.12.0") (ts "0.2-pre")) ;; Keywords: hypermedia, outlines, Org, agenda diff --git a/org-ql.info b/org-ql.info index 1a6a498..a64db08 100644 --- a/org-ql.info +++ b/org-ql.info @@ -63,6 +63,7 @@ Functions / Macros Changelog +* 0.4.2: 042. * 0.4.1: 041. * 0.4: 04. * 0.3.2: 032. @@ -704,6 +705,7 @@ releases. * Menu: +* 0.4.2: 042. * 0.4.1: 041. * 0.4: 04. * 0.3.2: 032. @@ -716,9 +718,18 @@ releases. * 0.1: 01.  -File: README.info, Node: 041, Next: 04, Up: Changelog +File: README.info, Node: 042, Next: 041, Up: Changelog -5.1 0.4.1 +5.1 0.4.2 +========= + +*Fixed* + • Items’ to-do keywords were not shown in views. + + +File: README.info, Node: 041, Next: 04, Prev: 042, Up: Changelog + +5.2 0.4.1 ========= *Fixed* @@ -728,7 +739,7 @@ File: README.info, Node: 041, Next: 04, Up: Changelog  File: README.info, Node: 04, Next: 032, Prev: 041, Up: Changelog -5.2 0.4 +5.3 0.4 ======= _Note:_ The next release, 0.5, may include changes which will require @@ -809,7 +820,7 @@ as they will be pushed to the master branch when ready.  File: README.info, Node: 032, Next: 031, Prev: 04, Up: Changelog -5.3 0.3.2 +5.4 0.3.2 ========= *Fixed* @@ -822,7 +833,7 @@ File: README.info, Node: 032, Next: 031, Prev: 04, Up: Changelog  File: README.info, Node: 031, Next: 03, Prev: 032, Up: Changelog -5.4 0.3.1 +5.5 0.3.1 ========= *Fixed* @@ -832,7 +843,7 @@ File: README.info, Node: 031, Next: 03, Prev: 032, Up: Changelog  File: README.info, Node: 03, Next: 023, Prev: 031, Up: Changelog -5.5 0.3 +5.6 0.3 ======= *Added* @@ -897,7 +908,7 @@ File: README.info, Node: 03, Next: 023, Prev: 031, Up: Changelog  File: README.info, Node: 023, Next: 022, Prev: 03, Up: Changelog -5.6 0.2.3 +5.7 0.2.3 ========= *Fixed* @@ -907,7 +918,7 @@ File: README.info, Node: 023, Next: 022, Prev: 03, Up: Changelog  File: README.info, Node: 022, Next: 021, Prev: 023, Up: Changelog -5.7 0.2.2 +5.8 0.2.2 ========= *Fixed* @@ -918,7 +929,7 @@ File: README.info, Node: 022, Next: 021, Prev: 023, Up: Changelog  File: README.info, Node: 021, Next: 02, Prev: 022, Up: Changelog -5.8 0.2.1 +5.9 0.2.1 ========= *Fixed* @@ -928,8 +939,8 @@ File: README.info, Node: 021, Next: 02, Prev: 022, Up: Changelog  File: README.info, Node: 02, Next: 01, Prev: 021, Up: Changelog -5.9 0.2 -======= +5.10 0.2 +======== *Added* • Function ‘org-ql-query’, like ‘org-ql-select’ but with arguments @@ -1011,7 +1022,7 @@ File: README.info, Node: 02, Next: 01, Prev: 021, Up: Changelog  File: README.info, Node: 01, Prev: 02, Up: Changelog -5.10 0.1 +5.11 0.1 ======== First tagged release. @@ -1072,41 +1083,42 @@ GPLv3  Tag Table: Node: Top225 -Node: Contents1417 -Node: Screenshots1591 -Node: Installation1709 -Node: Quelpa2347 -Node: Usage2790 -Node: Commands3139 -Node: org-ql-search3612 -Node: helm-org-ql5260 -Node: org-ql-view5672 -Node: org-ql-view-sidebar5870 -Node: org-ql-view-recent-items6226 -Node: org-ql-sparse-tree6710 -Node: Queries7510 -Node: Non-sexp query syntax8418 -Node: General predicates10125 -Node: Ancestor/descendant predicates14932 -Node: Date/time predicates16060 -Node: Functions / Macros18715 -Node: Agenda-like views18948 -Node: Listing / acting-on results20353 -Node: Changelog24955 -Node: 04125499 -Node: 0425726 -Node: 03229657 -Node: 03130034 -Node: 0330229 -Node: 02333202 -Node: 02233428 -Node: 02133694 -Node: 0233891 -Node: 0137924 -Node: Notes38025 -Node: Comparison with Org Agenda searches38187 -Node: org-sidebar39058 -Node: License39337 +Node: Contents1432 +Node: Screenshots1606 +Node: Installation1724 +Node: Quelpa2362 +Node: Usage2805 +Node: Commands3154 +Node: org-ql-search3627 +Node: helm-org-ql5275 +Node: org-ql-view5687 +Node: org-ql-view-sidebar5885 +Node: org-ql-view-recent-items6241 +Node: org-ql-sparse-tree6725 +Node: Queries7525 +Node: Non-sexp query syntax8433 +Node: General predicates10140 +Node: Ancestor/descendant predicates14947 +Node: Date/time predicates16075 +Node: Functions / Macros18730 +Node: Agenda-like views18963 +Node: Listing / acting-on results20368 +Node: Changelog24970 +Node: 04225529 +Node: 04125676 +Node: 0425915 +Node: 03229846 +Node: 03130223 +Node: 0330418 +Node: 02333391 +Node: 02233617 +Node: 02133883 +Node: 0234080 +Node: 0138115 +Node: Notes38216 +Node: Comparison with Org Agenda searches38378 +Node: org-sidebar39249 +Node: License39528  End Tag Table From a459204e7868a656fa106e288c099fb410ab4742 Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Wed, 26 Feb 2020 19:57:16 -0600 Subject: [PATCH 168/615] Change: (view--complete-sort) Separate with spaces, not comma --- org-ql-view.el | 25 +++++++++++++++---------- 1 file changed, 15 insertions(+), 10 deletions(-) diff --git a/org-ql-view.el b/org-ql-view.el index 5244508..1d7393d 100644 --- a/org-ql-view.el +++ b/org-ql-view.el @@ -850,16 +850,21 @@ property." (defun org-ql-view--complete-sort () "Return value for `org-ql-view-sort' using completion." - (let ((input (->> (completing-read-multiple "Sort by: " - (list "buffer-order" - "date" - "deadline" - "priority" - "scheduled" - "todo") - nil nil (when org-ql-view-sort - (prin1-to-string org-ql-view-sort))) - (--remove (equal "buffer-order" it))))) + ;; Use space to separate sorting predicates, not comma. + (let* ((crm-separator (rx space)) + (crm-local-completion-map (let ((map (copy-keymap crm-local-completion-map))) + (define-key map (kbd "SPC") nil) + map)) + (input (->> (completing-read-multiple "Sort by: " + (list "buffer-order" + "date" + "deadline" + "priority" + "scheduled" + "todo") + nil nil (when org-ql-view-sort + (prin1-to-string org-ql-view-sort))) + (--remove (equal "buffer-order" it))))) (pcase input ('nil nil) ((and (pred listp) sort) From fc91bdd4836a026ae5b5df18ed133f85cf3ff138 Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Thu, 27 Feb 2020 19:57:42 -0600 Subject: [PATCH 169/615] Add/Change: (org-ql-view--contract-buffers-files), etc. When offering completion of org-ql-view-buffers-files, and when formatting it in the header line, use the "contracted" form when possible (i.e. show "org-agenda-files" instead of a list of all the expanded agenda file filenames). Fixes #95. Thanks to Kilian Sprotte (@kisp) for suggesting. --- org-ql-view.el | 67 ++++++++++++++++++++++++++++++++++++-------------- 1 file changed, 48 insertions(+), 19 deletions(-) diff --git a/org-ql-view.el b/org-ql-view.el index 1d7393d..ae1a5f0 100644 --- a/org-ql-view.el +++ b/org-ql-view.el @@ -444,7 +444,7 @@ If TITLE, prepend it to the header." (length "In: ") (length "Query: ") query-width 4))) - (buffers-files-formatted (format "%S" buffers-files)) + (buffers-files-formatted (format "%s" (org-ql-view--contract-buffers-files buffers-files))) (buffers-files-formatted (propertize (->> buffers-files-formatted (org-ql-view--font-lock-string 'emacs-lisp-mode) (s-truncate available-width)) @@ -594,7 +594,8 @@ dates in the past, and negative for dates in the future." :variable 'org-ql-view-buffers-files :prompt "Buffers/files: " :reader (lambda (_prompt _initial-input _history) - ;; FIXME: Figure out how to integrate initial-input and history. + ;; This doesn't use the Transient `initial-input' + ;; argument, but it gives the same result. (org-ql-view--complete-buffers-files))) (define-infix-command org-ql-view--transient-super-groups () @@ -811,25 +812,53 @@ property." ;;;;; Completion +(defun org-ql-view--contract-buffers-files (buffers-files) + "Return BUFFERS-FILES in its \"contracted\" form. +The contracted form is \"org-agenda-files\" if BUFFERS-FILES +matches the value of `org-agenda-files' (either the function or +the variable), \"org-directory\" if it matches the value of +`org-ql-search-directories-files', or \"buffer\" if it is the +current buffer. Otherwise BUFFERS-FILES is returned unchanged." + ;; Used in `org-ql-view--complete-buffers-files' and + ;; `org-ql-view--header-line-format'. + (cl-labels ((expand-files + (list) (--map (cl-typecase it + (string (expand-file-name it)) + (otherwise it)) + list))) + (pcase (expand-files buffers-files) + ((or (pred (seq-set-equal-p (mapcar #'expand-file-name (org-agenda-files)))) + (pred (seq-set-equal-p (mapcar #'expand-file-name org-agenda-files)))) + "org-agenda-files") + ((pred (seq-set-equal-p (org-ql-search-directories-files))) + "org-directory") + ((pred (equal (current-buffer))) + "buffer") + (_ (let ((print-length nil)) + (concat "'" (prin1-to-string buffers-files))))))) + (defun org-ql-view--complete-buffers-files () "Return value for `org-ql-view-buffers-files' using completion." - (if (and org-ql-view-buffers-files - (bufferp org-ql-view-buffers-files)) - ;; Buffers can't be input by name, so if the default value is a buffer, just use it. - ;; TODO: Find a way to fix this. - org-ql-view-buffers-files - (pcase-exhaustive (completing-read "Buffers/Files: " - (list 'buffer 'agenda 'directory 'all) - nil nil (when org-ql-view-buffers-files - (let ((print-length nil)) - (prin1-to-string (cons 'list org-ql-view-buffers-files))))) - ((or "" "buffer") (current-buffer)) - ("agenda" (org-agenda-files)) - ("all" (--select (equal (buffer-local-value 'major-mode it) 'org-mode) - (buffer-list))) - ("directory" (org-ql-search-directories-files)) - ((and form (guard (rx bos "("))) (-flatten (eval (read form)))) - (else (s-split (rx (1+ space)) else))))) + (cl-labels ((initial-input + () (when org-ql-view-buffers-files + (org-ql-view--contract-buffers-files + org-ql-view-buffers-files)))) + (if (and org-ql-view-buffers-files + (bufferp org-ql-view-buffers-files)) + ;; Buffers can't be input by name, so if the default value is a buffer, just use it. + ;; TODO: Find a way to fix this. + org-ql-view-buffers-files + (pcase-exhaustive + (completing-read "Buffers/Files: " + (list 'buffer 'org-agenda-files 'org-directory 'all) + nil nil (initial-input)) + ((or "" "buffer") (current-buffer)) + ("org-agenda-files" (org-agenda-files)) + ("all" (--select (equal (buffer-local-value 'major-mode it) 'org-mode) + (buffer-list))) + ("org-directory" (org-ql-search-directories-files)) + ((and form (guard (rx bos "("))) (-flatten (eval (read form)))) + (else (s-split (rx (1+ space)) else)))))) (defun org-ql-view--complete-super-groups () "Return value for `org-ql-view-super-groups' using completion." From e811ac5680078ee5aacb05601e4ce3b1c15ca33d Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Sun, 1 Mar 2020 08:54:32 -0600 Subject: [PATCH 170/615] Docs: Add mascot --- README.org | 4 +++- images/dog.png | Bin 0 -> 11465 bytes org-ql.info | 31 ++++++++++++++++--------------- 3 files changed, 19 insertions(+), 16 deletions(-) create mode 100644 images/dog.png diff --git a/README.org b/README.org index 9dcc787..63ca963 100644 --- a/README.org +++ b/README.org @@ -1,7 +1,8 @@ #+TITLE: org-ql # NOTE: Using =BEGIN_HTML= for this causes TeX/info export to fail, but this HTML block works. -#+HTML: +# #+HTML: +#+HTML: # NOTE: To avoid having this in the info manual, we use HTML rather than Org syntax; it still appears with the GitHub renderer. #+HTML: @@ -406,6 +407,7 @@ Expands into a call to ~org-ql-select~ with the same arguments. For convenience *Added* + View dispatcher using =transient.el= (like Magit), bound to =v= in search/view buffers. + Predicate =link=, which matches descriptions and targets in Org links. ++ Mascot. *Changed* + Binding to refresh search/view buffers changed to =r=. diff --git a/images/dog.png b/images/dog.png new file mode 100644 index 0000000000000000000000000000000000000000..b1c81ed0f6ef843eb2782b71e14e9e22c379aae6 GIT binary patch literal 11465 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 L{an^LB{Ts5rslu1 literal 0 HcmV?d00001 diff --git a/org-ql.info b/org-ql.info index b3f8d26..6f5744c 100644 --- a/org-ql.info +++ b/org-ql.info @@ -742,6 +742,7 @@ File: README.info, Node: 05-pre, Next: 042, Up: Changelog search/view buffers. • Predicate link, which matches descriptions and targets in Org links. + • Mascot. *Changed* • Binding to refresh search/view buffers changed to r. @@ -1131,21 +1132,21 @@ Node: Agenda-like views19705 Node: Listing / acting-on results21110 Node: Changelog25712 Node: 05-pre26291 -Node: 04226640 -Node: 04126802 -Node: 0427041 -Node: 03230972 -Node: 03131349 -Node: 0331544 -Node: 02334517 -Node: 02234743 -Node: 02135009 -Node: 0235208 -Node: 0139243 -Node: Notes39344 -Node: Comparison with Org Agenda searches39506 -Node: org-sidebar40378 -Node: License40657 +Node: 04226655 +Node: 04126817 +Node: 0427056 +Node: 03230987 +Node: 03131364 +Node: 0331559 +Node: 02334532 +Node: 02234758 +Node: 02135024 +Node: 0235223 +Node: 0139258 +Node: Notes39359 +Node: Comparison with Org Agenda searches39521 +Node: org-sidebar40393 +Node: License40672  End Tag Table From 132173b36efbb52425c9764836171b1dc62b40ad Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Mon, 2 Mar 2020 00:22:41 -0600 Subject: [PATCH 171/615] Fix: (org-ql-view) Require crm Fixes #98. Thanks to @bepolymathe for reporting. --- org-ql-view.el | 1 + 1 file changed, 1 insertion(+) diff --git a/org-ql-view.el b/org-ql-view.el index ae1a5f0..b966d14 100644 --- a/org-ql-view.el +++ b/org-ql-view.el @@ -30,6 +30,7 @@ ;;;; Requirements (require 'cl-lib) +(require 'crm) (require 'map) (require 'org) (require 'org-element) From 20f3ce747ce46d73818fad08078dc7c7abf6ec88 Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Mon, 2 Mar 2020 00:23:35 -0600 Subject: [PATCH 172/615] Fix: (org-ql-view--contract-buffers-files) Single file/buffer This fixes the bug for now, but it needs to be tested more carefully. And now the view dispatcher has a minor bug when changing the list of buffers-files sometimes that requires pressing it more than once to get the prompt; not sure if related to this. --- org-ql-view.el | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/org-ql-view.el b/org-ql-view.el index b966d14..6ed7831 100644 --- a/org-ql-view.el +++ b/org-ql-view.el @@ -827,16 +827,20 @@ current buffer. Otherwise BUFFERS-FILES is returned unchanged." (string (expand-file-name it)) (otherwise it)) list))) - (pcase (expand-files buffers-files) - ((or (pred (seq-set-equal-p (mapcar #'expand-file-name (org-agenda-files)))) - (pred (seq-set-equal-p (mapcar #'expand-file-name org-agenda-files)))) - "org-agenda-files") - ((pred (seq-set-equal-p (org-ql-search-directories-files))) - "org-directory") + ;; TODO: Test this more exhaustively. + (pcase buffers-files + ((pred listp) (pcase (expand-files buffers-files) + ((or (pred (seq-set-equal-p (mapcar #'expand-file-name (org-agenda-files)))) + (pred (seq-set-equal-p (mapcar #'expand-file-name org-agenda-files)))) + "org-agenda-files") + ((pred (seq-set-equal-p (org-ql-search-directories-files))) + "org-directory") + (_ (let ((print-length nil)) + (concat "'" (prin1-to-string buffers-files)))))) ((pred (equal (current-buffer))) "buffer") (_ (let ((print-length nil)) - (concat "'" (prin1-to-string buffers-files))))))) + (prin1-to-string buffers-files)))))) (defun org-ql-view--complete-buffers-files () "Return value for `org-ql-view-buffers-files' using completion." From 11a0466f92d5791e12f9122deffcd1c8592d327a Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Mon, 2 Mar 2020 00:45:27 -0600 Subject: [PATCH 173/615] Fix: (helm-org-ql-map) Use make-composed-keymap Fixes #99. Thanks to Akira Komamura (@akirak). --- helm-org-ql.el | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/helm-org-ql.el b/helm-org-ql.el index 2e4ffb8..b954b09 100644 --- a/helm-org-ql.el +++ b/helm-org-ql.el @@ -56,13 +56,13 @@ ;;;; Variables (defvar helm-org-ql-map - (let ((map (copy-keymap helm-map)) + (let ((map (make-sparse-keymap)) (mappings '( "C-x C-s" helm-org-ql-save ))) (cl-loop for (key fn) on mappings by #'cddr do (define-key map (kbd key) fn)) - map) + (make-composed-keymap map helm-map)) "Keymap for `helm-org-ql' sessions. Based on `helm-map'.") From 06481960764a55a36d886e1db79a58258d5d2ffb Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Mon, 2 Mar 2020 00:53:41 -0600 Subject: [PATCH 174/615] Change/Fix: (helm-org-ql.el) Wrap in eval-and-compile This avoids errors when Helm is not installed, and it seems to work correctly when Helm is installed. This should be an improvement until this file is put in its own package. --- helm-org-ql.el | 270 +++++++++++++++++++++++++------------------------ 1 file changed, 136 insertions(+), 134 deletions(-) diff --git a/helm-org-ql.el b/helm-org-ql.el index b954b09..059a965 100644 --- a/helm-org-ql.el +++ b/helm-org-ql.el @@ -28,83 +28,85 @@ ;;; Code: -;;;; Requirements +(eval-and-compile -(require 'org) + (eval-when-compile + ;; Require these when compiling, but not necessarily on load. + (require 'org) -(require 'org-ql) -(require 'org-ql-search) - -;; (require 'helm) -;; (require 'helm-org) + (require 'org-ql) + (require 'org-ql-search)) ;;;; Compatibility -;; Declare Helm functions since Helm may not be installed. -(declare-function helm "ext:helm") -(declare-function helm-run-after-exit "ext:helm") -(declare-function helm-window "ext:helm-lib") -(declare-function helm-buffer-get "ext:helm-lib") -(declare-function helm-make-source "ext:helm-source") -(declare-function helm-org-goto-marker "ext:helm-org") + ;; Declare Helm functions since Helm may not be installed. + (declare-function helm "ext:helm") + (declare-function helm-run-after-exit "ext:helm") + (declare-function helm-window "ext:helm-lib") + (declare-function helm-buffer-get "ext:helm-lib") + (declare-function helm-make-source "ext:helm-source") + (declare-function helm-org-goto-marker "ext:helm-org") -;; Silence byte-compiler about variables. -(defvar helm-map) -(defvar helm-pattern) -(defvar helm-input-idle-delay) + ;; Silence byte-compiler about variables. + (defvar helm-map) + (defvar helm-pattern) + (defvar helm-input-idle-delay) + + (when (require 'helm nil 'noerror) + + ;; Requirements. + (require 'helm-org) ;;;; Variables -(defvar helm-org-ql-map - (let ((map (make-sparse-keymap)) - (mappings '( - "C-x C-s" helm-org-ql-save - ))) - (cl-loop for (key fn) on mappings by #'cddr - do (define-key map (kbd key) fn)) - (make-composed-keymap map helm-map)) - "Keymap for `helm-org-ql' sessions. + (defvar helm-org-ql-map + (let ((map (make-sparse-keymap)) + (mappings '("C-x C-s" helm-org-ql-save))) + (cl-loop for (key fn) on mappings by #'cddr + do (define-key map (kbd key) fn)) + (make-composed-keymap map helm-map)) + "Keymap for `helm-org-ql' sessions. Based on `helm-map'.") -(defvar helm-source-org-ql-views - (helm-make-source "Org QL Views" 'helm-source-sync - :candidates (lambda () - (->> org-ql-views - (-map #'car) - (-sort #'string<))) - :action (list (cons "Show view" #'org-ql-view))) - "Helm source for `org-ql-views'.") + (defvar helm-source-org-ql-views + (helm-make-source "Org QL Views" 'helm-source-sync + :candidates (lambda () + (->> org-ql-views + (-map #'car) + (-sort #'string<))) + :action (list (cons "Show view" #'org-ql-view))) + "Helm source for `org-ql-views'.") -(defvar-local helm-org-ql-buffers-files nil - "Used for `helm-org-ql-save'.") + (defvar-local helm-org-ql-buffers-files nil + "Used for `helm-org-ql-save'.") ;;;; Customization -(defgroup helm-org-ql nil - "Options for `helm-org-ql'." - :group 'org-ql) + (defgroup helm-org-ql nil + "Options for `helm-org-ql'." + :group 'org-ql) -(defcustom helm-org-ql-reverse-paths t - "Whether to reverse Org outline paths in `helm-org-ql' results." - :type 'boolean) + (defcustom helm-org-ql-reverse-paths t + "Whether to reverse Org outline paths in `helm-org-ql' results." + :type 'boolean) -(defcustom helm-org-ql-input-idle-delay 0.25 - "Seconds to wait after typing stops before running query." - :type 'number) + (defcustom helm-org-ql-input-idle-delay 0.25 + "Seconds to wait after typing stops before running query." + :type 'number) -(defcustom helm-org-ql-actions - (list (cons "Show heading in source buffer" 'helm-org-ql-show-marker) - (cons "Show heading in indirect buffer" 'helm-org-ql-show-marker-indirect)) - "Alist of actions for `helm-org-ql' commands." - :type '(alist :key-type (string :tag "Description") - :value-type (function :tag "Command"))) + (defcustom helm-org-ql-actions + (list (cons "Show heading in source buffer" 'helm-org-ql-show-marker) + (cons "Show heading in indirect buffer" 'helm-org-ql-show-marker-indirect)) + "Alist of actions for `helm-org-ql' commands." + :type '(alist :key-type (string :tag "Description") + :value-type (function :tag "Command"))) ;;;; Commands ;;;###autoload -(cl-defun helm-org-ql (buffers-files - &key (boolean 'and) (name "helm-org-ql")) - "Display results in BUFFERS-FILES for an `org-ql' non-sexp query using Helm. + (cl-defun helm-org-ql (buffers-files + &key (boolean 'and) (name "helm-org-ql")) + "Display results in BUFFERS-FILES for an `org-ql' non-sexp query using Helm. Interactively, search the current buffer. Note that this command only accepts non-sexp, \"plain\" queries. @@ -131,99 +133,99 @@ However, quoted strings remain quoted, so this input: Is transformed into this query: (and \"something else\" (tags \"funny\"))" - (interactive (list (current-buffer))) - (let ((boolean (if current-prefix-arg 'or boolean)) - (helm-input-idle-delay helm-org-ql-input-idle-delay)) - (helm :prompt (format "Query (boolean %s): " (-> boolean symbol-name upcase)) - :sources (helm-org-ql-source buffers-files :name name)))) + (interactive (list (current-buffer))) + (let ((boolean (if current-prefix-arg 'or boolean)) + (helm-input-idle-delay helm-org-ql-input-idle-delay)) + (helm :prompt (format "Query (boolean %s): " (-> boolean symbol-name upcase)) + :sources (helm-org-ql-source buffers-files :name name)))) ;;;###autoload -(defun helm-org-ql-agenda-files () - "Search agenda files with `helm-org-ql', which see." - (interactive) - (helm-org-ql (org-agenda-files) :name "Org Agenda Files")) + (defun helm-org-ql-agenda-files () + "Search agenda files with `helm-org-ql', which see." + (interactive) + (helm-org-ql (org-agenda-files) :name "Org Agenda Files")) ;;;###autoload -(defun helm-org-ql-org-directory () - "Search Org files in `org-directory' with `helm-org-ql'." - (interactive) - (helm-org-ql (org-ql-search-directories-files) - :name "Org Directory Files")) + (defun helm-org-ql-org-directory () + "Search Org files in `org-directory' with `helm-org-ql'." + (interactive) + (helm-org-ql (org-ql-search-directories-files) + :name "Org Directory Files")) -(defun helm-org-ql-show-marker (marker) - "Show heading at MARKER." - (interactive) - ;; This function is necessary because `helm-org-goto-marker' calls - ;; `re-search-backward' to go backward to the start of a heading, - ;; which, when the marker is already at the desired heading, causes - ;; it to go to the previous heading. I don't know why it does that. - (switch-to-buffer (marker-buffer marker)) - (goto-char marker) - (org-show-entry)) + (defun helm-org-ql-show-marker (marker) + "Show heading at MARKER." + (interactive) + ;; This function is necessary because `helm-org-goto-marker' calls + ;; `re-search-backward' to go backward to the start of a heading, + ;; which, when the marker is already at the desired heading, causes + ;; it to go to the previous heading. I don't know why it does that. + (switch-to-buffer (marker-buffer marker)) + (goto-char marker) + (org-show-entry)) -(defun helm-org-ql-show-marker-indirect (marker) - "Show heading at MARKER with `org-tree-to-indirect-buffer'." - (interactive) - (helm-org-ql-show-marker marker) - (org-tree-to-indirect-buffer)) + (defun helm-org-ql-show-marker-indirect (marker) + "Show heading at MARKER with `org-tree-to-indirect-buffer'." + (interactive) + (helm-org-ql-show-marker marker) + (org-tree-to-indirect-buffer)) -(defun helm-org-ql-save () - "Show `helm-org-ql' search in an `org-ql-search' buffer." - (interactive) - (let ((buffers-files (with-current-buffer (helm-buffer-get) - helm-org-ql-buffers-files)) - (query (org-ql--plain-query helm-pattern))) - (helm-run-after-exit #'org-ql-search buffers-files query))) + (defun helm-org-ql-save () + "Show `helm-org-ql' search in an `org-ql-search' buffer." + (interactive) + (let ((buffers-files (with-current-buffer (helm-buffer-get) + helm-org-ql-buffers-files)) + (query (org-ql--plain-query helm-pattern))) + (helm-run-after-exit #'org-ql-search buffers-files query))) ;;;###autoload -(defun helm-org-ql-views () - "Show an `org-ql' view selected with Helm." - (interactive) - (helm :sources helm-source-org-ql-views)) + (defun helm-org-ql-views () + "Show an `org-ql' view selected with Helm." + (interactive) + (helm :sources helm-source-org-ql-views)) ;;;; Functions -(cl-defun helm-org-ql-source (buffers-files &key (name "helm-org-ql")) - "Return Helm source named NAME that searches BUFFERS-FILES with `helm-org-ql'." - ;; Expansion of `helm-build-sync-source' macro. - (helm-make-source name 'helm-source-sync - :candidates (lambda () - (let* ((query (org-ql--plain-query helm-pattern)) - (window-width (window-width (helm-window)))) - (when query - (with-current-buffer (helm-buffer-get) - (setq helm-org-ql-buffers-files buffers-files)) - (ignore-errors - ;; Ignore errors that might be caused by partially typed queries. - (org-ql-select buffers-files query - :action `(helm-org-ql--heading ,window-width)))))) - :match #'identity - :fuzzy-match nil - :multimatch nil - :nohighlight t - :volatile t - :keymap helm-org-ql-map - :action helm-org-ql-actions)) + (cl-defun helm-org-ql-source (buffers-files &key (name "helm-org-ql")) + "Return Helm source named NAME that searches BUFFERS-FILES with `helm-org-ql'." + ;; Expansion of `helm-build-sync-source' macro. + (helm-make-source name 'helm-source-sync + :candidates (lambda () + (let* ((query (org-ql--plain-query helm-pattern)) + (window-width (window-width (helm-window)))) + (when query + (with-current-buffer (helm-buffer-get) + (setq helm-org-ql-buffers-files buffers-files)) + (ignore-errors + ;; Ignore errors that might be caused by partially typed queries. + (org-ql-select buffers-files query + :action `(helm-org-ql--heading ,window-width)))))) + :match #'identity + :fuzzy-match nil + :multimatch nil + :nohighlight t + :volatile t + :keymap helm-org-ql-map + :action helm-org-ql-actions)) -(defun helm-org-ql--heading (window-width) - "Return string for Helm for heading at point. + (defun helm-org-ql--heading (window-width) + "Return string for Helm for heading at point. WINDOW-WIDTH should be the width of the Helm window." - (font-lock-ensure (point-at-bol) (point-at-eol)) - ;; TODO: It would be better to avoid calculating the prefix and width - ;; at each heading, but there's no easy way to do that once in each - ;; buffer, unless we manually called `org-ql' in each buffer, which - ;; I'd prefer not to do. Maybe I should add a feature to `org-ql' to - ;; call a setup function in a buffer before running queries. - (let* ((prefix (concat (buffer-name) ":")) - (width (- window-width (length prefix))) - (heading (org-get-heading t)) - (path (-> (org-get-outline-path) - (org-format-outline-path width nil "") - (org-split-string ""))) - (path (if helm-org-ql-reverse-paths - (concat heading "\\" (s-join "\\" (nreverse path))) - (concat (s-join "/" path) "/" heading)))) - (cons (concat prefix path) (point-marker)))) + (font-lock-ensure (point-at-bol) (point-at-eol)) + ;; TODO: It would be better to avoid calculating the prefix and width + ;; at each heading, but there's no easy way to do that once in each + ;; buffer, unless we manually called `org-ql' in each buffer, which + ;; I'd prefer not to do. Maybe I should add a feature to `org-ql' to + ;; call a setup function in a buffer before running queries. + (let* ((prefix (concat (buffer-name) ":")) + (width (- window-width (length prefix))) + (heading (org-get-heading t)) + (path (-> (org-get-outline-path) + (org-format-outline-path width nil "") + (org-split-string ""))) + (path (if helm-org-ql-reverse-paths + (concat heading "\\" (s-join "\\" (nreverse path))) + (concat (s-join "/" path) "/" heading)))) + (cons (concat prefix path) (point-marker)))))) ;;;; Footer From 8aac3b61001f25d04e6a1fdfe03be0509b50ae83 Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Sun, 8 Mar 2020 11:05:20 -0500 Subject: [PATCH 175/615] Fix: (org-ql-view-map) Use set-keymap-parent --- org-ql-view.el | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/org-ql-view.el b/org-ql-view.el index 6ed7831..9f550f4 100644 --- a/org-ql-view.el +++ b/org-ql-view.el @@ -70,7 +70,8 @@ Includes `org-ql-search'. Helpful when passing a buffer argument down a chain of function calls would be awkward.") (defvar org-ql-view-map - (let ((map (copy-keymap org-agenda-mode-map))) + (let ((map (make-sparse-keymap))) + (set-keymap-parent map org-agenda-mode-map) (define-key map "r" #'org-ql-view-refresh) (define-key map "v" #'org-ql-view-dispatch) (define-key map (kbd "C-x C-s") #'org-ql-view-save) From 3349c1d07afb7ee88b1fee4ddb78f0cb1084f4e7 Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Sun, 8 Mar 2020 11:05:38 -0500 Subject: [PATCH 176/615] Change: (org-ql-view-map) Also bind "g" to refresh I keep hitting "g" and nothing seems to happen, because it runs the org-agenda refresh command, which doesn't do anything in org-ql-view buffers. This must be happening to other people too. So let's fix that. --- README.org | 2 +- org-ql-view.el | 1 + org-ql.info | 58 +++++++++++++++++++++++++------------------------- 3 files changed, 31 insertions(+), 30 deletions(-) diff --git a/README.org b/README.org index 63ca963..e2c08a0 100644 --- a/README.org +++ b/README.org @@ -132,7 +132,7 @@ This command displays matches with Helm. *Note:* Helm is not a package dependen Choose and display a view stored in ~org-ql-views~. *Bindings:* Keys bound in view buffer. -+ =r=: Refresh results. With prefix, prompt to adjust search parameters. ++ =g=, =r=: Refresh results. With prefix, prompt to adjust search parameters. + =v=: Show =transient= view dispatcher (like Magit's popups). + =C-x C-s=: Save query to variable ~org-ql-views~ (accessible with command ~org-ql-view~). diff --git a/org-ql-view.el b/org-ql-view.el index 9f550f4..941225b 100644 --- a/org-ql-view.el +++ b/org-ql-view.el @@ -72,6 +72,7 @@ down a chain of function calls would be awkward.") (defvar org-ql-view-map (let ((map (make-sparse-keymap))) (set-keymap-parent map org-agenda-mode-map) + (define-key map "g" #'org-ql-view-refresh) (define-key map "r" #'org-ql-view-refresh) (define-key map "v" #'org-ql-view-dispatch) (define-key map (kbd "C-x C-s") #'org-ql-view-save) diff --git a/org-ql.info b/org-ql.info index 6f5744c..d700130 100644 --- a/org-ql.info +++ b/org-ql.info @@ -254,7 +254,7 @@ File: README.info, Node: org-ql-view, Next: org-ql-view-sidebar, Prev: helm-o Choose and display a view stored in ‘org-ql-views’. *Bindings:* Keys bound in view buffer. - • r: Refresh results. With prefix, prompt to adjust search + • g, r: Refresh results. With prefix, prompt to adjust search parameters. • v: Show transient view dispatcher (like Magit’s popups). • C-x C-s: Save query to variable ‘org-ql-views’ (accessible with @@ -1119,34 +1119,34 @@ Node: Commands3123 Node: org-ql-search3596 Node: helm-org-ql5310 Node: org-ql-view5722 -Node: org-ql-view-sidebar6219 -Node: org-ql-view-recent-items6575 -Node: org-ql-sparse-tree7059 -Node: Queries7859 -Node: Non-sexp query syntax8767 -Node: General predicates10474 -Node: Ancestor/descendant predicates15689 -Node: Date/time predicates16817 -Node: Functions / Macros19472 -Node: Agenda-like views19705 -Node: Listing / acting-on results21110 -Node: Changelog25712 -Node: 05-pre26291 -Node: 04226655 -Node: 04126817 -Node: 0427056 -Node: 03230987 -Node: 03131364 -Node: 0331559 -Node: 02334532 -Node: 02234758 -Node: 02135024 -Node: 0235223 -Node: 0139258 -Node: Notes39359 -Node: Comparison with Org Agenda searches39521 -Node: org-sidebar40393 -Node: License40672 +Node: org-ql-view-sidebar6222 +Node: org-ql-view-recent-items6578 +Node: org-ql-sparse-tree7062 +Node: Queries7862 +Node: Non-sexp query syntax8770 +Node: General predicates10477 +Node: Ancestor/descendant predicates15692 +Node: Date/time predicates16820 +Node: Functions / Macros19475 +Node: Agenda-like views19708 +Node: Listing / acting-on results21113 +Node: Changelog25715 +Node: 05-pre26294 +Node: 04226658 +Node: 04126820 +Node: 0427059 +Node: 03230990 +Node: 03131367 +Node: 0331562 +Node: 02334535 +Node: 02234761 +Node: 02135027 +Node: 0235226 +Node: 0139261 +Node: Notes39362 +Node: Comparison with Org Agenda searches39524 +Node: org-sidebar40396 +Node: License40675  End Tag Table From 996d6485603a9e2a22edaf8343291615c5884d0f Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Sun, 8 Mar 2020 11:12:49 -0500 Subject: [PATCH 177/615] Fix: (org-ql-view--contract-buffers-files) Handle org-agenda-files --- org-ql-view.el | 2 ++ 1 file changed, 2 insertions(+) diff --git a/org-ql-view.el b/org-ql-view.el index 941225b..20eb02e 100644 --- a/org-ql-view.el +++ b/org-ql-view.el @@ -841,6 +841,8 @@ current buffer. Otherwise BUFFERS-FILES is returned unchanged." (concat "'" (prin1-to-string buffers-files)))))) ((pred (equal (current-buffer))) "buffer") + ((or 'org-agenda-files '(function org-agenda-files)) + "org-agenda-files") (_ (let ((print-length nil)) (prin1-to-string buffers-files)))))) From f7d8b8c78c4b20d9c4f1a4d45f35171c95fd1ac6 Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Mon, 9 Mar 2020 13:31:22 -0500 Subject: [PATCH 178/615] Fix: (org-ql-view-map) Bind q to bury-buffer Because org-agenda-quit isn't useful in org-ql-view buffers. --- org-ql-view.el | 1 + 1 file changed, 1 insertion(+) diff --git a/org-ql-view.el b/org-ql-view.el index 20eb02e..58cbd61 100644 --- a/org-ql-view.el +++ b/org-ql-view.el @@ -74,6 +74,7 @@ down a chain of function calls would be awkward.") (set-keymap-parent map org-agenda-mode-map) (define-key map "g" #'org-ql-view-refresh) (define-key map "r" #'org-ql-view-refresh) + (define-key map "q" #'bury-buffer) (define-key map "v" #'org-ql-view-dispatch) (define-key map (kbd "C-x C-s") #'org-ql-view-save) map) From 1688774dddae45b7b77420d01c0eb56d76dd0c95 Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Mon, 9 Mar 2020 17:37:17 -0500 Subject: [PATCH 179/615] Change: (org-ql-view--header-line-format) Use keyword args --- org-ql-search.el | 6 ++++-- org-ql-view.el | 43 +++++++++++++++++++++++++------------------ 2 files changed, 29 insertions(+), 20 deletions(-) diff --git a/org-ql-search.el b/org-ql-search.el index 10d3fcf..f84dfed 100644 --- a/org-ql-search.el +++ b/org-ql-search.el @@ -164,7 +164,8 @@ necessary." :sort sort)) (strings (-map #'org-ql-view--format-element results)) (buffer (or buffer (format "%s %s*" org-ql-view-buffer-name-prefix (or title query)))) - (header (org-ql-view--header-line-format buffers-files query title)) + (header (org-ql-view--header-line-format + :buffers-files buffers-files :query query :title title)) ;; Bind variables for `org-ql-view--display' to set. (org-ql-view-buffers-files buffers-files) (org-ql-view-query query) @@ -215,7 +216,8 @@ automatically from the query." ;; FIXME: `org-agenda--insert-overriding-header' is from an Org version newer than ;; I'm using. Should probably declare it as a minimum Org version after upgrading. ;; (org-agenda--insert-overriding-header (or org-ql-block-header (org-ql-agenda--header-line-format from query))) - (insert (org-add-props (or org-ql-block-header (org-ql-view--header-line-format from query)) + (insert (org-add-props (or org-ql-block-header (org-ql-view--header-line-format + :buffers-files from :query query)) nil 'face 'org-agenda-structure) "\n") ;; Calling `org-agenda-finalize' should be unnecessary, because in a "series" agenda, ;; `org-agenda-multi' is bound non-nil, in which case `org-agenda-finalize' does nothing. diff --git a/org-ql-view.el b/org-ql-view.el index 58cbd61..9ae7e1e 100644 --- a/org-ql-view.el +++ b/org-ql-view.el @@ -433,31 +433,38 @@ subsequent refreshing of the buffer: `org-ql-view-buffers-files', (org-agenda-finalize) (goto-char (point-min)))))) -(defun org-ql-view--header-line-format (buffers-files query &optional title) +(cl-defun org-ql-view--header-line-format (&key buffers-files query title) "Return `header-line-format' for BUFFERS-FILES and QUERY. If TITLE, prepend it to the header." (let* ((title (if title (concat (propertize "View:" 'face 'transient-argument) title " ") "")) - (query-formatted (org-ql-view--format-query query)) - (query-width (length query-formatted)) - (query-propertized (propertize (org-ql-view--font-lock-string 'emacs-lisp-mode query-formatted) - 'help-echo query-formatted)) - (available-width (max 0 (- (window-width) - (length "In: ") - (length "Query: ") - query-width 4))) - (buffers-files-formatted (format "%s" (org-ql-view--contract-buffers-files buffers-files))) - (buffers-files-formatted (propertize (->> buffers-files-formatted - (org-ql-view--font-lock-string 'emacs-lisp-mode) - (s-truncate available-width)) - 'help-echo buffers-files-formatted))) + (query-formatted (when query + (org-ql-view--format-query query))) + (query-width (when query-formatted + (length query-formatted))) + (query-propertized (when query-formatted + (propertize (org-ql-view--font-lock-string 'emacs-lisp-mode query-formatted) + 'help-echo query-formatted))) + (available-width (max 0 (- (window-width) (length "In: ") + (length "Query: ") (or query-width 0) + 4))) + (buffers-files-formatted (when buffers-files + (format "%s" (org-ql-view--contract-buffers-files buffers-files)))) + (buffers-files-formatted (when buffers-files-formatted + (propertize (->> buffers-files-formatted + (org-ql-view--font-lock-string 'emacs-lisp-mode) + (s-truncate available-width)) + 'help-echo buffers-files-formatted)))) (concat title - (propertize "Query:" 'face 'transient-argument) - query-propertized " " - (propertize "In:" 'face 'transient-argument) - buffers-files-formatted))) + (when query (propertize "Query:" 'face 'transient-argument)) + (when query query-propertized) + (when query " ") + (when buffers-files + (propertize "In:" 'face 'transient-argument)) + (when buffers-files-formatted + buffers-files-formatted)))) (defun org-ql-view--format-query (query) "Return QUERY formatted as a string. From 881d298cd07fe3da487b65e531a65ad35f2a7767 Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Fri, 13 Mar 2020 19:07:30 -0500 Subject: [PATCH 180/615] Comment: Add TODOs --- org-ql.el | 2 ++ 1 file changed, 2 insertions(+) diff --git a/org-ql.el b/org-ql.el index 0853659..a03f6d6 100644 --- a/org-ql.el +++ b/org-ql.el @@ -133,6 +133,7 @@ This list should not contain any duplicates.") (defgroup org-ql nil "Customization for `org-ql'." :group 'org + ;; TODO: Add info manual link. :link '(url-link "https://github.com/alphapapa/org-ql")) ;;;; Macros @@ -160,6 +161,7 @@ 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. From ca03ad0d4a709c2a4b09e796e7bfcdc72b5064f8 Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Sat, 14 Mar 2020 14:01:35 -0500 Subject: [PATCH 181/615] Meta: Update makem.sh --- makem.sh | 39 +++++++++++++++++++++++++++++++++------ 1 file changed, 33 insertions(+), 6 deletions(-) diff --git a/makem.sh b/makem.sh index 3fddb78..91c3000 100755 --- a/makem.sh +++ b/makem.sh @@ -60,6 +60,7 @@ Rules: lint-checkdoc Run checkdoc. lint-compile Byte-compile source files with warnings as errors. lint-declare Run check-declare. + lint-elsa Run Elsa (not included in "lint" rule). lint-indent Lint indentation. lint-package Run package-lint. lint-regexps Run relint. @@ -478,8 +479,10 @@ function sandbox { then debug "Installing linters: package-lint relint" - args_sandbox_package_install+=(--eval "(package-install 'package-lint)" - --eval "(package-install 'relint)") + args_sandbox_package_install+=( + --eval "(package-install 'elsa)" + --eval "(package-install 'package-lint)" + --eval "(package-install 'relint)") fi # *** Install packages into sandbox @@ -671,8 +674,9 @@ function compile { } function batch { - # Run Emacs with $args_batch and with project source and test files loaded. - verbose 1 "Executing Emacs with arguments: ${args_batch[@]}" + # Run Emacs in batch mode with ${args_batch_interactive[@]} and + # with project source and test files loaded. + verbose 1 "Executing Emacs with arguments: ${args_batch_interactive[@]}" run_emacs \ $(args-load-files "${files_project_feature[@]}" "${files_project_test[@]}") \ @@ -681,6 +685,9 @@ function batch { function interactive { # Run Emacs interactively. Most useful with --sandbox and --install-deps. + verbose 1 "Running Emacs interactively..." + verbose 2 "Loading files:" "${files_project_feature[@]}" "${files_project_test[@]}" + unset arg_batch run_emacs \ $(args-load-files "${files_project_feature[@]}" "${files_project_test[@]}") \ @@ -737,6 +744,20 @@ function lint-declare { || error "Linting declarations failed." } +function lint-elsa { + verbose 1 "Linting with Elsa..." + + # MAYBE: Install Elsa here rather than in sandbox init, to avoid installing + # it when not needed. However, we should be careful to be clear about when + # packages are installed, because installing them does execute code. + run_emacs \ + --load elsa \ + -f elsa-run-files-and-exit \ + "${files_project_feature[@]}" \ + && success "Linting with Elsa finished without errors." \ + || error "Linting with Elsa failed." +} + function lint-indent { verbose 1 "Linting indentation..." @@ -952,8 +973,7 @@ do ;; -f|--file) shift - project_source_files+=("$1") - project_byte_compile_files+=("$1") + args_files+=("$1") ;; -O|--no-org-repo) unset elisp_org_package_archive @@ -991,6 +1011,13 @@ files_project_feature=($(files-project-feature)) files_project_test=($(files-project-test)) files_project_byte_compile=("${files_project_feature[@]}" "${files_project_test[@]}") +if [[ ${args_files[@]} ]] +then + # Add specified files. + files_project_feature+=("${args_files[@]}") + files_project_byte_compile+=("${args_files[@]}") +fi + debug "EXCLUDING FILES: ${files_exclude[@]}" debug "FEATURE FILES: ${files_project_feature[@]}" debug "TEST FILES: ${files_project_test[@]}" From ba7d4a2e82f134b8bb9976c81227ec795dde00d4 Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Sat, 14 Mar 2020 13:53:46 -0500 Subject: [PATCH 182/615] Add/Fix: org-ql-view-mode, and check when refreshing MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Use a derived major mode for org-ql-view buffers, and ensure that mode is active when calling org-ql-view-refresh, to avoid interfering with buffers in other modes if the user calls the command by accident. See . Thanks to Alois Janíček (@AloisJanicek) for discovering the bug. Released as 0.4.3. --- README.org | 5 +++ org-ql-view.el | 11 +++-- org-ql.el | 2 +- org-ql.info | 115 +++++++++++++++++++++++++++---------------------- 4 files changed, 77 insertions(+), 56 deletions(-) diff --git a/README.org b/README.org index 180138f..2cc2550 100644 --- a/README.org +++ b/README.org @@ -398,6 +398,11 @@ Expands into a call to ~org-ql-select~ with the same arguments. For convenience /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.4.3 + +*Fixed* ++ When =org-ql-view-refresh= is called, ensure the buffer is an Org QL View buffer. + ** 0.4.2 *Fixed* diff --git a/org-ql-view.el b/org-ql-view.el index 1a132d7..bbcccf1 100644 --- a/org-ql-view.el +++ b/org-ql-view.el @@ -309,6 +309,8 @@ TYPE may be `ts', `ts-active', `ts-inactive', `clocked', or If PROMPT is non-nil (interactively, with prefix), prompt to update search arguments." (interactive "P") + (unless (eq major-mode 'org-ql-view-mode) + (user-error "Not an Org QL View buffer")) (let* ((current-line (buffer-substring-no-properties (line-beginning-position) (line-end-position))) (old-pos (point)) (defaults (list org-ql-view-buffers-files @@ -354,6 +356,10 @@ update search arguments." ;;;; Functions +(define-derived-mode org-ql-view-mode org-agenda-mode "Org QL View" + "Major mode for `org-ql-view' buffers." + (setf buffer-read-only t)) + (defun org-ql-view--list-buffer () "Return view list buffer." (with-current-buffer (get-buffer-create "*Org QL View List*") @@ -468,9 +474,8 @@ with human-readable strings." If NAME is non-nil, return buffer by that name instead of using default buffer." (with-current-buffer (get-buffer-create (or name (concat org-ql-view-buffer-name-prefix "*"))) - (unless (eq major-mode 'org-agenda-mode) - (org-agenda-mode) - (setf buffer-read-only t)) + (unless (eq major-mode 'org-ql-view-mode) + (org-ql-view-mode)) (current-buffer))) (defun org-ql-view--format-relative-date (difference) diff --git a/org-ql.el b/org-ql.el index 65f1053..4f89b1c 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.4.2 +;; Version: 0.4.3 ;; Package-Requires: ((emacs "26.1") (dash "2.13") (dash-functional "1.2.0") (f "0.17.2") (org "9.0") (org-super-agenda "1.2-pre") (ov "1.0.6") (peg "0.6") (s "1.12.0") (ts "0.2-pre")) ;; Keywords: hypermedia, outlines, Org, agenda diff --git a/org-ql.info b/org-ql.info index a64db08..e763688 100644 --- a/org-ql.info +++ b/org-ql.info @@ -63,6 +63,7 @@ Functions / Macros Changelog +* 0.4.3: 043. * 0.4.2: 042. * 0.4.1: 041. * 0.4: 04. @@ -95,9 +96,7 @@ File: README.info, Node: Contents, Next: Screenshots, Prev: Top, Up: Top 1 Contents ********** - • • • - • • - • • • • • • + • • • • •  File: README.info, Node: Screenshots, Next: Installation, Prev: Contents, Up: Top @@ -705,6 +704,7 @@ releases. * Menu: +* 0.4.3: 043. * 0.4.2: 042. * 0.4.1: 041. * 0.4: 04. @@ -718,9 +718,19 @@ releases. * 0.1: 01.  -File: README.info, Node: 042, Next: 041, Up: Changelog +File: README.info, Node: 043, Next: 042, Up: Changelog -5.1 0.4.2 +5.1 0.4.3 +========= + +*Fixed* + • When org-ql-view-refresh is called, ensure the buffer is an Org QL + View buffer. + + +File: README.info, Node: 042, Next: 041, Prev: 043, Up: Changelog + +5.2 0.4.2 ========= *Fixed* @@ -729,7 +739,7 @@ File: README.info, Node: 042, Next: 041, Up: Changelog  File: README.info, Node: 041, Next: 04, Prev: 042, Up: Changelog -5.2 0.4.1 +5.3 0.4.1 ========= *Fixed* @@ -739,7 +749,7 @@ File: README.info, Node: 041, Next: 04, Prev: 042, Up: Changelog  File: README.info, Node: 04, Next: 032, Prev: 041, Up: Changelog -5.3 0.4 +5.4 0.4 ======= _Note:_ The next release, 0.5, may include changes which will require @@ -820,7 +830,7 @@ as they will be pushed to the master branch when ready.  File: README.info, Node: 032, Next: 031, Prev: 04, Up: Changelog -5.4 0.3.2 +5.5 0.3.2 ========= *Fixed* @@ -833,7 +843,7 @@ File: README.info, Node: 032, Next: 031, Prev: 04, Up: Changelog  File: README.info, Node: 031, Next: 03, Prev: 032, Up: Changelog -5.5 0.3.1 +5.6 0.3.1 ========= *Fixed* @@ -843,7 +853,7 @@ File: README.info, Node: 031, Next: 03, Prev: 032, Up: Changelog  File: README.info, Node: 03, Next: 023, Prev: 031, Up: Changelog -5.6 0.3 +5.7 0.3 ======= *Added* @@ -908,7 +918,7 @@ File: README.info, Node: 03, Next: 023, Prev: 031, Up: Changelog  File: README.info, Node: 023, Next: 022, Prev: 03, Up: Changelog -5.7 0.2.3 +5.8 0.2.3 ========= *Fixed* @@ -918,7 +928,7 @@ File: README.info, Node: 023, Next: 022, Prev: 03, Up: Changelog  File: README.info, Node: 022, Next: 021, Prev: 023, Up: Changelog -5.8 0.2.2 +5.9 0.2.2 ========= *Fixed* @@ -929,8 +939,8 @@ File: README.info, Node: 022, Next: 021, Prev: 023, Up: Changelog  File: README.info, Node: 021, Next: 02, Prev: 022, Up: Changelog -5.9 0.2.1 -========= +5.10 0.2.1 +========== *Fixed* • (descendants) selector matched against parent heading instead of @@ -939,7 +949,7 @@ File: README.info, Node: 021, Next: 02, Prev: 022, Up: Changelog  File: README.info, Node: 02, Next: 01, Prev: 021, Up: Changelog -5.10 0.2 +5.11 0.2 ======== *Added* @@ -1022,7 +1032,7 @@ File: README.info, Node: 02, Next: 01, Prev: 021, Up: Changelog  File: README.info, Node: 01, Prev: 02, Up: Changelog -5.11 0.1 +5.12 0.1 ======== First tagged release. @@ -1083,42 +1093,43 @@ GPLv3  Tag Table: Node: Top225 -Node: Contents1432 -Node: Screenshots1606 -Node: Installation1724 -Node: Quelpa2362 -Node: Usage2805 -Node: Commands3154 -Node: org-ql-search3627 -Node: helm-org-ql5275 -Node: org-ql-view5687 -Node: org-ql-view-sidebar5885 -Node: org-ql-view-recent-items6241 -Node: org-ql-sparse-tree6725 -Node: Queries7525 -Node: Non-sexp query syntax8433 -Node: General predicates10140 -Node: Ancestor/descendant predicates14947 -Node: Date/time predicates16075 -Node: Functions / Macros18730 -Node: Agenda-like views18963 -Node: Listing / acting-on results20368 -Node: Changelog24970 -Node: 04225529 -Node: 04125676 -Node: 0425915 -Node: 03229846 -Node: 03130223 -Node: 0330418 -Node: 02333391 -Node: 02233617 -Node: 02133883 -Node: 0234080 -Node: 0138115 -Node: Notes38216 -Node: Comparison with Org Agenda searches38378 -Node: org-sidebar39249 -Node: License39528 +Node: Contents1447 +Node: Screenshots1574 +Node: Installation1692 +Node: Quelpa2330 +Node: Usage2773 +Node: Commands3122 +Node: org-ql-search3595 +Node: helm-org-ql5243 +Node: org-ql-view5655 +Node: org-ql-view-sidebar5853 +Node: org-ql-view-recent-items6209 +Node: org-ql-sparse-tree6693 +Node: Queries7493 +Node: Non-sexp query syntax8401 +Node: General predicates10108 +Node: Ancestor/descendant predicates14915 +Node: Date/time predicates16043 +Node: Functions / Macros18698 +Node: Agenda-like views18931 +Node: Listing / acting-on results20336 +Node: Changelog24938 +Node: 04325512 +Node: 04225695 +Node: 04125854 +Node: 0426093 +Node: 03230024 +Node: 03130401 +Node: 0330596 +Node: 02333569 +Node: 02233795 +Node: 02134061 +Node: 0234260 +Node: 0138295 +Node: Notes38396 +Node: Comparison with Org Agenda searches38558 +Node: org-sidebar39429 +Node: License39708  End Tag Table From 4fef5b089f8f77b0dc25dac5f096406156e90858 Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Sun, 15 Mar 2020 14:58:06 -0500 Subject: [PATCH 183/615] Fix/Revert: Don't derive a new mode; check a variable in refresh MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Using a different major mode in org-ql-view buffers causes some Org Agenda remote commands to not work, because they test whether the major mode is org-agenda-mode. Even though these remote commands are not guaranteed to work, it was not intended to break them now, so this restores compatibility with them. Fixes #102. Thanks to Alois Janíček (@aloisjanicek) for reporting. This reverts commit ba7d4a2e82f134b8bb9976c81227ec795dde00d4. Released as 0.4.4. --- README.org | 5 ++ org-ql-view.el | 11 ++--- org-ql.el | 2 +- org-ql.info | 124 ++++++++++++++++++++++++++++--------------------- 4 files changed, 80 insertions(+), 62 deletions(-) diff --git a/README.org b/README.org index 2cc2550..d6e654b 100644 --- a/README.org +++ b/README.org @@ -398,6 +398,11 @@ Expands into a call to ~org-ql-select~ with the same arguments. For convenience /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.4.4 + +*Fixed* ++ Compatibility with Org Agenda remote editing commands (some of which were broken by 0.4.3). (Fixes [[https://github.com/alphapapa/org-ql/issues/102][#102]]. Thanks to [[https://github.com/AloisJanicek][Alois Janíček]] for reporting.) + ** 0.4.3 *Fixed* diff --git a/org-ql-view.el b/org-ql-view.el index bbcccf1..2d86c91 100644 --- a/org-ql-view.el +++ b/org-ql-view.el @@ -309,7 +309,7 @@ TYPE may be `ts', `ts-active', `ts-inactive', `clocked', or If PROMPT is non-nil (interactively, with prefix), prompt to update search arguments." (interactive "P") - (unless (eq major-mode 'org-ql-view-mode) + (unless org-ql-view-buffers-files (user-error "Not an Org QL View buffer")) (let* ((current-line (buffer-substring-no-properties (line-beginning-position) (line-end-position))) (old-pos (point)) @@ -356,10 +356,6 @@ update search arguments." ;;;; Functions -(define-derived-mode org-ql-view-mode org-agenda-mode "Org QL View" - "Major mode for `org-ql-view' buffers." - (setf buffer-read-only t)) - (defun org-ql-view--list-buffer () "Return view list buffer." (with-current-buffer (get-buffer-create "*Org QL View List*") @@ -474,8 +470,9 @@ with human-readable strings." If NAME is non-nil, return buffer by that name instead of using default buffer." (with-current-buffer (get-buffer-create (or name (concat org-ql-view-buffer-name-prefix "*"))) - (unless (eq major-mode 'org-ql-view-mode) - (org-ql-view-mode)) + (unless (eq major-mode 'org-agenda-mode) + (org-agenda-mode) + (setf buffer-read-only t)) (current-buffer))) (defun org-ql-view--format-relative-date (difference) diff --git a/org-ql.el b/org-ql.el index 4f89b1c..aef1854 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.4.3 +;; Version: 0.4.4 ;; Package-Requires: ((emacs "26.1") (dash "2.13") (dash-functional "1.2.0") (f "0.17.2") (org "9.0") (org-super-agenda "1.2-pre") (ov "1.0.6") (peg "0.6") (s "1.12.0") (ts "0.2-pre")) ;; Keywords: hypermedia, outlines, Org, agenda diff --git a/org-ql.info b/org-ql.info index e763688..5919d5e 100644 --- a/org-ql.info +++ b/org-ql.info @@ -63,6 +63,7 @@ Functions / Macros Changelog +* 0.4.4: 044. * 0.4.3: 043. * 0.4.2: 042. * 0.4.1: 041. @@ -96,7 +97,9 @@ File: README.info, Node: Contents, Next: Screenshots, Prev: Top, Up: Top 1 Contents ********** - • • • • • + • • • + • • + • • • • • •  File: README.info, Node: Screenshots, Next: Installation, Prev: Contents, Up: Top @@ -148,8 +151,7 @@ File: README.info, Node: Usage, Next: Changelog, Prev: Installation, Up: Top 4 Usage ******* - • • - • • • • • + • • • • Feedback on these APIs is welcome. Eventually, after being tested and polished, they will be considered stable. @@ -704,6 +706,7 @@ releases. * Menu: +* 0.4.4: 044. * 0.4.3: 043. * 0.4.2: 042. * 0.4.1: 041. @@ -718,9 +721,21 @@ releases. * 0.1: 01.  -File: README.info, Node: 043, Next: 042, Up: Changelog +File: README.info, Node: 044, Next: 043, Up: Changelog -5.1 0.4.3 +5.1 0.4.4 +========= + +*Fixed* + • Compatibility with Org Agenda remote editing commands (some of + which were broken by 0.4.3). (Fixes #102 + (https://github.com/alphapapa/org-ql/issues/102). Thanks to Alois + Janíček (https://github.com/AloisJanicek) for reporting.) + + +File: README.info, Node: 043, Next: 042, Prev: 044, Up: Changelog + +5.2 0.4.3 ========= *Fixed* @@ -730,7 +745,7 @@ File: README.info, Node: 043, Next: 042, Up: Changelog  File: README.info, Node: 042, Next: 041, Prev: 043, Up: Changelog -5.2 0.4.2 +5.3 0.4.2 ========= *Fixed* @@ -739,7 +754,7 @@ File: README.info, Node: 042, Next: 041, Prev: 043, Up: Changelog  File: README.info, Node: 041, Next: 04, Prev: 042, Up: Changelog -5.3 0.4.1 +5.4 0.4.1 ========= *Fixed* @@ -749,7 +764,7 @@ File: README.info, Node: 041, Next: 04, Prev: 042, Up: Changelog  File: README.info, Node: 04, Next: 032, Prev: 041, Up: Changelog -5.4 0.4 +5.5 0.4 ======= _Note:_ The next release, 0.5, may include changes which will require @@ -830,7 +845,7 @@ as they will be pushed to the master branch when ready.  File: README.info, Node: 032, Next: 031, Prev: 04, Up: Changelog -5.5 0.3.2 +5.6 0.3.2 ========= *Fixed* @@ -843,7 +858,7 @@ File: README.info, Node: 032, Next: 031, Prev: 04, Up: Changelog  File: README.info, Node: 031, Next: 03, Prev: 032, Up: Changelog -5.6 0.3.1 +5.7 0.3.1 ========= *Fixed* @@ -853,7 +868,7 @@ File: README.info, Node: 031, Next: 03, Prev: 032, Up: Changelog  File: README.info, Node: 03, Next: 023, Prev: 031, Up: Changelog -5.7 0.3 +5.8 0.3 ======= *Added* @@ -918,7 +933,7 @@ File: README.info, Node: 03, Next: 023, Prev: 031, Up: Changelog  File: README.info, Node: 023, Next: 022, Prev: 03, Up: Changelog -5.8 0.2.3 +5.9 0.2.3 ========= *Fixed* @@ -928,8 +943,8 @@ File: README.info, Node: 023, Next: 022, Prev: 03, Up: Changelog  File: README.info, Node: 022, Next: 021, Prev: 023, Up: Changelog -5.9 0.2.2 -========= +5.10 0.2.2 +========== *Fixed* • (deadline auto) selector matched entries whose deadlines had a @@ -939,7 +954,7 @@ File: README.info, Node: 022, Next: 021, Prev: 023, Up: Changelog  File: README.info, Node: 021, Next: 02, Prev: 022, Up: Changelog -5.10 0.2.1 +5.11 0.2.1 ========== *Fixed* @@ -949,7 +964,7 @@ File: README.info, Node: 021, Next: 02, Prev: 022, Up: Changelog  File: README.info, Node: 02, Next: 01, Prev: 021, Up: Changelog -5.11 0.2 +5.12 0.2 ======== *Added* @@ -1032,7 +1047,7 @@ File: README.info, Node: 02, Next: 01, Prev: 021, Up: Changelog  File: README.info, Node: 01, Prev: 02, Up: Changelog -5.12 0.1 +5.13 0.1 ======== First tagged release. @@ -1093,43 +1108,44 @@ GPLv3  Tag Table: Node: Top225 -Node: Contents1447 -Node: Screenshots1574 -Node: Installation1692 -Node: Quelpa2330 -Node: Usage2773 -Node: Commands3122 -Node: org-ql-search3595 -Node: helm-org-ql5243 -Node: org-ql-view5655 -Node: org-ql-view-sidebar5853 -Node: org-ql-view-recent-items6209 -Node: org-ql-sparse-tree6693 -Node: Queries7493 -Node: Non-sexp query syntax8401 -Node: General predicates10108 -Node: Ancestor/descendant predicates14915 -Node: Date/time predicates16043 -Node: Functions / Macros18698 -Node: Agenda-like views18931 -Node: Listing / acting-on results20336 -Node: Changelog24938 -Node: 04325512 -Node: 04225695 -Node: 04125854 -Node: 0426093 -Node: 03230024 -Node: 03130401 -Node: 0330596 -Node: 02333569 -Node: 02233795 -Node: 02134061 -Node: 0234260 -Node: 0138295 -Node: Notes38396 -Node: Comparison with Org Agenda searches38558 -Node: org-sidebar39429 -Node: License39708 +Node: Contents1462 +Node: Screenshots1636 +Node: Installation1754 +Node: Quelpa2392 +Node: Usage2835 +Node: Commands3163 +Node: org-ql-search3636 +Node: helm-org-ql5284 +Node: org-ql-view5696 +Node: org-ql-view-sidebar5894 +Node: org-ql-view-recent-items6250 +Node: org-ql-sparse-tree6734 +Node: Queries7534 +Node: Non-sexp query syntax8442 +Node: General predicates10149 +Node: Ancestor/descendant predicates14956 +Node: Date/time predicates16084 +Node: Functions / Macros18739 +Node: Agenda-like views18972 +Node: Listing / acting-on results20377 +Node: Changelog24979 +Node: 04425568 +Node: 04325913 +Node: 04226108 +Node: 04126267 +Node: 0426506 +Node: 03230437 +Node: 03130814 +Node: 0331009 +Node: 02333982 +Node: 02234208 +Node: 02134476 +Node: 0234675 +Node: 0138710 +Node: Notes38811 +Node: Comparison with Org Agenda searches38973 +Node: org-sidebar39844 +Node: License40123  End Tag Table From b3ee9a9c08f07c3f139777c58df09e5df7aa3cb8 Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Fri, 20 Mar 2020 15:59:28 -0500 Subject: [PATCH 184/615] Notes: Add tasks, sort --- notes.org | 720 +++++++++++++++++++++++++++--------------------------- 1 file changed, 364 insertions(+), 356 deletions(-) diff --git a/notes.org b/notes.org index b5ae904..9bd04d2 100644 --- a/notes.org +++ b/notes.org @@ -2,6 +2,10 @@ * Tasks +** TODO [#A] Add ~:auto~ keyword to ~(planning)~ predicate + +It should act like ~(or (deadline auto) (scheduled :to today))~. + ** TODO [#A] Document sorters Note that the built-in sorting only works on Org elements, which is the default ~:action~. So if a different action is used, sorting will not work. In that case, the action should be mapped across the Org element results from outside the ~org-ql~ form. @@ -28,9 +32,7 @@ Also, should support an ~id~ one. + Added example to =examples.org=. -*** DONE Save query from ql-agenda buffer - -*** DONE Access saved query from saved query list +*** TODO Bookmarks *** TODO Org link types :PROPERTIES: @@ -43,7 +45,265 @@ This would be useful for having a menu of saved queries as Org links, or even bo **** TODO For saved queries -*** TODO Bookmarks +*** DONE Access saved query from saved query list + +*** DONE Save query from ql-agenda buffer + +** UNDERWAY [#A] Outline path predicate + +[2019-10-07 Mon 11:15] There are two potential types of matching on outline paths: matching on any part of the outline path, and matching a specific path. For example, with this file: + +#+BEGIN_SRC org + ,* Food + + ,** Fruits + + ,*** Blueberries + + ,*** Grapes + + ,** Vegetables + + ,*** Carrots + + ,*** Potatoes +#+END_SRC + +Matching could work like this: + ++ ~(outline "Food")~ :: Would return all nodes. ++ ~(outline "Fruits")~ :: Would return all fruits. + +Matching at a specific path would be something like: + ++ ~(outline-path "Food" "Fruits")~ :: Would return all fruits. But if there were another =Fruits= heading somewhere in the file, under a different outline path, it would not return its nodes. + +I'm not sure the second type of matching belongs in predicates, but rather in [[id:6935361a-9e1d-48ec-8d17-876a90b90f50][this]]. + +To implement this with good performance probably needs an outline-path cache. I can probably repurpose the tags caching, but maybe it should be generalized. + +[2019-10-07 Mon 13:09] This is basically done with =be2bf6df316b96b3ed56851b8ffe0e227796b621= and =be2bf6df316b96b3ed56851b8ffe0e227796b621=, but not the specific-path matching. I left a =MAYBE= in the code about "anchored" path matching, which would accomplish that. + +** DONE [#A] Helm command + +In branch =wip/helm-org-ql=. Works really well, should add it and demonstrate it. + +*** DONE Add + +*** DONE Demonstrate + +*** DONE Parsing non-Lisp queries + +[2019-09-12 Thu 12:56] Lisp is so much easier to deal with, but some people don't like parentheses. So I'm trying to add a non-Lisp-style query syntax. It gets complicated. The =peg= library helps, but its documentation is sparse and incomplete. This seems to work fairly well for single-token queries, but I'm not sure if I can or should cram it all into one parser, or use separate ones for certain keywords. + +#+BEGIN_SRC elisp + (-let* ((input "todo:check|someday") + (input "tags:universe+space") + (input "heading:\"spaced phrase\"") + (input "") + (input "heading:\"spaced phrase\"+another") + combinator + (parsed (peg-parse-string ((predicate (substring keyword) ":" (opt args)) + (keyword (or "heading" "tags" "todo" "property")) + (args (+ (and (or quoted-arg unquoted-arg) (opt separator)))) + (quoted-arg "\"" unquoted-arg "\"") + (unquoted-arg (substring (+ (not (or separator "\"")) (any)))) + (separator (or (and "|" (action (setf combinator 'or))) + (and "+" (action (setf combinator 'and))) + (and ":" (action (setf combinator 'arg)))))) + input 'noerror)) + ((predicate . args) (nreverse parsed))) + (when predicate + (list :predicate predicate :args args :combinator combinator))) + ;;=> (:predicate "heading" :args ("spaced phrase" "another" t) :combinator and) +#+END_SRC + +I don't know where the =t= is coming from. + +The next step is to make it work with multi-token queries. It needs to handle all of the tokens in one parser so it can handle quoted phrases (if we split on spaces, it would split quoted phrases). But that makes getting the arguments out of it more difficult. Probably need to do something like this: + +#+BEGIN_SRC elisp + (-let* ((input "todo:check|someday") + (input "tags:universe+space") + (input "heading:\"spaced phrase\"") + (input "") + (input "heading:\"spaced phrase\"+another") + combinator + (parsed (peg-parse-string ((query (+ (or (and predicate `(pred args -- (list :predicate pred :args args))) + (and plain-string `(s -- (list :predicate 'regexp :args s)))) + (opt (syntax-class whitespace)))) + (plain-string (substring (+ (not (syntax-class whitespace)) (any)))) + (predicate (substring keyword) ":" (opt args)) + (keyword (or "heading" "tags" "todo" "property")) + (args (+ (and (or quoted-arg unquoted-arg) (opt separator)))) + (quoted-arg "\"" unquoted-arg "\"") + (unquoted-arg (substring (+ (not (or separator "\"")) (any)))) + (separator (or (and "|" (action (setf combinator 'or))) + (and "+" (action (setf combinator 'and))) + (and ":" (action (setf combinator 'arg)))))) + input 'noerror))) + parsed) +#+END_SRC + +In which lists are pushed onto the stack and returned, rather than strings. But I don't understand yet exactly how to use the =var= forms to consume input from the "value stack"; I need to study the examples more. I'm also not sure if that will even work with a variable number of arguments. + +This seems to work, but we'll have to parse the args again in a separate step: + +#+BEGIN_SRC elisp + (-let* ((input "todo:check|someday") + (input "tags:universe+space") + (input "heading:\"spaced phrase\"") + (input "") + (input "heading:\"spaced phrase\"+another") + (input "heading:\"spaced phrase\"+another todo:check") + combinator + (parsed (peg-parse-string ((query (+ (or (and predicate `(pred args -- (list :predicate pred :args args))) + (and plain-string `(s -- (list :predicate 'regexp :args s)))) + (opt (+ (syntax-class whitespace) (any))))) + (plain-string (substring (+ (not (syntax-class whitespace)) (any)))) + (predicate (substring keyword) ":" (opt args)) + (keyword (or "heading" "tags" "todo" "property")) + (args (substring (+ (and (or quoted-arg unquoted-arg) (opt separator))))) + (quoted-arg "\"" (+ (not (or separator "\"")) (any)) "\"") + (unquoted-arg (+ (not (or separator "\"" (syntax-class whitespace))) (any))) + (separator (or (and "|" (action (setf combinator 'or))) + (and "+" (action (setf combinator 'and))) + (and ":" (action (setf combinator 'arg)))))) + input 'noerror))) + parsed) + ;;=> (t (:predicate "todo" :args "check") (:predicate "heading" :args "\"spaced phrase\"+another")) +#+END_SRC + +Well, a bit of fiddling (lots of trial-and-error required) produced this: + +#+BEGIN_SRC elisp + (-let* ((input "todo:check|someday") + (input "tags:universe+space") + (input "heading:\"spaced phrase\"") + (input "") + (input "heading:\"spaced phrase\"+another") + (input "heading:\"spaced phrase\"+another todo:check") + combinator + (parsed (peg-parse-string ((query (+ (or (and predicate `(pred args -- (list :predicate pred :args args))) + (and plain-string `(s -- (list :predicate 'regexp :args s)))) + (opt (+ (syntax-class whitespace) (any))))) + (plain-string (substring (+ (not (syntax-class whitespace)) (any)))) + (predicate (substring keyword) ":" (opt args)) + (keyword (or "heading" "tags" "todo" "property")) + (args (list (+ (and (substring (or quoted-arg unquoted-arg)) (opt separator))))) + (quoted-arg "\"" (+ (not (or separator "\"")) (any)) "\"") + (unquoted-arg (+ (not (or separator "\"" (syntax-class whitespace))) (any))) + (separator (or (and "|" (action (setf combinator 'or))) + (and "+" (action (setf combinator 'and))) + (and ":" (action (setf combinator 'arg)))))) + input 'noerror))) + parsed) + ;;=> (t (:predicate "todo" :args ("check")) (:predicate "heading" :args ("\"spaced phrase\"" "another"))) +#+END_SRC + +That seems pretty usable! + +** TODO [#B] Add more sorters? + ++ [ ] =category= ++ [ ] Any date :: e.g. it would search for timestamps (active/inactive?) anywhere in an entry + +** TODO [#B] Change ~(deadline)~'s ~auto~ argument to ~:auto~ and/or ~:auto t~ + +For consistency, because plain ~auto~ looks like a variable, and even though it's in a quoted form, it could be confusing. + +** TODO [#B] Default sort + +Would probably be useful to have a default sort option. + +** TODO [#B] Normalize queries + +[2019-07-16 Tue 11:49] This serves two purposes: + +1. Equivalent queries will return the same results from the cache. +2. The selectors that can be converted to the fastest preamble regexps will be sorted first, so the fastest preamble will be used. Although this may not always be straightforward. For example, in a file with only a few =TODO= items, the ~(todo "TODO")~ selector would convert to a preamble that would quickly search through the file. But if there were a thousand =TODO= items, it wouldn't be as much of a benefit, and a ~(regexp "something")~ selector's preamble might be much faster, depending on how many times =something= appears in the file. + +So the second purpose might actually be a drawback, because it would prevent users from optimizing their queries with knowledge of their data. Maybe there should be an option to not normalize queries, so advanced users can order their selectors manually. + +** TODO [#B] Quickly change sorting/grouping in search views + +With caching, the search doesn't need to be repeated, so resorting/regrouping can be very fast. + +** TODO [#B] Recursive queries + +For lack of a better term. A way to query for certain headings, and then gather results of a different query at each result of the first query, displaying all results in a single view. + +This works pretty well. It needs polishing, and some refactoring so items can be indented completely (rather than leaving the keyword unindented, as it is now). + +#+BEGIN_SRC elisp + (cl-defun org-ql-agenda-recursive (buffers-or-files queries &key action narrow sort) + (cl-labels ((rec (queries element indent) + (org-with-point-at (org-element-property :org-marker element) + (when-let* ((results (progn + (org-narrow-to-subtree) + (org-ql-select (current-buffer) + (car queries) + :action 'element-with-markers + :narrow t + :sort sort)))) + ;; Indent entry for each level + (setf results (--map + (org-element-put-property it :raw-value + (concat (s-repeat (* 5 indent) " ") + (org-element-property :raw-value it))) + results)) + (cons it (if (cdr queries) + (--map (rec (cdr queries) it) + results) + results)))))) + (when-let* ((indent 0) + (results (org-ql-select buffers-or-files + (car queries) + :action 'element-with-markers + :narrow narrow + :sort sort))) + (->> (if (cdr queries) + (--map (rec (cdr queries) it (1+ indent)) + results) + results) + (-flatten-n (1- (length queries))) + -non-nil + (org-ql-agenda--agenda nil nil + :entries))))) + + (cl-defun org-ql-select-recursive (buffers-or-files queries &key action narrow sort) + (cl-labels ((rec (queries element indent) + (org-with-point-at (org-element-property :org-marker element) + (when-let* ((results (progn + (org-narrow-to-subtree) + (org-ql-select (current-buffer) + (car queries) + :action 'element-with-markers + :narrow t + :sort sort)))) + ;; Indent entry for each level + (setf results (--map + (org-element-put-property it :raw-value + (concat (s-repeat (* 5 indent) " ") + (org-element-property :raw-value it))) + results)) + (cons it (if (cdr queries) + (--map (rec (cdr queries) it) + results) + results)))))) + (when-let* ((indent 0) + (results (org-ql-select buffers-or-files + (car queries) + :action 'element-with-markers + :narrow narrow + :sort sort))) + (->> (if (cdr queries) + (--map (rec (cdr queries) it (1+ indent)) + results) + results) + (-flatten-n (1- (length queries))) + -non-nil)))) +#+END_SRC ** TODO [#B] Timeline view @@ -186,104 +446,6 @@ Another, more up-to-date implementation: ;; (org-ql-view-timeline "~/org/main.org" :from "2019-11-01") #+END_SRC -** TODO [#B] Add more sorters? - -+ [ ] =category= -+ [ ] Any date :: e.g. it would search for timestamps (active/inactive?) anywhere in an entry - -** TODO [#B] Default sort - -Would probably be useful to have a default sort option. - -** TODO [#B] Normalize queries - -[2019-07-16 Tue 11:49] This serves two purposes: - -1. Equivalent queries will return the same results from the cache. -2. The selectors that can be converted to the fastest preamble regexps will be sorted first, so the fastest preamble will be used. Although this may not always be straightforward. For example, in a file with only a few =TODO= items, the ~(todo "TODO")~ selector would convert to a preamble that would quickly search through the file. But if there were a thousand =TODO= items, it wouldn't be as much of a benefit, and a ~(regexp "something")~ selector's preamble might be much faster, depending on how many times =something= appears in the file. - -So the second purpose might actually be a drawback, because it would prevent users from optimizing their queries with knowledge of their data. Maybe there should be an option to not normalize queries, so advanced users can order their selectors manually. - -** TODO [#B] Quickly change sorting/grouping in search views - -With caching, the search doesn't need to be repeated, so resorting/regrouping can be very fast. - -** TODO [#B] Recursive queries - -For lack of a better term. A way to query for certain headings, and then gather results of a different query at each result of the first query, displaying all results in a single view. - -This works pretty well. It needs polishing, and some refactoring so items can be indented completely (rather than leaving the keyword unindented, as it is now). - -#+BEGIN_SRC elisp - (cl-defun org-ql-agenda-recursive (buffers-or-files queries &key action narrow sort) - (cl-labels ((rec (queries element indent) - (org-with-point-at (org-element-property :org-marker element) - (when-let* ((results (progn - (org-narrow-to-subtree) - (org-ql-select (current-buffer) - (car queries) - :action 'element-with-markers - :narrow t - :sort sort)))) - ;; Indent entry for each level - (setf results (--map - (org-element-put-property it :raw-value - (concat (s-repeat (* 5 indent) " ") - (org-element-property :raw-value it))) - results)) - (cons it (if (cdr queries) - (--map (rec (cdr queries) it) - results) - results)))))) - (when-let* ((indent 0) - (results (org-ql-select buffers-or-files - (car queries) - :action 'element-with-markers - :narrow narrow - :sort sort))) - (->> (if (cdr queries) - (--map (rec (cdr queries) it (1+ indent)) - results) - results) - (-flatten-n (1- (length queries))) - -non-nil - (org-ql-agenda--agenda nil nil - :entries))))) - - (cl-defun org-ql-select-recursive (buffers-or-files queries &key action narrow sort) - (cl-labels ((rec (queries element indent) - (org-with-point-at (org-element-property :org-marker element) - (when-let* ((results (progn - (org-narrow-to-subtree) - (org-ql-select (current-buffer) - (car queries) - :action 'element-with-markers - :narrow t - :sort sort)))) - ;; Indent entry for each level - (setf results (--map - (org-element-put-property it :raw-value - (concat (s-repeat (* 5 indent) " ") - (org-element-property :raw-value it))) - results)) - (cons it (if (cdr queries) - (--map (rec (cdr queries) it) - results) - results)))))) - (when-let* ((indent 0) - (results (org-ql-select buffers-or-files - (car queries) - :action 'element-with-markers - :narrow narrow - :sort sort))) - (->> (if (cdr queries) - (--map (rec (cdr queries) it (1+ indent)) - results) - results) - (-flatten-n (1- (length queries))) - -non-nil)))) -#+END_SRC - ** TODO [#B] Timeline view :PROPERTIES: :ID: 00573552-ffe9-4608-8904-7f6c73246b6d @@ -363,137 +525,6 @@ e.g. as mentioned by Samuel Wales at https://lists.gnu.org/archive/html/emacs-or e.g. doesn't currently show the =View= header. -** TODO [#C] Test caching - -See notes on 1dce9467f25428b5289d3665cd840820969ed65a. It would be good to test the caching explicitly, at least for some queries, because if I were to completely break it again, in such a way that results were stored but retrieval always failed, the tests wouldn't catch it. - -** TODO [#C] ~org-agenda-skip-function~ - -As discussed [[https://www.reddit.com/r/emacs/comments/cnrt2d/orgqlblock_integrates_orgql_into_org_agenda/ewi1q36/][here]], this is a cool feature that allows further integration into existing custom agenda commands. Example: - -#+BEGIN_SRC elisp - ;;; lima-0ac22.el --- -*- lexical-binding: t; -*- - - (defun org-ql-skip-function (query) - "Return a function for `org-agenda-skip-function' for QUERY. - Compared to using QUERY in `org-ql', this effectively turns QUERY - into (not QUERY)." - (let* ((predicate (org-ql--query-predicate '(regexp "ryo-modal")))) - (lambda () - ;; This duplicates the functionality of `org-ql--select'. - (let (orig-fns) - (--each org-ql-predicates - ;; Save original function mappings. - (let ((name (plist-get it :name))) - (push (list :name name :fn (symbol-function name)) orig-fns))) - (unwind-protect - (progn - (--each org-ql-predicates - ;; Set predicate functions. - (fset (plist-get it :name) (plist-get it :fn))) - ;; Run query. - ;; FIXME: "If this function returns nil, the current match should not be skipped. - ;; Otherwise, the function must return a position from where the search - ;; should be continued." - (funcall predicate)) - (--each orig-fns - ;; Restore original function mappings. - (fset (plist-get it :name) (plist-get it :fn)))))))) - - (let ((org-agenda-custom-commands - '(("z" "Z" - ((tags-todo "PRIORITY=\"A\"+Emacs/!SOMEDAY")) - ((org-agenda-skip-function (org-ql-skip-function '(regexp "ryo-modal"))))) - ((org-agenda-files ("~/org/inbox.org")))))) - (org-agenda nil "z")) -#+END_SRC - -I should benchmark it to see how much difference it makes, because all those ~fset~ calls on each heading isn't free. But if a macro were used to rewrite the built-in predicates to their full versions, all of that could be avoided... - -** TODO [#C] Test caching - -See notes on 1dce9467f25428b5289d3665cd840820969ed65a. It would be good to test the caching explicitly, at least for some queries, because if I were to completely break it again, in such a way that results were stored but retrieval always failed, the tests wouldn't catch it. - -** TODO [#C] Update commentary - -** UNDERWAY [#A] Outline path predicate - -[2019-10-07 Mon 11:15] There are two potential types of matching on outline paths: matching on any part of the outline path, and matching a specific path. For example, with this file: - -#+BEGIN_SRC org - ,* Food - - ,** Fruits - - ,*** Blueberries - - ,*** Grapes - - ,** Vegetables - - ,*** Carrots - - ,*** Potatoes -#+END_SRC - -Matching could work like this: - -+ ~(outline "Food")~ :: Would return all nodes. -+ ~(outline "Fruits")~ :: Would return all fruits. - -Matching at a specific path would be something like: - -+ ~(outline-path "Food" "Fruits")~ :: Would return all fruits. But if there were another =Fruits= heading somewhere in the file, under a different outline path, it would not return its nodes. - -I'm not sure the second type of matching belongs in predicates, but rather in [[id:6935361a-9e1d-48ec-8d17-876a90b90f50][this]]. - -To implement this with good performance probably needs an outline-path cache. I can probably repurpose the tags caching, but maybe it should be generalized. - -[2019-10-07 Mon 13:09] This is basically done with =be2bf6df316b96b3ed56851b8ffe0e227796b621= and =be2bf6df316b96b3ed56851b8ffe0e227796b621=, but not the specific-path matching. I left a =MAYBE= in the code about "anchored" path matching, which would accomplish that. - -** UNDERWAY [#B] Implement view with tabulated-list-mode or magit-section - -[2019-09-02 Mon 05:20] Especially with some of the new packages that make =tabulated-list-mode= easier to use, like =navigel=. However, it would probably break grouping, or require some kind of adapter or extension to do grouping, so I don't know if that would work. Something like =magit-section= would be more flexible, and could be recursively grouped, like in =magit-todos=. - -[2019-09-08 Sun 10:06] Came up with a prototype yesterday, in branch =wip/view-section=. Seems to work pretty well. - -One of the things in that branch is =org-ql-item=, which is a struct used to carry data for query results. It seems to work well. - -Another idea for it is to simply store the element from =org-element-headline-parser= in one of its slots, and populate all of the other slots lazily, like =ts=. It already does that for a couple of slots, but I think it makes sense to do it for all of them, to reduce the overhead of making the struct for every query result. - -*** TODO Experiment with =widget= - -The code that powers the customization UI. Has collapsible and customizable widgets. Might be perfect. Might even enable editing items in the list, with functions to make the changes in the source buffers. - -*** Prior art - -**** magit-section - -**** [[https://github.com/m2ym/direx-el][GitHub - m2ym/direx-el: Directory Explorer for GNU Emacs]] - -Appears to be another implementation of magit-section-like expandable sections. Not sure which came first. Its code seems like it may be helpful. - -*** Code idea - -Inserting items into a view could look something like this: - -#+BEGIN_SRC elisp - (org-ql-view--insert-items - :header (ts-format "%Y-%m-%d" (ts-now)) - :items (org-ql-query - :select #'org-ql-current-item - :from (org-agenda-files) - :where '(or (deadline auto) - (scheduled :on today) - (ts-active :on today))) - :group-by '(org-ql-item-priority - org-ql-item-todo)) -#+END_SRC - -Items would be structs, and the =group-by= argument would be a list of accessors, like how =magit-todos= works. Arbitrary functions could also be passed to =group-by=, as whatever value the function returns is used to group them. =org-ql-current-item= would be a function that turns the result of =org-element-headline-parser= into the struct. - -Not sure if it should automatically add the number of items to the header, or if that should be done manually. - ** UNDERWAY [#B] "Node" caching [2019-09-05 Thu 12:30] At each node checked by a predicate, make a struct that stores attributes we can query for, as well as parent node position. This would let us speed up ancestor-based queries, like =(ancestor (todo "WAITING"))=. Ideally it would also serve as the tag hierarchy cache. @@ -598,6 +629,49 @@ This works okay (except the priority accessor needs to be fixed, because Org pri :action #'helm-org-goto-marker)))) #+END_SRC +** UNDERWAY [#B] Implement view with tabulated-list-mode or magit-section + +[2019-09-02 Mon 05:20] Especially with some of the new packages that make =tabulated-list-mode= easier to use, like =navigel=. However, it would probably break grouping, or require some kind of adapter or extension to do grouping, so I don't know if that would work. Something like =magit-section= would be more flexible, and could be recursively grouped, like in =magit-todos=. + +[2019-09-08 Sun 10:06] Came up with a prototype yesterday, in branch =wip/view-section=. Seems to work pretty well. + +One of the things in that branch is =org-ql-item=, which is a struct used to carry data for query results. It seems to work well. + +Another idea for it is to simply store the element from =org-element-headline-parser= in one of its slots, and populate all of the other slots lazily, like =ts=. It already does that for a couple of slots, but I think it makes sense to do it for all of them, to reduce the overhead of making the struct for every query result. + +*** TODO Experiment with =widget= + +The code that powers the customization UI. Has collapsible and customizable widgets. Might be perfect. Might even enable editing items in the list, with functions to make the changes in the source buffers. + +*** Code idea + +Inserting items into a view could look something like this: + +#+BEGIN_SRC elisp + (org-ql-view--insert-items + :header (ts-format "%Y-%m-%d" (ts-now)) + :items (org-ql-query + :select #'org-ql-current-item + :from (org-agenda-files) + :where '(or (deadline auto) + (scheduled :on today) + (ts-active :on today))) + :group-by '(org-ql-item-priority + org-ql-item-todo)) +#+END_SRC + +Items would be structs, and the =group-by= argument would be a list of accessors, like how =magit-todos= works. Arbitrary functions could also be passed to =group-by=, as whatever value the function returns is used to group them. =org-ql-current-item= would be a function that turns the result of =org-element-headline-parser= into the struct. + +Not sure if it should automatically add the number of items to the header, or if that should be done manually. + +*** Prior art + +**** [[https://github.com/m2ym/direx-el][GitHub - m2ym/direx-el: Directory Explorer for GNU Emacs]] + +Appears to be another implementation of magit-section-like expandable sections. Not sure which came first. Its code seems like it may be helpful. + +**** magit-section + ** MAYBE Fancier plain query syntax for tags and properties e.g. something like [[https://200ok.ch/posts/2020-02-09_creating_org_mode_sparse_trees_in_emacs_and_organice.html][Organice has now]]. @@ -617,133 +691,10 @@ Searching that with a query like =property:author=Fabrice= returns nothing; the [2019-12-30 Mon 22:42] Newer versions of Org have =org-num-mode=, which uses =font-lock= and =after-change-functions= to update overlays in the buffer with outline numbering. Maybe a similar approach could be used to cache arbitrary values for headings in a buffer without having to discard the whole buffer's cache when the buffer changes. -** MAYBE [#C] Fancier searching for inherited tags - -When tag inheritance is enabled, and the given tags aren't file-level tags, we could search directly to headings containing the matching tags, and then only do per-heading matching on the subtrees. Sometimes that would be much faster. However, that might make the logic special-cased and complicated. Might need a redesign of the whole matching/predicate system to do cleanly. - ** MAYBE Use Bovine or Wisent to parse non-sexp syntax They're both built-in to Emacs, so we could drop the =peg= dependency. -** DONE [#A] Helm command - -In branch =wip/helm-org-ql=. Works really well, should add it and demonstrate it. - -*** DONE Add - -*** DONE Demonstrate - -*** DONE Parsing non-Lisp queries - -[2019-09-12 Thu 12:56] Lisp is so much easier to deal with, but some people don't like parentheses. So I'm trying to add a non-Lisp-style query syntax. It gets complicated. The =peg= library helps, but its documentation is sparse and incomplete. This seems to work fairly well for single-token queries, but I'm not sure if I can or should cram it all into one parser, or use separate ones for certain keywords. - -#+BEGIN_SRC elisp - (-let* ((input "todo:check|someday") - (input "tags:universe+space") - (input "heading:\"spaced phrase\"") - (input "") - (input "heading:\"spaced phrase\"+another") - combinator - (parsed (peg-parse-string ((predicate (substring keyword) ":" (opt args)) - (keyword (or "heading" "tags" "todo" "property")) - (args (+ (and (or quoted-arg unquoted-arg) (opt separator)))) - (quoted-arg "\"" unquoted-arg "\"") - (unquoted-arg (substring (+ (not (or separator "\"")) (any)))) - (separator (or (and "|" (action (setf combinator 'or))) - (and "+" (action (setf combinator 'and))) - (and ":" (action (setf combinator 'arg)))))) - input 'noerror)) - ((predicate . args) (nreverse parsed))) - (when predicate - (list :predicate predicate :args args :combinator combinator))) - ;;=> (:predicate "heading" :args ("spaced phrase" "another" t) :combinator and) -#+END_SRC - -I don't know where the =t= is coming from. - -The next step is to make it work with multi-token queries. It needs to handle all of the tokens in one parser so it can handle quoted phrases (if we split on spaces, it would split quoted phrases). But that makes getting the arguments out of it more difficult. Probably need to do something like this: - -#+BEGIN_SRC elisp - (-let* ((input "todo:check|someday") - (input "tags:universe+space") - (input "heading:\"spaced phrase\"") - (input "") - (input "heading:\"spaced phrase\"+another") - combinator - (parsed (peg-parse-string ((query (+ (or (and predicate `(pred args -- (list :predicate pred :args args))) - (and plain-string `(s -- (list :predicate 'regexp :args s)))) - (opt (syntax-class whitespace)))) - (plain-string (substring (+ (not (syntax-class whitespace)) (any)))) - (predicate (substring keyword) ":" (opt args)) - (keyword (or "heading" "tags" "todo" "property")) - (args (+ (and (or quoted-arg unquoted-arg) (opt separator)))) - (quoted-arg "\"" unquoted-arg "\"") - (unquoted-arg (substring (+ (not (or separator "\"")) (any)))) - (separator (or (and "|" (action (setf combinator 'or))) - (and "+" (action (setf combinator 'and))) - (and ":" (action (setf combinator 'arg)))))) - input 'noerror))) - parsed) -#+END_SRC - -In which lists are pushed onto the stack and returned, rather than strings. But I don't understand yet exactly how to use the =var= forms to consume input from the "value stack"; I need to study the examples more. I'm also not sure if that will even work with a variable number of arguments. - -This seems to work, but we'll have to parse the args again in a separate step: - -#+BEGIN_SRC elisp - (-let* ((input "todo:check|someday") - (input "tags:universe+space") - (input "heading:\"spaced phrase\"") - (input "") - (input "heading:\"spaced phrase\"+another") - (input "heading:\"spaced phrase\"+another todo:check") - combinator - (parsed (peg-parse-string ((query (+ (or (and predicate `(pred args -- (list :predicate pred :args args))) - (and plain-string `(s -- (list :predicate 'regexp :args s)))) - (opt (+ (syntax-class whitespace) (any))))) - (plain-string (substring (+ (not (syntax-class whitespace)) (any)))) - (predicate (substring keyword) ":" (opt args)) - (keyword (or "heading" "tags" "todo" "property")) - (args (substring (+ (and (or quoted-arg unquoted-arg) (opt separator))))) - (quoted-arg "\"" (+ (not (or separator "\"")) (any)) "\"") - (unquoted-arg (+ (not (or separator "\"" (syntax-class whitespace))) (any))) - (separator (or (and "|" (action (setf combinator 'or))) - (and "+" (action (setf combinator 'and))) - (and ":" (action (setf combinator 'arg)))))) - input 'noerror))) - parsed) - ;;=> (t (:predicate "todo" :args "check") (:predicate "heading" :args "\"spaced phrase\"+another")) -#+END_SRC - -Well, a bit of fiddling (lots of trial-and-error required) produced this: - -#+BEGIN_SRC elisp - (-let* ((input "todo:check|someday") - (input "tags:universe+space") - (input "heading:\"spaced phrase\"") - (input "") - (input "heading:\"spaced phrase\"+another") - (input "heading:\"spaced phrase\"+another todo:check") - combinator - (parsed (peg-parse-string ((query (+ (or (and predicate `(pred args -- (list :predicate pred :args args))) - (and plain-string `(s -- (list :predicate 'regexp :args s)))) - (opt (+ (syntax-class whitespace) (any))))) - (plain-string (substring (+ (not (syntax-class whitespace)) (any)))) - (predicate (substring keyword) ":" (opt args)) - (keyword (or "heading" "tags" "todo" "property")) - (args (list (+ (and (substring (or quoted-arg unquoted-arg)) (opt separator))))) - (quoted-arg "\"" (+ (not (or separator "\"")) (any)) "\"") - (unquoted-arg (+ (not (or separator "\"" (syntax-class whitespace))) (any))) - (separator (or (and "|" (action (setf combinator 'or))) - (and "+" (action (setf combinator 'and))) - (and ":" (action (setf combinator 'arg)))))) - input 'noerror))) - parsed) - ;;=> (t (:predicate "todo" :args ("check")) (:predicate "heading" :args ("\"spaced phrase\"" "another"))) -#+END_SRC - -That seems pretty usable! - ** DONE Byte-compile lambdas CLOSED: [2018-05-09 Wed 17:30] :LOGBOOK: @@ -982,6 +933,63 @@ If I made the =date= selector a macro, I could avoid the need to quote the compa Also, maybe instead of having a single =date= selector, I should have =scheduled=, =deadline=, etc. +** TODO [#C] ~org-agenda-skip-function~ + +As discussed [[https://www.reddit.com/r/emacs/comments/cnrt2d/orgqlblock_integrates_orgql_into_org_agenda/ewi1q36/][here]], this is a cool feature that allows further integration into existing custom agenda commands. Example: + +#+BEGIN_SRC elisp + ;;; lima-0ac22.el --- -*- lexical-binding: t; -*- + + (defun org-ql-skip-function (query) + "Return a function for `org-agenda-skip-function' for QUERY. + Compared to using QUERY in `org-ql', this effectively turns QUERY + into (not QUERY)." + (let* ((predicate (org-ql--query-predicate '(regexp "ryo-modal")))) + (lambda () + ;; This duplicates the functionality of `org-ql--select'. + (let (orig-fns) + (--each org-ql-predicates + ;; Save original function mappings. + (let ((name (plist-get it :name))) + (push (list :name name :fn (symbol-function name)) orig-fns))) + (unwind-protect + (progn + (--each org-ql-predicates + ;; Set predicate functions. + (fset (plist-get it :name) (plist-get it :fn))) + ;; Run query. + ;; FIXME: "If this function returns nil, the current match should not be skipped. + ;; Otherwise, the function must return a position from where the search + ;; should be continued." + (funcall predicate)) + (--each orig-fns + ;; Restore original function mappings. + (fset (plist-get it :name) (plist-get it :fn)))))))) + + (let ((org-agenda-custom-commands + '(("z" "Z" + ((tags-todo "PRIORITY=\"A\"+Emacs/!SOMEDAY")) + ((org-agenda-skip-function (org-ql-skip-function '(regexp "ryo-modal"))))) + ((org-agenda-files ("~/org/inbox.org")))))) + (org-agenda nil "z")) +#+END_SRC + +I should benchmark it to see how much difference it makes, because all those ~fset~ calls on each heading isn't free. But if a macro were used to rewrite the built-in predicates to their full versions, all of that could be avoided... + +** TODO [#C] Test caching + +See notes on 1dce9467f25428b5289d3665cd840820969ed65a. It would be good to test the caching explicitly, at least for some queries, because if I were to completely break it again, in such a way that results were stored but retrieval always failed, the tests wouldn't catch it. + +** TODO [#C] Test caching + +See notes on 1dce9467f25428b5289d3665cd840820969ed65a. It would be good to test the caching explicitly, at least for some queries, because if I were to completely break it again, in such a way that results were stored but retrieval always failed, the tests wouldn't catch it. + +** TODO [#C] Update commentary + +** MAYBE [#C] Fancier searching for inherited tags + +When tag inheritance is enabled, and the given tags aren't file-level tags, we could search directly to headings containing the matching tags, and then only do per-heading matching on the subtrees. Sometimes that would be much faster. However, that might make the logic special-cased and complicated. Might need a redesign of the whole matching/predicate system to do cleanly. + * References ** [[https://m00natic.github.io/lisp/manual-jit.html][Uniform Structured Syntax, Metaprogramming and Run-time Compilation]] From ab5e9aa9116010e5da1995bf19ff26f55b93c214 Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Thu, 26 Mar 2020 04:41:46 -0500 Subject: [PATCH 185/615] Notes: Add idea --- notes.org | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/notes.org b/notes.org index 9bd04d2..4cf5b39 100644 --- a/notes.org +++ b/notes.org @@ -525,6 +525,10 @@ e.g. as mentioned by Samuel Wales at https://lists.gnu.org/archive/html/emacs-or e.g. doesn't currently show the =View= header. +** TODO Dynamic blocks + +For example, [[https://egli.dev/posts/using-org-mode-for-meeting-minutes/][this blog article]] shows a way that Org's existing dynamic =columnview= blocks can be very useful. =org-ql= queries could be useful in them as well. + ** UNDERWAY [#B] "Node" caching [2019-09-05 Thu 12:30] At each node checked by a predicate, make a struct that stores attributes we can query for, as well as parent node position. This would let us speed up ancestor-based queries, like =(ancestor (todo "WAITING"))=. Ideally it would also serve as the tag hierarchy cache. From 81673fc7b599347e6fec0755caadb69fb5a2e430 Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Tue, 7 Apr 2020 12:05:24 -0500 Subject: [PATCH 186/615] Fix: (org-ql-predicates) Use eval-and-compile This is technically correct, even though package.el might obscure the problem by causing the file to be loaded before it is compiled. --- org-ql.el | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/org-ql.el b/org-ql.el index a03f6d6..43e5237 100644 --- a/org-ql.el +++ b/org-ql.el @@ -123,10 +123,11 @@ tick, and another hash table keyed on buffer position, whose values are alists in which the key is a function and the value is the value returned by it at that node.") -(defvar org-ql-predicates - (list (list :name 'org-back-to-heading :fn (symbol-function 'org-back-to-heading))) - "Plist of predicates, their corresponding functions, and their docstrings. -This list should not contain any duplicates.") +(eval-and-compile + (defvar org-ql-predicates + (list (list :name 'org-back-to-heading :fn (symbol-function 'org-back-to-heading))) + "Plist of predicates, their corresponding functions, and their docstrings. +This list should not contain any duplicates.")) ;;;; Customization From f4d7399e677904cdc7e220440610704e4bd668bc Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Tue, 7 Apr 2020 12:06:57 -0500 Subject: [PATCH 187/615] Fix: (org-ql-view--contract-buffers-files) Only compare to function If the org-agenda-files variable points to a file pointing to a list of agenda files, it shouldn't be compared to. We should only compare to the value returned by the org-agenda-files function. Fixes #104. Thanks to @gdindi for reporting. --- org-ql-view.el | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/org-ql-view.el b/org-ql-view.el index d6cd536..7739ea7 100644 --- a/org-ql-view.el +++ b/org-ql-view.el @@ -841,14 +841,14 @@ current buffer. Otherwise BUFFERS-FILES is returned unchanged." list))) ;; TODO: Test this more exhaustively. (pcase buffers-files - ((pred listp) (pcase (expand-files buffers-files) - ((or (pred (seq-set-equal-p (mapcar #'expand-file-name (org-agenda-files)))) - (pred (seq-set-equal-p (mapcar #'expand-file-name org-agenda-files)))) - "org-agenda-files") - ((pred (seq-set-equal-p (org-ql-search-directories-files))) - "org-directory") - (_ (let ((print-length nil)) - (concat "'" (prin1-to-string buffers-files)))))) + ((pred listp) + (pcase (expand-files buffers-files) + ((pred (seq-set-equal-p (mapcar #'expand-file-name (org-agenda-files)))) + "org-agenda-files") + ((pred (seq-set-equal-p (org-ql-search-directories-files))) + "org-directory") + (_ (let ((print-length nil)) + (concat "'" (prin1-to-string buffers-files)))))) ((pred (equal (current-buffer))) "buffer") ((or 'org-agenda-files '(function org-agenda-files)) From 5a031bf5c19d274934f80d616d6fde62a6db5786 Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Fri, 1 May 2020 06:20:46 -0500 Subject: [PATCH 188/615] Fix: (org-ql--select) Bind case-fold-search only around preamble Fixes #114. Thanks to @bitclick for reporting. Released as 0.4.5. --- README.org | 5 ++ org-ql.el | 14 ++--- org-ql.info | 124 ++++++++++++++++++++++++------------------- tests/test-org-ql.el | 7 +++ 4 files changed, 89 insertions(+), 61 deletions(-) diff --git a/README.org b/README.org index d6e654b..b272b15 100644 --- a/README.org +++ b/README.org @@ -398,6 +398,11 @@ Expands into a call to ~org-ql-select~ with the same arguments. For convenience /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.4.5 + +*Fixed* ++ Non-case-folding predicates like ~(todo)~ unnecessarily disabled case-folding for other predicates. ([[https://github.com/alphapapa/org-ql/issues/114][Issue #114]]. Thanks to [[https://github.com/bitclick][@bitclick]] for reporting.) + ** 0.4.4 *Fixed* diff --git a/org-ql.el b/org-ql.el index aef1854..0307d78 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.4.4 +;; Version: 0.4.5 ;; Package-Requires: ((emacs "26.1") (dash "2.13") (dash-functional "1.2.0") (f "0.17.2") (org "9.0") (org-super-agenda "1.2-pre") (ov "1.0.6") (peg "0.6") (s "1.12.0") (ts "0.2-pre")) ;; Keywords: hypermedia, outlines, Org, agenda @@ -355,12 +355,12 @@ If NARROW is non-nil, buffer will not be widened." (message "org-ql: No headings in buffer: %s" (current-buffer))) nil) ;; Find matching entries. - (cond (preamble (let ((case-fold-search preamble-case-fold)) - (cl-loop while (re-search-forward preamble nil t) - do (outline-back-to-heading 'invisible-ok) - when (funcall predicate) - collect (funcall action) - do (outline-next-heading)))) + (cond (preamble (cl-loop while (let ((case-fold-search preamble-case-fold)) + (re-search-forward preamble nil t)) + do (outline-back-to-heading 'invisible-ok) + when (funcall predicate) + collect (funcall action) + do (outline-next-heading))) (t (cl-loop when (funcall predicate) collect (funcall action) while (outline-next-heading)))))))) diff --git a/org-ql.info b/org-ql.info index 5919d5e..b5d86ef 100644 --- a/org-ql.info +++ b/org-ql.info @@ -63,6 +63,7 @@ Functions / Macros Changelog +* 0.4.5: 045. * 0.4.4: 044. * 0.4.3: 043. * 0.4.2: 042. @@ -151,7 +152,8 @@ File: README.info, Node: Usage, Next: Changelog, Prev: Installation, Up: Top 4 Usage ******* - • • • • + • • + • • • • • Feedback on these APIs is welcome. Eventually, after being tested and polished, they will be considered stable. @@ -706,6 +708,7 @@ releases. * Menu: +* 0.4.5: 045. * 0.4.4: 044. * 0.4.3: 043. * 0.4.2: 042. @@ -721,9 +724,21 @@ releases. * 0.1: 01.  -File: README.info, Node: 044, Next: 043, Up: Changelog +File: README.info, Node: 045, Next: 044, Up: Changelog -5.1 0.4.4 +5.1 0.4.5 +========= + +*Fixed* + • Non-case-folding predicates like ‘(todo)’ unnecessarily disabled + case-folding for other predicates. (Issue #114 + (https://github.com/alphapapa/org-ql/issues/114). Thanks to + @bitclick (https://github.com/bitclick) for reporting.) + + +File: README.info, Node: 044, Next: 043, Prev: 045, Up: Changelog + +5.2 0.4.4 ========= *Fixed* @@ -735,7 +750,7 @@ File: README.info, Node: 044, Next: 043, Up: Changelog  File: README.info, Node: 043, Next: 042, Prev: 044, Up: Changelog -5.2 0.4.3 +5.3 0.4.3 ========= *Fixed* @@ -745,7 +760,7 @@ File: README.info, Node: 043, Next: 042, Prev: 044, Up: Changelog  File: README.info, Node: 042, Next: 041, Prev: 043, Up: Changelog -5.3 0.4.2 +5.4 0.4.2 ========= *Fixed* @@ -754,7 +769,7 @@ File: README.info, Node: 042, Next: 041, Prev: 043, Up: Changelog  File: README.info, Node: 041, Next: 04, Prev: 042, Up: Changelog -5.4 0.4.1 +5.5 0.4.1 ========= *Fixed* @@ -764,7 +779,7 @@ File: README.info, Node: 041, Next: 04, Prev: 042, Up: Changelog  File: README.info, Node: 04, Next: 032, Prev: 041, Up: Changelog -5.5 0.4 +5.6 0.4 ======= _Note:_ The next release, 0.5, may include changes which will require @@ -845,7 +860,7 @@ as they will be pushed to the master branch when ready.  File: README.info, Node: 032, Next: 031, Prev: 04, Up: Changelog -5.6 0.3.2 +5.7 0.3.2 ========= *Fixed* @@ -858,7 +873,7 @@ File: README.info, Node: 032, Next: 031, Prev: 04, Up: Changelog  File: README.info, Node: 031, Next: 03, Prev: 032, Up: Changelog -5.7 0.3.1 +5.8 0.3.1 ========= *Fixed* @@ -868,7 +883,7 @@ File: README.info, Node: 031, Next: 03, Prev: 032, Up: Changelog  File: README.info, Node: 03, Next: 023, Prev: 031, Up: Changelog -5.8 0.3 +5.9 0.3 ======= *Added* @@ -933,8 +948,8 @@ File: README.info, Node: 03, Next: 023, Prev: 031, Up: Changelog  File: README.info, Node: 023, Next: 022, Prev: 03, Up: Changelog -5.9 0.2.3 -========= +5.10 0.2.3 +========== *Fixed* • Priority queries could fail to match headings whose to-do keywords @@ -943,7 +958,7 @@ File: README.info, Node: 023, Next: 022, Prev: 03, Up: Changelog  File: README.info, Node: 022, Next: 021, Prev: 023, Up: Changelog -5.10 0.2.2 +5.11 0.2.2 ========== *Fixed* @@ -954,7 +969,7 @@ File: README.info, Node: 022, Next: 021, Prev: 023, Up: Changelog  File: README.info, Node: 021, Next: 02, Prev: 022, Up: Changelog -5.11 0.2.1 +5.12 0.2.1 ========== *Fixed* @@ -964,7 +979,7 @@ File: README.info, Node: 021, Next: 02, Prev: 022, Up: Changelog  File: README.info, Node: 02, Next: 01, Prev: 021, Up: Changelog -5.12 0.2 +5.13 0.2 ======== *Added* @@ -1047,7 +1062,7 @@ File: README.info, Node: 02, Next: 01, Prev: 021, Up: Changelog  File: README.info, Node: 01, Prev: 02, Up: Changelog -5.13 0.1 +5.14 0.1 ======== First tagged release. @@ -1108,44 +1123,45 @@ GPLv3  Tag Table: Node: Top225 -Node: Contents1462 -Node: Screenshots1636 -Node: Installation1754 -Node: Quelpa2392 -Node: Usage2835 -Node: Commands3163 -Node: org-ql-search3636 -Node: helm-org-ql5284 -Node: org-ql-view5696 -Node: org-ql-view-sidebar5894 -Node: org-ql-view-recent-items6250 -Node: org-ql-sparse-tree6734 -Node: Queries7534 -Node: Non-sexp query syntax8442 -Node: General predicates10149 -Node: Ancestor/descendant predicates14956 -Node: Date/time predicates16084 -Node: Functions / Macros18739 -Node: Agenda-like views18972 -Node: Listing / acting-on results20377 -Node: Changelog24979 -Node: 04425568 -Node: 04325913 -Node: 04226108 -Node: 04126267 -Node: 0426506 -Node: 03230437 -Node: 03130814 -Node: 0331009 -Node: 02333982 -Node: 02234208 -Node: 02134476 -Node: 0234675 -Node: 0138710 -Node: Notes38811 -Node: Comparison with Org Agenda searches38973 -Node: org-sidebar39844 -Node: License40123 +Node: Contents1477 +Node: Screenshots1651 +Node: Installation1769 +Node: Quelpa2407 +Node: Usage2850 +Node: Commands3199 +Node: org-ql-search3672 +Node: helm-org-ql5320 +Node: org-ql-view5732 +Node: org-ql-view-sidebar5930 +Node: org-ql-view-recent-items6286 +Node: org-ql-sparse-tree6770 +Node: Queries7570 +Node: Non-sexp query syntax8478 +Node: General predicates10185 +Node: Ancestor/descendant predicates14992 +Node: Date/time predicates16120 +Node: Functions / Macros18775 +Node: Agenda-like views19008 +Node: Listing / acting-on results20413 +Node: Changelog25015 +Node: 04525619 +Node: 04425966 +Node: 04326323 +Node: 04226518 +Node: 04126677 +Node: 0426916 +Node: 03230847 +Node: 03131224 +Node: 0331419 +Node: 02334392 +Node: 02234620 +Node: 02134888 +Node: 0235087 +Node: 0139122 +Node: Notes39223 +Node: Comparison with Org Agenda searches39385 +Node: org-sidebar40256 +Node: License40535  End Tag Table diff --git a/tests/test-org-ql.el b/tests/test-org-ql.el index bf2340f..71c3ecf 100644 --- a/tests/test-org-ql.el +++ b/tests/test-org-ql.el @@ -707,6 +707,13 @@ RESULTS should be a list of strings as returned by (org-ql-it "with two plain strings in an OR" (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) '("Take over the universe" "Take over the world" "Take over Mars" "Take over the moon" "Get haircut")))) (describe "(scheduled)" From 00800556907408ee11a23de3a4982061d08d3b85 Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Sun, 12 Jul 2020 21:54:59 -0500 Subject: [PATCH 189/615] Fix: Copy macro peg-parse-string from peg-tests.el Unfortunately, the macro was moved from peg.el to peg-tests.el in later versions of peg, so we copy it for our use here. Fixes #75. Thanks to Karl Voit (@novoid) and @karlicoss for reporting. Released as 0.4.6. --- README.org | 5 +++ org-ql.el | 19 +++++++- org-ql.info | 126 +++++++++++++++++++++++++++++----------------------- 3 files changed, 93 insertions(+), 57 deletions(-) diff --git a/README.org b/README.org index b272b15..a7d79eb 100644 --- a/README.org +++ b/README.org @@ -398,6 +398,11 @@ Expands into a call to ~org-ql-select~ with the same arguments. For convenience /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.4.6 + +*Fixed* ++ Compatibility with newer versions of the =peg= library, which removed a macro used by this package. (Fixes [[https://github.com/alphapapa/org-ql/issues/75][#75]]. Thanks to [[https://github.com/novoid][Karl Voit]] and [[https://github.com/karlicoss][@karlicoss]] for reporting.) + ** 0.4.5 *Fixed* diff --git a/org-ql.el b/org-ql.el index 0307d78..f7efbbf 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.4.5 +;; Version: 0.4.6 ;; Package-Requires: ((emacs "26.1") (dash "2.13") (dash-functional "1.2.0") (f "0.17.2") (org "9.0") (org-super-agenda "1.2-pre") (ov "1.0.6") (peg "0.6") (s "1.12.0") (ts "0.2-pre")) ;; Keywords: hypermedia, outlines, Org, agenda @@ -1529,6 +1529,21 @@ element should be a regexp string." (defvar peg-errors nil) (defvar peg-stack nil) +(defmacro org-ql--peg-parse-string (rules string &optional noerror) + "Parse STRING according to RULES. +If NOERROR is non-nil, push nil resp. t if the parse failed +resp. succeded instead of signaling an error." + ;; Unfortunately, this macro was moved to peg-tests.el, so we copy it here. + `(with-temp-buffer + (insert ,string) + (goto-char (point-min)) + ,(if noerror + (let ((entry (make-symbol "entry")) + (start (caar rules))) + `(peg-parse (entry (or (and ,start `(-- t)) "")) + . ,rules)) + `(peg-parse . ,rules)))) + (cl-eval-when (compile load eval) ;; This `eval-when' is necessary, otherwise the macro does not define ;; the function correctly, apparently because `org-ql-predicates' @@ -1555,7 +1570,7 @@ Builds the PEG expression using predicates defined in "Return query parsed from plain query string INPUT. Multiple predicates are combined with BOOLEAN." (unless (s-blank-str? input) - (let* ((query (peg-parse-string + (let* ((query (org-ql--peg-parse-string ((query (+ term (opt (+ (syntax-class whitespace) (any))))) (term (or (and negation (list positive-term) diff --git a/org-ql.info b/org-ql.info index b5d86ef..213b610 100644 --- a/org-ql.info +++ b/org-ql.info @@ -63,6 +63,7 @@ Functions / Macros Changelog +* 0.4.6: 046. * 0.4.5: 045. * 0.4.4: 044. * 0.4.3: 043. @@ -708,6 +709,7 @@ releases. * Menu: +* 0.4.6: 046. * 0.4.5: 045. * 0.4.4: 044. * 0.4.3: 043. @@ -724,9 +726,22 @@ releases. * 0.1: 01.  -File: README.info, Node: 045, Next: 044, Up: Changelog +File: README.info, Node: 046, Next: 045, Up: Changelog -5.1 0.4.5 +5.1 0.4.6 +========= + +*Fixed* + • Compatibility with newer versions of the peg library, which removed + a macro used by this package. (Fixes #75 + (https://github.com/alphapapa/org-ql/issues/75). Thanks to Karl + Voit (https://github.com/novoid) and @karlicoss + (https://github.com/karlicoss) for reporting.) + + +File: README.info, Node: 045, Next: 044, Prev: 046, Up: Changelog + +5.2 0.4.5 ========= *Fixed* @@ -738,7 +753,7 @@ File: README.info, Node: 045, Next: 044, Up: Changelog  File: README.info, Node: 044, Next: 043, Prev: 045, Up: Changelog -5.2 0.4.4 +5.3 0.4.4 ========= *Fixed* @@ -750,7 +765,7 @@ File: README.info, Node: 044, Next: 043, Prev: 045, Up: Changelog  File: README.info, Node: 043, Next: 042, Prev: 044, Up: Changelog -5.3 0.4.3 +5.4 0.4.3 ========= *Fixed* @@ -760,7 +775,7 @@ File: README.info, Node: 043, Next: 042, Prev: 044, Up: Changelog  File: README.info, Node: 042, Next: 041, Prev: 043, Up: Changelog -5.4 0.4.2 +5.5 0.4.2 ========= *Fixed* @@ -769,7 +784,7 @@ File: README.info, Node: 042, Next: 041, Prev: 043, Up: Changelog  File: README.info, Node: 041, Next: 04, Prev: 042, Up: Changelog -5.5 0.4.1 +5.6 0.4.1 ========= *Fixed* @@ -779,7 +794,7 @@ File: README.info, Node: 041, Next: 04, Prev: 042, Up: Changelog  File: README.info, Node: 04, Next: 032, Prev: 041, Up: Changelog -5.6 0.4 +5.7 0.4 ======= _Note:_ The next release, 0.5, may include changes which will require @@ -860,7 +875,7 @@ as they will be pushed to the master branch when ready.  File: README.info, Node: 032, Next: 031, Prev: 04, Up: Changelog -5.7 0.3.2 +5.8 0.3.2 ========= *Fixed* @@ -873,7 +888,7 @@ File: README.info, Node: 032, Next: 031, Prev: 04, Up: Changelog  File: README.info, Node: 031, Next: 03, Prev: 032, Up: Changelog -5.8 0.3.1 +5.9 0.3.1 ========= *Fixed* @@ -883,8 +898,8 @@ File: README.info, Node: 031, Next: 03, Prev: 032, Up: Changelog  File: README.info, Node: 03, Next: 023, Prev: 031, Up: Changelog -5.9 0.3 -======= +5.10 0.3 +======== *Added* • Alternative, non-sexp query syntax for commands org-ql-search and @@ -948,7 +963,7 @@ File: README.info, Node: 03, Next: 023, Prev: 031, Up: Changelog  File: README.info, Node: 023, Next: 022, Prev: 03, Up: Changelog -5.10 0.2.3 +5.11 0.2.3 ========== *Fixed* @@ -958,7 +973,7 @@ File: README.info, Node: 023, Next: 022, Prev: 03, Up: Changelog  File: README.info, Node: 022, Next: 021, Prev: 023, Up: Changelog -5.11 0.2.2 +5.12 0.2.2 ========== *Fixed* @@ -969,7 +984,7 @@ File: README.info, Node: 022, Next: 021, Prev: 023, Up: Changelog  File: README.info, Node: 021, Next: 02, Prev: 022, Up: Changelog -5.12 0.2.1 +5.13 0.2.1 ========== *Fixed* @@ -979,7 +994,7 @@ File: README.info, Node: 021, Next: 02, Prev: 022, Up: Changelog  File: README.info, Node: 02, Next: 01, Prev: 021, Up: Changelog -5.13 0.2 +5.14 0.2 ======== *Added* @@ -1062,7 +1077,7 @@ File: README.info, Node: 02, Next: 01, Prev: 021, Up: Changelog  File: README.info, Node: 01, Prev: 02, Up: Changelog -5.14 0.1 +5.15 0.1 ======== First tagged release. @@ -1123,45 +1138,46 @@ GPLv3  Tag Table: Node: Top225 -Node: Contents1477 -Node: Screenshots1651 -Node: Installation1769 -Node: Quelpa2407 -Node: Usage2850 -Node: Commands3199 -Node: org-ql-search3672 -Node: helm-org-ql5320 -Node: org-ql-view5732 -Node: org-ql-view-sidebar5930 -Node: org-ql-view-recent-items6286 -Node: org-ql-sparse-tree6770 -Node: Queries7570 -Node: Non-sexp query syntax8478 -Node: General predicates10185 -Node: Ancestor/descendant predicates14992 -Node: Date/time predicates16120 -Node: Functions / Macros18775 -Node: Agenda-like views19008 -Node: Listing / acting-on results20413 -Node: Changelog25015 -Node: 04525619 -Node: 04425966 -Node: 04326323 -Node: 04226518 -Node: 04126677 -Node: 0426916 -Node: 03230847 -Node: 03131224 -Node: 0331419 -Node: 02334392 -Node: 02234620 -Node: 02134888 -Node: 0235087 -Node: 0139122 -Node: Notes39223 -Node: Comparison with Org Agenda searches39385 -Node: org-sidebar40256 -Node: License40535 +Node: Contents1492 +Node: Screenshots1666 +Node: Installation1784 +Node: Quelpa2422 +Node: Usage2865 +Node: Commands3214 +Node: org-ql-search3687 +Node: helm-org-ql5335 +Node: org-ql-view5747 +Node: org-ql-view-sidebar5945 +Node: org-ql-view-recent-items6301 +Node: org-ql-sparse-tree6785 +Node: Queries7585 +Node: Non-sexp query syntax8493 +Node: General predicates10200 +Node: Ancestor/descendant predicates15007 +Node: Date/time predicates16135 +Node: Functions / Macros18790 +Node: Agenda-like views19023 +Node: Listing / acting-on results20428 +Node: Changelog25030 +Node: 04625649 +Node: 04526037 +Node: 04426396 +Node: 04326753 +Node: 04226948 +Node: 04127107 +Node: 0427346 +Node: 03231277 +Node: 03131654 +Node: 0331849 +Node: 02334824 +Node: 02235052 +Node: 02135320 +Node: 0235519 +Node: 0139554 +Node: Notes39655 +Node: Comparison with Org Agenda searches39817 +Node: org-sidebar40688 +Node: License40967  End Tag Table From 65cc3fc24e10c10e2b667b3a3a629317bae410c3 Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Mon, 19 Oct 2020 00:23:50 -0500 Subject: [PATCH 190/615] Notes: Add task --- notes.org | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/notes.org b/notes.org index 4cf5b39..3aa42dd 100644 --- a/notes.org +++ b/notes.org @@ -2,6 +2,10 @@ * Tasks +** TODO [#B] [[https://github.com/magit/transient/issues/76][New Transient transient-lisp-variable class]] + +[2020-10-19 Mon 00:23] Should try to use this instead of whatever bespoke code is currently used. + ** TODO [#A] Add ~:auto~ keyword to ~(planning)~ predicate It should act like ~(or (deadline auto) (scheduled :to today))~. From 57708e6cc1ee8d7fc4a4d5876e2f600d5b8466f1 Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Mon, 2 Nov 2020 20:12:31 -0600 Subject: [PATCH 191/615] Change: (-view--plist, -view-save) Factor out plist code In preparation for bookmark support. --- org-ql-view.el | 20 ++++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) diff --git a/org-ql-view.el b/org-ql-view.el index 7739ea7..15499a3 100644 --- a/org-ql-view.el +++ b/org-ql-view.el @@ -343,12 +343,10 @@ update search arguments." "Save current `org-ql-search' buffer to `org-ql-views'." (interactive) (let* ((name (read-string "Save view as: " org-ql-view-title)) - (plist (list :buffers-files org-ql-view-buffers-files - :query org-ql-view-query - :sort org-ql-view-sort - :narrow org-ql-view-narrow - :super-groups org-ql-view-super-groups - :title name))) + ;; Bind `org-ql-view-title' to the name that was read, in case + ;; it's different, which `org-ql-view--plist' will pick up. + (org-ql-view-title name) + (plist (org-ql-view--plist (current-buffer)))) (when (or (not (map-elt org-ql-views name nil)) (yes-or-no-p (format "Overwrite view \"%s\"?" name))) (setf (map-elt org-ql-views name nil #'equal) plist) @@ -374,6 +372,16 @@ update search arguments." ;;;; Functions +(defun org-ql-view--plist (buffer) + "Return plist describing Org QL View in BUFFER." + (with-current-buffer buffer + (list :buffers-files org-ql-view-buffers-files + :query org-ql-view-query + :sort org-ql-view-sort + :narrow org-ql-view-narrow + :super-groups org-ql-view-super-groups + :title org-ql-view-title))) + (defun org-ql-view--list-buffer () "Return view list buffer." (with-current-buffer (get-buffer-create "*Org QL View List*") From e5b4cd106558790563af26a8e32ec9508f904855 Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Mon, 2 Nov 2020 20:14:43 -0600 Subject: [PATCH 192/615] Add: Bookmark support --- README.org | 1 + org-ql-view.el | 35 +++++++++++++++++++++++++++++++++++ org-ql.info | 42 +++++++++++++++++++++++------------------- 3 files changed, 59 insertions(+), 19 deletions(-) diff --git a/README.org b/README.org index fdc43fc..842a50a 100644 --- a/README.org +++ b/README.org @@ -407,6 +407,7 @@ Expands into a call to ~org-ql-select~ with the same arguments. For convenience *Added* + View dispatcher using =transient.el= (like Magit), bound to =v= in search/view buffers. + Predicate =link=, which matches descriptions and targets in Org links. ++ Emacs bookmark support: Org QL View buffers can be bookmarked with, e.g. =C-x r m= and shown with, e.g. =C-x r b=. (This also enables view restoration with [[https://github.com/alphapapa/burly.el][Burly]].) + Mascot. *Changed* diff --git a/org-ql-view.el b/org-ql-view.el index 15499a3..9e69b62 100644 --- a/org-ql-view.el +++ b/org-ql-view.el @@ -428,6 +428,7 @@ subsequent refreshing of the buffer: `org-ql-view-buffers-files', (null (org-ql-view--buffer buffer)) (buffer buffer)))) (with-current-buffer buffer + (setq-local bookmark-make-record-function #'org-ql-view--bookmark-make-record) (use-local-map org-ql-view-map) ;; Prepare buffer, saving data for refreshing. (cl-loop for symbol in vars @@ -519,6 +520,40 @@ dates in the past, and negative for dates in the future." (format "in %sd" (* -1 difference))) (t "today"))) +;;;; Bookmarks + +;; Support for Emacs bookmarks. + +(eval-when-compile + (require 'bookmark)) + +(defun org-ql-view--bookmark-make-record () + "Return a bookmark record for the current Org QL View buffer." + (list (concat "Org QL View: " org-ql-view-title) + (cons 'org-ql-view-plist (org-ql-view--plist (current-buffer))) + (cons 'handler #'org-ql-view--bookmark-handler) + (cons 'position (point)))) + +;;;###autoload +(defun org-ql-view--bookmark-handler (bookmark) + "Show Org QL View BOOKMARK in current buffer." + (pcase-let* (((map org-ql-view-plist) (bookmark-get-bookmark-record bookmark)) + ((map :buffers-files :query :super-groups :narrow :sort :title) + org-ql-view-plist) + (super-groups (cl-etypecase super-groups + (symbol (symbol-value super-groups)) + (list super-groups)))) + (org-ql-search buffers-files query + :super-groups super-groups :narrow narrow :sort sort :title title) + ;; HACK: `bookmark--jump-via' expects that, when the handler returns, the current buffer + ;; (not merely the selected window's buffer) is the one to be displayed. However, + ;; `org-ql-view--display' uses `with-current-buffer', which resets the current buffer to + ;; the one that was active when the bookmark was jumped to. So we set the buffer before + ;; returning. It might be better to refactor `org-ql-view--display' into a function that + ;; returns a buffer which can be displayed by the calling function. But that would be + ;; more complicated and might introduce bugs elsewhere, so we'll just do this for now. + (set-buffer (window-buffer (selected-window))))) + ;;;; Transient ;; This section uses `transient' to allow the user to easily modify diff --git a/org-ql.info b/org-ql.info index 1791312..55c0d52 100644 --- a/org-ql.info +++ b/org-ql.info @@ -750,6 +750,10 @@ File: README.info, Node: 05-pre, Next: 046, Up: Changelog search/view buffers. • Predicate link, which matches descriptions and targets in Org links. + • Emacs bookmark support: Org QL View buffers can be bookmarked with, + e.g. C-x r m and shown with, e.g. C-x r b. (This also enables + view restoration with Burly + (https://github.com/alphapapa/burly.el).) • Mascot. *Changed* @@ -1187,25 +1191,25 @@ Node: Agenda-like views19768 Node: Listing / acting-on results21173 Node: Changelog25775 Node: 05-pre26414 -Node: 04626778 -Node: 04527181 -Node: 04427540 -Node: 04327897 -Node: 04228092 -Node: 04128251 -Node: 0428490 -Node: 03232421 -Node: 03132798 -Node: 0332995 -Node: 02335970 -Node: 02236198 -Node: 02136466 -Node: 0236665 -Node: 0140700 -Node: Notes40801 -Node: Comparison with Org Agenda searches40963 -Node: org-sidebar41835 -Node: License42114 +Node: 04627003 +Node: 04527406 +Node: 04427765 +Node: 04328122 +Node: 04228317 +Node: 04128476 +Node: 0428715 +Node: 03232646 +Node: 03133023 +Node: 0333220 +Node: 02336195 +Node: 02236423 +Node: 02136691 +Node: 0236890 +Node: 0140925 +Node: Notes41026 +Node: Comparison with Org Agenda searches41188 +Node: org-sidebar42060 +Node: License42339  End Tag Table From 028c25c1061fd56d7c739c7a66f3059534a92524 Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Mon, 2 Nov 2020 21:35:42 -0600 Subject: [PATCH 193/615] Fix: (-view--bookmark-make-record) Replace buffers with filenames --- org-ql-view.el | 22 ++++++++++++++++++---- 1 file changed, 18 insertions(+), 4 deletions(-) diff --git a/org-ql-view.el b/org-ql-view.el index 9e69b62..e44cfbd 100644 --- a/org-ql-view.el +++ b/org-ql-view.el @@ -529,10 +529,24 @@ dates in the past, and negative for dates in the future." (defun org-ql-view--bookmark-make-record () "Return a bookmark record for the current Org QL View buffer." - (list (concat "Org QL View: " org-ql-view-title) - (cons 'org-ql-view-plist (org-ql-view--plist (current-buffer))) - (cons 'handler #'org-ql-view--bookmark-handler) - (cons 'position (point)))) + (cl-labels ((file-nameize + (b-f) (or (buffer-file-name b-f) + (when (buffer-base-buffer b-f) + (buffer-file-name (buffer-base-buffer b-f))) + (user-error "Only file-backed buffers can be bookmarked by Org QL View: %s" b-f)))) + (pcase-let* ((plist (org-ql-view--plist (current-buffer))) + ((map :buffers-files) plist)) + ;; Replace buffers with their filenames, and signal error if any are not file-backed. + (setf plist (plist-put plist :buffers-files + (cl-etypecase buffers-files + (string buffers-files) + (buffer (file-nameize buffers-files)) + (list (cl-loop for b-f in buffers-files + collect (file-nameize b-f)))))) + (list (concat "Org QL View: " org-ql-view-title) + (cons 'org-ql-view-plist plist) + (cons 'handler #'org-ql-view--bookmark-handler) + (cons 'position (point)))))) ;;;###autoload (defun org-ql-view--bookmark-handler (bookmark) From f88fb549a39174494a49ebd162057fa17fdd6849 Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Thu, 5 Nov 2020 11:21:06 -0600 Subject: [PATCH 194/615] Docs: Add Tips section --- README.org | 5 +++ org-ql.info | 100 ++++++++++++++++++++++++++++++---------------------- 2 files changed, 62 insertions(+), 43 deletions(-) diff --git a/README.org b/README.org index 842a50a..87416db 100644 --- a/README.org +++ b/README.org @@ -68,6 +68,7 @@ Installing with [[https://framagit.org/steckerhalter/quelpa][Quelpa]] is easy: - [[#ancestordescendant-predicates][Ancestor/descendant predicates]] - [[#datetime-predicates][Date/time predicates]] - [[#functions--macros][Functions / Macros]] +- [[#tips][Tips]] :END: # These links work on GitHub's Org renderer but not in Org. @@ -395,6 +396,10 @@ Examples: Expands into a call to ~org-ql-select~ with the same arguments. For convenience, arguments should be unquoted. +** Tips + ++ Org QL View buffers can be bookmarked with Emacs bookmark commands, e.g. =C-x r m=. This also integrates with [[https://github.com/alphapapa/org-sidebar][org-sidebar]] and [[https://github.com/alphapapa/burly.el][Burly]]. + * Changelog :PROPERTIES: :TOC: ignore-children diff --git a/org-ql.info b/org-ql.info index 55c0d52..983eabb 100644 --- a/org-ql.info +++ b/org-ql.info @@ -35,6 +35,7 @@ Usage * Commands:: * Queries:: * Functions / Macros:: +* Tips:: Commands @@ -153,7 +154,7 @@ File: README.info, Node: Usage, Next: Changelog, Prev: Installation, Up: Top ******* • • - • • • • • + • • • • • • Feedback on these APIs is welcome. Eventually, after being tested and polished, they will be considered stable. @@ -164,6 +165,7 @@ and polished, they will be considered stable. * Commands:: * Queries:: * Functions / Macros:: +* Tips::  File: README.info, Node: Commands, Next: Queries, Up: Usage @@ -542,7 +544,7 @@ number of days. The number can be negative to invert the direction. scheduled at any time.  -File: README.info, Node: Functions / Macros, Prev: Queries, Up: Usage +File: README.info, Node: Functions / Macros, Next: Tips, Prev: Queries, Up: Usage 4.3 Functions / Macros ====================== @@ -708,6 +710,17 @@ File: README.info, Node: Listing / acting-on results, Prev: Agenda-like views, Expands into a call to ‘org-ql-select’ with the same arguments. For convenience, arguments should be unquoted. + +File: README.info, Node: Tips, Prev: Functions / Macros, Up: Usage + +4.4 Tips +======== + + • Org QL View buffers can be bookmarked with Emacs bookmark commands, + e.g. C-x r m. This also integrates with org-sidebar + (https://github.com/alphapapa/org-sidebar) and Burly + (https://github.com/alphapapa/burly.el). +  File: README.info, Node: Changelog, Next: Notes, Prev: Usage, Up: Top @@ -1169,47 +1182,48 @@ GPLv3  Tag Table: Node: Top225 -Node: Contents1512 -Node: Screenshots1635 -Node: Installation1753 -Node: Quelpa2391 -Node: Usage2834 -Node: Commands3183 -Node: org-ql-search3656 -Node: helm-org-ql5370 -Node: org-ql-view5782 -Node: org-ql-view-sidebar6282 -Node: org-ql-view-recent-items6638 -Node: org-ql-sparse-tree7122 -Node: Queries7922 -Node: Non-sexp query syntax8830 -Node: General predicates10537 -Node: Ancestor/descendant predicates15752 -Node: Date/time predicates16880 -Node: Functions / Macros19535 -Node: Agenda-like views19768 -Node: Listing / acting-on results21173 -Node: Changelog25775 -Node: 05-pre26414 -Node: 04627003 -Node: 04527406 -Node: 04427765 -Node: 04328122 -Node: 04228317 -Node: 04128476 -Node: 0428715 -Node: 03232646 -Node: 03133023 -Node: 0333220 -Node: 02336195 -Node: 02236423 -Node: 02136691 -Node: 0236890 -Node: 0140925 -Node: Notes41026 -Node: Comparison with Org Agenda searches41188 -Node: org-sidebar42060 -Node: License42339 +Node: Contents1521 +Node: Screenshots1644 +Node: Installation1762 +Node: Quelpa2400 +Node: Usage2843 +Node: Commands3205 +Node: org-ql-search3678 +Node: helm-org-ql5392 +Node: org-ql-view5804 +Node: org-ql-view-sidebar6304 +Node: org-ql-view-recent-items6660 +Node: org-ql-sparse-tree7144 +Node: Queries7944 +Node: Non-sexp query syntax8852 +Node: General predicates10559 +Node: Ancestor/descendant predicates15774 +Node: Date/time predicates16902 +Node: Functions / Macros19557 +Node: Agenda-like views19803 +Node: Listing / acting-on results21208 +Node: Tips25810 +Node: Changelog26141 +Node: 05-pre26780 +Node: 04627369 +Node: 04527772 +Node: 04428131 +Node: 04328488 +Node: 04228683 +Node: 04128842 +Node: 0429081 +Node: 03233012 +Node: 03133389 +Node: 0333586 +Node: 02336561 +Node: 02236789 +Node: 02137057 +Node: 0237256 +Node: 0141291 +Node: Notes41392 +Node: Comparison with Org Agenda searches41554 +Node: org-sidebar42426 +Node: License42705  End Tag Table From 94be07244c3257c695dca351e090dc01d13eef01 Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Thu, 5 Nov 2020 11:21:33 -0600 Subject: [PATCH 195/615] Fix: (org-ql-view-refresh) Rename buffer uniquely This is sort of a workaround or preventative measure as much as it is a fix. It seemed to be necessary when I was testing bookmark loading in org-sidebar. --- org-ql-view.el | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/org-ql-view.el b/org-ql-view.el index e44cfbd..d5f3935 100644 --- a/org-ql-view.el +++ b/org-ql-view.el @@ -332,7 +332,9 @@ update search arguments." ;; Now in the results buffer. (rename-buffer (format "%s %s*" org-ql-view-buffer-name-prefix - (or org-ql-view-title org-ql-view-query))) + (or org-ql-view-title org-ql-view-query)) + ;; Avoid any errors in case a buffer by this name already exists. + 'unique) (goto-char (point-min)) (or (when (search-forward current-line nil t) (beginning-of-line)) From 5e61d1b326e3ecc16cc5ef974226697039f937fe Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Thu, 5 Nov 2020 11:28:22 -0600 Subject: [PATCH 196/615] Fix: (org-ql--peg-parse-string) Unused lexical variable warning peg.el doesn't use lexical binding, and org-ql.el does, so this caused a byte-compile warning. It doesn't seem to change the behavior of the expanded code, so it should be a safe change... --- org-ql.el | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/org-ql.el b/org-ql.el index 4196ab4..4e4e5fd 100644 --- a/org-ql.el +++ b/org-ql.el @@ -1682,7 +1682,7 @@ resp. succeded instead of signaling an error." ,(if noerror (let ((entry (make-symbol "entry")) (start (caar rules))) - `(peg-parse (entry (or (and ,start `(-- t)) "")) + `(peg-parse (,entry (or (and ,start `(-- t)) "")) . ,rules)) `(peg-parse . ,rules)))) From 958cd5079447ba314baecb8429042942ff1b155e Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Sun, 8 Nov 2020 18:02:53 -0600 Subject: [PATCH 197/615] Meta: Update makem.sh --- makem.sh | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/makem.sh b/makem.sh index 91c3000..d110e2c 100755 --- a/makem.sh +++ b/makem.sh @@ -397,6 +397,27 @@ function ert-tests-p { grep "(ert-deftest" "${files_project_test[@]}" &>/dev/null } +function package-main-file { + # Echo the package's main file. Helpful for setting package-lint-main-file. + + file_pkg=$(git ls-files ./*-pkg.el 2>/dev/null) + + if [[ $file_pkg ]] + then + # Use *-pkg.el file if it exists. + echo "$file_pkg" + else + # Use shortest filename (a sloppy heuristic that will do for now). + for file in "${files_project_feature[@]}" + do + echo ${#file} "$file" + done \ + | sort -h \ + | head -n1 \ + | sed -r 's/^[[:digit:]]+ //' + fi +} + function dependencies { # Echo list of package dependencies. @@ -781,6 +802,7 @@ function lint-package { run_emacs \ --load package-lint \ + --eval "(setq package-lint-main-file \"$(package-main-file)\")" \ --funcall package-lint-batch-and-exit \ "${files_project_feature[@]}" \ && success "Linting package finished without errors." \ @@ -1022,6 +1044,7 @@ debug "EXCLUDING FILES: ${files_exclude[@]}" debug "FEATURE FILES: ${files_project_feature[@]}" debug "TEST FILES: ${files_project_test[@]}" debug "BYTE-COMPILE FILES: ${files_project_byte_compile[@]}" +debug "PACKAGE-MAIN-FILE: $(package-main-file)" if ! [[ ${files_project_feature[@]} ]] then From 359a280d11d54c940125f11d7be6a93f8c0c1095 Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Sun, 8 Nov 2020 18:05:27 -0600 Subject: [PATCH 198/615] Change/Fix: (org-ql-view--format-element) Use org-ql--tags-at Use org-ql--tags-at instead of org-get-tags/org-get-tags-at. This uses our cache, which should improve performance, and it obviates the function alias for Org versions before 9.3 (which occasionally misbehaves, e.g. if Org is reloaded). --- README.org | 3 +++ org-ql-view.el | 19 ++++++------------- org-ql.info | 44 +++++++++++++++++++++++++------------------- 3 files changed, 34 insertions(+), 32 deletions(-) diff --git a/README.org b/README.org index 87416db..605b7bc 100644 --- a/README.org +++ b/README.org @@ -418,6 +418,9 @@ Expands into a call to ~org-ql-select~ with the same arguments. For convenience *Changed* + Binding to refresh search/view buffers changed to =r=. +*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. + ** 0.4.6 *Fixed* diff --git a/org-ql-view.el b/org-ql-view.el index d5f3935..30be96d 100644 --- a/org-ql-view.el +++ b/org-ql-view.el @@ -47,11 +47,6 @@ (require 'ov) (require 'ts) -;;;; Compatibility - -(when (version< org-version "9.2") - (defalias 'org-get-tags #'org-get-tags-at)) - ;;;; Faces (defface org-ql-view-due-date @@ -729,18 +724,16 @@ return an empty string." (org-link-display-format it))) (todo-keyword (-some--> (org-element-property :todo-keyword element) (org-ql-view--add-todo-face it))) - ;; FIXME: Figure out whether I should use `org-agenda-use-tag-inheritance' or `org-use-tag-inheritance', etc. (tag-list (if org-use-tag-inheritance - ;; FIXME: Note that tag inheritance cannot be used here unless markers are - ;; added, otherwise we can't go to the item's buffer to look for inherited - ;; tags. (Or does `org-element-headline-parser' parse inherited tags too? I - ;; forget...) + ;; MAYBE: Use our own variable instead of `org-use-tag-inheritance'. (if-let ((marker (or (org-element-property :org-hd-marker element) (org-element-property :org-marker element)))) - (with-current-buffer (marker-buffer marker) - ;; I wish `org-get-tags' used the correct buffer automatically. - (org-get-tags marker (not org-use-tag-inheritance))) + (cl-loop for type in (org-ql--tags-at marker) + unless (or (eq 'org-ql-nil type) + (not type)) + append type) ;; No marker found + ;; TODO: Use `display-warning' with `org-ql' as the type. (warn "No marker found for item: %s" title) (org-element-property :tags element)) (org-element-property :tags element))) diff --git a/org-ql.info b/org-ql.info index 983eabb..fea110e 100644 --- a/org-ql.info +++ b/org-ql.info @@ -772,6 +772,12 @@ File: README.info, Node: 05-pre, Next: 046, Up: Changelog *Changed* • Binding to refresh search/view buffers changed to r. + *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. +  File: README.info, Node: 046, Next: 045, Prev: 05-pre, Up: Changelog @@ -1205,25 +1211,25 @@ Node: Listing / acting-on results21208 Node: Tips25810 Node: Changelog26141 Node: 05-pre26780 -Node: 04627369 -Node: 04527772 -Node: 04428131 -Node: 04328488 -Node: 04228683 -Node: 04128842 -Node: 0429081 -Node: 03233012 -Node: 03133389 -Node: 0333586 -Node: 02336561 -Node: 02236789 -Node: 02137057 -Node: 0237256 -Node: 0141291 -Node: Notes41392 -Node: Comparison with Org Agenda searches41554 -Node: org-sidebar42426 -Node: License42705 +Node: 04627626 +Node: 04528029 +Node: 04428388 +Node: 04328745 +Node: 04228940 +Node: 04129099 +Node: 0429338 +Node: 03233269 +Node: 03133646 +Node: 0333843 +Node: 02336818 +Node: 02237046 +Node: 02137314 +Node: 0237513 +Node: 0141548 +Node: Notes41649 +Node: Comparison with Org Agenda searches41811 +Node: org-sidebar42683 +Node: License42962  End Tag Table From 4194456b4023bba31fe6b8a43a1332cacbc3ce5d Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Sun, 8 Nov 2020 20:00:58 -0600 Subject: [PATCH 199/615] Notes: Update, add ToC, sort, etc. --- notes.org | 2726 +++++++++++++++++++++++++++-------------------------- 1 file changed, 1380 insertions(+), 1346 deletions(-) diff --git a/notes.org b/notes.org index 3aa42dd..5a9306b 100644 --- a/notes.org +++ b/notes.org @@ -1,10 +1,56 @@ #+PROPERTY: LOGGING nil -* Tasks +* [#A] Contents +:PROPERTIES: +:TOC: :include siblings :depth 1 :ignore this :force depth +:END: +:CONTENTS: +- [[#tasks][Tasks]] +- [[#examples--testing][Examples / testing]] +- [[#in-the-wild][In the wild]] +- [[#profiling][Profiling]] +- [[#references][References]] +- [[#testing][Testing]] +:END: -** TODO [#B] [[https://github.com/magit/transient/issues/76][New Transient transient-lisp-variable class]] -[2020-10-19 Mon 00:23] Should try to use this instead of whatever bespoke code is currently used. +* [#A] Tasks +:PROPERTIES: +:TOC: :include descendants :depth 1 +:END: +:CONTENTS: +- [[#add-auto-keyword-to-planning-predicate][Add :auto keyword to (planning) predicate]] +- [[#document-sorters][Document sorters]] +- [[#org-block-to-insert-results-of-queries-with-links-to-entries][Org block to insert results of queries with links to entries]] +- [[#outline-path-in-buffers-files-arg][Outline path in buffers-files arg]] +- [[#tools-for-saving-queries-and-accessing-them-24][Tools for saving queries and accessing them {2/4}]] +- [[#add-more-sorters][Add more sorters?]] +- [[#change-deadlines-auto-argument-to-auto-andor-auto-t][Change (deadline)'s auto argument to :auto and/or :auto t]] +- [[#default-sort][Default sort]] +- [[#dynamic-blocks][Dynamic blocks]] +- [[#fancier-plain-query-syntax-for-tags-and-properties][Fancier plain query syntax for tags and properties]] +- [[#new-transient-transient-lisp-variable-class][New Transient transient-lisp-variable class]] +- [[#normalize-queries][Normalize queries]] +- [[#quickly-change-sortinggrouping-in-search-views][Quickly change sorting/grouping in search views]] +- [[#recursive-queries][Recursive queries]] +- [[#timeline-view][Timeline view]] +- [[#update-view-screenshots][Update view screenshots]] +- [[#org-agenda-skip-function][org-agenda-skip-function]] +- [[#test-caching][Test caching]] +- [[#update-commentary][Update commentary]] +- [[#outline-path-predicate][Outline path predicate]] +- [[#node-caching]["Node" caching]] +- [[#implement-view-with-tabulated-list-mode-or-magit-section][Implement view with tabulated-list-mode or magit-section]] +- [[#overlay-based-caching-inspired-by-org-num-mode][Overlay-based caching inspired by org-num-mode]] +- [[#use-bovine-or-wisent-to-parse-non-sexp-syntax][Use Bovine or Wisent to parse non-sexp syntax]] +- [[#fancier-searching-for-inherited-tags][Fancier searching for inherited tags]] +- [[#helm-command][Helm command]] +- [[#byte-compile-lambdas][Byte-compile lambdas]] +- [[#documentfigure-out-tag-inheritance][Document/figure out tag inheritance]] +- [[#dual-matching-with-regexp-and-predicates][Dual matching with regexp and predicates]] +- [[#operate-on-list-of-heading-positions][Operate on list of heading positions]] +- [[#use-macros-for-date][Use macros for date]] +:END: ** TODO [#A] Add ~:auto~ keyword to ~(planning)~ predicate @@ -53,160 +99,6 @@ This would be useful for having a menu of saved queries as Org links, or even bo *** DONE Save query from ql-agenda buffer -** UNDERWAY [#A] Outline path predicate - -[2019-10-07 Mon 11:15] There are two potential types of matching on outline paths: matching on any part of the outline path, and matching a specific path. For example, with this file: - -#+BEGIN_SRC org - ,* Food - - ,** Fruits - - ,*** Blueberries - - ,*** Grapes - - ,** Vegetables - - ,*** Carrots - - ,*** Potatoes -#+END_SRC - -Matching could work like this: - -+ ~(outline "Food")~ :: Would return all nodes. -+ ~(outline "Fruits")~ :: Would return all fruits. - -Matching at a specific path would be something like: - -+ ~(outline-path "Food" "Fruits")~ :: Would return all fruits. But if there were another =Fruits= heading somewhere in the file, under a different outline path, it would not return its nodes. - -I'm not sure the second type of matching belongs in predicates, but rather in [[id:6935361a-9e1d-48ec-8d17-876a90b90f50][this]]. - -To implement this with good performance probably needs an outline-path cache. I can probably repurpose the tags caching, but maybe it should be generalized. - -[2019-10-07 Mon 13:09] This is basically done with =be2bf6df316b96b3ed56851b8ffe0e227796b621= and =be2bf6df316b96b3ed56851b8ffe0e227796b621=, but not the specific-path matching. I left a =MAYBE= in the code about "anchored" path matching, which would accomplish that. - -** DONE [#A] Helm command - -In branch =wip/helm-org-ql=. Works really well, should add it and demonstrate it. - -*** DONE Add - -*** DONE Demonstrate - -*** DONE Parsing non-Lisp queries - -[2019-09-12 Thu 12:56] Lisp is so much easier to deal with, but some people don't like parentheses. So I'm trying to add a non-Lisp-style query syntax. It gets complicated. The =peg= library helps, but its documentation is sparse and incomplete. This seems to work fairly well for single-token queries, but I'm not sure if I can or should cram it all into one parser, or use separate ones for certain keywords. - -#+BEGIN_SRC elisp - (-let* ((input "todo:check|someday") - (input "tags:universe+space") - (input "heading:\"spaced phrase\"") - (input "") - (input "heading:\"spaced phrase\"+another") - combinator - (parsed (peg-parse-string ((predicate (substring keyword) ":" (opt args)) - (keyword (or "heading" "tags" "todo" "property")) - (args (+ (and (or quoted-arg unquoted-arg) (opt separator)))) - (quoted-arg "\"" unquoted-arg "\"") - (unquoted-arg (substring (+ (not (or separator "\"")) (any)))) - (separator (or (and "|" (action (setf combinator 'or))) - (and "+" (action (setf combinator 'and))) - (and ":" (action (setf combinator 'arg)))))) - input 'noerror)) - ((predicate . args) (nreverse parsed))) - (when predicate - (list :predicate predicate :args args :combinator combinator))) - ;;=> (:predicate "heading" :args ("spaced phrase" "another" t) :combinator and) -#+END_SRC - -I don't know where the =t= is coming from. - -The next step is to make it work with multi-token queries. It needs to handle all of the tokens in one parser so it can handle quoted phrases (if we split on spaces, it would split quoted phrases). But that makes getting the arguments out of it more difficult. Probably need to do something like this: - -#+BEGIN_SRC elisp - (-let* ((input "todo:check|someday") - (input "tags:universe+space") - (input "heading:\"spaced phrase\"") - (input "") - (input "heading:\"spaced phrase\"+another") - combinator - (parsed (peg-parse-string ((query (+ (or (and predicate `(pred args -- (list :predicate pred :args args))) - (and plain-string `(s -- (list :predicate 'regexp :args s)))) - (opt (syntax-class whitespace)))) - (plain-string (substring (+ (not (syntax-class whitespace)) (any)))) - (predicate (substring keyword) ":" (opt args)) - (keyword (or "heading" "tags" "todo" "property")) - (args (+ (and (or quoted-arg unquoted-arg) (opt separator)))) - (quoted-arg "\"" unquoted-arg "\"") - (unquoted-arg (substring (+ (not (or separator "\"")) (any)))) - (separator (or (and "|" (action (setf combinator 'or))) - (and "+" (action (setf combinator 'and))) - (and ":" (action (setf combinator 'arg)))))) - input 'noerror))) - parsed) -#+END_SRC - -In which lists are pushed onto the stack and returned, rather than strings. But I don't understand yet exactly how to use the =var= forms to consume input from the "value stack"; I need to study the examples more. I'm also not sure if that will even work with a variable number of arguments. - -This seems to work, but we'll have to parse the args again in a separate step: - -#+BEGIN_SRC elisp - (-let* ((input "todo:check|someday") - (input "tags:universe+space") - (input "heading:\"spaced phrase\"") - (input "") - (input "heading:\"spaced phrase\"+another") - (input "heading:\"spaced phrase\"+another todo:check") - combinator - (parsed (peg-parse-string ((query (+ (or (and predicate `(pred args -- (list :predicate pred :args args))) - (and plain-string `(s -- (list :predicate 'regexp :args s)))) - (opt (+ (syntax-class whitespace) (any))))) - (plain-string (substring (+ (not (syntax-class whitespace)) (any)))) - (predicate (substring keyword) ":" (opt args)) - (keyword (or "heading" "tags" "todo" "property")) - (args (substring (+ (and (or quoted-arg unquoted-arg) (opt separator))))) - (quoted-arg "\"" (+ (not (or separator "\"")) (any)) "\"") - (unquoted-arg (+ (not (or separator "\"" (syntax-class whitespace))) (any))) - (separator (or (and "|" (action (setf combinator 'or))) - (and "+" (action (setf combinator 'and))) - (and ":" (action (setf combinator 'arg)))))) - input 'noerror))) - parsed) - ;;=> (t (:predicate "todo" :args "check") (:predicate "heading" :args "\"spaced phrase\"+another")) -#+END_SRC - -Well, a bit of fiddling (lots of trial-and-error required) produced this: - -#+BEGIN_SRC elisp - (-let* ((input "todo:check|someday") - (input "tags:universe+space") - (input "heading:\"spaced phrase\"") - (input "") - (input "heading:\"spaced phrase\"+another") - (input "heading:\"spaced phrase\"+another todo:check") - combinator - (parsed (peg-parse-string ((query (+ (or (and predicate `(pred args -- (list :predicate pred :args args))) - (and plain-string `(s -- (list :predicate 'regexp :args s)))) - (opt (+ (syntax-class whitespace) (any))))) - (plain-string (substring (+ (not (syntax-class whitespace)) (any)))) - (predicate (substring keyword) ":" (opt args)) - (keyword (or "heading" "tags" "todo" "property")) - (args (list (+ (and (substring (or quoted-arg unquoted-arg)) (opt separator))))) - (quoted-arg "\"" (+ (not (or separator "\"")) (any)) "\"") - (unquoted-arg (+ (not (or separator "\"" (syntax-class whitespace))) (any))) - (separator (or (and "|" (action (setf combinator 'or))) - (and "+" (action (setf combinator 'and))) - (and ":" (action (setf combinator 'arg)))))) - input 'noerror))) - parsed) - ;;=> (t (:predicate "todo" :args ("check")) (:predicate "heading" :args ("\"spaced phrase\"" "another"))) -#+END_SRC - -That seems pretty usable! - ** TODO [#B] Add more sorters? + [ ] =category= @@ -220,6 +112,30 @@ For consistency, because plain ~auto~ looks like a variable, and even though it' Would probably be useful to have a default sort option. +** TODO Dynamic blocks + +For example, [[https://egli.dev/posts/using-org-mode-for-meeting-minutes/][this blog article]] shows a way that Org's existing dynamic =columnview= blocks can be very useful. =org-ql= queries could be useful in them as well. + +** TODO [#B] Fancier plain query syntax for tags and properties + +e.g. something like [[https://200ok.ch/posts/2020-02-09_creating_org_mode_sparse_trees_in_emacs_and_organice.html][Organice has now]]. + +[2020-02-13 Thu 00:42] Something is needed to help search property values by partial matches. For example: + +#+BEGIN_SRC org + ,* [[https://github.com/fniessen/org-html-themes][org-html-themes: Framework including two themes, Bigblow and ReadTheOrg]] + :PROPERTIES: + :author: Fabrice Niessen + :END: + +#+END_SRC + +Searching that with a query like =property:author=Fabrice= returns nothing; the full value must be used, like ~property:author="Fabrice Niessen"~. It should be possible to do something like ~property:author=~Fabrice~ to search for partial matches. + +** TODO [#B] [[https://github.com/magit/transient/issues/76][New Transient transient-lisp-variable class]] + +[2020-10-19 Mon 00:23] Should try to use this instead of whatever bespoke code is currently used. + ** TODO [#B] Normalize queries [2019-07-16 Tue 11:49] This serves two purposes: @@ -310,6 +226,9 @@ This works pretty well. It needs polishing, and some refactoring so items can b #+END_SRC ** TODO [#B] Timeline view +:PROPERTIES: +:ID: 00573552-ffe9-4608-8904-7f6c73246b6d +:END: e.g. as mentioned by Samuel Wales at https://lists.gnu.org/archive/html/emacs-orgmode/2019-08/msg00330.html. Prototype code: @@ -372,6 +291,11 @@ e.g. as mentioned by Samuel Wales at https://lists.gnu.org/archive/html/emacs-or 'face 'org-agenda-structure)) append (ht-get ts-ht ts)))) (org-ql-agenda--agenda nil nil :strings strings))) + + (org-ql-timeline* (org-agenda-files) + '(ts :from -14) + :filter-ts `(lambda (ts) + (ts<= ,(ts-adjust 'day -14 (ts-now)) ts))) #+END_SRC Another, more up-to-date implementation: @@ -450,88 +374,95 @@ Another, more up-to-date implementation: ;; (org-ql-view-timeline "~/org/main.org" :from "2019-11-01") #+END_SRC -** TODO [#B] Timeline view -:PROPERTIES: -:ID: 00573552-ffe9-4608-8904-7f6c73246b6d -:END: - -e.g. as mentioned by Samuel Wales at https://lists.gnu.org/archive/html/emacs-orgmode/2019-08/msg00330.html. Prototype code: - -#+BEGIN_SRC elisp - (cl-defun org-ql-timeline (buffers-files query) - (let ((results - (org-ql-select buffers-files - query :action - (lambda () - (let* ((heading-string - (->> (org-element-headline-parser - (line-end-position)) - org-ql--add-markers - org-ql-agenda--format-element)) - (timestamps - (cl-loop with limit = (org-entry-end-position) - while (re-search-forward org-ts-regexp-both - limit t) - collect (ts-parse-org (match-string 0)))) - (timestamp-strings - (->> timestamps - (-sort #'ts<) - (--map (concat " " (ts-format it)))))) - (s-join "\n" (cons heading-string timestamp-strings)))) - :sort '(date)))) - (org-ql-agenda--agenda nil nil :strings results))) - - (org-ql-timeline (org-agenda-files) - '(and "Emacs" (ts))) - - ;; More timeline-like version, organized by date rather than task. - - (cl-defun org-ql-timeline* (buffers-files query &key filter-ts) - (let* ((ts-ht (ht)) - (results (org-ql-select buffers-files - query - :action (lambda () - (let* ((heading-string - (->> (org-element-headline-parser - (line-end-position)) - org-ql--add-markers - org-ql-agenda--format-element)) - (date-timestamps - ;; Each one set to 00:00:00. - (cl-loop with limit = (org-entry-end-position) - while (re-search-forward org-ts-regexp-both - limit t) - collect (->> (match-string 0) - ts-parse-org - (ts-apply :hour 0 :minute 0 :second 0))))) - (setf date-timestamps (delete-dups date-timestamps)) - (when filter-ts - (setf date-timestamps (cl-remove-if-not filter-ts date-timestamps))) - (--each date-timestamps - (push heading-string (gethash it ts-ht))))))) - (tss-sorted (-sort #'ts< (ht-keys ts-ht))) - (strings (cl-loop for ts in tss-sorted - collect (concat "\n" - (propertize (ts-format "%Y-%m-%d" ts) - 'face 'org-agenda-structure)) - append (ht-get ts-ht ts)))) - (org-ql-agenda--agenda nil nil :strings strings))) - - (org-ql-timeline* (org-agenda-files) - '(ts :from -14) - :filter-ts `(lambda (ts) - (ts<= ,(ts-adjust 'day -14 (ts-now)) ts))) -#+END_SRC - [2019-09-26 Thu 21:28] Would probably make sense to implement this using the view-sections someday. ** TODO [#B] Update view screenshots e.g. doesn't currently show the =View= header. -** TODO Dynamic blocks +** TODO [#C] ~org-agenda-skip-function~ -For example, [[https://egli.dev/posts/using-org-mode-for-meeting-minutes/][this blog article]] shows a way that Org's existing dynamic =columnview= blocks can be very useful. =org-ql= queries could be useful in them as well. +As discussed [[https://www.reddit.com/r/emacs/comments/cnrt2d/orgqlblock_integrates_orgql_into_org_agenda/ewi1q36/][here]], this is a cool feature that allows further integration into existing custom agenda commands. Example: + +#+BEGIN_SRC elisp + ;;; lima-0ac22.el --- -*- lexical-binding: t; -*- + + (defun org-ql-skip-function (query) + "Return a function for `org-agenda-skip-function' for QUERY. + Compared to using QUERY in `org-ql', this effectively turns QUERY + into (not QUERY)." + (let* ((predicate (org-ql--query-predicate '(regexp "ryo-modal")))) + (lambda () + ;; This duplicates the functionality of `org-ql--select'. + (let (orig-fns) + (--each org-ql-predicates + ;; Save original function mappings. + (let ((name (plist-get it :name))) + (push (list :name name :fn (symbol-function name)) orig-fns))) + (unwind-protect + (progn + (--each org-ql-predicates + ;; Set predicate functions. + (fset (plist-get it :name) (plist-get it :fn))) + ;; Run query. + ;; FIXME: "If this function returns nil, the current match should not be skipped. + ;; Otherwise, the function must return a position from where the search + ;; should be continued." + (funcall predicate)) + (--each orig-fns + ;; Restore original function mappings. + (fset (plist-get it :name) (plist-get it :fn)))))))) + + (let ((org-agenda-custom-commands + '(("z" "Z" + ((tags-todo "PRIORITY=\"A\"+Emacs/!SOMEDAY")) + ((org-agenda-skip-function (org-ql-skip-function '(regexp "ryo-modal"))))) + ((org-agenda-files ("~/org/inbox.org")))))) + (org-agenda nil "z")) +#+END_SRC + +I should benchmark it to see how much difference it makes, because all those ~fset~ calls on each heading isn't free. But if a macro were used to rewrite the built-in predicates to their full versions, all of that could be avoided... + +** TODO [#C] Test caching + +See notes on 1dce9467f25428b5289d3665cd840820969ed65a. It would be good to test the caching explicitly, at least for some queries, because if I were to completely break it again, in such a way that results were stored but retrieval always failed, the tests wouldn't catch it. + +** TODO [#C] Update commentary + +** UNDERWAY [#A] Outline path predicate + +[2019-10-07 Mon 11:15] There are two potential types of matching on outline paths: matching on any part of the outline path, and matching a specific path. For example, with this file: + +#+BEGIN_SRC org + ,* Food + + ,** Fruits + + ,*** Blueberries + + ,*** Grapes + + ,** Vegetables + + ,*** Carrots + + ,*** Potatoes +#+END_SRC + +Matching could work like this: + ++ ~(outline "Food")~ :: Would return all nodes. ++ ~(outline "Fruits")~ :: Would return all fruits. + +Matching at a specific path would be something like: + ++ ~(outline-path "Food" "Fruits")~ :: Would return all fruits. But if there were another =Fruits= heading somewhere in the file, under a different outline path, it would not return its nodes. + +I'm not sure the second type of matching belongs in predicates, but rather in [[id:6935361a-9e1d-48ec-8d17-876a90b90f50][this]]. + +To implement this with good performance probably needs an outline-path cache. I can probably repurpose the tags caching, but maybe it should be generalized. + +[2019-10-07 Mon 13:09] This is basically done with =be2bf6df316b96b3ed56851b8ffe0e227796b621= and =be2bf6df316b96b3ed56851b8ffe0e227796b621=, but not the specific-path matching. I left a =MAYBE= in the code about "anchored" path matching, which would accomplish that. ** UNDERWAY [#B] "Node" caching @@ -680,21 +611,6 @@ Appears to be another implementation of magit-section-like expandable sections. **** magit-section -** MAYBE Fancier plain query syntax for tags and properties - -e.g. something like [[https://200ok.ch/posts/2020-02-09_creating_org_mode_sparse_trees_in_emacs_and_organice.html][Organice has now]]. - -[2020-02-13 Thu 00:42] Something is needed to help search property values by partial matches. For example: - -#+BEGIN_SRC org - ,* [[https://github.com/fniessen/org-html-themes][org-html-themes: Framework including two themes, Bigblow and ReadTheOrg]] - :PROPERTIES: - :author: Fabrice Niessen - :END: -#+END_SRC - -Searching that with a query like =property:author=Fabrice= returns nothing; the full value must be used, like ~property:author="Fabrice Niessen"~. It should be possible to do something like ~property:author=~Fabrice~ to search for partial matches. - ** MAYBE Overlay-based caching inspired by org-num-mode [2019-12-30 Mon 22:42] Newer versions of Org have =org-num-mode=, which uses =font-lock= and =after-change-functions= to update overlays in the buffer with outline numbering. Maybe a similar approach could be used to cache arbitrary values for headings in a buffer without having to discard the whole buffer's cache when the buffer changes. @@ -703,6 +619,129 @@ Searching that with a query like =property:author=Fabrice= returns nothing; the They're both built-in to Emacs, so we could drop the =peg= dependency. +** MAYBE [#C] Fancier searching for inherited tags + +When tag inheritance is enabled, and the given tags aren't file-level tags, we could search directly to headings containing the matching tags, and then only do per-heading matching on the subtrees. Sometimes that would be much faster. However, that might make the logic special-cased and complicated. Might need a redesign of the whole matching/predicate system to do cleanly. + +** DONE [#A] Helm command + +In branch =wip/helm-org-ql=. Works really well, should add it and demonstrate it. + +*** DONE Add + +*** DONE Demonstrate + +*** DONE Parsing non-Lisp queries + +[2019-09-12 Thu 12:56] Lisp is so much easier to deal with, but some people don't like parentheses. So I'm trying to add a non-Lisp-style query syntax. It gets complicated. The =peg= library helps, but its documentation is sparse and incomplete. This seems to work fairly well for single-token queries, but I'm not sure if I can or should cram it all into one parser, or use separate ones for certain keywords. + +#+BEGIN_SRC elisp + (-let* ((input "todo:check|someday") + (input "tags:universe+space") + (input "heading:\"spaced phrase\"") + (input "") + (input "heading:\"spaced phrase\"+another") + combinator + (parsed (peg-parse-string ((predicate (substring keyword) ":" (opt args)) + (keyword (or "heading" "tags" "todo" "property")) + (args (+ (and (or quoted-arg unquoted-arg) (opt separator)))) + (quoted-arg "\"" unquoted-arg "\"") + (unquoted-arg (substring (+ (not (or separator "\"")) (any)))) + (separator (or (and "|" (action (setf combinator 'or))) + (and "+" (action (setf combinator 'and))) + (and ":" (action (setf combinator 'arg)))))) + input 'noerror)) + ((predicate . args) (nreverse parsed))) + (when predicate + (list :predicate predicate :args args :combinator combinator))) + ;;=> (:predicate "heading" :args ("spaced phrase" "another" t) :combinator and) +#+END_SRC + +I don't know where the =t= is coming from. + +The next step is to make it work with multi-token queries. It needs to handle all of the tokens in one parser so it can handle quoted phrases (if we split on spaces, it would split quoted phrases). But that makes getting the arguments out of it more difficult. Probably need to do something like this: + +#+BEGIN_SRC elisp + (-let* ((input "todo:check|someday") + (input "tags:universe+space") + (input "heading:\"spaced phrase\"") + (input "") + (input "heading:\"spaced phrase\"+another") + combinator + (parsed (peg-parse-string ((query (+ (or (and predicate `(pred args -- (list :predicate pred :args args))) + (and plain-string `(s -- (list :predicate 'regexp :args s)))) + (opt (syntax-class whitespace)))) + (plain-string (substring (+ (not (syntax-class whitespace)) (any)))) + (predicate (substring keyword) ":" (opt args)) + (keyword (or "heading" "tags" "todo" "property")) + (args (+ (and (or quoted-arg unquoted-arg) (opt separator)))) + (quoted-arg "\"" unquoted-arg "\"") + (unquoted-arg (substring (+ (not (or separator "\"")) (any)))) + (separator (or (and "|" (action (setf combinator 'or))) + (and "+" (action (setf combinator 'and))) + (and ":" (action (setf combinator 'arg)))))) + input 'noerror))) + parsed) +#+END_SRC + +In which lists are pushed onto the stack and returned, rather than strings. But I don't understand yet exactly how to use the =var= forms to consume input from the "value stack"; I need to study the examples more. I'm also not sure if that will even work with a variable number of arguments. + +This seems to work, but we'll have to parse the args again in a separate step: + +#+BEGIN_SRC elisp + (-let* ((input "todo:check|someday") + (input "tags:universe+space") + (input "heading:\"spaced phrase\"") + (input "") + (input "heading:\"spaced phrase\"+another") + (input "heading:\"spaced phrase\"+another todo:check") + combinator + (parsed (peg-parse-string ((query (+ (or (and predicate `(pred args -- (list :predicate pred :args args))) + (and plain-string `(s -- (list :predicate 'regexp :args s)))) + (opt (+ (syntax-class whitespace) (any))))) + (plain-string (substring (+ (not (syntax-class whitespace)) (any)))) + (predicate (substring keyword) ":" (opt args)) + (keyword (or "heading" "tags" "todo" "property")) + (args (substring (+ (and (or quoted-arg unquoted-arg) (opt separator))))) + (quoted-arg "\"" (+ (not (or separator "\"")) (any)) "\"") + (unquoted-arg (+ (not (or separator "\"" (syntax-class whitespace))) (any))) + (separator (or (and "|" (action (setf combinator 'or))) + (and "+" (action (setf combinator 'and))) + (and ":" (action (setf combinator 'arg)))))) + input 'noerror))) + parsed) + ;;=> (t (:predicate "todo" :args "check") (:predicate "heading" :args "\"spaced phrase\"+another")) +#+END_SRC + +Well, a bit of fiddling (lots of trial-and-error required) produced this: + +#+BEGIN_SRC elisp + (-let* ((input "todo:check|someday") + (input "tags:universe+space") + (input "heading:\"spaced phrase\"") + (input "") + (input "heading:\"spaced phrase\"+another") + (input "heading:\"spaced phrase\"+another todo:check") + combinator + (parsed (peg-parse-string ((query (+ (or (and predicate `(pred args -- (list :predicate pred :args args))) + (and plain-string `(s -- (list :predicate 'regexp :args s)))) + (opt (+ (syntax-class whitespace) (any))))) + (plain-string (substring (+ (not (syntax-class whitespace)) (any)))) + (predicate (substring keyword) ":" (opt args)) + (keyword (or "heading" "tags" "todo" "property")) + (args (list (+ (and (substring (or quoted-arg unquoted-arg)) (opt separator))))) + (quoted-arg "\"" (+ (not (or separator "\"")) (any)) "\"") + (unquoted-arg (+ (not (or separator "\"" (syntax-class whitespace))) (any))) + (separator (or (and "|" (action (setf combinator 'or))) + (and "+" (action (setf combinator 'and))) + (and ":" (action (setf combinator 'arg)))))) + input 'noerror))) + parsed) + ;;=> (t (:predicate "todo" :args ("check")) (:predicate "heading" :args ("\"spaced phrase\"" "another"))) +#+END_SRC + +That seems pretty usable! + ** DONE Byte-compile lambdas CLOSED: [2018-05-09 Wed 17:30] :LOGBOOK: @@ -941,112 +980,16 @@ If I made the =date= selector a macro, I could avoid the need to quote the compa Also, maybe instead of having a single =date= selector, I should have =scheduled=, =deadline=, etc. -** TODO [#C] ~org-agenda-skip-function~ - -As discussed [[https://www.reddit.com/r/emacs/comments/cnrt2d/orgqlblock_integrates_orgql_into_org_agenda/ewi1q36/][here]], this is a cool feature that allows further integration into existing custom agenda commands. Example: - -#+BEGIN_SRC elisp - ;;; lima-0ac22.el --- -*- lexical-binding: t; -*- - - (defun org-ql-skip-function (query) - "Return a function for `org-agenda-skip-function' for QUERY. - Compared to using QUERY in `org-ql', this effectively turns QUERY - into (not QUERY)." - (let* ((predicate (org-ql--query-predicate '(regexp "ryo-modal")))) - (lambda () - ;; This duplicates the functionality of `org-ql--select'. - (let (orig-fns) - (--each org-ql-predicates - ;; Save original function mappings. - (let ((name (plist-get it :name))) - (push (list :name name :fn (symbol-function name)) orig-fns))) - (unwind-protect - (progn - (--each org-ql-predicates - ;; Set predicate functions. - (fset (plist-get it :name) (plist-get it :fn))) - ;; Run query. - ;; FIXME: "If this function returns nil, the current match should not be skipped. - ;; Otherwise, the function must return a position from where the search - ;; should be continued." - (funcall predicate)) - (--each orig-fns - ;; Restore original function mappings. - (fset (plist-get it :name) (plist-get it :fn)))))))) - - (let ((org-agenda-custom-commands - '(("z" "Z" - ((tags-todo "PRIORITY=\"A\"+Emacs/!SOMEDAY")) - ((org-agenda-skip-function (org-ql-skip-function '(regexp "ryo-modal"))))) - ((org-agenda-files ("~/org/inbox.org")))))) - (org-agenda nil "z")) -#+END_SRC - -I should benchmark it to see how much difference it makes, because all those ~fset~ calls on each heading isn't free. But if a macro were used to rewrite the built-in predicates to their full versions, all of that could be avoided... - -** TODO [#C] Test caching - -See notes on 1dce9467f25428b5289d3665cd840820969ed65a. It would be good to test the caching explicitly, at least for some queries, because if I were to completely break it again, in such a way that results were stored but retrieval always failed, the tests wouldn't catch it. - -** TODO [#C] Test caching - -See notes on 1dce9467f25428b5289d3665cd840820969ed65a. It would be good to test the caching explicitly, at least for some queries, because if I were to completely break it again, in such a way that results were stored but retrieval always failed, the tests wouldn't catch it. - -** TODO [#C] Update commentary - -** MAYBE [#C] Fancier searching for inherited tags - -When tag inheritance is enabled, and the given tags aren't file-level tags, we could search directly to headings containing the matching tags, and then only do per-heading matching on the subtrees. Sometimes that would be much faster. However, that might make the logic special-cased and complicated. Might need a redesign of the whole matching/predicate system to do cleanly. - -* References - -** [[https://m00natic.github.io/lisp/manual-jit.html][Uniform Structured Syntax, Metaprogramming and Run-time Compilation]] - -** [[gnus:gmane.emacs.orgmode#CAJ51EToLCm5zDLKu8XeuqEWrLhHZF+OoNkviPSivZbFttzF8=A@mail.gmail.com][John Kitchin on rewriting the Org agenda code]] :Emacs:Org: - -[2019-10-28 Mon 08:28] Originally from [[id:90a68535-2403-4ba9-a117-60be1862628f][this entry in my notes]]. - -#+BEGIN_QUOTE -From: John Kitchin -Subject: Re: [Orgmode] Slow speed of week and month views -Newsgroups: gmane.emacs.orgmode -To: Karl Voit -Cc: "emacs-orgmode@gnu.org" -Date: Sat, 5 Aug 2017 18:17:09 -0400 (4 hours, 11 minutes, 38 seconds ago) - -I can think of two possibilities for a future approach (besides a deep dive on profiling the current elisp to improve the speed there). They both involve some substantial coding though, and would probably add dependencies. I am curious what anyone things about these, or if there are other ideas. - -One is to use the new dynamic module capability to write an org parser in C, or a dedicated agenda function, which would presumably be faster than in elisp. This seems hard, and for me would certainly be a multiyear project I am sure! The downside of this is the need to compile the module. I don't know how easy it would be to make this work across platforms with the relatively easy install org-mode currently has. This could have a side benefit though of a c-lib that could be used by others to expand where org-mode is used. - -The other way that might work is to rely more heavily on a cached version of the files, perhaps in a different format than elisp, that is faster to work with. The approach I have explored in this is to index org files into a sqlite database. The idea then would be to generate the agenda from a sql query. I use something like this already to "find stuff in orgmode anywhere". One of the reasons I wrote this is the org-agenda list of files isn't practical for me because my files are so scattered on my file system. I had a need to be able to find TODOs in research projects in a pretty wide range of locations. - -The code I use is at https://github.com/jkitchin/scimax/blob/master/org-db.el, and from one database I can find headlines, contacts, locations, TODO headlines across my file system, all the files that contain a particular link, and my own recent org files. This approach relies on emacsql, and a set of hook functions to update the database whenever a file is changed. It is not robust, e.g. the file could be out of sync with the db if it is modified outside emacs, but this works well enough for me so far. Updated files get reindexed whenever emacs is idle. It was a compromise on walking the file system all the time or daily, or trying to use inotify and you can always run a command to prune/sync all the files any time you want. - -sqlite is ok, but with emacsql you cannot put strings in it directly (at least when I wrote the org-db code), which has limited it for full-text search so far. Also with text, the db got up to about 0.5 GB in size, and started slowing down. So it doesn't have text in it for now. It has all the other limitations of sqlite too, limited support for locking, single process.... - -I am moderately motivated to switch from sqlite to MongoDB, but the support for Mongo in emacs is pretty crummy (I tried writing a few traditional interfaces, but the performance was not that good, and limited since Mongo uses bson, and it is just not the same as json!). Why Mongo? Mostly because the Mongo query language is basically json and easy to generate in Emacs, unlike sql. Also, it is flexible and easy to adapt to new things, e.g. indexing src-blocks or tables or whatever org-element you want. (And I want to use Mongo for something else too ;). Obviously these all add dependencies, and might not be suitable for the core org-mode distribution. But I do think it is important to think about ways to scale org-mode while maintaining compatibility with the core. - -The main point of the database was to get a query language, persistence and good performance. I have also used caches to speed up using bibtex files, and my org-contacts with reasonable performance. These have been all elisp, with no additional dependencies. Maybe one could do something similar to keep an agenda cache that is persistent and updated via hook functions. - -Thoughts? - -John -#+END_QUOTE -:PROPERTIES: -:archive.is: http://archive.is/33R9M -:END: - -+ [[https://github.com/m00natic/cl-fdbq][GitHub - m00natic/cl-fdbq: SQL-like operations over fixed field DBs]] - -** Nicolas Goaziou's =org-element= cache implementation - -[2020-01-04 Sat 08:31] https://code.orgmode.org/bzg/org-mode/src/master/lisp/org-element.el#L4817 I guess I haven't been keeping up, because I'm not sure when exactly he made or committed this, or what his plans for it are. It's currently disabled by default. - -** [[https://github.com/ndwarshuis/org-sql][GitHub - ndwarshuis/org-sql: SQL backend for Emacs Org-Mode]] - -[2020-01-04 Sat 09:03] - * Examples / testing +:PROPERTIES: +:TOC: :include descendants :depth 1 +:END: +:CONTENTS: +- [[#property-matching][Property matching]] +- [[#regexp-matching][Regexp matching]] +- [[#screenshot-code][Screenshot code]] +- [[#sorting][Sorting]] +:END: #+BEGIN_SRC elisp (org-agenda-ng org-agenda-files @@ -1083,6 +1026,37 @@ John (done))) #+END_SRC +** Property matching + +#+BEGIN_SRC elisp + (org-agenda-ng "~/src/emacs/org-super-agenda/test/test.org" + (property "agenda-group")) + + (org-agenda-ng "~/src/emacs/org-super-agenda/test/test.org" + (property "agenda-group" "plans")) +#+END_SRC + +** Regexp matching + +#+BEGIN_SRC elisp + (org-ql "~/src/emacs/org-super-agenda/test/test.org" + (regexp "over")) + + (org-agenda-ng "~/src/emacs/org-super-agenda/test/test.org" + (regexp "over")) +#+END_SRC + +** Screenshot code + +#+BEGIN_SRC elisp + (org-super-agenda--test-with-org-today-date "2017-07-08 00:00" + (org-ql "~/src/emacs/org-super-agenda/test/test.org" + (and (or (date = today) + (deadline <=) + (scheduled <= today)) + (not (done))))) +#+END_SRC + ** Sorting #+BEGIN_SRC elisp @@ -1099,38 +1073,14 @@ John :sort (todo)) #+END_SRC -** Regexp matching - -#+BEGIN_SRC elisp - (org-ql "~/src/emacs/org-super-agenda/test/test.org" - (regexp "over")) - - (org-agenda-ng "~/src/emacs/org-super-agenda/test/test.org" - (regexp "over")) -#+END_SRC - -** Property matching - -#+BEGIN_SRC elisp - (org-agenda-ng "~/src/emacs/org-super-agenda/test/test.org" - (property "agenda-group")) - - (org-agenda-ng "~/src/emacs/org-super-agenda/test/test.org" - (property "agenda-group" "plans")) -#+END_SRC - -** Screenshot code - -#+BEGIN_SRC elisp - (org-super-agenda--test-with-org-today-date "2017-07-08 00:00" - (org-ql "~/src/emacs/org-super-agenda/test/test.org" - (and (or (date = today) - (deadline <=) - (scheduled <= today)) - (not (done))))) -#+END_SRC - * In the wild +:PROPERTIES: +:TOC: :include descendants :depth 1 +:END: +:CONTENTS: +- [[#alois-janicek][Alois Janicek]] +- [[#benson-chu][Benson Chu]] +:END: ** [[https://github.com/AloisJanicek/.doom.d-2nd][Alois Janicek]] @@ -1226,6 +1176,427 @@ John #+END_SRC * Profiling +:PROPERTIES: +:TOC: :include descendants :depth 1 +:END: + +:CONTENTS: +- [[#2019-08-29-thu-0624--benchmarking-org-ql-compared-to-re-search-forward-for-getting-headings-in-buffer][{2019-08-29 Thu 06:24} Benchmarking org-ql compared to re-search-forward for getting headings in buffer]] +- [[#caching-of-inherited-tags][Caching of inherited tags]] +- [[#intersecting-query-results][Intersecting query results]] +- [[#more-profiling][More profiling]] +- [[#preambles][Preambles]] +- [[#profiling-flet-across-all-agenda-files][Profiling flet across all agenda files]] +- [[#profiling-flet-on-a-single-file][Profiling flet on a single file]] +- [[#profiling-org-trust-scanner-tags][Profiling org-trust-scanner-tags]] +- [[#profiling-position-based][Profiling position-based]] +- [[#profiling-tags-matching][Profiling tags matching]] +- [[#using-org-element-parse-buffer][Using org-element-parse-buffer]] +- [[#withwithout-tsel][with/without ts.el]] +:END: + + +** [2019-08-29 Thu 06:24] Benchmarking org-ql compared to re-search-forward for getting headings in buffer +:PROPERTIES: +:ID: fcc09229-ed24-42eb-a1fd-31d8f7d4c8d5 +:END: + +Minimal difference, and that's a very large file, too. On smaller files it's thousandths of a second. + +#+BEGIN_SRC elisp + (with-current-buffer (find-buffer-visiting "~/org/inbox.org") + (bench-multi-lexical :times 1 :ensure-equal t + :forms (("org-ql" (org-ql-select (current-buffer) + '(level 1) + :action '(progn + (font-lock-ensure (line-beginning-position) (line-end-position)) + (cons (org-get-heading t) (point))))) + ("re-search-forward" (org-with-wide-buffer + (goto-char (point-min)) + (when (org-before-first-heading-p) + (outline-next-heading)) + (cl-loop while (re-search-forward (rx bol "*" (1+ blank)) nil t) + do (font-lock-ensure (line-beginning-position) (line-end-position)) + collect (cons (org-get-heading t) (match-beginning 0)))))))) +#+END_SRC + +#+RESULTS: +| Form | x faster than next | Total runtime | # of GCs | Total GC runtime | +|-------------------+--------------------+---------------+----------+------------------| +| re-search-forward | 1.17 | 0.520375 | 0 | 0 | +| org-ql | slowest | 0.608281 | 0 | 0 | + +** Caching of inherited tags + +[2019-09-05 Thu 07:59] Implemented a per-buffer tags cache that seems to significantly speed up tags queries that use tag inheritance. It persists as long as the buffer remains unmodified, and it's usable from any code as a single function that automatically uses caching. It also returns inherited tags and local tags separately, which could be useful for having separate selectors, one for inherited tags, one for local tags, and one for both. + +#+BEGIN_SRC elisp + (defvar org-ql-tags-cache (ht) + "Per-buffer tags cache. + Keyed by buffer. Each value is a cons of the buffer's modified + tick, and another hash table keyed on buffer position, whose + values are a list of two lists, inherited tags and local tags, as + strings.") + + (defun org-ql--tags-at (position) + "Return tags for POSITION in current buffer. + Returns cons (INHERITED-TAGS . LOCAL-TAGS)." + ;; I'd like to use `-if-let*', but it doesn't leave non-nil variables + ;; bound in the else clause, so destructured variables that are non-nil, + ;; like found caches, are not available in the else clause. + (if-let* ((buffer-cache (gethash (current-buffer) org-ql-tags-cache)) + (modified-tick (car buffer-cache)) + (tags-cache (cdr buffer-cache)) + (buffer-unmodified-p (eq (buffer-modified-tick) modified-tick)) + (cached-result (gethash position tags-cache))) + ;; Found in cache: return them. + (pcase cached-result + ('org-ql-nil nil) + (_ cached-result)) + ;; Not found in cache: get tags and cache them. + (let* ((local-tags (or (org-get-tags position 'local) + 'org-ql-nil)) + (inherited-tags (or (save-excursion + (when (org-up-heading-safe) + (-let* (((inherited local) (org-ql--tags-at (point))) + (inherited-tags (when (or inherited local) + (cond ((and (listp inherited) + (listp local)) + (append inherited local)) + ((cond ((listp inherited) inherited) + ((listp local) local))))))) + (when inherited-tags + (->> inherited-tags -non-nil -uniq))))) + 'org-ql-nil)) + (all-tags (list inherited-tags local-tags))) + ;; Check caches again, because they may have been set now. + ;; TODO: Is there a clever way we could avoid doing this, or is it inherently necessary? + (setf buffer-cache (gethash (current-buffer) org-ql-tags-cache) + modified-tick (car buffer-cache) + tags-cache (cdr buffer-cache) + buffer-unmodified-p (eq (buffer-modified-tick) modified-tick)) + (cond ((or (not buffer-cache) + (not buffer-unmodified-p)) + ;; Buffer-local tags cache empty or invalid: make new one. + (puthash (current-buffer) + (cons (buffer-modified-tick) + (let ((table (make-hash-table))) + (puthash position all-tags table) + table)) + org-ql-tags-cache) + ;; Return tags, not the cons put on the buffer-cache. + all-tags) + ;; Buffer-local tags cache found, but no result: store this one. + (t (puthash position all-tags tags-cache)))))) + + (org-ql--defpred tags-cached (&rest tags) + "Return non-nil if current heading has one or more of TAGS (a list of strings)." + ;; TODO: Try to use `org-make-tags-matcher' to improve performance. It would be nice to not have + ;; to run `org-get-tags' for every heading, especially with inheritance. + (cl-macrolet ((tags-p (tags) + `(and ,tags + (not (eq 'org-ql-nil ,tags))))) + (-let* (((inherited local) (org-ql--tags-at (point)))) + (cl-typecase tags + (null (or (tags-p inherited) + (tags-p local))) + (otherwise (or (when (tags-p inherited) + (seq-intersection tags inherited)) + (when (tags-p local) + (seq-intersection tags local)))))))) +#+END_SRC + +Benchmark results: + +#+BEGIN_SRC elisp + (let* ((buffers '("~/org/main.org")) + (tags '("Emacs"))) + (bench-multi-lexical :times 1 :ensure-equal t + :forms (("uncached" (let ((org-ql-cache (ht))) + (org-ql-select buffers + `(tags ,@tags)))) + ("cached" (let ((org-ql-cache (ht)) + (org-ql-tags-cache (ht))) + (org-ql-select buffers + `(tags-cached ,@tags))))))) +#+END_SRC + +#+RESULTS: +| Form | x faster than next | Total runtime | # of GCs | Total GC runtime | +|----------+--------------------+---------------+----------+------------------| +| cached | 6.51 | 0.519871 | 0 | 0 | +| uncached | slowest | 3.386679 | 0 | 0 | + +** Intersecting query results + +An idea that /might/ be helpful for performance in /some/ cases, depending on the query, the data, and whether the query has a preamble. But it looks like it would very rarely be helpful. + +#+BEGIN_SRC elisp + (cl-defun org-ql-agenda-intersection (buffers-files queries &key entries sort buffer narrow super-groups) + "Like `org-ql-agenda', but intersects multiple queries." + (declare (indent defun)) + (let* ((org-ql-cache (ht)) + (entries (->> queries + (--map (org-ql-select buffers-files + it + :action 'element-with-markers + :narrow narrow + :sort sort)) + (-reduce #'-intersection)))) + (org-ql-agenda--agenda buffers-files queries + :entries entries :super-groups super-groups))) + + (bench-multi-lexical :times 1 + :forms (("intersection" (let ((org-use-tag-inheritance nil)) + (org-ql-agenda-intersection (org-agenda-files) + '((todo "TODO") + (tags "Emacs")) + :sort '(priority deadline) + :super-groups org-super-agenda-groups))) + ("normal" (let ((org-use-tag-inheritance nil)) + (org-ql-agenda (org-agenda-files) + (and (todo "TODO") + (tags "Emacs")) + :sort (priority deadline) + :super-groups org-super-agenda-groups))))) +#+END_SRC + +#+RESULTS: +| Form | x faster than next | Total runtime | # of GCs | Total GC runtime | +|--------------+--------------------+---------------+----------+------------------| +| normal | 3.70 | 0.233147 | 0 | 0 | +| intersection | slowest | 0.862512 | 0 | 0 | + +*** Alternative approach + +[2019-09-01 Sun 08:17] This is very experimental, but the results are surprising. When the action function returns a fairly simple list, the intersection is very slightly faster. When returning full elements, the intersection is much slower, so that it more than doubles the runtime. I wonder if the element list comparison is short-circuiting, or if it looks at the whole lists, because it seems like it shouldn't take more than 4-5 list elements before it realizes that two lists don't match. + +Anyway, looks like this approach isn't viable, at least not without a much more complicated implementation, which probably wouldn't be worth it. + +#+BEGIN_SRC elisp + (let* ((action-fn (lambda () + (list (current-buffer) + (point) + (substring-no-properties (org-get-heading t t))))) + (files '("~/org/main.org"))) + ;; NOTE: Careful to use the same files and action in each one. I duplicated + ;; the variable in each form to make individual testing easier. + (bench-multi-lexical :times 1 :ensure-equal t + :forms (("normal" (->> (let ((org-ql-cache (ht)) + (action-fn (lambda () + (list (current-buffer) + (point) + (substring-no-properties (org-get-heading t t))))) + (files '("~/org/main.org"))) + (org-ql-select files + '(and (not (done)) + (or (habit) + (deadline auto) + (scheduled :to today) + (ts-active :on today) + (closed :on today))) + :action action-fn)))) + ("Testing" (let* ((org-ql-cache (ht)) + (files '("~/org/main.org")) + (action-fn (lambda () + (list (current-buffer) + (point) + (substring-no-properties (org-get-heading t t))))) + (and-queries '(not (done))) + (or-queries '((habit) + (deadline auto) + (scheduled :to today) + (ts-active :on today) + (closed :on today))) + (and-results (org-ql-select files + and-queries + :action action-fn)) + (or-results (cl-loop for query in or-queries + append (org-ql-select files + query + :action action-fn)))) + (seq-intersection and-results + (->> or-results + -uniq))))))) +#+END_SRC + +#+RESULTS: +| Form | x faster than next | Total runtime | # of GCs | Total GC runtime | +|---------+--------------------+---------------+----------+------------------| +| Testing | 1.15 | 0.248376 | 0 | 0 | +| normal | slowest | 0.284897 | 0 | 0 | + +#+BEGIN_SRC elisp + +;; With caching enabled + (let* ((action-fn (lambda () + (list (current-buffer) + (point) + (substring-no-properties (org-get-heading t t))))) + (files '("~/org/main.org"))) + (bench-multi-lexical :times 1 :ensure-equal t + :forms (("normal" (->> (org-ql-select files + '(and (not (done)) + (or (habit) + (deadline auto) + (scheduled :to today) + (ts-active :on today) + (closed :on today))) + :action action-fn))) + ("Testing" (let* ((files '("~/org/main.org")) + (and-queries '(not (done))) + (or-queries '((habit) + (deadline auto) + (scheduled :to today) + (ts-active :on today) + (closed :on today))) + (and-results (org-ql-select files + and-queries + :action action-fn)) + (or-results (cl-loop for query in or-queries + append (org-ql-select files + query + :action action-fn)))) + (seq-intersection and-results + (->> or-results + -uniq))))))) +#+END_SRC + +#+RESULTS: +| Form | x faster than next | Total runtime | # of GCs | Total GC runtime | +|---------+--------------------+---------------+----------+------------------| +| normal | 13.72 | 0.002311 | 0 | 0 | +| Testing | slowest | 0.031707 | 0 | 0 | + +Using full views: + +#+BEGIN_SRC elisp + (let* ((action-fn (lambda () + (list (current-buffer) + (point) + (substring-no-properties (org-get-heading t t))))) + (files '("~/org/main.org"))) + (bench-multi-lexical :times 1 + :forms (("normal" (->> (let ((org-ql-cache (ht)) + (files '("~/org/main.org"))) + (org-ql-search files + '(and (not (done)) + (or (habit) + (deadline auto) + (scheduled :to today) + (ts-active :on today) + (closed :on today))))))) + ("Testing" (let* ((org-ql-cache (ht)) + (files '("~/org/main.org")) + (and-queries '(not (done))) + (or-queries '((habit) + (deadline auto) + (scheduled :to today) + (ts-active :on today) + (closed :on today))) + (and-results (org-ql-select files + and-queries + :action 'element-with-markers)) + (or-results (cl-loop for query in or-queries + append (org-ql-select files + query + :action 'element-with-markers))) + (final-results (seq-intersection and-results + (->> or-results + -uniq)))) + (org-ql-agenda--agenda nil nil + :entries final-results) + + ))))) +#+END_SRC + +#+RESULTS: +| Form | x faster than next | Total runtime | # of GCs | Total GC runtime | +|---------+--------------------+---------------+----------+------------------| +| normal | 1.74 | 0.534742 | 0 | 0 | +| Testing | slowest | 0.931897 | 0 | 0 | + +Just gathering results, but using elements: + +#+BEGIN_SRC elisp + (let* ((action-fn 'element-with-markers) + (files '("~/org/main.org"))) + ;; NOTE: Careful to use the same files and action in each one. I duplicated + ;; the variable in each form to make individual testing easier. + (bench-multi-lexical :times 1 :ensure-equal t + :forms (("normal" (->> (let ((org-ql-cache (ht))) + (org-ql-select files + '(and (not (done)) + (or (habit) + (deadline auto) + (scheduled :to today) + (ts-active :on today) + (closed :on today))) + :action action-fn)))) + ("Testing" (let* ((org-ql-cache (ht)) + (and-queries '(not (done))) + (or-queries '((habit) + (deadline auto) + (scheduled :to today) + (ts-active :on today) + (closed :on today))) + (and-results (org-ql-select files + and-queries + :action action-fn)) + (or-results (cl-loop for query in or-queries + append (org-ql-select files + query + :action action-fn)))) + (seq-intersection and-results + (->> or-results + -uniq))))))) +#+END_SRC + +#+RESULTS: +| Form | x faster than next | Total runtime | # of GCs | Total GC runtime | +|---------+--------------------+---------------+----------+------------------| +| normal | 2.27 | 0.314218 | 0 | 0 | +| Testing | slowest | 0.714587 | 0 | 0 | + + +** More profiling + +[2018-05-10 Thu 15:02] I think these are decent improvements. + +#+BEGIN_SRC elisp + (elp-profile 1 nil (org-agenda-ng "~/org/main.org" + (or (habit) + (and (or (date '= (org-today)) + (deadline '<=) + (scheduled '<= (org-today))) + (not (apply #'todo org-done-keywords-for-agenda))) + (and (todo "DONE" "CANCELLED") + (closed '= (org-today)))))) +#+END_SRC + +#+RESULTS: +| Function | Times called | Total time | Average time | +|-------------------------------+--------------+--------------+--------------| +| mapcar | 164 | 1.5004585290 | 0.0091491373 | +| org-agenda-ng--agenda | 1 | 1.348231247 | 1.348231247 | +| org-agenda-ng--filter-buffer | 1 | 1.1391189879 | 1.1391189879 | +| org-agenda-ng--date-plain-p | 1267 | 0.6198571040 | 0.0004892321 | +| org-entry-get | 3983 | 0.2979337370 | 7.480...e-05 | +| org-is-habit-p | 1365 | 0.2049101109 | 0.0001501172 | +| org--property-local-values | 1365 | 0.1940614150 | 0.0001421695 | +| org-agenda-ng--habit-p | 1272 | 0.1911009179 | 0.0001502365 | +| org-agenda-ng--format-element | 52 | 0.177965411 | 0.0034224117 | +| org-get-property-block | 1365 | 0.1760004519 | 0.0001289380 | +| org-get-tags-at | 52 | 0.1362824969 | 0.0026208172 | +| org-agenda-ng--date-p | 3880 | 0.1351176629 | 3.482...e-05 | +| org-up-heading-safe | 226 | 0.1276747609 | 0.0005649325 | +| re-search-backward | 2028 | 0.1144211070 | 5.642...e-05 | +| org-entry-properties | 2618 | 0.0848660999 | 3.241...e-05 | +| org-agenda-ng--todo-p | 1319 | 0.081952653 | 6.213...e-05 | +| org-get-todo-state | 1319 | 0.0796836810 | 6.041...e-05 | +| re-search-forward | 3754 | 0.0739803739 | 1.970...e-05 | +| org-inlinetask-in-task-p | 1365 | 0.0657829330 | 4.819...e-05 | +| org-agenda-ng--scheduled-p | 1247 | 0.0619497850 | 4.967...e-05 | ** Preambles @@ -1568,127 +1939,448 @@ Not sure why that one is slower with preamble. | no preamble: (ts-i :to "2019-07-06") | 1.34 | 0.553428 | 0 | 0 | | preamble: (ts-i :to "2019-07-06") | slowest | 0.743881 | 0 | 0 | -** with/without ts.el +** Profiling flet across all agenda files -[2019-08-11 Sun 15:39] These results seem to show a minor performance improvement by using ~ts~, and the code is simpler. +*** With flet #+BEGIN_SRC elisp - ;; (require 'ts) - - (org-ql--defpred ts-ts (&key from to _on) - ;; The underscore before `on' prevents "unused lexical variable" warnings, because we - ;; pre-process that argument in a macro before this function is called. - "Return non-nil if current entry has a timestamp in given period. - If no arguments are specified, return non-nil if entry has any - timestamp. - - If FROM, return non-nil if entry has a timestamp on or after - FROM. - - If TO, return non-nil if entry has a timestamp on or before TO. - - If ON, return non-nil if entry has a timestamp on date ON. - - FROM, TO, and ON should be strings parseable by - `parse-time-string' but may omit the time value." - ;; TODO: DRY this with the clocked predicate. - ;; NOTE: FROM and TO are actually expected to be Unix timestamps. The docstring is written - ;; for end users, for which the arguments are pre-processed by `org-ql-select'. - ;; FIXME: This assumes every "clocked" entry is a range. Unclosed clock entries are not handled. - (cl-macrolet ((next-timestamp () - `(when (re-search-forward org-element--timestamp-regexp end-pos t) - (ts-parse-org (match-string 0)))) - (test-timestamps (pred-form) - `(cl-loop for next-ts = (next-timestamp) - while next-ts - thereis ,pred-form))) - (save-excursion - (let ((end-pos (org-entry-end-position))) - (cond ((not (or from to)) (re-search-forward org-element--timestamp-regexp end-pos t)) - ((and from to) (test-timestamps (and (ts<= from next-ts) - (ts<= next-ts to)))) - (from (test-timestamps (ts<= from next-ts))) - (to (test-timestamps (ts<= next-ts to)))))))) - -#+END_SRC - -*** Without timestamp argument - -#+BEGIN_SRC elisp - (bench-multi-lexical :times 1 :ensure-equal t - :forms (("old ts" (org-ql "~/org/inbox.org" - (ts))) - ("ts.el ts" (org-ql "~/org/inbox.org" - (ts-ts))))) + (elp-profile 5 (org-agenda-ng--agenda + :files org-agenda-files + :pred (lambda () + (and (todo) + (or (date :deadline '<= (org-today)) + (date :scheduled '<= (org-today))) + (not (apply #'todo org-done-keywords-for-agenda)))))) #+END_SRC #+RESULTS: -| Form | x faster than next | Total runtime | # of GCs | Total GC runtime | -|----------+--------------------+---------------+----------+------------------| -| ts.el ts | 1.14 | 2.251801 | 0 | 0 | -| old ts | slowest | 2.560280 | 0 | 0 | +#+begin_example +mapcar 711 25.608392569 0.0360174297 +org-agenda-ng--agenda 5 24.019318793 4.8038637586 +org-agenda-ng--filter-buffer 40 14.160293256 0.3540073313 +org-agenda-ng--date-p 21595 4.2111783960 0.0001950071 +org-agenda-finalize-entries 5 4.0930243110 0.8186048622 +org-super-agenda--filter-finalize-entries 5 3.937522006 0.7875044012 +org-agenda-ng--todo-p 37080 3.5687476730 9.624...e-05 +org-get-todo-state 37080 3.4737076600 9.368...e-05 +outline-next-heading 34625 3.4689080650 0.0001001850 +re-search-forward 42280 3.0743315830 7.271...e-05 +org-agenda-ng--format-element 1180 2.9511605820 0.0025009835 +org-element-headline-parser 1180 2.6757063699 0.0022675477 +org-super-agenda--group-items 5 2.187362092 0.4374724183 +org-super-agenda--group-dispatch 70 2.184685662 0.0312097951 +org-entry-get 22730 2.0711872869 9.112...e-05 +org-entry-properties 21595 1.8958912070 8.779...e-05 +org-super-agenda--group-tag 25 1.8498977799 0.0739959111 +org-element-timestamp-parser 3785 1.8234333229 0.0004817525 +org-parse-time-string 7560 1.7121709579 0.0002264776 +org-element--get-time-properties 1180 1.1814058020 0.0010011913 +#+end_example + +*** Without flet #+BEGIN_SRC elisp - (bench-multi-lexical :times 20 :ensure-equal t - :forms (("old ts" (org-ql "~/src/emacs/org-ql/tests/data.org" - (ts))) - ("ts.el ts" (org-ql "~/src/emacs/org-ql/tests/data.org" - (ts-ts))))) + (elp-profile 5 (org-agenda-ng--agenda + :files org-agenda-files + :pred (lambda () + (and (org-agenda-ng--todo-p) + (or (org-agenda-ng--date-p :deadline '<= (org-today)) + (org-agenda-ng--date-p :scheduled '<= (org-today))) + (not (apply #'org-agenda-ng--todo-p org-done-keywords-for-agenda)))))) #+END_SRC #+RESULTS: -| Form | x faster than next | Total runtime | # of GCs | Total GC runtime | -|----------+--------------------+---------------+----------+------------------| -| ts.el ts | 1.05 | 0.103714 | 0 | 0 | -| old ts | slowest | 0.108663 | 0 | 0 | +#+begin_example +mapcar 711 26.910164986 0.0378483333 +org-agenda-ng--agenda 5 21.012501837 4.2025003674 +org-agenda-ng--filter-buffer 40 13.751964650 0.3437991162 +org-agenda-ng--todo-p 37080 5.8788306440 0.0001585445 +org-agenda-ng--format-element 1180 4.5712275970 0.0038739216 +org-get-todo-state 37080 4.1661659069 0.0001123561 +org-agenda-ng--date-p 21595 4.1442710769 0.0001919088 +org-entry-get 22730 2.8275069239 0.0001243953 +org-entry-properties 21595 2.6558403739 0.0001229840 +outline-next-heading 34625 2.0894695999 6.034...e-05 +org-element-headline-parser 1180 1.9110445780 0.0016195293 +re-search-forward 42280 1.6994989150 4.019...e-05 +org-agenda-ng--add-faces 1180 1.6172592580 0.0013705586 +org-agenda-ng--add-scheduled-face 1180 1.607386145 0.0013621916 +org-get-tags-at 1180 1.1521010509 0.0009763568 +org-back-to-heading 64530 1.1005834200 1.705...e-05 +org-up-heading-safe 2360 1.0182265390 0.0004314519 +outline-back-to-heading 64530 1.0086056729 1.563...e-05 +org-parse-time-string 7560 0.8314918499 0.0001099856 +org-time-string-to-absolute 3780 0.8277485280 0.0002189810 +#+end_example -*** :from + +** Profiling flet on a single file + +This shows that the difference between them, if any, is so small as to be irrelevant. The convenience and clarity are a big win. + +*** With flet #+BEGIN_SRC elisp - (bench-multi-lexical :times 1 :ensure-equal t - :forms (("old ts" (org-ql "~/org/inbox.org" - (ts :from "2017-01-01"))) - ("ts.el ts" (org-ql "~/org/inbox.org" - (ts-ts :from "2017-01-01"))))) + (elp-profile 5 (org-agenda-ng--agenda + :files "~/org/main.org" + :pred (lambda () + (and (todo) + (or (date :deadline '<= (org-today)) + (date :scheduled '<= (org-today))) + (not (apply #'todo org-done-keywords-for-agenda)))))) #+END_SRC #+RESULTS: -| Form | x faster than next | Total runtime | # of GCs | Total GC runtime | -|----------+--------------------+---------------+----------+------------------| -| ts.el ts | 1.32 | 1.299966 | 0 | 0 | -| old ts | slowest | 1.713027 | 0 | 0 | +#+begin_example +mapcar 526 3.7898506779 0.0072050393 +org-agenda-ng--agenda 5 2.7695176850 0.5539035370 +org-agenda-ng--filter-buffer 5 1.414347774 0.2828695548 +org-agenda-ng--format-element 265 0.8871611419 0.0033477778 +org-get-tags-at 265 0.7891641319 0.0029779778 +org-up-heading-safe 1150 0.7581951110 0.0006593000 +re-search-backward 3700 0.5948686769 0.0001607753 +org-agenda-ng--todo-p 6690 0.5840980579 8.730...e-05 +org-get-todo-state 6690 0.5666448919 8.470...e-05 +org-agenda-ng--date-p 5940 0.5196037069 8.747...e-05 +org-entry-get 6195 0.4144106150 6.689...e-05 +org-entry-properties 5940 0.3640680380 6.129...e-05 +org-element-headline-parser 265 0.2810144920 0.0010604320 +outline-next-heading 6195 0.2495287770 4.027...e-05 +org-back-to-heading 14565 0.1959557380 1.345...e-05 +re-search-forward 7850 0.1933439489 2.462...e-05 +outline-back-to-heading 14565 0.1753121230 1.203...e-05 +org-outline-level 2300 0.1676228200 7.287...e-05 +org-agenda-finalize-entries 5 0.1607656930 0.0321531386 +org-super-agenda--filter-finalize-entries 5 0.1316961509 0.0263392301 +#+end_example -*** :to +*** Without flet #+BEGIN_SRC elisp - (bench-multi-lexical :times 1 :ensure-equal t - :forms (("old ts" (org-ql "~/org/inbox.org" - (ts :to "2019-01-01"))) - ("ts.el ts" (org-ql "~/org/inbox.org" - (ts-ts :to "2019-01-01"))))) + (elp-profile 5 (org-agenda-ng--agenda + :files "~/org/main.org" + :pred (lambda () + (and (org-agenda-ng--todo-p) + (or (org-agenda-ng--date-p :deadline '<= (org-today)) + (org-agenda-ng--date-p :scheduled '<= (org-today))) + (not (apply #'org-agenda-ng--todo-p org-done-keywords-for-agenda)))))) #+END_SRC #+RESULTS: -| Form | x faster than next | Total runtime | # of GCs | Total GC runtime | -|----------+--------------------+---------------+----------+------------------| -| ts.el ts | 1.01 | 1.300084 | 0 | 0 | -| old ts | slowest | 1.312208 | 0 | 0 | +#+begin_example +mapcar 526 3.7766218089 0.0071798893 +org-agenda-ng--agenda 5 2.75718831 0.551437662 +org-agenda-ng--filter-buffer 5 1.402551392 0.2805102784 +org-agenda-ng--format-element 265 0.8864161399 0.0033449665 +org-get-tags-at 265 0.7896260759 0.0029797210 +org-up-heading-safe 1150 0.7589292910 0.0006599385 +re-search-backward 3700 0.5956338739 0.0001609821 +org-agenda-ng--todo-p 6690 0.5781650060 8.642...e-05 +org-get-todo-state 6690 0.5603983020 8.376...e-05 +org-agenda-ng--date-p 5940 0.5209897369 8.770...e-05 +org-entry-get 6195 0.4158440950 6.712...e-05 +org-entry-properties 5940 0.3640524090 6.128...e-05 +org-element-headline-parser 265 0.2810144710 0.0010604319 +outline-next-heading 6195 0.2485497380 4.012...e-05 +org-back-to-heading 14565 0.1957209180 1.343...e-05 +re-search-forward 7850 0.1927130979 2.454...e-05 +outline-back-to-heading 14565 0.1751091780 1.202...e-05 +org-outline-level 2300 0.1680958539 7.308...e-05 +org-agenda-finalize-entries 5 0.1610422239 0.0322084448 +org-super-agenda--filter-finalize-entries 5 0.132423043 0.0264846085 +#+end_example -*** :on + +** Profiling =org-trust-scanner-tags= + +[2018-05-10 Thu 12:59] Turned on =org-trust-scanner-tags=, going to try profiling again: #+BEGIN_SRC elisp - (bench-multi-lexical :times 1 :ensure-equal t - :forms (("old ts" (org-ql "~/org/inbox.org" - (ts :on "2019-05-14"))) - ("ts.el ts" (org-ql "~/org/inbox.org" - (ts-ts :on "2019-05-14"))))) + ;; (elp-profile 1 nil (org-agenda-ng "~/src/emacs/org-super-agenda/test/test.org" + ;; (tags "world"))) + + (elp-profile 10 nil (org-agenda-ng org-agenda-files + (tags "Emacs"))) #+END_SRC #+RESULTS: -| Form | x faster than next | Total runtime | # of GCs | Total GC runtime | -|----------+--------------------+---------------+----------+------------------| -| ts.el ts | 1.17 | 0.557281 | 0 | 0 | -| old ts | slowest | 0.652149 | 0 | 0 | +| Function | Times called | Total time | Average time | +|-------------------------------------------+--------------+--------------+--------------| +| org-agenda-ng--agenda | 10 | 44.092598282 | 4.4092598282 | +| mapcar | 282 | 40.234516707 | 0.1426755911 | +| org-agenda-ng--filter-buffer | 80 | 26.895492471 | 0.3361936558 | +| org-element-headline-parser | 3980 | 10.387614362 | 0.0026099533 | +| org-agenda-finalize-entries | 10 | 9.194458252 | 0.9194458252 | +| org-agenda-ng--tags-p | 70250 | 8.1897379849 | 0.0001165799 | +| org-agenda-ng--format-element | 3980 | 6.5944325679 | 0.0016568926 | +| outline-next-heading | 70320 | 6.1190180490 | 8.701...e-05 | +| re-search-forward | 97050 | 5.8706467829 | 6.049...e-05 | +| org-get-tags-at | 74230 | 5.4078158059 | 7.285...e-05 | +| org-super-agenda--filter-finalize-entries | 10 | 5.2320123400 | 0.5232012340 | +| org-super-agenda--group-items | 10 | 5.1260959210 | 0.5126095921 | +| org-super-agenda--group-dispatch | 130 | 5.119333624 | 0.0393794894 | +| sort | 20 | 3.8204368569 | 0.1910218428 | +| org-element--parse-objects | 6180 | 3.5386578929 | 0.0005725983 | +| org-is-habit-p | 5970 | 3.2497755920 | 0.0005443510 | +| org-entry-get | 5970 | 3.2347964049 | 0.0005418419 | +| org--property-local-values | 5970 | 3.1796357319 | 0.0005326023 | +| org-get-property-block | 5970 | 3.0767919680 | 0.0005153755 | +| org-entries-lessp | 20020 | 2.6563960079 | 0.0001326871 | + +Now trying again without it: + +#+BEGIN_SRC elisp + ;; (elp-profile 1 nil (org-agenda-ng "~/src/emacs/org-super-agenda/test/test.org" + ;; (tags "world"))) + + (elp-profile 10 nil (org-agenda-ng org-agenda-files + (tags "Emacs"))) +#+END_SRC + +#+RESULTS: +| Function | Times called | Total time | Average time | +|-------------------------------------------+--------------+--------------+--------------| +| mapcar | 1791 | 57.096304538 | 0.0318795670 | +| org-agenda-ng--agenda | 10 | 54.232133506 | 5.4232133505 | +| org-agenda-ng--filter-buffer | 80 | 30.065167040 | 0.3758145880 | +| org-get-tags-at | 74230 | 13.840202495 | 0.0001864502 | +| org-agenda-ng--format-element | 3980 | 13.429297797 | 0.0033741954 | +| org-element-headline-parser | 3980 | 12.771776652 | 0.0032089891 | +| org-agenda-finalize-entries | 10 | 9.1439433990 | 0.9143943399 | +| org-agenda-ng--tags-p | 70250 | 9.0249653730 | 0.0001284692 | +| org-super-agenda--filter-finalize-entries | 10 | 7.300515859 | 0.7300515859 | +| outline-next-heading | 70320 | 7.2384435649 | 0.0001029357 | +| org-super-agenda--group-items | 10 | 4.918585855 | 0.4918585855 | +| org-super-agenda--group-dispatch | 130 | 4.9125893509 | 0.0377891488 | +| re-search-forward | 101020 | 4.6294823850 | 4.582...e-05 | +| org-up-heading-safe | 7370 | 4.4629885620 | 0.0006055615 | +| org-is-habit-p | 5960 | 4.2772351910 | 0.0007176569 | +| org-entry-get | 5960 | 4.2595350800 | 0.0007146870 | +| org-super-agenda--group-tag | 50 | 3.8942044929 | 0.0778840898 | +| re-search-backward | 26150 | 3.3660083490 | 0.0001287192 | +| org--property-local-values | 5960 | 3.1793476329 | 0.0005334475 | +| org-get-property-block | 5960 | 3.0662425979 | 0.0005144702 | + +Wow, using =org-trust-scanner-tags= saves a /lot/ of time. + +** Profiling position-based + +*** Macro + +#+BEGIN_SRC elisp + (defmacro elp-profile (times &rest body) + (declare (indent defun)) + `(let ((prefixes '("org-" "string-" "s-" "buffer-" "append" "delq" "map" + "list" "car" "save-" "outline-" "delete-dups" + "sort" "line-" "nth" "concat" "char-to-string" + "rx-" "goto-" "when" "search-" "re-")) + output) + (dolist (prefix prefixes) + (elp-instrument-package prefix)) + (dotimes (x ,times) + ,@body) + (elp-results) + (elp-restore-all) + (point-min) + (forward-line 20) + (delete-region (point) (point-max)) + (setq output (buffer-substring-no-properties (point-min) (point-max))) + (kill-buffer) + (delete-window) + output)) +#+END_SRC + + +*** ng-flet + +#+BEGIN_SRC elisp + (elp-profile 5 (org-agenda-ng--test-agenda-today)) +#+END_SRC + +#+RESULTS: +#+begin_example +mapcar 121 0.1292609089 0.0010682719 +org-agenda-ng--test-agenda-today 5 0.0860146149 0.017202923 +org-agenda-ng--agenda 5 0.0858901769 0.0171780353 +org-agenda-ng--format-element 75 0.0308815090 0.0004117534 +org-agenda-ng--filter-buffer 5 0.026709027 0.0053418054 +org-agenda-ng--date-p 455 0.0210552310 4.627...e-05 +org-element-headline-parser 75 0.016209908 0.0002161321 +org-get-tags-at 75 0.008953666 0.0001193822 +org-agenda-ng--add-faces 75 0.0072834109 9.711...e-05 +org-element-timestamp-interpreter 150 0.0068781430 4.585...e-05 +org-entry-get 290 0.0060815609 2.097...e-05 +org-up-heading-safe 210 0.005708647 2.718...e-05 +org-agenda-finalize-entries 5 0.005201221 0.0010402442 +org-element-timestamp-parser 150 0.005191617 3.461078e-05 +org-entry-properties 290 0.0048787450 1.682...e-05 +org-element--get-time-properties 75 0.004112675 5.483...e-05 +org-agenda-ng--add-deadline-face 75 0.0039314910 5.241...e-05 +org-back-to-heading 725 0.0037559990 5.180...e-06 +org-agenda-ng--add-scheduled-face 75 0.0031766149 4.235...e-05 +org-parse-time-string 300 0.0031740200 1.058...e-05 +#+end_example + +*** ng-funcall + +#+BEGIN_SRC elisp + (elp-profile 5 (org-agenda-ng--test-agenda-today)) +#+END_SRC + +#+RESULTS: +#+begin_example +mapcar 121 0.1296645480 0.0010716078 +org-agenda-ng--test-agenda-today 5 0.086714029 0.0173428058 +org-agenda-ng--agenda 5 0.086584611 0.0173169222 +org-agenda-ng--format-element 75 0.0307461019 0.0004099480 +org-agenda-ng--filter-buffer 5 0.027136826 0.0054273652 +org-agenda-ng--date-p 455 0.0213037090 4.682...e-05 +org-element-headline-parser 75 0.016251755 0.0002166900 +org-get-tags-at 75 0.008959605 0.0001194614 +org-agenda-ng--add-faces 75 0.0072381410 9.650...e-05 +org-element-timestamp-interpreter 150 0.0069832960 4.655...e-05 +org-entry-get 290 0.0061220340 2.111...e-05 +org-up-heading-safe 210 0.0057036860 2.716...e-05 +org-agenda-finalize-entries 5 0.005372899 0.0010745798 +org-element-timestamp-parser 150 0.0050518689 3.367...e-05 +org-entry-properties 290 0.0049517209 1.707...e-05 +org-agenda-ng--add-deadline-face 75 0.0039273909 5.236...e-05 +org-element--get-time-properties 75 0.0039059429 5.207...e-05 +org-back-to-heading 725 0.0037793259 5.212...e-06 +org-parse-time-string 300 0.0032196259 1.073...e-05 +org-agenda-ng--add-scheduled-face 75 0.0031410580 4.188...e-05 +#+end_example + +*** orig + +Make sure to kill any existing agenda buffers first. + +#+BEGIN_SRC elisp + (elp-profile 1 (org-agenda-list nil nil 'week)) +#+END_SRC + +#+RESULTS: +#+begin_example +org-agenda-list 1 9.693596196 9.693596196 +org-agenda-get-day-entries 56 8.630330659 0.1541130474 +org-agenda-get-scheduled 56 6.6207980570 0.1182285367 +org-is-habit-p 2792 2.2907458449 0.0008204677 +org-entry-get 2798 2.287390186 0.0008175090 +org-agenda--timestamp-to-absolute 7708 2.0970420100 0.0002720604 +org-agenda-get-deadlines 56 1.6941886389 0.0302533685 +org-at-planning-p 4399 1.3993312159 0.0003181021 +org--property-local-values 2793 1.2699226760 0.0004546805 +org-get-property-block 2794 1.2182695930 0.0004360306 +org-time-string-to-absolute 7708 1.1513844880 0.0001493752 +org-inlinetask-in-task-p 6969 1.139932302 0.0001635718 +org-parse-time-string 7880 1.0635759220 0.0001349715 +org-closest-date 3864 1.0383435800 0.0002687224 +re-search-forward 15199 0.9607921779 6.321...e-05 +org-back-to-heading 12667 0.8564486210 6.761...e-05 +outline-back-to-heading 12667 0.8362207570 6.601...e-05 +line-beginning-position 10333 0.7998346869 7.740...e-05 +org-agenda-format-item 279 0.7552402350 0.0027069542 +re-search-backward 16726 0.5694224969 3.404...e-05 +#+end_example + +** Profiling tags matching + +*** ng + +#+BEGIN_SRC elisp + (elp-profile 1 nil + (org-agenda-ng "~/org/main.org" + (tags "computer"))) +#+END_SRC + +#+RESULTS: +| Function | Times called | Total time | Average time | +|--------------------------------+--------------+--------------+--------------| +| mapcar | 4217 | 12.612716455 | 0.0029909216 | +| org-agenda-ng--agenda | 1 | 9.721410651 | 9.721410651 | +| org-get-tags-at | 1845 | 7.4793860389 | 0.0040538677 | +| org-up-heading-safe | 9361 | 6.4622674019 | 0.0006903394 | +| re-search-backward | 25001 | 5.3399866239 | 0.0002135909 | +| org-agenda-ng--filter-buffer | 1 | 4.874598854 | 4.874598854 | +| org-agenda-ng--tags-p | 1238 | 4.8067623430 | 0.0038826836 | +| org-agenda-ng--format-element | 607 | 3.6325626609 | 0.0059844524 | +| org-outline-level | 17484 | 1.0298924459 | 5.890...e-05 | +| org-add-props | 2074 | 0.8305549259 | 0.0004004604 | +| org-element-headline-parser | 607 | 0.2092664829 | 0.0003447553 | +| org-back-to-heading | 11813 | 0.1252112960 | 1.059...e-05 | +| outline-back-to-heading | 11813 | 0.1100693780 | 9.317...e-06 | +| org-end-of-subtree | 607 | 0.0721986340 | 0.0001189433 | +| outline-on-heading-p | 11813 | 0.0675261030 | 5.716...e-06 | +| outline-next-heading | 1239 | 0.0627980999 | 5.068...e-05 | +| re-search-forward | 3273 | 0.0612446620 | 1.871...e-05 | +| org-agenda-finalize-entries | 1 | 0.041846274 | 0.041846274 | +| buffer-substring-no-properties | 6329 | 0.0308716979 | 4.877...e-06 | +| line-end-position | 903 | 0.0280484950 | 3.106...e-05 | + +*** ng without inheritance + +#+BEGIN_SRC elisp + (elp-profile 1 nil + (org-agenda-ng "~/org/main.org" + (tags "computer"))) +#+END_SRC + +#+RESULTS: +| Function | Times called | Total time | Average time | +|--------------------------------+--------------+--------------+--------------| +| mapcar | 4217 | 12.580246839 | 0.0029832219 | +| org-agenda-ng--agenda | 1 | 8.777776059 | 8.777776059 | +| org-get-tags-at | 1845 | 8.2853503299 | 0.0044907047 | +| org-up-heading-safe | 9361 | 7.2710981889 | 0.0007767437 | +| re-search-backward | 25001 | 5.3360082060 | 0.0002134317 | +| org-agenda-ng--filter-buffer | 1 | 4.865602689 | 4.865602689 | +| org-agenda-ng--tags-p | 1238 | 4.7983754310 | 0.0038759090 | +| org-agenda-ng--format-element | 607 | 3.6273825100 | 0.0059759184 | +| org-outline-level | 17484 | 1.0284417919 | 5.882...e-05 | +| org-back-to-heading | 11813 | 0.9390534479 | 7.949...e-05 | +| org-split-string | 4940 | 0.833825087 | 0.0001687905 | +| string-match | 9102 | 0.8231629100 | 9.043...e-05 | +| org-element-headline-parser | 607 | 0.2034305819 | 0.0003351409 | +| outline-back-to-heading | 11813 | 0.1096120189 | 9.278...e-06 | +| org-end-of-subtree | 607 | 0.0710802559 | 0.0001171009 | +| outline-on-heading-p | 11813 | 0.0670029359 | 5.671...e-06 | +| outline-next-heading | 1239 | 0.0622323519 | 5.022...e-05 | +| re-search-forward | 3273 | 0.0603102519 | 1.842...e-05 | +| org-agenda-finalize-entries | 1 | 0.037286496 | 0.037286496 | +| buffer-substring-no-properties | 6329 | 0.0285818689 | 4.516...e-06 | + + +*** original + +#+BEGIN_SRC elisp + (elp-profile 1 nil + (with-current-buffer "main.org" +(org-tags-view nil "computer"))) +#+END_SRC + +#+RESULTS: +| Function | Times called | Total time | Average time | +|-----------------------------+--------------+--------------+--------------| +| org-tags-view | 1 | 2.620578129 | 2.620578129 | +| org-scan-tags | 1 | 1.448883817 | 1.448883817 | +| org-agenda-format-item | 607 | 0.9273893060 | 0.0015278242 | +| org-add-props | 2042 | 0.8877267209 | 0.0004347339 | +| org-agenda-finalize | 1 | 0.144506782 | 0.144506782 | +| re-search-forward | 2154 | 0.1367046650 | 6.346...e-05 | +| string-match | 8742 | 0.1002517259 | 1.146...e-05 | +| org-get-priority | 607 | 0.0961996220 | 0.0001584837 | +| org-agenda-align-tags | 1 | 0.095166495 | 0.095166495 | +| org-agenda-prepare | 1 | 0.081724472 | 0.081724472 | +| org-outline-level | 1246 | 0.0771033170 | 6.188...e-05 | +| org-agenda-finalize-entries | 1 | 0.071707404 | 0.071707404 | +| org-agenda-prepare-buffers | 1 | 0.057903921 | 0.057903921 | +| org-get-heading | 607 | 0.0517784369 | 8.530...e-05 | +| mapcar | 3738 | 0.0418641110 | 1.119...e-05 | +| org-agenda-highlight-todo | 607 | 0.0273123070 | 4.499...e-05 | +| mapconcat | 609 | 0.024743305 | 4.062...e-05 | +| sort | 2 | 0.02117069 | 0.010585345 | +| org-activate-plain-links | 132 | 0.0203558980 | 0.0001542113 | +| org-activate-bracket-links | 78 | 0.0198589680 | 0.0002546021 | ** Using =org-element-parse-buffer= @@ -1992,850 +2684,184 @@ string-match 4594 0.0064 mapcar 30 0.0041008740 0.0001366958 #+end_example -** Profiling position-based +** with/without ts.el -*** Macro +[2019-08-11 Sun 15:39] These results seem to show a minor performance improvement by using ~ts~, and the code is simpler. #+BEGIN_SRC elisp - (defmacro elp-profile (times &rest body) - (declare (indent defun)) - `(let ((prefixes '("org-" "string-" "s-" "buffer-" "append" "delq" "map" - "list" "car" "save-" "outline-" "delete-dups" - "sort" "line-" "nth" "concat" "char-to-string" - "rx-" "goto-" "when" "search-" "re-")) - output) - (dolist (prefix prefixes) - (elp-instrument-package prefix)) - (dotimes (x ,times) - ,@body) - (elp-results) - (elp-restore-all) - (point-min) - (forward-line 20) - (delete-region (point) (point-max)) - (setq output (buffer-substring-no-properties (point-min) (point-max))) - (kill-buffer) - (delete-window) - output)) + ;; (require 'ts) + + (org-ql--defpred ts-ts (&key from to _on) + ;; The underscore before `on' prevents "unused lexical variable" warnings, because we + ;; pre-process that argument in a macro before this function is called. + "Return non-nil if current entry has a timestamp in given period. + If no arguments are specified, return non-nil if entry has any + timestamp. + + If FROM, return non-nil if entry has a timestamp on or after + FROM. + + If TO, return non-nil if entry has a timestamp on or before TO. + + If ON, return non-nil if entry has a timestamp on date ON. + + FROM, TO, and ON should be strings parseable by + `parse-time-string' but may omit the time value." + ;; TODO: DRY this with the clocked predicate. + ;; NOTE: FROM and TO are actually expected to be Unix timestamps. The docstring is written + ;; for end users, for which the arguments are pre-processed by `org-ql-select'. + ;; FIXME: This assumes every "clocked" entry is a range. Unclosed clock entries are not handled. + (cl-macrolet ((next-timestamp () + `(when (re-search-forward org-element--timestamp-regexp end-pos t) + (ts-parse-org (match-string 0)))) + (test-timestamps (pred-form) + `(cl-loop for next-ts = (next-timestamp) + while next-ts + thereis ,pred-form))) + (save-excursion + (let ((end-pos (org-entry-end-position))) + (cond ((not (or from to)) (re-search-forward org-element--timestamp-regexp end-pos t)) + ((and from to) (test-timestamps (and (ts<= from next-ts) + (ts<= next-ts to)))) + (from (test-timestamps (ts<= from next-ts))) + (to (test-timestamps (ts<= next-ts to)))))))) + #+END_SRC - -*** orig - -Make sure to kill any existing agenda buffers first. +*** :from #+BEGIN_SRC elisp - (elp-profile 1 (org-agenda-list nil nil 'week)) -#+END_SRC - -#+RESULTS: -#+begin_example -org-agenda-list 1 9.693596196 9.693596196 -org-agenda-get-day-entries 56 8.630330659 0.1541130474 -org-agenda-get-scheduled 56 6.6207980570 0.1182285367 -org-is-habit-p 2792 2.2907458449 0.0008204677 -org-entry-get 2798 2.287390186 0.0008175090 -org-agenda--timestamp-to-absolute 7708 2.0970420100 0.0002720604 -org-agenda-get-deadlines 56 1.6941886389 0.0302533685 -org-at-planning-p 4399 1.3993312159 0.0003181021 -org--property-local-values 2793 1.2699226760 0.0004546805 -org-get-property-block 2794 1.2182695930 0.0004360306 -org-time-string-to-absolute 7708 1.1513844880 0.0001493752 -org-inlinetask-in-task-p 6969 1.139932302 0.0001635718 -org-parse-time-string 7880 1.0635759220 0.0001349715 -org-closest-date 3864 1.0383435800 0.0002687224 -re-search-forward 15199 0.9607921779 6.321...e-05 -org-back-to-heading 12667 0.8564486210 6.761...e-05 -outline-back-to-heading 12667 0.8362207570 6.601...e-05 -line-beginning-position 10333 0.7998346869 7.740...e-05 -org-agenda-format-item 279 0.7552402350 0.0027069542 -re-search-backward 16726 0.5694224969 3.404...e-05 -#+end_example - -*** ng-funcall - -#+BEGIN_SRC elisp - (elp-profile 5 (org-agenda-ng--test-agenda-today)) -#+END_SRC - -#+RESULTS: -#+begin_example -mapcar 121 0.1296645480 0.0010716078 -org-agenda-ng--test-agenda-today 5 0.086714029 0.0173428058 -org-agenda-ng--agenda 5 0.086584611 0.0173169222 -org-agenda-ng--format-element 75 0.0307461019 0.0004099480 -org-agenda-ng--filter-buffer 5 0.027136826 0.0054273652 -org-agenda-ng--date-p 455 0.0213037090 4.682...e-05 -org-element-headline-parser 75 0.016251755 0.0002166900 -org-get-tags-at 75 0.008959605 0.0001194614 -org-agenda-ng--add-faces 75 0.0072381410 9.650...e-05 -org-element-timestamp-interpreter 150 0.0069832960 4.655...e-05 -org-entry-get 290 0.0061220340 2.111...e-05 -org-up-heading-safe 210 0.0057036860 2.716...e-05 -org-agenda-finalize-entries 5 0.005372899 0.0010745798 -org-element-timestamp-parser 150 0.0050518689 3.367...e-05 -org-entry-properties 290 0.0049517209 1.707...e-05 -org-agenda-ng--add-deadline-face 75 0.0039273909 5.236...e-05 -org-element--get-time-properties 75 0.0039059429 5.207...e-05 -org-back-to-heading 725 0.0037793259 5.212...e-06 -org-parse-time-string 300 0.0032196259 1.073...e-05 -org-agenda-ng--add-scheduled-face 75 0.0031410580 4.188...e-05 -#+end_example - -*** ng-flet - -#+BEGIN_SRC elisp - (elp-profile 5 (org-agenda-ng--test-agenda-today)) -#+END_SRC - -#+RESULTS: -#+begin_example -mapcar 121 0.1292609089 0.0010682719 -org-agenda-ng--test-agenda-today 5 0.0860146149 0.017202923 -org-agenda-ng--agenda 5 0.0858901769 0.0171780353 -org-agenda-ng--format-element 75 0.0308815090 0.0004117534 -org-agenda-ng--filter-buffer 5 0.026709027 0.0053418054 -org-agenda-ng--date-p 455 0.0210552310 4.627...e-05 -org-element-headline-parser 75 0.016209908 0.0002161321 -org-get-tags-at 75 0.008953666 0.0001193822 -org-agenda-ng--add-faces 75 0.0072834109 9.711...e-05 -org-element-timestamp-interpreter 150 0.0068781430 4.585...e-05 -org-entry-get 290 0.0060815609 2.097...e-05 -org-up-heading-safe 210 0.005708647 2.718...e-05 -org-agenda-finalize-entries 5 0.005201221 0.0010402442 -org-element-timestamp-parser 150 0.005191617 3.461078e-05 -org-entry-properties 290 0.0048787450 1.682...e-05 -org-element--get-time-properties 75 0.004112675 5.483...e-05 -org-agenda-ng--add-deadline-face 75 0.0039314910 5.241...e-05 -org-back-to-heading 725 0.0037559990 5.180...e-06 -org-agenda-ng--add-scheduled-face 75 0.0031766149 4.235...e-05 -org-parse-time-string 300 0.0031740200 1.058...e-05 -#+end_example - -** Profiling =org-trust-scanner-tags= - -[2018-05-10 Thu 12:59] Turned on =org-trust-scanner-tags=, going to try profiling again: - -#+BEGIN_SRC elisp - ;; (elp-profile 1 nil (org-agenda-ng "~/src/emacs/org-super-agenda/test/test.org" - ;; (tags "world"))) - - (elp-profile 10 nil (org-agenda-ng org-agenda-files - (tags "Emacs"))) -#+END_SRC - -#+RESULTS: -| Function | Times called | Total time | Average time | -|-------------------------------------------+--------------+--------------+--------------| -| org-agenda-ng--agenda | 10 | 44.092598282 | 4.4092598282 | -| mapcar | 282 | 40.234516707 | 0.1426755911 | -| org-agenda-ng--filter-buffer | 80 | 26.895492471 | 0.3361936558 | -| org-element-headline-parser | 3980 | 10.387614362 | 0.0026099533 | -| org-agenda-finalize-entries | 10 | 9.194458252 | 0.9194458252 | -| org-agenda-ng--tags-p | 70250 | 8.1897379849 | 0.0001165799 | -| org-agenda-ng--format-element | 3980 | 6.5944325679 | 0.0016568926 | -| outline-next-heading | 70320 | 6.1190180490 | 8.701...e-05 | -| re-search-forward | 97050 | 5.8706467829 | 6.049...e-05 | -| org-get-tags-at | 74230 | 5.4078158059 | 7.285...e-05 | -| org-super-agenda--filter-finalize-entries | 10 | 5.2320123400 | 0.5232012340 | -| org-super-agenda--group-items | 10 | 5.1260959210 | 0.5126095921 | -| org-super-agenda--group-dispatch | 130 | 5.119333624 | 0.0393794894 | -| sort | 20 | 3.8204368569 | 0.1910218428 | -| org-element--parse-objects | 6180 | 3.5386578929 | 0.0005725983 | -| org-is-habit-p | 5970 | 3.2497755920 | 0.0005443510 | -| org-entry-get | 5970 | 3.2347964049 | 0.0005418419 | -| org--property-local-values | 5970 | 3.1796357319 | 0.0005326023 | -| org-get-property-block | 5970 | 3.0767919680 | 0.0005153755 | -| org-entries-lessp | 20020 | 2.6563960079 | 0.0001326871 | - -Now trying again without it: - -#+BEGIN_SRC elisp - ;; (elp-profile 1 nil (org-agenda-ng "~/src/emacs/org-super-agenda/test/test.org" - ;; (tags "world"))) - - (elp-profile 10 nil (org-agenda-ng org-agenda-files - (tags "Emacs"))) -#+END_SRC - -#+RESULTS: -| Function | Times called | Total time | Average time | -|-------------------------------------------+--------------+--------------+--------------| -| mapcar | 1791 | 57.096304538 | 0.0318795670 | -| org-agenda-ng--agenda | 10 | 54.232133506 | 5.4232133505 | -| org-agenda-ng--filter-buffer | 80 | 30.065167040 | 0.3758145880 | -| org-get-tags-at | 74230 | 13.840202495 | 0.0001864502 | -| org-agenda-ng--format-element | 3980 | 13.429297797 | 0.0033741954 | -| org-element-headline-parser | 3980 | 12.771776652 | 0.0032089891 | -| org-agenda-finalize-entries | 10 | 9.1439433990 | 0.9143943399 | -| org-agenda-ng--tags-p | 70250 | 9.0249653730 | 0.0001284692 | -| org-super-agenda--filter-finalize-entries | 10 | 7.300515859 | 0.7300515859 | -| outline-next-heading | 70320 | 7.2384435649 | 0.0001029357 | -| org-super-agenda--group-items | 10 | 4.918585855 | 0.4918585855 | -| org-super-agenda--group-dispatch | 130 | 4.9125893509 | 0.0377891488 | -| re-search-forward | 101020 | 4.6294823850 | 4.582...e-05 | -| org-up-heading-safe | 7370 | 4.4629885620 | 0.0006055615 | -| org-is-habit-p | 5960 | 4.2772351910 | 0.0007176569 | -| org-entry-get | 5960 | 4.2595350800 | 0.0007146870 | -| org-super-agenda--group-tag | 50 | 3.8942044929 | 0.0778840898 | -| re-search-backward | 26150 | 3.3660083490 | 0.0001287192 | -| org--property-local-values | 5960 | 3.1793476329 | 0.0005334475 | -| org-get-property-block | 5960 | 3.0662425979 | 0.0005144702 | - -Wow, using =org-trust-scanner-tags= saves a /lot/ of time. - -** Profiling flet across all agenda files - -*** Without flet - -#+BEGIN_SRC elisp - (elp-profile 5 (org-agenda-ng--agenda - :files org-agenda-files - :pred (lambda () - (and (org-agenda-ng--todo-p) - (or (org-agenda-ng--date-p :deadline '<= (org-today)) - (org-agenda-ng--date-p :scheduled '<= (org-today))) - (not (apply #'org-agenda-ng--todo-p org-done-keywords-for-agenda)))))) -#+END_SRC - -#+RESULTS: -#+begin_example -mapcar 711 26.910164986 0.0378483333 -org-agenda-ng--agenda 5 21.012501837 4.2025003674 -org-agenda-ng--filter-buffer 40 13.751964650 0.3437991162 -org-agenda-ng--todo-p 37080 5.8788306440 0.0001585445 -org-agenda-ng--format-element 1180 4.5712275970 0.0038739216 -org-get-todo-state 37080 4.1661659069 0.0001123561 -org-agenda-ng--date-p 21595 4.1442710769 0.0001919088 -org-entry-get 22730 2.8275069239 0.0001243953 -org-entry-properties 21595 2.6558403739 0.0001229840 -outline-next-heading 34625 2.0894695999 6.034...e-05 -org-element-headline-parser 1180 1.9110445780 0.0016195293 -re-search-forward 42280 1.6994989150 4.019...e-05 -org-agenda-ng--add-faces 1180 1.6172592580 0.0013705586 -org-agenda-ng--add-scheduled-face 1180 1.607386145 0.0013621916 -org-get-tags-at 1180 1.1521010509 0.0009763568 -org-back-to-heading 64530 1.1005834200 1.705...e-05 -org-up-heading-safe 2360 1.0182265390 0.0004314519 -outline-back-to-heading 64530 1.0086056729 1.563...e-05 -org-parse-time-string 7560 0.8314918499 0.0001099856 -org-time-string-to-absolute 3780 0.8277485280 0.0002189810 -#+end_example - - -*** With flet - -#+BEGIN_SRC elisp - (elp-profile 5 (org-agenda-ng--agenda - :files org-agenda-files - :pred (lambda () - (and (todo) - (or (date :deadline '<= (org-today)) - (date :scheduled '<= (org-today))) - (not (apply #'todo org-done-keywords-for-agenda)))))) -#+END_SRC - -#+RESULTS: -#+begin_example -mapcar 711 25.608392569 0.0360174297 -org-agenda-ng--agenda 5 24.019318793 4.8038637586 -org-agenda-ng--filter-buffer 40 14.160293256 0.3540073313 -org-agenda-ng--date-p 21595 4.2111783960 0.0001950071 -org-agenda-finalize-entries 5 4.0930243110 0.8186048622 -org-super-agenda--filter-finalize-entries 5 3.937522006 0.7875044012 -org-agenda-ng--todo-p 37080 3.5687476730 9.624...e-05 -org-get-todo-state 37080 3.4737076600 9.368...e-05 -outline-next-heading 34625 3.4689080650 0.0001001850 -re-search-forward 42280 3.0743315830 7.271...e-05 -org-agenda-ng--format-element 1180 2.9511605820 0.0025009835 -org-element-headline-parser 1180 2.6757063699 0.0022675477 -org-super-agenda--group-items 5 2.187362092 0.4374724183 -org-super-agenda--group-dispatch 70 2.184685662 0.0312097951 -org-entry-get 22730 2.0711872869 9.112...e-05 -org-entry-properties 21595 1.8958912070 8.779...e-05 -org-super-agenda--group-tag 25 1.8498977799 0.0739959111 -org-element-timestamp-parser 3785 1.8234333229 0.0004817525 -org-parse-time-string 7560 1.7121709579 0.0002264776 -org-element--get-time-properties 1180 1.1814058020 0.0010011913 -#+end_example - -** Profiling flet on a single file - -This shows that the difference between them, if any, is so small as to be irrelevant. The convenience and clarity are a big win. - -*** Without flet - -#+BEGIN_SRC elisp - (elp-profile 5 (org-agenda-ng--agenda - :files "~/org/main.org" - :pred (lambda () - (and (org-agenda-ng--todo-p) - (or (org-agenda-ng--date-p :deadline '<= (org-today)) - (org-agenda-ng--date-p :scheduled '<= (org-today))) - (not (apply #'org-agenda-ng--todo-p org-done-keywords-for-agenda)))))) -#+END_SRC - -#+RESULTS: -#+begin_example -mapcar 526 3.7766218089 0.0071798893 -org-agenda-ng--agenda 5 2.75718831 0.551437662 -org-agenda-ng--filter-buffer 5 1.402551392 0.2805102784 -org-agenda-ng--format-element 265 0.8864161399 0.0033449665 -org-get-tags-at 265 0.7896260759 0.0029797210 -org-up-heading-safe 1150 0.7589292910 0.0006599385 -re-search-backward 3700 0.5956338739 0.0001609821 -org-agenda-ng--todo-p 6690 0.5781650060 8.642...e-05 -org-get-todo-state 6690 0.5603983020 8.376...e-05 -org-agenda-ng--date-p 5940 0.5209897369 8.770...e-05 -org-entry-get 6195 0.4158440950 6.712...e-05 -org-entry-properties 5940 0.3640524090 6.128...e-05 -org-element-headline-parser 265 0.2810144710 0.0010604319 -outline-next-heading 6195 0.2485497380 4.012...e-05 -org-back-to-heading 14565 0.1957209180 1.343...e-05 -re-search-forward 7850 0.1927130979 2.454...e-05 -outline-back-to-heading 14565 0.1751091780 1.202...e-05 -org-outline-level 2300 0.1680958539 7.308...e-05 -org-agenda-finalize-entries 5 0.1610422239 0.0322084448 -org-super-agenda--filter-finalize-entries 5 0.132423043 0.0264846085 -#+end_example - - -*** With flet - -#+BEGIN_SRC elisp - (elp-profile 5 (org-agenda-ng--agenda - :files "~/org/main.org" - :pred (lambda () - (and (todo) - (or (date :deadline '<= (org-today)) - (date :scheduled '<= (org-today))) - (not (apply #'todo org-done-keywords-for-agenda)))))) -#+END_SRC - -#+RESULTS: -#+begin_example -mapcar 526 3.7898506779 0.0072050393 -org-agenda-ng--agenda 5 2.7695176850 0.5539035370 -org-agenda-ng--filter-buffer 5 1.414347774 0.2828695548 -org-agenda-ng--format-element 265 0.8871611419 0.0033477778 -org-get-tags-at 265 0.7891641319 0.0029779778 -org-up-heading-safe 1150 0.7581951110 0.0006593000 -re-search-backward 3700 0.5948686769 0.0001607753 -org-agenda-ng--todo-p 6690 0.5840980579 8.730...e-05 -org-get-todo-state 6690 0.5666448919 8.470...e-05 -org-agenda-ng--date-p 5940 0.5196037069 8.747...e-05 -org-entry-get 6195 0.4144106150 6.689...e-05 -org-entry-properties 5940 0.3640680380 6.129...e-05 -org-element-headline-parser 265 0.2810144920 0.0010604320 -outline-next-heading 6195 0.2495287770 4.027...e-05 -org-back-to-heading 14565 0.1959557380 1.345...e-05 -re-search-forward 7850 0.1933439489 2.462...e-05 -outline-back-to-heading 14565 0.1753121230 1.203...e-05 -org-outline-level 2300 0.1676228200 7.287...e-05 -org-agenda-finalize-entries 5 0.1607656930 0.0321531386 -org-super-agenda--filter-finalize-entries 5 0.1316961509 0.0263392301 -#+end_example - -** Profiling tags matching - -*** ng - -#+BEGIN_SRC elisp - (elp-profile 1 nil - (org-agenda-ng "~/org/main.org" - (tags "computer"))) -#+END_SRC - -#+RESULTS: -| Function | Times called | Total time | Average time | -|--------------------------------+--------------+--------------+--------------| -| mapcar | 4217 | 12.612716455 | 0.0029909216 | -| org-agenda-ng--agenda | 1 | 9.721410651 | 9.721410651 | -| org-get-tags-at | 1845 | 7.4793860389 | 0.0040538677 | -| org-up-heading-safe | 9361 | 6.4622674019 | 0.0006903394 | -| re-search-backward | 25001 | 5.3399866239 | 0.0002135909 | -| org-agenda-ng--filter-buffer | 1 | 4.874598854 | 4.874598854 | -| org-agenda-ng--tags-p | 1238 | 4.8067623430 | 0.0038826836 | -| org-agenda-ng--format-element | 607 | 3.6325626609 | 0.0059844524 | -| org-outline-level | 17484 | 1.0298924459 | 5.890...e-05 | -| org-add-props | 2074 | 0.8305549259 | 0.0004004604 | -| org-element-headline-parser | 607 | 0.2092664829 | 0.0003447553 | -| org-back-to-heading | 11813 | 0.1252112960 | 1.059...e-05 | -| outline-back-to-heading | 11813 | 0.1100693780 | 9.317...e-06 | -| org-end-of-subtree | 607 | 0.0721986340 | 0.0001189433 | -| outline-on-heading-p | 11813 | 0.0675261030 | 5.716...e-06 | -| outline-next-heading | 1239 | 0.0627980999 | 5.068...e-05 | -| re-search-forward | 3273 | 0.0612446620 | 1.871...e-05 | -| org-agenda-finalize-entries | 1 | 0.041846274 | 0.041846274 | -| buffer-substring-no-properties | 6329 | 0.0308716979 | 4.877...e-06 | -| line-end-position | 903 | 0.0280484950 | 3.106...e-05 | - -*** ng without inheritance - -#+BEGIN_SRC elisp - (elp-profile 1 nil - (org-agenda-ng "~/org/main.org" - (tags "computer"))) -#+END_SRC - -#+RESULTS: -| Function | Times called | Total time | Average time | -|--------------------------------+--------------+--------------+--------------| -| mapcar | 4217 | 12.580246839 | 0.0029832219 | -| org-agenda-ng--agenda | 1 | 8.777776059 | 8.777776059 | -| org-get-tags-at | 1845 | 8.2853503299 | 0.0044907047 | -| org-up-heading-safe | 9361 | 7.2710981889 | 0.0007767437 | -| re-search-backward | 25001 | 5.3360082060 | 0.0002134317 | -| org-agenda-ng--filter-buffer | 1 | 4.865602689 | 4.865602689 | -| org-agenda-ng--tags-p | 1238 | 4.7983754310 | 0.0038759090 | -| org-agenda-ng--format-element | 607 | 3.6273825100 | 0.0059759184 | -| org-outline-level | 17484 | 1.0284417919 | 5.882...e-05 | -| org-back-to-heading | 11813 | 0.9390534479 | 7.949...e-05 | -| org-split-string | 4940 | 0.833825087 | 0.0001687905 | -| string-match | 9102 | 0.8231629100 | 9.043...e-05 | -| org-element-headline-parser | 607 | 0.2034305819 | 0.0003351409 | -| outline-back-to-heading | 11813 | 0.1096120189 | 9.278...e-06 | -| org-end-of-subtree | 607 | 0.0710802559 | 0.0001171009 | -| outline-on-heading-p | 11813 | 0.0670029359 | 5.671...e-06 | -| outline-next-heading | 1239 | 0.0622323519 | 5.022...e-05 | -| re-search-forward | 3273 | 0.0603102519 | 1.842...e-05 | -| org-agenda-finalize-entries | 1 | 0.037286496 | 0.037286496 | -| buffer-substring-no-properties | 6329 | 0.0285818689 | 4.516...e-06 | - - -*** original - -#+BEGIN_SRC elisp - (elp-profile 1 nil - (with-current-buffer "main.org" -(org-tags-view nil "computer"))) -#+END_SRC - -#+RESULTS: -| Function | Times called | Total time | Average time | -|-----------------------------+--------------+--------------+--------------| -| org-tags-view | 1 | 2.620578129 | 2.620578129 | -| org-scan-tags | 1 | 1.448883817 | 1.448883817 | -| org-agenda-format-item | 607 | 0.9273893060 | 0.0015278242 | -| org-add-props | 2042 | 0.8877267209 | 0.0004347339 | -| org-agenda-finalize | 1 | 0.144506782 | 0.144506782 | -| re-search-forward | 2154 | 0.1367046650 | 6.346...e-05 | -| string-match | 8742 | 0.1002517259 | 1.146...e-05 | -| org-get-priority | 607 | 0.0961996220 | 0.0001584837 | -| org-agenda-align-tags | 1 | 0.095166495 | 0.095166495 | -| org-agenda-prepare | 1 | 0.081724472 | 0.081724472 | -| org-outline-level | 1246 | 0.0771033170 | 6.188...e-05 | -| org-agenda-finalize-entries | 1 | 0.071707404 | 0.071707404 | -| org-agenda-prepare-buffers | 1 | 0.057903921 | 0.057903921 | -| org-get-heading | 607 | 0.0517784369 | 8.530...e-05 | -| mapcar | 3738 | 0.0418641110 | 1.119...e-05 | -| org-agenda-highlight-todo | 607 | 0.0273123070 | 4.499...e-05 | -| mapconcat | 609 | 0.024743305 | 4.062...e-05 | -| sort | 2 | 0.02117069 | 0.010585345 | -| org-activate-plain-links | 132 | 0.0203558980 | 0.0001542113 | -| org-activate-bracket-links | 78 | 0.0198589680 | 0.0002546021 | - -** More profiling - -[2018-05-10 Thu 15:02] I think these are decent improvements. - -#+BEGIN_SRC elisp - (elp-profile 1 nil (org-agenda-ng "~/org/main.org" - (or (habit) - (and (or (date '= (org-today)) - (deadline '<=) - (scheduled '<= (org-today))) - (not (apply #'todo org-done-keywords-for-agenda))) - (and (todo "DONE" "CANCELLED") - (closed '= (org-today)))))) -#+END_SRC - -#+RESULTS: -| Function | Times called | Total time | Average time | -|-------------------------------+--------------+--------------+--------------| -| mapcar | 164 | 1.5004585290 | 0.0091491373 | -| org-agenda-ng--agenda | 1 | 1.348231247 | 1.348231247 | -| org-agenda-ng--filter-buffer | 1 | 1.1391189879 | 1.1391189879 | -| org-agenda-ng--date-plain-p | 1267 | 0.6198571040 | 0.0004892321 | -| org-entry-get | 3983 | 0.2979337370 | 7.480...e-05 | -| org-is-habit-p | 1365 | 0.2049101109 | 0.0001501172 | -| org--property-local-values | 1365 | 0.1940614150 | 0.0001421695 | -| org-agenda-ng--habit-p | 1272 | 0.1911009179 | 0.0001502365 | -| org-agenda-ng--format-element | 52 | 0.177965411 | 0.0034224117 | -| org-get-property-block | 1365 | 0.1760004519 | 0.0001289380 | -| org-get-tags-at | 52 | 0.1362824969 | 0.0026208172 | -| org-agenda-ng--date-p | 3880 | 0.1351176629 | 3.482...e-05 | -| org-up-heading-safe | 226 | 0.1276747609 | 0.0005649325 | -| re-search-backward | 2028 | 0.1144211070 | 5.642...e-05 | -| org-entry-properties | 2618 | 0.0848660999 | 3.241...e-05 | -| org-agenda-ng--todo-p | 1319 | 0.081952653 | 6.213...e-05 | -| org-get-todo-state | 1319 | 0.0796836810 | 6.041...e-05 | -| re-search-forward | 3754 | 0.0739803739 | 1.970...e-05 | -| org-inlinetask-in-task-p | 1365 | 0.0657829330 | 4.819...e-05 | -| org-agenda-ng--scheduled-p | 1247 | 0.0619497850 | 4.967...e-05 | - -** Intersecting query results - -An idea that /might/ be helpful for performance in /some/ cases, depending on the query, the data, and whether the query has a preamble. But it looks like it would very rarely be helpful. - -#+BEGIN_SRC elisp - (cl-defun org-ql-agenda-intersection (buffers-files queries &key entries sort buffer narrow super-groups) - "Like `org-ql-agenda', but intersects multiple queries." - (declare (indent defun)) - (let* ((org-ql-cache (ht)) - (entries (->> queries - (--map (org-ql-select buffers-files - it - :action 'element-with-markers - :narrow narrow - :sort sort)) - (-reduce #'-intersection)))) - (org-ql-agenda--agenda buffers-files queries - :entries entries :super-groups super-groups))) - - (bench-multi-lexical :times 1 - :forms (("intersection" (let ((org-use-tag-inheritance nil)) - (org-ql-agenda-intersection (org-agenda-files) - '((todo "TODO") - (tags "Emacs")) - :sort '(priority deadline) - :super-groups org-super-agenda-groups))) - ("normal" (let ((org-use-tag-inheritance nil)) - (org-ql-agenda (org-agenda-files) - (and (todo "TODO") - (tags "Emacs")) - :sort (priority deadline) - :super-groups org-super-agenda-groups))))) -#+END_SRC - -#+RESULTS: -| Form | x faster than next | Total runtime | # of GCs | Total GC runtime | -|--------------+--------------------+---------------+----------+------------------| -| normal | 3.70 | 0.233147 | 0 | 0 | -| intersection | slowest | 0.862512 | 0 | 0 | - -*** Alternative approach - -[2019-09-01 Sun 08:17] This is very experimental, but the results are surprising. When the action function returns a fairly simple list, the intersection is very slightly faster. When returning full elements, the intersection is much slower, so that it more than doubles the runtime. I wonder if the element list comparison is short-circuiting, or if it looks at the whole lists, because it seems like it shouldn't take more than 4-5 list elements before it realizes that two lists don't match. - -Anyway, looks like this approach isn't viable, at least not without a much more complicated implementation, which probably wouldn't be worth it. - -#+BEGIN_SRC elisp - (let* ((action-fn (lambda () - (list (current-buffer) - (point) - (substring-no-properties (org-get-heading t t))))) - (files '("~/org/main.org"))) - ;; NOTE: Careful to use the same files and action in each one. I duplicated - ;; the variable in each form to make individual testing easier. - (bench-multi-lexical :times 1 :ensure-equal t - :forms (("normal" (->> (let ((org-ql-cache (ht)) - (action-fn (lambda () - (list (current-buffer) - (point) - (substring-no-properties (org-get-heading t t))))) - (files '("~/org/main.org"))) - (org-ql-select files - '(and (not (done)) - (or (habit) - (deadline auto) - (scheduled :to today) - (ts-active :on today) - (closed :on today))) - :action action-fn)))) - ("Testing" (let* ((org-ql-cache (ht)) - (files '("~/org/main.org")) - (action-fn (lambda () - (list (current-buffer) - (point) - (substring-no-properties (org-get-heading t t))))) - (and-queries '(not (done))) - (or-queries '((habit) - (deadline auto) - (scheduled :to today) - (ts-active :on today) - (closed :on today))) - (and-results (org-ql-select files - and-queries - :action action-fn)) - (or-results (cl-loop for query in or-queries - append (org-ql-select files - query - :action action-fn)))) - (seq-intersection and-results - (->> or-results - -uniq))))))) -#+END_SRC - -#+RESULTS: -| Form | x faster than next | Total runtime | # of GCs | Total GC runtime | -|---------+--------------------+---------------+----------+------------------| -| Testing | 1.15 | 0.248376 | 0 | 0 | -| normal | slowest | 0.284897 | 0 | 0 | - -#+BEGIN_SRC elisp - -;; With caching enabled - (let* ((action-fn (lambda () - (list (current-buffer) - (point) - (substring-no-properties (org-get-heading t t))))) - (files '("~/org/main.org"))) - (bench-multi-lexical :times 1 :ensure-equal t - :forms (("normal" (->> (org-ql-select files - '(and (not (done)) - (or (habit) - (deadline auto) - (scheduled :to today) - (ts-active :on today) - (closed :on today))) - :action action-fn))) - ("Testing" (let* ((files '("~/org/main.org")) - (and-queries '(not (done))) - (or-queries '((habit) - (deadline auto) - (scheduled :to today) - (ts-active :on today) - (closed :on today))) - (and-results (org-ql-select files - and-queries - :action action-fn)) - (or-results (cl-loop for query in or-queries - append (org-ql-select files - query - :action action-fn)))) - (seq-intersection and-results - (->> or-results - -uniq))))))) -#+END_SRC - -#+RESULTS: -| Form | x faster than next | Total runtime | # of GCs | Total GC runtime | -|---------+--------------------+---------------+----------+------------------| -| normal | 13.72 | 0.002311 | 0 | 0 | -| Testing | slowest | 0.031707 | 0 | 0 | - -Using full views: - -#+BEGIN_SRC elisp - (let* ((action-fn (lambda () - (list (current-buffer) - (point) - (substring-no-properties (org-get-heading t t))))) - (files '("~/org/main.org"))) - (bench-multi-lexical :times 1 - :forms (("normal" (->> (let ((org-ql-cache (ht)) - (files '("~/org/main.org"))) - (org-ql-search files - '(and (not (done)) - (or (habit) - (deadline auto) - (scheduled :to today) - (ts-active :on today) - (closed :on today))))))) - ("Testing" (let* ((org-ql-cache (ht)) - (files '("~/org/main.org")) - (and-queries '(not (done))) - (or-queries '((habit) - (deadline auto) - (scheduled :to today) - (ts-active :on today) - (closed :on today))) - (and-results (org-ql-select files - and-queries - :action 'element-with-markers)) - (or-results (cl-loop for query in or-queries - append (org-ql-select files - query - :action 'element-with-markers))) - (final-results (seq-intersection and-results - (->> or-results - -uniq)))) - (org-ql-agenda--agenda nil nil - :entries final-results) - - ))))) -#+END_SRC - -#+RESULTS: -| Form | x faster than next | Total runtime | # of GCs | Total GC runtime | -|---------+--------------------+---------------+----------+------------------| -| normal | 1.74 | 0.534742 | 0 | 0 | -| Testing | slowest | 0.931897 | 0 | 0 | - -Just gathering results, but using elements: - -#+BEGIN_SRC elisp - (let* ((action-fn 'element-with-markers) - (files '("~/org/main.org"))) - ;; NOTE: Careful to use the same files and action in each one. I duplicated - ;; the variable in each form to make individual testing easier. - (bench-multi-lexical :times 1 :ensure-equal t - :forms (("normal" (->> (let ((org-ql-cache (ht))) - (org-ql-select files - '(and (not (done)) - (or (habit) - (deadline auto) - (scheduled :to today) - (ts-active :on today) - (closed :on today))) - :action action-fn)))) - ("Testing" (let* ((org-ql-cache (ht)) - (and-queries '(not (done))) - (or-queries '((habit) - (deadline auto) - (scheduled :to today) - (ts-active :on today) - (closed :on today))) - (and-results (org-ql-select files - and-queries - :action action-fn)) - (or-results (cl-loop for query in or-queries - append (org-ql-select files - query - :action action-fn)))) - (seq-intersection and-results - (->> or-results - -uniq))))))) -#+END_SRC - -#+RESULTS: -| Form | x faster than next | Total runtime | # of GCs | Total GC runtime | -|---------+--------------------+---------------+----------+------------------| -| normal | 2.27 | 0.314218 | 0 | 0 | -| Testing | slowest | 0.714587 | 0 | 0 | - - -** [2019-08-29 Thu 06:24] Benchmarking org-ql compared to re-search-forward for getting headings in buffer -:PROPERTIES: -:ID: fcc09229-ed24-42eb-a1fd-31d8f7d4c8d5 -:END: - -Minimal difference, and that's a very large file, too. On smaller files it's thousandths of a second. - -#+BEGIN_SRC elisp - (with-current-buffer (find-buffer-visiting "~/org/inbox.org") - (bench-multi-lexical :times 1 :ensure-equal t - :forms (("org-ql" (org-ql-select (current-buffer) - '(level 1) - :action '(progn - (font-lock-ensure (line-beginning-position) (line-end-position)) - (cons (org-get-heading t) (point))))) - ("re-search-forward" (org-with-wide-buffer - (goto-char (point-min)) - (when (org-before-first-heading-p) - (outline-next-heading)) - (cl-loop while (re-search-forward (rx bol "*" (1+ blank)) nil t) - do (font-lock-ensure (line-beginning-position) (line-end-position)) - collect (cons (org-get-heading t) (match-beginning 0)))))))) -#+END_SRC - -#+RESULTS: -| Form | x faster than next | Total runtime | # of GCs | Total GC runtime | -|-------------------+--------------------+---------------+----------+------------------| -| re-search-forward | 1.17 | 0.520375 | 0 | 0 | -| org-ql | slowest | 0.608281 | 0 | 0 | - -** Caching of inherited tags - -[2019-09-05 Thu 07:59] Implemented a per-buffer tags cache that seems to significantly speed up tags queries that use tag inheritance. It persists as long as the buffer remains unmodified, and it's usable from any code as a single function that automatically uses caching. It also returns inherited tags and local tags separately, which could be useful for having separate selectors, one for inherited tags, one for local tags, and one for both. - -#+BEGIN_SRC elisp - (defvar org-ql-tags-cache (ht) - "Per-buffer tags cache. - Keyed by buffer. Each value is a cons of the buffer's modified - tick, and another hash table keyed on buffer position, whose - values are a list of two lists, inherited tags and local tags, as - strings.") - - (defun org-ql--tags-at (position) - "Return tags for POSITION in current buffer. - Returns cons (INHERITED-TAGS . LOCAL-TAGS)." - ;; I'd like to use `-if-let*', but it doesn't leave non-nil variables - ;; bound in the else clause, so destructured variables that are non-nil, - ;; like found caches, are not available in the else clause. - (if-let* ((buffer-cache (gethash (current-buffer) org-ql-tags-cache)) - (modified-tick (car buffer-cache)) - (tags-cache (cdr buffer-cache)) - (buffer-unmodified-p (eq (buffer-modified-tick) modified-tick)) - (cached-result (gethash position tags-cache))) - ;; Found in cache: return them. - (pcase cached-result - ('org-ql-nil nil) - (_ cached-result)) - ;; Not found in cache: get tags and cache them. - (let* ((local-tags (or (org-get-tags position 'local) - 'org-ql-nil)) - (inherited-tags (or (save-excursion - (when (org-up-heading-safe) - (-let* (((inherited local) (org-ql--tags-at (point))) - (inherited-tags (when (or inherited local) - (cond ((and (listp inherited) - (listp local)) - (append inherited local)) - ((cond ((listp inherited) inherited) - ((listp local) local))))))) - (when inherited-tags - (->> inherited-tags -non-nil -uniq))))) - 'org-ql-nil)) - (all-tags (list inherited-tags local-tags))) - ;; Check caches again, because they may have been set now. - ;; TODO: Is there a clever way we could avoid doing this, or is it inherently necessary? - (setf buffer-cache (gethash (current-buffer) org-ql-tags-cache) - modified-tick (car buffer-cache) - tags-cache (cdr buffer-cache) - buffer-unmodified-p (eq (buffer-modified-tick) modified-tick)) - (cond ((or (not buffer-cache) - (not buffer-unmodified-p)) - ;; Buffer-local tags cache empty or invalid: make new one. - (puthash (current-buffer) - (cons (buffer-modified-tick) - (let ((table (make-hash-table))) - (puthash position all-tags table) - table)) - org-ql-tags-cache) - ;; Return tags, not the cons put on the buffer-cache. - all-tags) - ;; Buffer-local tags cache found, but no result: store this one. - (t (puthash position all-tags tags-cache)))))) - - (org-ql--defpred tags-cached (&rest tags) - "Return non-nil if current heading has one or more of TAGS (a list of strings)." - ;; TODO: Try to use `org-make-tags-matcher' to improve performance. It would be nice to not have - ;; to run `org-get-tags' for every heading, especially with inheritance. - (cl-macrolet ((tags-p (tags) - `(and ,tags - (not (eq 'org-ql-nil ,tags))))) - (-let* (((inherited local) (org-ql--tags-at (point)))) - (cl-typecase tags - (null (or (tags-p inherited) - (tags-p local))) - (otherwise (or (when (tags-p inherited) - (seq-intersection tags inherited)) - (when (tags-p local) - (seq-intersection tags local)))))))) -#+END_SRC - -Benchmark results: - -#+BEGIN_SRC elisp - (let* ((buffers '("~/org/main.org")) - (tags '("Emacs"))) - (bench-multi-lexical :times 1 :ensure-equal t - :forms (("uncached" (let ((org-ql-cache (ht))) - (org-ql-select buffers - `(tags ,@tags)))) - ("cached" (let ((org-ql-cache (ht)) - (org-ql-tags-cache (ht))) - (org-ql-select buffers - `(tags-cached ,@tags))))))) + (bench-multi-lexical :times 1 :ensure-equal t + :forms (("old ts" (org-ql "~/org/inbox.org" + (ts :from "2017-01-01"))) + ("ts.el ts" (org-ql "~/org/inbox.org" + (ts-ts :from "2017-01-01"))))) #+END_SRC #+RESULTS: | Form | x faster than next | Total runtime | # of GCs | Total GC runtime | |----------+--------------------+---------------+----------+------------------| -| cached | 6.51 | 0.519871 | 0 | 0 | -| uncached | slowest | 3.386679 | 0 | 0 | +| ts.el ts | 1.32 | 1.299966 | 0 | 0 | +| old ts | slowest | 1.713027 | 0 | 0 | + +*** :on + +#+BEGIN_SRC elisp + (bench-multi-lexical :times 1 :ensure-equal t + :forms (("old ts" (org-ql "~/org/inbox.org" + (ts :on "2019-05-14"))) + ("ts.el ts" (org-ql "~/org/inbox.org" + (ts-ts :on "2019-05-14"))))) +#+END_SRC + +#+RESULTS: +| Form | x faster than next | Total runtime | # of GCs | Total GC runtime | +|----------+--------------------+---------------+----------+------------------| +| ts.el ts | 1.17 | 0.557281 | 0 | 0 | +| old ts | slowest | 0.652149 | 0 | 0 | + +*** :to + +#+BEGIN_SRC elisp + (bench-multi-lexical :times 1 :ensure-equal t + :forms (("old ts" (org-ql "~/org/inbox.org" + (ts :to "2019-01-01"))) + ("ts.el ts" (org-ql "~/org/inbox.org" + (ts-ts :to "2019-01-01"))))) +#+END_SRC + +#+RESULTS: +| Form | x faster than next | Total runtime | # of GCs | Total GC runtime | +|----------+--------------------+---------------+----------+------------------| +| ts.el ts | 1.01 | 1.300084 | 0 | 0 | +| old ts | slowest | 1.312208 | 0 | 0 | + +*** Without timestamp argument + +#+BEGIN_SRC elisp + (bench-multi-lexical :times 1 :ensure-equal t + :forms (("old ts" (org-ql "~/org/inbox.org" + (ts))) + ("ts.el ts" (org-ql "~/org/inbox.org" + (ts-ts))))) +#+END_SRC + +#+RESULTS: +| Form | x faster than next | Total runtime | # of GCs | Total GC runtime | +|----------+--------------------+---------------+----------+------------------| +| ts.el ts | 1.14 | 2.251801 | 0 | 0 | +| old ts | slowest | 2.560280 | 0 | 0 | + +#+BEGIN_SRC elisp + (bench-multi-lexical :times 20 :ensure-equal t + :forms (("old ts" (org-ql "~/src/emacs/org-ql/tests/data.org" + (ts))) + ("ts.el ts" (org-ql "~/src/emacs/org-ql/tests/data.org" + (ts-ts))))) +#+END_SRC + +#+RESULTS: +| Form | x faster than next | Total runtime | # of GCs | Total GC runtime | +|----------+--------------------+---------------+----------+------------------| +| ts.el ts | 1.05 | 0.103714 | 0 | 0 | +| old ts | slowest | 0.108663 | 0 | 0 | + +* References +:PROPERTIES: +:TOC: :include descendants :depth 1 +:END: +:CONTENTS: +- [[#github---ndwarshuisorg-sql-sql-backend-for-emacs-org-mode][GitHub - ndwarshuis/org-sql: SQL backend for Emacs Org-Mode]] +- [[#john-kitchin-on-rewriting-the-org-agenda-code][John Kitchin on rewriting the Org agenda code]] +- [[#nicolas-goazious-org-element-cache-implementation][Nicolas Goaziou's org-element cache implementation]] +- [[#uniform-structured-syntax-metaprogramming-and-run-time-compilation][Uniform Structured Syntax, Metaprogramming and Run-time Compilation]] +:END: + +** [[https://github.com/ndwarshuis/org-sql][GitHub - ndwarshuis/org-sql: SQL backend for Emacs Org-Mode]] + +[2020-01-04 Sat 09:03] + +** [[gnus:gmane.emacs.orgmode#CAJ51EToLCm5zDLKu8XeuqEWrLhHZF+OoNkviPSivZbFttzF8=A@mail.gmail.com][John Kitchin on rewriting the Org agenda code]] :Emacs:Org: + +[2019-10-28 Mon 08:28] Originally from [[id:90a68535-2403-4ba9-a117-60be1862628f][this entry in my notes]]. + +#+BEGIN_QUOTE +From: John Kitchin +Subject: Re: [Orgmode] Slow speed of week and month views +Newsgroups: gmane.emacs.orgmode +To: Karl Voit +Cc: "emacs-orgmode@gnu.org" +Date: Sat, 5 Aug 2017 18:17:09 -0400 (4 hours, 11 minutes, 38 seconds ago) + +I can think of two possibilities for a future approach (besides a deep dive on profiling the current elisp to improve the speed there). They both involve some substantial coding though, and would probably add dependencies. I am curious what anyone things about these, or if there are other ideas. + +One is to use the new dynamic module capability to write an org parser in C, or a dedicated agenda function, which would presumably be faster than in elisp. This seems hard, and for me would certainly be a multiyear project I am sure! The downside of this is the need to compile the module. I don't know how easy it would be to make this work across platforms with the relatively easy install org-mode currently has. This could have a side benefit though of a c-lib that could be used by others to expand where org-mode is used. + +The other way that might work is to rely more heavily on a cached version of the files, perhaps in a different format than elisp, that is faster to work with. The approach I have explored in this is to index org files into a sqlite database. The idea then would be to generate the agenda from a sql query. I use something like this already to "find stuff in orgmode anywhere". One of the reasons I wrote this is the org-agenda list of files isn't practical for me because my files are so scattered on my file system. I had a need to be able to find TODOs in research projects in a pretty wide range of locations. + +The code I use is at https://github.com/jkitchin/scimax/blob/master/org-db.el, and from one database I can find headlines, contacts, locations, TODO headlines across my file system, all the files that contain a particular link, and my own recent org files. This approach relies on emacsql, and a set of hook functions to update the database whenever a file is changed. It is not robust, e.g. the file could be out of sync with the db if it is modified outside emacs, but this works well enough for me so far. Updated files get reindexed whenever emacs is idle. It was a compromise on walking the file system all the time or daily, or trying to use inotify and you can always run a command to prune/sync all the files any time you want. + +sqlite is ok, but with emacsql you cannot put strings in it directly (at least when I wrote the org-db code), which has limited it for full-text search so far. Also with text, the db got up to about 0.5 GB in size, and started slowing down. So it doesn't have text in it for now. It has all the other limitations of sqlite too, limited support for locking, single process.... + +I am moderately motivated to switch from sqlite to MongoDB, but the support for Mongo in emacs is pretty crummy (I tried writing a few traditional interfaces, but the performance was not that good, and limited since Mongo uses bson, and it is just not the same as json!). Why Mongo? Mostly because the Mongo query language is basically json and easy to generate in Emacs, unlike sql. Also, it is flexible and easy to adapt to new things, e.g. indexing src-blocks or tables or whatever org-element you want. (And I want to use Mongo for something else too ;). Obviously these all add dependencies, and might not be suitable for the core org-mode distribution. But I do think it is important to think about ways to scale org-mode while maintaining compatibility with the core. + +The main point of the database was to get a query language, persistence and good performance. I have also used caches to speed up using bibtex files, and my org-contacts with reasonable performance. These have been all elisp, with no additional dependencies. Maybe one could do something similar to keep an agenda cache that is persistent and updated via hook functions. + +Thoughts? + +John +#+END_QUOTE +:PROPERTIES: +:archive.is: http://archive.is/33R9M +:END: + ++ [[https://github.com/m00natic/cl-fdbq][GitHub - m00natic/cl-fdbq: SQL-like operations over fixed field DBs]] + +** Nicolas Goaziou's =org-element= cache implementation + +[2020-01-04 Sat 08:31] https://code.orgmode.org/bzg/org-mode/src/master/lisp/org-element.el#L4817 I guess I haven't been keeping up, because I'm not sure when exactly he made or committed this, or what his plans for it are. It's currently disabled by default. + +** [[https://m00natic.github.io/lisp/manual-jit.html][Uniform Structured Syntax, Metaprogramming and Run-time Compilation]] * Testing @@ -3083,6 +3109,41 @@ Benchmark results: #+END_SRC +** Agenda censoring + +For sharing screenshots of the agenda without revealing private data. + +#+BEGIN_SRC elisp + (defun org-agenda-sharpie () + "Censor the text of items in the agenda." + (interactive) + (let (regexp old-heading new-heading properties) + ;; Save face properties of line in agenda to reapply to changed text + (setq properties (text-properties-at (point))) + + ;; Go to source buffer + (org-with-point-at (org-find-text-property-in-string 'org-marker + (buffer-substring (line-beginning-position) + (line-end-position))) + ;; Save old heading text and ask for new text + (line-beginning-position) + (unless (org-at-heading-p) + ;; Not sure if necessary + (org-back-to-heading)) + (setq old-heading (when (looking-at org-complex-heading-regexp) + (match-string 4)))) + (setq new-heading (read-from-minibuffer "Overwrite visible heading with: ")) + (add-text-properties 0 (length new-heading) properties new-heading) + ;; Back to agenda buffer + (save-excursion + (when (and old-heading new-heading) + ;; Replace agenda text + (let ((inhibit-read-only t)) + (goto-char (line-beginning-position)) + (when (search-forward old-heading (line-end-position)) + (replace-match new-heading 'fixedcase 'literal))))))) +#+END_SRC + ** Agenda examining This helps a lot. @@ -3128,39 +3189,12 @@ This helps a lot. 0 5))) #+END_SRC -** Agenda censoring - -For sharing screenshots of the agenda without revealing private data. +** Auto categories #+BEGIN_SRC elisp - (defun org-agenda-sharpie () - "Censor the text of items in the agenda." - (interactive) - (let (regexp old-heading new-heading properties) - ;; Save face properties of line in agenda to reapply to changed text - (setq properties (text-properties-at (point))) - - ;; Go to source buffer - (org-with-point-at (org-find-text-property-in-string 'org-marker - (buffer-substring (line-beginning-position) - (line-end-position))) - ;; Save old heading text and ask for new text - (line-beginning-position) - (unless (org-at-heading-p) - ;; Not sure if necessary - (org-back-to-heading)) - (setq old-heading (when (looking-at org-complex-heading-regexp) - (match-string 4)))) - (setq new-heading (read-from-minibuffer "Overwrite visible heading with: ")) - (add-text-properties 0 (length new-heading) properties new-heading) - ;; Back to agenda buffer - (save-excursion - (when (and old-heading new-heading) - ;; Replace agenda text - (let ((inhibit-read-only t)) - (goto-char (line-beginning-position)) - (when (search-forward old-heading (line-end-position)) - (replace-match new-heading 'fixedcase 'literal))))))) + (let ((org-super-agenda-groups + '((:auto-category t)))) + (org-agenda-list nil nil 'day)) #+END_SRC ** Auto grouping @@ -3174,14 +3208,6 @@ For sharing screenshots of the agenda without revealing private data. (org-agenda-list nil nil 'day))) #+END_SRC -** Auto categories - -#+BEGIN_SRC elisp - (let ((org-super-agenda-groups - '((:auto-category t)))) - (org-agenda-list nil nil 'day)) -#+END_SRC - ** Date #+BEGIN_SRC elisp @@ -3278,3 +3304,11 @@ I don't need this right now, but it might come in handy here or elsewhere. #+END_SRC +* [#C] COMMENT Config :noexport: + +** File-local variables + +# Local Variables: +# before-save-hook: (org-make-toc (lambda () (when (fboundp 'unpackaged/org-fix-blank-lines) (unpackaged/org-fix-blank-lines t))) (lambda () (when (fboundp 'ap/org-sort-entries-recursive-multi) (save-excursion (goto-char (point-min)) (ap/org-sort-entries-recursive-multi '(?a ?p ?o)))))) +# End: + From b10522de6fc48306bdf1df1130d340db9e5c731f Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Sun, 8 Nov 2020 22:15:54 -0600 Subject: [PATCH 200/615] Notes: Add idea --- notes.org | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/notes.org b/notes.org index 5a9306b..5452820 100644 --- a/notes.org +++ b/notes.org @@ -20,6 +20,7 @@ :END: :CONTENTS: - [[#add-auto-keyword-to-planning-predicate][Add :auto keyword to (planning) predicate]] +- [[#consider-using-parsec-for-parsing-queries][Consider using parsec for parsing queries]] - [[#document-sorters][Document sorters]] - [[#org-block-to-insert-results-of-queries-with-links-to-entries][Org block to insert results of queries with links to entries]] - [[#outline-path-in-buffers-files-arg][Outline path in buffers-files arg]] @@ -611,6 +612,10 @@ Appears to be another implementation of magit-section-like expandable sections. **** magit-section +** MAYBE Consider using [[https://github.com/cute-jumper/parsec.el][parsec]] for parsing queries + +=peg= is a bit older and perhaps unmaintained now. + ** MAYBE Overlay-based caching inspired by org-num-mode [2019-12-30 Mon 22:42] Newer versions of Org have =org-num-mode=, which uses =font-lock= and =after-change-functions= to update overlays in the buffer with outline numbering. Maybe a similar approach could be used to cache arbitrary values for headings in a buffer without having to discard the whole buffer's cache when the buffer changes. From a91bb208a347441e5332a537e5b56840bd9e47e3 Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Sun, 8 Nov 2020 23:29:41 -0600 Subject: [PATCH 201/615] Notes: Update --- notes.org | 87 ++++++++++++++++++++++++++++++++++++++++--------------- 1 file changed, 64 insertions(+), 23 deletions(-) diff --git a/notes.org b/notes.org index 5452820..12ec0a7 100644 --- a/notes.org +++ b/notes.org @@ -20,11 +20,9 @@ :END: :CONTENTS: - [[#add-auto-keyword-to-planning-predicate][Add :auto keyword to (planning) predicate]] -- [[#consider-using-parsec-for-parsing-queries][Consider using parsec for parsing queries]] - [[#document-sorters][Document sorters]] - [[#org-block-to-insert-results-of-queries-with-links-to-entries][Org block to insert results of queries with links to entries]] - [[#outline-path-in-buffers-files-arg][Outline path in buffers-files arg]] -- [[#tools-for-saving-queries-and-accessing-them-24][Tools for saving queries and accessing them {2/4}]] - [[#add-more-sorters][Add more sorters?]] - [[#change-deadlines-auto-argument-to-auto-andor-auto-t][Change (deadline)'s auto argument to :auto and/or :auto t]] - [[#default-sort][Default sort]] @@ -39,9 +37,11 @@ - [[#org-agenda-skip-function][org-agenda-skip-function]] - [[#test-caching][Test caching]] - [[#update-commentary][Update commentary]] +- [[#tools-for-saving-queries-and-accessing-them-34][Tools for saving queries and accessing them {3/4}]] - [[#outline-path-predicate][Outline path predicate]] - [[#node-caching]["Node" caching]] - [[#implement-view-with-tabulated-list-mode-or-magit-section][Implement view with tabulated-list-mode or magit-section]] +- [[#consider-using-parsec-for-parsing-queries][Consider using parsec for parsing queries]] - [[#overlay-based-caching-inspired-by-org-num-mode][Overlay-based caching inspired by org-num-mode]] - [[#use-bovine-or-wisent-to-parse-non-sexp-syntax][Use Bovine or Wisent to parse non-sexp syntax]] - [[#fancier-searching-for-inherited-tags][Fancier searching for inherited tags]] @@ -79,27 +79,6 @@ e.g. Also, should support an ~id~ one. -** TODO [#A] Tools for saving queries and accessing them [2/4] - -+ Added example to =examples.org=. - -*** TODO Bookmarks - -*** TODO Org link types -:PROPERTIES: -:ID: 4db73c1c-a4ed-425e-9e38-8d334ed03e1e -:END: - -This would be useful for having a menu of saved queries as Org links, or even bookmarking saved queries. - -**** TODO For all parameters - -**** TODO For saved queries - -*** DONE Access saved query from saved query list - -*** DONE Save query from ql-agenda buffer - ** TODO [#B] Add more sorters? + [ ] =category= @@ -430,6 +409,68 @@ See notes on 1dce9467f25428b5289d3665cd840820969ed65a. It would be good to test ** TODO [#C] Update commentary +** UNDERWAY [#A] Tools for saving queries and accessing them [3/4] + ++ Added example to =examples.org=. + +*** UNDERWAY [#A] Org link types +:PROPERTIES: +:ID: 4db73c1c-a4ed-425e-9e38-8d334ed03e1e +:END: + +This would be useful for having a menu of saved queries as Org links, or even bookmarking saved queries. + +[2020-11-08 Sun 22:59] Let's try a very simple implementation so I could write a link like this to search the current buffer: + +#+BEGIN_SRC org + [[org-ql-search:property:author="AUTHOR"]] +#+END_SRC + +[2020-11-08 Sun 23:22] Seems to work! + +#+BEGIN_SRC elisp + ;;;; Org link type + + ;; This section adds a custom link type to Org. See info:org#Adding hyperlink types. + + (org-link-set-parameters "org-ql-search" + :follow #'org-ql-search--link-open + :store #'org-ql-search--link-store) + + (defun org-ql-search--link-open (query) + "Open Org QL QUERY for current buffer." + (org-ql-search (current-buffer) query)) + + (defun org-ql-search--link-store () + "Store a link to current Org QL query." + ;; TODO: When we have an org-ql-view-mode, test it here instead of org-ql-view-query. + (when org-ql-view-query + (org-store-link-props :type "org-ql-search" + :link (concat "org-ql-search:" (org-ql-view--format-query org-ql-view-query)) + :description org-ql-view-title) + t)) +#+END_SRC + +Tested on these queries: + +#+BEGIN_SRC org + + [[org-ql-search:(property%20:author%20"Chris%20Wellons")][org-ql-search:(property :author "Chris Wellons")]] + + [[org-ql-search:(link%20"nullprogram")][org-ql-search:(link "nullprogram")]] + + [[org-ql-search:link:nullprogram]] +#+END_SRC + +**** TODO For all parameters + +**** TODO For saved queries + +*** DONE Bookmarks + +[2020-11-08 Sun 23:25] Already done in =e5b4cd106558790563af26a8e32ec9508f904855=. + +*** DONE Access saved query from saved query list + +*** DONE Save query from ql-agenda buffer + ** UNDERWAY [#A] Outline path predicate [2019-10-07 Mon 11:15] There are two potential types of matching on outline paths: matching on any part of the outline path, and matching a specific path. For example, with this file: From 9f98b87a8efb4831c2093ff613cb02f37528191a Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Mon, 9 Nov 2020 00:20:33 -0600 Subject: [PATCH 202/615] Comment: Add FIXME --- org-ql-search.el | 1 + 1 file changed, 1 insertion(+) diff --git a/org-ql-search.el b/org-ql-search.el index f84dfed..1609d9e 100644 --- a/org-ql-search.el +++ b/org-ql-search.el @@ -92,6 +92,7 @@ Runs `org-occur-hook' after making the sparse tree." (org-remove-occur-highlights nil nil t) (org-overview)) (let ((num-results 0)) + ;; FIXME: Accept plain queries as well. (org-ql-select buffer query :action (lambda () (org-show-context 'occur-tree) From 17fd923fc98d20931c464e1ce3f1244657982599 Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Mon, 9 Nov 2020 01:32:04 -0600 Subject: [PATCH 203/615] Meta: Delete Cask file --- Cask | 10 ---------- 1 file changed, 10 deletions(-) delete mode 100644 Cask diff --git a/Cask b/Cask deleted file mode 100644 index 7afe920..0000000 --- a/Cask +++ /dev/null @@ -1,10 +0,0 @@ -(package-file "org-ql.el") - -(files "org-ql.el" "org-ql-agenda.el") - -(source gnu) -(source melpa) - -(development - (depends-on "buttercup") - (depends-on "xr")) From 73e17844a3ffe7d3c73fe480a0dc286d8a584c7a Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Mon, 9 Nov 2020 01:41:05 -0600 Subject: [PATCH 204/615] Meta: Update .gitignore --- .gitignore | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.gitignore b/.gitignore index ad6347b..fa4f2fc 100644 --- a/.gitignore +++ b/.gitignore @@ -5,3 +5,5 @@ /sandbox/ /.sandbox/ /scratch.org +/scratch/ +/worktrees/ From 90b7a9a48b7b26f8eb03a556880d11bf00732b6a Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Mon, 9 Nov 2020 01:55:47 -0600 Subject: [PATCH 205/615] Notes: Update --- notes.org | 354 +++++++++++++++++++++++++++--------------------------- 1 file changed, 177 insertions(+), 177 deletions(-) diff --git a/notes.org b/notes.org index 12ec0a7..afa25fb 100644 --- a/notes.org +++ b/notes.org @@ -27,7 +27,7 @@ - [[#change-deadlines-auto-argument-to-auto-andor-auto-t][Change (deadline)'s auto argument to :auto and/or :auto t]] - [[#default-sort][Default sort]] - [[#dynamic-blocks][Dynamic blocks]] -- [[#fancier-plain-query-syntax-for-tags-and-properties][Fancier plain query syntax for tags and properties]] +- [[#partial-match-for-property-queries][Partial match for property queries]] - [[#new-transient-transient-lisp-variable-class][New Transient transient-lisp-variable class]] - [[#normalize-queries][Normalize queries]] - [[#quickly-change-sortinggrouping-in-search-views][Quickly change sorting/grouping in search views]] @@ -41,9 +41,8 @@ - [[#outline-path-predicate][Outline path predicate]] - [[#node-caching]["Node" caching]] - [[#implement-view-with-tabulated-list-mode-or-magit-section][Implement view with tabulated-list-mode or magit-section]] -- [[#consider-using-parsec-for-parsing-queries][Consider using parsec for parsing queries]] - [[#overlay-based-caching-inspired-by-org-num-mode][Overlay-based caching inspired by org-num-mode]] -- [[#use-bovine-or-wisent-to-parse-non-sexp-syntax][Use Bovine or Wisent to parse non-sexp syntax]] +- [[#alternative-parsing-libraries][Alternative parsing libraries]] - [[#fancier-searching-for-inherited-tags][Fancier searching for inherited tags]] - [[#helm-command][Helm command]] - [[#byte-compile-lambdas][Byte-compile lambdas]] @@ -65,7 +64,11 @@ Note that the built-in sorting only works on Org elements, which is the default [2020-01-16 Thu 06:20] This idea just came to me when I was thinking about using the search-based paradigm vs. outline-based. This would allow both, e.g. some kind of =#+BEGIN_QUERY= block that would update when =C-c C-c= is pressed on it. -** TODO [#A] Outline path in buffers-files arg +** TODO [#A] Change ~(deadline)~'s ~auto~ argument to ~:auto~ and/or ~:auto t~ + +For consistency, because plain ~auto~ looks like a variable, and even though it's in a quoted form, it could be confusing. + +** TODO [#B] Outline path in buffers-files arg :PROPERTIES: :ID: 6935361a-9e1d-48ec-8d17-876a90b90f50 :END: @@ -84,19 +87,11 @@ Also, should support an ~id~ one. + [ ] =category= + [ ] Any date :: e.g. it would search for timestamps (active/inactive?) anywhere in an entry -** TODO [#B] Change ~(deadline)~'s ~auto~ argument to ~:auto~ and/or ~:auto t~ - -For consistency, because plain ~auto~ looks like a variable, and even though it's in a quoted form, it could be confusing. - ** TODO [#B] Default sort Would probably be useful to have a default sort option. -** TODO Dynamic blocks - -For example, [[https://egli.dev/posts/using-org-mode-for-meeting-minutes/][this blog article]] shows a way that Org's existing dynamic =columnview= blocks can be very useful. =org-ql= queries could be useful in them as well. - -** TODO [#B] Fancier plain query syntax for tags and properties +** TODO [#B] Partial match for property queries e.g. something like [[https://200ok.ch/posts/2020-02-09_creating_org_mode_sparse_trees_in_emacs_and_organice.html][Organice has now]]. @@ -112,11 +107,15 @@ e.g. something like [[https://200ok.ch/posts/2020-02-09_creating_org_mode_sparse Searching that with a query like =property:author=Fabrice= returns nothing; the full value must be used, like ~property:author="Fabrice Niessen"~. It should be possible to do something like ~property:author=~Fabrice~ to search for partial matches. -** TODO [#B] [[https://github.com/magit/transient/issues/76][New Transient transient-lisp-variable class]] +** TODO [#C] Dynamic blocks + +For example, [[https://egli.dev/posts/using-org-mode-for-meeting-minutes/][this blog article]] shows a way that Org's existing dynamic =columnview= blocks can be very useful. =org-ql= queries could be useful in them as well. + +** TODO [#C] [[https://github.com/magit/transient/issues/76][New Transient transient-lisp-variable class]] [2020-10-19 Mon 00:23] Should try to use this instead of whatever bespoke code is currently used. -** TODO [#B] Normalize queries +** TODO [#C] Normalize queries [2019-07-16 Tue 11:49] This serves two purposes: @@ -125,11 +124,157 @@ Searching that with a query like =property:author=Fabrice= returns nothing; the So the second purpose might actually be a drawback, because it would prevent users from optimizing their queries with knowledge of their data. Maybe there should be an option to not normalize queries, so advanced users can order their selectors manually. -** TODO [#B] Quickly change sorting/grouping in search views +** TODO [#C] Update view screenshots -With caching, the search doesn't need to be repeated, so resorting/regrouping can be very fast. +e.g. doesn't currently show the =View= header. -** TODO [#B] Recursive queries +** TODO [#C] ~org-agenda-skip-function~ + +As discussed [[https://www.reddit.com/r/emacs/comments/cnrt2d/orgqlblock_integrates_orgql_into_org_agenda/ewi1q36/][here]], this is a cool feature that allows further integration into existing custom agenda commands. Example: + +#+BEGIN_SRC elisp + ;;; lima-0ac22.el --- -*- lexical-binding: t; -*- + + (defun org-ql-skip-function (query) + "Return a function for `org-agenda-skip-function' for QUERY. + Compared to using QUERY in `org-ql', this effectively turns QUERY + into (not QUERY)." + (let* ((predicate (org-ql--query-predicate '(regexp "ryo-modal")))) + (lambda () + ;; This duplicates the functionality of `org-ql--select'. + (let (orig-fns) + (--each org-ql-predicates + ;; Save original function mappings. + (let ((name (plist-get it :name))) + (push (list :name name :fn (symbol-function name)) orig-fns))) + (unwind-protect + (progn + (--each org-ql-predicates + ;; Set predicate functions. + (fset (plist-get it :name) (plist-get it :fn))) + ;; Run query. + ;; FIXME: "If this function returns nil, the current match should not be skipped. + ;; Otherwise, the function must return a position from where the search + ;; should be continued." + (funcall predicate)) + (--each orig-fns + ;; Restore original function mappings. + (fset (plist-get it :name) (plist-get it :fn)))))))) + + (let ((org-agenda-custom-commands + '(("z" "Z" + ((tags-todo "PRIORITY=\"A\"+Emacs/!SOMEDAY")) + ((org-agenda-skip-function (org-ql-skip-function '(regexp "ryo-modal"))))) + ((org-agenda-files ("~/org/inbox.org")))))) + (org-agenda nil "z")) +#+END_SRC + +I should benchmark it to see how much difference it makes, because all those ~fset~ calls on each heading isn't free. But if a macro were used to rewrite the built-in predicates to their full versions, all of that could be avoided... + +** TODO [#C] Test caching + +See notes on 1dce9467f25428b5289d3665cd840820969ed65a. It would be good to test the caching explicitly, at least for some queries, because if I were to completely break it again, in such a way that results were stored but retrieval always failed, the tests wouldn't catch it. + +** TODO [#C] Update commentary + +** UNDERWAY [#A] Tools for saving queries and accessing them [3/4] + ++ Added example to =examples.org=. + +*** UNDERWAY [#A] Org link types +:PROPERTIES: +:ID: 4db73c1c-a4ed-425e-9e38-8d334ed03e1e +:END: + +This would be useful for having a menu of saved queries as Org links, or even bookmarking saved queries. + +[2020-11-08 Sun 22:59] Let's try a very simple implementation so I could write a link like this to search the current buffer: + +#+BEGIN_SRC org + [[org-ql-search:property:author="AUTHOR"]] +#+END_SRC + +[2020-11-08 Sun 23:22] Seems to work! + +#+BEGIN_SRC elisp + ;;;; Org link type + + ;; This section adds a custom link type to Org. See info:org#Adding hyperlink types. + + (org-link-set-parameters "org-ql-search" + :follow #'org-ql-search--link-open + :store #'org-ql-search--link-store) + + (defun org-ql-search--link-open (query) + "Open Org QL QUERY for current buffer." + (org-ql-search (current-buffer) query)) + + (defun org-ql-search--link-store () + "Store a link to current Org QL query." + ;; TODO: When we have an org-ql-view-mode, test it here instead of org-ql-view-query. + (when org-ql-view-query + (org-store-link-props :type "org-ql-search" + :link (concat "org-ql-search:" (org-ql-view--format-query org-ql-view-query)) + :description org-ql-view-title) + t)) +#+END_SRC + +Tested on these queries: + +#+BEGIN_SRC org + + [[org-ql-search:(property%20:author%20"Chris%20Wellons")][org-ql-search:(property :author "Chris Wellons")]] + + [[org-ql-search:(link%20"nullprogram")][org-ql-search:(link "nullprogram")]] + + [[org-ql-search:link:nullprogram]] +#+END_SRC + +**** TODO For all parameters + +**** TODO For saved queries + +*** DONE Bookmarks + +[2020-11-08 Sun 23:25] Already done in =e5b4cd106558790563af26a8e32ec9508f904855=. + +*** DONE Access saved query from saved query list + +*** DONE Save query from ql-agenda buffer + +** UNDERWAY [#A] Outline path predicate + +[2019-10-07 Mon 11:15] There are two potential types of matching on outline paths: matching on any part of the outline path, and matching a specific path. For example, with this file: + +#+BEGIN_SRC org + ,* Food + + ,** Fruits + + ,*** Blueberries + + ,*** Grapes + + ,** Vegetables + + ,*** Carrots + + ,*** Potatoes +#+END_SRC + +Matching could work like this: + ++ ~(outline "Food")~ :: Would return all nodes. ++ ~(outline "Fruits")~ :: Would return all fruits. + +Matching at a specific path would be something like: + ++ ~(outline-path "Food" "Fruits")~ :: Would return all fruits. But if there were another =Fruits= heading somewhere in the file, under a different outline path, it would not return its nodes. + +I'm not sure the second type of matching belongs in predicates, but rather in [[id:6935361a-9e1d-48ec-8d17-876a90b90f50][this]]. + +To implement this with good performance probably needs an outline-path cache. I can probably repurpose the tags caching, but maybe it should be generalized. + +[2019-10-07 Mon 13:09] This is basically done with =be2bf6df316b96b3ed56851b8ffe0e227796b621= and =be2bf6df316b96b3ed56851b8ffe0e227796b621=, but not the specific-path matching. I left a =MAYBE= in the code about "anchored" path matching, which would accomplish that. + +** UNDERWAY [#B] Recursive queries For lack of a better term. A way to query for certain headings, and then gather results of a different query at each result of the first query, displaying all results in a single view. @@ -205,7 +350,7 @@ This works pretty well. It needs polishing, and some refactoring so items can b -non-nil)))) #+END_SRC -** TODO [#B] Timeline view +** UNDERWAY [#B] Timeline view :PROPERTIES: :ID: 00573552-ffe9-4608-8904-7f6c73246b6d :END: @@ -356,156 +501,6 @@ Another, more up-to-date implementation: [2019-09-26 Thu 21:28] Would probably make sense to implement this using the view-sections someday. -** TODO [#B] Update view screenshots - -e.g. doesn't currently show the =View= header. - -** TODO [#C] ~org-agenda-skip-function~ - -As discussed [[https://www.reddit.com/r/emacs/comments/cnrt2d/orgqlblock_integrates_orgql_into_org_agenda/ewi1q36/][here]], this is a cool feature that allows further integration into existing custom agenda commands. Example: - -#+BEGIN_SRC elisp - ;;; lima-0ac22.el --- -*- lexical-binding: t; -*- - - (defun org-ql-skip-function (query) - "Return a function for `org-agenda-skip-function' for QUERY. - Compared to using QUERY in `org-ql', this effectively turns QUERY - into (not QUERY)." - (let* ((predicate (org-ql--query-predicate '(regexp "ryo-modal")))) - (lambda () - ;; This duplicates the functionality of `org-ql--select'. - (let (orig-fns) - (--each org-ql-predicates - ;; Save original function mappings. - (let ((name (plist-get it :name))) - (push (list :name name :fn (symbol-function name)) orig-fns))) - (unwind-protect - (progn - (--each org-ql-predicates - ;; Set predicate functions. - (fset (plist-get it :name) (plist-get it :fn))) - ;; Run query. - ;; FIXME: "If this function returns nil, the current match should not be skipped. - ;; Otherwise, the function must return a position from where the search - ;; should be continued." - (funcall predicate)) - (--each orig-fns - ;; Restore original function mappings. - (fset (plist-get it :name) (plist-get it :fn)))))))) - - (let ((org-agenda-custom-commands - '(("z" "Z" - ((tags-todo "PRIORITY=\"A\"+Emacs/!SOMEDAY")) - ((org-agenda-skip-function (org-ql-skip-function '(regexp "ryo-modal"))))) - ((org-agenda-files ("~/org/inbox.org")))))) - (org-agenda nil "z")) -#+END_SRC - -I should benchmark it to see how much difference it makes, because all those ~fset~ calls on each heading isn't free. But if a macro were used to rewrite the built-in predicates to their full versions, all of that could be avoided... - -** TODO [#C] Test caching - -See notes on 1dce9467f25428b5289d3665cd840820969ed65a. It would be good to test the caching explicitly, at least for some queries, because if I were to completely break it again, in such a way that results were stored but retrieval always failed, the tests wouldn't catch it. - -** TODO [#C] Update commentary - -** UNDERWAY [#A] Tools for saving queries and accessing them [3/4] - -+ Added example to =examples.org=. - -*** UNDERWAY [#A] Org link types -:PROPERTIES: -:ID: 4db73c1c-a4ed-425e-9e38-8d334ed03e1e -:END: - -This would be useful for having a menu of saved queries as Org links, or even bookmarking saved queries. - -[2020-11-08 Sun 22:59] Let's try a very simple implementation so I could write a link like this to search the current buffer: - -#+BEGIN_SRC org - [[org-ql-search:property:author="AUTHOR"]] -#+END_SRC - -[2020-11-08 Sun 23:22] Seems to work! - -#+BEGIN_SRC elisp - ;;;; Org link type - - ;; This section adds a custom link type to Org. See info:org#Adding hyperlink types. - - (org-link-set-parameters "org-ql-search" - :follow #'org-ql-search--link-open - :store #'org-ql-search--link-store) - - (defun org-ql-search--link-open (query) - "Open Org QL QUERY for current buffer." - (org-ql-search (current-buffer) query)) - - (defun org-ql-search--link-store () - "Store a link to current Org QL query." - ;; TODO: When we have an org-ql-view-mode, test it here instead of org-ql-view-query. - (when org-ql-view-query - (org-store-link-props :type "org-ql-search" - :link (concat "org-ql-search:" (org-ql-view--format-query org-ql-view-query)) - :description org-ql-view-title) - t)) -#+END_SRC - -Tested on these queries: - -#+BEGIN_SRC org - + [[org-ql-search:(property%20:author%20"Chris%20Wellons")][org-ql-search:(property :author "Chris Wellons")]] - + [[org-ql-search:(link%20"nullprogram")][org-ql-search:(link "nullprogram")]] - + [[org-ql-search:link:nullprogram]] -#+END_SRC - -**** TODO For all parameters - -**** TODO For saved queries - -*** DONE Bookmarks - -[2020-11-08 Sun 23:25] Already done in =e5b4cd106558790563af26a8e32ec9508f904855=. - -*** DONE Access saved query from saved query list - -*** DONE Save query from ql-agenda buffer - -** UNDERWAY [#A] Outline path predicate - -[2019-10-07 Mon 11:15] There are two potential types of matching on outline paths: matching on any part of the outline path, and matching a specific path. For example, with this file: - -#+BEGIN_SRC org - ,* Food - - ,** Fruits - - ,*** Blueberries - - ,*** Grapes - - ,** Vegetables - - ,*** Carrots - - ,*** Potatoes -#+END_SRC - -Matching could work like this: - -+ ~(outline "Food")~ :: Would return all nodes. -+ ~(outline "Fruits")~ :: Would return all fruits. - -Matching at a specific path would be something like: - -+ ~(outline-path "Food" "Fruits")~ :: Would return all fruits. But if there were another =Fruits= heading somewhere in the file, under a different outline path, it would not return its nodes. - -I'm not sure the second type of matching belongs in predicates, but rather in [[id:6935361a-9e1d-48ec-8d17-876a90b90f50][this]]. - -To implement this with good performance probably needs an outline-path cache. I can probably repurpose the tags caching, but maybe it should be generalized. - -[2019-10-07 Mon 13:09] This is basically done with =be2bf6df316b96b3ed56851b8ffe0e227796b621= and =be2bf6df316b96b3ed56851b8ffe0e227796b621=, but not the specific-path matching. I left a =MAYBE= in the code about "anchored" path matching, which would accomplish that. - ** UNDERWAY [#B] "Node" caching [2019-09-05 Thu 12:30] At each node checked by a predicate, make a struct that stores attributes we can query for, as well as parent node position. This would let us speed up ancestor-based queries, like =(ancestor (todo "WAITING"))=. Ideally it would also serve as the tag hierarchy cache. @@ -620,7 +615,7 @@ One of the things in that branch is =org-ql-item=, which is a struct used to car Another idea for it is to simply store the element from =org-element-headline-parser= in one of its slots, and populate all of the other slots lazily, like =ts=. It already does that for a couple of slots, but I think it makes sense to do it for all of them, to reduce the overhead of making the struct for every query result. -*** TODO Experiment with =widget= +*** MAYBE [#C] Experiment with =widget= The code that powers the customization UI. Has collapsible and customizable widgets. Might be perfect. Might even enable editing items in the list, with functions to make the changes in the source buffers. @@ -653,17 +648,18 @@ Appears to be another implementation of magit-section-like expandable sections. **** magit-section -** MAYBE Consider using [[https://github.com/cute-jumper/parsec.el][parsec]] for parsing queries - -=peg= is a bit older and perhaps unmaintained now. - -** MAYBE Overlay-based caching inspired by org-num-mode +** MAYBE [#C] Overlay-based caching inspired by org-num-mode [2019-12-30 Mon 22:42] Newer versions of Org have =org-num-mode=, which uses =font-lock= and =after-change-functions= to update overlays in the buffer with outline numbering. Maybe a similar approach could be used to cache arbitrary values for headings in a buffer without having to discard the whole buffer's cache when the buffer changes. -** MAYBE Use Bovine or Wisent to parse non-sexp syntax +[2020-11-09 Mon 01:51] I feel like that's probably unlikely to work well. I imagine it would require storing the query at every heading, which would be very wasteful. As well, adding more overlays to an Org buffer is probably not a good idea, because there are already enough of those. -They're both built-in to Emacs, so we could drop the =peg= dependency. +However, there might still be a useful idea here somewhere... + +** MAYBE [#C] Alternative parsing libraries + ++ e.g. Bovine and Wisent come with Emacs, which would allow us to drop the =peg= dependency (which doesn't use lexical binding). ++ [[https://github.com/cute-jumper/parsec.el][parsec]] is third-party, but looks powerful ** MAYBE [#C] Fancier searching for inherited tags @@ -788,6 +784,10 @@ Well, a bit of fiddling (lots of trial-and-error required) produced this: That seems pretty usable! +** DONE [#B] Quickly change sorting/grouping in search views + +With caching, the search doesn't need to be repeated, so resorting/regrouping can be very fast. + ** DONE Byte-compile lambdas CLOSED: [2018-05-09 Wed 17:30] :LOGBOOK: From 2c466ebdcd6718a8df28a16b02967ac70f4e89d2 Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Mon, 9 Nov 2020 22:42:59 -0600 Subject: [PATCH 206/615] Notes: Dynamic blocks update --- notes.org | 361 ++++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 352 insertions(+), 9 deletions(-) diff --git a/notes.org b/notes.org index afa25fb..8082013 100644 --- a/notes.org +++ b/notes.org @@ -5,6 +5,7 @@ :TOC: :include siblings :depth 1 :ignore this :force depth :END: :CONTENTS: +- [[#overview][Overview]] - [[#tasks][Tasks]] - [[#examples--testing][Examples / testing]] - [[#in-the-wild][In the wild]] @@ -13,6 +14,22 @@ - [[#testing][Testing]] :END: +* [#A] Overview + +#+BEGIN: org-ql :query (todo "UNDERWAY") :format (priority todo heading) :sort (priority date) :ts-format "%Y-%m-%d %H:%M" +| Priority | Todo | Heading | +|----------+----------+--------------------------------------------------------------------| +| A | UNDERWAY | [[Dynamic blocks][Dynamic blocks]] | +| A | UNDERWAY | [[Tools%20for%20saving%20queries%20and%20accessing%20them%20%5B3/4%5D][Tools for saving queries and accessing them {3/4}]] | +| A | UNDERWAY | [[Org link types][Org link types]] | +| A | UNDERWAY | [[Outline path predicate][Outline path predicate]] | +| B | UNDERWAY | [[Recursive queries][Recursive queries]] | +| B | UNDERWAY | [[Timeline view][Timeline view]] | +| B | UNDERWAY | [["Node" caching]["Node" caching]] | +| B | UNDERWAY | [[Implement view with tabulated-list-mode or magit-section][Implement view with tabulated-list-mode or magit-section]] | +| | UNDERWAY | [[Benchmarking tags searches without and with new group-tags support][Benchmarking tags searches without and with new group-tags support]] | + +#+END: * [#A] Tasks :PROPERTIES: @@ -22,29 +39,30 @@ - [[#add-auto-keyword-to-planning-predicate][Add :auto keyword to (planning) predicate]] - [[#document-sorters][Document sorters]] - [[#org-block-to-insert-results-of-queries-with-links-to-entries][Org block to insert results of queries with links to entries]] +- [[#change-deadlines-auto-argument-to-auto-andor-auto-t][Change (deadline)'s auto argument to :auto and/or :auto t]] - [[#outline-path-in-buffers-files-arg][Outline path in buffers-files arg]] - [[#add-more-sorters][Add more sorters?]] -- [[#change-deadlines-auto-argument-to-auto-andor-auto-t][Change (deadline)'s auto argument to :auto and/or :auto t]] - [[#default-sort][Default sort]] -- [[#dynamic-blocks][Dynamic blocks]] - [[#partial-match-for-property-queries][Partial match for property queries]] - [[#new-transient-transient-lisp-variable-class][New Transient transient-lisp-variable class]] - [[#normalize-queries][Normalize queries]] -- [[#quickly-change-sortinggrouping-in-search-views][Quickly change sorting/grouping in search views]] -- [[#recursive-queries][Recursive queries]] -- [[#timeline-view][Timeline view]] - [[#update-view-screenshots][Update view screenshots]] - [[#org-agenda-skip-function][org-agenda-skip-function]] - [[#test-caching][Test caching]] - [[#update-commentary][Update commentary]] +- [[#dynamic-blocks][Dynamic blocks]] - [[#tools-for-saving-queries-and-accessing-them-34][Tools for saving queries and accessing them {3/4}]] - [[#outline-path-predicate][Outline path predicate]] +- [[#recursive-queries][Recursive queries]] +- [[#timeline-view][Timeline view]] - [[#node-caching]["Node" caching]] - [[#implement-view-with-tabulated-list-mode-or-magit-section][Implement view with tabulated-list-mode or magit-section]] - [[#overlay-based-caching-inspired-by-org-num-mode][Overlay-based caching inspired by org-num-mode]] - [[#alternative-parsing-libraries][Alternative parsing libraries]] - [[#fancier-searching-for-inherited-tags][Fancier searching for inherited tags]] +- [[#group-tag-support][Group tag support]] - [[#helm-command][Helm command]] +- [[#quickly-change-sortinggrouping-in-search-views][Quickly change sorting/grouping in search views]] - [[#byte-compile-lambdas][Byte-compile lambdas]] - [[#documentfigure-out-tag-inheritance][Document/figure out tag inheritance]] - [[#dual-matching-with-regexp-and-predicates][Dual matching with regexp and predicates]] @@ -107,10 +125,6 @@ e.g. something like [[https://200ok.ch/posts/2020-02-09_creating_org_mode_sparse Searching that with a query like =property:author=Fabrice= returns nothing; the full value must be used, like ~property:author="Fabrice Niessen"~. It should be possible to do something like ~property:author=~Fabrice~ to search for partial matches. -** TODO [#C] Dynamic blocks - -For example, [[https://egli.dev/posts/using-org-mode-for-meeting-minutes/][this blog article]] shows a way that Org's existing dynamic =columnview= blocks can be very useful. =org-ql= queries could be useful in them as well. - ** TODO [#C] [[https://github.com/magit/transient/issues/76][New Transient transient-lisp-variable class]] [2020-10-19 Mon 00:23] Should try to use this instead of whatever bespoke code is currently used. @@ -177,6 +191,83 @@ See notes on 1dce9467f25428b5289d3665cd840820969ed65a. It would be good to test ** TODO [#C] Update commentary +** UNDERWAY [#A] Dynamic blocks + ++ *Tasks* + - [ ] Merge code + - [ ] Document the feature + +For example, [[https://egli.dev/posts/using-org-mode-for-meeting-minutes/][this blog article]] shows a way that Org's existing dynamic =columnview= blocks can be very useful. =org-ql= queries could be useful in them as well. + +[2020-11-09 Mon 22:00] I just realized that this is probably much easier than I realized. + ++ [[info:org#Dynamic%20blocks][info:org#Dynamic blocks]] + +#+BEGIN_SRC elisp + (cl-defun org-dblock-write:org-ql (params) + "FIXME: Docstring" + (pcase-let* (((map :query :format :sort :ts-format) params) + (format-fns (list (cons 'heading (lambda (element) + (org-make-link-string (org-element-property :raw-value element) + (org-element-property :raw-value element)))) + (cons 'todo (lambda (element) + (or (org-element-property :todo-keyword element) + ""))) + (cons 'priority (lambda (element) + (--if-let (org-element-property :priority element) + (char-to-string it) + ""))) + (cons 'deadline (lambda (element) + (--if-let (org-element-property :deadline element) + (ts-format ts-format (ts-parse-org-element it )) + ""))) + (cons 'scheduled (lambda (element) + (--if-let (org-element-property :scheduled element) + (ts-format ts-format (ts-parse-org-element it )) + ""))))) + (elements (org-ql-query :from (current-buffer) + :where query + :select '(org-element-headline-parser (line-end-position)) + :order-by sort))) + (cl-labels ((format-element + (element) (string-join (cl-loop for prop in format + for fn = (alist-get prop format-fns) + collect (funcall fn element)) + " | "))) + (insert "| " (string-join (--map (capitalize (symbol-name it)) format) " | ") " |" "\n") + (insert "|- \n") + (dolist (element elements) + (insert "| " (format-element element) " |" "\n")) + (org-table-align)))) +#+END_SRC + +[2020-11-09 Mon 22:35] This works pretty well! For example: + +#+BEGIN_SRC org + ,#+BEGIN: org-ql :query (todo) :format (priority todo heading deadline scheduled) :sort (priority date) :ts-format "%Y-%m-%d %H:%M" + | Priority | Todo | Heading | Deadline | Scheduled | + |----------+-------+------------+------------------+------------------| + | A | TODAY | Heading 1 | 2020-11-11 00:00 | | + | B | TODO | Heading 2 | | 2020-11-09 00:00 | + + ,#+END: + + ,#+BEGIN: columnview :id global :hlines t :indent t + | ITEM | TODO | PRIORITY | TAGS | + |----------------+-------+----------+------| + | Test heading 1 | TODAY | B | | + |----------------+-------+----------+------| + | Heading 2 | TODO | B | | + ,#+END: + + ,* TODAY [#A] Heading 1 + DEADLINE: <2020-11-11 Wed> + + ,* TODO [#B] Heading 2 + SCHEDULED: <2020-11-09 Mon> + +#+END_SRC + ** UNDERWAY [#A] Tools for saving queries and accessing them [3/4] + Added example to =examples.org=. @@ -665,6 +756,258 @@ However, there might still be a useful idea here somewhere... When tag inheritance is enabled, and the given tags aren't file-level tags, we could search directly to headings containing the matching tags, and then only do per-heading matching on the subtrees. Sometimes that would be much faster. However, that might make the logic special-cased and complicated. Might need a redesign of the whole matching/predicate system to do cleanly. +** PROJECT [#A] Group tag support + +*** UNDERWAY Benchmarking tags searches without and with new group-tags support + +#+BEGIN_SRC elisp + (bench-multi-lexical :times 10 :ensure-equal t + :forms (("without group-tags support" + (org-ql-select (org-ql-search-directories-files) + '(tags "Emacs") + :action #'point)) + )) +#+END_SRC + +#+RESULTS: +| Form | x faster than next | Total runtime | # of GCs | Total GC runtime | +|----------------------------+--------------------+---------------+----------+------------------| +| without group-tags support | slowest | 5.512271 | 0 | 0 | + +#+BEGIN_SRC elisp + (bench-multi-lexical :times 10 :ensure-equal t + :forms (("with group-tags support" + (org-ql-select (org-ql-search-directories-files) + '(tags "Emacs") + :action #'point)) + )) +#+END_SRC + +#+RESULTS: +| Form | x faster than next | Total runtime | # of GCs | Total GC runtime | +|-------------------------+--------------------+---------------+----------+------------------| +| with group-tags support | slowest | 5.154639 | 0 | 0 | + +[2020-11-09 Mon 17:43] I think I need to enhance the benchmarking macros to make this easier. But that might require copying much of =benchmark-run-compiled=, so let me try something else: This is messy, but it ought to be fair enough (the only difference being the minor change in =org-ql--tags-at=. + +#+BEGIN_SRC elisp + (bench-multi-lexical :times 10 :ensure-equal t + :forms (("without group-tags support" + (progn + (setf org-ql-cache (make-hash-table :weakness 'key) + org-ql-tags-cache (make-hash-table :weakness 'key) + org-ql-node-value-cache (make-hash-table :weakness 'key)) + (defun org-ql--expand-tag-hierarchy (tags &optional excluded) + "Return TAGS along with their associated group tags. + This function recursively searches for groups that each given tag belongs to, + directly or indirectly, and includes the corresponding group tags to the result. + + TAGS should be a list of tags (i.e., strings). + If non-nil, EXCLUDED should be a list of group tags that will not be + automatically added to the results unless they are already in TAGS." + (let ((groups (org-tag-alist-to-groups org-current-tag-alist)) + (excluded (append tags excluded))) + (let (group-tags) + (dolist (tag tags) + (pcase-dolist (`(,group-tag . ,group-members) groups) + (when (and (not (member group-tag excluded)) + ;; Check if one of the members in the group matches tag. + ;; Notice that each member may be a plain string or + ;; a regexp pattern (enclosed between curly brackets). + (--some (if (string-match-p "^[{].+[}]$" it) + ;; If pattern (it) is a regexp, remove the brackets and + ;; make sure that it either matches the whole tag or not. + (string-match-p (concat "^" (substring it 1 -1) "$") tag) + ;; Check if member (it) is identical to tag. + (string= it tag)) + group-members)) + (push group-tag group-tags)))) + ;; If group tags not already included have been found, + ;; then recursively expand them as well. + ;; Notice that by passing (group-tags excluded) to the next call + ;; instead of ((append tags group-tags)) ensures that we do not + ;; unnecessarily loop over the elements of TAGS more than once. + (if group-tags + (append tags (org-ql--expand-tag-hierarchy group-tags excluded)) + tags)))) + (defun org-ql--tags-at (position) + "Return tags for POSITION in current buffer. + Returns cons (INHERITED-TAGS . LOCAL-TAGS)." + ;; I'd like to use `-if-let*', but it doesn't leave non-nil variables + ;; bound in the else clause, so destructured variables that are non-nil, + ;; like found caches, are not available in the else clause. + (if-let* ((buffer-cache (gethash (current-buffer) org-ql-tags-cache)) + (modified-tick (car buffer-cache)) + (tags-cache (cdr buffer-cache)) + (buffer-unmodified-p (eq (buffer-modified-tick) modified-tick)) + (cached-result (gethash position tags-cache))) + ;; Found in cache: return them. + (pcase cached-result + ('org-ql-nil nil) + (_ cached-result)) + ;; Not found in cache: get tags and cache them. + (let* ((local-tags (or (when (looking-at org-ql-tag-line-re) + (split-string (match-string-no-properties 2) ":" t)) + 'org-ql-nil)) + (inherited-tags (or (when org-use-tag-inheritance + (save-excursion + (if (org-up-heading-safe) + ;; Return parent heading's tags. + (-let* (((inherited local) (org-ql--tags-at (point))) + (tags (when (or inherited local) + (cond ((and (listp inherited) + (listp local)) + (->> (append inherited local) + -non-nil -uniq)) + ((listp inherited) inherited) + ((listp local) local))))) + (cl-typecase org-use-tag-inheritance + (list (setf tags (-intersection tags org-use-tag-inheritance))) + (string (setf tags (--select (string-match org-use-tag-inheritance it) + tags)))) + (pcase org-tags-exclude-from-inheritance + ('nil tags) + (_ (-difference tags org-tags-exclude-from-inheritance)))) + ;; Top-level heading: use file tags. + org-file-tags))) + 'org-ql-nil)) + (all-tags (list inherited-tags local-tags))) + ;; Check caches again, because they may have been set now. + ;; TODO: Is there a clever way we could avoid doing this, or is it inherently necessary? + (setf buffer-cache (gethash (current-buffer) org-ql-tags-cache) + modified-tick (car buffer-cache) + tags-cache (cdr buffer-cache) + buffer-unmodified-p (eq (buffer-modified-tick) modified-tick)) + (unless (and buffer-cache buffer-unmodified-p) + ;; Buffer-local tags cache empty or invalid: make new one. + (setf tags-cache (make-hash-table)) + (puthash (current-buffer) + (cons (buffer-modified-tick) tags-cache) + org-ql-tags-cache)) + (puthash position all-tags tags-cache)))) + (org-ql-select (org-ql-search-directories-files) + '(tags "Emacs") + :action #'point))) + ("with group-tags support" + (progn + (setf org-ql-cache (make-hash-table :weakness 'key) + org-ql-tags-cache (make-hash-table :weakness 'key) + org-ql-node-value-cache (make-hash-table :weakness 'key)) + (defun org-ql--expand-tag-hierarchy (tags &optional excluded) + "Return TAGS along with their associated group tags. + This function recursively searches for groups that each given tag belongs to, + directly or indirectly, and includes the corresponding group tags to the result. + + TAGS should be a list of tags (i.e., strings). + If non-nil, EXCLUDED should be a list of group tags that will not be + automatically added to the results unless they are already in TAGS." + (let ((groups (org-tag-alist-to-groups org-current-tag-alist)) + (excluded (append tags excluded))) + (let (group-tags) + (dolist (tag tags) + (pcase-dolist (`(,group-tag . ,group-members) groups) + (when (and (not (member group-tag excluded)) + ;; Check if one of the members in the group matches tag. + ;; Notice that each member may be a plain string or + ;; a regexp pattern (enclosed between curly brackets). + (--some (if (string-match-p "^[{].+[}]$" it) + ;; If pattern (it) is a regexp, remove the brackets and + ;; make sure that it either matches the whole tag or not. + (string-match-p (concat "^" (substring it 1 -1) "$") tag) + ;; Check if member (it) is identical to tag. + (string= it tag)) + group-members)) + (push group-tag group-tags)))) + ;; If group tags not already included have been found, + ;; then recursively expand them as well. + ;; Notice that by passing (group-tags excluded) to the next call + ;; instead of ((append tags group-tags)) ensures that we do not + ;; unnecessarily loop over the elements of TAGS more than once. + (if group-tags + (append tags (org-ql--expand-tag-hierarchy group-tags excluded)) + tags)))) + (defun org-ql--tags-at (position) + "Return tags for POSITION in current buffer. + Returns cons (INHERITED-TAGS . LOCAL-TAGS)." + ;; I'd like to use `-if-let*', but it doesn't leave non-nil variables + ;; bound in the else clause, so destructured variables that are non-nil, + ;; like found caches, are not available in the else clause. + (if-let* ((buffer-cache (gethash (current-buffer) org-ql-tags-cache)) + (modified-tick (car buffer-cache)) + (tags-cache (cdr buffer-cache)) + (buffer-unmodified-p (eq (buffer-modified-tick) modified-tick)) + (cached-result (gethash position tags-cache))) + ;; Found in cache: return them. + (pcase cached-result + ('org-ql-nil nil) + (_ cached-result)) + ;; Not found in cache: get tags and cache them. + (let* ((local-tags (or (when (looking-at org-ql-tag-line-re) + (split-string (match-string-no-properties 2) ":" t)) + 'org-ql-nil)) + (inherited-tags (or (when org-use-tag-inheritance + (save-excursion + (if (org-up-heading-safe) + ;; Return parent heading's tags. + (-let* (((inherited local) (org-ql--tags-at (point))) + (tags (when (or inherited local) + (cond ((and (listp inherited) + (listp local)) + (->> (append inherited local) + -non-nil -uniq)) + ((listp inherited) inherited) + ((listp local) local))))) + (cl-typecase org-use-tag-inheritance + (list (setf tags (-intersection tags org-use-tag-inheritance))) + (string (setf tags (--select (string-match org-use-tag-inheritance it) + tags)))) + (pcase org-tags-exclude-from-inheritance + ('nil tags) + (_ (-difference tags org-tags-exclude-from-inheritance)))) + ;; Top-level heading: use file tags. + org-file-tags))) + 'org-ql-nil)) + all-tags) + (when org-group-tags + (unless (eq local-tags 'org-ql-nil) + (setq local-tags (org-ql--expand-tag-hierarchy local-tags))) + (unless (eq inherited-tags 'org-ql-nil) + (setq inherited-tags (org-ql--expand-tag-hierarchy inherited-tags)))) + (setq all-tags (list inherited-tags local-tags)) + ;; Check caches again, because they may have been set now. + ;; TODO: Is there a clever way we could avoid doing this, or is it inherently necessary? + (setf buffer-cache (gethash (current-buffer) org-ql-tags-cache) + modified-tick (car buffer-cache) + tags-cache (cdr buffer-cache) + buffer-unmodified-p (eq (buffer-modified-tick) modified-tick)) + (unless (and buffer-cache buffer-unmodified-p) + ;; Buffer-local tags cache empty or invalid: make new one. + (setf tags-cache (make-hash-table)) + (puthash (current-buffer) + (cons (buffer-modified-tick) tags-cache) + org-ql-tags-cache)) + (puthash position all-tags tags-cache)))) + (org-ql-select (org-ql-search-directories-files) + '(tags "Emacs") + :action #'point))) + )) +#+END_SRC + +#+RESULTS: +| Form | x faster than next | Total runtime | # of GCs | Total GC runtime | +|----------------------------+--------------------+---------------+----------+------------------| +| without group-tags support | 1.01 | 52.832562 | 4 | 1.989522 | +| with group-tags support | slowest | 53.425342 | 5 | 2.479128 | + +[2020-11-09 Mon 17:57] Well, the performance difference seems smaller than I expected. For single iterations, it ought to be unnoticeable. Although I'm still a bit skeptical about this benchmark: I feel like it ought to have more of an impact than that, but maybe I'm wrong--and that would be great! + +Next steps: + ++ [X] Post benchmark code on PR and ask Panagiotis to verify ++ [X] Also ask him to run benchmark actually using group tags (since I don't actually have any, even though the boolean is t) ++ [X] Discuss caching of group tag expansion. It seems like we ought to cache the expansions as well, because sibling headings (especially at level 1) ought to get their group tags re-expanded individually, even when we've already expanded them for another heading. ++ [X] Remove unused =result= variable + ** DONE [#A] Helm command In branch =wip/helm-org-ql=. Works really well, should add it and demonstrate it. From c0ded3ded3a81b2597c761f787085750f42e842c Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Mon, 9 Nov 2020 23:50:34 -0600 Subject: [PATCH 207/615] Add: Dynamic block --- README.org | 32 +++++++++++ notes.org | 10 ++-- org-ql-search.el | 75 ++++++++++++++++++++++++++ org-ql.info | 136 +++++++++++++++++++++++++++++++---------------- 4 files changed, 202 insertions(+), 51 deletions(-) diff --git a/README.org b/README.org index 605b7bc..2a52476 100644 --- a/README.org +++ b/README.org @@ -68,6 +68,7 @@ Installing with [[https://framagit.org/steckerhalter/quelpa][Quelpa]] is easy: - [[#ancestordescendant-predicates][Ancestor/descendant predicates]] - [[#datetime-predicates][Date/time predicates]] - [[#functions--macros][Functions / Macros]] +- [[#dynamic-block][Dynamic block]] - [[#tips][Tips]] :END: @@ -396,6 +397,36 @@ Examples: Expands into a call to ~org-ql-select~ with the same arguments. For convenience, arguments should be unquoted. +** Dynamic block + +Org QL provides a dynamic block that lists entries in the current document matching a query. In the header, these parameters are supported: + ++ ~:query~: An Org QL query expression in either sexp or non-sexp form. ++ ~:columns~ A list of columns, including ~heading~, ~todo~, ~priority~, ~deadline~, ~scheduled~. ++ ~:sort~ One or a list of Org QL sorting methods (see ~org-ql-select~). ++ ~:take~ Optionally take a number of results from the front (a positive number) or the end (a negative number) of the results. ++ ~:ts-format~ Optional format string used to format timestamp-based columns. + +The heading column is formatted as a link to the heading (not shown in the following example). + +For example, this dynamic block shows the first seven headings that are to-do items with priority A or B, sorted by deadline then priority, with certain columns and timestamp format: + +# NOTE: These results are edited manually because the Org links don't display well in the Info manual. + +#+BEGIN_SRC org + ,#+BEGIN: org-ql :query "todo: priority:A,B" :columns (todo priority deadline heading) :sort (deadline priority) :take 7 :ts-format "%Y-%m-%d %H:%M" + | Todo | Priority | Deadline | Heading | + |------+----------+------------------+---------------------------------------| + | TODO | A | 2017-07-07 00:00 | Take over the world | + | TODO | B | 2017-07-10 00:00 | Renew membership in supervillain club | + | TODO | A | 2017-07-15 00:00 | Take over the universe | + | TODO | B | 2017-07-21 00:00 | Internet | + | TODO | A | 2017-08-01 00:00 | Spaceship lease | + | TODO | A | | Skype with president of Antarctica | + | TODO | B | | Take over Mars | + ,#+END: +#+END_SRC + ** Tips + Org QL View buffers can be bookmarked with Emacs bookmark commands, e.g. =C-x r m=. This also integrates with [[https://github.com/alphapapa/org-sidebar][org-sidebar]] and [[https://github.com/alphapapa/burly.el][Burly]]. @@ -413,6 +444,7 @@ Expands into a call to ~org-ql-select~ with the same arguments. For convenience + View dispatcher using =transient.el= (like Magit), bound to =v= in search/view buffers. + Predicate =link=, which matches descriptions and targets in Org links. + Emacs bookmark support: Org QL View buffers can be bookmarked with, e.g. =C-x r m= and shown with, e.g. =C-x r b=. (This also enables view restoration with [[https://github.com/alphapapa/burly.el][Burly]].) ++ Dynamic block support. + Mascot. *Changed* diff --git a/notes.org b/notes.org index 8082013..a66e80c 100644 --- a/notes.org +++ b/notes.org @@ -16,7 +16,7 @@ * [#A] Overview -#+BEGIN: org-ql :query (todo "UNDERWAY") :format (priority todo heading) :sort (priority date) :ts-format "%Y-%m-%d %H:%M" +#+BEGIN: org-ql :query (todo "UNDERWAY") :columns (priority todo heading) :sort (priority date) :ts-format "%Y-%m-%d %H:%M" | Priority | Todo | Heading | |----------+----------+--------------------------------------------------------------------| | A | UNDERWAY | [[Dynamic blocks][Dynamic blocks]] | @@ -206,7 +206,7 @@ For example, [[https://egli.dev/posts/using-org-mode-for-meeting-minutes/][this #+BEGIN_SRC elisp (cl-defun org-dblock-write:org-ql (params) "FIXME: Docstring" - (pcase-let* (((map :query :format :sort :ts-format) params) + (pcase-let* (((map :query :columns :sort :ts-format) params) (format-fns (list (cons 'heading (lambda (element) (org-make-link-string (org-element-property :raw-value element) (org-element-property :raw-value element)))) @@ -230,11 +230,11 @@ For example, [[https://egli.dev/posts/using-org-mode-for-meeting-minutes/][this :select '(org-element-headline-parser (line-end-position)) :order-by sort))) (cl-labels ((format-element - (element) (string-join (cl-loop for prop in format - for fn = (alist-get prop format-fns) + (element) (string-join (cl-loop for column in columns + for fn = (alist-get column format-fns) collect (funcall fn element)) " | "))) - (insert "| " (string-join (--map (capitalize (symbol-name it)) format) " | ") " |" "\n") + (insert "| " (string-join (--map (capitalize (symbol-name it)) columns) " | ") " |" "\n") (insert "|- \n") (dolist (element elements) (insert "| " (format-element element) " |" "\n")) diff --git a/org-ql-search.el b/org-ql-search.el index 1609d9e..c82d6f0 100644 --- a/org-ql-search.el +++ b/org-ql-search.el @@ -232,6 +232,81 @@ automatically from the query." ;;;###autoload (defalias 'org-ql-block 'org-ql-search-block) +;;;; Dynamic blocks + +;; This section implements support for Org dynamic blocks. See Info node `(org)Dynamic blocks'. + +(require 'org-table) + +(cl-defun org-dblock-write:org-ql (params) + "Insert content for org-ql dynamic block at point according to PARAMS. +Valid parameters include: + + :query An Org QL query expression in either sexp or non-sexp form. + + :columns A list of columns, including `heading', `todo', + `priority', `deadline', `scheduled'. + + :sort One or a list of Org QL sorting methods (see `org-ql-select'). + + :take Optionally take a number of results from the front (a + positive number) or the end (a negative number) of the results. + + :ts-format Optional format string used to format timestamp-based columns. + +For example, an org-ql dynamic block header could look like: + + #+BEGIN: org-ql :query (todo \"UNDERWAY\") :columns (priority todo heading) :sort (priority date) :ts-format \"%Y-%m-%d %H:%M\"" + (pcase-let* (((map :query :columns :sort :ts-format :take) params) + (query (cl-etypecase query + (string (org-ql--plain-query query)) + (t query))) + (columns (or columns '(heading todo priority))) + ;; MAYBE: Custom column functions. + (format-fns + ;; NOTE: Backquoting this alist prevents the lambdas from seeing + ;; the variable `ts-format', so we use `list' and `cons'. + (list (cons 'heading (lambda (element) + (org-make-link-string (org-element-property :raw-value element) + (org-element-property :raw-value element)))) + (cons 'todo (lambda (element) + (org-element-property :todo-keyword element))) + (cons 'priority (lambda (element) + (--when-let (org-element-property :priority element) + (char-to-string it)))) + (cons 'deadline (lambda (element) + (--when-let (org-element-property :deadline element) + (ts-format ts-format (ts-parse-org-element it))))) + (cons 'scheduled (lambda (element) + (--when-let (org-element-property :scheduled element) + (ts-format ts-format (ts-parse-org-element it))))))) + (elements (org-ql-query :from (current-buffer) + :where query + :select '(org-element-headline-parser (line-end-position)) + :order-by sort))) + (when take + (setf elements (cl-etypecase take + ((and integer (satisfies minusp)) (-take-last (abs take) elements)) + (integer (-take take elements))))) + (cl-labels ((format-element + (element) (string-join (cl-loop for column in columns + for fn = (alist-get column format-fns) + collect (or (funcall fn element) "")) + " | "))) + ;; Insert table header. + (insert "| " (string-join (--map (capitalize (symbol-name it)) + columns) + " | ") + " |" "\n") + ;; Separator line. + (insert "|- \n") + ;; Elements. + (dolist (element elements) + (insert "| " (format-element element) " |" "\n")) + ;; Delete final newline and align table. + (delete-char -1) + (org-table-align)))) + ;;;; Functions (cl-defun org-ql-search-directories-files (&key (directories (list org-directory)) diff --git a/org-ql.info b/org-ql.info index fea110e..afe4e3a 100644 --- a/org-ql.info +++ b/org-ql.info @@ -35,6 +35,7 @@ Usage * Commands:: * Queries:: * Functions / Macros:: +* Dynamic block:: * Tips:: Commands @@ -154,7 +155,7 @@ File: README.info, Node: Usage, Next: Changelog, Prev: Installation, Up: Top ******* • • - • • • • • • + • • • • • • • Feedback on these APIs is welcome. Eventually, after being tested and polished, they will be considered stable. @@ -165,6 +166,7 @@ and polished, they will be considered stable. * Commands:: * Queries:: * Functions / Macros:: +* Dynamic block:: * Tips::  @@ -544,7 +546,7 @@ number of days. The number can be negative to invert the direction. scheduled at any time.  -File: README.info, Node: Functions / Macros, Next: Tips, Prev: Queries, Up: Usage +File: README.info, Node: Functions / Macros, Next: Dynamic block, Prev: Queries, Up: Usage 4.3 Functions / Macros ====================== @@ -711,9 +713,49 @@ File: README.info, Node: Listing / acting-on results, Prev: Agenda-like views, For convenience, arguments should be unquoted.  -File: README.info, Node: Tips, Prev: Functions / Macros, Up: Usage +File: README.info, Node: Dynamic block, Next: Tips, Prev: Functions / Macros, Up: Usage -4.4 Tips +4.4 Dynamic block +================= + +Org QL provides a dynamic block that lists entries in the current +document matching a query. In the header, these parameters are +supported: + + • ‘:query’: An Org QL query expression in either sexp or non-sexp + form. + • ‘:columns’ A list of columns, including ‘heading’, ‘todo’, + ‘priority’, ‘deadline’, ‘scheduled’. + • ‘:sort’ One or a list of Org QL sorting methods (see + ‘org-ql-select’). + • ‘:take’ Optionally take a number of results from the front (a + positive number) or the end (a negative number) of the results. + • ‘:ts-format’ Optional format string used to format timestamp-based + columns. + + The heading column is formatted as a link to the heading (not shown +in the following example). + + For example, this dynamic block shows the first seven headings that +are to-do items with priority A or B, sorted by deadline then priority, +with certain columns and timestamp format: + + #+BEGIN: org-ql :query "todo: priority:A,B" :columns (todo priority deadline heading) :sort (deadline priority) :take 7 :ts-format "%Y-%m-%d %H:%M" + | Todo | Priority | Deadline | Heading | + |------+----------+------------------+---------------------------------------| + | TODO | A | 2017-07-07 00:00 | Take over the world | + | TODO | B | 2017-07-10 00:00 | Renew membership in supervillain club | + | TODO | A | 2017-07-15 00:00 | Take over the universe | + | TODO | B | 2017-07-21 00:00 | Internet | + | TODO | A | 2017-08-01 00:00 | Spaceship lease | + | TODO | A | | Skype with president of Antarctica | + | TODO | B | | Take over Mars | + #+END: + + +File: README.info, Node: Tips, Prev: Dynamic block, Up: Usage + +4.5 Tips ======== • Org QL View buffers can be bookmarked with Emacs bookmark commands, @@ -767,6 +809,7 @@ File: README.info, Node: 05-pre, Next: 046, Up: Changelog e.g. C-x r m and shown with, e.g. C-x r b. (This also enables view restoration with Burly (https://github.com/alphapapa/burly.el).) + • Dynamic block support. • Mascot. *Changed* @@ -1188,48 +1231,49 @@ GPLv3  Tag Table: Node: Top225 -Node: Contents1521 -Node: Screenshots1644 -Node: Installation1762 -Node: Quelpa2400 -Node: Usage2843 -Node: Commands3205 -Node: org-ql-search3678 -Node: helm-org-ql5392 -Node: org-ql-view5804 -Node: org-ql-view-sidebar6304 -Node: org-ql-view-recent-items6660 -Node: org-ql-sparse-tree7144 -Node: Queries7944 -Node: Non-sexp query syntax8852 -Node: General predicates10559 -Node: Ancestor/descendant predicates15774 -Node: Date/time predicates16902 -Node: Functions / Macros19557 -Node: Agenda-like views19803 -Node: Listing / acting-on results21208 -Node: Tips25810 -Node: Changelog26141 -Node: 05-pre26780 -Node: 04627626 -Node: 04528029 -Node: 04428388 -Node: 04328745 -Node: 04228940 -Node: 04129099 -Node: 0429338 -Node: 03233269 -Node: 03133646 -Node: 0333843 -Node: 02336818 -Node: 02237046 -Node: 02137314 -Node: 0237513 -Node: 0141548 -Node: Notes41649 -Node: Comparison with Org Agenda searches41811 -Node: org-sidebar42683 -Node: License42962 +Node: Contents1539 +Node: Screenshots1662 +Node: Installation1780 +Node: Quelpa2418 +Node: Usage2861 +Node: Commands3245 +Node: org-ql-search3718 +Node: helm-org-ql5432 +Node: org-ql-view5844 +Node: org-ql-view-sidebar6344 +Node: org-ql-view-recent-items6700 +Node: org-ql-sparse-tree7184 +Node: Queries7984 +Node: Non-sexp query syntax8892 +Node: General predicates10599 +Node: Ancestor/descendant predicates15814 +Node: Date/time predicates16942 +Node: Functions / Macros19597 +Node: Agenda-like views19852 +Node: Listing / acting-on results21257 +Node: Dynamic block25859 +Node: Tips27885 +Node: Changelog28211 +Node: 05-pre28850 +Node: 04629726 +Node: 04530129 +Node: 04430488 +Node: 04330845 +Node: 04231040 +Node: 04131199 +Node: 0431438 +Node: 03235369 +Node: 03135746 +Node: 0335943 +Node: 02338918 +Node: 02239146 +Node: 02139414 +Node: 0239613 +Node: 0143648 +Node: Notes43749 +Node: Comparison with Org Agenda searches43911 +Node: org-sidebar44783 +Node: License45062  End Tag Table From 8e6aae95a0990209458c6e759c0a59eadc6bbac0 Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Tue, 10 Nov 2020 00:04:18 -0600 Subject: [PATCH 208/615] Notes: Update --- notes.org | 157 +++++++++++++++++++++++++++--------------------------- 1 file changed, 79 insertions(+), 78 deletions(-) diff --git a/notes.org b/notes.org index a66e80c..d9f2ae9 100644 --- a/notes.org +++ b/notes.org @@ -28,7 +28,6 @@ | B | UNDERWAY | [["Node" caching]["Node" caching]] | | B | UNDERWAY | [[Implement view with tabulated-list-mode or magit-section][Implement view with tabulated-list-mode or magit-section]] | | | UNDERWAY | [[Benchmarking tags searches without and with new group-tags support][Benchmarking tags searches without and with new group-tags support]] | - #+END: * [#A] Tasks @@ -191,83 +190,6 @@ See notes on 1dce9467f25428b5289d3665cd840820969ed65a. It would be good to test ** TODO [#C] Update commentary -** UNDERWAY [#A] Dynamic blocks - -+ *Tasks* - - [ ] Merge code - - [ ] Document the feature - -For example, [[https://egli.dev/posts/using-org-mode-for-meeting-minutes/][this blog article]] shows a way that Org's existing dynamic =columnview= blocks can be very useful. =org-ql= queries could be useful in them as well. - -[2020-11-09 Mon 22:00] I just realized that this is probably much easier than I realized. - -+ [[info:org#Dynamic%20blocks][info:org#Dynamic blocks]] - -#+BEGIN_SRC elisp - (cl-defun org-dblock-write:org-ql (params) - "FIXME: Docstring" - (pcase-let* (((map :query :columns :sort :ts-format) params) - (format-fns (list (cons 'heading (lambda (element) - (org-make-link-string (org-element-property :raw-value element) - (org-element-property :raw-value element)))) - (cons 'todo (lambda (element) - (or (org-element-property :todo-keyword element) - ""))) - (cons 'priority (lambda (element) - (--if-let (org-element-property :priority element) - (char-to-string it) - ""))) - (cons 'deadline (lambda (element) - (--if-let (org-element-property :deadline element) - (ts-format ts-format (ts-parse-org-element it )) - ""))) - (cons 'scheduled (lambda (element) - (--if-let (org-element-property :scheduled element) - (ts-format ts-format (ts-parse-org-element it )) - ""))))) - (elements (org-ql-query :from (current-buffer) - :where query - :select '(org-element-headline-parser (line-end-position)) - :order-by sort))) - (cl-labels ((format-element - (element) (string-join (cl-loop for column in columns - for fn = (alist-get column format-fns) - collect (funcall fn element)) - " | "))) - (insert "| " (string-join (--map (capitalize (symbol-name it)) columns) " | ") " |" "\n") - (insert "|- \n") - (dolist (element elements) - (insert "| " (format-element element) " |" "\n")) - (org-table-align)))) -#+END_SRC - -[2020-11-09 Mon 22:35] This works pretty well! For example: - -#+BEGIN_SRC org - ,#+BEGIN: org-ql :query (todo) :format (priority todo heading deadline scheduled) :sort (priority date) :ts-format "%Y-%m-%d %H:%M" - | Priority | Todo | Heading | Deadline | Scheduled | - |----------+-------+------------+------------------+------------------| - | A | TODAY | Heading 1 | 2020-11-11 00:00 | | - | B | TODO | Heading 2 | | 2020-11-09 00:00 | - - ,#+END: - - ,#+BEGIN: columnview :id global :hlines t :indent t - | ITEM | TODO | PRIORITY | TAGS | - |----------------+-------+----------+------| - | Test heading 1 | TODAY | B | | - |----------------+-------+----------+------| - | Heading 2 | TODO | B | | - ,#+END: - - ,* TODAY [#A] Heading 1 - DEADLINE: <2020-11-11 Wed> - - ,* TODO [#B] Heading 2 - SCHEDULED: <2020-11-09 Mon> - -#+END_SRC - ** UNDERWAY [#A] Tools for saving queries and accessing them [3/4] + Added example to =examples.org=. @@ -1008,6 +930,85 @@ Next steps: + [X] Discuss caching of group tag expansion. It seems like we ought to cache the expansions as well, because sibling headings (especially at level 1) ought to get their group tags re-expanded individually, even when we've already expanded them for another heading. + [X] Remove unused =result= variable +** DONE [#A] Dynamic blocks + ++ *Tasks* + - [X] Merge code + - [X] Document the feature + +For example, [[https://egli.dev/posts/using-org-mode-for-meeting-minutes/][this blog article]] shows a way that Org's existing dynamic =columnview= blocks can be very useful. =org-ql= queries could be useful in them as well. + +[2020-11-09 Mon 22:00] I just realized that this is probably much easier than I realized. + ++ [[info:org#Dynamic%20blocks][info:org#Dynamic blocks]] + +#+BEGIN_SRC elisp + (cl-defun org-dblock-write:org-ql (params) + "FIXME: Docstring" + (pcase-let* (((map :query :columns :sort :ts-format) params) + (format-fns (list (cons 'heading (lambda (element) + (org-make-link-string (org-element-property :raw-value element) + (org-element-property :raw-value element)))) + (cons 'todo (lambda (element) + (or (org-element-property :todo-keyword element) + ""))) + (cons 'priority (lambda (element) + (--if-let (org-element-property :priority element) + (char-to-string it) + ""))) + (cons 'deadline (lambda (element) + (--if-let (org-element-property :deadline element) + (ts-format ts-format (ts-parse-org-element it )) + ""))) + (cons 'scheduled (lambda (element) + (--if-let (org-element-property :scheduled element) + (ts-format ts-format (ts-parse-org-element it )) + ""))))) + (elements (org-ql-query :from (current-buffer) + :where query + :select '(org-element-headline-parser (line-end-position)) + :order-by sort))) + (cl-labels ((format-element + (element) (string-join (cl-loop for column in columns + for fn = (alist-get column format-fns) + collect (funcall fn element)) + " | "))) + (insert "| " (string-join (--map (capitalize (symbol-name it)) columns) " | ") " |" "\n") + (insert "|- \n") + (dolist (element elements) + (insert "| " (format-element element) " |" "\n")) + (org-table-align)))) +#+END_SRC + +[2020-11-09 Mon 22:35] This works pretty well! For example: + +#+BEGIN_SRC org + ,#+BEGIN: org-ql :query (todo) :format (priority todo heading deadline scheduled) :sort (priority date) :ts-format "%Y-%m-%d %H:%M" + | Priority | Todo | Heading | Deadline | Scheduled | + |----------+-------+------------+------------------+------------------| + | A | TODAY | Heading 1 | 2020-11-11 00:00 | | + | B | TODO | Heading 2 | | 2020-11-09 00:00 | + + ,#+END: + + ,#+BEGIN: columnview :id global :hlines t :indent t + | ITEM | TODO | PRIORITY | TAGS | + |----------------+-------+----------+------| + | Test heading 1 | TODAY | B | | + |----------------+-------+----------+------| + | Heading 2 | TODO | B | | + ,#+END: + + ,* TODAY [#A] Heading 1 + DEADLINE: <2020-11-11 Wed> + + ,* TODO [#B] Heading 2 + SCHEDULED: <2020-11-09 Mon> + +#+END_SRC + +[2020-11-10 Tue 00:03] I think it's ready to merge now. + ** DONE [#A] Helm command In branch =wip/helm-org-ql=. Works really well, should add it and demonstrate it. From c0a10ba96a1543a582f5c2dd4b2f231eff63b3c0 Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Tue, 10 Nov 2020 00:27:35 -0600 Subject: [PATCH 209/615] Fix: (org-dblock-write:org-ql) cl-minusp --- org-ql-search.el | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/org-ql-search.el b/org-ql-search.el index c82d6f0..f9506f2 100644 --- a/org-ql-search.el +++ b/org-ql-search.el @@ -286,7 +286,7 @@ For example, an org-ql dynamic block header could look like: :order-by sort))) (when take (setf elements (cl-etypecase take - ((and integer (satisfies minusp)) (-take-last (abs take) elements)) + ((and integer (satisfies cl-minusp)) (-take-last (abs take) elements)) (integer (-take take elements))))) (cl-labels ((format-element (element) (string-join (cl-loop for column in columns From 992f3c2675d45775811b48e359ce6796d24475a9 Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Tue, 10 Nov 2020 01:52:04 -0600 Subject: [PATCH 210/615] Add: Link support --- README.org | 15 ++++++ notes.org | 128 ++++++++++++++++++++++++++++++++++++++++++++++--- org-ql-view.el | 62 ++++++++++++++++++++++++ org-ql.info | 120 ++++++++++++++++++++++++++++------------------ 4 files changed, 271 insertions(+), 54 deletions(-) diff --git a/README.org b/README.org index 2a52476..59bbb23 100644 --- a/README.org +++ b/README.org @@ -69,6 +69,7 @@ Installing with [[https://framagit.org/steckerhalter/quelpa][Quelpa]] is easy: - [[#datetime-predicates][Date/time predicates]] - [[#functions--macros][Functions / Macros]] - [[#dynamic-block][Dynamic block]] +- [[#links][Links]] - [[#tips][Tips]] :END: @@ -427,6 +428,19 @@ For example, this dynamic block shows the first seven headings that are to-do it ,#+END: #+END_SRC +** Links + +Org QL View searches may be accessed by opening ~org-ql-search:~ links in an Org file. + +In an Org QL View buffer, the command ~org-store-link~ (i.e. ~C-c l~) stores a link to the current search, and it may be inserted into an Org buffer with the command ~org-insert-link~ (~C-c C-l~). The stored link records all of the view settings, like title, sorting, and grouping. + +Simple links may also be written manually in either sexp or non-sexp form, like: + +#+BEGIN_SRC org + [[org-ql-search:todo:NEXT priority:A]] + [[org-ql-search:(and (todo "NEXT") (priority "A"))]] +#+END_SRC + ** Tips + Org QL View buffers can be bookmarked with Emacs bookmark commands, e.g. =C-x r m=. This also integrates with [[https://github.com/alphapapa/org-sidebar][org-sidebar]] and [[https://github.com/alphapapa/burly.el][Burly]]. @@ -445,6 +459,7 @@ For example, this dynamic block shows the first seven headings that are to-do it + Predicate =link=, which matches descriptions and targets in Org links. + Emacs bookmark support: Org QL View buffers can be bookmarked with, e.g. =C-x r m= and shown with, e.g. =C-x r b=. (This also enables view restoration with [[https://github.com/alphapapa/burly.el][Burly]].) + Dynamic block support. ++ Org link support (storing and opening links to Org QL View searches in the current document). + Mascot. *Changed* diff --git a/notes.org b/notes.org index d9f2ae9..78d8c32 100644 --- a/notes.org +++ b/notes.org @@ -16,12 +16,15 @@ * [#A] Overview +** Underway + +[[org-ql-search:%2528todo%2520%2522UNDERWAY%2522%2529?sort=%2528priority%2529&title=%2522Underway%2522][org-ql-search: Underway]] + #+BEGIN: org-ql :query (todo "UNDERWAY") :columns (priority todo heading) :sort (priority date) :ts-format "%Y-%m-%d %H:%M" | Priority | Todo | Heading | |----------+----------+--------------------------------------------------------------------| -| A | UNDERWAY | [[Dynamic blocks][Dynamic blocks]] | | A | UNDERWAY | [[Tools%20for%20saving%20queries%20and%20accessing%20them%20%5B3/4%5D][Tools for saving queries and accessing them {3/4}]] | -| A | UNDERWAY | [[Org link types][Org link types]] | +| A | UNDERWAY | [[Org%20link%20types%20%5B2/3%5D][Org link types {2/3}]] | | A | UNDERWAY | [[Outline path predicate][Outline path predicate]] | | B | UNDERWAY | [[Recursive queries][Recursive queries]] | | B | UNDERWAY | [[Timeline view][Timeline view]] | @@ -30,6 +33,19 @@ | | UNDERWAY | [[Benchmarking tags searches without and with new group-tags support][Benchmarking tags searches without and with new group-tags support]] | #+END: +** To-do + +[[org-ql-search:%2528and%2520%2528todo%2520%2522TODO%2522%2529%2520%2528priority%2520%2522A%2522%2529%2529?sort=%2528priority%2529&title=%2522To-do%2520%255B%2523A%255D%2522][org-ql-search: To-do {#A}]] + +#+BEGIN: org-ql :query "todo:TODO priority:A" :columns (priority todo heading) :sort (priority date) :take 7 +| Priority | Todo | Heading | +|----------+------+--------------------------------------------------------------| +| A | TODO | [[Add ~:auto~ keyword to ~(planning)~ predicate][Add ~:auto~ keyword to ~(planning)~ predicate]] | +| A | TODO | [[Document sorters][Document sorters]] | +| A | TODO | [[Org block to insert results of queries with links to entries][Org block to insert results of queries with links to entries]] | +| A | TODO | [[Change ~(deadline)~'s ~auto~ argument to ~:auto~ and/or ~:auto t~][Change ~(deadline)~'s ~auto~ argument to ~:auto~ and/or ~:auto t~]] | +#+END: + * [#A] Tasks :PROPERTIES: :TOC: :include descendants :depth 1 @@ -49,7 +65,6 @@ - [[#org-agenda-skip-function][org-agenda-skip-function]] - [[#test-caching][Test caching]] - [[#update-commentary][Update commentary]] -- [[#dynamic-blocks][Dynamic blocks]] - [[#tools-for-saving-queries-and-accessing-them-34][Tools for saving queries and accessing them {3/4}]] - [[#outline-path-predicate][Outline path predicate]] - [[#recursive-queries][Recursive queries]] @@ -60,6 +75,7 @@ - [[#alternative-parsing-libraries][Alternative parsing libraries]] - [[#fancier-searching-for-inherited-tags][Fancier searching for inherited tags]] - [[#group-tag-support][Group tag support]] +- [[#dynamic-blocks][Dynamic blocks]] - [[#helm-command][Helm command]] - [[#quickly-change-sortinggrouping-in-search-views][Quickly change sorting/grouping in search views]] - [[#byte-compile-lambdas][Byte-compile lambdas]] @@ -194,13 +210,17 @@ See notes on 1dce9467f25428b5289d3665cd840820969ed65a. It would be good to test + Added example to =examples.org=. -*** UNDERWAY [#A] Org link types +*** UNDERWAY [#A] Org link types [2/3] :PROPERTIES: :ID: 4db73c1c-a4ed-425e-9e38-8d334ed03e1e :END: This would be useful for having a menu of saved queries as Org links, or even bookmarking saved queries. +**** TODO For saved queries + +**** DONE For searches + [2020-11-08 Sun 22:59] Let's try a very simple implementation so I could write a link like this to search the current buffer: #+BEGIN_SRC org @@ -209,7 +229,7 @@ This would be useful for having a menu of saved queries as Org links, or even bo [2020-11-08 Sun 23:22] Seems to work! -#+BEGIN_SRC elisp +#+BEGIN_SRC elisp :results silent ;;;; Org link type ;; This section adds a custom link type to Org. See info:org#Adding hyperlink types. @@ -240,9 +260,103 @@ Tested on these queries: + [[org-ql-search:link:nullprogram]] #+END_SRC -**** TODO For all parameters +[2020-11-10 Tue 00:35] I'd like to support other parameters to the search, like grouping and sorting, so: -**** TODO For saved queries +#+BEGIN_SRC elisp :results silent + ;;;; Org link type + + ;; This section adds a custom link type to Org. See info:org#Adding hyperlink types. + + (org-link-set-parameters "org-ql-search" + :follow #'org-ql-search--link-open + :store #'org-ql-search--link-store) + + (defun org-ql-search--link-open (query) + "Open Org QL QUERY for current buffer." + (require 'url-parse) + (pcase-let* ((`(,query . ,params) + (url-path-and-query (url-parse-make-urlobj "org-ql-search" nil nil nil nil + query))) + (params (url-parse-query-string params)) + ;; Hacky or elegant? + (_ (mapc (lambda (pair) + (cl-callf (lambda (it) + (intern (concat ":" it))) + (car pair)) + (cl-callf read (cdr pair))) + params)) + (params (cl-loop for (key . value) in params + append (list key value)))) + (apply #'org-ql-search (current-buffer) query params))) + + (defun org-ql-search--link-store () + "Store a link to current Org QL query." + (when org-ql-view-query + (org-store-link-props :type "org-ql-search" + :link (concat "org-ql-search:" (org-ql-view--format-query org-ql-view-query)) + :description org-ql-view-title) + t)) +#+END_SRC + +That seems to work, like: + +#+BEGIN_SRC org + [[org-ql-search:property:author="Chris%20Wellons"?super-groups=((:auto-outline-path%20t))]] +#+END_SRC + +[2020-11-10 Tue 01:34] Okay, this seems to take care of all parameters: + +#+BEGIN_SRC elisp + (defun org-ql-search--link-open (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-search--link-store'." + (require 'url-parse) + (require 'url-util) + (pcase-let* ((`(,query . ,params) (url-path-and-query + (url-parse-make-urlobj "org-ql-search" nil nil nil nil + path))) + (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 (alist-get "sort" params nil nil #'string=) + (read (alist-get "sort" params nil nil #'string=)))) + (groups (when (alist-get "super-groups" params nil nil #'string=) + (read (alist-get "super-groups" params nil nil #'string=)))) + (title (when (alist-get "title" params nil nil #'string=) + (read (alist-get "title" params nil nil #'string=))))) + (org-ql-search (current-buffer) query + :sort sort + :super-groups groups + :title title))) + + (defun org-ql-search--link-store () + "Store a link to the current Org QL view. + Only views that search a single buffer may be linked to." + (require 'url-parse) + (require 'url-util) + (unless (or (bufferp org-ql-view-buffers-files) (= 1 (length org-ql-view-buffers-files))) + (user-error "Only views searching a single buffer may be linked")) + (when org-ql-view-query + (let* ((params (list (when org-ql-view-super-groups + (list "super-groups" (prin1-to-string org-ql-view-super-groups))) + (when org-ql-view-sort + (list "sort" (prin1-to-string org-ql-view-sort))) + (when org-ql-view-title + (list "title" (prin1-to-string org-ql-view-title))))) + (filename (concat (url-hexify-string (org-ql-view--format-query org-ql-view-query)) + "?" (url-build-query-string (delete nil params)))) + (url (url-recreate-url (url-parse-make-urlobj "org-ql-search" nil nil nil nil + filename)))) + (org-store-link-props + :type "org-ql-search" + :link url + :description (concat "org-ql-search: " org-ql-view-title))) + t)) +#+END_SRC + +**** DONE For all parameters *** DONE Bookmarks diff --git a/org-ql-view.el b/org-ql-view.el index 30be96d..676b6c0 100644 --- a/org-ql-view.el +++ b/org-ql-view.el @@ -565,6 +565,68 @@ dates in the past, and negative for dates in the future." ;; more complicated and might introduce bugs elsewhere, so we'll just do this for now. (set-buffer (window-buffer (selected-window))))) +;;;; Links + +;; This section implements support for Org links to Org QL searches. Since the +;; links are stored from and opened in `org-ql-view' buffers, this section resides +;; in this file. However, since the links are to `org-ql-search' searches rather +;; 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 + :store #'org-ql-view--link-store) + +;; We require the URL libraries in the functions to hopefully avoid +;; loading them until they're needed. + +(defun org-ql-view--link-open (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'." + (require 'url-parse) + (require 'url-util) + (pcase-let* ((`(,query . ,params) (url-path-and-query + (url-parse-make-urlobj "org-ql-search" nil nil nil nil + path))) + (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 (alist-get "sort" params nil nil #'string=) + (read it))) + (groups (--when-let (alist-get "super-groups" params nil nil #'string=) + (read it))) + (title (--when-let (alist-get "title" params nil nil #'string=) + (read it)))) + (org-ql-search (current-buffer) query + :sort sort + :super-groups groups + :title title))) + +(defun org-ql-view--link-store () + "Store a link to the current Org QL view. +When opened, the link searches the buffer it's opened from." + (require 'url-parse) + (require 'url-util) + (unless (or (bufferp org-ql-view-buffers-files) + (= 1 (length org-ql-view-buffers-files))) + (user-error "Only views searching a single buffer may be linked")) + (when org-ql-view-query + (let* ((params (list (when org-ql-view-super-groups + (list "super-groups" (prin1-to-string org-ql-view-super-groups))) + (when org-ql-view-sort + (list "sort" (prin1-to-string org-ql-view-sort))) + (when org-ql-view-title + (list "title" (prin1-to-string org-ql-view-title))))) + (filename (concat (url-hexify-string (org-ql-view--format-query org-ql-view-query)) + "?" (url-build-query-string (delete nil params)))) + (url (url-recreate-url (url-parse-make-urlobj "org-ql-search" nil nil nil nil + filename)))) + (org-store-link-props + :type "org-ql-search" + :link url + :description (concat "org-ql-search: " org-ql-view-title))) + t)) + ;;;; Transient ;; This section uses `transient' to allow the user to easily modify diff --git a/org-ql.info b/org-ql.info index afe4e3a..e54d655 100644 --- a/org-ql.info +++ b/org-ql.info @@ -36,6 +36,7 @@ Usage * Queries:: * Functions / Macros:: * Dynamic block:: +* Links:: * Tips:: Commands @@ -155,7 +156,7 @@ File: README.info, Node: Usage, Next: Changelog, Prev: Installation, Up: Top ******* • • - • • • • • • • + • • • • • • • • Feedback on these APIs is welcome. Eventually, after being tested and polished, they will be considered stable. @@ -167,6 +168,7 @@ and polished, they will be considered stable. * Queries:: * Functions / Macros:: * Dynamic block:: +* Links:: * Tips::  @@ -713,7 +715,7 @@ File: README.info, Node: Listing / acting-on results, Prev: Agenda-like views, For convenience, arguments should be unquoted.  -File: README.info, Node: Dynamic block, Next: Tips, Prev: Functions / Macros, Up: Usage +File: README.info, Node: Dynamic block, Next: Links, Prev: Functions / Macros, Up: Usage 4.4 Dynamic block ================= @@ -753,9 +755,30 @@ with certain columns and timestamp format: #+END:  -File: README.info, Node: Tips, Prev: Dynamic block, Up: Usage +File: README.info, Node: Links, Next: Tips, Prev: Dynamic block, Up: Usage -4.5 Tips +4.5 Links +========= + +Org QL View searches may be accessed by opening ‘org-ql-search:’ links +in an Org file. + + In an Org QL View buffer, the command ‘org-store-link’ (i.e. ‘C-c +l’) stores a link to the current search, and it may be inserted into an +Org buffer with the command ‘org-insert-link’ (‘C-c C-l’). The stored +link records all of the view settings, like title, sorting, and +grouping. + + Simple links may also be written manually in either sexp or non-sexp +form, like: + + [[org-ql-search:todo:NEXT priority:A]] + [[org-ql-search:(and (todo "NEXT") (priority "A"))]] + + +File: README.info, Node: Tips, Prev: Links, Up: Usage + +4.6 Tips ======== • Org QL View buffers can be bookmarked with Emacs bookmark commands, @@ -810,6 +833,8 @@ File: README.info, Node: 05-pre, Next: 046, Up: Changelog view restoration with Burly (https://github.com/alphapapa/burly.el).) • Dynamic block support. + • Org link support (storing and opening links to Org QL View searches + in the current document). • Mascot. *Changed* @@ -1231,49 +1256,50 @@ GPLv3  Tag Table: Node: Top225 -Node: Contents1539 -Node: Screenshots1662 -Node: Installation1780 -Node: Quelpa2418 -Node: Usage2861 -Node: Commands3245 -Node: org-ql-search3718 -Node: helm-org-ql5432 -Node: org-ql-view5844 -Node: org-ql-view-sidebar6344 -Node: org-ql-view-recent-items6700 -Node: org-ql-sparse-tree7184 -Node: Queries7984 -Node: Non-sexp query syntax8892 -Node: General predicates10599 -Node: Ancestor/descendant predicates15814 -Node: Date/time predicates16942 -Node: Functions / Macros19597 -Node: Agenda-like views19852 -Node: Listing / acting-on results21257 -Node: Dynamic block25859 -Node: Tips27885 -Node: Changelog28211 -Node: 05-pre28850 -Node: 04629726 -Node: 04530129 -Node: 04430488 -Node: 04330845 -Node: 04231040 -Node: 04131199 -Node: 0431438 -Node: 03235369 -Node: 03135746 -Node: 0335943 -Node: 02338918 -Node: 02239146 -Node: 02139414 -Node: 0239613 -Node: 0143648 -Node: Notes43749 -Node: Comparison with Org Agenda searches43911 -Node: org-sidebar44783 -Node: License45062 +Node: Contents1549 +Node: Screenshots1672 +Node: Installation1790 +Node: Quelpa2428 +Node: Usage2871 +Node: Commands3269 +Node: org-ql-search3742 +Node: helm-org-ql5456 +Node: org-ql-view5868 +Node: org-ql-view-sidebar6368 +Node: org-ql-view-recent-items6724 +Node: org-ql-sparse-tree7208 +Node: Queries8008 +Node: Non-sexp query syntax8916 +Node: General predicates10623 +Node: Ancestor/descendant predicates15838 +Node: Date/time predicates16966 +Node: Functions / Macros19621 +Node: Agenda-like views19876 +Node: Listing / acting-on results21281 +Node: Dynamic block25883 +Node: Links27910 +Node: Tips28597 +Node: Changelog28915 +Node: 05-pre29554 +Node: 04630536 +Node: 04530939 +Node: 04431298 +Node: 04331655 +Node: 04231850 +Node: 04132009 +Node: 0432248 +Node: 03236179 +Node: 03136556 +Node: 0336753 +Node: 02339728 +Node: 02239956 +Node: 02140224 +Node: 0240423 +Node: 0144458 +Node: Notes44559 +Node: Comparison with Org Agenda searches44721 +Node: org-sidebar45593 +Node: License45872  End Tag Table From 9bdfcc1d3d9e91fc3c01243fd97c827d81b04c67 Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Tue, 10 Nov 2020 02:28:44 -0600 Subject: [PATCH 211/615] Add: (org-dblock-write:org-ql) Custom column headers --- README.org | 21 ++++++++------- notes.org | 36 ++++++++++++------------- org-ql-search.el | 29 +++++++++++++------- org-ql.info | 69 +++++++++++++++++++++++++----------------------- 4 files changed, 85 insertions(+), 70 deletions(-) diff --git a/README.org b/README.org index 59bbb23..a4ee176 100644 --- a/README.org +++ b/README.org @@ -404,6 +404,7 @@ Org QL provides a dynamic block that lists entries in the current document match + ~:query~: An Org QL query expression in either sexp or non-sexp form. + ~:columns~ A list of columns, including ~heading~, ~todo~, ~priority~, ~deadline~, ~scheduled~. + - Each column may also be specified as a list with the second element being a header string. For example, to abbreviate the priority column: ~(priority "P")~ + ~:sort~ One or a list of Org QL sorting methods (see ~org-ql-select~). + ~:take~ Optionally take a number of results from the front (a positive number) or the end (a negative number) of the results. + ~:ts-format~ Optional format string used to format timestamp-based columns. @@ -415,16 +416,16 @@ For example, this dynamic block shows the first seven headings that are to-do it # NOTE: These results are edited manually because the Org links don't display well in the Info manual. #+BEGIN_SRC org - ,#+BEGIN: org-ql :query "todo: priority:A,B" :columns (todo priority deadline heading) :sort (deadline priority) :take 7 :ts-format "%Y-%m-%d %H:%M" - | Todo | Priority | Deadline | Heading | - |------+----------+------------------+---------------------------------------| - | TODO | A | 2017-07-07 00:00 | Take over the world | - | TODO | B | 2017-07-10 00:00 | Renew membership in supervillain club | - | TODO | A | 2017-07-15 00:00 | Take over the universe | - | TODO | B | 2017-07-21 00:00 | Internet | - | TODO | A | 2017-08-01 00:00 | Spaceship lease | - | TODO | A | | Skype with president of Antarctica | - | TODO | B | | Take over Mars | + ,#+BEGIN: org-ql :query "todo: priority:A,B" :columns (todo (priority "P") deadline heading) :sort (deadline priority) :take 7 :ts-format "%Y-%m-%d %H:%M" + | Todo | P | Deadline | Heading | + |------+---+------------------+---------------------------------------| + | TODO | A | 2017-07-07 00:00 | Take over the world | + | TODO | B | 2017-07-10 00:00 | Renew membership in supervillain club | + | TODO | A | 2017-07-15 00:00 | Take over the universe | + | TODO | B | 2017-07-21 00:00 | Internet | + | TODO | A | 2017-08-01 00:00 | Spaceship lease | + | TODO | A | | Skype with president of Antarctica | + | TODO | B | | Take over Mars | ,#+END: #+END_SRC diff --git a/notes.org b/notes.org index 78d8c32..aa33ceb 100644 --- a/notes.org +++ b/notes.org @@ -20,30 +20,30 @@ [[org-ql-search:%2528todo%2520%2522UNDERWAY%2522%2529?sort=%2528priority%2529&title=%2522Underway%2522][org-ql-search: Underway]] -#+BEGIN: org-ql :query (todo "UNDERWAY") :columns (priority todo heading) :sort (priority date) :ts-format "%Y-%m-%d %H:%M" -| Priority | Todo | Heading | -|----------+----------+--------------------------------------------------------------------| -| A | UNDERWAY | [[Tools%20for%20saving%20queries%20and%20accessing%20them%20%5B3/4%5D][Tools for saving queries and accessing them {3/4}]] | -| A | UNDERWAY | [[Org%20link%20types%20%5B2/3%5D][Org link types {2/3}]] | -| A | UNDERWAY | [[Outline path predicate][Outline path predicate]] | -| B | UNDERWAY | [[Recursive queries][Recursive queries]] | -| B | UNDERWAY | [[Timeline view][Timeline view]] | -| B | UNDERWAY | [["Node" caching]["Node" caching]] | -| B | UNDERWAY | [[Implement view with tabulated-list-mode or magit-section][Implement view with tabulated-list-mode or magit-section]] | -| | UNDERWAY | [[Benchmarking tags searches without and with new group-tags support][Benchmarking tags searches without and with new group-tags support]] | +#+BEGIN: org-ql :query (todo "UNDERWAY") :columns ((priority "P") (todo "Keyword") heading) :sort (priority date) :ts-format "%Y-%m-%d %H:%M" +| P | Keyword | Heading | +|---+----------+--------------------------------------------------------------------| +| A | UNDERWAY | [[Tools%20for%20saving%20queries%20and%20accessing%20them%20%5B3/4%5D][Tools for saving queries and accessing them {3/4}]] | +| A | UNDERWAY | [[Org%20link%20types%20%5B2/3%5D][Org link types {2/3}]] | +| A | UNDERWAY | [[Outline path predicate][Outline path predicate]] | +| B | UNDERWAY | [[Recursive queries][Recursive queries]] | +| B | UNDERWAY | [[Timeline view][Timeline view]] | +| B | UNDERWAY | [["Node" caching]["Node" caching]] | +| B | UNDERWAY | [[Implement view with tabulated-list-mode or magit-section][Implement view with tabulated-list-mode or magit-section]] | +| | UNDERWAY | [[Benchmarking tags searches without and with new group-tags support][Benchmarking tags searches without and with new group-tags support]] | #+END: ** To-do [[org-ql-search:%2528and%2520%2528todo%2520%2522TODO%2522%2529%2520%2528priority%2520%2522A%2522%2529%2529?sort=%2528priority%2529&title=%2522To-do%2520%255B%2523A%255D%2522][org-ql-search: To-do {#A}]] -#+BEGIN: org-ql :query "todo:TODO priority:A" :columns (priority todo heading) :sort (priority date) :take 7 -| Priority | Todo | Heading | -|----------+------+--------------------------------------------------------------| -| A | TODO | [[Add ~:auto~ keyword to ~(planning)~ predicate][Add ~:auto~ keyword to ~(planning)~ predicate]] | -| A | TODO | [[Document sorters][Document sorters]] | -| A | TODO | [[Org block to insert results of queries with links to entries][Org block to insert results of queries with links to entries]] | -| A | TODO | [[Change ~(deadline)~'s ~auto~ argument to ~:auto~ and/or ~:auto t~][Change ~(deadline)~'s ~auto~ argument to ~:auto~ and/or ~:auto t~]] | +#+BEGIN: org-ql :query "todo:TODO priority:A" :columns ((priority "P") todo heading) :sort (priority date) :take 7 +| P | Todo | Heading | +|---+------+--------------------------------------------------------------| +| A | TODO | [[Add ~:auto~ keyword to ~(planning)~ predicate][Add ~:auto~ keyword to ~(planning)~ predicate]] | +| A | TODO | [[Document sorters][Document sorters]] | +| A | TODO | [[Org block to insert results of queries with links to entries][Org block to insert results of queries with links to entries]] | +| A | TODO | [[Change ~(deadline)~'s ~auto~ argument to ~:auto~ and/or ~:auto t~][Change ~(deadline)~'s ~auto~ argument to ~:auto~ and/or ~:auto t~]] | #+END: * [#A] Tasks diff --git a/org-ql-search.el b/org-ql-search.el index f9506f2..e319562 100644 --- a/org-ql-search.el +++ b/org-ql-search.el @@ -242,17 +242,24 @@ automatically from the query." "Insert content for org-ql dynamic block at point according to PARAMS. Valid parameters include: - :query An Org QL query expression in either sexp or non-sexp form. + :query An Org QL query expression in either sexp or non-sexp + form. :columns A list of columns, including `heading', `todo', - `priority', `deadline', `scheduled'. + `priority', `deadline', `scheduled'. Each column may + also be specified as a list with the second element + being a header string. For example, to abbreviate + the priority column: (priority \"P\") - :sort One or a list of Org QL sorting methods (see `org-ql-select'). + :sort One or a list of Org QL sorting methods + (see `org-ql-select'). - :take Optionally take a number of results from the front (a - positive number) or the end (a negative number) of the results. + :take Optionally take a number of results from the front (a + positive number) or the end (a negative number) of + the results. - :ts-format Optional format string used to format timestamp-based columns. + :ts-format Optional format string used to format + timestamp-based columns. For example, an org-ql dynamic block header could look like: @@ -261,7 +268,7 @@ For example, an org-ql dynamic block header could look like: (query (cl-etypecase query (string (org-ql--plain-query query)) (t query))) - (columns (or columns '(heading todo priority))) + (columns (or columns '(heading todo (priority "P")))) ;; MAYBE: Custom column functions. (format-fns ;; NOTE: Backquoting this alist prevents the lambdas from seeing @@ -290,11 +297,15 @@ For example, an org-ql dynamic block header could look like: (integer (-take take elements))))) (cl-labels ((format-element (element) (string-join (cl-loop for column in columns - for fn = (alist-get column format-fns) + for fn = (cl-etypecase column + (symbol (alist-get column format-fns)) + (list (alist-get (car column) format-fns))) collect (or (funcall fn element) "")) " | "))) ;; Insert table header. - (insert "| " (string-join (--map (capitalize (symbol-name it)) + (insert "| " (string-join (--map (pcase it + ((pred symbolp) (capitalize (symbol-name it))) + (`(,_ ,name) name)) columns) " | ") " |" "\n") diff --git a/org-ql.info b/org-ql.info index e54d655..69af6fe 100644 --- a/org-ql.info +++ b/org-ql.info @@ -728,6 +728,9 @@ supported: form. • ‘:columns’ A list of columns, including ‘heading’, ‘todo’, ‘priority’, ‘deadline’, ‘scheduled’. + • Each column may also be specified as a list with the second + element being a header string. For example, to abbreviate the + priority column: ‘(priority "P")’ • ‘:sort’ One or a list of Org QL sorting methods (see ‘org-ql-select’). • ‘:take’ Optionally take a number of results from the front (a @@ -742,16 +745,16 @@ in the following example). are to-do items with priority A or B, sorted by deadline then priority, with certain columns and timestamp format: - #+BEGIN: org-ql :query "todo: priority:A,B" :columns (todo priority deadline heading) :sort (deadline priority) :take 7 :ts-format "%Y-%m-%d %H:%M" - | Todo | Priority | Deadline | Heading | - |------+----------+------------------+---------------------------------------| - | TODO | A | 2017-07-07 00:00 | Take over the world | - | TODO | B | 2017-07-10 00:00 | Renew membership in supervillain club | - | TODO | A | 2017-07-15 00:00 | Take over the universe | - | TODO | B | 2017-07-21 00:00 | Internet | - | TODO | A | 2017-08-01 00:00 | Spaceship lease | - | TODO | A | | Skype with president of Antarctica | - | TODO | B | | Take over Mars | + #+BEGIN: org-ql :query "todo: priority:A,B" :columns (todo (priority "P") deadline heading) :sort (deadline priority) :take 7 :ts-format "%Y-%m-%d %H:%M" + | Todo | P | Deadline | Heading | + |------+---+------------------+---------------------------------------| + | TODO | A | 2017-07-07 00:00 | Take over the world | + | TODO | B | 2017-07-10 00:00 | Renew membership in supervillain club | + | TODO | A | 2017-07-15 00:00 | Take over the universe | + | TODO | B | 2017-07-21 00:00 | Internet | + | TODO | A | 2017-08-01 00:00 | Spaceship lease | + | TODO | A | | Skype with president of Antarctica | + | TODO | B | | Take over Mars | #+END:  @@ -1277,29 +1280,29 @@ Node: Functions / Macros19621 Node: Agenda-like views19876 Node: Listing / acting-on results21281 Node: Dynamic block25883 -Node: Links27910 -Node: Tips28597 -Node: Changelog28915 -Node: 05-pre29554 -Node: 04630536 -Node: 04530939 -Node: 04431298 -Node: 04331655 -Node: 04231850 -Node: 04132009 -Node: 0432248 -Node: 03236179 -Node: 03136556 -Node: 0336753 -Node: 02339728 -Node: 02239956 -Node: 02140224 -Node: 0240423 -Node: 0144458 -Node: Notes44559 -Node: Comparison with Org Agenda searches44721 -Node: org-sidebar45593 -Node: License45872 +Node: Links28046 +Node: Tips28733 +Node: Changelog29051 +Node: 05-pre29690 +Node: 04630672 +Node: 04531075 +Node: 04431434 +Node: 04331791 +Node: 04231986 +Node: 04132145 +Node: 0432384 +Node: 03236315 +Node: 03136692 +Node: 0336889 +Node: 02339864 +Node: 02240092 +Node: 02140360 +Node: 0240559 +Node: 0144594 +Node: Notes44695 +Node: Comparison with Org Agenda searches44857 +Node: org-sidebar45729 +Node: License46008  End Tag Table From 6d5ce97dc7725bf6602a29d5f64b3b1ff06c3df7 Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Tue, 10 Nov 2020 04:14:01 -0600 Subject: [PATCH 212/615] Fix: Byte-compile warnings --- org-ql-view.el | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/org-ql-view.el b/org-ql-view.el index 676b6c0..b0f47a3 100644 --- a/org-ql-view.el +++ b/org-ql-view.el @@ -398,6 +398,8 @@ update search arguments." insert)) (current-buffer))) +(defvar bookmark-make-record-function) + (cl-defun org-ql-view--display (&key (buffer org-ql-view-buffer) header string) "Display STRING in `org-ql-view' BUFFER. @@ -521,8 +523,7 @@ dates in the past, and negative for dates in the future." ;; Support for Emacs bookmarks. -(eval-when-compile - (require 'bookmark)) +(require 'bookmark) (defun org-ql-view--bookmark-make-record () "Return a bookmark record for the current Org QL View buffer." From 2e469fa5475510dbce683399c95ac70f4e79698e Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Tue, 10 Nov 2020 04:14:44 -0600 Subject: [PATCH 213/615] Tidy: (org-ql--peg-parse-string) Silence, Checkdoc! --- org-ql.el | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/org-ql.el b/org-ql.el index 4e4e5fd..d0c2fe5 100644 --- a/org-ql.el +++ b/org-ql.el @@ -1672,9 +1672,12 @@ element should be a regexp string." (defvar peg-stack nil) (defmacro org-ql--peg-parse-string (rules string &optional noerror) - "Parse STRING according to RULES. -If NOERROR is non-nil, push nil resp. t if the parse failed -resp. succeded instead of signaling an error." + "Parse STRING according to RULES." + ;; This sentence was in the docstring but Checkdoc is complaining, + ;; so moving it to a comment: "If NOERROR is non-nil, push nil + ;; resp. t if the parse failed resp. succeded instead of signaling + ;; an error." + ;; Unfortunately, this macro was moved to peg-tests.el, so we copy it here. `(with-temp-buffer (insert ,string) From 0cfe44084bf639dcf51bb65b432d55e22424f84c Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Tue, 10 Nov 2020 04:24:38 -0600 Subject: [PATCH 214/615] Tidy: (org-dblock-write:org-ql) --- org-ql-search.el | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/org-ql-search.el b/org-ql-search.el index e319562..bb02545 100644 --- a/org-ql-search.el +++ b/org-ql-search.el @@ -273,11 +273,11 @@ For example, an org-ql dynamic block header could look like: (format-fns ;; NOTE: Backquoting this alist prevents the lambdas from seeing ;; the variable `ts-format', so we use `list' and `cons'. - (list (cons 'heading (lambda (element) + (list (cons 'todo (lambda (element) + (org-element-property :todo-keyword element))) + (cons 'heading (lambda (element) (org-make-link-string (org-element-property :raw-value element) (org-element-property :raw-value element)))) - (cons 'todo (lambda (element) - (org-element-property :todo-keyword element))) (cons 'priority (lambda (element) (--when-let (org-element-property :priority element) (char-to-string it)))) @@ -302,19 +302,16 @@ For example, an org-ql dynamic block header could look like: (list (alist-get (car column) format-fns))) collect (or (funcall fn element) "")) " | "))) - ;; Insert table header. + ;; Table header (insert "| " (string-join (--map (pcase it ((pred symbolp) (capitalize (symbol-name it))) (`(,_ ,name) name)) columns) " | ") " |" "\n") - ;; Separator line. - (insert "|- \n") - ;; Elements. + (insert "|- \n") ; Separator hline (dolist (element elements) (insert "| " (format-element element) " |" "\n")) - ;; Delete final newline and align table. (delete-char -1) (org-table-align)))) From 0b65eb221e16dfeb3ae8cee5c1578872c7903860 Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Tue, 10 Nov 2020 04:32:21 -0600 Subject: [PATCH 215/615] Notes: Add TODO --- notes.org | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/notes.org b/notes.org index aa33ceb..baf6dbc 100644 --- a/notes.org +++ b/notes.org @@ -83,6 +83,7 @@ - [[#dual-matching-with-regexp-and-predicates][Dual matching with regexp and predicates]] - [[#operate-on-list-of-heading-positions][Operate on list of heading positions]] - [[#use-macros-for-date][Use macros for date]] +- [[#save-views-to-dynamic-blocks][Save views to dynamic blocks]] :END: ** TODO [#A] Add ~:auto~ keyword to ~(planning)~ predicate @@ -101,6 +102,10 @@ Note that the built-in sorting only works on Org elements, which is the default For consistency, because plain ~auto~ looks like a variable, and even though it's in a quoted form, it could be confusing. +** TODO [#A] Save views to dynamic blocks + +[2020-11-10 Tue 04:31] A command would save users from having to write out the dynamic block manually. + ** TODO [#B] Outline path in buffers-files arg :PROPERTIES: :ID: 6935361a-9e1d-48ec-8d17-876a90b90f50 From 5a0ed259bcb967067e24815c3e969f39dd02ee87 Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Tue, 10 Nov 2020 05:21:56 -0600 Subject: [PATCH 216/615] Notes: Add TODO --- notes.org | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/notes.org b/notes.org index baf6dbc..308274b 100644 --- a/notes.org +++ b/notes.org @@ -55,6 +55,8 @@ - [[#document-sorters][Document sorters]] - [[#org-block-to-insert-results-of-queries-with-links-to-entries][Org block to insert results of queries with links to entries]] - [[#change-deadlines-auto-argument-to-auto-andor-auto-t][Change (deadline)'s auto argument to :auto and/or :auto t]] +- [[#save-views-to-dynamic-blocks][Save views to dynamic blocks]] +- [[#consider-how-to-secure-searches-from-links-and-dynamic-blocks][Consider how to "secure" searches from links and dynamic blocks]] - [[#outline-path-in-buffers-files-arg][Outline path in buffers-files arg]] - [[#add-more-sorters][Add more sorters?]] - [[#default-sort][Default sort]] @@ -83,7 +85,6 @@ - [[#dual-matching-with-regexp-and-predicates][Dual matching with regexp and predicates]] - [[#operate-on-list-of-heading-positions][Operate on list of heading positions]] - [[#use-macros-for-date][Use macros for date]] -- [[#save-views-to-dynamic-blocks][Save views to dynamic blocks]] :END: ** TODO [#A] Add ~:auto~ keyword to ~(planning)~ predicate @@ -106,6 +107,17 @@ For consistency, because plain ~auto~ looks like a variable, and even though it' [2020-11-10 Tue 04:31] A command would save users from having to write out the dynamic block manually. +** TODO [#A] Consider how to "secure" searches from links and dynamic blocks + +Theoretically one could put a sexp-based query into a link that would run arbitrary code to do something evil. Like: + +[[org-ql-search:(message "AHA")]] + +That's very unlikely to be abused, but it would be good to protect against it. Two possibilities: + +1. For sexp-based queries in links and dynamic blocks, prompt for confirmation before running. +2. Use a special variable to control whether lambdas and arbitrary sexps are allowed in queries, and disable it for links and dynamic blocks. (That might be difficult to do, since they could be buried in an ~and~ or something. A whitelist approach might be needed.) + ** TODO [#B] Outline path in buffers-files arg :PROPERTIES: :ID: 6935361a-9e1d-48ec-8d17-876a90b90f50 From 1b43a88d32ab552e3922bda89a454afdc557d8d0 Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Tue, 10 Nov 2020 17:45:27 -0600 Subject: [PATCH 217/615] Fix: (org-ql-view--link-store) Check buffers-files only when needed See #147. Thanks to @tpeacock19 for reporting. --- org-ql-view.el | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/org-ql-view.el b/org-ql-view.el index b0f47a3..fb3c865 100644 --- a/org-ql-view.el +++ b/org-ql-view.el @@ -608,10 +608,10 @@ protocol. See, e.g. `org-ql-view--link-store'." When opened, the link searches the buffer it's opened from." (require 'url-parse) (require 'url-util) - (unless (or (bufferp org-ql-view-buffers-files) - (= 1 (length org-ql-view-buffers-files))) - (user-error "Only views searching a single buffer may be linked")) (when org-ql-view-query + (unless (or (bufferp org-ql-view-buffers-files) + (= 1 (length org-ql-view-buffers-files))) + (user-error "Only views searching a single buffer may be linked")) (let* ((params (list (when org-ql-view-super-groups (list "super-groups" (prin1-to-string org-ql-view-super-groups))) (when org-ql-view-sort From 5d563809e22aed7d8d50995b034557035a95ffd7 Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Tue, 10 Nov 2020 18:24:49 -0600 Subject: [PATCH 218/615] Change: (-view--link-open, -view--link-store) Links to views of files Fixes #147. Thanks to @tpeacock19 for reporting. --- org-ql-view.el | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/org-ql-view.el b/org-ql-view.el index fb3c865..525642d 100644 --- a/org-ql-view.el +++ b/org-ql-view.el @@ -597,8 +597,10 @@ protocol. See, e.g. `org-ql-view--link-store'." (groups (--when-let (alist-get "super-groups" params nil nil #'string=) (read it))) (title (--when-let (alist-get "title" params nil nil #'string=) - (read it)))) - (org-ql-search (current-buffer) query + (read it))) + (buffers-files (--when-let (alist-get "buffers-files" params nil nil #'string=) + (read it)))) + (org-ql-search buffers-files query :sort sort :super-groups groups :title title))) @@ -610,9 +612,12 @@ When opened, the link searches the buffer it's opened from." (require 'url-util) (when org-ql-view-query (unless (or (bufferp org-ql-view-buffers-files) - (= 1 (length org-ql-view-buffers-files))) - (user-error "Only views searching a single buffer may be linked")) - (let* ((params (list (when org-ql-view-super-groups + (and (listp org-ql-view-buffers-files) + (cl-every #'file-exists-p org-ql-view-buffers-files))) + (user-error "Can only store links to views of either a single buffer or a list of files")) + (let* ((params (list (when org-ql-view-buffers-files + (list "buffers-files" (prin1-to-string org-ql-view-buffers-files))) + (when org-ql-view-super-groups (list "super-groups" (prin1-to-string org-ql-view-super-groups))) (when org-ql-view-sort (list "sort" (prin1-to-string org-ql-view-sort))) From e3c7aaf98d9226410dd1d45456388b878e69e4d1 Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Tue, 10 Nov 2020 18:37:04 -0600 Subject: [PATCH 219/615] Docs: (org-ql-search) Add Info links to docstring --- org-ql-search.el | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/org-ql-search.el b/org-ql-search.el index bb02545..c771a08 100644 --- a/org-ql-search.el +++ b/org-ql-search.el @@ -121,17 +121,18 @@ Interactively, may also be: - An expression which evaluates to a list of files/buffers - A space-separated list of file or buffer names -QUERY: An `org-ql' query in either sexp or \"plain string\" -form (see documentation). +QUERY: An `org-ql' query in either sexp or non-sexp form (see +Info node `(org-ql)Queries'). SUPER-GROUPS: An `org-super-agenda' group set. See variable -`org-super-agenda-groups'. +`org-super-agenda-groups' and Info node `(org-super-agenda)Group +selectors'. NARROW: When non-nil, don't widen buffers before searching. Interactively, with prefix, leave narrowed. SORT: One or a list of `org-ql' sorting functions, like `date' or -`priority'. +`priority' (see Info node `(org-ql)Listing / acting-on results'). TITLE: An optional string displayed in the header. From 364dfabca45cc8b5778b602a67c5b6528ef19af6 Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Tue, 10 Nov 2020 19:17:14 -0600 Subject: [PATCH 220/615] Add: (org-ql-view-ask-unsafe-links) --- org-ql-view.el | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/org-ql-view.el b/org-ql-view.el index 525642d..8eb914a 100644 --- a/org-ql-view.el +++ b/org-ql-view.el @@ -98,6 +98,23 @@ Based on `org-agenda-mode-map'.") "Options for `org-ql-view'." :group 'org-ql) +(defcustom org-ql-view-ask-unsafe-links t + "Ask before opening a link that could run arbitrary code. +Org QL queries in sexp form can contain arbitrary expressions. +When opening an \"org-ql-search:\" link that contains a query in +sexp form, and this option is non-nil, the user will be prompted +for confirmation before opening the link. + +This variable may be set file-locally to disable this warning in +files that the user assumes are safe (e.g. of known provenance). +Users who are entirely unconcerned about this issue may disable +the option globally (at their own risk, however minimal it +probably is). + +See Info node `(org-ql)Queries'." + :type 'boolean + :risky t) + (defcustom org-ql-view-display-buffer-action nil "Action argument passed through `pop-to-buffer' to `display-buffer', which see." :type '(cons function alist)) @@ -600,6 +617,18 @@ protocol. See, e.g. `org-ql-view--link-store'." (read it))) (buffers-files (--when-let (alist-get "buffers-files" params nil nil #'string=) (read it)))) + (when (and org-ql-view-ask-unsafe-links + (or (string-match (rx bol (0+ space) "(") query) + (listp query))) + ;; Query is in sexp form: ask for confirmation, because it could contain arbitrary code. + (let ((query-string (propertize (cl-etypecase query + (list (prin1-to-string query)) + (string query)) + ;; FIXME: The face doesn't seem to be displayed. + 'face 'font-lock-warning-face))) + (unless (yes-or-no-p (concat "Query is in sexp form and could contain arbitrary code: " + query-string " Execute it? ")) + (user-error "Query aborted by user")))) (org-ql-search buffers-files query :sort sort :super-groups groups From 93f60ad4783d115728edb3825a53929f59b4b5bc Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Tue, 10 Nov 2020 19:30:46 -0600 Subject: [PATCH 221/615] Fix: (org-ql-view--link-store) Handle single filenames Fixes #147. Thanks to @tpeacock19 for reporting. --- org-ql-view.el | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/org-ql-view.el b/org-ql-view.el index 8eb914a..e83cbc6 100644 --- a/org-ql-view.el +++ b/org-ql-view.el @@ -641,9 +641,10 @@ When opened, the link searches the buffer it's opened from." (require 'url-util) (when org-ql-view-query (unless (or (bufferp org-ql-view-buffers-files) + (file-exists-p org-ql-view-buffers-files) (and (listp org-ql-view-buffers-files) (cl-every #'file-exists-p org-ql-view-buffers-files))) - (user-error "Can only store links to views of either a single buffer or a list of files")) + (user-error "Can only store links to views of either a single buffer/file or a list of files")) (let* ((params (list (when org-ql-view-buffers-files (list "buffers-files" (prin1-to-string org-ql-view-buffers-files))) (when org-ql-view-super-groups From 60b457eea4b5d72a4b0b8e7df7c617c1b21ae99f Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Tue, 10 Nov 2020 19:43:48 -0600 Subject: [PATCH 222/615] Fix: (org-ql-view.el) Compiler warnings --- org-ql-view.el | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/org-ql-view.el b/org-ql-view.el index e83cbc6..641221e 100644 --- a/org-ql-view.el +++ b/org-ql-view.el @@ -597,6 +597,10 @@ dates in the past, and negative for dates in the future." ;; We require the URL libraries in the functions to hopefully avoid ;; loading them until they're needed. +(eval-when-compile + (require 'url-parse) + (require 'url-util)) + (defun org-ql-view--link-open (path) "Open Org QL query for current buffer at PATH. PATH should be the part of an \"org-ql-search:\" URL after the From 23e73addcfe774e6979ce684e4fea101d25bed8f Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Tue, 10 Nov 2020 20:34:39 -0600 Subject: [PATCH 223/615] Fix: (-view--link-store, -view--link-open) Types, current-buffer This is regrettably complicated. Maybe someday Elsa will help... Fixes #147 (again). Thanks to @tpeacock19 for reporting. --- org-ql-view.el | 21 ++++++++++++++------- 1 file changed, 14 insertions(+), 7 deletions(-) diff --git a/org-ql-view.el b/org-ql-view.el index 641221e..8875499 100644 --- a/org-ql-view.el +++ b/org-ql-view.el @@ -619,8 +619,9 @@ protocol. See, e.g. `org-ql-view--link-store'." (read it))) (title (--when-let (alist-get "title" params nil nil #'string=) (read it))) - (buffers-files (--when-let (alist-get "buffers-files" params nil nil #'string=) - (read it)))) + (buffers-files (--if-let (alist-get "buffers-files" params nil nil #'string=) + (read it) + (current-buffer)))) (when (and org-ql-view-ask-unsafe-links (or (string-match (rx bol (0+ space) "(") query) (listp query))) @@ -644,12 +645,18 @@ When opened, the link searches the buffer it's opened from." (require 'url-parse) (require 'url-util) (when org-ql-view-query - (unless (or (bufferp org-ql-view-buffers-files) - (file-exists-p org-ql-view-buffers-files) - (and (listp org-ql-view-buffers-files) - (cl-every #'file-exists-p org-ql-view-buffers-files))) + (unless (cl-etypecase org-ql-view-buffers-files + ;; I really wish `anaphora' were in ELPA, because `aetypecase' would be + ;; nice here, and I'd prefer to avoid adding more MELPA-only dependencies. + (buffer t) + (string (file-exists-p org-ql-view-buffers-files)) + (list (and (cl-every #'stringp org-ql-view-buffers-files) + (cl-every #'file-exists-p org-ql-view-buffers-files)))) (user-error "Can only store links to views of either a single buffer/file or a list of files")) - (let* ((params (list (when org-ql-view-buffers-files + (let* ((params (list (when (and org-ql-view-buffers-files + ;; If it's one buffer (i.e. the view searches the current + ;; buffer), don't serialize it, because buffers are unreadable. + (not (bufferp org-ql-view-buffers-files))) (list "buffers-files" (prin1-to-string org-ql-view-buffers-files))) (when org-ql-view-super-groups (list "super-groups" (prin1-to-string org-ql-view-super-groups))) From 78fd672cc7c474bc99b40bdee37ca6b8c75546d3 Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Wed, 11 Nov 2020 00:21:19 -0600 Subject: [PATCH 224/615] Fix: (org-ql-view--format-element) Get tags from marker buffer Fixes bug introduced in 359a280d11d54c940125f11d7be6a93f8c0c1095. Fixes #150. Thanks to @tpeacock19 for reporting. --- org-ql-view.el | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/org-ql-view.el b/org-ql-view.el index 8875499..cd6ccbb 100644 --- a/org-ql-view.el +++ b/org-ql-view.el @@ -837,10 +837,12 @@ return an empty string." ;; MAYBE: Use our own variable instead of `org-use-tag-inheritance'. (if-let ((marker (or (org-element-property :org-hd-marker element) (org-element-property :org-marker element)))) - (cl-loop for type in (org-ql--tags-at marker) - unless (or (eq 'org-ql-nil type) - (not type)) - append type) + (with-current-buffer (marker-buffer marker) + (org-with-wide-buffer + (cl-loop for type in (org-ql--tags-at marker) + unless (or (eq 'org-ql-nil type) + (not type)) + append type))) ;; No marker found ;; TODO: Use `display-warning' with `org-ql' as the type. (warn "No marker found for item: %s" title) From 73da48d9da68079ca9cbcfcaa8ace23a51f8d5ee Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Wed, 11 Nov 2020 00:21:56 -0600 Subject: [PATCH 225/615] Comment: Add FIXMEs --- org-ql.el | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/org-ql.el b/org-ql.el index d0c2fe5..c638f4d 100644 --- a/org-ql.el +++ b/org-ql.el @@ -393,6 +393,7 @@ If NARROW is non-nil, buffer will not be widened." ;;;;; Helpers (defun org-ql--tags-at (position) + ;; FIXME: This function actually assumes that point is already at POSITION. "Return tags for POSITION in current buffer. Returns cons (INHERITED-TAGS . LOCAL-TAGS)." ;; I'd like to use `-if-let*', but it doesn't leave non-nil variables @@ -404,6 +405,9 @@ Returns cons (INHERITED-TAGS . LOCAL-TAGS)." (buffer-unmodified-p (eq (buffer-modified-tick) modified-tick)) (cached-result (gethash position tags-cache))) ;; Found in cache: return them. + ;; FIXME: Isn't `cached-result' a list of (INHERITED . LOCAL)? It + ;; will never be just `org-ql-nil', but the CAR and CDR may be, so + ;; they need to each be checked and replaced with nil if necessary. (pcase cached-result ('org-ql-nil nil) (_ cached-result)) From bd9162381f17539b7772d0506292fb6f1aebf335 Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Wed, 11 Nov 2020 01:45:55 -0600 Subject: [PATCH 226/615] Notes: Update --- notes.org | 114 ++++++++++++++++++++++++++++++++++++++++++++++++++---- 1 file changed, 106 insertions(+), 8 deletions(-) diff --git a/notes.org b/notes.org index 308274b..d7ff1d5 100644 --- a/notes.org +++ b/notes.org @@ -35,15 +35,18 @@ ** To-do -[[org-ql-search:%2528and%2520%2528todo%2520%2522TODO%2522%2529%2520%2528priority%2520%2522A%2522%2529%2529?sort=%2528priority%2529&title=%2522To-do%2520%255B%2523A%255D%2522][org-ql-search: To-do {#A}]] +[[org-ql-search:todo:?super-groups=%2528%2528%253Aauto-outline-path%2529%2529&sort=%2528priority%2529][org-ql-search: Tasks]] -#+BEGIN: org-ql :query "todo:TODO priority:A" :columns ((priority "P") todo heading) :sort (priority date) :take 7 -| P | Todo | Heading | -|---+------+--------------------------------------------------------------| -| A | TODO | [[Add ~:auto~ keyword to ~(planning)~ predicate][Add ~:auto~ keyword to ~(planning)~ predicate]] | -| A | TODO | [[Document sorters][Document sorters]] | -| A | TODO | [[Org block to insert results of queries with links to entries][Org block to insert results of queries with links to entries]] | -| A | TODO | [[Change ~(deadline)~'s ~auto~ argument to ~:auto~ and/or ~:auto t~][Change ~(deadline)~'s ~auto~ argument to ~:auto~ and/or ~:auto t~]] | +#+BEGIN: org-ql :query "todo: priority:A" :columns ((priority "P") todo heading) :sort (priority date) :take 7 +| P | Todo | Heading | +|---+----------+-----------------------------------------------------------------| +| A | TODO | [[Add ~:auto~ keyword to ~(planning)~ predicate][Add ~:auto~ keyword to ~(planning)~ predicate]] | +| A | TODO | [[Document sorters][Document sorters]] | +| A | TODO | [[Org block to insert results of queries with links to entries][Org block to insert results of queries with links to entries]] | +| A | TODO | [[Change ~(deadline)~'s ~auto~ argument to ~:auto~ and/or ~:auto t~][Change ~(deadline)~'s ~auto~ argument to ~:auto~ and/or ~:auto t~]] | +| A | TODO | [[Save views to dynamic blocks][Save views to dynamic blocks]] | +| A | TODO | [[Consider how to "secure" searches from links and dynamic blocks][Consider how to "secure" searches from links and dynamic blocks]] | +| A | UNDERWAY | [[Tools%20for%20saving%20queries%20and%20accessing%20them%20%5B3/4%5D][Tools for saving queries and accessing them {3/4}]] | #+END: * [#A] Tasks @@ -67,6 +70,7 @@ - [[#org-agenda-skip-function][org-agenda-skip-function]] - [[#test-caching][Test caching]] - [[#update-commentary][Update commentary]] +- [[#convert-simple-sexp-queries-to-non-sexp][Convert simple sexp queries to non-sexp]] - [[#tools-for-saving-queries-and-accessing-them-34][Tools for saving queries and accessing them {3/4}]] - [[#outline-path-predicate][Outline path predicate]] - [[#recursive-queries][Recursive queries]] @@ -223,6 +227,100 @@ See notes on 1dce9467f25428b5289d3665cd840820969ed65a. It would be good to test ** TODO [#C] Update commentary +** UNDERWAY [#A] Convert simple sexp queries to non-sexp + +[2020-11-11 Wed 00:28] This will be very helpful for storing links. Surely simple ones won't be too hard... + +#+BEGIN_SRC elisp + (defun org-ql--query-sexp-to-plain (query) + "Return a plain query string for sexp QUERY. + If QUERY can't be converted to a plain one, return nil." + ;; This started out pretty simple...but at least it's not just one long function, right? + (cl-labels ((complex-p (query) + (or (contains-p 'or query))) + (contains-p (symbol list) + (cl-loop for element in list + thereis (or (eq symbol element) + (and (listp element) + (contains-p symbol element))))) + (format-args + (args) (let (non-paired paired next-keyword) + (cl-loop for arg in args + do (cond (next-keyword (push (cons next-keyword arg) paired) + (setf next-keyword nil)) + ((keywordp arg) (setf next-keyword (substring (symbol-name arg) 1))) + (t (push arg non-paired)))) + (string-join (append (mapcar #'format-atom non-paired) + (nreverse (--map (format "%s=%s" (car it) (cdr it)) + paired))) + ","))) + (format-atom + (atom) (cl-typecase atom + (string (if (string-match (rx space) atom) + (format "%S" atom) + (format "%s" atom))) + (t (format "%s" atom)))) + (format-form + (form) (pcase form + (`(not . (,rest)) (concat "!" (format-form rest))) + (`(priority . ,_) (format-priority form)) + ;; FIXME: Convert (src) queries to non-sexp form...someday... + (`(src . ,_) (user-error "Converting (src ...) queries to non-sexp form is not implemented")) + (_ (pcase-let* ((`(,pred . ,args) form) + (args-string (pcase args + ('() "") + ((guard (= 1 (length args))) (format "%s" (car args))) + (_ (format-args args))))) + (format "%s:%s" pred args-string))))) + (format-and + (form) (pcase-let* ((`(and . ,rest) form)) + (string-join (mapcar #'format-form rest) " "))) + (format-priority + (form) (pcase-let* ((`(priority . ,rest) form) + (args (pcase rest + (`(,(and comparator (or < <= > >= =)) ,letter) + (priority-letters comparator letter)) + (_ rest)))) + (concat "priority:" (string-join args ",")))) + (priority-letters + (comparator letter) (let* ((char (string-to-char (upcase (symbol-name letter)))) + (numeric-priorities '(?A ?B ?C)) + ;; NOTE: The comparator inversion is intentional. + (others (pcase comparator + ('< (--select (> it char) numeric-priorities)) + ('<= (--select (>= it char) numeric-priorities)) + ('> (--select (< it char) numeric-priorities)) + ('>= (--select (<= it char) numeric-priorities)) + ('= (--select (= it char) numeric-priorities))))) + (mapcar #'char-to-string others)))) + (unless (complex-p query) + (pcase query + (`(and . ,_) (format-and query)) + (_ (format-form query)))))) + + (--map (cons it (org-ql--query-sexp-to-plain it)) + '((priority >= B) + (priority > B) + (priority < B) + (priority < A) + (priority = A) + (todo) + (todo "TODO") + (todo "TODO" "NEXT") + (ts :from -1 :to 1) + (ts :on today) + (ts-active :from "2017-01-01" :to "2018-01-01") + (heading "quoted phrase" "word") + (and (tags "book" "books") (priority "A")) + (and (tags "space") (not (regexp "moon"))) + (src :lang "elisp" :regexps ("defun"))) + + + ) +#+END_SRC + +[2020-11-11 Wed 01:45] Seems to work well. Now to integrate that into link-saving... + ** UNDERWAY [#A] Tools for saving queries and accessing them [3/4] + Added example to =examples.org=. From 168041f0df7c425c9833c6f2c363d1f0b38daef5 Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Wed, 11 Nov 2020 04:22:21 -0600 Subject: [PATCH 227/615] Comment: Add FIXME --- org-ql-view.el | 3 +++ 1 file changed, 3 insertions(+) diff --git a/org-ql-view.el b/org-ql-view.el index cd6ccbb..823d426 100644 --- a/org-ql-view.el +++ b/org-ql-view.el @@ -566,6 +566,9 @@ dates in the past, and negative for dates in the future." ;;;###autoload (defun org-ql-view--bookmark-handler (bookmark) "Show Org QL View BOOKMARK in current buffer." + ;; FIXME: Getting "(void-variable super-groups)" errors when this function is byte-compiled, + ;; but not when it's interpreted! Using (:super-groups super-groups) instead of just + ;; :super-groups fixes it, but I have no idea why, and the macroexpansion is the same. (pcase-let* (((map org-ql-view-plist) (bookmark-get-bookmark-record bookmark)) ((map :buffers-files :query :super-groups :narrow :sort :title) org-ql-view-plist) From 8102d7a8ee18fb593076d01abd3323d024cb5a7d Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Wed, 11 Nov 2020 18:11:24 -0600 Subject: [PATCH 228/615] Fix: (org-ql-view--format-element) Actually, really fix it this time. Fixes #150. Thanks to @tpeacock19 for reporting. --- org-ql-view.el | 1 + 1 file changed, 1 insertion(+) diff --git a/org-ql-view.el b/org-ql-view.el index 823d426..087ff77 100644 --- a/org-ql-view.el +++ b/org-ql-view.el @@ -842,6 +842,7 @@ return an empty string." (org-element-property :org-marker element)))) (with-current-buffer (marker-buffer marker) (org-with-wide-buffer + (goto-char marker) (cl-loop for type in (org-ql--tags-at marker) unless (or (eq 'org-ql-nil type) (not type)) From bfd4d462a0d755721c7cd5bd6f1516b60387eeb0 Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Tue, 10 Nov 2020 21:17:27 -0600 Subject: [PATCH 229/615] Add/Change/Fix: Storing links to containing buffer or files This feels too complicated, but I don't see a way around it, short of redesigning all of the argument expansion/contraction, which might end up in the same place, anyway. See #147. --- org-ql-view.el | 93 +++++++++++++++++++++++++++++--------------------- 1 file changed, 54 insertions(+), 39 deletions(-) diff --git a/org-ql-view.el b/org-ql-view.el index 087ff77..d569741 100644 --- a/org-ql-view.el +++ b/org-ql-view.el @@ -623,7 +623,7 @@ protocol. See, e.g. `org-ql-view--link-store'." (title (--when-let (alist-get "title" params nil nil #'string=) (read it))) (buffers-files (--if-let (alist-get "buffers-files" params nil nil #'string=) - (read it) + (org-ql-view--expand-buffers-files (read it)) (current-buffer)))) (when (and org-ql-view-ask-unsafe-links (or (string-match (rx bol (0+ space) "(") query) @@ -642,39 +642,43 @@ protocol. See, e.g. `org-ql-view--link-store'." :super-groups groups :title title))) +(defvar org-ql-view--link-store-counter 0 + "Workaround for an idiosyncrasy of `org-store-link' that calls link-storing functions twice.") + (defun org-ql-view--link-store () "Store a link to the current Org QL view. When opened, the link searches the buffer it's opened from." (require 'url-parse) (require 'url-util) (when org-ql-view-query - (unless (cl-etypecase org-ql-view-buffers-files - ;; I really wish `anaphora' were in ELPA, because `aetypecase' would be - ;; nice here, and I'd prefer to avoid adding more MELPA-only dependencies. - (buffer t) - (string (file-exists-p org-ql-view-buffers-files)) - (list (and (cl-every #'stringp org-ql-view-buffers-files) - (cl-every #'file-exists-p org-ql-view-buffers-files)))) - (user-error "Can only store links to views of either a single buffer/file or a list of files")) - (let* ((params (list (when (and org-ql-view-buffers-files - ;; If it's one buffer (i.e. the view searches the current - ;; buffer), don't serialize it, because buffers are unreadable. - (not (bufferp org-ql-view-buffers-files))) - (list "buffers-files" (prin1-to-string org-ql-view-buffers-files))) - (when org-ql-view-super-groups - (list "super-groups" (prin1-to-string org-ql-view-super-groups))) - (when org-ql-view-sort - (list "sort" (prin1-to-string org-ql-view-sort))) - (when org-ql-view-title - (list "title" (prin1-to-string org-ql-view-title))))) - (filename (concat (url-hexify-string (org-ql-view--format-query org-ql-view-query)) - "?" (url-build-query-string (delete nil params)))) - (url (url-recreate-url (url-parse-make-urlobj "org-ql-search" nil nil nil nil - filename)))) - (org-store-link-props - :type "org-ql-search" - :link url - :description (concat "org-ql-search: " org-ql-view-title))) + (cl-incf org-ql-view--link-store-counter) + ;; Only Org QL View buffers should have `org-ql-view-query' set. + (cl-flet ((prompt-for (buffers-files) + ;; HACK: Use counter to avoid prompting the first of the + ;; two times that `org-store-link' calls this function. + (when (cl-evenp org-ql-view--link-store-counter) + (pcase-exhaustive + (completing-read (format "Link to search file containing inserted link or %s? " buffers-files) + (list "containing file" buffers-files) nil t) + ("containing file" nil) + (buffers-files (prin1-to-string buffers-files)))))) + (let* ((buffers-files (prompt-for (org-ql-view--contract-buffers-files org-ql-view-buffers-files))) + (params (list (when buffers-files + (list "buffers-files" buffers-files)) + (when org-ql-view-super-groups + (list "super-groups" (prin1-to-string org-ql-view-super-groups))) + (when org-ql-view-sort + (list "sort" (prin1-to-string org-ql-view-sort))) + (when org-ql-view-title + (list "title" (prin1-to-string org-ql-view-title))))) + (filename (concat (url-hexify-string (org-ql-view--format-query org-ql-view-query)) + "?" (url-build-query-string (delete nil params)))) + (url (url-recreate-url (url-parse-make-urlobj "org-ql-search" nil nil nil nil + filename)))) + (org-store-link-props + :type "org-ql-search" + :link url + :description (concat "org-ql-search: " org-ql-view-title)))) t)) ;;;; Transient @@ -992,6 +996,9 @@ property." ;;;;; Completion +;; These functions are somewhat regrettable because of the need to keep them +;; in sync, but it seems worth it to provide users with the flexibility. + (defun org-ql-view--contract-buffers-files (buffers-files) "Return BUFFERS-FILES in its \"contracted\" form. The contracted form is \"org-agenda-files\" if BUFFERS-FILES @@ -1020,6 +1027,8 @@ current buffer. Otherwise BUFFERS-FILES is returned unchanged." "buffer") ((or 'org-agenda-files '(function org-agenda-files)) "org-agenda-files") + ((and (pred bufferp) (guard (file-exists-p (buffer-file-name buffers-files)))) + (buffer-file-name buffers-files)) (_ (let ((print-length nil)) (prin1-to-string buffers-files)))))) @@ -1034,17 +1043,23 @@ current buffer. Otherwise BUFFERS-FILES is returned unchanged." ;; Buffers can't be input by name, so if the default value is a buffer, just use it. ;; TODO: Find a way to fix this. org-ql-view-buffers-files - (pcase-exhaustive - (completing-read "Buffers/Files: " - (list 'buffer 'org-agenda-files 'org-directory 'all) - nil nil (initial-input)) - ((or "" "buffer") (current-buffer)) - ("org-agenda-files" (org-agenda-files)) - ("all" (--select (equal (buffer-local-value 'major-mode it) 'org-mode) - (buffer-list))) - ("org-directory" (org-ql-search-directories-files)) - ((and form (guard (rx bos "("))) (-flatten (eval (read form)))) - (else (s-split (rx (1+ space)) else)))))) + (org-ql-view--expand-buffers-files + (completing-read "Buffers/Files: " + (list 'buffer 'org-agenda-files 'org-directory 'all) + nil nil (initial-input)))))) + +(defun org-ql-view--expand-buffers-files (buffers-files) + "Return BUFFERS-FILES expanded to a list of files or buffers. +The counterpart to `org-ql-view--contract-buffers-files'." + (pcase-exhaustive buffers-files + ((pred bufferp) buffers-files) + ((or "" "buffer") (current-buffer)) + ("org-agenda-files" (org-agenda-files)) + ("all" (--select (equal (buffer-local-value 'major-mode it) 'org-mode) + (buffer-list))) + ("org-directory" (org-ql-search-directories-files)) + ((and form (guard (rx bos "("))) (-flatten (eval (read form)))) + (else (s-split (rx (1+ space)) else)))) (defun org-ql-view--complete-super-groups () "Return value for `org-ql-view-super-groups' using completion." From 07d21e57c01d66dce085bf62c7d5ced44916168d Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Tue, 10 Nov 2020 21:21:26 -0600 Subject: [PATCH 230/615] Tidy --- org-ql-view.el | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/org-ql-view.el b/org-ql-view.el index d569741..f6c9917 100644 --- a/org-ql-view.el +++ b/org-ql-view.el @@ -651,8 +651,8 @@ When opened, the link searches the buffer it's opened from." (require 'url-parse) (require 'url-util) (when org-ql-view-query - (cl-incf org-ql-view--link-store-counter) ;; Only Org QL View buffers should have `org-ql-view-query' set. + (cl-incf org-ql-view--link-store-counter) (cl-flet ((prompt-for (buffers-files) ;; HACK: Use counter to avoid prompting the first of the ;; two times that `org-store-link' calls this function. From e15cc3eb764a3d60f475789432379369a1295850 Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Wed, 11 Nov 2020 02:30:37 -0600 Subject: [PATCH 231/615] Add: (--query-sexp-to-string) --- org-ql.el | 71 ++++ tests/test-org-ql.el | 947 +++++++++++++++++++++++-------------------- 2 files changed, 568 insertions(+), 450 deletions(-) diff --git a/org-ql.el b/org-ql.el index c638f4d..f6639c4 100644 --- a/org-ql.el +++ b/org-ql.el @@ -1668,6 +1668,8 @@ element should be a regexp string." ;; This section implements parsing of "plain," non-Lisp queries using the `peg' ;; library. NOTE: This needs to appear after the predicates are defined. +;; TODO: Rename "plain" to "string", or something like that. + (require 'peg) ;; Fix compiler warnings probably caused by `peg' not using lexical-binding. @@ -1749,6 +1751,75 @@ Multiple predicates are combined with BOOLEAN." (org-ql--def-plain-query-fn)) +;; And now we go the other direction... + +(defun org-ql--query-sexp-to-string (query) + "Return a string query for sexp QUERY. +If QUERY can't be converted to a string, return nil." + ;; This started out pretty simple...but at least it's not just one long function, right? + (cl-labels ((complex-p (query) + (or (contains-p 'or query))) + (contains-p (symbol list) + (cl-loop for element in list + thereis (or (eq symbol element) + (and (listp element) + (contains-p symbol element))))) + (format-args + (args) (let (non-paired paired next-keyword) + (cl-loop for arg in args + do (cond (next-keyword (push (cons next-keyword arg) paired) + (setf next-keyword nil)) + ((keywordp arg) (setf next-keyword (substring (symbol-name arg) 1))) + (t (push arg non-paired)))) + (string-join (append (mapcar #'format-atom non-paired) + (nreverse (--map (format "%s=%s" (car it) (cdr it)) + paired))) + ","))) + (format-atom + (atom) (cl-typecase atom + (string (if (string-match (rx space) atom) + (format "%S" atom) + (format "%s" atom))) + (t (format "%s" atom)))) + (format-form + (form) (pcase form + (`(not . (,rest)) (concat "!" (format-form rest))) + (`(priority . ,_) (format-priority form)) + ;; FIXME: Convert (src) queries to non-sexp form...someday... + (`(src . ,_) (user-error "Converting (src ...) queries to non-sexp form is not implemented")) + (_ (pcase-let* ((`(,pred . ,args) form) + (args-string (pcase args + ('() "") + ((guard (= 1 (length args))) (format "%s" (car args))) + (_ (format-args args))))) + (format "%s:%s" pred args-string))))) + (format-and + (form) (pcase-let* ((`(and . ,rest) form)) + (string-join (mapcar #'format-form rest) " "))) + (format-priority + (form) (pcase-let* ((`(priority . ,rest) form) + (args (pcase rest + (`(,(and comparator (or '< '<= '> '>= '=)) ,letter) + (priority-letters comparator letter)) + (_ rest)))) + (concat "priority:" (string-join args ",")))) + (priority-letters + (comparator letter) (let* ((char (string-to-char (upcase (symbol-name letter)))) + (numeric-priorities '(?A ?B ?C)) + ;; NOTE: The comparator inversion is intentional. + (others (pcase comparator + ('< (--select (> it char) numeric-priorities)) + ('<= (--select (>= it char) numeric-priorities)) + ('> (--select (< it char) numeric-priorities)) + ('>= (--select (<= it char) numeric-priorities)) + ('= (--select (= it char) numeric-priorities))))) + (mapcar #'char-to-string others)))) + ;; FIXME: Error out for ts structs passed to `ts' predicate (very unlikely to be linked to). + (unless (complex-p query) + (pcase query + (`(and . ,_) (format-and query)) + (_ (format-form query)))))) + ;;;; Footer (provide 'org-ql) diff --git a/tests/test-org-ql.el b/tests/test-org-ql.el index c28d728..93a042d 100644 --- a/tests/test-org-ql.el +++ b/tests/test-org-ql.el @@ -368,345 +368,392 @@ RESULTS should be a list of strings as returned by (expect (org-ql--plain-query "regexp:\"quoted phrase\" todo:SOMEDAY") :to-equal '(and (regexp "quoted phrase") (todo "SOMEDAY"))))) + (describe "Convert sexp queries to non-sexp queries" + + ;; FIXME: Test (src) after converting it is implemented. + ;; (src :lang "elisp" :regexps ("defun")) + + ;; MAYBE: Other predicates? Or should these cover the other + ;; cases, because the others use the same format? + + (it "(heading)" + (expect (org-ql--query-sexp-to-string '(heading "quoted phrase" "word")) + :to-equal "heading:word,\"quoted phrase\"")) + (it "(priority)" + (expect (org-ql--query-sexp-to-string '(priority >= B)) + :to-equal "priority:A,B") + (expect (org-ql--query-sexp-to-string '(priority > B)) + :to-equal "priority:A") + (expect (org-ql--query-sexp-to-string '(priority < B)) + :to-equal "priority:C") + (expect (org-ql--query-sexp-to-string '(priority < A)) + :to-equal "priority:B,C") + (expect (org-ql--query-sexp-to-string '(priority <= B)) + :to-equal "priority:B,C") + (expect (org-ql--query-sexp-to-string '(priority = A)) + :to-equal "priority:A")) + (it "(todo)" + (expect (org-ql--query-sexp-to-string '(todo)) + :to-equal "todo:") + (expect (org-ql--query-sexp-to-string '(todo "TODO")) + :to-equal "todo:TODO") + (expect (org-ql--query-sexp-to-string '(todo "TODO" "NEXT")) + :to-equal "todo:NEXT,TODO")) + (it "(ts)" + (expect (org-ql--query-sexp-to-string '(ts :from -1 :to 1)) + :to-equal "ts:from=-1,to=1") + (expect (org-ql--query-sexp-to-string '(ts :on today)) + :to-equal "ts:on=today") + (expect (org-ql--query-sexp-to-string '(ts-active :from "2017-01-01" :to "2018-01-01")) + :to-equal "ts-active:from=2017-01-01,to=2018-01-01")) + (it "(and ...)" + (expect (org-ql--query-sexp-to-string '(and (tags "book" "books") (priority "A"))) + :to-equal "tags:books,book priority:A") + (expect (org-ql--query-sexp-to-string '(and (tags "space") (not (regexp "moon")))) + :to-equal "tags:space !regexp:moon")) + (it "(or ...)" + (expect (org-ql--query-sexp-to-string '(or (tags "book" "books") (priority "A"))) + :to-equal nil))) + (describe "Query results" ;; TODO: Other predicates. (describe "(ancestors)" (org-ql-it "without sub-query" - (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-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"))) - '("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 ((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)) - '("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-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")))) - '("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")))) + (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))) - :to-equal org-ql-test-num-headings)) + (expect (length (org-ql org-ql-test-buffer + (category))) + :to-equal org-ql-test-num-headings)) (org-ql-it "with a category" - (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")))) + (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)) - '("Take over the universe" "Take over the world" "Take over Mars" "Take over the moon" "Recurring" "Ideas"))) + (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"))) - '("Recurring"))) + (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"))) - '("Take over the universe")))) + ;; It's really cool how this works. It's so simple. + (org-ql-expect ((children (children "moon"))) + '("Take over the universe")))) (describe "(descendants)" (org-ql-it "without arguments" - (org-ql-expect ((descendants)) - '("Take over the universe" "Take over the world" "Take over Mars" "Take over the moon" "Recurring" "Ideas"))) + (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"))) - '("Recurring"))) + (org-ql-expect ((descendants (todo "CHECK"))) + '("Recurring"))) (org-ql-it "with granddescendants query" - (org-ql-expect ((descendants (descendants "moon"))) - '("Take over the universe"))) + (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"))))) - '("Take over the moon")))) + ;; 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"))))) + '("Take over the moon")))) (describe "(clocked)" (org-ql-it "without arguments" - (org-ql-expect ((clocked)) - '("Learn universal sign language"))) + (org-ql-expect ((clocked)) + '("Learn universal sign language"))) (org-ql-it "with a number" - (org-ql-then - (org-ql-expect ((clocked 10)) - '("Learn universal sign language")))) + (org-ql-then + (org-ql-expect ((clocked 10)) + '("Learn universal sign language")))) (org-ql-it ":from a timestamp" - (org-ql-expect ((clocked :from "2017-07-05")) - '("Learn universal sign language")) - (org-ql-expect ((clocked :from "2017-07-06")) - nil)) + (org-ql-expect ((clocked :from "2017-07-05")) + '("Learn universal sign language")) + (org-ql-expect ((clocked :from "2017-07-06")) + nil)) (org-ql-it ":from today" - (org-ql-then - (org-ql-expect ((clocked :from today)) - '("Learn universal sign language")))) + (org-ql-then + (org-ql-expect ((clocked :from today)) + '("Learn universal sign language")))) (org-ql-it ":to a timestamp" - (org-ql-expect ((clocked :to "2017-07-05")) - '("Learn universal sign language")) - (org-ql-expect ((clocked :to "2017-07-04")) - nil)) + (org-ql-expect ((clocked :to "2017-07-05")) + '("Learn universal sign language")) + (org-ql-expect ((clocked :to "2017-07-04")) + nil)) (org-ql-it ":to today" - (org-ql-then - (org-ql-expect ((clocked :to today)) - '("Learn universal sign language")))) + (org-ql-then + (org-ql-expect ((clocked :to today)) + '("Learn universal sign language")))) (org-ql-it ":on a date" - (org-ql-expect ((clocked :on "2017-07-05")) - '("Learn universal sign language")) - (org-ql-expect ((clocked :on "2018-12-02")) - nil)) + (org-ql-expect ((clocked :on "2017-07-05")) + '("Learn universal sign language")) + (org-ql-expect ((clocked :on "2018-12-02")) + nil)) (org-ql-it ":on today" - (org-ql-then - (org-ql-expect ((clocked :on today)) - '("Learn universal sign language")))) + (org-ql-then + (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")) - '("Learn universal sign language")) - (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")) - nil))) + (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")) + nil) + (org-ql-expect ((clocked :from "2017-07-01" :to "2017-07-04")) + nil))) (describe "(closed)" (org-ql-it "without arguments" - (org-ql-expect ((closed)) - '("Learn universal sign language"))) + (org-ql-expect ((closed)) + '("Learn universal sign language"))) (org-ql-it "with a number" - (org-ql-then - (org-ql-expect ((closed 10)) - '("Learn universal sign language")))) + (org-ql-then + (org-ql-expect ((closed 10)) + '("Learn universal sign language")))) (org-ql-it ":on" - (org-ql-expect ((closed :on "2017-07-05")) - '("Learn universal sign language")) - (org-ql-then - (org-ql-expect ((closed :on today)) - '("Learn universal sign language"))) - (org-ql-expect ((closed :on "2019-06-09")) - nil)) + (org-ql-expect ((closed :on "2017-07-05")) + '("Learn universal sign language")) + (org-ql-then + (org-ql-expect ((closed :on today)) + '("Learn universal sign language"))) + (org-ql-expect ((closed :on "2019-06-09")) + nil)) (org-ql-it ":from" - (org-ql-expect ((closed :from "2017-07-04")) - '("Learn universal sign language")) - (org-ql-expect ((closed :from "2017-07-05")) - '("Learn universal sign language")) - (org-ql-then - (org-ql-expect ((closed :from today)) - '("Learn universal sign language"))) - (org-ql-expect ((closed :from "2017-07-06")) - nil)) + (org-ql-expect ((closed :from "2017-07-04")) + '("Learn universal sign language")) + (org-ql-expect ((closed :from "2017-07-05")) + '("Learn universal sign language")) + (org-ql-then + (org-ql-expect ((closed :from today)) + '("Learn universal sign language"))) + (org-ql-expect ((closed :from "2017-07-06")) + nil)) (org-ql-it ":to" - (org-ql-expect ((closed :to "2017-07-04")) - nil) - (org-ql-expect ((closed :to "2017-07-05")) - '("Learn universal sign language")) - (org-ql-then - (org-ql-expect ((closed :to today)) - '("Learn universal sign language"))) - (org-ql-expect ((closed :to "2017-07-06")) - '("Learn universal sign language")))) + (org-ql-expect ((closed :to "2017-07-04")) + nil) + (org-ql-expect ((closed :to "2017-07-05")) + '("Learn universal sign language")) + (org-ql-then + (org-ql-expect ((closed :to today)) + '("Learn universal sign language"))) + (org-ql-expect ((closed :to "2017-07-06")) + '("Learn universal sign language")))) (describe "(deadline)" (org-ql-it "without arguments" - (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-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)) - '("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 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)) - '("Take over the world" "/r/emacs")))) + (org-ql-then + (org-ql-expect ((deadline 2)) + '("Take over the world" "/r/emacs")))) (org-ql-it ":on" - (org-ql-expect ((deadline :on "2017-07-05")) - '("/r/emacs")) - (org-ql-then - (org-ql-expect ((deadline :on today)) - '("/r/emacs"))) + (org-ql-expect ((deadline :on "2017-07-05")) + '("/r/emacs")) + (org-ql-then + (org-ql-expect ((deadline :on today)) + '("/r/emacs"))) - (org-ql-expect ((deadline :on "2019-06-09")) - nil)) + (org-ql-expect ((deadline :on "2019-06-09")) + nil)) (org-ql-it ":from" - (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")) - '("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")) - '("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")) - nil) - (org-ql-then - (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-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")) + '("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")) + '("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")) + nil) + (org-ql-then + (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")) - nil) - (org-ql-expect ((deadline :to "2017-07-05")) - '("/r/emacs")) - (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)) - '("/r/emacs"))))) + (org-ql-expect ((deadline :to "2017-07-04")) + nil) + (org-ql-expect ((deadline :to "2017-07-05")) + '("/r/emacs")) + (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)) + '("/r/emacs"))))) (org-ql-it "(done)" - (org-ql-expect ((done)) - '("Learn universal sign language"))) + (org-ql-expect ((done)) + '("Learn universal sign language"))) (org-ql-it "(habit)" - (org-ql-expect ((habit)) - '("Practice leaping tall buildings in a single bound"))) + (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")) - ;; 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-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")) - '("Take over the world")))) + (org-ql-expect ((heading "Take over" "world")) + '("Take over the world")))) (describe "(link)" (org-ql-it "without arguments" - (org-ql-expect ((link)) - '("/r/emacs"))) + (org-ql-expect ((link)) + '("/r/emacs"))) (org-ql-it "with description-or-target" - (org-ql-expect ((link "emacs")) - '("/r/emacs"))) + (org-ql-expect ((link "emacs")) + '("/r/emacs"))) (org-ql-it "with :description" - (org-ql-expect ((link :description "emacs")) - '("/r/emacs"))) + (org-ql-expect ((link :description "emacs")) + '("/r/emacs"))) (org-ql-it "with :target" - (org-ql-expect ((link :target "reddit.com")) - '("/r/emacs"))) + (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")) - '("/r/emacs")))) + (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")) - '("Write a symphony"))) + (org-ql-expect ((outline-path "symphony")) + '("Write a symphony"))) (org-ql-it "with two arguments" - (org-ql-expect ((outline-path "idea" "symphony")) - '("Write a 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")) - '("Write a 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")) - '("Write a 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")) - nil))) + (org-ql-expect ((outline-path-segment "data" "symphony")) + nil))) (describe "(path)" (org-ql-it "without arguments" - (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-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")) - '("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-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")) - '("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-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")) - '("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-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)) - '("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)) + '("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)) - '("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-then + (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")) - '("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")) - nil) - (org-ql-then - (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-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")) + nil) + (org-ql-then + (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")) - '("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")) - '("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")) - '("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)) - '("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-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")) + '("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")) + '("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)) + '("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")) - '("Skype with president of Antarctica")) - (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")) - '("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)) - '("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 "2017-07-04")) + '("Skype with president of Antarctica")) + (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")) + '("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)) + '("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)) - '("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-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")) - '("Take over the universe" "Take over the world" "Skype with president of Antarctica" "Spaceship lease"))) + (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")) - '("Take over the universe" "Take over the world" "Skype with president of Antarctica" "Spaceship lease"))) + (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")) - '("Take over the moon" "Get haircut"))) + (org-ql-expect ((priority < "B")) + '("Take over the moon" "Get haircut"))) (org-ql-it "<= a priority" - (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-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")) - '("Take over the universe" "Take over the world" "Skype with president of Antarctica" "Spaceship lease"))) + (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")) - '("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")))) + (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. @@ -714,84 +761,84 @@ RESULTS should be a list of strings as returned by ;; (org-ql-expect ((property)))) (org-ql-it "with a property" - (org-ql-expect ((property "agenda-group")) - '("Take over the universe" "Spaceship lease" "Recurring" "Write a symphony"))) + (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")) - '("Take over the universe" "Write a symphony")))) + (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) - '("Take over the universe" "Take over the world" "Take over Mars" "Take over the moon" "Get haircut"))) + (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) - '("Take over the universe"))) + (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) - '("Take over the universe" "Take over the world" "Take over Mars" "Take over the moon" "Get haircut"))) + (org-ql-expect ("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 two plain strings in an OR" - (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-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) - '("Take over the universe" "Take over the world" "Take over Mars" "Take over the moon" "Get haircut")))) + ;; 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) + '("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)) - '("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)) + '("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)) - '("Skype with president of Antarctica")))) + (org-ql-then + ;; Using -1 is the easiest way to exclude some results but not all for testing this. + (org-ql-expect ((scheduled -1)) + '("Skype with president of Antarctica")))) (org-ql-it ":on" - (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")) - nil) - (org-ql-then - (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-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")) + nil) + (org-ql-then + (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")) - '("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")) - '("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")) - nil) - (org-ql-then - (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-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")) + '("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")) + nil) + (org-ql-then + (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")) - '("Skype with president of Antarctica")) - (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")) - '("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)) - '("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 "2017-07-04")) + '("Skype with president of Antarctica")) + (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")) + '("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)) + '("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 ;; significant hassle. Manual testing shows that the predicate appears to work properly. @@ -799,288 +846,288 @@ RESULTS should be a list of strings as returned by (describe "(todo)" (org-ql-it "without arguments" - (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-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) - '("Visit the moon"))) + (org-ql-expect ((todo "WAITING") + :sort todo) + '("Visit the moon"))) (org-ql-it "with 2 arguments" - (org-ql-expect ((todo "WAITING" "SOMEDAY") - :sort todo) - '("Visit the moon" "Rewrite Emacs in Common Lisp" "Write a symphony")))) + (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)) - '("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))) - '("Recurring" "Sunrise/sunset" "Ideas"))) + (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))) + '("Recurring" "Sunrise/sunset" "Ideas"))) (org-ql-it "with a tag" - (org-ql-expect ((tags "Emacs")) - '("/r/emacs" "Rewrite Emacs in Common Lisp")) - (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-expect ((tags "Emacs")) + '("/r/emacs" "Rewrite Emacs in Common Lisp")) + (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")) - '("Visit Mars" "Visit the moon" "/r/emacs" "Rewrite Emacs in Common Lisp")) - (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-expect ((tags "Emacs" "space")) + '("Visit Mars" "Visit the moon" "/r/emacs" "Rewrite Emacs in Common Lisp")) + (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")) - '("Fruit" "Blueberry" "Strawberry" "Vegetable" "Broccoli" "Potato") - :buffer (org-ql-test-data-buffer "data2.org")) - (org-ql-expect ((tags "fruit")) - '("Fruit" "Blueberry" "Strawberry") - :buffer (org-ql-test-data-buffer "data2.org")))) + (org-ql-expect ((tags "food")) + '("Fruit" "Blueberry" "Strawberry" "Vegetable" "Broccoli" "Potato") + :buffer (org-ql-test-data-buffer "data2.org")) + (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)) - '("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))) - '("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-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))) + '("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")) - nil) - (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"))) - '("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-expect ((tags-inherited "Emacs")) + nil) + (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"))) + '("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")) - '("Skype with president of Antarctica")) - (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-expect ((itags "personal" "world")) + '("Skype with president of Antarctica")) + (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")) - '("Fruit" "Blueberry" "Strawberry" "Vegetable" "Broccoli" "Potato") - :buffer (org-ql-test-data-buffer "data2.org")) - (org-ql-expect ((tags-inherited "fruit")) - '("Blueberry" "Strawberry") - :buffer (org-ql-test-data-buffer "data2.org")))) + (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")) + '("Blueberry" "Strawberry") + :buffer (org-ql-test-data-buffer "data2.org")))) (describe "(tags-local)" (org-ql-it "without arguments" - (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))) - '("Take over Mars" "Take over the moon" "Renew membership in supervillain club" "Learn universal sign language" "Recurring" "Sunrise/sunset" "Ideas"))) + (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))) + '("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")) - '("Take over the world" "Skype with president of Antarctica")) - (org-ql-expect ((ltags "ambition")) - '("Take over the universe")) - (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-expect ((tags-local "world")) + '("Take over the world" "Skype with president of Antarctica")) + (org-ql-expect ((ltags "ambition")) + '("Take over the universe")) + (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")) - '("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"))) - '("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-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"))) + '("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")) - nil - :buffer (org-ql-test-data-buffer "data2.org")) - (org-ql-expect ((tags-local "fruit")) - '("Fruit") - :buffer (org-ql-test-data-buffer "data2.org")))) + (org-ql-expect ((tags-local "food")) + nil + :buffer (org-ql-test-data-buffer "data2.org")) + (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")) - '("Practice leaping tall buildings in a single bound")) - (org-ql-expect ((tags& "ambition" "space")) - '("Visit Mars" "Visit the moon"))) + (org-ql-expect ((tags-all "universe" "personal")) + '("Practice leaping tall buildings in a single bound")) + (org-ql-expect ((tags& "ambition" "space")) + '("Visit Mars" "Visit the moon"))) (org-ql-it "with file tags" - (org-ql-expect ((tags-all "food" "fruit")) - '("Fruit" "Blueberry" "Strawberry") - :buffer (org-ql-test-data-buffer "data2.org")))) + (org-ql-expect ((tags-all "food" "fruit")) + '("Fruit" "Blueberry" "Strawberry") + :buffer (org-ql-test-data-buffer "data2.org")))) (describe "(ts)" (describe "active" (org-ql-it "without arguments" - (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-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)) - '("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)) - nil) - (org-ql-then - (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-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)) + nil) + (org-ql-then + (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)) - '("Take over the universe" "Visit Mars" "Visit the moon" "Renew membership in supervillain club" "Internet" "Spaceship lease" "Rewrite Emacs in Common Lisp")))) + (org-ql-then + (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)) - '("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)) - '("Skype with president of Antarctica")) - (org-ql-then - (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-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)) + '("Skype with president of Antarctica")) + (org-ql-then + (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)) - '("Skype with president of Antarctica")))) + (org-ql-then + (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)) - '("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)) - nil) - (org-ql-then - (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-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)) + nil) + (org-ql-then + (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)) - '("Take over the world"))))) + (org-ql-then + (org-ql-expect ((ts-active :on 2)) + '("Take over the world"))))) (describe "inactive" (org-ql-it "without arguments" - (org-ql-expect ((ts :type inactive)) - '("Visit the moon" "Learn universal sign language" "Rewrite Emacs in Common Lisp"))) + (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)) - '("Visit the moon" "Rewrite Emacs in Common Lisp")) - (org-ql-expect ((ts :from "2019-06-08" :type inactive)) - nil) - (org-ql-then - (org-ql-expect ((ts-inactive :from today)) - '("Visit the moon" "Learn universal sign language" "Rewrite Emacs in Common Lisp")))) + (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)) + nil) + (org-ql-then + (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)) - '("Visit the moon" "Rewrite Emacs in Common Lisp")))) + (org-ql-then + (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)) - '("Visit the moon" "Learn universal sign language" "Rewrite Emacs in Common Lisp")) - (org-ql-expect ((ts :to "2017-07-04" :type inactive)) - 'nil) - (org-ql-then - (org-ql-expect ((ts-inactive :to today)) - '("Learn universal sign language")))) + (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)) + 'nil) + (org-ql-then + (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)) - '("Learn universal sign language")))) + (org-ql-then + (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)) - '("Learn universal sign language")) - (org-ql-expect ((ts :on "2019-06-09" :type inactive)) - nil) - (org-ql-then - (org-ql-expect ((ts-inactive :on today)) - '("Learn universal sign language")))) + (org-ql-expect ((ts :on "2017-07-05" :type inactive)) + '("Learn universal sign language")) + (org-ql-expect ((ts :on "2019-06-09" :type inactive)) + nil) + (org-ql-then + (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)) - '("Visit the moon" "Rewrite Emacs in Common Lisp"))))) + (org-ql-then + (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)) - '("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)) - '("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)) + '("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)) + '("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")) - '("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)) - '("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")) - nil) - (org-ql-expect ((ts :from "2019-06-08" :type both)) - nil) - (org-ql-then - (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-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)) + '("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")) + nil) + (org-ql-expect ((ts :from "2019-06-08" :type both)) + nil) + (org-ql-then + (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)) - '("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 ((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")) - '("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)) - '("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")) - '("Skype with president of Antarctica")) - (org-ql-expect ((ts :to "2017-07-04" :type both)) - '("Skype with president of Antarctica")) - (org-ql-then - (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-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)) + '("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")) + '("Skype with president of Antarctica")) + (org-ql-expect ((ts :to "2017-07-04" :type both)) + '("Skype with president of Antarctica")) + (org-ql-then + (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)) - '("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-then + (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")) - '("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)) - '("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")) - nil) - (org-ql-expect ((ts :on "2019-06-09" :type both)) - nil) - (org-ql-then - (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-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)) + '("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")) + nil) + (org-ql-expect ((ts :on "2019-06-09" :type both)) + nil) + (org-ql-then + (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)) - '("Renew membership in supervillain club")))))) + (org-ql-then + (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"))) - '("Rewrite Emacs in Common Lisp")))))) + (org-ql-expect ((and (todo "SOMEDAY") + (tags "Emacs"))) + '("Rewrite Emacs in Common Lisp")))))) ;; Local Variables: ;; truncate-lines: t From ef40a25b05c95478d3377d9f57c09e3bc7df6e34 Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Wed, 11 Nov 2020 02:38:30 -0600 Subject: [PATCH 232/615] Change: (org-ql-view--link-store) Convert queries to strings See #147. --- org-ql-view.el | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/org-ql-view.el b/org-ql-view.el index f6c9917..8f1b50d 100644 --- a/org-ql-view.el +++ b/org-ql-view.el @@ -662,7 +662,9 @@ When opened, the link searches the buffer it's opened from." (list "containing file" buffers-files) nil t) ("containing file" nil) (buffers-files (prin1-to-string buffers-files)))))) - (let* ((buffers-files (prompt-for (org-ql-view--contract-buffers-files org-ql-view-buffers-files))) + (let* ((query-string (--if-let (org-ql--query-sexp-to-string org-ql-view-query) + it (prin1-to-string (org-ql-view--format-query org-ql-view-query)))) + (buffers-files (prompt-for (org-ql-view--contract-buffers-files org-ql-view-buffers-files))) (params (list (when buffers-files (list "buffers-files" buffers-files)) (when org-ql-view-super-groups @@ -671,7 +673,7 @@ When opened, the link searches the buffer it's opened from." (list "sort" (prin1-to-string org-ql-view-sort))) (when org-ql-view-title (list "title" (prin1-to-string org-ql-view-title))))) - (filename (concat (url-hexify-string (org-ql-view--format-query org-ql-view-query)) + (filename (concat (url-hexify-string query-string) "?" (url-build-query-string (delete nil params)))) (url (url-recreate-url (url-parse-make-urlobj "org-ql-search" nil nil nil nil filename)))) From 01660aac22f2a4192ad9380015b4fa0bed5296b8 Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Wed, 11 Nov 2020 02:42:32 -0600 Subject: [PATCH 233/615] Notes: Update --- notes.org | 2 ++ 1 file changed, 2 insertions(+) diff --git a/notes.org b/notes.org index d7ff1d5..0d9c408 100644 --- a/notes.org +++ b/notes.org @@ -321,6 +321,8 @@ See notes on 1dce9467f25428b5289d3665cd840820969ed65a. It would be good to test [2020-11-11 Wed 01:45] Seems to work well. Now to integrate that into link-saving... +[2020-11-11 Wed 02:41] Seems to work. Will [[https://github.com/alphapapa/org-ql/issues/147#issuecomment-725287074][wait for feedback]] before merging. + ** UNDERWAY [#A] Tools for saving queries and accessing them [3/4] + Added example to =examples.org=. From 87b952c7bf8f947997006651dd08818824e5ad85 Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Wed, 11 Nov 2020 19:05:38 -0600 Subject: [PATCH 234/615] Fix: (org-ql-view--link-store) Don't store link to buffers --- org-ql-view.el | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/org-ql-view.el b/org-ql-view.el index 8f1b50d..0bb873a 100644 --- a/org-ql-view.el +++ b/org-ql-view.el @@ -652,6 +652,10 @@ When opened, the link searches the buffer it's opened from." (require 'url-util) (when org-ql-view-query ;; Only Org QL View buffers should have `org-ql-view-query' set. + (when (or (bufferp org-ql-view-buffers-files) + (cl-some #'bufferp org-ql-view-buffers-files)) + ;; Buffers are unreadable, so they can't be linked to. + (user-error "Views that search buffers rather than files can't be linked to")) (cl-incf org-ql-view--link-store-counter) (cl-flet ((prompt-for (buffers-files) ;; HACK: Use counter to avoid prompting the first of the From 33df77420eab1e473ddd4868ca10fac9ad439bb7 Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Wed, 11 Nov 2020 19:25:54 -0600 Subject: [PATCH 235/615] Notes: Update --- notes.org | 518 +++++++++++++++++++++++++++--------------------------- 1 file changed, 262 insertions(+), 256 deletions(-) diff --git a/notes.org b/notes.org index 0d9c408..3e9aea5 100644 --- a/notes.org +++ b/notes.org @@ -227,262 +227,6 @@ See notes on 1dce9467f25428b5289d3665cd840820969ed65a. It would be good to test ** TODO [#C] Update commentary -** UNDERWAY [#A] Convert simple sexp queries to non-sexp - -[2020-11-11 Wed 00:28] This will be very helpful for storing links. Surely simple ones won't be too hard... - -#+BEGIN_SRC elisp - (defun org-ql--query-sexp-to-plain (query) - "Return a plain query string for sexp QUERY. - If QUERY can't be converted to a plain one, return nil." - ;; This started out pretty simple...but at least it's not just one long function, right? - (cl-labels ((complex-p (query) - (or (contains-p 'or query))) - (contains-p (symbol list) - (cl-loop for element in list - thereis (or (eq symbol element) - (and (listp element) - (contains-p symbol element))))) - (format-args - (args) (let (non-paired paired next-keyword) - (cl-loop for arg in args - do (cond (next-keyword (push (cons next-keyword arg) paired) - (setf next-keyword nil)) - ((keywordp arg) (setf next-keyword (substring (symbol-name arg) 1))) - (t (push arg non-paired)))) - (string-join (append (mapcar #'format-atom non-paired) - (nreverse (--map (format "%s=%s" (car it) (cdr it)) - paired))) - ","))) - (format-atom - (atom) (cl-typecase atom - (string (if (string-match (rx space) atom) - (format "%S" atom) - (format "%s" atom))) - (t (format "%s" atom)))) - (format-form - (form) (pcase form - (`(not . (,rest)) (concat "!" (format-form rest))) - (`(priority . ,_) (format-priority form)) - ;; FIXME: Convert (src) queries to non-sexp form...someday... - (`(src . ,_) (user-error "Converting (src ...) queries to non-sexp form is not implemented")) - (_ (pcase-let* ((`(,pred . ,args) form) - (args-string (pcase args - ('() "") - ((guard (= 1 (length args))) (format "%s" (car args))) - (_ (format-args args))))) - (format "%s:%s" pred args-string))))) - (format-and - (form) (pcase-let* ((`(and . ,rest) form)) - (string-join (mapcar #'format-form rest) " "))) - (format-priority - (form) (pcase-let* ((`(priority . ,rest) form) - (args (pcase rest - (`(,(and comparator (or < <= > >= =)) ,letter) - (priority-letters comparator letter)) - (_ rest)))) - (concat "priority:" (string-join args ",")))) - (priority-letters - (comparator letter) (let* ((char (string-to-char (upcase (symbol-name letter)))) - (numeric-priorities '(?A ?B ?C)) - ;; NOTE: The comparator inversion is intentional. - (others (pcase comparator - ('< (--select (> it char) numeric-priorities)) - ('<= (--select (>= it char) numeric-priorities)) - ('> (--select (< it char) numeric-priorities)) - ('>= (--select (<= it char) numeric-priorities)) - ('= (--select (= it char) numeric-priorities))))) - (mapcar #'char-to-string others)))) - (unless (complex-p query) - (pcase query - (`(and . ,_) (format-and query)) - (_ (format-form query)))))) - - (--map (cons it (org-ql--query-sexp-to-plain it)) - '((priority >= B) - (priority > B) - (priority < B) - (priority < A) - (priority = A) - (todo) - (todo "TODO") - (todo "TODO" "NEXT") - (ts :from -1 :to 1) - (ts :on today) - (ts-active :from "2017-01-01" :to "2018-01-01") - (heading "quoted phrase" "word") - (and (tags "book" "books") (priority "A")) - (and (tags "space") (not (regexp "moon"))) - (src :lang "elisp" :regexps ("defun"))) - - - ) -#+END_SRC - -[2020-11-11 Wed 01:45] Seems to work well. Now to integrate that into link-saving... - -[2020-11-11 Wed 02:41] Seems to work. Will [[https://github.com/alphapapa/org-ql/issues/147#issuecomment-725287074][wait for feedback]] before merging. - -** UNDERWAY [#A] Tools for saving queries and accessing them [3/4] - -+ Added example to =examples.org=. - -*** UNDERWAY [#A] Org link types [2/3] -:PROPERTIES: -:ID: 4db73c1c-a4ed-425e-9e38-8d334ed03e1e -:END: - -This would be useful for having a menu of saved queries as Org links, or even bookmarking saved queries. - -**** TODO For saved queries - -**** DONE For searches - -[2020-11-08 Sun 22:59] Let's try a very simple implementation so I could write a link like this to search the current buffer: - -#+BEGIN_SRC org - [[org-ql-search:property:author="AUTHOR"]] -#+END_SRC - -[2020-11-08 Sun 23:22] Seems to work! - -#+BEGIN_SRC elisp :results silent - ;;;; Org link type - - ;; This section adds a custom link type to Org. See info:org#Adding hyperlink types. - - (org-link-set-parameters "org-ql-search" - :follow #'org-ql-search--link-open - :store #'org-ql-search--link-store) - - (defun org-ql-search--link-open (query) - "Open Org QL QUERY for current buffer." - (org-ql-search (current-buffer) query)) - - (defun org-ql-search--link-store () - "Store a link to current Org QL query." - ;; TODO: When we have an org-ql-view-mode, test it here instead of org-ql-view-query. - (when org-ql-view-query - (org-store-link-props :type "org-ql-search" - :link (concat "org-ql-search:" (org-ql-view--format-query org-ql-view-query)) - :description org-ql-view-title) - t)) -#+END_SRC - -Tested on these queries: - -#+BEGIN_SRC org - + [[org-ql-search:(property%20:author%20"Chris%20Wellons")][org-ql-search:(property :author "Chris Wellons")]] - + [[org-ql-search:(link%20"nullprogram")][org-ql-search:(link "nullprogram")]] - + [[org-ql-search:link:nullprogram]] -#+END_SRC - -[2020-11-10 Tue 00:35] I'd like to support other parameters to the search, like grouping and sorting, so: - -#+BEGIN_SRC elisp :results silent - ;;;; Org link type - - ;; This section adds a custom link type to Org. See info:org#Adding hyperlink types. - - (org-link-set-parameters "org-ql-search" - :follow #'org-ql-search--link-open - :store #'org-ql-search--link-store) - - (defun org-ql-search--link-open (query) - "Open Org QL QUERY for current buffer." - (require 'url-parse) - (pcase-let* ((`(,query . ,params) - (url-path-and-query (url-parse-make-urlobj "org-ql-search" nil nil nil nil - query))) - (params (url-parse-query-string params)) - ;; Hacky or elegant? - (_ (mapc (lambda (pair) - (cl-callf (lambda (it) - (intern (concat ":" it))) - (car pair)) - (cl-callf read (cdr pair))) - params)) - (params (cl-loop for (key . value) in params - append (list key value)))) - (apply #'org-ql-search (current-buffer) query params))) - - (defun org-ql-search--link-store () - "Store a link to current Org QL query." - (when org-ql-view-query - (org-store-link-props :type "org-ql-search" - :link (concat "org-ql-search:" (org-ql-view--format-query org-ql-view-query)) - :description org-ql-view-title) - t)) -#+END_SRC - -That seems to work, like: - -#+BEGIN_SRC org - [[org-ql-search:property:author="Chris%20Wellons"?super-groups=((:auto-outline-path%20t))]] -#+END_SRC - -[2020-11-10 Tue 01:34] Okay, this seems to take care of all parameters: - -#+BEGIN_SRC elisp - (defun org-ql-search--link-open (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-search--link-store'." - (require 'url-parse) - (require 'url-util) - (pcase-let* ((`(,query . ,params) (url-path-and-query - (url-parse-make-urlobj "org-ql-search" nil nil nil nil - path))) - (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 (alist-get "sort" params nil nil #'string=) - (read (alist-get "sort" params nil nil #'string=)))) - (groups (when (alist-get "super-groups" params nil nil #'string=) - (read (alist-get "super-groups" params nil nil #'string=)))) - (title (when (alist-get "title" params nil nil #'string=) - (read (alist-get "title" params nil nil #'string=))))) - (org-ql-search (current-buffer) query - :sort sort - :super-groups groups - :title title))) - - (defun org-ql-search--link-store () - "Store a link to the current Org QL view. - Only views that search a single buffer may be linked to." - (require 'url-parse) - (require 'url-util) - (unless (or (bufferp org-ql-view-buffers-files) (= 1 (length org-ql-view-buffers-files))) - (user-error "Only views searching a single buffer may be linked")) - (when org-ql-view-query - (let* ((params (list (when org-ql-view-super-groups - (list "super-groups" (prin1-to-string org-ql-view-super-groups))) - (when org-ql-view-sort - (list "sort" (prin1-to-string org-ql-view-sort))) - (when org-ql-view-title - (list "title" (prin1-to-string org-ql-view-title))))) - (filename (concat (url-hexify-string (org-ql-view--format-query org-ql-view-query)) - "?" (url-build-query-string (delete nil params)))) - (url (url-recreate-url (url-parse-make-urlobj "org-ql-search" nil nil nil nil - filename)))) - (org-store-link-props - :type "org-ql-search" - :link url - :description (concat "org-ql-search: " org-ql-view-title))) - t)) -#+END_SRC - -**** DONE For all parameters - -*** DONE Bookmarks - -[2020-11-08 Sun 23:25] Already done in =e5b4cd106558790563af26a8e32ec9508f904855=. - -*** DONE Access saved query from saved query list - -*** DONE Save query from ql-agenda buffer - ** UNDERWAY [#A] Outline path predicate [2019-10-07 Mon 11:15] There are two potential types of matching on outline paths: matching on any part of the outline path, and matching a specific path. For example, with this file: @@ -909,6 +653,268 @@ However, there might still be a useful idea here somewhere... When tag inheritance is enabled, and the given tags aren't file-level tags, we could search directly to headings containing the matching tags, and then only do per-heading matching on the subtrees. Sometimes that would be much faster. However, that might make the logic special-cased and complicated. Might need a redesign of the whole matching/predicate system to do cleanly. +** PROJECT [#A] Convert simple sexp queries to non-sexp + +[2020-11-11 Wed 00:28] This will be very helpful for storing links. Surely simple ones won't be too hard... + +#+BEGIN_SRC elisp + (defun org-ql--query-sexp-to-plain (query) + "Return a plain query string for sexp QUERY. + If QUERY can't be converted to a plain one, return nil." + ;; This started out pretty simple...but at least it's not just one long function, right? + (cl-labels ((complex-p (query) + (or (contains-p 'or query))) + (contains-p (symbol list) + (cl-loop for element in list + thereis (or (eq symbol element) + (and (listp element) + (contains-p symbol element))))) + (format-args + (args) (let (non-paired paired next-keyword) + (cl-loop for arg in args + do (cond (next-keyword (push (cons next-keyword arg) paired) + (setf next-keyword nil)) + ((keywordp arg) (setf next-keyword (substring (symbol-name arg) 1))) + (t (push arg non-paired)))) + (string-join (append (mapcar #'format-atom non-paired) + (nreverse (--map (format "%s=%s" (car it) (cdr it)) + paired))) + ","))) + (format-atom + (atom) (cl-typecase atom + (string (if (string-match (rx space) atom) + (format "%S" atom) + (format "%s" atom))) + (t (format "%s" atom)))) + (format-form + (form) (pcase form + (`(not . (,rest)) (concat "!" (format-form rest))) + (`(priority . ,_) (format-priority form)) + ;; FIXME: Convert (src) queries to non-sexp form...someday... + (`(src . ,_) (user-error "Converting (src ...) queries to non-sexp form is not implemented")) + (_ (pcase-let* ((`(,pred . ,args) form) + (args-string (pcase args + ('() "") + ((guard (= 1 (length args))) (format "%s" (car args))) + (_ (format-args args))))) + (format "%s:%s" pred args-string))))) + (format-and + (form) (pcase-let* ((`(and . ,rest) form)) + (string-join (mapcar #'format-form rest) " "))) + (format-priority + (form) (pcase-let* ((`(priority . ,rest) form) + (args (pcase rest + (`(,(and comparator (or < <= > >= =)) ,letter) + (priority-letters comparator letter)) + (_ rest)))) + (concat "priority:" (string-join args ",")))) + (priority-letters + (comparator letter) (let* ((char (string-to-char (upcase (symbol-name letter)))) + (numeric-priorities '(?A ?B ?C)) + ;; NOTE: The comparator inversion is intentional. + (others (pcase comparator + ('< (--select (> it char) numeric-priorities)) + ('<= (--select (>= it char) numeric-priorities)) + ('> (--select (< it char) numeric-priorities)) + ('>= (--select (<= it char) numeric-priorities)) + ('= (--select (= it char) numeric-priorities))))) + (mapcar #'char-to-string others)))) + (unless (complex-p query) + (pcase query + (`(and . ,_) (format-and query)) + (_ (format-form query)))))) + + (--map (cons it (org-ql--query-sexp-to-plain it)) + '((priority >= B) + (priority > B) + (priority < B) + (priority < A) + (priority = A) + (todo) + (todo "TODO") + (todo "TODO" "NEXT") + (ts :from -1 :to 1) + (ts :on today) + (ts-active :from "2017-01-01" :to "2018-01-01") + (heading "quoted phrase" "word") + (and (tags "book" "books") (priority "A")) + (and (tags "space") (not (regexp "moon"))) + (src :lang "elisp" :regexps ("defun"))) + + + ) +#+END_SRC + +[2020-11-11 Wed 01:45] Seems to work well. Now to integrate that into link-saving... + +[2020-11-11 Wed 02:41] Seems to work. Will [[https://github.com/alphapapa/org-ql/issues/147#issuecomment-725287074][wait for feedback]] before merging. + +[2020-11-11 Wed 19:13] Seems to be working properly. One more thing to do though, I think: + +*** TODO [#B] Use string queries in view headers when possible + +Maybe make it an option to automatically convert them when possible, because if a user wanted to add complexity to a string query, he'd have to rewrite it as a sexp. + +** PROJECT [#A] Tools for saving queries and accessing them [3/4] + ++ Added example to =examples.org=. + +*** PROJECT [#A] Org link types [2/3] +:PROPERTIES: +:ID: 4db73c1c-a4ed-425e-9e38-8d334ed03e1e +:END: + +This would be useful for having a menu of saved queries as Org links, or even bookmarking saved queries. + +**** TODO For saved queries + +**** DONE For searches + +[2020-11-08 Sun 22:59] Let's try a very simple implementation so I could write a link like this to search the current buffer: + +#+BEGIN_SRC org + [[org-ql-search:property:author="AUTHOR"]] +#+END_SRC + +[2020-11-08 Sun 23:22] Seems to work! + +#+BEGIN_SRC elisp :results silent + ;;;; Org link type + + ;; This section adds a custom link type to Org. See info:org#Adding hyperlink types. + + (org-link-set-parameters "org-ql-search" + :follow #'org-ql-search--link-open + :store #'org-ql-search--link-store) + + (defun org-ql-search--link-open (query) + "Open Org QL QUERY for current buffer." + (org-ql-search (current-buffer) query)) + + (defun org-ql-search--link-store () + "Store a link to current Org QL query." + ;; TODO: When we have an org-ql-view-mode, test it here instead of org-ql-view-query. + (when org-ql-view-query + (org-store-link-props :type "org-ql-search" + :link (concat "org-ql-search:" (org-ql-view--format-query org-ql-view-query)) + :description org-ql-view-title) + t)) +#+END_SRC + +Tested on these queries: + +#+BEGIN_SRC org + + [[org-ql-search:(property%20:author%20"Chris%20Wellons")][org-ql-search:(property :author "Chris Wellons")]] + + [[org-ql-search:(link%20"nullprogram")][org-ql-search:(link "nullprogram")]] + + [[org-ql-search:link:nullprogram]] +#+END_SRC + +[2020-11-10 Tue 00:35] I'd like to support other parameters to the search, like grouping and sorting, so: + +#+BEGIN_SRC elisp :results silent + ;;;; Org link type + + ;; This section adds a custom link type to Org. See info:org#Adding hyperlink types. + + (org-link-set-parameters "org-ql-search" + :follow #'org-ql-search--link-open + :store #'org-ql-search--link-store) + + (defun org-ql-search--link-open (query) + "Open Org QL QUERY for current buffer." + (require 'url-parse) + (pcase-let* ((`(,query . ,params) + (url-path-and-query (url-parse-make-urlobj "org-ql-search" nil nil nil nil + query))) + (params (url-parse-query-string params)) + ;; Hacky or elegant? + (_ (mapc (lambda (pair) + (cl-callf (lambda (it) + (intern (concat ":" it))) + (car pair)) + (cl-callf read (cdr pair))) + params)) + (params (cl-loop for (key . value) in params + append (list key value)))) + (apply #'org-ql-search (current-buffer) query params))) + + (defun org-ql-search--link-store () + "Store a link to current Org QL query." + (when org-ql-view-query + (org-store-link-props :type "org-ql-search" + :link (concat "org-ql-search:" (org-ql-view--format-query org-ql-view-query)) + :description org-ql-view-title) + t)) +#+END_SRC + +That seems to work, like: + +#+BEGIN_SRC org + [[org-ql-search:property:author="Chris%20Wellons"?super-groups=((:auto-outline-path%20t))]] +#+END_SRC + +[2020-11-10 Tue 01:34] Okay, this seems to take care of all parameters: + +#+BEGIN_SRC elisp + (defun org-ql-search--link-open (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-search--link-store'." + (require 'url-parse) + (require 'url-util) + (pcase-let* ((`(,query . ,params) (url-path-and-query + (url-parse-make-urlobj "org-ql-search" nil nil nil nil + path))) + (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 (alist-get "sort" params nil nil #'string=) + (read (alist-get "sort" params nil nil #'string=)))) + (groups (when (alist-get "super-groups" params nil nil #'string=) + (read (alist-get "super-groups" params nil nil #'string=)))) + (title (when (alist-get "title" params nil nil #'string=) + (read (alist-get "title" params nil nil #'string=))))) + (org-ql-search (current-buffer) query + :sort sort + :super-groups groups + :title title))) + + (defun org-ql-search--link-store () + "Store a link to the current Org QL view. + Only views that search a single buffer may be linked to." + (require 'url-parse) + (require 'url-util) + (unless (or (bufferp org-ql-view-buffers-files) (= 1 (length org-ql-view-buffers-files))) + (user-error "Only views searching a single buffer may be linked")) + (when org-ql-view-query + (let* ((params (list (when org-ql-view-super-groups + (list "super-groups" (prin1-to-string org-ql-view-super-groups))) + (when org-ql-view-sort + (list "sort" (prin1-to-string org-ql-view-sort))) + (when org-ql-view-title + (list "title" (prin1-to-string org-ql-view-title))))) + (filename (concat (url-hexify-string (org-ql-view--format-query org-ql-view-query)) + "?" (url-build-query-string (delete nil params)))) + (url (url-recreate-url (url-parse-make-urlobj "org-ql-search" nil nil nil nil + filename)))) + (org-store-link-props + :type "org-ql-search" + :link url + :description (concat "org-ql-search: " org-ql-view-title))) + t)) +#+END_SRC + +**** DONE For all parameters + +*** DONE Bookmarks + +[2020-11-08 Sun 23:25] Already done in =e5b4cd106558790563af26a8e32ec9508f904855=. + +*** DONE Access saved query from saved query list + +*** DONE Save query from ql-agenda buffer + ** PROJECT [#A] Group tag support *** UNDERWAY Benchmarking tags searches without and with new group-tags support From 6970a952ba60209deac142e34c1f8bafeea20836 Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Wed, 11 Nov 2020 19:34:34 -0600 Subject: [PATCH 236/615] Fix: (org-ql-search.el) Require map Need to explicitly load it so that map 2.1 will be loaded when the file is byte-compiled, otherwise the pcase map expansions will fail. --- org-ql-search.el | 1 + 1 file changed, 1 insertion(+) diff --git a/org-ql-search.el b/org-ql-search.el index c771a08..0bd02f2 100644 --- a/org-ql-search.el +++ b/org-ql-search.el @@ -31,6 +31,7 @@ (require 'dash) (require 'f) +(require 'map) (require 'org-super-agenda) (require 's) From 0101bbebdedcd1e4f1be2507d02536cd56c0df43 Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Wed, 11 Nov 2020 19:35:24 -0600 Subject: [PATCH 237/615] Comment: Remove useless package header Not the main library file. --- org-ql-view.el | 1 - 1 file changed, 1 deletion(-) diff --git a/org-ql-view.el b/org-ql-view.el index 0bb873a..e98cfec 100644 --- a/org-ql-view.el +++ b/org-ql-view.el @@ -2,7 +2,6 @@ ;; Author: Adam Porter ;; Url: https://github.com/alphapapa/org-ql -;; Package-Requires: ((transient) (map "2.0")) ;;; Commentary: From 04c94bc141937d5d9ef3130969380b41894c7786 Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Wed, 11 Nov 2020 19:36:41 -0600 Subject: [PATCH 238/615] Change: (org-ql-view.el) Rename bookmark functions They shouldn't be private functions, especially since one is autoloaded. --- org-ql-view.el | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/org-ql-view.el b/org-ql-view.el index e98cfec..2e626bf 100644 --- a/org-ql-view.el +++ b/org-ql-view.el @@ -443,7 +443,7 @@ subsequent refreshing of the buffer: `org-ql-view-buffers-files', (null (org-ql-view--buffer buffer)) (buffer buffer)))) (with-current-buffer buffer - (setq-local bookmark-make-record-function #'org-ql-view--bookmark-make-record) + (setq-local bookmark-make-record-function #'org-ql-view-bookmark-make-record) (use-local-map org-ql-view-map) ;; Prepare buffer, saving data for refreshing. (cl-loop for symbol in vars @@ -541,7 +541,7 @@ dates in the past, and negative for dates in the future." (require 'bookmark) -(defun org-ql-view--bookmark-make-record () +(defun org-ql-view-bookmark-make-record () "Return a bookmark record for the current Org QL View buffer." (cl-labels ((file-nameize (b-f) (or (buffer-file-name b-f) @@ -559,11 +559,11 @@ dates in the past, and negative for dates in the future." collect (file-nameize b-f)))))) (list (concat "Org QL View: " org-ql-view-title) (cons 'org-ql-view-plist plist) - (cons 'handler #'org-ql-view--bookmark-handler) + (cons 'handler #'org-ql-view-bookmark-handler) (cons 'position (point)))))) ;;;###autoload -(defun org-ql-view--bookmark-handler (bookmark) +(defun org-ql-view-bookmark-handler (bookmark) "Show Org QL View BOOKMARK in current buffer." ;; FIXME: Getting "(void-variable super-groups)" errors when this function is byte-compiled, ;; but not when it's interpreted! Using (:super-groups super-groups) instead of just From b0e8fa27348b43ed9da88b0751044c335c7619a0 Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Wed, 11 Nov 2020 19:37:48 -0600 Subject: [PATCH 239/615] Tidy: Indentation --- org-ql-view.el | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/org-ql-view.el b/org-ql-view.el index 2e626bf..f2c1479 100644 --- a/org-ql-view.el +++ b/org-ql-view.el @@ -844,7 +844,7 @@ return an empty string." (org-element-property :raw-value it) (org-link-display-format it))) (todo-keyword (-some--> (org-element-property :todo-keyword element) - (org-ql-view--add-todo-face it))) + (org-ql-view--add-todo-face it))) (tag-list (if org-use-tag-inheritance ;; MAYBE: Use our own variable instead of `org-use-tag-inheritance'. (if-let ((marker (or (org-element-property :org-hd-marker element) @@ -868,9 +868,9 @@ return an empty string." (org-add-props it nil 'face 'org-tag)))) ;; (category (org-element-property :category element)) (priority-string (-some->> (org-element-property :priority element) - (char-to-string) - (format "[#%s]") - (org-ql-view--add-priority-face))) + (char-to-string) + (format "[#%s]") + (org-ql-view--add-priority-face))) (habit-property (org-with-point-at (org-element-property :begin element) (when (org-is-habit-p) (org-habit-parse-todo)))) From 4b557857d3e8d3dc78e10faa9bee1209e3e8999f Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Wed, 11 Nov 2020 19:38:57 -0600 Subject: [PATCH 240/615] Tidy: Indentation --- tests/test-org-ql.el | 912 +++++++++++++++++++++---------------------- 1 file changed, 456 insertions(+), 456 deletions(-) diff --git a/tests/test-org-ql.el b/tests/test-org-ql.el index 93a042d..51a2e3d 100644 --- a/tests/test-org-ql.el +++ b/tests/test-org-ql.el @@ -116,13 +116,13 @@ Based on Buttercup macro `it'." (if body `(progn (buttercup-it ,(concat description " (preamble) ") - (lambda () - (let ((org-ql-use-preamble t)) - ,@body))) + (lambda () + (let ((org-ql-use-preamble t)) + ,@body))) (buttercup-it ,(concat description " (no preamble)") - (lambda () - (let ((org-ql-use-preamble nil)) - ,@body)))) + (lambda () + (let ((org-ql-use-preamble nil)) + ,@body)))) `(buttercup-xit ,description))) (cl-defmacro org-ql-expect (ql-args results &key (buffer 'org-ql-test-buffer)) @@ -421,339 +421,339 @@ RESULTS should be a list of strings as returned by (describe "(ancestors)" (org-ql-it "without sub-query" - (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-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"))) - '("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 ((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)) - '("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-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")))) - '("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")))) + (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))) - :to-equal org-ql-test-num-headings)) + (expect (length (org-ql org-ql-test-buffer + (category))) + :to-equal org-ql-test-num-headings)) (org-ql-it "with a category" - (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")))) + (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)) - '("Take over the universe" "Take over the world" "Take over Mars" "Take over the moon" "Recurring" "Ideas"))) + (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"))) - '("Recurring"))) + (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"))) - '("Take over the universe")))) + ;; It's really cool how this works. It's so simple. + (org-ql-expect ((children (children "moon"))) + '("Take over the universe")))) (describe "(descendants)" (org-ql-it "without arguments" - (org-ql-expect ((descendants)) - '("Take over the universe" "Take over the world" "Take over Mars" "Take over the moon" "Recurring" "Ideas"))) + (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"))) - '("Recurring"))) + (org-ql-expect ((descendants (todo "CHECK"))) + '("Recurring"))) (org-ql-it "with granddescendants query" - (org-ql-expect ((descendants (descendants "moon"))) - '("Take over the universe"))) + (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"))))) - '("Take over the moon")))) + ;; 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"))))) + '("Take over the moon")))) (describe "(clocked)" (org-ql-it "without arguments" - (org-ql-expect ((clocked)) - '("Learn universal sign language"))) + (org-ql-expect ((clocked)) + '("Learn universal sign language"))) (org-ql-it "with a number" - (org-ql-then - (org-ql-expect ((clocked 10)) - '("Learn universal sign language")))) + (org-ql-then + (org-ql-expect ((clocked 10)) + '("Learn universal sign language")))) (org-ql-it ":from a timestamp" - (org-ql-expect ((clocked :from "2017-07-05")) - '("Learn universal sign language")) - (org-ql-expect ((clocked :from "2017-07-06")) - nil)) + (org-ql-expect ((clocked :from "2017-07-05")) + '("Learn universal sign language")) + (org-ql-expect ((clocked :from "2017-07-06")) + nil)) (org-ql-it ":from today" - (org-ql-then - (org-ql-expect ((clocked :from today)) - '("Learn universal sign language")))) + (org-ql-then + (org-ql-expect ((clocked :from today)) + '("Learn universal sign language")))) (org-ql-it ":to a timestamp" - (org-ql-expect ((clocked :to "2017-07-05")) - '("Learn universal sign language")) - (org-ql-expect ((clocked :to "2017-07-04")) - nil)) + (org-ql-expect ((clocked :to "2017-07-05")) + '("Learn universal sign language")) + (org-ql-expect ((clocked :to "2017-07-04")) + nil)) (org-ql-it ":to today" - (org-ql-then - (org-ql-expect ((clocked :to today)) - '("Learn universal sign language")))) + (org-ql-then + (org-ql-expect ((clocked :to today)) + '("Learn universal sign language")))) (org-ql-it ":on a date" - (org-ql-expect ((clocked :on "2017-07-05")) - '("Learn universal sign language")) - (org-ql-expect ((clocked :on "2018-12-02")) - nil)) + (org-ql-expect ((clocked :on "2017-07-05")) + '("Learn universal sign language")) + (org-ql-expect ((clocked :on "2018-12-02")) + nil)) (org-ql-it ":on today" - (org-ql-then - (org-ql-expect ((clocked :on today)) - '("Learn universal sign language")))) + (org-ql-then + (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")) - '("Learn universal sign language")) - (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")) - nil))) + (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")) + nil) + (org-ql-expect ((clocked :from "2017-07-01" :to "2017-07-04")) + nil))) (describe "(closed)" (org-ql-it "without arguments" - (org-ql-expect ((closed)) - '("Learn universal sign language"))) + (org-ql-expect ((closed)) + '("Learn universal sign language"))) (org-ql-it "with a number" - (org-ql-then - (org-ql-expect ((closed 10)) - '("Learn universal sign language")))) + (org-ql-then + (org-ql-expect ((closed 10)) + '("Learn universal sign language")))) (org-ql-it ":on" - (org-ql-expect ((closed :on "2017-07-05")) - '("Learn universal sign language")) - (org-ql-then - (org-ql-expect ((closed :on today)) - '("Learn universal sign language"))) - (org-ql-expect ((closed :on "2019-06-09")) - nil)) + (org-ql-expect ((closed :on "2017-07-05")) + '("Learn universal sign language")) + (org-ql-then + (org-ql-expect ((closed :on today)) + '("Learn universal sign language"))) + (org-ql-expect ((closed :on "2019-06-09")) + nil)) (org-ql-it ":from" - (org-ql-expect ((closed :from "2017-07-04")) - '("Learn universal sign language")) - (org-ql-expect ((closed :from "2017-07-05")) - '("Learn universal sign language")) - (org-ql-then - (org-ql-expect ((closed :from today)) - '("Learn universal sign language"))) - (org-ql-expect ((closed :from "2017-07-06")) - nil)) + (org-ql-expect ((closed :from "2017-07-04")) + '("Learn universal sign language")) + (org-ql-expect ((closed :from "2017-07-05")) + '("Learn universal sign language")) + (org-ql-then + (org-ql-expect ((closed :from today)) + '("Learn universal sign language"))) + (org-ql-expect ((closed :from "2017-07-06")) + nil)) (org-ql-it ":to" - (org-ql-expect ((closed :to "2017-07-04")) - nil) - (org-ql-expect ((closed :to "2017-07-05")) - '("Learn universal sign language")) - (org-ql-then - (org-ql-expect ((closed :to today)) - '("Learn universal sign language"))) - (org-ql-expect ((closed :to "2017-07-06")) - '("Learn universal sign language")))) + (org-ql-expect ((closed :to "2017-07-04")) + nil) + (org-ql-expect ((closed :to "2017-07-05")) + '("Learn universal sign language")) + (org-ql-then + (org-ql-expect ((closed :to today)) + '("Learn universal sign language"))) + (org-ql-expect ((closed :to "2017-07-06")) + '("Learn universal sign language")))) (describe "(deadline)" (org-ql-it "without arguments" - (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-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)) - '("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 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)) - '("Take over the world" "/r/emacs")))) + (org-ql-then + (org-ql-expect ((deadline 2)) + '("Take over the world" "/r/emacs")))) (org-ql-it ":on" - (org-ql-expect ((deadline :on "2017-07-05")) - '("/r/emacs")) - (org-ql-then - (org-ql-expect ((deadline :on today)) - '("/r/emacs"))) + (org-ql-expect ((deadline :on "2017-07-05")) + '("/r/emacs")) + (org-ql-then + (org-ql-expect ((deadline :on today)) + '("/r/emacs"))) - (org-ql-expect ((deadline :on "2019-06-09")) - nil)) + (org-ql-expect ((deadline :on "2019-06-09")) + nil)) (org-ql-it ":from" - (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")) - '("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")) - '("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")) - nil) - (org-ql-then - (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-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")) + '("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")) + '("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")) + nil) + (org-ql-then + (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")) - nil) - (org-ql-expect ((deadline :to "2017-07-05")) - '("/r/emacs")) - (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)) - '("/r/emacs"))))) + (org-ql-expect ((deadline :to "2017-07-04")) + nil) + (org-ql-expect ((deadline :to "2017-07-05")) + '("/r/emacs")) + (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)) + '("/r/emacs"))))) (org-ql-it "(done)" - (org-ql-expect ((done)) - '("Learn universal sign language"))) + (org-ql-expect ((done)) + '("Learn universal sign language"))) (org-ql-it "(habit)" - (org-ql-expect ((habit)) - '("Practice leaping tall buildings in a single bound"))) + (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")) - ;; 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-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")) - '("Take over the world")))) + (org-ql-expect ((heading "Take over" "world")) + '("Take over the world")))) (describe "(link)" (org-ql-it "without arguments" - (org-ql-expect ((link)) - '("/r/emacs"))) + (org-ql-expect ((link)) + '("/r/emacs"))) (org-ql-it "with description-or-target" - (org-ql-expect ((link "emacs")) - '("/r/emacs"))) + (org-ql-expect ((link "emacs")) + '("/r/emacs"))) (org-ql-it "with :description" - (org-ql-expect ((link :description "emacs")) - '("/r/emacs"))) + (org-ql-expect ((link :description "emacs")) + '("/r/emacs"))) (org-ql-it "with :target" - (org-ql-expect ((link :target "reddit.com")) - '("/r/emacs"))) + (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")) - '("/r/emacs")))) + (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")) - '("Write a symphony"))) + (org-ql-expect ((outline-path "symphony")) + '("Write a symphony"))) (org-ql-it "with two arguments" - (org-ql-expect ((outline-path "idea" "symphony")) - '("Write a 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")) - '("Write a 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")) - '("Write a 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")) - nil))) + (org-ql-expect ((outline-path-segment "data" "symphony")) + nil))) (describe "(path)" (org-ql-it "without arguments" - (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-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")) - '("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-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")) - '("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-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")) - '("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-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)) - '("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)) + '("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)) - '("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-then + (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")) - '("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")) - nil) - (org-ql-then - (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-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")) + nil) + (org-ql-then + (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")) - '("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")) - '("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")) - '("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)) - '("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-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")) + '("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")) + '("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)) + '("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")) - '("Skype with president of Antarctica")) - (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")) - '("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)) - '("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 "2017-07-04")) + '("Skype with president of Antarctica")) + (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")) + '("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)) + '("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)) - '("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-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")) - '("Take over the universe" "Take over the world" "Skype with president of Antarctica" "Spaceship lease"))) + (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")) - '("Take over the universe" "Take over the world" "Skype with president of Antarctica" "Spaceship lease"))) + (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")) - '("Take over the moon" "Get haircut"))) + (org-ql-expect ((priority < "B")) + '("Take over the moon" "Get haircut"))) (org-ql-it "<= a priority" - (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-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")) - '("Take over the universe" "Take over the world" "Skype with president of Antarctica" "Spaceship lease"))) + (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")) - '("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")))) + (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. @@ -761,84 +761,84 @@ RESULTS should be a list of strings as returned by ;; (org-ql-expect ((property)))) (org-ql-it "with a property" - (org-ql-expect ((property "agenda-group")) - '("Take over the universe" "Spaceship lease" "Recurring" "Write a symphony"))) + (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")) - '("Take over the universe" "Write a symphony")))) + (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) - '("Take over the universe" "Take over the world" "Take over Mars" "Take over the moon" "Get haircut"))) + (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) - '("Take over the universe"))) + (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) - '("Take over the universe" "Take over the world" "Take over Mars" "Take over the moon" "Get haircut"))) + (org-ql-expect ("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 two plain strings in an OR" - (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-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) - '("Take over the universe" "Take over the world" "Take over Mars" "Take over the moon" "Get haircut")))) + ;; 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) + '("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)) - '("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)) + '("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)) - '("Skype with president of Antarctica")))) + (org-ql-then + ;; Using -1 is the easiest way to exclude some results but not all for testing this. + (org-ql-expect ((scheduled -1)) + '("Skype with president of Antarctica")))) (org-ql-it ":on" - (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")) - nil) - (org-ql-then - (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-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")) + nil) + (org-ql-then + (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")) - '("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")) - '("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")) - nil) - (org-ql-then - (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-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")) + '("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")) + nil) + (org-ql-then + (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")) - '("Skype with president of Antarctica")) - (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")) - '("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)) - '("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 "2017-07-04")) + '("Skype with president of Antarctica")) + (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")) + '("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)) + '("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 ;; significant hassle. Manual testing shows that the predicate appears to work properly. @@ -846,288 +846,288 @@ RESULTS should be a list of strings as returned by (describe "(todo)" (org-ql-it "without arguments" - (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-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) - '("Visit the moon"))) + (org-ql-expect ((todo "WAITING") + :sort todo) + '("Visit the moon"))) (org-ql-it "with 2 arguments" - (org-ql-expect ((todo "WAITING" "SOMEDAY") - :sort todo) - '("Visit the moon" "Rewrite Emacs in Common Lisp" "Write a symphony")))) + (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)) - '("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))) - '("Recurring" "Sunrise/sunset" "Ideas"))) + (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))) + '("Recurring" "Sunrise/sunset" "Ideas"))) (org-ql-it "with a tag" - (org-ql-expect ((tags "Emacs")) - '("/r/emacs" "Rewrite Emacs in Common Lisp")) - (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-expect ((tags "Emacs")) + '("/r/emacs" "Rewrite Emacs in Common Lisp")) + (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")) - '("Visit Mars" "Visit the moon" "/r/emacs" "Rewrite Emacs in Common Lisp")) - (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-expect ((tags "Emacs" "space")) + '("Visit Mars" "Visit the moon" "/r/emacs" "Rewrite Emacs in Common Lisp")) + (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")) - '("Fruit" "Blueberry" "Strawberry" "Vegetable" "Broccoli" "Potato") - :buffer (org-ql-test-data-buffer "data2.org")) - (org-ql-expect ((tags "fruit")) - '("Fruit" "Blueberry" "Strawberry") - :buffer (org-ql-test-data-buffer "data2.org")))) + (org-ql-expect ((tags "food")) + '("Fruit" "Blueberry" "Strawberry" "Vegetable" "Broccoli" "Potato") + :buffer (org-ql-test-data-buffer "data2.org")) + (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)) - '("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))) - '("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-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))) + '("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")) - nil) - (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"))) - '("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-expect ((tags-inherited "Emacs")) + nil) + (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"))) + '("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")) - '("Skype with president of Antarctica")) - (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-expect ((itags "personal" "world")) + '("Skype with president of Antarctica")) + (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")) - '("Fruit" "Blueberry" "Strawberry" "Vegetable" "Broccoli" "Potato") - :buffer (org-ql-test-data-buffer "data2.org")) - (org-ql-expect ((tags-inherited "fruit")) - '("Blueberry" "Strawberry") - :buffer (org-ql-test-data-buffer "data2.org")))) + (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")) + '("Blueberry" "Strawberry") + :buffer (org-ql-test-data-buffer "data2.org")))) (describe "(tags-local)" (org-ql-it "without arguments" - (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))) - '("Take over Mars" "Take over the moon" "Renew membership in supervillain club" "Learn universal sign language" "Recurring" "Sunrise/sunset" "Ideas"))) + (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))) + '("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")) - '("Take over the world" "Skype with president of Antarctica")) - (org-ql-expect ((ltags "ambition")) - '("Take over the universe")) - (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-expect ((tags-local "world")) + '("Take over the world" "Skype with president of Antarctica")) + (org-ql-expect ((ltags "ambition")) + '("Take over the universe")) + (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")) - '("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"))) - '("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-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"))) + '("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")) - nil - :buffer (org-ql-test-data-buffer "data2.org")) - (org-ql-expect ((tags-local "fruit")) - '("Fruit") - :buffer (org-ql-test-data-buffer "data2.org")))) + (org-ql-expect ((tags-local "food")) + nil + :buffer (org-ql-test-data-buffer "data2.org")) + (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")) - '("Practice leaping tall buildings in a single bound")) - (org-ql-expect ((tags& "ambition" "space")) - '("Visit Mars" "Visit the moon"))) + (org-ql-expect ((tags-all "universe" "personal")) + '("Practice leaping tall buildings in a single bound")) + (org-ql-expect ((tags& "ambition" "space")) + '("Visit Mars" "Visit the moon"))) (org-ql-it "with file tags" - (org-ql-expect ((tags-all "food" "fruit")) - '("Fruit" "Blueberry" "Strawberry") - :buffer (org-ql-test-data-buffer "data2.org")))) + (org-ql-expect ((tags-all "food" "fruit")) + '("Fruit" "Blueberry" "Strawberry") + :buffer (org-ql-test-data-buffer "data2.org")))) (describe "(ts)" (describe "active" (org-ql-it "without arguments" - (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-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)) - '("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)) - nil) - (org-ql-then - (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-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)) + nil) + (org-ql-then + (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)) - '("Take over the universe" "Visit Mars" "Visit the moon" "Renew membership in supervillain club" "Internet" "Spaceship lease" "Rewrite Emacs in Common Lisp")))) + (org-ql-then + (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)) - '("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)) - '("Skype with president of Antarctica")) - (org-ql-then - (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-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)) + '("Skype with president of Antarctica")) + (org-ql-then + (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)) - '("Skype with president of Antarctica")))) + (org-ql-then + (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)) - '("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)) - nil) - (org-ql-then - (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-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)) + nil) + (org-ql-then + (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)) - '("Take over the world"))))) + (org-ql-then + (org-ql-expect ((ts-active :on 2)) + '("Take over the world"))))) (describe "inactive" (org-ql-it "without arguments" - (org-ql-expect ((ts :type inactive)) - '("Visit the moon" "Learn universal sign language" "Rewrite Emacs in Common Lisp"))) + (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)) - '("Visit the moon" "Rewrite Emacs in Common Lisp")) - (org-ql-expect ((ts :from "2019-06-08" :type inactive)) - nil) - (org-ql-then - (org-ql-expect ((ts-inactive :from today)) - '("Visit the moon" "Learn universal sign language" "Rewrite Emacs in Common Lisp")))) + (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)) + nil) + (org-ql-then + (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)) - '("Visit the moon" "Rewrite Emacs in Common Lisp")))) + (org-ql-then + (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)) - '("Visit the moon" "Learn universal sign language" "Rewrite Emacs in Common Lisp")) - (org-ql-expect ((ts :to "2017-07-04" :type inactive)) - 'nil) - (org-ql-then - (org-ql-expect ((ts-inactive :to today)) - '("Learn universal sign language")))) + (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)) + 'nil) + (org-ql-then + (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)) - '("Learn universal sign language")))) + (org-ql-then + (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)) - '("Learn universal sign language")) - (org-ql-expect ((ts :on "2019-06-09" :type inactive)) - nil) - (org-ql-then - (org-ql-expect ((ts-inactive :on today)) - '("Learn universal sign language")))) + (org-ql-expect ((ts :on "2017-07-05" :type inactive)) + '("Learn universal sign language")) + (org-ql-expect ((ts :on "2019-06-09" :type inactive)) + nil) + (org-ql-then + (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)) - '("Visit the moon" "Rewrite Emacs in Common Lisp"))))) + (org-ql-then + (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)) - '("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)) - '("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)) + '("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)) + '("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")) - '("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)) - '("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")) - nil) - (org-ql-expect ((ts :from "2019-06-08" :type both)) - nil) - (org-ql-then - (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-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)) + '("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")) + nil) + (org-ql-expect ((ts :from "2019-06-08" :type both)) + nil) + (org-ql-then + (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)) - '("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 ((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")) - '("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)) - '("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")) - '("Skype with president of Antarctica")) - (org-ql-expect ((ts :to "2017-07-04" :type both)) - '("Skype with president of Antarctica")) - (org-ql-then - (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-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)) + '("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")) + '("Skype with president of Antarctica")) + (org-ql-expect ((ts :to "2017-07-04" :type both)) + '("Skype with president of Antarctica")) + (org-ql-then + (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)) - '("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-then + (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")) - '("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)) - '("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")) - nil) - (org-ql-expect ((ts :on "2019-06-09" :type both)) - nil) - (org-ql-then - (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-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)) + '("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")) + nil) + (org-ql-expect ((ts :on "2019-06-09" :type both)) + nil) + (org-ql-then + (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)) - '("Renew membership in supervillain club")))))) + (org-ql-then + (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"))) - '("Rewrite Emacs in Common Lisp")))))) + (org-ql-expect ((and (todo "SOMEDAY") + (tags "Emacs"))) + '("Rewrite Emacs in Common Lisp")))))) ;; Local Variables: ;; truncate-lines: t From b0b8c6334d0e70fc28ad7e560c0c771c0a027d54 Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Wed, 11 Nov 2020 19:43:53 -0600 Subject: [PATCH 241/615] Fix: (helm-org-ql.el) Compiler warnings --- helm-org-ql.el | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/helm-org-ql.el b/helm-org-ql.el index 059a965..e95bc5f 100644 --- a/helm-org-ql.el +++ b/helm-org-ql.el @@ -30,12 +30,9 @@ (eval-and-compile - (eval-when-compile - ;; Require these when compiling, but not necessarily on load. - (require 'org) - - (require 'org-ql) - (require 'org-ql-search)) + (require 'org) + (require 'org-ql) + (require 'org-ql-search) ;;;; Compatibility @@ -77,8 +74,10 @@ Based on `helm-map'.") :action (list (cons "Show view" #'org-ql-view))) "Helm source for `org-ql-views'.") - (defvar-local helm-org-ql-buffers-files nil - "Used for `helm-org-ql-save'.") + (with-no-warnings + ;; Silence compiler warning: "‘make-variable-buffer-local’ not called at toplevel" + (defvar-local helm-org-ql-buffers-files nil + "Used for `helm-org-ql-save'.")) ;;;; Customization From f8d671a7b8744c89f1497f0b05f17525ac3a8078 Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Wed, 11 Nov 2020 19:49:03 -0600 Subject: [PATCH 242/615] Docs: Thanks to @tpeacock19 --- README.org | 3 +++ org-ql.info | 42 +++++++++++++++++++++++------------------- 2 files changed, 26 insertions(+), 19 deletions(-) diff --git a/README.org b/README.org index a4ee176..74d8c01 100644 --- a/README.org +++ b/README.org @@ -469,6 +469,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. +*Acknowledgments* ++ [[https://github.com/tpeacock19][tpeacock19]] for extensive help testing new features in this version. + ** 0.4.6 *Fixed* diff --git a/org-ql.info b/org-ql.info index 69af6fe..d215a50 100644 --- a/org-ql.info +++ b/org-ql.info @@ -849,6 +849,10 @@ File: README.info, Node: 05-pre, Next: 046, Up: Changelog our cache, and it removes the need for a compatibility alias for Org versions before 9.3. + *Acknowledgments* + • tpeacock19 (https://github.com/tpeacock19) for extensive help + testing new features in this version. +  File: README.info, Node: 046, Next: 045, Prev: 05-pre, Up: Changelog @@ -1284,25 +1288,25 @@ Node: Links28046 Node: Tips28733 Node: Changelog29051 Node: 05-pre29690 -Node: 04630672 -Node: 04531075 -Node: 04431434 -Node: 04331791 -Node: 04231986 -Node: 04132145 -Node: 0432384 -Node: 03236315 -Node: 03136692 -Node: 0336889 -Node: 02339864 -Node: 02240092 -Node: 02140360 -Node: 0240559 -Node: 0144594 -Node: Notes44695 -Node: Comparison with Org Agenda searches44857 -Node: org-sidebar45729 -Node: License46008 +Node: 04630806 +Node: 04531209 +Node: 04431568 +Node: 04331925 +Node: 04232120 +Node: 04132279 +Node: 0432518 +Node: 03236449 +Node: 03136826 +Node: 0337023 +Node: 02339998 +Node: 02240226 +Node: 02140494 +Node: 0240693 +Node: 0144728 +Node: Notes44829 +Node: Comparison with Org Agenda searches44991 +Node: org-sidebar45863 +Node: License46142  End Tag Table From 2bed84aa1edeae12124d5661602080220f859544 Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Wed, 11 Nov 2020 19:54:13 -0600 Subject: [PATCH 243/615] Fix: (org-ql-view--contract-buffers-files) Don't check file exists If the buffer has no filename, this will signal an error. --- org-ql-view.el | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/org-ql-view.el b/org-ql-view.el index f2c1479..bfe72ba 100644 --- a/org-ql-view.el +++ b/org-ql-view.el @@ -1032,7 +1032,7 @@ current buffer. Otherwise BUFFERS-FILES is returned unchanged." "buffer") ((or 'org-agenda-files '(function org-agenda-files)) "org-agenda-files") - ((and (pred bufferp) (guard (file-exists-p (buffer-file-name buffers-files)))) + ((and (pred bufferp) (guard (buffer-file-name buffers-files))) (buffer-file-name buffers-files)) (_ (let ((print-length nil)) (prin1-to-string buffers-files)))))) From c2c7efed00b0f52f80538adee2d7eb7a53ea27c5 Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Wed, 11 Nov 2020 20:38:05 -0600 Subject: [PATCH 244/615] Docs: Update readme Links can search more than just the current document now. --- README.org | 2 +- org-ql.info | 42 +++++++++++++++++++++--------------------- 2 files changed, 22 insertions(+), 22 deletions(-) diff --git a/README.org b/README.org index 74d8c01..9d68254 100644 --- a/README.org +++ b/README.org @@ -460,7 +460,7 @@ Simple links may also be written manually in either sexp or non-sexp form, like: + Predicate =link=, which matches descriptions and targets in Org links. + Emacs bookmark support: Org QL View buffers can be bookmarked with, e.g. =C-x r m= and shown with, e.g. =C-x r b=. (This also enables view restoration with [[https://github.com/alphapapa/burly.el][Burly]].) + Dynamic block support. -+ Org link support (storing and opening links to Org QL View searches in the current document). ++ Org link support (storing and opening links to Org QL View searches). + Mascot. *Changed* diff --git a/org-ql.info b/org-ql.info index d215a50..2b5c83f 100644 --- a/org-ql.info +++ b/org-ql.info @@ -836,8 +836,8 @@ File: README.info, Node: 05-pre, Next: 046, Up: Changelog view restoration with Burly (https://github.com/alphapapa/burly.el).) • Dynamic block support. - • Org link support (storing and opening links to Org QL View searches - in the current document). + • Org link support (storing and opening links to Org QL View + searches). • Mascot. *Changed* @@ -1288,25 +1288,25 @@ Node: Links28046 Node: Tips28733 Node: Changelog29051 Node: 05-pre29690 -Node: 04630806 -Node: 04531209 -Node: 04431568 -Node: 04331925 -Node: 04232120 -Node: 04132279 -Node: 0432518 -Node: 03236449 -Node: 03136826 -Node: 0337023 -Node: 02339998 -Node: 02240226 -Node: 02140494 -Node: 0240693 -Node: 0144728 -Node: Notes44829 -Node: Comparison with Org Agenda searches44991 -Node: org-sidebar45863 -Node: License46142 +Node: 04630782 +Node: 04531185 +Node: 04431544 +Node: 04331901 +Node: 04232096 +Node: 04132255 +Node: 0432494 +Node: 03236425 +Node: 03136802 +Node: 0336999 +Node: 02339974 +Node: 02240202 +Node: 02140470 +Node: 0240669 +Node: 0144704 +Node: Notes44805 +Node: Comparison with Org Agenda searches44967 +Node: org-sidebar45839 +Node: License46118  End Tag Table From 6ab74454d0493105a1c57889c85800f4df962ebd Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Wed, 11 Nov 2020 20:45:10 -0600 Subject: [PATCH 245/615] Fix: (org-ql-view--expand-buffers-files) Remove eval support This prevents arbitrary code execution when opening "org-ql-search:" links. (The links feature was just pushed to master in the last day or so, and no stable release with the feature has been tagged.) This fix also means that arbitrary expressions are no longer accepted when interactively completing the buffers-files argument to org-ql-search (a worthy trade, I think; users who need to do that can call the function from Lisp). --- README.org | 1 - org-ql-search.el | 1 - org-ql-view.el | 1 - org-ql.info | 75 ++++++++++++++++++++++++------------------------ 4 files changed, 37 insertions(+), 41 deletions(-) diff --git a/README.org b/README.org index 9d68254..7863b92 100644 --- a/README.org +++ b/README.org @@ -106,7 +106,6 @@ Read ~QUERY~ and search with ~org-ql~. Interactively, prompt for these variable + ~buffer~: search the current buffer + ~all~: search all Org buffers + ~agenda~: search buffers returned by the function ~org-agenda-files~ -+ An expression which evaluates to a list of files/buffers + A space-separated list of file or buffer names ~GROUPS~: An ~org-super-agenda~ group set. See variable ~org-super-agenda-groups~. diff --git a/org-ql-search.el b/org-ql-search.el index 0bd02f2..3abc468 100644 --- a/org-ql-search.el +++ b/org-ql-search.el @@ -119,7 +119,6 @@ Interactively, may also be: - `all': search all Org buffers - `agenda': search buffers returned by the function `org-agenda-files' - `directory': search Org files in `org-directory' -- An expression which evaluates to a list of files/buffers - A space-separated list of file or buffer names QUERY: An `org-ql' query in either sexp or non-sexp form (see diff --git a/org-ql-view.el b/org-ql-view.el index bfe72ba..d7a34a8 100644 --- a/org-ql-view.el +++ b/org-ql-view.el @@ -1063,7 +1063,6 @@ The counterpart to `org-ql-view--contract-buffers-files'." ("all" (--select (equal (buffer-local-value 'major-mode it) 'org-mode) (buffer-list))) ("org-directory" (org-ql-search-directories-files)) - ((and form (guard (rx bos "("))) (-flatten (eval (read form)))) (else (s-split (rx (1+ space)) else)))) (defun org-ql-view--complete-super-groups () diff --git a/org-ql.info b/org-ql.info index 2b5c83f..baf149e 100644 --- a/org-ql.info +++ b/org-ql.info @@ -214,7 +214,6 @@ Interactively, may also be: • ‘all’: search all Org buffers • ‘agenda’: search buffers returned by the function ‘org-agenda-files’ - • An expression which evaluates to a list of files/buffers • A space-separated list of file or buffer names ‘GROUPS’: An ‘org-super-agenda’ group set. See variable @@ -1270,43 +1269,43 @@ Node: Quelpa2428 Node: Usage2871 Node: Commands3269 Node: org-ql-search3742 -Node: helm-org-ql5456 -Node: org-ql-view5868 -Node: org-ql-view-sidebar6368 -Node: org-ql-view-recent-items6724 -Node: org-ql-sparse-tree7208 -Node: Queries8008 -Node: Non-sexp query syntax8916 -Node: General predicates10623 -Node: Ancestor/descendant predicates15838 -Node: Date/time predicates16966 -Node: Functions / Macros19621 -Node: Agenda-like views19876 -Node: Listing / acting-on results21281 -Node: Dynamic block25883 -Node: Links28046 -Node: Tips28733 -Node: Changelog29051 -Node: 05-pre29690 -Node: 04630782 -Node: 04531185 -Node: 04431544 -Node: 04331901 -Node: 04232096 -Node: 04132255 -Node: 0432494 -Node: 03236425 -Node: 03136802 -Node: 0336999 -Node: 02339974 -Node: 02240202 -Node: 02140470 -Node: 0240669 -Node: 0144704 -Node: Notes44805 -Node: Comparison with Org Agenda searches44967 -Node: org-sidebar45839 -Node: License46118 +Node: helm-org-ql5392 +Node: org-ql-view5804 +Node: org-ql-view-sidebar6304 +Node: org-ql-view-recent-items6660 +Node: org-ql-sparse-tree7144 +Node: Queries7944 +Node: Non-sexp query syntax8852 +Node: General predicates10559 +Node: Ancestor/descendant predicates15774 +Node: Date/time predicates16902 +Node: Functions / Macros19557 +Node: Agenda-like views19812 +Node: Listing / acting-on results21217 +Node: Dynamic block25819 +Node: Links27982 +Node: Tips28669 +Node: Changelog28987 +Node: 05-pre29626 +Node: 04630718 +Node: 04531121 +Node: 04431480 +Node: 04331837 +Node: 04232032 +Node: 04132191 +Node: 0432430 +Node: 03236361 +Node: 03136738 +Node: 0336935 +Node: 02339910 +Node: 02240138 +Node: 02140406 +Node: 0240605 +Node: 0144640 +Node: Notes44741 +Node: Comparison with Org Agenda searches44903 +Node: org-sidebar45775 +Node: License46054  End Tag Table From 689cfd68e78b69ff19666706b876db97b152bdb1 Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Wed, 11 Nov 2020 22:52:54 -0600 Subject: [PATCH 246/615] Fix: (-view--link-open) Set org-super-agenda-allow-unsafe-groups --- org-ql-view.el | 1 + 1 file changed, 1 insertion(+) diff --git a/org-ql-view.el b/org-ql-view.el index d7a34a8..0255b76 100644 --- a/org-ql-view.el +++ b/org-ql-view.el @@ -617,6 +617,7 @@ protocol. See, e.g. `org-ql-view--link-store'." ;; `url-parse-query-string' returns "improper" alists, which makes this awkward. (sort (--when-let (alist-get "sort" params nil nil #'string=) (read it))) + (org-super-agenda-allow-unsafe-groups nil) ; Disallow unsafe group selectors. (groups (--when-let (alist-get "super-groups" params nil nil #'string=) (read it))) (title (--when-let (alist-get "title" params nil nil #'string=) From a5d48868808a8ba59db360466f1c1b1060db16c5 Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Thu, 12 Nov 2020 00:22:23 -0600 Subject: [PATCH 247/615] Fix: (org-ql-view--link-open) Safety check the sort parameter --- org-ql-view.el | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/org-ql-view.el b/org-ql-view.el index 0255b76..6945c45 100644 --- a/org-ql-view.el +++ b/org-ql-view.el @@ -615,8 +615,13 @@ protocol. See, e.g. `org-ql-view--link-store'." (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 (alist-get "sort" params nil nil #'string=) - (read it))) + (sort (when-let* ((stored-string (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)) + (error "Potentially unsafe value found in link's SORT parameter (%s). Link not opened" + 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=) (read it))) From 5e790c48acb91b5969f0147f591fdcd7dfecc7bd Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Thu, 12 Nov 2020 00:22:45 -0600 Subject: [PATCH 248/615] Tests: Add tests for link safety --- tests/test-org-ql.el | 91 +++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 90 insertions(+), 1 deletion(-) diff --git a/tests/test-org-ql.el b/tests/test-org-ql.el index 51a2e3d..63a02cf 100644 --- a/tests/test-org-ql.el +++ b/tests/test-org-ql.el @@ -1127,7 +1127,96 @@ RESULTS should be a list of strings as returned by (org-ql-it "Tags and to-do" (org-ql-expect ((and (todo "SOMEDAY") (tags "Emacs"))) - '("Rewrite Emacs in Common Lisp")))))) + '("Rewrite Emacs in Common Lisp"))))) + + (describe "Org link safety" + + ;; NOTE: These tests probably do not guarantee safety. Still, these tests are probably + ;; better than nothing. In fact, this is pretty cool: by testing for the specific error + ;; signal and the arguments to the error, I caught a mistake I made while writing these tests + ;; (leaving a closing bracket off one of the links), which caused that test to fail but for a + ;; different reason. Were it not for testing the specific error AND its arguments, that test + ;; case would have apparently passed, but it would have hidden the mistake in the test. + + ;; Also, while writing these tests, the version of org-super-agenda in the test sandbox does + ;; not have the fix applied yet, and the test for that apparently, correctly does not pass yet. + + (require 'org-ql-search) + (require 'org-ql-view) + + (cl-flet ((open-link + (link) (with-temp-buffer + (org-mode) + (insert link) + (backward-char 1) + (call-interactively #'org-open-at-point)))) + + (it "buffers-files parameter" + (let ((quoted-lambda-link "[[org-ql-search:todo:?buffers-files%3D%28lambda%20nil%20%28message%20%22AHA%22%29%29]]") + (unquoted-lambda-link "[[org-ql-search:todo:?buffers-files%3D%28lambda%20nil%20%28message%20%22AHA%22%29%29]]") + (quoted-lambda-in-list-link "[[org-ql-search:todo:?buffers-files%3D%28%28quote%20%28lambda%20nil%20%28message%20%22AHA%22%29%29%29%29]]") + (unquoted-lambda-in-list-link "[[org-ql-search:todo:?buffers-files%3D%28%28lambda%20nil%20%28message%20%22AHA%22%29%29%29]]")) + (expect (open-link quoted-lambda-link) + :to-throw 'wrong-type-argument '(stringp (lambda nil (message "AHA")))) + (expect (open-link unquoted-lambda-link) + :to-throw 'wrong-type-argument '(stringp (lambda nil (message "AHA")))) + (expect (open-link quoted-lambda-in-list-link) + :to-throw 'wrong-type-argument '(stringp ((quote (lambda nil (message "AHA")))))) + (expect (open-link unquoted-lambda-in-list-link) + :to-throw 'wrong-type-argument '(stringp ((lambda nil (message "AHA"))))))) + + (it "super-groups parameter" + (let ((quoted-lambda-link "[[org-ql-search:todo:?super-groups%3D%28lambda%20nil%20%28message%20%22AHA%22%29%29]]") + (unquoted-lambda-link "[[org-ql-search:todo:?super-groups%3D%28lambda%20nil%20%28message%20%22AHA%22%29%29]]") + (quoted-expression-link "[[org-ql-search:todo:?super-groups%3D%28message%20%22AHA%22%29]]") + (unquoted-expression-link "[[org-ql-search:todo:?super-groups%3D%22AHA%22]]") + (pred-selector-link "[[org-ql-search:todo:?super-groups%3D%28%28%3Apred%20%28lambda%20%28_%29%20%28message%20%22AHA%22%29%29%29%29]]") + (auto-map-selector-link "[[org-ql-search:todo:?super-groups%3D%28%28%3Aauto-map%20%28lambda%20%28_%29%20%28message%20%22AHA%22%29%29%29%29]]")) + (expect (open-link quoted-lambda-link) + :to-throw 'wrong-type-argument '(listp lambda)) + (expect (open-link unquoted-lambda-link) + :to-throw 'wrong-type-argument '(listp lambda)) + (expect (open-link quoted-expression-link) + :to-throw 'wrong-type-argument '(listp message)) + (expect (open-link unquoted-expression-link) + :to-throw 'error '("cl-etypecase failed: AHA, (symbol list)")) + + ;; FIXME: These two tests will not pass (i.e. they will not + ;; signal an error) until the version of org-super-agenda in + ;; the test sandbox is upgraded, which I'll do when MELPA + ;; packages the latest version. On the bright side, I just + ;; confirmed that, without the fix to org-super-agenda, + ;; these are vulnerable, which means that the test catches + ;; this problem and detects the fix. + (expect (open-link pred-selector-link) + :to-throw 'error '("Unsafe groups disallowed (:pred): (lambda (_) (message AHA))")) + (expect (open-link auto-map-selector-link) + :to-throw 'error '("Unsafe groups disallowed (:auto-map): ((lambda (_) (message AHA)))")))) + + (it "title parameter" + (let ((quoted-lambda-link "[[org-ql-search:todo:?title%3D%28lambda%20%28_%20_%29%20%28message%20%22AHA%22%29%29]]") + (unquoted-lambda-link "[[org-ql-search:todo:?title%3D%28lambda%20%28_%20_%29%20%28message%20%22AHA%22%29%29]]") + (expression-link "[[org-ql-search:todo:?title%3D%28message%20%22AHA%22%29]]")) + (expect (open-link quoted-lambda-link) + :to-throw 'wrong-type-argument '(characterp lambda)) + (expect (open-link unquoted-lambda-link) + :to-throw 'wrong-type-argument '(characterp lambda)) + (expect (open-link expression-link) + :to-throw 'wrong-type-argument '(characterp message)))) + + (it "sort parameter" + (let ((quoted-lambda-link "[[org-ql-search:todo:?sort%3D%28lambda%20%28_%20_%29%20%28message%20%22AHA%22%29%29]]") + (unquoted-lambda-link "[[org-ql-search:todo:?sort%3D%28lambda%20%28_%20_%29%20%28message%20%22AHA%22%29%29]]") + (quoted-lambda-in-list-link "[[org-ql-search:todo:?sort%3D%28%28quote%20%28lambda%20%28_%20_%29%20%28message%20%22AHA%22%29%29%29%29]]") + (unquoted-lambda-in-list-link "[[org-ql-search:todo:?sort=((lambda%20nil%20(message%20\"AHA\")))]]")) + (expect (open-link quoted-lambda-link) + :to-throw 'error '("Potentially unsafe value found in link’s SORT parameter ((lambda (_ _) (message AHA))). Link not opened")) + (expect (open-link unquoted-lambda-link) + :to-throw 'error '("Potentially unsafe value found in link’s SORT parameter ((lambda (_ _) (message AHA))). Link not opened")) + (expect (open-link quoted-lambda-in-list-link) + :to-throw 'error '("Potentially unsafe value found in link’s SORT parameter (((quote (lambda (_ _) (message AHA))))). Link not opened")) + (expect (open-link unquoted-lambda-in-list-link) + :to-throw 'error '("Potentially unsafe value found in link’s SORT parameter (((lambda nil (message AHA)))). Link not opened"))))))) ;; Local Variables: ;; truncate-lines: t From a069cf5b2cd1f0ef3430111feeae4e49765bf47a Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Thu, 12 Nov 2020 00:26:53 -0600 Subject: [PATCH 249/615] Notes: Update --- notes.org | 82 +++++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 80 insertions(+), 2 deletions(-) diff --git a/notes.org b/notes.org index 3e9aea5..46214e1 100644 --- a/notes.org +++ b/notes.org @@ -70,8 +70,6 @@ - [[#org-agenda-skip-function][org-agenda-skip-function]] - [[#test-caching][Test caching]] - [[#update-commentary][Update commentary]] -- [[#convert-simple-sexp-queries-to-non-sexp][Convert simple sexp queries to non-sexp]] -- [[#tools-for-saving-queries-and-accessing-them-34][Tools for saving queries and accessing them {3/4}]] - [[#outline-path-predicate][Outline path predicate]] - [[#recursive-queries][Recursive queries]] - [[#timeline-view][Timeline view]] @@ -80,7 +78,10 @@ - [[#overlay-based-caching-inspired-by-org-num-mode][Overlay-based caching inspired by org-num-mode]] - [[#alternative-parsing-libraries][Alternative parsing libraries]] - [[#fancier-searching-for-inherited-tags][Fancier searching for inherited tags]] +- [[#convert-simple-sexp-queries-to-non-sexp][Convert simple sexp queries to non-sexp]] +- [[#tools-for-saving-queries-and-accessing-them-34][Tools for saving queries and accessing them {3/4}]] - [[#group-tag-support][Group tag support]] +- [[#checking-links-for-unsafe-parameters][Checking links for unsafe parameters]] - [[#dynamic-blocks][Dynamic blocks]] - [[#helm-command][Helm command]] - [[#quickly-change-sortinggrouping-in-search-views][Quickly change sorting/grouping in search views]] @@ -1167,6 +1168,83 @@ Next steps: + [X] Discuss caching of group tag expansion. It seems like we ought to cache the expansions as well, because sibling headings (especially at level 1) ought to get their group tags re-expanded individually, even when we've already expanded them for another heading. + [X] Remove unused =result= variable +** PROJECT [#A] Checking links for unsafe parameters +:PROPERTIES: +:ID: ba70e375-eddb-40df-8892-fb418c1f70d1 +:END: +:LOGBOOK: +- State "PROJECT" from "UNDERWAY" [2020-11-12 Thu 00:26] +- State "UNDERWAY" from [2020-11-11 Wed 23:09] +:END: + +*** TODO Tag org-super-agenda 1.2 and bump required version in org-ql + +That /should/ force the version of org-super-agenda with the fix to be installed when org-ql is upgraded. + +*** UNDERWAY Add automated tests +:LOGBOOK: +- State "UNDERWAY" from "TODO" [2020-11-12 Thu 00:24] +- State "TODO" from "MAYBE" [2020-11-11 Wed 23:16] +- State "MAYBE" from [2020-11-11 Wed 23:15] +:END: + +Maybe impractical, but maybe we could at least test that potentially unsafe ones signal errors. + +[2020-11-12 Thu 00:24] Works better than I expected. All the tests seem to correctly pass, signaling the correct errors for the correct reasons--except for the tests specific to org-super-agenda. For that, I'm currently waiting for MELPA to build the version of org-super-agenda that has the fix applied, so I can install that into the test sandbox, and then those two tests should pass also. + +*** DONE Enumerate and test parameters and potentially unsafe types +CLOSED: [2020-11-11 Wed 23:26] +:LOGBOOK: +- State "DONE" from "UNDERWAY" [2020-11-11 Wed 23:26] +- State "UNDERWAY" from [2020-11-11 Wed 23:15] +:END: + +#+CAPTION: Template for making testable links +#+BEGIN_SRC org +[[org-ql-search:todo:?]] +#+END_SRC + +#+CAPTION: Expression to insert encoded values into template (after the =?=) +#+BEGIN_SRC elisp + (insert (url-hexify-string (concat "buffers-files=" (prin1-to-string '((lambda () (message "AHA"))))))) +#+END_SRC + ++ [X] Buffers-Files: Expanded by =org-ql-view--expand-buffers-files=: + - [X] Quoted lambda: (safe) [[org-ql-search:todo:?buffers-files%3D%28lambda%20nil%20%28message%20%22AHA%22%29%29]] + - [X] Unquoted lambda: (safe) [[org-ql-search:todo:?buffers-files%3D%28lambda%20nil%20%28message%20%22AHA%22%29%29]] + - [X] Quoted lambda in list (safe): [[org-ql-search:todo:?buffers-files%3D%28%28quote%20%28lambda%20nil%20%28message%20%22AHA%22%29%29%29%29]] + - [X] Unquoted lambda in list: (safe) [[org-ql-search:todo:?buffers-files%3D%28%28lambda%20nil%20%28message%20%22AHA%22%29%29%29]] ++ [X] Groups + - [X] Quoted lambda (safe): [[org-ql-search:todo:?super-groups%3D%28lambda%20nil%20%28message%20%22AHA%22%29%29]] + - [X] Unquoted lambda (safe): [[org-ql-search:todo:?super-groups%3D%28lambda%20nil%20%28message%20%22AHA%22%29%29]] + - [X] Quoted expression (safe): [[org-ql-search:todo:?super-groups%3D%28message%20%22AHA%22%29]] + - [X] Unquoted expression (safe): [[org-ql-search:todo:?super-groups%3D%22AHA%22]] + - [X] ~:pred~ selector (UNSAFE, but caught with new org-super-agenda variable): [[org-ql-search:todo:?super-groups%3D%28%28%3Apred%20%28lambda%20%28_%29%20%28message%20%22AHA%22%29%29%29%29]] + - [X] =:auto-map= selector (UNSAFE, but caught with new org-super-agenda variable): [[org-ql-search:todo:?super-groups%3D%28%28%3Aauto-map%20%28lambda%20%28_%29%20%28message%20%22AHA%22%29%29%29%29]] ++ [X] Title + - [X] Quoted lambda (produces the same encoded value as unquoted lambda): (safe) [[org-ql-search:todo:?title%3D%28lambda%20%28_%20_%29%20%28message%20%22AHA%22%29%29]] + - [X] Unquoted lambda: (safe) [[org-ql-search:todo:?title%3D%28lambda%20%28_%20_%29%20%28message%20%22AHA%22%29%29]] + - [X] Expression: (safe) [[org-ql-search:todo:?title%3D%28message%20%22AHA%22%29]] ++ [X] Sort + - [X] Bare, quoted lambda: (maybe unsafe, but caught now): [[org-ql-search:todo:?sort%3D%28lambda%20%28_%20_%29%20%28message%20%22AHA%22%29%29]] + - [X] Bare, unquoted lambda: (UNSAFE, but caught now): [[org-ql-search:todo:?sort%3D%28lambda%20%28_%20_%29%20%28message%20%22AHA%22%29%29]] + - [X] Quoted lambda in list: (maybe unsafe, but caught now): [[org-ql-search:todo:?sort%3D%28%28quote%20%28lambda%20%28_%20_%29%20%28message%20%22AHA%22%29%29%29%29]] + - [X] Unquoted lambda in a list: (UNSAFE, but caught now): [[org-ql-search:todo:?sort=((lambda%20nil%20(message%20"AHA")))]] + +For the query expression: + +1. String queries are parsed by the PEG parsing function (which I will probably rename soon), which should only allow known Org QL predicates, not arbitrary functions. For example: + + #+BEGIN_SRC elisp + (org-ql--plain-query "message:AHA") ;;=> (regexp "message:AHA") + (org-ql--plain-query '(message "AHA")) ;;=> (wrong-type-argument stringp (message "AHA")) + (org-ql--plain-query "(message \"AHA\"") ;;=> (and (regexp "(message") (regexp "AHA")) + #+END_SRC + +2. Sexp queries already prompt for confirmation, unless the user has set =org-ql-view-ask-unsafe-links= to nil. + +[2020-11-11 Wed 23:27] That's all the parameters and all the types that I can think to test. + ** DONE [#A] Dynamic blocks + *Tasks* From 284eda87e573ba66537797536b9f749fd9804a73 Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Thu, 12 Nov 2020 02:10:57 -0600 Subject: [PATCH 250/615] Fix: (org-ql-view--link-store) Test Org version See #147. Thanks to @tpeacock19 for reporting. --- org-ql-view.el | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/org-ql-view.el b/org-ql-view.el index 6945c45..42a170e 100644 --- a/org-ql-view.el +++ b/org-ql-view.el @@ -648,6 +648,8 @@ protocol. See, e.g. `org-ql-view--link-store'." :title title))) (defvar org-ql-view--link-store-counter 0 + ;; TODO: When compatibility with Org <=9.1.4 is dropped, remove this. See + ;; . "Workaround for an idiosyncrasy of `org-store-link' that calls link-storing functions twice.") (defun org-ql-view--link-store () @@ -661,11 +663,13 @@ When opened, the link searches the buffer it's opened from." (cl-some #'bufferp org-ql-view-buffers-files)) ;; Buffers are unreadable, so they can't be linked to. (user-error "Views that search buffers rather than files can't be linked to")) - (cl-incf org-ql-view--link-store-counter) + (cl-incf org-ql-view--link-store-counter) ;; TODO: Remove when not supporting Org<=9.1.4. See other comment. (cl-flet ((prompt-for (buffers-files) ;; HACK: Use counter to avoid prompting the first of the ;; two times that `org-store-link' calls this function. - (when (cl-evenp org-ql-view--link-store-counter) + ;; TODO: Remove the version check when not supporting Org<=9.1.4. See other comment. + (when (or (version< "9.1.4" (org-version)) + (cl-evenp org-ql-view--link-store-counter)) (pcase-exhaustive (completing-read (format "Link to search file containing inserted link or %s? " buffers-files) (list "containing file" buffers-files) nil t) From f63012dd5adb9d3842a7790c5cbc45edf88fbcb2 Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Thu, 12 Nov 2020 02:43:08 -0600 Subject: [PATCH 251/615] Fix: (org-ql-view--link-store) Rejection of unlinkable buffers Also, remove the Org <=9.1.4 compatibility code. It's not worth it. I'm probably the only person who needs it, anyway, and I can live with the double-call until I upgrade my Org version. Fixes #148. Thanks to @tpeacock19 for reporting. --- org-ql-view.el | 33 +++++++++++++-------------------- 1 file changed, 13 insertions(+), 20 deletions(-) diff --git a/org-ql-view.el b/org-ql-view.el index 42a170e..843211e 100644 --- a/org-ql-view.el +++ b/org-ql-view.el @@ -647,11 +647,6 @@ protocol. See, e.g. `org-ql-view--link-store'." :super-groups groups :title title))) -(defvar org-ql-view--link-store-counter 0 - ;; TODO: When compatibility with Org <=9.1.4 is dropped, remove this. See - ;; . - "Workaround for an idiosyncrasy of `org-store-link' that calls link-storing functions twice.") - (defun org-ql-view--link-store () "Store a link to the current Org QL view. When opened, the link searches the buffer it's opened from." @@ -659,22 +654,20 @@ When opened, the link searches the buffer it's opened from." (require 'url-util) (when org-ql-view-query ;; Only Org QL View buffers should have `org-ql-view-query' set. - (when (or (bufferp org-ql-view-buffers-files) - (cl-some #'bufferp org-ql-view-buffers-files)) - ;; Buffers are unreadable, so they can't be linked to. - (user-error "Views that search buffers rather than files can't be linked to")) - (cl-incf org-ql-view--link-store-counter) ;; TODO: Remove when not supporting Org<=9.1.4. See other comment. (cl-flet ((prompt-for (buffers-files) - ;; HACK: Use counter to avoid prompting the first of the - ;; two times that `org-store-link' calls this function. - ;; TODO: Remove the version check when not supporting Org<=9.1.4. See other comment. - (when (or (version< "9.1.4" (org-version)) - (cl-evenp org-ql-view--link-store-counter)) - (pcase-exhaustive - (completing-read (format "Link to search file containing inserted link or %s? " buffers-files) - (list "containing file" buffers-files) nil t) - ("containing file" nil) - (buffers-files (prin1-to-string buffers-files)))))) + (pcase-exhaustive + (completing-read (format "Link to search file containing inserted link or %s? " buffers-files) + (list "containing file" buffers-files) nil t) + ("containing file" nil) + (buffers-files (prin1-to-string buffers-files)))) + (string-or-file-buffer-p + (thing) (or (stringp thing) + (and (bufferp thing) + (buffer-file-name thing))))) + (unless (or (string-or-file-buffer-p org-ql-view-buffers-files) + (and (listp org-ql-view-buffers-files) + (cl-every #'string-or-file-buffer-p org-ql-view-buffers-files))) + (user-error "Views that search non-file-backed buffers can't be linked to")) (let* ((query-string (--if-let (org-ql--query-sexp-to-string org-ql-view-query) it (prin1-to-string (org-ql-view--format-query org-ql-view-query)))) (buffers-files (prompt-for (org-ql-view--contract-buffers-files org-ql-view-buffers-files))) From cbd4ea89f4f044719a01cf189a2a85efeaaec889 Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Thu, 12 Nov 2020 03:18:16 -0600 Subject: [PATCH 252/615] Notes: Update --- notes.org | 22 ++++++++++++++++------ 1 file changed, 16 insertions(+), 6 deletions(-) diff --git a/notes.org b/notes.org index 46214e1..451e6fb 100644 --- a/notes.org +++ b/notes.org @@ -18,19 +18,18 @@ ** Underway -[[org-ql-search:%2528todo%2520%2522UNDERWAY%2522%2529?sort=%2528priority%2529&title=%2522Underway%2522][org-ql-search: Underway]] +[[org-ql-search:todo%253AUNDERWAY?sort=%2528priority%2529&title=%2522Underway%2522][org-ql-search: Underway]] #+BEGIN: org-ql :query (todo "UNDERWAY") :columns ((priority "P") (todo "Keyword") heading) :sort (priority date) :ts-format "%Y-%m-%d %H:%M" | P | Keyword | Heading | |---+----------+--------------------------------------------------------------------| -| A | UNDERWAY | [[Tools%20for%20saving%20queries%20and%20accessing%20them%20%5B3/4%5D][Tools for saving queries and accessing them {3/4}]] | -| A | UNDERWAY | [[Org%20link%20types%20%5B2/3%5D][Org link types {2/3}]] | | A | UNDERWAY | [[Outline path predicate][Outline path predicate]] | | B | UNDERWAY | [[Recursive queries][Recursive queries]] | | B | UNDERWAY | [[Timeline view][Timeline view]] | | B | UNDERWAY | [["Node" caching]["Node" caching]] | | B | UNDERWAY | [[Implement view with tabulated-list-mode or magit-section][Implement view with tabulated-list-mode or magit-section]] | | | UNDERWAY | [[Benchmarking tags searches without and with new group-tags support][Benchmarking tags searches without and with new group-tags support]] | +| | UNDERWAY | [[Add automated tests][Add automated tests]] | #+END: ** To-do @@ -46,7 +45,7 @@ | A | TODO | [[Change ~(deadline)~'s ~auto~ argument to ~:auto~ and/or ~:auto t~][Change ~(deadline)~'s ~auto~ argument to ~:auto~ and/or ~:auto t~]] | | A | TODO | [[Save views to dynamic blocks][Save views to dynamic blocks]] | | A | TODO | [[Consider how to "secure" searches from links and dynamic blocks][Consider how to "secure" searches from links and dynamic blocks]] | -| A | UNDERWAY | [[Tools%20for%20saving%20queries%20and%20accessing%20them%20%5B3/4%5D][Tools for saving queries and accessing them {3/4}]] | +| A | UNDERWAY | [[Outline path predicate][Outline path predicate]] | #+END: * [#A] Tasks @@ -64,6 +63,7 @@ - [[#add-more-sorters][Add more sorters?]] - [[#default-sort][Default sort]] - [[#partial-match-for-property-queries][Partial match for property queries]] +- [[#move-this-notes-file-into-an-orphan-metanotes-branch][Move this notes file into an orphan meta/notes branch]] - [[#new-transient-transient-lisp-variable-class][New Transient transient-lisp-variable class]] - [[#normalize-queries][Normalize queries]] - [[#update-view-screenshots][Update view screenshots]] @@ -162,6 +162,10 @@ e.g. something like [[https://200ok.ch/posts/2020-02-09_creating_org_mode_sparse Searching that with a query like =property:author=Fabrice= returns nothing; the full value must be used, like ~property:author="Fabrice Niessen"~. It should be possible to do something like ~property:author=~Fabrice~ to search for partial matches. +** TODO [#B] Move this notes file into an orphan =meta/notes= branch + +[2020-11-12 Thu 03:17] Will probably have to merge or delete some WIP branches first, otherwise they'll probably get conflicts. + ** TODO [#C] [[https://github.com/magit/transient/issues/76][New Transient transient-lisp-variable class]] [2020-10-19 Mon 00:23] Should try to use this instead of whatever bespoke code is currently used. @@ -1181,7 +1185,7 @@ Next steps: That /should/ force the version of org-super-agenda with the fix to be installed when org-ql is upgraded. -*** UNDERWAY Add automated tests +*** DONE Add automated tests :LOGBOOK: - State "UNDERWAY" from "TODO" [2020-11-12 Thu 00:24] - State "TODO" from "MAYBE" [2020-11-11 Wed 23:16] @@ -1245,7 +1249,13 @@ For the query expression: [2020-11-11 Wed 23:27] That's all the parameters and all the types that I can think to test. -** DONE [#A] Dynamic blocks +** PROJECT Dynamic blocks + +*** TODO [#B] Save view to dynamic block + +[2020-11-12 Thu 03:23] A command to do this would be very helpful. + +*** DONE [#A] Implement dynamic blocks + *Tasks* - [X] Merge code From 337bfa6695bb5c3df83904311c0350499a2f3751 Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Thu, 12 Nov 2020 04:09:57 -0600 Subject: [PATCH 253/615] Add: (tags-regexp, tags*) Predicate --- README.org | 3 +++ org-ql.el | 20 ++++++++++++++ org-ql.info | 64 ++++++++++++++++++++++++-------------------- tests/test-org-ql.el | 28 +++++++++++++++++++ 4 files changed, 86 insertions(+), 29 deletions(-) diff --git a/README.org b/README.org index 7863b92..6fcfc92 100644 --- a/README.org +++ b/README.org @@ -219,6 +219,8 @@ Arguments are listed next to predicate names, where applicable. - Aliases: ~local-tags~, ~tags-l~, ~ltags~. + =tags-all (tags)= :: Return non-nil if current heading includes all of ~TAGS~. Tests both inherited and local tags. - Aliases: ~tags&~. ++ =tags-regexp (&rest regexps)= :: Return non-nil if current heading has tags matching one or more of ~REGEXPS~. Tests both inherited and local tags. + - Aliases: ~tags*~. + =todo (&optional keywords)= :: Return non-nil if current heading is a ~TODO~ item. With ~KEYWORDS~, return non-nil if its keyword is one of ~KEYWORDS~ (a list of strings). When called without arguments, only matches non-done tasks (i.e. does not match keywords in ~org-done-keywords~). *** Ancestor/descendant predicates @@ -457,6 +459,7 @@ Simple links may also be written manually in either sexp or non-sexp form, like: *Added* + View dispatcher using =transient.el= (like Magit), bound to =v= in search/view buffers. + Predicate =link=, which matches descriptions and targets in Org links. ++ Predicate ~tags-regexp~ (alias: ~tags*~), which matches regexps against entry tags (e.g, helpful when a tag might end in "s"). + Emacs bookmark support: Org QL View buffers can be bookmarked with, e.g. =C-x r m= and shown with, e.g. =C-x r b=. (This also enables view restoration with [[https://github.com/alphapapa/burly.el][Burly]].) + Dynamic block support. + Org link support (storing and opening links to Org QL View searches). diff --git a/org-ql.el b/org-ql.el index f6639c4..dc6ee24 100644 --- a/org-ql.el +++ b/org-ql.el @@ -672,6 +672,7 @@ Replaces bare strings with (regexp) selectors, and appropriate ;; Inherited and local predicate aliases. (`(,(or 'tags-i 'itags 'inherited-tags) . ,tags) `(tags-inherited ,@tags)) (`(,(or 'tags-l 'ltags 'local-tags) . ,tags) `(tags-local ,@tags)) + (`(,(or 'tags*) . ,regexps) `(tags-regexp ,@regexps)) ;; Timestamps (`(,(or 'ts-active 'ts-a) . ,rest) `(ts :type active ,@rest)) @@ -1153,6 +1154,25 @@ If TAGS is nil, return non-nil if heading has any local tags." (otherwise (when (tags-p local) (seq-intersection tags local))))))) +(org-ql--defpred (tags-regexp tags*) (&rest regexps) + "Return non-nil if current heading has tags matching one or more of REGEXPS. +Tests both inherited and local tags." + (cl-macrolet ((tags-p (tags) + `(and ,tags + (not (eq 'org-ql-nil ,tags))))) + (-let* (((inherited local) (org-ql--tags-at (point)))) + (cl-typecase regexps + (null (or (tags-p inherited) + (tags-p local))) + (otherwise (or (when (tags-p inherited) + (cl-loop for tag in inherited + thereis (cl-loop for regexp in regexps + thereis (string-match regexp tag)))) + (when (tags-p local) + (cl-loop for tag in local + thereis (cl-loop for regexp in regexps + thereis (string-match regexp tag)))))))))) + (org-ql--defpred level (level-or-comparator &optional level) "Return non-nil if current heading's outline level matches arguments. The following forms are accepted: diff --git a/org-ql.info b/org-ql.info index baf149e..3d86d66 100644 --- a/org-ql.info +++ b/org-ql.info @@ -455,6 +455,10 @@ Arguments are listed next to predicate names, where applicable. Return non-nil if current heading includes all of ‘TAGS’. Tests both inherited and local tags. • Aliases: ‘tags&’. +‘tags-regexp (&rest regexps)’ + Return non-nil if current heading has tags matching one or more of + ‘REGEXPS’. Tests both inherited and local tags. + • Aliases: ‘tags*’. ‘todo (&optional keywords)’ Return non-nil if current heading is a ‘TODO’ item. With ‘KEYWORDS’, return non-nil if its keyword is one of ‘KEYWORDS’ (a @@ -830,6 +834,8 @@ File: README.info, Node: 05-pre, Next: 046, Up: Changelog search/view buffers. • Predicate link, which matches descriptions and targets in Org links. + • Predicate ‘tags-regexp’ (alias: ‘tags*’), which matches regexps + against entry tags (e.g, helpful when a tag might end in "s"). • Emacs bookmark support: Org QL View buffers can be bookmarked with, e.g. C-x r m and shown with, e.g. C-x r b. (This also enables view restoration with Burly @@ -1277,35 +1283,35 @@ Node: org-ql-sparse-tree7144 Node: Queries7944 Node: Non-sexp query syntax8852 Node: General predicates10559 -Node: Ancestor/descendant predicates15774 -Node: Date/time predicates16902 -Node: Functions / Macros19557 -Node: Agenda-like views19812 -Node: Listing / acting-on results21217 -Node: Dynamic block25819 -Node: Links27982 -Node: Tips28669 -Node: Changelog28987 -Node: 05-pre29626 -Node: 04630718 -Node: 04531121 -Node: 04431480 -Node: 04331837 -Node: 04232032 -Node: 04132191 -Node: 0432430 -Node: 03236361 -Node: 03136738 -Node: 0336935 -Node: 02339910 -Node: 02240138 -Node: 02140406 -Node: 0240605 -Node: 0144640 -Node: Notes44741 -Node: Comparison with Org Agenda searches44903 -Node: org-sidebar45775 -Node: License46054 +Node: Ancestor/descendant predicates15972 +Node: Date/time predicates17100 +Node: Functions / Macros19755 +Node: Agenda-like views20010 +Node: Listing / acting-on results21415 +Node: Dynamic block26017 +Node: Links28180 +Node: Tips28867 +Node: Changelog29185 +Node: 05-pre29824 +Node: 04631063 +Node: 04531466 +Node: 04431825 +Node: 04332182 +Node: 04232377 +Node: 04132536 +Node: 0432775 +Node: 03236706 +Node: 03137083 +Node: 0337280 +Node: 02340255 +Node: 02240483 +Node: 02140751 +Node: 0240950 +Node: 0144985 +Node: Notes45086 +Node: Comparison with Org Agenda searches45248 +Node: org-sidebar46120 +Node: License46399  End Tag Table diff --git a/tests/test-org-ql.el b/tests/test-org-ql.el index 63a02cf..d31a08f 100644 --- a/tests/test-org-ql.el +++ b/tests/test-org-ql.el @@ -962,6 +962,34 @@ RESULTS should be a list of strings as returned by '("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)) + '("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*))) + '("Recurring" "Sunrise/sunset" "Ideas"))) + + (org-ql-it "with a tag regexp" + (org-ql-expect ((tags-regexp "Emac")) + '("/r/emacs" "Rewrite Emacs in Common Lisp")) + (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")) + '("Visit Mars" "Visit the moon" "Spaceship lease" "Fix flux capacitor" "/r/emacs" "Rewrite Emacs in Common Lisp")) + (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")) + '("Fruit" "Blueberry" "Strawberry" "Vegetable" "Broccoli" "Potato") + :buffer (org-ql-test-data-buffer "data2.org")) + (org-ql-expect ((tags* "frui")) + '("Fruit" "Blueberry" "Strawberry") + :buffer (org-ql-test-data-buffer "data2.org")))) + (describe "(ts)" (describe "active" From 2b21871a02f865fc5c16a030442af3fd58bb9c60 Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Thu, 12 Nov 2020 04:13:47 -0600 Subject: [PATCH 254/615] Notes: Update --- notes.org | 540 +++++++++++++++++++++++++++--------------------------- 1 file changed, 270 insertions(+), 270 deletions(-) diff --git a/notes.org b/notes.org index 451e6fb..bbfa442 100644 --- a/notes.org +++ b/notes.org @@ -267,233 +267,6 @@ To implement this with good performance probably needs an outline-path cache. I [2019-10-07 Mon 13:09] This is basically done with =be2bf6df316b96b3ed56851b8ffe0e227796b621= and =be2bf6df316b96b3ed56851b8ffe0e227796b621=, but not the specific-path matching. I left a =MAYBE= in the code about "anchored" path matching, which would accomplish that. -** UNDERWAY [#B] Recursive queries - -For lack of a better term. A way to query for certain headings, and then gather results of a different query at each result of the first query, displaying all results in a single view. - -This works pretty well. It needs polishing, and some refactoring so items can be indented completely (rather than leaving the keyword unindented, as it is now). - -#+BEGIN_SRC elisp - (cl-defun org-ql-agenda-recursive (buffers-or-files queries &key action narrow sort) - (cl-labels ((rec (queries element indent) - (org-with-point-at (org-element-property :org-marker element) - (when-let* ((results (progn - (org-narrow-to-subtree) - (org-ql-select (current-buffer) - (car queries) - :action 'element-with-markers - :narrow t - :sort sort)))) - ;; Indent entry for each level - (setf results (--map - (org-element-put-property it :raw-value - (concat (s-repeat (* 5 indent) " ") - (org-element-property :raw-value it))) - results)) - (cons it (if (cdr queries) - (--map (rec (cdr queries) it) - results) - results)))))) - (when-let* ((indent 0) - (results (org-ql-select buffers-or-files - (car queries) - :action 'element-with-markers - :narrow narrow - :sort sort))) - (->> (if (cdr queries) - (--map (rec (cdr queries) it (1+ indent)) - results) - results) - (-flatten-n (1- (length queries))) - -non-nil - (org-ql-agenda--agenda nil nil - :entries))))) - - (cl-defun org-ql-select-recursive (buffers-or-files queries &key action narrow sort) - (cl-labels ((rec (queries element indent) - (org-with-point-at (org-element-property :org-marker element) - (when-let* ((results (progn - (org-narrow-to-subtree) - (org-ql-select (current-buffer) - (car queries) - :action 'element-with-markers - :narrow t - :sort sort)))) - ;; Indent entry for each level - (setf results (--map - (org-element-put-property it :raw-value - (concat (s-repeat (* 5 indent) " ") - (org-element-property :raw-value it))) - results)) - (cons it (if (cdr queries) - (--map (rec (cdr queries) it) - results) - results)))))) - (when-let* ((indent 0) - (results (org-ql-select buffers-or-files - (car queries) - :action 'element-with-markers - :narrow narrow - :sort sort))) - (->> (if (cdr queries) - (--map (rec (cdr queries) it (1+ indent)) - results) - results) - (-flatten-n (1- (length queries))) - -non-nil)))) -#+END_SRC - -** UNDERWAY [#B] Timeline view -:PROPERTIES: -:ID: 00573552-ffe9-4608-8904-7f6c73246b6d -:END: - -e.g. as mentioned by Samuel Wales at https://lists.gnu.org/archive/html/emacs-orgmode/2019-08/msg00330.html. Prototype code: - -#+BEGIN_SRC elisp - (cl-defun org-ql-timeline (buffers-files query) - (let ((results - (org-ql-select buffers-files - query :action - (lambda () - (let* ((heading-string - (->> (org-element-headline-parser - (line-end-position)) - org-ql--add-markers - org-ql-agenda--format-element)) - (timestamps - (cl-loop with limit = (org-entry-end-position) - while (re-search-forward org-ts-regexp-both - limit t) - collect (ts-parse-org (match-string 0)))) - (timestamp-strings - (->> timestamps - (-sort #'ts<) - (--map (concat " " (ts-format it)))))) - (s-join "\n" (cons heading-string timestamp-strings)))) - :sort '(date)))) - (org-ql-agenda--agenda nil nil :strings results))) - - (org-ql-timeline (org-agenda-files) - '(and "Emacs" (ts))) - - ;; More timeline-like version, organized by date rather than task. - - (cl-defun org-ql-timeline* (buffers-files query &key filter-ts) - (let* ((ts-ht (ht)) - (results (org-ql-select buffers-files - query - :action (lambda () - (let* ((heading-string - (->> (org-element-headline-parser - (line-end-position)) - org-ql--add-markers - org-ql-agenda--format-element)) - (date-timestamps - ;; Each one set to 00:00:00. - (cl-loop with limit = (org-entry-end-position) - while (re-search-forward org-ts-regexp-both - limit t) - collect (->> (match-string 0) - ts-parse-org - (ts-apply :hour 0 :minute 0 :second 0))))) - (setf date-timestamps (delete-dups date-timestamps)) - (when filter-ts - (setf date-timestamps (cl-remove-if-not filter-ts date-timestamps))) - (--each date-timestamps - (push heading-string (gethash it ts-ht))))))) - (tss-sorted (-sort #'ts< (ht-keys ts-ht))) - (strings (cl-loop for ts in tss-sorted - collect (concat "\n" - (propertize (ts-format "%Y-%m-%d" ts) - 'face 'org-agenda-structure)) - append (ht-get ts-ht ts)))) - (org-ql-agenda--agenda nil nil :strings strings))) - - (org-ql-timeline* (org-agenda-files) - '(ts :from -14) - :filter-ts `(lambda (ts) - (ts<= ,(ts-adjust 'day -14 (ts-now)) ts))) -#+END_SRC - -Another, more up-to-date implementation: - -#+BEGIN_SRC elisp - ;; NOTE: ts structs don't (sometimes? or always?) compare properly - ;; with default hash tables, e.g. this code: - - ;; (let* ((ts-a #s(ts nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil 1572670800.0)) - ;; (ts-b #s(ts nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil 1572584400.0))) - ;; (list :equal (equal ts-a ts-b) - ;; :sxhash-equal (equal (sxhash ts-a) (sxhash ts-b)))) ;;=> (:equal nil :sxhash-equal t) - - ;; So we must use the "contents-hash" table as described in the Elisp manual. - (define-hash-table-test 'contents-hash 'equal 'sxhash-equal) - - (cl-defun org-ql-view-timeline (buffers-files &key from to on) - "FIXME: DOcstring" - (cl-flet ((parse-ts-arg - (arg type) - ;; Parse ARG as a string or TS struct and adjust it to the beginning - ;; or end of its day, depending on whether TYPE is `:begin' or `:end'. - (-let (((hour minute second) (cl-ecase type - (:begin '(0 0 0)) - (:end '(23 59 59))))) - (->> (cl-typecase arg - (string (ts-parse arg)) - (ts arg)) - (ts-apply :hour hour :minute minute :second second))))) - (let* ((ts-predicate `(lambda (ts) - ,(cond (on `(ts-in ,(parse-ts-arg on :begin) - ts - ,(parse-ts-arg on :end))) - ((and from to) `(ts-in ,(parse-ts-arg from :begin) - ts - ,(parse-ts-arg to :end))) - (from `(ts<= ,(parse-ts-arg from :begin) ts)) - (to `(ts<= ts ,(parse-ts-arg to :end))) - (t (user-error "Huh?"))))) - (query (cond (on `(ts :from ,(parse-ts-arg on :begin) - :to ,(parse-ts-arg on :end))) - (t (append (list 'ts) - (when from - `(:from ,(parse-ts-arg from :begin))) - (when to - `(:to ,(parse-ts-arg to :end))))))) - (date-ts-table (make-hash-table :test 'contents-hash)) - (_results (org-ql-select buffers-files query - :action (lambda () - (let* ((string (->> (org-element-headline-parser - (line-end-position)) - org-ql--add-markers - org-ql-view--format-element))) - (cl-loop with limit = (org-entry-end-position) - while (re-search-forward org-ts-regexp-both limit t) - for ts = (->> (match-string 0) ts-parse-org) - when (funcall ts-predicate ts) - do (cl-pushnew (cons ts (concat (ts-format " %H:%M" ts) - string)) - (gethash (ts-apply :hour 0 :minute 0 :second 0 ts) - date-ts-table) - :test #'equal)))))) - (date-tss-sorted (->> date-ts-table hash-table-keys (-sort #'ts<))) - (string (cl-loop for date-ts in date-tss-sorted - for date-string = (propertize (ts-format "%Y-%m-%d" date-ts) - 'face 'org-agenda-structure) - concat (concat "\n" date-string) - concat (cl-loop for (ts . entry) in (->> (gethash date-ts date-ts-table) - (-sort (-on #'ts< #'car))) - concat (concat "\n" entry))))) - (org-ql-view--display :buffer "Timeline" - :header "Timeline" - :string string)))) - - ;; Used like: - ;; (org-ql-view-timeline "~/org/main.org" :from "2019-11-01") -#+END_SRC - -[2019-09-26 Thu 21:28] Would probably make sense to implement this using the view-sections someday. - ** UNDERWAY [#B] "Node" caching [2019-09-05 Thu 12:30] At each node checked by a predicate, make a struct that stores attributes we can query for, as well as parent node position. This would let us speed up ancestor-based queries, like =(ancestor (todo "WAITING"))=. Ideally it would also serve as the tag hierarchy cache. @@ -598,49 +371,6 @@ This works okay (except the priority accessor needs to be fixed, because Org pri :action #'helm-org-goto-marker)))) #+END_SRC -** UNDERWAY [#B] Implement view with tabulated-list-mode or magit-section - -[2019-09-02 Mon 05:20] Especially with some of the new packages that make =tabulated-list-mode= easier to use, like =navigel=. However, it would probably break grouping, or require some kind of adapter or extension to do grouping, so I don't know if that would work. Something like =magit-section= would be more flexible, and could be recursively grouped, like in =magit-todos=. - -[2019-09-08 Sun 10:06] Came up with a prototype yesterday, in branch =wip/view-section=. Seems to work pretty well. - -One of the things in that branch is =org-ql-item=, which is a struct used to carry data for query results. It seems to work well. - -Another idea for it is to simply store the element from =org-element-headline-parser= in one of its slots, and populate all of the other slots lazily, like =ts=. It already does that for a couple of slots, but I think it makes sense to do it for all of them, to reduce the overhead of making the struct for every query result. - -*** MAYBE [#C] Experiment with =widget= - -The code that powers the customization UI. Has collapsible and customizable widgets. Might be perfect. Might even enable editing items in the list, with functions to make the changes in the source buffers. - -*** Code idea - -Inserting items into a view could look something like this: - -#+BEGIN_SRC elisp - (org-ql-view--insert-items - :header (ts-format "%Y-%m-%d" (ts-now)) - :items (org-ql-query - :select #'org-ql-current-item - :from (org-agenda-files) - :where '(or (deadline auto) - (scheduled :on today) - (ts-active :on today))) - :group-by '(org-ql-item-priority - org-ql-item-todo)) -#+END_SRC - -Items would be structs, and the =group-by= argument would be a list of accessors, like how =magit-todos= works. Arbitrary functions could also be passed to =group-by=, as whatever value the function returns is used to group them. =org-ql-current-item= would be a function that turns the result of =org-element-headline-parser= into the struct. - -Not sure if it should automatically add the number of items to the header, or if that should be done manually. - -*** Prior art - -**** [[https://github.com/m2ym/direx-el][GitHub - m2ym/direx-el: Directory Explorer for GNU Emacs]] - -Appears to be another implementation of magit-section-like expandable sections. Not sure which came first. Its code seems like it may be helpful. - -**** magit-section - ** MAYBE [#C] Overlay-based caching inspired by org-num-mode [2019-12-30 Mon 22:42] Newer versions of Org have =org-num-mode=, which uses =font-lock= and =after-change-functions= to update overlays in the buffer with outline numbering. Maybe a similar approach could be used to cache arbitrary values for headings in a buffer without having to discard the whole buffer's cache when the buffer changes. @@ -1249,6 +979,276 @@ For the query expression: [2020-11-11 Wed 23:27] That's all the parameters and all the types that I can think to test. +** PROJECT [#B] Recursive queries + +For lack of a better term. A way to query for certain headings, and then gather results of a different query at each result of the first query, displaying all results in a single view. + +This works pretty well. It needs polishing, and some refactoring so items can be indented completely (rather than leaving the keyword unindented, as it is now). + +#+BEGIN_SRC elisp + (cl-defun org-ql-agenda-recursive (buffers-or-files queries &key action narrow sort) + (cl-labels ((rec (queries element indent) + (org-with-point-at (org-element-property :org-marker element) + (when-let* ((results (progn + (org-narrow-to-subtree) + (org-ql-select (current-buffer) + (car queries) + :action 'element-with-markers + :narrow t + :sort sort)))) + ;; Indent entry for each level + (setf results (--map + (org-element-put-property it :raw-value + (concat (s-repeat (* 5 indent) " ") + (org-element-property :raw-value it))) + results)) + (cons it (if (cdr queries) + (--map (rec (cdr queries) it) + results) + results)))))) + (when-let* ((indent 0) + (results (org-ql-select buffers-or-files + (car queries) + :action 'element-with-markers + :narrow narrow + :sort sort))) + (->> (if (cdr queries) + (--map (rec (cdr queries) it (1+ indent)) + results) + results) + (-flatten-n (1- (length queries))) + -non-nil + (org-ql-agenda--agenda nil nil + :entries))))) + + (cl-defun org-ql-select-recursive (buffers-or-files queries &key action narrow sort) + (cl-labels ((rec (queries element indent) + (org-with-point-at (org-element-property :org-marker element) + (when-let* ((results (progn + (org-narrow-to-subtree) + (org-ql-select (current-buffer) + (car queries) + :action 'element-with-markers + :narrow t + :sort sort)))) + ;; Indent entry for each level + (setf results (--map + (org-element-put-property it :raw-value + (concat (s-repeat (* 5 indent) " ") + (org-element-property :raw-value it))) + results)) + (cons it (if (cdr queries) + (--map (rec (cdr queries) it) + results) + results)))))) + (when-let* ((indent 0) + (results (org-ql-select buffers-or-files + (car queries) + :action 'element-with-markers + :narrow narrow + :sort sort))) + (->> (if (cdr queries) + (--map (rec (cdr queries) it (1+ indent)) + results) + results) + (-flatten-n (1- (length queries))) + -non-nil)))) +#+END_SRC + +** PROJECT [#B] Timeline view +:PROPERTIES: +:ID: 00573552-ffe9-4608-8904-7f6c73246b6d +:END: + +e.g. as mentioned by Samuel Wales at https://lists.gnu.org/archive/html/emacs-orgmode/2019-08/msg00330.html. Prototype code: + +#+BEGIN_SRC elisp + (cl-defun org-ql-timeline (buffers-files query) + (let ((results + (org-ql-select buffers-files + query :action + (lambda () + (let* ((heading-string + (->> (org-element-headline-parser + (line-end-position)) + org-ql--add-markers + org-ql-agenda--format-element)) + (timestamps + (cl-loop with limit = (org-entry-end-position) + while (re-search-forward org-ts-regexp-both + limit t) + collect (ts-parse-org (match-string 0)))) + (timestamp-strings + (->> timestamps + (-sort #'ts<) + (--map (concat " " (ts-format it)))))) + (s-join "\n" (cons heading-string timestamp-strings)))) + :sort '(date)))) + (org-ql-agenda--agenda nil nil :strings results))) + + (org-ql-timeline (org-agenda-files) + '(and "Emacs" (ts))) + + ;; More timeline-like version, organized by date rather than task. + + (cl-defun org-ql-timeline* (buffers-files query &key filter-ts) + (let* ((ts-ht (ht)) + (results (org-ql-select buffers-files + query + :action (lambda () + (let* ((heading-string + (->> (org-element-headline-parser + (line-end-position)) + org-ql--add-markers + org-ql-agenda--format-element)) + (date-timestamps + ;; Each one set to 00:00:00. + (cl-loop with limit = (org-entry-end-position) + while (re-search-forward org-ts-regexp-both + limit t) + collect (->> (match-string 0) + ts-parse-org + (ts-apply :hour 0 :minute 0 :second 0))))) + (setf date-timestamps (delete-dups date-timestamps)) + (when filter-ts + (setf date-timestamps (cl-remove-if-not filter-ts date-timestamps))) + (--each date-timestamps + (push heading-string (gethash it ts-ht))))))) + (tss-sorted (-sort #'ts< (ht-keys ts-ht))) + (strings (cl-loop for ts in tss-sorted + collect (concat "\n" + (propertize (ts-format "%Y-%m-%d" ts) + 'face 'org-agenda-structure)) + append (ht-get ts-ht ts)))) + (org-ql-agenda--agenda nil nil :strings strings))) + + (org-ql-timeline* (org-agenda-files) + '(ts :from -14) + :filter-ts `(lambda (ts) + (ts<= ,(ts-adjust 'day -14 (ts-now)) ts))) +#+END_SRC + +Another, more up-to-date implementation: + +#+BEGIN_SRC elisp + ;; NOTE: ts structs don't (sometimes? or always?) compare properly + ;; with default hash tables, e.g. this code: + + ;; (let* ((ts-a #s(ts nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil 1572670800.0)) + ;; (ts-b #s(ts nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil 1572584400.0))) + ;; (list :equal (equal ts-a ts-b) + ;; :sxhash-equal (equal (sxhash ts-a) (sxhash ts-b)))) ;;=> (:equal nil :sxhash-equal t) + + ;; So we must use the "contents-hash" table as described in the Elisp manual. + (define-hash-table-test 'contents-hash 'equal 'sxhash-equal) + + (cl-defun org-ql-view-timeline (buffers-files &key from to on) + "FIXME: DOcstring" + (cl-flet ((parse-ts-arg + (arg type) + ;; Parse ARG as a string or TS struct and adjust it to the beginning + ;; or end of its day, depending on whether TYPE is `:begin' or `:end'. + (-let (((hour minute second) (cl-ecase type + (:begin '(0 0 0)) + (:end '(23 59 59))))) + (->> (cl-typecase arg + (string (ts-parse arg)) + (ts arg)) + (ts-apply :hour hour :minute minute :second second))))) + (let* ((ts-predicate `(lambda (ts) + ,(cond (on `(ts-in ,(parse-ts-arg on :begin) + ts + ,(parse-ts-arg on :end))) + ((and from to) `(ts-in ,(parse-ts-arg from :begin) + ts + ,(parse-ts-arg to :end))) + (from `(ts<= ,(parse-ts-arg from :begin) ts)) + (to `(ts<= ts ,(parse-ts-arg to :end))) + (t (user-error "Huh?"))))) + (query (cond (on `(ts :from ,(parse-ts-arg on :begin) + :to ,(parse-ts-arg on :end))) + (t (append (list 'ts) + (when from + `(:from ,(parse-ts-arg from :begin))) + (when to + `(:to ,(parse-ts-arg to :end))))))) + (date-ts-table (make-hash-table :test 'contents-hash)) + (_results (org-ql-select buffers-files query + :action (lambda () + (let* ((string (->> (org-element-headline-parser + (line-end-position)) + org-ql--add-markers + org-ql-view--format-element))) + (cl-loop with limit = (org-entry-end-position) + while (re-search-forward org-ts-regexp-both limit t) + for ts = (->> (match-string 0) ts-parse-org) + when (funcall ts-predicate ts) + do (cl-pushnew (cons ts (concat (ts-format " %H:%M" ts) + string)) + (gethash (ts-apply :hour 0 :minute 0 :second 0 ts) + date-ts-table) + :test #'equal)))))) + (date-tss-sorted (->> date-ts-table hash-table-keys (-sort #'ts<))) + (string (cl-loop for date-ts in date-tss-sorted + for date-string = (propertize (ts-format "%Y-%m-%d" date-ts) + 'face 'org-agenda-structure) + concat (concat "\n" date-string) + concat (cl-loop for (ts . entry) in (->> (gethash date-ts date-ts-table) + (-sort (-on #'ts< #'car))) + concat (concat "\n" entry))))) + (org-ql-view--display :buffer "Timeline" + :header "Timeline" + :string string)))) + + ;; Used like: + ;; (org-ql-view-timeline "~/org/main.org" :from "2019-11-01") +#+END_SRC + +[2019-09-26 Thu 21:28] Would probably make sense to implement this using the view-sections someday. + +** PROJECT [#B] Implement view with tabulated-list-mode or magit-section + +[2019-09-02 Mon 05:20] Especially with some of the new packages that make =tabulated-list-mode= easier to use, like =navigel=. However, it would probably break grouping, or require some kind of adapter or extension to do grouping, so I don't know if that would work. Something like =magit-section= would be more flexible, and could be recursively grouped, like in =magit-todos=. + +[2019-09-08 Sun 10:06] Came up with a prototype yesterday, in branch =wip/view-section=. Seems to work pretty well. + +One of the things in that branch is =org-ql-item=, which is a struct used to carry data for query results. It seems to work well. + +Another idea for it is to simply store the element from =org-element-headline-parser= in one of its slots, and populate all of the other slots lazily, like =ts=. It already does that for a couple of slots, but I think it makes sense to do it for all of them, to reduce the overhead of making the struct for every query result. + +*** MAYBE [#C] Experiment with =widget= + +The code that powers the customization UI. Has collapsible and customizable widgets. Might be perfect. Might even enable editing items in the list, with functions to make the changes in the source buffers. + +*** Code idea + +Inserting items into a view could look something like this: + +#+BEGIN_SRC elisp + (org-ql-view--insert-items + :header (ts-format "%Y-%m-%d" (ts-now)) + :items (org-ql-query + :select #'org-ql-current-item + :from (org-agenda-files) + :where '(or (deadline auto) + (scheduled :on today) + (ts-active :on today))) + :group-by '(org-ql-item-priority + org-ql-item-todo)) +#+END_SRC + +Items would be structs, and the =group-by= argument would be a list of accessors, like how =magit-todos= works. Arbitrary functions could also be passed to =group-by=, as whatever value the function returns is used to group them. =org-ql-current-item= would be a function that turns the result of =org-element-headline-parser= into the struct. + +Not sure if it should automatically add the number of items to the header, or if that should be done manually. + +*** Prior art + +**** [[https://github.com/m2ym/direx-el][GitHub - m2ym/direx-el: Directory Explorer for GNU Emacs]] + +Appears to be another implementation of magit-section-like expandable sections. Not sure which came first. Its code seems like it may be helpful. + +**** magit-section + ** PROJECT Dynamic blocks *** TODO [#B] Save view to dynamic block From cd95d10f05f1d770c17b6d70534578a11a0357d2 Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Thu, 12 Nov 2020 04:55:43 -0600 Subject: [PATCH 255/615] Add: Dynamic block (property) column --- README.org | 27 +++++++++-------- notes.org | 33 ++++++++++++-------- org-ql-search.el | 31 +++++++++++++------ org-ql.info | 78 ++++++++++++++++++++++++++---------------------- 4 files changed, 99 insertions(+), 70 deletions(-) diff --git a/README.org b/README.org index 6fcfc92..8794c33 100644 --- a/README.org +++ b/README.org @@ -404,29 +404,30 @@ Expands into a call to ~org-ql-select~ with the same arguments. For convenience Org QL provides a dynamic block that lists entries in the current document matching a query. In the header, these parameters are supported: + ~:query~: An Org QL query expression in either sexp or non-sexp form. -+ ~:columns~ A list of columns, including ~heading~, ~todo~, ~priority~, ~deadline~, ~scheduled~. - - Each column may also be specified as a list with the second element being a header string. For example, to abbreviate the priority column: ~(priority "P")~ ++ ~:columns~ A list of columns, including ~heading~, ~todo~, ~property~, ~priority~, ~deadline~, ~scheduled~. + - Each column may also be specified as a list with the second element being a header string. For example, to abbreviate the priority column: ~(priority "P")~. + - For certain columns, like =property=, arguments may be passed by specifying the column type itself as a list. For example, to display a column showing the values of a ~property~ named ~milestone~, with the header being abbreviated to ~M~: ~((property "milestone") "M")~. + ~:sort~ One or a list of Org QL sorting methods (see ~org-ql-select~). + ~:take~ Optionally take a number of results from the front (a positive number) or the end (a negative number) of the results. + ~:ts-format~ Optional format string used to format timestamp-based columns. The heading column is formatted as a link to the heading (not shown in the following example). -For example, this dynamic block shows the first seven headings that are to-do items with priority A or B, sorted by deadline then priority, with certain columns and timestamp format: +For example, this dynamic block shows the first seven headings that are to-do items with priority A or B, sorted by deadline then priority, with certain columns (including the value of the =agenda-group= property with a custom header) and timestamp format: # NOTE: These results are edited manually because the Org links don't display well in the Info manual. #+BEGIN_SRC org - ,#+BEGIN: org-ql :query "todo: priority:A,B" :columns (todo (priority "P") deadline heading) :sort (deadline priority) :take 7 :ts-format "%Y-%m-%d %H:%M" - | Todo | P | Deadline | Heading | - |------+---+------------------+---------------------------------------| - | TODO | A | 2017-07-07 00:00 | Take over the world | - | TODO | B | 2017-07-10 00:00 | Renew membership in supervillain club | - | TODO | A | 2017-07-15 00:00 | Take over the universe | - | TODO | B | 2017-07-21 00:00 | Internet | - | TODO | A | 2017-08-01 00:00 | Spaceship lease | - | TODO | A | | Skype with president of Antarctica | - | TODO | B | | Take over Mars | + ,#+BEGIN: org-ql :query "todo: priority:A,B" :columns (todo (priority "P") ((property "agenda-group") "Group") deadline heading) :sort (deadline priority) :take 7 :ts-format "%Y-%m-%d %H:%M" + | Todo | P | Group | Deadline | Heading | + |------+---+-------+------------------+---------------------------------------| + | TODO | A | | 2017-07-07 00:00 | Take over the world | + | TODO | B | | 2017-07-10 00:00 | Renew membership in supervillain club | + | TODO | A | plans | 2017-07-15 00:00 | Take over the universe | + | TODO | B | | 2017-07-21 00:00 | Internet | + | TODO | A | bills | 2017-08-01 00:00 | Spaceship lease | + | TODO | A | | | Skype with president of Antarctica | + | TODO | B | | | Take over Mars | ,#+END: #+END_SRC diff --git a/notes.org b/notes.org index bbfa442..3718c69 100644 --- a/notes.org +++ b/notes.org @@ -24,12 +24,8 @@ | P | Keyword | Heading | |---+----------+--------------------------------------------------------------------| | A | UNDERWAY | [[Outline path predicate][Outline path predicate]] | -| B | UNDERWAY | [[Recursive queries][Recursive queries]] | -| B | UNDERWAY | [[Timeline view][Timeline view]] | | B | UNDERWAY | [["Node" caching]["Node" caching]] | -| B | UNDERWAY | [[Implement view with tabulated-list-mode or magit-section][Implement view with tabulated-list-mode or magit-section]] | | | UNDERWAY | [[Benchmarking tags searches without and with new group-tags support][Benchmarking tags searches without and with new group-tags support]] | -| | UNDERWAY | [[Add automated tests][Add automated tests]] | #+END: ** To-do @@ -48,6 +44,16 @@ | A | UNDERWAY | [[Outline path predicate][Outline path predicate]] | #+END: +** Milestones + +[[org-ql-search:todo%253A?super-groups=%2528%2528%253Aauto-property%2520%2522milestone%2522%2529%2529&sort=%2528priority%2529&title=%2522Milestones%2522][org-ql-search: Milestones]] + +#+BEGIN: org-ql :query "todo: property:milestone" :columns (((property "milestone") "M") (priority "P") todo heading) :sort (priority date) :take 7 +| M | P | Todo | Heading | +|-----+---+------+----------------------------| +| 0.6 | B | TODO | [[Save view to dynamic block][Save view to dynamic block]] | +#+END: + * [#A] Tasks :PROPERTIES: :TOC: :include descendants :depth 1 @@ -68,13 +74,9 @@ - [[#normalize-queries][Normalize queries]] - [[#update-view-screenshots][Update view screenshots]] - [[#org-agenda-skip-function][org-agenda-skip-function]] -- [[#test-caching][Test caching]] - [[#update-commentary][Update commentary]] - [[#outline-path-predicate][Outline path predicate]] -- [[#recursive-queries][Recursive queries]] -- [[#timeline-view][Timeline view]] - [[#node-caching]["Node" caching]] -- [[#implement-view-with-tabulated-list-mode-or-magit-section][Implement view with tabulated-list-mode or magit-section]] - [[#overlay-based-caching-inspired-by-org-num-mode][Overlay-based caching inspired by org-num-mode]] - [[#alternative-parsing-libraries][Alternative parsing libraries]] - [[#fancier-searching-for-inherited-tags][Fancier searching for inherited tags]] @@ -82,7 +84,11 @@ - [[#tools-for-saving-queries-and-accessing-them-34][Tools for saving queries and accessing them {3/4}]] - [[#group-tag-support][Group tag support]] - [[#checking-links-for-unsafe-parameters][Checking links for unsafe parameters]] +- [[#recursive-queries][Recursive queries]] +- [[#timeline-view][Timeline view]] +- [[#implement-view-with-tabulated-list-mode-or-magit-section][Implement view with tabulated-list-mode or magit-section]] - [[#dynamic-blocks][Dynamic blocks]] +- [[#test-caching][Test caching]] - [[#helm-command][Helm command]] - [[#quickly-change-sortinggrouping-in-search-views][Quickly change sorting/grouping in search views]] - [[#byte-compile-lambdas][Byte-compile lambdas]] @@ -226,10 +232,6 @@ As discussed [[https://www.reddit.com/r/emacs/comments/cnrt2d/orgqlblock_integra I should benchmark it to see how much difference it makes, because all those ~fset~ calls on each heading isn't free. But if a macro were used to rewrite the built-in predicates to their full versions, all of that could be avoided... -** TODO [#C] Test caching - -See notes on 1dce9467f25428b5289d3665cd840820969ed65a. It would be good to test the caching explicitly, at least for some queries, because if I were to completely break it again, in such a way that results were stored but retrieval always failed, the tests wouldn't catch it. - ** TODO [#C] Update commentary ** UNDERWAY [#A] Outline path predicate @@ -1252,6 +1254,9 @@ Appears to be another implementation of magit-section-like expandable sections. ** PROJECT Dynamic blocks *** TODO [#B] Save view to dynamic block +:PROPERTIES: +:milestone: 0.6 +:END: [2020-11-12 Thu 03:23] A command to do this would be very helpful. @@ -1334,6 +1339,10 @@ For example, [[https://egli.dev/posts/using-org-mode-for-meeting-minutes/][this [2020-11-10 Tue 00:03] I think it's ready to merge now. +** PROJECT [#C] Test caching + +See notes on 1dce9467f25428b5289d3665cd840820969ed65a. It would be good to test the caching explicitly, at least for some queries, because if I were to completely break it again, in such a way that results were stored but retrieval always failed, the tests wouldn't catch it. + ** DONE [#A] Helm command In branch =wip/helm-org-ql=. Works really well, should add it and demonstrate it. diff --git a/org-ql-search.el b/org-ql-search.el index 3abc468..2c4b213 100644 --- a/org-ql-search.el +++ b/org-ql-search.el @@ -247,10 +247,17 @@ Valid parameters include: form. :columns A list of columns, including `heading', `todo', - `priority', `deadline', `scheduled'. Each column may - also be specified as a list with the second element - being a header string. For example, to abbreviate - the priority column: (priority \"P\") + `property', `priority', `deadline', `scheduled'. + Each column may also be specified as a list with the + second element being a header string. For example, + to abbreviate the priority column: (priority \"P\"). + For certain columns, like `property', arguments may + be passed by specifying the column type itself as a + list. For example, to display a column showing the + values of a property named \"milestone\", with the + header being abbreviated to \"M\": + + ((property \"milestone\") \"M\"). :sort One or a list of Org QL sorting methods (see `org-ql-select'). @@ -287,7 +294,9 @@ For example, an org-ql dynamic block header could look like: (ts-format ts-format (ts-parse-org-element it))))) (cons 'scheduled (lambda (element) (--when-let (org-element-property :scheduled element) - (ts-format ts-format (ts-parse-org-element it))))))) + (ts-format ts-format (ts-parse-org-element it))))) + (cons 'property (lambda (element property &optional value) + (org-element-property (intern (concat ":" (upcase property))) element))))) (elements (org-ql-query :from (current-buffer) :where query :select '(org-element-headline-parser (line-end-position)) @@ -298,10 +307,14 @@ For example, an org-ql dynamic block header could look like: (integer (-take take elements))))) (cl-labels ((format-element (element) (string-join (cl-loop for column in columns - for fn = (cl-etypecase column - (symbol (alist-get column format-fns)) - (list (alist-get (car column) format-fns))) - collect (or (funcall fn element) "")) + collect (or (pcase-exhaustive column + ((pred symbolp) + (funcall (alist-get column format-fns) element)) + (`((,column . ,args) ,header) + (apply (alist-get column format-fns) element args)) + (`(,column ,header) + (funcall (alist-get column format-fns) element))) + "")) " | "))) ;; Table header (insert "| " (string-join (--map (pcase it diff --git a/org-ql.info b/org-ql.info index 3d86d66..9739c60 100644 --- a/org-ql.info +++ b/org-ql.info @@ -730,10 +730,15 @@ supported: • ‘:query’: An Org QL query expression in either sexp or non-sexp form. • ‘:columns’ A list of columns, including ‘heading’, ‘todo’, - ‘priority’, ‘deadline’, ‘scheduled’. + ‘property’, ‘priority’, ‘deadline’, ‘scheduled’. • Each column may also be specified as a list with the second element being a header string. For example, to abbreviate the - priority column: ‘(priority "P")’ + priority column: ‘(priority "P")’. + • For certain columns, like property, arguments may be passed by + specifying the column type itself as a list. For example, to + display a column showing the values of a ‘property’ named + ‘milestone’, with the header being abbreviated to ‘M’: + ‘((property "milestone") "M")’. • ‘:sort’ One or a list of Org QL sorting methods (see ‘org-ql-select’). • ‘:take’ Optionally take a number of results from the front (a @@ -746,18 +751,19 @@ in the following example). For example, this dynamic block shows the first seven headings that are to-do items with priority A or B, sorted by deadline then priority, -with certain columns and timestamp format: +with certain columns (including the value of the agenda-group property +with a custom header) and timestamp format: - #+BEGIN: org-ql :query "todo: priority:A,B" :columns (todo (priority "P") deadline heading) :sort (deadline priority) :take 7 :ts-format "%Y-%m-%d %H:%M" - | Todo | P | Deadline | Heading | - |------+---+------------------+---------------------------------------| - | TODO | A | 2017-07-07 00:00 | Take over the world | - | TODO | B | 2017-07-10 00:00 | Renew membership in supervillain club | - | TODO | A | 2017-07-15 00:00 | Take over the universe | - | TODO | B | 2017-07-21 00:00 | Internet | - | TODO | A | 2017-08-01 00:00 | Spaceship lease | - | TODO | A | | Skype with president of Antarctica | - | TODO | B | | Take over Mars | + #+BEGIN: org-ql :query "todo: priority:A,B" :columns (todo (priority "P") ((property "agenda-group") "Group") deadline heading) :sort (deadline priority) :take 7 :ts-format "%Y-%m-%d %H:%M" + | Todo | P | Group | Deadline | Heading | + |------+---+-------+------------------+---------------------------------------| + | TODO | A | | 2017-07-07 00:00 | Take over the world | + | TODO | B | | 2017-07-10 00:00 | Renew membership in supervillain club | + | TODO | A | plans | 2017-07-15 00:00 | Take over the universe | + | TODO | B | | 2017-07-21 00:00 | Internet | + | TODO | A | bills | 2017-08-01 00:00 | Spaceship lease | + | TODO | A | | | Skype with president of Antarctica | + | TODO | B | | | Take over Mars | #+END:  @@ -1289,29 +1295,29 @@ Node: Functions / Macros19755 Node: Agenda-like views20010 Node: Listing / acting-on results21415 Node: Dynamic block26017 -Node: Links28180 -Node: Tips28867 -Node: Changelog29185 -Node: 05-pre29824 -Node: 04631063 -Node: 04531466 -Node: 04431825 -Node: 04332182 -Node: 04232377 -Node: 04132536 -Node: 0432775 -Node: 03236706 -Node: 03137083 -Node: 0337280 -Node: 02340255 -Node: 02240483 -Node: 02140751 -Node: 0240950 -Node: 0144985 -Node: Notes45086 -Node: Comparison with Org Agenda searches45248 -Node: org-sidebar46120 -Node: License46399 +Node: Links28715 +Node: Tips29402 +Node: Changelog29720 +Node: 05-pre30359 +Node: 04631598 +Node: 04532001 +Node: 04432360 +Node: 04332717 +Node: 04232912 +Node: 04133071 +Node: 0433310 +Node: 03237241 +Node: 03137618 +Node: 0337815 +Node: 02340790 +Node: 02241018 +Node: 02141286 +Node: 0241485 +Node: 0145520 +Node: Notes45621 +Node: Comparison with Org Agenda searches45783 +Node: org-sidebar46655 +Node: License46934  End Tag Table From 56647d4b1159f3dc3e638ea2e7b1a85446884ca5 Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Thu, 12 Nov 2020 05:23:59 -0600 Subject: [PATCH 256/615] Notes: Update --- notes.org | 99 +++++++++++++++++++++++++++++++++---------------------- 1 file changed, 59 insertions(+), 40 deletions(-) diff --git a/notes.org b/notes.org index 3718c69..586045f 100644 --- a/notes.org +++ b/notes.org @@ -30,7 +30,7 @@ ** To-do -[[org-ql-search:todo:?super-groups=%2528%2528%253Aauto-outline-path%2529%2529&sort=%2528priority%2529][org-ql-search: Tasks]] ++ [[org-ql-search:todo:?super-groups=%2528%2528%253Aauto-outline-path%2529%2529&sort=%2528priority%2529][org-ql-search: Tasks]] #+BEGIN: org-ql :query "todo: priority:A" :columns ((priority "P") todo heading) :sort (priority date) :take 7 | P | Todo | Heading | @@ -44,6 +44,20 @@ | A | UNDERWAY | [[Outline path predicate][Outline path predicate]] | #+END: +** [[org-ql-search:(and%20(todo%20"PROJECT")%20(not%20(descendants%20(todo%20"NEXT"))))?super-groups=%2528%2528%253Aauto-outline-path%2529%2529&sort=%2528priority%2529&title=%2522Stuck%2520Projects%2522][Stuck projects]] + +#+BEGIN: org-ql :query (and (todo "PROJECT") (not (descendants (todo "NEXT")))) :columns ((priority "P") heading) :sort (priority date) :take 7 +| P | Heading | +|---+---------------------------------------------------| +| A | [[Outline path predicate][Outline path predicate]] | +| A | [[Convert simple sexp queries to non-sexp][Convert simple sexp queries to non-sexp]] | +| A | [[Tools%20for%20saving%20queries%20and%20accessing%20them%20%5B3/4%5D][Tools for saving queries and accessing them {3/4}]] | +| A | [[Org%20link%20types%20%5B2/3%5D][Org link types {2/3}]] | +| A | [[Group tag support][Group tag support]] | +| A | [[Checking links for unsafe parameters][Checking links for unsafe parameters]] | +| B | [[Recursive queries][Recursive queries]] | +#+END: + ** Milestones [[org-ql-search:todo%253A?super-groups=%2528%2528%253Aauto-property%2520%2522milestone%2522%2529%2529&sort=%2528priority%2529&title=%2522Milestones%2522][org-ql-search: Milestones]] @@ -63,7 +77,6 @@ - [[#document-sorters][Document sorters]] - [[#org-block-to-insert-results-of-queries-with-links-to-entries][Org block to insert results of queries with links to entries]] - [[#change-deadlines-auto-argument-to-auto-andor-auto-t][Change (deadline)'s auto argument to :auto and/or :auto t]] -- [[#save-views-to-dynamic-blocks][Save views to dynamic blocks]] - [[#consider-how-to-secure-searches-from-links-and-dynamic-blocks][Consider how to "secure" searches from links and dynamic blocks]] - [[#outline-path-in-buffers-files-arg][Outline path in buffers-files arg]] - [[#add-more-sorters][Add more sorters?]] @@ -75,11 +88,12 @@ - [[#update-view-screenshots][Update view screenshots]] - [[#org-agenda-skip-function][org-agenda-skip-function]] - [[#update-commentary][Update commentary]] -- [[#outline-path-predicate][Outline path predicate]] +- [[#fix-query-sexp-to-string-functions-handling-of-eg-descendants][Fix query-sexp-to-string function's handling of, e.g. descendants]] - [[#node-caching]["Node" caching]] - [[#overlay-based-caching-inspired-by-org-num-mode][Overlay-based caching inspired by org-num-mode]] - [[#alternative-parsing-libraries][Alternative parsing libraries]] - [[#fancier-searching-for-inherited-tags][Fancier searching for inherited tags]] +- [[#outline-path-predicate][Outline path predicate]] - [[#convert-simple-sexp-queries-to-non-sexp][Convert simple sexp queries to non-sexp]] - [[#tools-for-saving-queries-and-accessing-them-34][Tools for saving queries and accessing them {3/4}]] - [[#group-tag-support][Group tag support]] @@ -96,6 +110,7 @@ - [[#dual-matching-with-regexp-and-predicates][Dual matching with regexp and predicates]] - [[#operate-on-list-of-heading-positions][Operate on list of heading positions]] - [[#use-macros-for-date][Use macros for date]] +- [[#make-dynamic-blocks-warn-about-sexp-queries][Make dynamic blocks warn about sexp queries]] :END: ** TODO [#A] Add ~:auto~ keyword to ~(planning)~ predicate @@ -114,10 +129,6 @@ Note that the built-in sorting only works on Org elements, which is the default For consistency, because plain ~auto~ looks like a variable, and even though it's in a quoted form, it could be confusing. -** TODO [#A] Save views to dynamic blocks - -[2020-11-10 Tue 04:31] A command would save users from having to write out the dynamic block manually. - ** TODO [#A] Consider how to "secure" searches from links and dynamic blocks Theoretically one could put a sexp-based query into a link that would run arbitrary code to do something evil. Like: @@ -234,40 +245,11 @@ I should benchmark it to see how much difference it makes, because all those ~fs ** TODO [#C] Update commentary -** UNDERWAY [#A] Outline path predicate +** NEXT [#A] Fix query-sexp-to-string function's handling of, e.g. =descendants= :bug: -[2019-10-07 Mon 11:15] There are two potential types of matching on outline paths: matching on any part of the outline path, and matching a specific path. For example, with this file: +** NEXT [#A] Make dynamic blocks warn about sexp queries -#+BEGIN_SRC org - ,* Food - - ,** Fruits - - ,*** Blueberries - - ,*** Grapes - - ,** Vegetables - - ,*** Carrots - - ,*** Potatoes -#+END_SRC - -Matching could work like this: - -+ ~(outline "Food")~ :: Would return all nodes. -+ ~(outline "Fruits")~ :: Would return all fruits. - -Matching at a specific path would be something like: - -+ ~(outline-path "Food" "Fruits")~ :: Would return all fruits. But if there were another =Fruits= heading somewhere in the file, under a different outline path, it would not return its nodes. - -I'm not sure the second type of matching belongs in predicates, but rather in [[id:6935361a-9e1d-48ec-8d17-876a90b90f50][this]]. - -To implement this with good performance probably needs an outline-path cache. I can probably repurpose the tags caching, but maybe it should be generalized. - -[2019-10-07 Mon 13:09] This is basically done with =be2bf6df316b96b3ed56851b8ffe0e227796b621= and =be2bf6df316b96b3ed56851b8ffe0e227796b621=, but not the specific-path matching. I left a =MAYBE= in the code about "anchored" path matching, which would accomplish that. +[2020-11-12 Thu 05:22] I guess to be super-extra careful, just in case someone had =org-update-all-dblocks= in the =before-save-hook= or something. ** UNDERWAY [#B] "Node" caching @@ -390,6 +372,41 @@ However, there might still be a useful idea here somewhere... When tag inheritance is enabled, and the given tags aren't file-level tags, we could search directly to headings containing the matching tags, and then only do per-heading matching on the subtrees. Sometimes that would be much faster. However, that might make the logic special-cased and complicated. Might need a redesign of the whole matching/predicate system to do cleanly. +** PROJECT [#A] Outline path predicate + +[2019-10-07 Mon 11:15] There are two potential types of matching on outline paths: matching on any part of the outline path, and matching a specific path. For example, with this file: + +#+BEGIN_SRC org + ,* Food + + ,** Fruits + + ,*** Blueberries + + ,*** Grapes + + ,** Vegetables + + ,*** Carrots + + ,*** Potatoes +#+END_SRC + +Matching could work like this: + ++ ~(outline "Food")~ :: Would return all nodes. ++ ~(outline "Fruits")~ :: Would return all fruits. + +Matching at a specific path would be something like: + ++ ~(outline-path "Food" "Fruits")~ :: Would return all fruits. But if there were another =Fruits= heading somewhere in the file, under a different outline path, it would not return its nodes. + +I'm not sure the second type of matching belongs in predicates, but rather in [[id:6935361a-9e1d-48ec-8d17-876a90b90f50][this]]. + +To implement this with good performance probably needs an outline-path cache. I can probably repurpose the tags caching, but maybe it should be generalized. + +[2019-10-07 Mon 13:09] This is basically done with =be2bf6df316b96b3ed56851b8ffe0e227796b621= and =be2bf6df316b96b3ed56851b8ffe0e227796b621=, but not the specific-path matching. I left a =MAYBE= in the code about "anchored" path matching, which would accomplish that. + ** PROJECT [#A] Convert simple sexp queries to non-sexp [2020-11-11 Wed 00:28] This will be very helpful for storing links. Surely simple ones won't be too hard... @@ -1258,7 +1275,9 @@ Appears to be another implementation of magit-section-like expandable sections. :milestone: 0.6 :END: -[2020-11-12 Thu 03:23] A command to do this would be very helpful. +[2020-11-10 Tue 04:31] A command would save users from having to write out the dynamic block manually. + +[2020-11-12 Thu 03:23] A command to do this would be very helpful. (Yes, I entered this idea twice. I should use my own systems better, apparently. But that's what this package is all about, right?) *** DONE [#A] Implement dynamic blocks From b90e6e25d0df92771e7f36ce8a4f39fad5d5cad8 Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Fri, 13 Nov 2020 02:42:52 -0600 Subject: [PATCH 257/615] Tests: Use test buffer for link safety tests --- tests/test-org-ql.el | 144 +++++++++++++++++++++++-------------------- 1 file changed, 76 insertions(+), 68 deletions(-) diff --git a/tests/test-org-ql.el b/tests/test-org-ql.el index d31a08f..95519e8 100644 --- a/tests/test-org-ql.el +++ b/tests/test-org-ql.el @@ -1172,79 +1172,87 @@ RESULTS should be a list of strings as returned by (require 'org-ql-search) (require 'org-ql-view) - (cl-flet ((open-link - (link) (with-temp-buffer - (org-mode) - (insert link) - (backward-char 1) - (call-interactively #'org-open-at-point)))) + ;; The :auto-map test requires there to be results (because the org-super-agenda :auto-map group's + ;; key-form, where the safety check is, only gets evaluated when there are results). Using + ;; `with-temp-buffer' in the `open-link' function causes the temp buffer to be killed before the results + ;; have a chance to be gathered. So we make a test buffer and run the test in that, with a test heading. - (it "buffers-files parameter" - (let ((quoted-lambda-link "[[org-ql-search:todo:?buffers-files%3D%28lambda%20nil%20%28message%20%22AHA%22%29%29]]") - (unquoted-lambda-link "[[org-ql-search:todo:?buffers-files%3D%28lambda%20nil%20%28message%20%22AHA%22%29%29]]") - (quoted-lambda-in-list-link "[[org-ql-search:todo:?buffers-files%3D%28%28quote%20%28lambda%20nil%20%28message%20%22AHA%22%29%29%29%29]]") - (unquoted-lambda-in-list-link "[[org-ql-search:todo:?buffers-files%3D%28%28lambda%20nil%20%28message%20%22AHA%22%29%29%29]]")) - (expect (open-link quoted-lambda-link) - :to-throw 'wrong-type-argument '(stringp (lambda nil (message "AHA")))) - (expect (open-link unquoted-lambda-link) - :to-throw 'wrong-type-argument '(stringp (lambda nil (message "AHA")))) - (expect (open-link quoted-lambda-in-list-link) - :to-throw 'wrong-type-argument '(stringp ((quote (lambda nil (message "AHA")))))) - (expect (open-link unquoted-lambda-in-list-link) - :to-throw 'wrong-type-argument '(stringp ((lambda nil (message "AHA"))))))) + (let ((test-buffer (get-buffer-create "*test-org-ql*"))) + (cl-flet ((open-link + (link) (with-current-buffer test-buffer + (erase-buffer) + (org-mode) + (insert "* TODO Test heading \n\n") + (insert link) + (backward-char 1) + (call-interactively #'org-open-at-point)))) - (it "super-groups parameter" - (let ((quoted-lambda-link "[[org-ql-search:todo:?super-groups%3D%28lambda%20nil%20%28message%20%22AHA%22%29%29]]") - (unquoted-lambda-link "[[org-ql-search:todo:?super-groups%3D%28lambda%20nil%20%28message%20%22AHA%22%29%29]]") - (quoted-expression-link "[[org-ql-search:todo:?super-groups%3D%28message%20%22AHA%22%29]]") - (unquoted-expression-link "[[org-ql-search:todo:?super-groups%3D%22AHA%22]]") - (pred-selector-link "[[org-ql-search:todo:?super-groups%3D%28%28%3Apred%20%28lambda%20%28_%29%20%28message%20%22AHA%22%29%29%29%29]]") - (auto-map-selector-link "[[org-ql-search:todo:?super-groups%3D%28%28%3Aauto-map%20%28lambda%20%28_%29%20%28message%20%22AHA%22%29%29%29%29]]")) - (expect (open-link quoted-lambda-link) - :to-throw 'wrong-type-argument '(listp lambda)) - (expect (open-link unquoted-lambda-link) - :to-throw 'wrong-type-argument '(listp lambda)) - (expect (open-link quoted-expression-link) - :to-throw 'wrong-type-argument '(listp message)) - (expect (open-link unquoted-expression-link) - :to-throw 'error '("cl-etypecase failed: AHA, (symbol list)")) + (it "buffers-files parameter" + (let ((quoted-lambda-link "[[org-ql-search:todo:?buffers-files%3D%28lambda%20nil%20%28message%20%22AHA%22%29%29]]") + (unquoted-lambda-link "[[org-ql-search:todo:?buffers-files%3D%28lambda%20nil%20%28message%20%22AHA%22%29%29]]") + (quoted-lambda-in-list-link "[[org-ql-search:todo:?buffers-files%3D%28%28quote%20%28lambda%20nil%20%28message%20%22AHA%22%29%29%29%29]]") + (unquoted-lambda-in-list-link "[[org-ql-search:todo:?buffers-files%3D%28%28lambda%20nil%20%28message%20%22AHA%22%29%29%29]]")) + (expect (open-link quoted-lambda-link) + :to-throw 'wrong-type-argument '(stringp (lambda nil (message "AHA")))) + (expect (open-link unquoted-lambda-link) + :to-throw 'wrong-type-argument '(stringp (lambda nil (message "AHA")))) + (expect (open-link quoted-lambda-in-list-link) + :to-throw 'wrong-type-argument '(stringp ((quote (lambda nil (message "AHA")))))) + (expect (open-link unquoted-lambda-in-list-link) + :to-throw 'wrong-type-argument '(stringp ((lambda nil (message "AHA"))))))) - ;; FIXME: These two tests will not pass (i.e. they will not - ;; signal an error) until the version of org-super-agenda in - ;; the test sandbox is upgraded, which I'll do when MELPA - ;; packages the latest version. On the bright side, I just - ;; confirmed that, without the fix to org-super-agenda, - ;; these are vulnerable, which means that the test catches - ;; this problem and detects the fix. - (expect (open-link pred-selector-link) - :to-throw 'error '("Unsafe groups disallowed (:pred): (lambda (_) (message AHA))")) - (expect (open-link auto-map-selector-link) - :to-throw 'error '("Unsafe groups disallowed (:auto-map): ((lambda (_) (message AHA)))")))) + (it "super-groups parameter" + (let ((quoted-lambda-link "[[org-ql-search:todo:?super-groups%3D%28lambda%20nil%20%28message%20%22AHA%22%29%29]]") + (unquoted-lambda-link "[[org-ql-search:todo:?super-groups%3D%28lambda%20nil%20%28message%20%22AHA%22%29%29]]") + (quoted-expression-link "[[org-ql-search:todo:?super-groups%3D%28message%20%22AHA%22%29]]") + (unquoted-expression-link "[[org-ql-search:todo:?super-groups%3D%22AHA%22]]") + (pred-selector-link "[[org-ql-search:todo:?super-groups%3D%28%28%3Apred%20%28lambda%20%28_%29%20%28message%20%22AHA%22%29%29%29%29]]") + (auto-map-selector-link "[[org-ql-search:todo:?super-groups%3D%28%28%3Aauto-map%20%28lambda%20%28_%29%20%28message%20%22AHA%22%29%29%29%29]]")) + (expect (open-link quoted-lambda-link) + :to-throw 'wrong-type-argument '(listp lambda)) + (expect (open-link unquoted-lambda-link) + :to-throw 'wrong-type-argument '(listp lambda)) + (expect (open-link quoted-expression-link) + :to-throw 'wrong-type-argument '(listp message)) + (expect (open-link unquoted-expression-link) + :to-throw 'error '("cl-etypecase failed: AHA, (symbol list)")) - (it "title parameter" - (let ((quoted-lambda-link "[[org-ql-search:todo:?title%3D%28lambda%20%28_%20_%29%20%28message%20%22AHA%22%29%29]]") - (unquoted-lambda-link "[[org-ql-search:todo:?title%3D%28lambda%20%28_%20_%29%20%28message%20%22AHA%22%29%29]]") - (expression-link "[[org-ql-search:todo:?title%3D%28message%20%22AHA%22%29]]")) - (expect (open-link quoted-lambda-link) - :to-throw 'wrong-type-argument '(characterp lambda)) - (expect (open-link unquoted-lambda-link) - :to-throw 'wrong-type-argument '(characterp lambda)) - (expect (open-link expression-link) - :to-throw 'wrong-type-argument '(characterp message)))) + ;; FIXME: These two tests will not pass (i.e. they will not + ;; signal an error) until the version of org-super-agenda in + ;; the test sandbox is upgraded, which I'll do when MELPA + ;; packages the latest version. On the bright side, I just + ;; confirmed that, without the fix to org-super-agenda, + ;; these are vulnerable, which means that the test catches + ;; this problem and detects the fix. + (expect (open-link pred-selector-link) + :to-throw 'error '("Unsafe groups disallowed (:pred): (lambda (_) (message AHA))")) + (expect (open-link auto-map-selector-link) + :to-throw 'error '("Unsafe groups disallowed (:auto-map): ((lambda (_) (message AHA)))")))) - (it "sort parameter" - (let ((quoted-lambda-link "[[org-ql-search:todo:?sort%3D%28lambda%20%28_%20_%29%20%28message%20%22AHA%22%29%29]]") - (unquoted-lambda-link "[[org-ql-search:todo:?sort%3D%28lambda%20%28_%20_%29%20%28message%20%22AHA%22%29%29]]") - (quoted-lambda-in-list-link "[[org-ql-search:todo:?sort%3D%28%28quote%20%28lambda%20%28_%20_%29%20%28message%20%22AHA%22%29%29%29%29]]") - (unquoted-lambda-in-list-link "[[org-ql-search:todo:?sort=((lambda%20nil%20(message%20\"AHA\")))]]")) - (expect (open-link quoted-lambda-link) - :to-throw 'error '("Potentially unsafe value found in link’s SORT parameter ((lambda (_ _) (message AHA))). Link not opened")) - (expect (open-link unquoted-lambda-link) - :to-throw 'error '("Potentially unsafe value found in link’s SORT parameter ((lambda (_ _) (message AHA))). Link not opened")) - (expect (open-link quoted-lambda-in-list-link) - :to-throw 'error '("Potentially unsafe value found in link’s SORT parameter (((quote (lambda (_ _) (message AHA))))). Link not opened")) - (expect (open-link unquoted-lambda-in-list-link) - :to-throw 'error '("Potentially unsafe value found in link’s SORT parameter (((lambda nil (message AHA)))). Link not opened"))))))) + (it "title parameter" + (let ((quoted-lambda-link "[[org-ql-search:todo:?title%3D%28lambda%20%28_%20_%29%20%28message%20%22AHA%22%29%29]]") + (unquoted-lambda-link "[[org-ql-search:todo:?title%3D%28lambda%20%28_%20_%29%20%28message%20%22AHA%22%29%29]]") + (expression-link "[[org-ql-search:todo:?title%3D%28message%20%22AHA%22%29]]")) + (expect (open-link quoted-lambda-link) + :to-throw 'wrong-type-argument '(characterp lambda)) + (expect (open-link unquoted-lambda-link) + :to-throw 'wrong-type-argument '(characterp lambda)) + (expect (open-link expression-link) + :to-throw 'wrong-type-argument '(characterp message)))) + + (it "sort parameter" + (let ((quoted-lambda-link "[[org-ql-search:todo:?sort%3D%28lambda%20%28_%20_%29%20%28message%20%22AHA%22%29%29]]") + (unquoted-lambda-link "[[org-ql-search:todo:?sort%3D%28lambda%20%28_%20_%29%20%28message%20%22AHA%22%29%29]]") + (quoted-lambda-in-list-link "[[org-ql-search:todo:?sort%3D%28%28quote%20%28lambda%20%28_%20_%29%20%28message%20%22AHA%22%29%29%29%29]]") + (unquoted-lambda-in-list-link "[[org-ql-search:todo:?sort=((lambda%20nil%20(message%20\"AHA\")))]]")) + (expect (open-link quoted-lambda-link) + :to-throw 'error '("Potentially unsafe value found in link’s SORT parameter ((lambda (_ _) (message AHA))). Link not opened")) + (expect (open-link unquoted-lambda-link) + :to-throw 'error '("Potentially unsafe value found in link’s SORT parameter ((lambda (_ _) (message AHA))). Link not opened")) + (expect (open-link quoted-lambda-in-list-link) + :to-throw 'error '("Potentially unsafe value found in link’s SORT parameter (((quote (lambda (_ _) (message AHA))))). Link not opened")) + (expect (open-link unquoted-lambda-in-list-link) + :to-throw 'error '("Potentially unsafe value found in link’s SORT parameter (((lambda nil (message AHA)))). Link not opened")))))))) ;; Local Variables: ;; truncate-lines: t From f8b41ea0273cca8d72e4e0a40a6c9bd0671302bd Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Fri, 13 Nov 2020 02:44:46 -0600 Subject: [PATCH 258/615] Fix: (org-dblock-write:org-ql) Remove unused argument --- org-ql-search.el | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/org-ql-search.el b/org-ql-search.el index 2c4b213..a5f9b7b 100644 --- a/org-ql-search.el +++ b/org-ql-search.el @@ -295,7 +295,7 @@ For example, an org-ql dynamic block header could look like: (cons 'scheduled (lambda (element) (--when-let (org-element-property :scheduled element) (ts-format ts-format (ts-parse-org-element it))))) - (cons 'property (lambda (element property &optional value) + (cons 'property (lambda (element property) (org-element-property (intern (concat ":" (upcase property))) element))))) (elements (org-ql-query :from (current-buffer) :where query From 51f987c6b82934b66057513b26e49ccb59343424 Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Fri, 13 Nov 2020 02:45:45 -0600 Subject: [PATCH 259/615] Fix: (org-dblock-write:org-ql) Rename unused variables --- org-ql-search.el | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/org-ql-search.el b/org-ql-search.el index a5f9b7b..59d57d5 100644 --- a/org-ql-search.el +++ b/org-ql-search.el @@ -310,9 +310,9 @@ For example, an org-ql dynamic block header could look like: collect (or (pcase-exhaustive column ((pred symbolp) (funcall (alist-get column format-fns) element)) - (`((,column . ,args) ,header) + (`((,column . ,args) ,_header) (apply (alist-get column format-fns) element args)) - (`(,column ,header) + (`(,column ,_header) (funcall (alist-get column format-fns) element))) "")) " | "))) From be4e941fc9d0efbfaff3bee90aa9a791b0e194fa Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Fri, 13 Nov 2020 03:13:48 -0600 Subject: [PATCH 260/615] Notes: Update --- notes.org | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/notes.org b/notes.org index 586045f..f883349 100644 --- a/notes.org +++ b/notes.org @@ -89,10 +89,12 @@ - [[#org-agenda-skip-function][org-agenda-skip-function]] - [[#update-commentary][Update commentary]] - [[#fix-query-sexp-to-string-functions-handling-of-eg-descendants][Fix query-sexp-to-string function's handling of, e.g. descendants]] +- [[#make-dynamic-blocks-warn-about-sexp-queries][Make dynamic blocks warn about sexp queries]] - [[#node-caching]["Node" caching]] - [[#overlay-based-caching-inspired-by-org-num-mode][Overlay-based caching inspired by org-num-mode]] - [[#alternative-parsing-libraries][Alternative parsing libraries]] - [[#fancier-searching-for-inherited-tags][Fancier searching for inherited tags]] +- [[#fix-org-ql-view--link-open-on-newer-org-versions][Fix org-ql-view--link-open on newer Org versions]] - [[#outline-path-predicate][Outline path predicate]] - [[#convert-simple-sexp-queries-to-non-sexp][Convert simple sexp queries to non-sexp]] - [[#tools-for-saving-queries-and-accessing-them-34][Tools for saving queries and accessing them {3/4}]] @@ -110,7 +112,6 @@ - [[#dual-matching-with-regexp-and-predicates][Dual matching with regexp and predicates]] - [[#operate-on-list-of-heading-positions][Operate on list of heading positions]] - [[#use-macros-for-date][Use macros for date]] -- [[#make-dynamic-blocks-warn-about-sexp-queries][Make dynamic blocks warn about sexp queries]] :END: ** TODO [#A] Add ~:auto~ keyword to ~(planning)~ predicate @@ -372,6 +373,21 @@ However, there might still be a useful idea here somewhere... When tag inheritance is enabled, and the given tags aren't file-level tags, we could search directly to headings containing the matching tags, and then only do per-heading matching on the subtrees. Sometimes that would be much faster. However, that might make the logic special-cased and complicated. Might need a redesign of the whole matching/predicate system to do cleanly. +** PROJECT [#A] Fix =org-ql-view--link-open= on newer Org versions +:PROPERTIES: +:milestone: 0.5 +:END: + +The version of Org in my personal that passes a URL-decoded string (i.e. as if run through =url-unhex-string=) as the argument to =org-ql-view--link-open=. But Org 9.3 in Emacs 27.1 passes a non-URL-decoded string, so =org-ql-view--link-open= needs to pass it through =url-unhex-string= itself. + +But I don't know which version of Org that changed in. I'm comparing the function =org-open-at-point=, but it's a 114-line function, and in neither version does it call =url-unhex-string=, so whatever code decodes the string must be elsewhere. + +I do recall something about links changing in Org 9.3 (or thereabouts), so that was probably part of it. Maybe I can find it in the release notes. I just need to know basically which version it happened in. + +I noticed because the CI tests on GitHub show the link-safety tests failing on the Emacs snapshot version. However, I think they're not currently vulnerable on that Org version, because the link parameters fail to be parsed correctly, so all the arguments to =org-ql-search= should end up being nil. + +*** NEXT [#A] Check Org release notes for link changes + ** PROJECT [#A] Outline path predicate [2019-10-07 Mon 11:15] There are two potential types of matching on outline paths: matching on any part of the outline path, and matching a specific path. For example, with this file: From dd30f07942650fb1e058ac42eb78d880255246a0 Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Sat, 14 Nov 2020 05:22:59 -0600 Subject: [PATCH 261/615] Notes: Update --- notes.org | 445 +++++++++++++++++++++++++++++++++--------------------- 1 file changed, 271 insertions(+), 174 deletions(-) diff --git a/notes.org b/notes.org index f883349..f0f0c59 100644 --- a/notes.org +++ b/notes.org @@ -1,4 +1,5 @@ #+PROPERTY: LOGGING nil +#+TODO: TODO MAYBE NEXT PROJECT UNDERWAY WAITING | DONE CANCELED * [#A] Contents :PROPERTIES: @@ -16,56 +17,66 @@ * [#A] Overview +** Bugs + ++ [[org-ql-search:todo%3A%20tags%3Abug?super-groups=%28%28%3Aauto-property%20%22Milestone%22%29%29&sort=%28priority%29&title=%22Bugs%22][org-ql-search: Bugs]] + +#+BEGIN: org-ql :query "todo: tags:bug" :columns ((priority "P") ((property "milestone") "M") (todo "Keyword") heading) :sort (priority date) :ts-format "%Y-%m-%d %H:%M" +| P | M | Keyword | Heading | +|---+---+---------+---------------------------------------------------------------------| +| A | | NEXT | [[Fix query-sexp-to-string function's handling of, e.g. =descendants=][Fix query-sexp-to-string function's handling of, e.g. =descendants=]] | +#+END: + ** Underway -[[org-ql-search:todo%253AUNDERWAY?sort=%2528priority%2529&title=%2522Underway%2522][org-ql-search: Underway]] ++ [[org-ql-search:todo%253AUNDERWAY?sort=%2528priority%2529&title=%2522Underway%2522][org-ql-search: Underway]] #+BEGIN: org-ql :query (todo "UNDERWAY") :columns ((priority "P") (todo "Keyword") heading) :sort (priority date) :ts-format "%Y-%m-%d %H:%M" | P | Keyword | Heading | |---+----------+--------------------------------------------------------------------| -| A | UNDERWAY | [[Outline path predicate][Outline path predicate]] | | B | UNDERWAY | [["Node" caching]["Node" caching]] | | | UNDERWAY | [[Benchmarking tags searches without and with new group-tags support][Benchmarking tags searches without and with new group-tags support]] | #+END: ** To-do -+ [[org-ql-search:todo:?super-groups=%2528%2528%253Aauto-outline-path%2529%2529&sort=%2528priority%2529][org-ql-search: Tasks]] ++ [[org-ql-search:todo%3A?super-groups=%28%28%3Atodo%20%22NEXT%22%29%20%28%3Atodo%20%22PROJECT%22%29%20%28%3Aauto-priority%29%29&sort=%28todo%29][org-ql-search: Tasks]] #+BEGIN: org-ql :query "todo: priority:A" :columns ((priority "P") todo heading) :sort (priority date) :take 7 -| P | Todo | Heading | -|---+----------+-----------------------------------------------------------------| -| A | TODO | [[Add ~:auto~ keyword to ~(planning)~ predicate][Add ~:auto~ keyword to ~(planning)~ predicate]] | -| A | TODO | [[Document sorters][Document sorters]] | -| A | TODO | [[Org block to insert results of queries with links to entries][Org block to insert results of queries with links to entries]] | -| A | TODO | [[Change ~(deadline)~'s ~auto~ argument to ~:auto~ and/or ~:auto t~][Change ~(deadline)~'s ~auto~ argument to ~:auto~ and/or ~:auto t~]] | -| A | TODO | [[Save views to dynamic blocks][Save views to dynamic blocks]] | -| A | TODO | [[Consider how to "secure" searches from links and dynamic blocks][Consider how to "secure" searches from links and dynamic blocks]] | -| A | UNDERWAY | [[Outline path predicate][Outline path predicate]] | +| P | Todo | Heading | +|---+---------+----------------------------------------------------------------------------| +| A | NEXT | [[Fix query-sexp-to-string function's handling of, e.g. =descendants=][Fix query-sexp-to-string function's handling of, e.g. =descendants=]] | +| A | NEXT | [[Make dynamic blocks warn about sexp queries][Make dynamic blocks warn about sexp queries]] | +| A | PROJECT | [[Compatibility with Org 9.4 custom link changes][Compatibility with Org 9.4 custom link changes]] | +| A | PROJECT | [[Fix =org-ql-view--link-open= on newer Org versions][Fix =org-ql-view--link-open= on newer Org versions]] | +| A | PROJECT | [[Convert simple sexp queries to non-sexp][Convert simple sexp queries to non-sexp]] | +| A | PROJECT | [[Checking links for unsafe parameters][Checking links for unsafe parameters]] | +| A | PROJECT | [[Org link types [2/3\]][Org link types [2/3]​]] | #+END: -** [[org-ql-search:(and%20(todo%20"PROJECT")%20(not%20(descendants%20(todo%20"NEXT"))))?super-groups=%2528%2528%253Aauto-outline-path%2529%2529&sort=%2528priority%2529&title=%2522Stuck%2520Projects%2522][Stuck projects]] +** [[org-ql-search:%28and%20%28todo%20%22PROJECT%22%29%20%28not%20%28descendants%20%28todo%20%22NEXT%22%29%29%29%29?super-groups=%28%28%3Aauto-parent%29%29&sort=%28priority%29&title=%22Stuck%20Projects%22][org-ql-search: Stuck Projects]] #+BEGIN: org-ql :query (and (todo "PROJECT") (not (descendants (todo "NEXT")))) :columns ((priority "P") heading) :sort (priority date) :take 7 -| P | Heading | -|---+---------------------------------------------------| -| A | [[Outline path predicate][Outline path predicate]] | -| A | [[Convert simple sexp queries to non-sexp][Convert simple sexp queries to non-sexp]] | -| A | [[Tools%20for%20saving%20queries%20and%20accessing%20them%20%5B3/4%5D][Tools for saving queries and accessing them {3/4}]] | -| A | [[Org%20link%20types%20%5B2/3%5D][Org link types {2/3}]] | -| A | [[Group tag support][Group tag support]] | -| A | [[Checking links for unsafe parameters][Checking links for unsafe parameters]] | -| B | [[Recursive queries][Recursive queries]] | +| P | Heading | +|---+----------------------------------------------------------------------------| +| A | [[Compatibility with Org 9.4 custom link changes][Compatibility with Org 9.4 custom link changes]] | +| A | [[Fix =org-ql-view--link-open= on newer Org versions][Fix =org-ql-view--link-open= on newer Org versions]] | +| A | [[Convert simple sexp queries to non-sexp][Convert simple sexp queries to non-sexp]] | +| A | [[Checking links for unsafe parameters][Checking links for unsafe parameters]] | +| A | [[Org link types [2/3\]][Org link types [2/3]​]] | +| B | [[Outline path predicate][Outline path predicate]] | +| B | [[Group tag support][Group tag support]] | #+END: ** Milestones -[[org-ql-search:todo%253A?super-groups=%2528%2528%253Aauto-property%2520%2522milestone%2522%2529%2529&sort=%2528priority%2529&title=%2522Milestones%2522][org-ql-search: Milestones]] +[[org-ql-search:todo%3A?super-groups=%28%28%3Aauto-property%20%22milestone%22%29%29&sort=%28todo%29&title=%22Milestones%22][org-ql-search: Milestones]] #+BEGIN: org-ql :query "todo: property:milestone" :columns (((property "milestone") "M") (priority "P") todo heading) :sort (priority date) :take 7 -| M | P | Todo | Heading | -|-----+---+------+----------------------------| -| 0.6 | B | TODO | [[Save view to dynamic block][Save view to dynamic block]] | +| M | P | Todo | Heading | +|-----+---+---------+----------------------------------------------------------------------------| +| 0.5 | A | PROJECT | [[Fix =org-ql-view--link-open= on newer Org versions][Fix =org-ql-view--link-open= on newer Org versions]] | +| 0.6 | B | PROJECT | [[Save view to dynamic block][Save view to dynamic block]] | #+END: * [#A] Tasks @@ -74,18 +85,12 @@ :END: :CONTENTS: - [[#add-auto-keyword-to-planning-predicate][Add :auto keyword to (planning) predicate]] -- [[#document-sorters][Document sorters]] -- [[#org-block-to-insert-results-of-queries-with-links-to-entries][Org block to insert results of queries with links to entries]] - [[#change-deadlines-auto-argument-to-auto-andor-auto-t][Change (deadline)'s auto argument to :auto and/or :auto t]] -- [[#consider-how-to-secure-searches-from-links-and-dynamic-blocks][Consider how to "secure" searches from links and dynamic blocks]] - [[#outline-path-in-buffers-files-arg][Outline path in buffers-files arg]] - [[#add-more-sorters][Add more sorters?]] - [[#default-sort][Default sort]] - [[#partial-match-for-property-queries][Partial match for property queries]] - [[#move-this-notes-file-into-an-orphan-metanotes-branch][Move this notes file into an orphan meta/notes branch]] -- [[#new-transient-transient-lisp-variable-class][New Transient transient-lisp-variable class]] -- [[#normalize-queries][Normalize queries]] -- [[#update-view-screenshots][Update view screenshots]] - [[#org-agenda-skip-function][org-agenda-skip-function]] - [[#update-commentary][Update commentary]] - [[#fix-query-sexp-to-string-functions-handling-of-eg-descendants][Fix query-sexp-to-string function's handling of, e.g. descendants]] @@ -94,16 +99,21 @@ - [[#overlay-based-caching-inspired-by-org-num-mode][Overlay-based caching inspired by org-num-mode]] - [[#alternative-parsing-libraries][Alternative parsing libraries]] - [[#fancier-searching-for-inherited-tags][Fancier searching for inherited tags]] +- [[#compatibility-with-org-94-custom-link-changes][Compatibility with Org 9.4 custom link changes]] - [[#fix-org-ql-view--link-open-on-newer-org-versions][Fix org-ql-view--link-open on newer Org versions]] -- [[#outline-path-predicate][Outline path predicate]] - [[#convert-simple-sexp-queries-to-non-sexp][Convert simple sexp queries to non-sexp]] -- [[#tools-for-saving-queries-and-accessing-them-34][Tools for saving queries and accessing them {3/4}]] -- [[#group-tag-support][Group tag support]] - [[#checking-links-for-unsafe-parameters][Checking links for unsafe parameters]] +- [[#outline-path-predicate][Outline path predicate]] +- [[#tools-for-saving-queries-and-accessing-them-34][Tools for saving queries and accessing them [3/4]​]] +- [[#group-tag-support][Group tag support]] +- [[#document-the-sorting-functions][Document the sorting functions]] - [[#recursive-queries][Recursive queries]] - [[#timeline-view][Timeline view]] - [[#implement-view-with-tabulated-list-mode-or-magit-section][Implement view with tabulated-list-mode or magit-section]] - [[#dynamic-blocks][Dynamic blocks]] +- [[#new-transient-transient-lisp-variable-class][New Transient transient-lisp-variable class]] +- [[#normalize-queries][Normalize queries]] +- [[#update-view-screenshots][Update view screenshots]] - [[#test-caching][Test caching]] - [[#helm-command][Helm command]] - [[#quickly-change-sortinggrouping-in-search-views][Quickly change sorting/grouping in search views]] @@ -114,32 +124,14 @@ - [[#use-macros-for-date][Use macros for date]] :END: -** TODO [#A] Add ~:auto~ keyword to ~(planning)~ predicate +** TODO [#B] Add ~:auto~ keyword to ~(planning)~ predicate It should act like ~(or (deadline auto) (scheduled :to today))~. -** TODO [#A] Document sorters - -Note that the built-in sorting only works on Org elements, which is the default ~:action~. So if a different action is used, sorting will not work. In that case, the action should be mapped across the Org element results from outside the ~org-ql~ form. - -** TODO [#A] Org block to insert results of queries with links to entries - -[2020-01-16 Thu 06:20] This idea just came to me when I was thinking about using the search-based paradigm vs. outline-based. This would allow both, e.g. some kind of =#+BEGIN_QUERY= block that would update when =C-c C-c= is pressed on it. - -** TODO [#A] Change ~(deadline)~'s ~auto~ argument to ~:auto~ and/or ~:auto t~ +** TODO [#B] Change ~(deadline)~'s ~auto~ argument to ~:auto~ and/or ~:auto t~ For consistency, because plain ~auto~ looks like a variable, and even though it's in a quoted form, it could be confusing. -** TODO [#A] Consider how to "secure" searches from links and dynamic blocks - -Theoretically one could put a sexp-based query into a link that would run arbitrary code to do something evil. Like: - -[[org-ql-search:(message "AHA")]] - -That's very unlikely to be abused, but it would be good to protect against it. Two possibilities: - -1. For sexp-based queries in links and dynamic blocks, prompt for confirmation before running. -2. Use a special variable to control whether lambdas and arbitrary sexps are allowed in queries, and disable it for links and dynamic blocks. (That might be difficult to do, since they could be buried in an ~and~ or something. A whitelist approach might be needed.) ** TODO [#B] Outline path in buffers-files arg :PROPERTIES: @@ -184,23 +176,6 @@ Searching that with a query like =property:author=Fabrice= returns nothing; the [2020-11-12 Thu 03:17] Will probably have to merge or delete some WIP branches first, otherwise they'll probably get conflicts. -** TODO [#C] [[https://github.com/magit/transient/issues/76][New Transient transient-lisp-variable class]] - -[2020-10-19 Mon 00:23] Should try to use this instead of whatever bespoke code is currently used. - -** TODO [#C] Normalize queries - -[2019-07-16 Tue 11:49] This serves two purposes: - -1. Equivalent queries will return the same results from the cache. -2. The selectors that can be converted to the fastest preamble regexps will be sorted first, so the fastest preamble will be used. Although this may not always be straightforward. For example, in a file with only a few =TODO= items, the ~(todo "TODO")~ selector would convert to a preamble that would quickly search through the file. But if there were a thousand =TODO= items, it wouldn't be as much of a benefit, and a ~(regexp "something")~ selector's preamble might be much faster, depending on how many times =something= appears in the file. - -So the second purpose might actually be a drawback, because it would prevent users from optimizing their queries with knowledge of their data. Maybe there should be an option to not normalize queries, so advanced users can order their selectors manually. - -** TODO [#C] Update view screenshots - -e.g. doesn't currently show the =View= header. - ** TODO [#C] ~org-agenda-skip-function~ As discussed [[https://www.reddit.com/r/emacs/comments/cnrt2d/orgqlblock_integrates_orgql_into_org_agenda/ewi1q36/][here]], this is a cool feature that allows further integration into existing custom agenda commands. Example: @@ -247,6 +222,9 @@ I should benchmark it to see how much difference it makes, because all those ~fs ** TODO [#C] Update commentary ** NEXT [#A] Fix query-sexp-to-string function's handling of, e.g. =descendants= :bug: +:PROPERTIES: +:milestone: 0.5 +:END: ** NEXT [#A] Make dynamic blocks warn about sexp queries @@ -373,7 +351,27 @@ However, there might still be a useful idea here somewhere... When tag inheritance is enabled, and the given tags aren't file-level tags, we could search directly to headings containing the matching tags, and then only do per-heading matching on the subtrees. Sometimes that would be much faster. However, that might make the logic special-cased and complicated. Might need a redesign of the whole matching/predicate system to do cleanly. -** PROJECT [#A] Fix =org-ql-view--link-open= on newer Org versions +** PROJECT [#A] Compatibility with Org 9.4 custom link changes :bug: +:PROPERTIES: +:milestone: 0.5 +:END: + +[2020-11-13 Fri 22:36] From [[https://www.orgmode.org/Changes.html][the changelog]]: + +#+BEGIN_QUOTE +Calling conventions changes when opening or exporting custom links + +This changes affects export back-ends, and libraries providing new link types. + +Function used in :follow link parameter is required to accept a second argument. Likewise, function used in :export parameter needs to accept a fourth argument. See org-link-set-parameters for details. + +Eventually, the function org-export-custom-protocol-maybe is now called with a fourth argument. Even though the 3-arguments definition is still supported, at least for now, we encourage back-end developers to switch to the new signature. +#+END_QUOTE + +Unfortunately it does not say what the new, required second argument is. + + +** PROJECT [#A] Fix =org-ql-view--link-open= on newer Org versions :compatibility:bug: :PROPERTIES: :milestone: 0.5 :END: @@ -386,42 +384,62 @@ I do recall something about links changing in Org 9.3 (or thereabouts), so that I noticed because the CI tests on GitHub show the link-safety tests failing on the Emacs snapshot version. However, I think they're not currently vulnerable on that Org version, because the link parameters fail to be parsed correctly, so all the arguments to =org-ql-search= should end up being nil. -*** NEXT [#A] Check Org release notes for link changes +*** DONE [#A] Check Org release notes for link changes -** PROJECT [#A] Outline path predicate +[2020-11-13 Fri 22:44] From [[https://www.orgmode.org/Changes_old.html][the changelog]]: -[2019-10-07 Mon 11:15] There are two potential types of matching on outline paths: matching on any part of the outline path, and matching a specific path. For example, with this file: +#+BEGIN_QUOTE +Change bracket link escaping syntax -#+BEGIN_SRC org - ,* Food +Org used to percent-encode sensitive characters in the URI part of the bracket links. - ,** Fruits +Now, escaping mechanism uses the usual backslash character, according to the following rules, applied in order: - ,*** Blueberries +- All consecutive \ characters at the end of the link must be escaped; +- Any ] character at the very end of the link must be escaped; +- All consecutive \ characters preceding ][ or ]] patterns must be escaped; +- Any ] character followed by either [ or ] must be escaped; +- Others ] and \ characters need not be escaped. - ,*** Grapes +When in doubt, use the function org-link-escape in order to turn a link string into its properly escaped form. - ,** Vegetables +The following function will help switching your links to the new syntax: - ,*** Carrots +(defun org-update-link-syntax (&optional no-query) + "Update syntax for links in current buffer. +Query before replacing a link, unless optional argument NO-QUERY +is non-nil." + (interactive "P") + (org-with-point-at 1 + (let ((case-fold-search t)) + (while (re-search-forward "\\[\\[[^]]*?%\\(?:2[05]\\|5[BD]\\)" nil t) + (let ((object (save-match-data (org-element-context)))) + (when (and (eq 'link (org-element-type object)) + (= (match-beginning 0) + (org-element-property :begin object))) + (goto-char (org-element-property :end object)) + (let* ((uri-start (+ 2 (match-beginning 0))) + (uri-end (save-excursion + (goto-char uri-start) + (re-search-forward "\\][][]" nil t) + (match-beginning 0))) + (uri (buffer-substring-no-properties uri-start uri-end))) + (when (or no-query + (y-or-n-p + (format "Possibly obsolete URI syntax: %S. Fix? " + uri))) + (setf (buffer-substring uri-start uri-end) + (org-link-escape (org-link-decode uri))))))))))) - ,*** Potatoes -#+END_SRC +The old org-link-escape and org-link-unescape functions have been renamed into org-link-encode and org-link-decode. +#+END_QUOTE -Matching could work like this: +This is exactly the kind of breaking, backwards-incompatible change that I've said should mandate a major-version increment. It's not only a change in Org's code, and a change that affects third-party packages, but it's a change in the file format! -+ ~(outline "Food")~ :: Would return all nodes. -+ ~(outline "Fruits")~ :: Would return all fruits. +Is it even possible to support both Org 9.3+ and earlier versions at the same time? -Matching at a specific path would be something like: +This change doesn't even seem to make sense to me. Percent-encoding solves so many problems in a simple way: pass a string to the encoding function on the way in, and to the decoding function on the way out. Now, instead of a simple, standard way of encoding links, there's a list of Org-specific rules and Org-specific encoding/decoding functions. What is gained this way? -+ ~(outline-path "Food" "Fruits")~ :: Would return all fruits. But if there were another =Fruits= heading somewhere in the file, under a different outline path, it would not return its nodes. - -I'm not sure the second type of matching belongs in predicates, but rather in [[id:6935361a-9e1d-48ec-8d17-876a90b90f50][this]]. - -To implement this with good performance probably needs an outline-path cache. I can probably repurpose the tags caching, but maybe it should be generalized. - -[2019-10-07 Mon 13:09] This is basically done with =be2bf6df316b96b3ed56851b8ffe0e227796b621= and =be2bf6df316b96b3ed56851b8ffe0e227796b621=, but not the specific-path matching. I left a =MAYBE= in the code about "anchored" path matching, which would accomplish that. ** PROJECT [#A] Convert simple sexp queries to non-sexp @@ -525,7 +543,132 @@ To implement this with good performance probably needs an outline-path cache. I Maybe make it an option to automatically convert them when possible, because if a user wanted to add complexity to a string query, he'd have to rewrite it as a sexp. -** PROJECT [#A] Tools for saving queries and accessing them [3/4] +** PROJECT [#A] Checking links for unsafe parameters +:PROPERTIES: +:ID: ba70e375-eddb-40df-8892-fb418c1f70d1 +:END: +:LOGBOOK: +- State "PROJECT" from "UNDERWAY" [2020-11-12 Thu 00:26] +- State "UNDERWAY" from [2020-11-11 Wed 23:09] +:END: + +Theoretically one could put a sexp-based query into a link that would run arbitrary code to do something evil. Like: + +[[org-ql-search:(message "AHA")]] + +That's very unlikely to be abused, but it would be good to protect against it. Two possibilities: + +1. For sexp-based queries in links and dynamic blocks, prompt for confirmation before running. +2. Use a special variable to control whether lambdas and arbitrary sexps are allowed in queries, and disable it for links and dynamic blocks. (That might be difficult to do, since they could be buried in an ~and~ or something. A whitelist approach might be needed.) + +*** TODO [#A] Tag org-super-agenda 1.2 and bump required version in org-ql +:PROPERTIES: +:milestone: 0.5 +:END: + +That /should/ force the version of org-super-agenda with the fix to be installed when org-ql is upgraded. + +*** DONE Add automated tests +:LOGBOOK: +- State "UNDERWAY" from "TODO" [2020-11-12 Thu 00:24] +- State "TODO" from "MAYBE" [2020-11-11 Wed 23:16] +- State "MAYBE" from [2020-11-11 Wed 23:15] +:END: + +Maybe impractical, but maybe we could at least test that potentially unsafe ones signal errors. + +[2020-11-12 Thu 00:24] Works better than I expected. All the tests seem to correctly pass, signaling the correct errors for the correct reasons--except for the tests specific to org-super-agenda. For that, I'm currently waiting for MELPA to build the version of org-super-agenda that has the fix applied, so I can install that into the test sandbox, and then those two tests should pass also. + +*** DONE Enumerate and test parameters and potentially unsafe types +CLOSED: [2020-11-11 Wed 23:26] +:LOGBOOK: +- State "DONE" from "UNDERWAY" [2020-11-11 Wed 23:26] +- State "UNDERWAY" from [2020-11-11 Wed 23:15] +:END: + +#+CAPTION: Template for making testable links +#+BEGIN_SRC org +[[org-ql-search:todo:?]] +#+END_SRC + +#+CAPTION: Expression to insert encoded values into template (after the =?=) +#+BEGIN_SRC elisp + (insert (url-hexify-string (concat "buffers-files=" (prin1-to-string '((lambda () (message "AHA"))))))) +#+END_SRC + ++ [X] Buffers-Files: Expanded by =org-ql-view--expand-buffers-files=: + - [X] Quoted lambda: (safe) [[org-ql-search:todo:?buffers-files%3D%28lambda%20nil%20%28message%20%22AHA%22%29%29]] + - [X] Unquoted lambda: (safe) [[org-ql-search:todo:?buffers-files%3D%28lambda%20nil%20%28message%20%22AHA%22%29%29]] + - [X] Quoted lambda in list (safe): [[org-ql-search:todo:?buffers-files%3D%28%28quote%20%28lambda%20nil%20%28message%20%22AHA%22%29%29%29%29]] + - [X] Unquoted lambda in list: (safe) [[org-ql-search:todo:?buffers-files%3D%28%28lambda%20nil%20%28message%20%22AHA%22%29%29%29]] ++ [X] Groups + - [X] Quoted lambda (safe): [[org-ql-search:todo:?super-groups%3D%28lambda%20nil%20%28message%20%22AHA%22%29%29]] + - [X] Unquoted lambda (safe): [[org-ql-search:todo:?super-groups%3D%28lambda%20nil%20%28message%20%22AHA%22%29%29]] + - [X] Quoted expression (safe): [[org-ql-search:todo:?super-groups%3D%28message%20%22AHA%22%29]] + - [X] Unquoted expression (safe): [[org-ql-search:todo:?super-groups%3D%22AHA%22]] + - [X] ~:pred~ selector (UNSAFE, but caught with new org-super-agenda variable): [[org-ql-search:todo:?super-groups%3D%28%28%3Apred%20%28lambda%20%28_%29%20%28message%20%22AHA%22%29%29%29%29]] + - [X] =:auto-map= selector (UNSAFE, but caught with new org-super-agenda variable): [[org-ql-search:todo:?super-groups%3D%28%28%3Aauto-map%20%28lambda%20%28_%29%20%28message%20%22AHA%22%29%29%29%29]] ++ [X] Title + - [X] Quoted lambda (produces the same encoded value as unquoted lambda): (safe) [[org-ql-search:todo:?title%3D%28lambda%20%28_%20_%29%20%28message%20%22AHA%22%29%29]] + - [X] Unquoted lambda: (safe) [[org-ql-search:todo:?title%3D%28lambda%20%28_%20_%29%20%28message%20%22AHA%22%29%29]] + - [X] Expression: (safe) [[org-ql-search:todo:?title%3D%28message%20%22AHA%22%29]] ++ [X] Sort + - [X] Bare, quoted lambda: (maybe unsafe, but caught now): [[org-ql-search:todo:?sort%3D%28lambda%20%28_%20_%29%20%28message%20%22AHA%22%29%29]] + - [X] Bare, unquoted lambda: (UNSAFE, but caught now): [[org-ql-search:todo:?sort%3D%28lambda%20%28_%20_%29%20%28message%20%22AHA%22%29%29]] + - [X] Quoted lambda in list: (maybe unsafe, but caught now): [[org-ql-search:todo:?sort%3D%28%28quote%20%28lambda%20%28_%20_%29%20%28message%20%22AHA%22%29%29%29%29]] + - [X] Unquoted lambda in a list: (UNSAFE, but caught now): [[org-ql-search:todo:?sort=((lambda%20nil%20(message%20"AHA")))]] + +For the query expression: + +1. String queries are parsed by the PEG parsing function (which I will probably rename soon), which should only allow known Org QL predicates, not arbitrary functions. For example: + + #+BEGIN_SRC elisp + (org-ql--plain-query "message:AHA") ;;=> (regexp "message:AHA") + (org-ql--plain-query '(message "AHA")) ;;=> (wrong-type-argument stringp (message "AHA")) + (org-ql--plain-query "(message \"AHA\"") ;;=> (and (regexp "(message") (regexp "AHA")) + #+END_SRC + +2. Sexp queries already prompt for confirmation, unless the user has set =org-ql-view-ask-unsafe-links= to nil. + +[2020-11-11 Wed 23:27] That's all the parameters and all the types that I can think to test. + + +** PROJECT [#B] Outline path predicate + +[2019-10-07 Mon 11:15] There are two potential types of matching on outline paths: matching on any part of the outline path, and matching a specific path. For example, with this file: + +#+BEGIN_SRC org + ,* Food + + ,** Fruits + + ,*** Blueberries + + ,*** Grapes + + ,** Vegetables + + ,*** Carrots + + ,*** Potatoes +#+END_SRC + +Matching could work like this: + ++ ~(outline "Food")~ :: Would return all nodes. ++ ~(outline "Fruits")~ :: Would return all fruits. + +Matching at a specific path would be something like: + ++ ~(outline-path "Food" "Fruits")~ :: Would return all fruits. But if there were another =Fruits= heading somewhere in the file, under a different outline path, it would not return its nodes. + +I'm not sure the second type of matching belongs in predicates, but rather in [[id:6935361a-9e1d-48ec-8d17-876a90b90f50][this]]. + +To implement this with good performance probably needs an outline-path cache. I can probably repurpose the tags caching, but maybe it should be generalized. + +[2019-10-07 Mon 13:09] This is basically done with =be2bf6df316b96b3ed56851b8ffe0e227796b621= and =be2bf6df316b96b3ed56851b8ffe0e227796b621=, but not the specific-path matching. I left a =MAYBE= in the code about "anchored" path matching, which would accomplish that. + +** PROJECT Tools for saving queries and accessing them [3/4] + Added example to =examples.org=. @@ -685,7 +828,7 @@ That seems to work, like: *** DONE Save query from ql-agenda buffer -** PROJECT [#A] Group tag support +** PROJECT [#B] Group tag support *** UNDERWAY Benchmarking tags searches without and with new group-tags support @@ -937,82 +1080,10 @@ Next steps: + [X] Discuss caching of group tag expansion. It seems like we ought to cache the expansions as well, because sibling headings (especially at level 1) ought to get their group tags re-expanded individually, even when we've already expanded them for another heading. + [X] Remove unused =result= variable -** PROJECT [#A] Checking links for unsafe parameters -:PROPERTIES: -:ID: ba70e375-eddb-40df-8892-fb418c1f70d1 -:END: -:LOGBOOK: -- State "PROJECT" from "UNDERWAY" [2020-11-12 Thu 00:26] -- State "UNDERWAY" from [2020-11-11 Wed 23:09] -:END: +** PROJECT [#B] Document the sorting functions -*** TODO Tag org-super-agenda 1.2 and bump required version in org-ql +Note that the built-in sorting only works on Org elements, which is the default ~:action~. So if a different action is used, sorting will not work. In that case, the action should be mapped across the Org element results from outside the ~org-ql~ form. -That /should/ force the version of org-super-agenda with the fix to be installed when org-ql is upgraded. - -*** DONE Add automated tests -:LOGBOOK: -- State "UNDERWAY" from "TODO" [2020-11-12 Thu 00:24] -- State "TODO" from "MAYBE" [2020-11-11 Wed 23:16] -- State "MAYBE" from [2020-11-11 Wed 23:15] -:END: - -Maybe impractical, but maybe we could at least test that potentially unsafe ones signal errors. - -[2020-11-12 Thu 00:24] Works better than I expected. All the tests seem to correctly pass, signaling the correct errors for the correct reasons--except for the tests specific to org-super-agenda. For that, I'm currently waiting for MELPA to build the version of org-super-agenda that has the fix applied, so I can install that into the test sandbox, and then those two tests should pass also. - -*** DONE Enumerate and test parameters and potentially unsafe types -CLOSED: [2020-11-11 Wed 23:26] -:LOGBOOK: -- State "DONE" from "UNDERWAY" [2020-11-11 Wed 23:26] -- State "UNDERWAY" from [2020-11-11 Wed 23:15] -:END: - -#+CAPTION: Template for making testable links -#+BEGIN_SRC org -[[org-ql-search:todo:?]] -#+END_SRC - -#+CAPTION: Expression to insert encoded values into template (after the =?=) -#+BEGIN_SRC elisp - (insert (url-hexify-string (concat "buffers-files=" (prin1-to-string '((lambda () (message "AHA"))))))) -#+END_SRC - -+ [X] Buffers-Files: Expanded by =org-ql-view--expand-buffers-files=: - - [X] Quoted lambda: (safe) [[org-ql-search:todo:?buffers-files%3D%28lambda%20nil%20%28message%20%22AHA%22%29%29]] - - [X] Unquoted lambda: (safe) [[org-ql-search:todo:?buffers-files%3D%28lambda%20nil%20%28message%20%22AHA%22%29%29]] - - [X] Quoted lambda in list (safe): [[org-ql-search:todo:?buffers-files%3D%28%28quote%20%28lambda%20nil%20%28message%20%22AHA%22%29%29%29%29]] - - [X] Unquoted lambda in list: (safe) [[org-ql-search:todo:?buffers-files%3D%28%28lambda%20nil%20%28message%20%22AHA%22%29%29%29]] -+ [X] Groups - - [X] Quoted lambda (safe): [[org-ql-search:todo:?super-groups%3D%28lambda%20nil%20%28message%20%22AHA%22%29%29]] - - [X] Unquoted lambda (safe): [[org-ql-search:todo:?super-groups%3D%28lambda%20nil%20%28message%20%22AHA%22%29%29]] - - [X] Quoted expression (safe): [[org-ql-search:todo:?super-groups%3D%28message%20%22AHA%22%29]] - - [X] Unquoted expression (safe): [[org-ql-search:todo:?super-groups%3D%22AHA%22]] - - [X] ~:pred~ selector (UNSAFE, but caught with new org-super-agenda variable): [[org-ql-search:todo:?super-groups%3D%28%28%3Apred%20%28lambda%20%28_%29%20%28message%20%22AHA%22%29%29%29%29]] - - [X] =:auto-map= selector (UNSAFE, but caught with new org-super-agenda variable): [[org-ql-search:todo:?super-groups%3D%28%28%3Aauto-map%20%28lambda%20%28_%29%20%28message%20%22AHA%22%29%29%29%29]] -+ [X] Title - - [X] Quoted lambda (produces the same encoded value as unquoted lambda): (safe) [[org-ql-search:todo:?title%3D%28lambda%20%28_%20_%29%20%28message%20%22AHA%22%29%29]] - - [X] Unquoted lambda: (safe) [[org-ql-search:todo:?title%3D%28lambda%20%28_%20_%29%20%28message%20%22AHA%22%29%29]] - - [X] Expression: (safe) [[org-ql-search:todo:?title%3D%28message%20%22AHA%22%29]] -+ [X] Sort - - [X] Bare, quoted lambda: (maybe unsafe, but caught now): [[org-ql-search:todo:?sort%3D%28lambda%20%28_%20_%29%20%28message%20%22AHA%22%29%29]] - - [X] Bare, unquoted lambda: (UNSAFE, but caught now): [[org-ql-search:todo:?sort%3D%28lambda%20%28_%20_%29%20%28message%20%22AHA%22%29%29]] - - [X] Quoted lambda in list: (maybe unsafe, but caught now): [[org-ql-search:todo:?sort%3D%28%28quote%20%28lambda%20%28_%20_%29%20%28message%20%22AHA%22%29%29%29%29]] - - [X] Unquoted lambda in a list: (UNSAFE, but caught now): [[org-ql-search:todo:?sort=((lambda%20nil%20(message%20"AHA")))]] - -For the query expression: - -1. String queries are parsed by the PEG parsing function (which I will probably rename soon), which should only allow known Org QL predicates, not arbitrary functions. For example: - - #+BEGIN_SRC elisp - (org-ql--plain-query "message:AHA") ;;=> (regexp "message:AHA") - (org-ql--plain-query '(message "AHA")) ;;=> (wrong-type-argument stringp (message "AHA")) - (org-ql--plain-query "(message \"AHA\"") ;;=> (and (regexp "(message") (regexp "AHA")) - #+END_SRC - -2. Sexp queries already prompt for confirmation, unless the user has set =org-ql-view-ask-unsafe-links= to nil. - -[2020-11-11 Wed 23:27] That's all the parameters and all the types that I can think to test. ** PROJECT [#B] Recursive queries @@ -1286,7 +1357,7 @@ Appears to be another implementation of magit-section-like expandable sections. ** PROJECT Dynamic blocks -*** TODO [#B] Save view to dynamic block +*** PROJECT [#B] Save view to dynamic block :PROPERTIES: :milestone: 0.6 :END: @@ -1374,6 +1445,32 @@ For example, [[https://egli.dev/posts/using-org-mode-for-meeting-minutes/][this [2020-11-10 Tue 00:03] I think it's ready to merge now. +*** DONE [#A] Org block to insert results of queries with links to entries +:PROPERTIES: +:ID: 422754bb-3a7c-4dbf-b303-4056d3cafb7e +:END: + +[2020-01-16 Thu 06:20] This idea just came to me when I was thinking about using the search-based paradigm vs. outline-based. This would allow both, e.g. some kind of =#+BEGIN_QUERY= block that would update when =C-c C-c= is pressed on it. + +[2020-11-13 Fri 22:57] I keep rediscovering ideas that I've had previously. This is now done as the dynamic block feature. I guess I should actually use these tools I've made. + +** PROJECT [#C] [[https://github.com/magit/transient/issues/76][New Transient transient-lisp-variable class]] :compatibility: + +[2020-10-19 Mon 00:23] Should try to use this instead of whatever bespoke code is currently used. + +** PROJECT [#C] Normalize queries + +[2019-07-16 Tue 11:49] This serves two purposes: + +1. Equivalent queries will return the same results from the cache. +2. The selectors that can be converted to the fastest preamble regexps will be sorted first, so the fastest preamble will be used. Although this may not always be straightforward. For example, in a file with only a few =TODO= items, the ~(todo "TODO")~ selector would convert to a preamble that would quickly search through the file. But if there were a thousand =TODO= items, it wouldn't be as much of a benefit, and a ~(regexp "something")~ selector's preamble might be much faster, depending on how many times =something= appears in the file. + +So the second purpose might actually be a drawback, because it would prevent users from optimizing their queries with knowledge of their data. Maybe there should be an option to not normalize queries, so advanced users can order their selectors manually. + +** PROJECT [#C] Update view screenshots + +e.g. doesn't currently show the =View= header. + ** PROJECT [#C] Test caching See notes on 1dce9467f25428b5289d3665cd840820969ed65a. It would be good to test the caching explicitly, at least for some queries, because if I were to completely break it again, in such a way that results were stored but retrieval always failed, the tests wouldn't catch it. @@ -1940,7 +2037,7 @@ Also, maybe instead of having a single =date= selector, I should have =scheduled :END: :CONTENTS: -- [[#2019-08-29-thu-0624--benchmarking-org-ql-compared-to-re-search-forward-for-getting-headings-in-buffer][{2019-08-29 Thu 06:24} Benchmarking org-ql compared to re-search-forward for getting headings in buffer]] +- [[#2019-08-29-thu-0624--benchmarking-org-ql-compared-to-re-search-forward-for-getting-headings-in-buffer][[2019-08-29 Thu 06:24] Benchmarking org-ql compared to re-search-forward for getting headings in buffer]] - [[#caching-of-inherited-tags][Caching of inherited tags]] - [[#intersecting-query-results][Intersecting query results]] - [[#more-profiling][More profiling]] From 89ff02a1501b53b4e20cdc66a8fcaa37e7d15734 Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Sat, 14 Nov 2020 05:40:24 -0600 Subject: [PATCH 262/615] Fix: (org-ql--query-sexp-to-string) Ancestors, etc. queries --- org-ql.el | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/org-ql.el b/org-ql.el index dc6ee24..f75ce4c 100644 --- a/org-ql.el +++ b/org-ql.el @@ -1778,7 +1778,11 @@ Multiple predicates are combined with BOOLEAN." If QUERY can't be converted to a string, return nil." ;; This started out pretty simple...but at least it's not just one long function, right? (cl-labels ((complex-p (query) - (or (contains-p 'or query))) + (or (contains-p 'or query) + (contains-p 'ancestors query) + (contains-p 'children query) + (contains-p 'descendants query) + (contains-p 'parent query))) (contains-p (symbol list) (cl-loop for element in list thereis (or (eq symbol element) From 0365b785cc075db0012bc919ef101f0b43ba9446 Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Sat, 14 Nov 2020 05:41:37 -0600 Subject: [PATCH 263/615] Fix: (org-ql--defpred) Add to predicates variable when compiling This seems to fix an occasional weird bug encountered when byte-compiling and loading this file. I can't explain why it only happens sometimes, but this seems to fix it, and it stands to reason why it does, so it seems like the right thing to do. --- org-ql.el | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/org-ql.el b/org-ql.el index f75ce4c..3825ec2 100644 --- a/org-ql.el +++ b/org-ql.el @@ -159,7 +159,11 @@ match." (fn-name (intern (concat "org-ql--predicate-" (symbol-name name)))) (pred-name (intern (symbol-name name)))) `(progn - (push (list :name ',pred-name :aliases ',aliases :fn ',fn-name :docstring ,docstring :args ',args) org-ql-predicates) + (cl-eval-when (compile load eval) + ;; When compiling, the predicate must be added to `org-ql-predicates' before `org-ql--def-plain-query-fn' + ;; is called to define `org-ql--plain-query'. Otherwise, `org-ql--plain-query' seems to work properly + ;; when interpreted but not always when the file is byte-compiled. + (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. From 4a8deb541e9eb70afd54cbe1f4dbe29f375cdf4a Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Sat, 14 Nov 2020 05:43:12 -0600 Subject: [PATCH 264/615] Comment: Add FIXME --- org-ql-view.el | 1 + 1 file changed, 1 insertion(+) diff --git a/org-ql-view.el b/org-ql-view.el index 843211e..f915591 100644 --- a/org-ql-view.el +++ b/org-ql-view.el @@ -683,6 +683,7 @@ When opened, the link searches the buffer it's opened from." "?" (url-build-query-string (delete nil params)))) (url (url-recreate-url (url-parse-make-urlobj "org-ql-search" nil nil nil nil filename)))) + ;; FIXME: "Warning: ‘org-store-link-props’ is an obsolete function (as of Org 9.3); use ‘org-link-store-props’ instead" (org-store-link-props :type "org-ql-search" :link url From 1b12d4e9b0c5d4a5839434e80875f96f51d547ad Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Sat, 14 Nov 2020 05:43:50 -0600 Subject: [PATCH 265/615] Fix: (org-ql-view--link-store) Don't re-format formatted queries org-ql-view--format-query already returns a string. --- org-ql-view.el | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/org-ql-view.el b/org-ql-view.el index f915591..cba3ad9 100644 --- a/org-ql-view.el +++ b/org-ql-view.el @@ -669,7 +669,7 @@ When opened, the link searches the buffer it's opened from." (cl-every #'string-or-file-buffer-p org-ql-view-buffers-files))) (user-error "Views that search non-file-backed buffers can't be linked to")) (let* ((query-string (--if-let (org-ql--query-sexp-to-string org-ql-view-query) - it (prin1-to-string (org-ql-view--format-query org-ql-view-query)))) + it (org-ql-view--format-query org-ql-view-query))) (buffers-files (prompt-for (org-ql-view--contract-buffers-files org-ql-view-buffers-files))) (params (list (when buffers-files (list "buffers-files" buffers-files)) From 0a2b75146469074e36673957444935b9c68d27f8 Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Sat, 14 Nov 2020 20:35:52 -0600 Subject: [PATCH 266/615] Fix: (org-ql-view-bookmark-make-record) List of filenames Fixes #148. Thanks to @tpeacock19 for reporting. --- org-ql-view.el | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/org-ql-view.el b/org-ql-view.el index cba3ad9..e4ac4c5 100644 --- a/org-ql-view.el +++ b/org-ql-view.el @@ -544,10 +544,12 @@ dates in the past, and negative for dates in the future." (defun org-ql-view-bookmark-make-record () "Return a bookmark record for the current Org QL View buffer." (cl-labels ((file-nameize - (b-f) (or (buffer-file-name b-f) - (when (buffer-base-buffer b-f) - (buffer-file-name (buffer-base-buffer b-f))) - (user-error "Only file-backed buffers can be bookmarked by Org QL View: %s" b-f)))) + (b-f) (cl-typecase b-f + (string b-f) + (buffer (or (buffer-file-name b-f) + (when (buffer-base-buffer b-f) + (buffer-file-name (buffer-base-buffer b-f))))) + (t (user-error "Only file-backed buffers can be bookmarked by Org QL View: %s" b-f))))) (pcase-let* ((plist (org-ql-view--plist (current-buffer))) ((map :buffers-files) plist)) ;; Replace buffers with their filenames, and signal error if any are not file-backed. From 5b401cd8b79086f6cdcca0bd22ef4267efa80851 Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Sat, 14 Nov 2020 20:36:28 -0600 Subject: [PATCH 267/615] Tidy: (org-ql-view-bookmark-make-record) --- org-ql-view.el | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/org-ql-view.el b/org-ql-view.el index e4ac4c5..f5f7fb7 100644 --- a/org-ql-view.el +++ b/org-ql-view.el @@ -557,8 +557,7 @@ dates in the past, and negative for dates in the future." (cl-etypecase buffers-files (string buffers-files) (buffer (file-nameize buffers-files)) - (list (cl-loop for b-f in buffers-files - collect (file-nameize b-f)))))) + (list (mapcar #'file-nameize buffers-files))))) (list (concat "Org QL View: " org-ql-view-title) (cons 'org-ql-view-plist plist) (cons 'handler #'org-ql-view-bookmark-handler) From 60d0c2a45589bfeaccc0096dbb80ee13b32c5f24 Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Sat, 14 Nov 2020 20:53:30 -0600 Subject: [PATCH 268/615] Notes: Update --- notes.org | 139 +++++++++++++++++++++++++++++++----------------------- 1 file changed, 79 insertions(+), 60 deletions(-) diff --git a/notes.org b/notes.org index f0f0c59..48f914a 100644 --- a/notes.org +++ b/notes.org @@ -17,66 +17,63 @@ * [#A] Overview -** Bugs +** Bugs ([[org-ql-search:todo%253A%2520tags%253Abug?super-groups=%2528%2528%253Aauto-property%2520%2522Milestone%2522%2529%2529&sort=%2528todo%2529&title=%2522Bugs%2522][view]]) -+ [[org-ql-search:todo%3A%20tags%3Abug?super-groups=%28%28%3Aauto-property%20%22Milestone%22%29%29&sort=%28priority%29&title=%22Bugs%22][org-ql-search: Bugs]] - -#+BEGIN: org-ql :query "todo: tags:bug" :columns ((priority "P") ((property "milestone") "M") (todo "Keyword") heading) :sort (priority date) :ts-format "%Y-%m-%d %H:%M" -| P | M | Keyword | Heading | -|---+---+---------+---------------------------------------------------------------------| -| A | | NEXT | [[Fix query-sexp-to-string function's handling of, e.g. =descendants=][Fix query-sexp-to-string function's handling of, e.g. =descendants=]] | +#+BEGIN: org-ql :query "todo: tags:bug" :columns ((priority "P") ((property "milestone") "M") (todo "Keyword") heading) :sort (priority todo date) :ts-format "%Y-%m-%d %H:%M" +| P | M | Keyword | Heading | +|---+-----+---------+------------------------------------------------| +| A | 0.5 | NEXT | [[Write tests for storing/opening links][Write tests for storing/opening links]] | +| A | 0.5 | PROJECT | [[Compatibility with Org 9.4 custom link changes][Compatibility with Org 9.4 custom link changes]] | +| A | 0.5 | PROJECT | [[Fix =org-ql-view--link-open= on Org 9.3+][Fix =org-ql-view--link-open= on Org 9.3+]] | #+END: -** Underway +** Underway ([[org-ql-search:todo%253AUNDERWAY?sort=%2528priority%2529&title=%2522Underway%2522][view]]) -+ [[org-ql-search:todo%253AUNDERWAY?sort=%2528priority%2529&title=%2522Underway%2522][org-ql-search: Underway]] - -#+BEGIN: org-ql :query (todo "UNDERWAY") :columns ((priority "P") (todo "Keyword") heading) :sort (priority date) :ts-format "%Y-%m-%d %H:%M" -| P | Keyword | Heading | -|---+----------+--------------------------------------------------------------------| -| B | UNDERWAY | [["Node" caching]["Node" caching]] | -| | UNDERWAY | [[Benchmarking tags searches without and with new group-tags support][Benchmarking tags searches without and with new group-tags support]] | +#+BEGIN: org-ql :query (todo "UNDERWAY") :columns (((property "milestone") "M") (priority "P") (todo "Keyword") heading) :sort (priority date) :ts-format "%Y-%m-%d %H:%M" +| M | P | Keyword | Heading | +|---+---+----------+--------------------------------------------------------------------| +| | B | UNDERWAY | [["Node" caching]["Node" caching]] | +| | | UNDERWAY | [[Benchmarking tags searches without and with new group-tags support][Benchmarking tags searches without and with new group-tags support]] | #+END: -** To-do +** To-do ([[org-ql-search:todo:?super-groups=((:todo%20"NEXT")%20(:todo%20"PROJECT")%20(:auto-priority))&sort=(todo)][view]]) -+ [[org-ql-search:todo%3A?super-groups=%28%28%3Atodo%20%22NEXT%22%29%20%28%3Atodo%20%22PROJECT%22%29%20%28%3Aauto-priority%29%29&sort=%28todo%29][org-ql-search: Tasks]] - -#+BEGIN: org-ql :query "todo: priority:A" :columns ((priority "P") todo heading) :sort (priority date) :take 7 -| P | Todo | Heading | -|---+---------+----------------------------------------------------------------------------| -| A | NEXT | [[Fix query-sexp-to-string function's handling of, e.g. =descendants=][Fix query-sexp-to-string function's handling of, e.g. =descendants=]] | -| A | NEXT | [[Make dynamic blocks warn about sexp queries][Make dynamic blocks warn about sexp queries]] | -| A | PROJECT | [[Compatibility with Org 9.4 custom link changes][Compatibility with Org 9.4 custom link changes]] | -| A | PROJECT | [[Fix =org-ql-view--link-open= on newer Org versions][Fix =org-ql-view--link-open= on newer Org versions]] | -| A | PROJECT | [[Convert simple sexp queries to non-sexp][Convert simple sexp queries to non-sexp]] | -| A | PROJECT | [[Checking links for unsafe parameters][Checking links for unsafe parameters]] | -| A | PROJECT | [[Org link types [2/3\]][Org link types [2/3]​]] | +#+BEGIN: org-ql :query "todo: priority:A" :columns ((priority "P") ((property "milestone") "M") todo heading) :sort (priority date) :take 7 +| P | M | Todo | Heading | +|---+-----+---------+--------------------------------------------------------------| +| A | | NEXT | [[Make dynamic blocks warn about sexp queries][Make dynamic blocks warn about sexp queries]] | +| A | 0.5 | PROJECT | [[Compatibility with Org 9.4 custom link changes][Compatibility with Org 9.4 custom link changes]] | +| A | 0.5 | PROJECT | [[Fix =org-ql-view--link-open= on Org 9.3+][Fix =org-ql-view--link-open= on Org 9.3+]] | +| A | 0.5 | NEXT | [[Write tests for storing/opening links][Write tests for storing/opening links]] | +| A | | PROJECT | [[Convert simple sexp queries to non-sexp][Convert simple sexp queries to non-sexp]] | +| A | | PROJECT | [[Checking links for unsafe parameters][Checking links for unsafe parameters]] | +| A | 0.5 | TODO | [[Tag org-super-agenda 1.2 and bump required version in org-ql][Tag org-super-agenda 1.2 and bump required version in org-ql]] | #+END: -** [[org-ql-search:%28and%20%28todo%20%22PROJECT%22%29%20%28not%20%28descendants%20%28todo%20%22NEXT%22%29%29%29%29?super-groups=%28%28%3Aauto-parent%29%29&sort=%28priority%29&title=%22Stuck%20Projects%22][org-ql-search: Stuck Projects]] +** Stuck projects ([[org-ql-search:(and%20(todo%20"PROJECT")%20(not%20(descendants%20(todo%20"NEXT"))))?super-groups=((:auto-parent))&sort=(priority)&title="Stuck%20Projects"][view]]) -#+BEGIN: org-ql :query (and (todo "PROJECT") (not (descendants (todo "NEXT")))) :columns ((priority "P") heading) :sort (priority date) :take 7 -| P | Heading | -|---+----------------------------------------------------------------------------| -| A | [[Compatibility with Org 9.4 custom link changes][Compatibility with Org 9.4 custom link changes]] | -| A | [[Fix =org-ql-view--link-open= on newer Org versions][Fix =org-ql-view--link-open= on newer Org versions]] | -| A | [[Convert simple sexp queries to non-sexp][Convert simple sexp queries to non-sexp]] | -| A | [[Checking links for unsafe parameters][Checking links for unsafe parameters]] | -| A | [[Org link types [2/3\]][Org link types [2/3]​]] | -| B | [[Outline path predicate][Outline path predicate]] | -| B | [[Group tag support][Group tag support]] | +#+BEGIN: org-ql :query (and (todo "PROJECT") (not (descendants (todo "NEXT")))) :columns (((property "milestone") "M") (priority "P") heading) :sort (priority date) :take 7 +| M | P | Heading | +|-----+---+-------------------------------------------------------| +| 0.5 | A | [[Compatibility with Org 9.4 custom link changes][Compatibility with Org 9.4 custom link changes]] | +| | A | [[Convert simple sexp queries to non-sexp][Convert simple sexp queries to non-sexp]] | +| | A | [[Checking links for unsafe parameters][Checking links for unsafe parameters]] | +| | A | [[Org%20link%20types%20%5B2/3%5D][Org link types {2/3}]] | +| | B | [[Move this notes file into an orphan =meta/notes= branch][Move this notes file into an orphan =meta/notes= branch]] | +| | B | [[Outline path predicate][Outline path predicate]] | +| | B | [[Group tag support][Group tag support]] | #+END: -** Milestones - -[[org-ql-search:todo%3A?super-groups=%28%28%3Aauto-property%20%22milestone%22%29%29&sort=%28todo%29&title=%22Milestones%22][org-ql-search: Milestones]] +** Milestones ([[org-ql-search:todo:?super-groups=((:auto-property%20"milestone"))&sort=(todo)&title="Milestones"][view]]) #+BEGIN: org-ql :query "todo: property:milestone" :columns (((property "milestone") "M") (priority "P") todo heading) :sort (priority date) :take 7 -| M | P | Todo | Heading | -|-----+---+---------+----------------------------------------------------------------------------| -| 0.5 | A | PROJECT | [[Fix =org-ql-view--link-open= on newer Org versions][Fix =org-ql-view--link-open= on newer Org versions]] | -| 0.6 | B | PROJECT | [[Save view to dynamic block][Save view to dynamic block]] | +| M | P | Todo | Heading | +|-----+---+---------+--------------------------------------------------------------| +| 0.5 | A | PROJECT | [[Compatibility with Org 9.4 custom link changes][Compatibility with Org 9.4 custom link changes]] | +| 0.5 | A | PROJECT | [[Fix =org-ql-view--link-open= on Org 9.3+][Fix =org-ql-view--link-open= on Org 9.3+]] | +| 0.5 | A | NEXT | [[Write tests for storing/opening links][Write tests for storing/opening links]] | +| 0.5 | A | TODO | [[Tag org-super-agenda 1.2 and bump required version in org-ql][Tag org-super-agenda 1.2 and bump required version in org-ql]] | +| 0.6 | B | PROJECT | [[Save view to dynamic block][Save view to dynamic block]] | #+END: * [#A] Tasks @@ -93,18 +90,17 @@ - [[#move-this-notes-file-into-an-orphan-metanotes-branch][Move this notes file into an orphan meta/notes branch]] - [[#org-agenda-skip-function][org-agenda-skip-function]] - [[#update-commentary][Update commentary]] -- [[#fix-query-sexp-to-string-functions-handling-of-eg-descendants][Fix query-sexp-to-string function's handling of, e.g. descendants]] - [[#make-dynamic-blocks-warn-about-sexp-queries][Make dynamic blocks warn about sexp queries]] - [[#node-caching]["Node" caching]] - [[#overlay-based-caching-inspired-by-org-num-mode][Overlay-based caching inspired by org-num-mode]] - [[#alternative-parsing-libraries][Alternative parsing libraries]] - [[#fancier-searching-for-inherited-tags][Fancier searching for inherited tags]] - [[#compatibility-with-org-94-custom-link-changes][Compatibility with Org 9.4 custom link changes]] -- [[#fix-org-ql-view--link-open-on-newer-org-versions][Fix org-ql-view--link-open on newer Org versions]] +- [[#fix-org-ql-view--link-open-on-org-93][Fix org-ql-view--link-open on Org 9.3+]] - [[#convert-simple-sexp-queries-to-non-sexp][Convert simple sexp queries to non-sexp]] - [[#checking-links-for-unsafe-parameters][Checking links for unsafe parameters]] - [[#outline-path-predicate][Outline path predicate]] -- [[#tools-for-saving-queries-and-accessing-them-34][Tools for saving queries and accessing them [3/4]​]] +- [[#tools-for-saving-queries-and-accessing-them-34][Tools for saving queries and accessing them {3/4}]] - [[#group-tag-support][Group tag support]] - [[#document-the-sorting-functions][Document the sorting functions]] - [[#recursive-queries][Recursive queries]] @@ -115,6 +111,7 @@ - [[#normalize-queries][Normalize queries]] - [[#update-view-screenshots][Update view screenshots]] - [[#test-caching][Test caching]] +- [[#fix-query-sexp-to-string-functions-handling-of-eg-descendants][Fix query-sexp-to-string function's handling of, e.g. descendants]] - [[#helm-command][Helm command]] - [[#quickly-change-sortinggrouping-in-search-views][Quickly change sorting/grouping in search views]] - [[#byte-compile-lambdas][Byte-compile lambdas]] @@ -172,10 +169,6 @@ e.g. something like [[https://200ok.ch/posts/2020-02-09_creating_org_mode_sparse Searching that with a query like =property:author=Fabrice= returns nothing; the full value must be used, like ~property:author="Fabrice Niessen"~. It should be possible to do something like ~property:author=~Fabrice~ to search for partial matches. -** TODO [#B] Move this notes file into an orphan =meta/notes= branch - -[2020-11-12 Thu 03:17] Will probably have to merge or delete some WIP branches first, otherwise they'll probably get conflicts. - ** TODO [#C] ~org-agenda-skip-function~ As discussed [[https://www.reddit.com/r/emacs/comments/cnrt2d/orgqlblock_integrates_orgql_into_org_agenda/ewi1q36/][here]], this is a cool feature that allows further integration into existing custom agenda commands. Example: @@ -221,11 +214,6 @@ I should benchmark it to see how much difference it makes, because all those ~fs ** TODO [#C] Update commentary -** NEXT [#A] Fix query-sexp-to-string function's handling of, e.g. =descendants= :bug: -:PROPERTIES: -:milestone: 0.5 -:END: - ** NEXT [#A] Make dynamic blocks warn about sexp queries [2020-11-12 Thu 05:22] I guess to be super-extra careful, just in case someone had =org-update-all-dblocks= in the =before-save-hook= or something. @@ -371,7 +359,7 @@ Eventually, the function org-export-custom-protocol-maybe is now called with a f Unfortunately it does not say what the new, required second argument is. -** PROJECT [#A] Fix =org-ql-view--link-open= on newer Org versions :compatibility:bug: +** PROJECT [#A] Fix =org-ql-view--link-open= on Org 9.3+ :compatibility:bug: :PROPERTIES: :milestone: 0.5 :END: @@ -384,6 +372,26 @@ I do recall something about links changing in Org 9.3 (or thereabouts), so that I noticed because the CI tests on GitHub show the link-safety tests failing on the Emacs snapshot version. However, I think they're not currently vulnerable on that Org version, because the link parameters fail to be parsed correctly, so all the arguments to =org-ql-search= should end up being nil. +[2020-11-14 Sat 20:41] I should probably do something like this in =org-ql-view--link-open=: + +#+BEGIN_SRC elisp + (when (version<= "9.3" (org-version)) + ;; Org 9.3+ makes a backward-incompatible change to link escaping. + ;; I don't think it would be a good idea to try to guess whether + ;; the string received by this function was made with or without + ;; that change, so we'll just test the current version of Org. + ;; Any links created with older Org versions and then opened with + ;; newer ones will have to be recreated. + (setf path (url-unhex-string path))) +#+END_SRC + +But, first, I should write tests for saving and opening links, so it can actually be tested on different versions automatically. + +*** NEXT [#A] Write tests for storing/opening links +:PROPERTIES: +:milestone: 0.5 +:END: + *** DONE [#A] Check Org release notes for link changes [2020-11-13 Fri 22:44] From [[https://www.orgmode.org/Changes_old.html][the changelog]]: @@ -633,6 +641,10 @@ For the query expression: [2020-11-11 Wed 23:27] That's all the parameters and all the types that I can think to test. +** PROJECT [#B] Move this notes file into an orphan =meta/notes= branch + +[2020-11-12 Thu 03:17] Will probably have to merge or delete some WIP branches first, otherwise they'll probably get conflicts. + ** PROJECT [#B] Outline path predicate [2019-10-07 Mon 11:15] There are two potential types of matching on outline paths: matching on any part of the outline path, and matching a specific path. For example, with this file: @@ -1475,6 +1487,13 @@ e.g. doesn't currently show the =View= header. See notes on 1dce9467f25428b5289d3665cd840820969ed65a. It would be good to test the caching explicitly, at least for some queries, because if I were to completely break it again, in such a way that results were stored but retrieval always failed, the tests wouldn't catch it. +** DONE [#A] Fix query-sexp-to-string function's handling of, e.g. =descendants= :bug: +:PROPERTIES: +:milestone: 0.5 +:END: + +[2020-11-14 Sat 20:45] Fixed in =89ff02a1501b53b4e20cdc66a8fcaa37e7d15734=. + ** DONE [#A] Helm command In branch =wip/helm-org-ql=. Works really well, should add it and demonstrate it. @@ -2037,7 +2056,7 @@ Also, maybe instead of having a single =date= selector, I should have =scheduled :END: :CONTENTS: -- [[#2019-08-29-thu-0624--benchmarking-org-ql-compared-to-re-search-forward-for-getting-headings-in-buffer][[2019-08-29 Thu 06:24] Benchmarking org-ql compared to re-search-forward for getting headings in buffer]] +- [[#2019-08-29-thu-0624--benchmarking-org-ql-compared-to-re-search-forward-for-getting-headings-in-buffer][{2019-08-29 Thu 06:24} Benchmarking org-ql compared to re-search-forward for getting headings in buffer]] - [[#caching-of-inherited-tags][Caching of inherited tags]] - [[#intersecting-query-results][Intersecting query results]] - [[#more-profiling][More profiling]] From 511edbfff85618be847dc992a17b6ff8b4405cfb Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Sat, 14 Nov 2020 20:58:19 -0600 Subject: [PATCH 269/615] Notes: Make ToC after sorting --- notes.org | 2 +- org-ql-view.el | 7 ++++--- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/notes.org b/notes.org index 48f914a..223a652 100644 --- a/notes.org +++ b/notes.org @@ -4184,6 +4184,6 @@ I don't need this right now, but it might come in handy here or elsewhere. ** File-local variables # Local Variables: -# before-save-hook: (org-make-toc (lambda () (when (fboundp 'unpackaged/org-fix-blank-lines) (unpackaged/org-fix-blank-lines t))) (lambda () (when (fboundp 'ap/org-sort-entries-recursive-multi) (save-excursion (goto-char (point-min)) (ap/org-sort-entries-recursive-multi '(?a ?p ?o)))))) +# before-save-hook: ((lambda () (when (fboundp 'unpackaged/org-fix-blank-lines) (unpackaged/org-fix-blank-lines t))) (lambda () (when (fboundp 'ap/org-sort-entries-recursive-multi) (save-excursion (goto-char (point-min)) (ap/org-sort-entries-recursive-multi '(?a ?p ?o))))) org-make-toc) # End: diff --git a/org-ql-view.el b/org-ql-view.el index f5f7fb7..0101a69 100644 --- a/org-ql-view.el +++ b/org-ql-view.el @@ -662,9 +662,10 @@ When opened, the link searches the buffer it's opened from." ("containing file" nil) (buffers-files (prin1-to-string buffers-files)))) (string-or-file-buffer-p - (thing) (or (stringp thing) - (and (bufferp thing) - (buffer-file-name thing))))) + (thing) (cl-typecase thing + (string thing) + (buffer (or (buffer-file-name thing) + (buffer-file-name (buffer-base-buffer thing))))))) (unless (or (string-or-file-buffer-p org-ql-view-buffers-files) (and (listp org-ql-view-buffers-files) (cl-every #'string-or-file-buffer-p org-ql-view-buffers-files))) From 5c8260b2721b29d78892c35691c9218d55d981c4 Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Sat, 14 Nov 2020 20:58:32 -0600 Subject: [PATCH 270/615] Notes: Add checklist --- notes.org | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/notes.org b/notes.org index 223a652..b02ccae 100644 --- a/notes.org +++ b/notes.org @@ -1855,6 +1855,18 @@ If I made the =date= selector a macro, I could avoid the need to quote the compa Also, maybe instead of having a single =date= selector, I should have =scheduled=, =deadline=, etc. +* Checklists + +** Commit + +*** Fix + ++ [ ] Check repo for closing issue ++ [ ] Check this file for closing task ++ [ ] Lint ++ [ ] Test ++ [ ] Commit and push + * Examples / testing :PROPERTIES: :TOC: :include descendants :depth 1 From dabb812a3c221d28bc6244032404aea8d3eeeb1d Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Sat, 14 Nov 2020 20:58:45 -0600 Subject: [PATCH 271/615] Notes: Update --- notes.org | 224 +++++++++++++++++++++++++++--------------------------- 1 file changed, 113 insertions(+), 111 deletions(-) diff --git a/notes.org b/notes.org index b02ccae..ebfa4a9 100644 --- a/notes.org +++ b/notes.org @@ -8,6 +8,7 @@ :CONTENTS: - [[#overview][Overview]] - [[#tasks][Tasks]] +- [[#checklists][Checklists]] - [[#examples--testing][Examples / testing]] - [[#in-the-wild][In the wild]] - [[#profiling][Profiling]] @@ -87,18 +88,17 @@ - [[#add-more-sorters][Add more sorters?]] - [[#default-sort][Default sort]] - [[#partial-match-for-property-queries][Partial match for property queries]] -- [[#move-this-notes-file-into-an-orphan-metanotes-branch][Move this notes file into an orphan meta/notes branch]] - [[#org-agenda-skip-function][org-agenda-skip-function]] - [[#update-commentary][Update commentary]] -- [[#make-dynamic-blocks-warn-about-sexp-queries][Make dynamic blocks warn about sexp queries]] -- [[#node-caching]["Node" caching]] - [[#overlay-based-caching-inspired-by-org-num-mode][Overlay-based caching inspired by org-num-mode]] - [[#alternative-parsing-libraries][Alternative parsing libraries]] - [[#fancier-searching-for-inherited-tags][Fancier searching for inherited tags]] +- [[#make-dynamic-blocks-warn-about-sexp-queries][Make dynamic blocks warn about sexp queries]] - [[#compatibility-with-org-94-custom-link-changes][Compatibility with Org 9.4 custom link changes]] - [[#fix-org-ql-view--link-open-on-org-93][Fix org-ql-view--link-open on Org 9.3+]] - [[#convert-simple-sexp-queries-to-non-sexp][Convert simple sexp queries to non-sexp]] - [[#checking-links-for-unsafe-parameters][Checking links for unsafe parameters]] +- [[#move-this-notes-file-into-an-orphan-metanotes-branch][Move this notes file into an orphan meta/notes branch]] - [[#outline-path-predicate][Outline path predicate]] - [[#tools-for-saving-queries-and-accessing-them-34][Tools for saving queries and accessing them {3/4}]] - [[#group-tag-support][Group tag support]] @@ -111,6 +111,7 @@ - [[#normalize-queries][Normalize queries]] - [[#update-view-screenshots][Update view screenshots]] - [[#test-caching][Test caching]] +- [[#node-caching]["Node" caching]] - [[#fix-query-sexp-to-string-functions-handling-of-eg-descendants][Fix query-sexp-to-string function's handling of, e.g. descendants]] - [[#helm-command][Helm command]] - [[#quickly-change-sortinggrouping-in-search-views][Quickly change sorting/grouping in search views]] @@ -214,114 +215,6 @@ I should benchmark it to see how much difference it makes, because all those ~fs ** TODO [#C] Update commentary -** NEXT [#A] Make dynamic blocks warn about sexp queries - -[2020-11-12 Thu 05:22] I guess to be super-extra careful, just in case someone had =org-update-all-dblocks= in the =before-save-hook= or something. - -** UNDERWAY [#B] "Node" caching - -[2019-09-05 Thu 12:30] At each node checked by a predicate, make a struct that stores attributes we can query for, as well as parent node position. This would let us speed up ancestor-based queries, like =(ancestor (todo "WAITING"))=. Ideally it would also serve as the tag hierarchy cache. - -It would probably be an all-encompassing system, because predicates would need to refer to the cached node when available. So maybe the struct should be like =ts-defstruct=, with lazy, caching accessors, which would move some of the predicates' code into the accessors. - -Maybe a good improvement to make later, after the project is more developed. - -[2019-10-07 Mon 13:08] This has basically been implemented in =be2bf6df316b96b3ed56851b8ffe0e227796b621=, but as functions and values rather than with structs. It remains to be seen how this works with =ancestor= queries, but I suspect it will help a lot. - -*** Struct PoC code - -This works okay (except the priority accessor needs to be fixed, because Org priorities are awkward to get). I'm guessing all the extra function calls would make it undesirable in cases of returning many results, but it's a flexible concept that makes sorting easy. - -#+BEGIN_SRC elisp - (ts-defstruct org-ql-node - file position marker - (level - nil :accessor-init (org-with-point-at (org-ql-node-marker struct) - (org-outline-level))) - (heading - nil :accessor-init (org-with-point-at (org-ql-node-marker struct) - ;; TODO: Org 9.2+ adds 2 more args to `org-get-heading'. - (org-get-heading t t))) - (priority - nil :accessor-init (org-with-point-at (org-ql-node-marker struct) - (org-get-priority ))) - (tags - nil :accessor-init (org-with-point-at (org-ql-node-marker struct) - (->> (org-ql--tags-at (point)) - -flatten - (delq 'org-ql-nil)))) - (todo - nil :accessor-init (org-with-point-at (org-ql-node-marker struct) - (org-get-todo-state))) - (outline-path - nil :accessor-init (org-with-point-at (org-ql-node-marker struct) - (org-split-string (org-format-outline-path (org-get-outline-path) - nil nil "") - "")))) - - (defcustom helm-org-ql-sort - '(org-ql-node-priority org-ql-node-todo) - "FIXME" - ) - - (cl-defun helm-org-ql (buffers-files &optional no-and) - "Display results in BUFFERS-FILES for an `org-ql' query using Helm. - Interactively, search the current buffer. - - NOTE: Atoms in the query are turned into strings where - appropriate, which makes it unnecessary to type quotation marks - around words that are intended to be searched for as indepenent - strings. - - Also, unless NO-AND is non-nil (interactively, with prefix), all - query tokens are wrapped in an implied (and) form. This is - because a query must be a sexp, so when typing multiple clauses, - either (and) or (or) would be required around them, and (and) is - typically more useful, because it narrows down results. - - For example, this raw input: - - Emacs git - - Is transformed into this query: - - (and \"Emacs\" \"git\") - - However, quoted strings remain quoted, so this input: - - \"something else\" (tags \"funny\") - - Is transformed into this query: - - (and \"something else\" (tags \"funny\"))" - (interactive (list (current-buffer) current-prefix-arg)) - (let ((helm-input-idle-delay helm-org-ql-input-idle-delay)) - (helm :sources - (helm-build-sync-source "helm-org-ql-agenda-files" - :candidates (lambda () - (let* ((query (helm-org-ql--input-to-query helm-pattern no-and)) - (window-width (window-width (helm-window)))) - (when query - (let ((results (org-ql-select buffers-files - query - :action '(make-org-ql-node :marker (point-marker))))) - (when helm-org-ql-sort - (dolist (sorter (reverse helm-org-ql-sort)) - (setf results (sort results sorter)))) - (cl-loop for it in-ref results - do (setf it (concat (buffer-name (org-ql-node-file it)) ":" - (or (org-ql-node-todo it) "") - (or (org-ql-node-priority it) "") - (org-ql-node-heading it) "\\" - (org-ql-node-outline-path it)))) - results)))) - :match #'identity - :fuzzy-match nil - :multimatch nil - :volatile t - :action #'helm-org-goto-marker)))) -#+END_SRC - ** MAYBE [#C] Overlay-based caching inspired by org-num-mode [2019-12-30 Mon 22:42] Newer versions of Org have =org-num-mode=, which uses =font-lock= and =after-change-functions= to update overlays in the buffer with outline numbering. Maybe a similar approach could be used to cache arbitrary values for headings in a buffer without having to discard the whole buffer's cache when the buffer changes. @@ -339,6 +232,10 @@ However, there might still be a useful idea here somewhere... When tag inheritance is enabled, and the given tags aren't file-level tags, we could search directly to headings containing the matching tags, and then only do per-heading matching on the subtrees. Sometimes that would be much faster. However, that might make the logic special-cased and complicated. Might need a redesign of the whole matching/predicate system to do cleanly. +** NEXT [#A] Make dynamic blocks warn about sexp queries + +[2020-11-12 Thu 05:22] I guess to be super-extra careful, just in case someone had =org-update-all-dblocks= in the =before-save-hook= or something. + ** PROJECT [#A] Compatibility with Org 9.4 custom link changes :bug: :PROPERTIES: :milestone: 0.5 @@ -362,6 +259,7 @@ Unfortunately it does not say what the new, required second argument is. ** PROJECT [#A] Fix =org-ql-view--link-open= on Org 9.3+ :compatibility:bug: :PROPERTIES: :milestone: 0.5 +:url: https://github.com/alphapapa/org-ql/issues/147 :END: The version of Org in my personal that passes a URL-decoded string (i.e. as if run through =url-unhex-string=) as the argument to =org-ql-view--link-open=. But Org 9.3 in Emacs 27.1 passes a non-URL-decoded string, so =org-ql-view--link-open= needs to pass it through =url-unhex-string= itself. @@ -1487,6 +1385,110 @@ e.g. doesn't currently show the =View= header. See notes on 1dce9467f25428b5289d3665cd840820969ed65a. It would be good to test the caching explicitly, at least for some queries, because if I were to completely break it again, in such a way that results were stored but retrieval always failed, the tests wouldn't catch it. +** UNDERWAY [#B] "Node" caching + +[2019-09-05 Thu 12:30] At each node checked by a predicate, make a struct that stores attributes we can query for, as well as parent node position. This would let us speed up ancestor-based queries, like =(ancestor (todo "WAITING"))=. Ideally it would also serve as the tag hierarchy cache. + +It would probably be an all-encompassing system, because predicates would need to refer to the cached node when available. So maybe the struct should be like =ts-defstruct=, with lazy, caching accessors, which would move some of the predicates' code into the accessors. + +Maybe a good improvement to make later, after the project is more developed. + +[2019-10-07 Mon 13:08] This has basically been implemented in =be2bf6df316b96b3ed56851b8ffe0e227796b621=, but as functions and values rather than with structs. It remains to be seen how this works with =ancestor= queries, but I suspect it will help a lot. + +*** Struct PoC code + +This works okay (except the priority accessor needs to be fixed, because Org priorities are awkward to get). I'm guessing all the extra function calls would make it undesirable in cases of returning many results, but it's a flexible concept that makes sorting easy. + +#+BEGIN_SRC elisp + (ts-defstruct org-ql-node + file position marker + (level + nil :accessor-init (org-with-point-at (org-ql-node-marker struct) + (org-outline-level))) + (heading + nil :accessor-init (org-with-point-at (org-ql-node-marker struct) + ;; TODO: Org 9.2+ adds 2 more args to `org-get-heading'. + (org-get-heading t t))) + (priority + nil :accessor-init (org-with-point-at (org-ql-node-marker struct) + (org-get-priority ))) + (tags + nil :accessor-init (org-with-point-at (org-ql-node-marker struct) + (->> (org-ql--tags-at (point)) + -flatten + (delq 'org-ql-nil)))) + (todo + nil :accessor-init (org-with-point-at (org-ql-node-marker struct) + (org-get-todo-state))) + (outline-path + nil :accessor-init (org-with-point-at (org-ql-node-marker struct) + (org-split-string (org-format-outline-path (org-get-outline-path) + nil nil "") + "")))) + + (defcustom helm-org-ql-sort + '(org-ql-node-priority org-ql-node-todo) + "FIXME" + ) + + (cl-defun helm-org-ql (buffers-files &optional no-and) + "Display results in BUFFERS-FILES for an `org-ql' query using Helm. + Interactively, search the current buffer. + + NOTE: Atoms in the query are turned into strings where + appropriate, which makes it unnecessary to type quotation marks + around words that are intended to be searched for as indepenent + strings. + + Also, unless NO-AND is non-nil (interactively, with prefix), all + query tokens are wrapped in an implied (and) form. This is + because a query must be a sexp, so when typing multiple clauses, + either (and) or (or) would be required around them, and (and) is + typically more useful, because it narrows down results. + + For example, this raw input: + + Emacs git + + Is transformed into this query: + + (and \"Emacs\" \"git\") + + However, quoted strings remain quoted, so this input: + + \"something else\" (tags \"funny\") + + Is transformed into this query: + + (and \"something else\" (tags \"funny\"))" + (interactive (list (current-buffer) current-prefix-arg)) + (let ((helm-input-idle-delay helm-org-ql-input-idle-delay)) + (helm :sources + (helm-build-sync-source "helm-org-ql-agenda-files" + :candidates (lambda () + (let* ((query (helm-org-ql--input-to-query helm-pattern no-and)) + (window-width (window-width (helm-window)))) + (when query + (let ((results (org-ql-select buffers-files + query + :action '(make-org-ql-node :marker (point-marker))))) + (when helm-org-ql-sort + (dolist (sorter (reverse helm-org-ql-sort)) + (setf results (sort results sorter)))) + (cl-loop for it in-ref results + do (setf it (concat (buffer-name (org-ql-node-file it)) ":" + (or (org-ql-node-todo it) "") + (or (org-ql-node-priority it) "") + (org-ql-node-heading it) "\\" + (org-ql-node-outline-path it)))) + results)))) + :match #'identity + :fuzzy-match nil + :multimatch nil + :volatile t + :action #'helm-org-goto-marker)))) +#+END_SRC + ** DONE [#A] Fix query-sexp-to-string function's handling of, e.g. =descendants= :bug: :PROPERTIES: :milestone: 0.5 From 8a1fd1459081f5639a8c2d58289bb1fe4e095ea9 Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Sat, 14 Nov 2020 22:29:53 -0600 Subject: [PATCH 272/615] Fix: (org-ql-view--link-store) Indirect buffers Probably the best thing to do, even if it's not "correct" in a sense. --- org-ql-view.el | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/org-ql-view.el b/org-ql-view.el index 0101a69..062c9e9 100644 --- a/org-ql-view.el +++ b/org-ql-view.el @@ -662,10 +662,15 @@ When opened, the link searches the buffer it's opened from." ("containing file" nil) (buffers-files (prin1-to-string buffers-files)))) (string-or-file-buffer-p - (thing) (cl-typecase thing + (thing) (cl-etypecase thing (string thing) (buffer (or (buffer-file-name thing) - (buffer-file-name (buffer-base-buffer thing))))))) + ;; TODO: Should indirect buffers be allowed? Maybe not, since their narrowing isn't preserved. + ;; On the other hand, it's possible to accidentally make a search view for an indirect buffer + ;; that's since been widened, and forcing the user to manually change that would be awkward, + ;; and trying to communicate the problem would be difficult, so maybe it's okay to allow it. + (when (buffer-base-buffer thing) + (buffer-file-name (buffer-base-buffer thing)))))))) (unless (or (string-or-file-buffer-p org-ql-view-buffers-files) (and (listp org-ql-view-buffers-files) (cl-every #'string-or-file-buffer-p org-ql-view-buffers-files))) From b04d0263a4e0d072a8c7fbb6d50af24f5193b236 Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Sun, 15 Nov 2020 21:07:51 -0600 Subject: [PATCH 273/615] Notes: Update --- notes.org | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/notes.org b/notes.org index ebfa4a9..c15d42a 100644 --- a/notes.org +++ b/notes.org @@ -82,6 +82,7 @@ :TOC: :include descendants :depth 1 :END: :CONTENTS: +- [[#add-emacs-271-to-testyml][Add Emacs 27.1 to test.yml]] - [[#add-auto-keyword-to-planning-predicate][Add :auto keyword to (planning) predicate]] - [[#change-deadlines-auto-argument-to-auto-andor-auto-t][Change (deadline)'s auto argument to :auto and/or :auto t]] - [[#outline-path-in-buffers-files-arg][Outline path in buffers-files arg]] @@ -122,6 +123,11 @@ - [[#use-macros-for-date][Use macros for date]] :END: +** TODO [#A] Add Emacs 27.1 to =test.yml= +:PROPERTIES: +:milestone: 0.5 +:END: + ** TODO [#B] Add ~:auto~ keyword to ~(planning)~ predicate It should act like ~(or (deadline auto) (scheduled :to today))~. From 9d86ee9e1098fef5b4a17e98321f522f6d8fc20b Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Mon, 16 Nov 2020 02:02:22 -0600 Subject: [PATCH 274/615] Change/Fix: Bookmark, link storing/loading/safety This makes several changes and fixes and adds test cases for all the combinations I'm aware of. See #147. Thanks to @tpeacock19 for patiently reporting these issues. Squashed commit of the following: commit d1b396c5654ae3fa8ad03d0d4b2cbde20000fa1a Author: Adam Porter Date: Mon Nov 16 02:01:23 2020 -0600 WIP: Fixes commit 23215a723c4bf6e249c330863e01029166db56c3 Author: Adam Porter Date: Mon Nov 16 01:34:34 2020 -0600 WIP: Fixes commit 97b13d09d4d52bb168bfc19fb6f8daf2964f4b6c Author: Adam Porter Date: Mon Nov 16 00:46:49 2020 -0600 WIP: Test links too Everything passes now. commit 1866a71dbbb6416f7e365c90cadd269765d52b70 Author: Adam Porter Date: Sun Nov 15 22:22:22 2020 -0600 WIP: Test loading/saving bookmarks --- org-ql-view.el | 62 +++++---- org-ql.el | 2 + tests/test-org-ql.el | 321 ++++++++++++++++++++++++++++++++++++------- 3 files changed, 310 insertions(+), 75 deletions(-) diff --git a/org-ql-view.el b/org-ql-view.el index 062c9e9..8e8d40b 100644 --- a/org-ql-view.el +++ b/org-ql-view.el @@ -620,7 +620,7 @@ protocol. See, e.g. `org-ql-view--link-store'." (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)) - (error "Potentially unsafe value found in link's SORT parameter (%s). Link not opened" + (error "CAUTION: Link not opened because unsafe sort parameter detected: %s" read-value)) read-value)) (org-super-agenda-allow-unsafe-groups nil) ; Disallow unsafe group selectors. @@ -631,6 +631,10 @@ protocol. See, e.g. `org-ql-view--link-store'." (buffers-files (--if-let (alist-get "buffers-files" params nil nil #'string=) (org-ql-view--expand-buffers-files (read it)) (current-buffer)))) + (unless (or (bufferp buffers-files) + (stringp buffers-files) + (cl-every #'stringp buffers-files)) + (error "CAUTION: Link not opened because unsafe buffers-files parameter detected: %s" buffers-files)) (when (and org-ql-view-ask-unsafe-links (or (string-match (rx bol (0+ space) "(") query) (listp query))) @@ -655,31 +659,31 @@ When opened, the link searches the buffer it's opened from." (require 'url-util) (when org-ql-view-query ;; Only Org QL View buffers should have `org-ql-view-query' set. - (cl-flet ((prompt-for (buffers-files) - (pcase-exhaustive - (completing-read (format "Link to search file containing inserted link or %s? " buffers-files) - (list "containing file" buffers-files) nil t) - ("containing file" nil) - (buffers-files (prin1-to-string buffers-files)))) - (string-or-file-buffer-p - (thing) (cl-etypecase thing - (string thing) - (buffer (or (buffer-file-name thing) - ;; TODO: Should indirect buffers be allowed? Maybe not, since their narrowing isn't preserved. - ;; On the other hand, it's possible to accidentally make a search view for an indirect buffer - ;; that's since been widened, and forcing the user to manually change that would be awkward, - ;; and trying to communicate the problem would be difficult, so maybe it's okay to allow it. - (when (buffer-base-buffer thing) - (buffer-file-name (buffer-base-buffer thing)))))))) - (unless (or (string-or-file-buffer-p org-ql-view-buffers-files) - (and (listp org-ql-view-buffers-files) - (cl-every #'string-or-file-buffer-p org-ql-view-buffers-files))) + (cl-labels ((prompt-for (buffers-files) + (pcase-exhaustive + (completing-read (format "Make link that searches: ") + '("file link is in" "files currently searched") + nil t nil nil "file link is in") + ("file link is in" nil) + ("files currently searched" buffers-files))) + (strings-or-file-buffers-p + (thing) (cl-etypecase thing + (list (cl-every #'strings-or-file-buffers-p thing)) + (string thing) + (buffer (or (buffer-file-name thing) + ;; TODO: Should indirect buffers be allowed? Maybe not, since their narrowing isn't preserved. + ;; On the other hand, it's possible to accidentally make a search view for an indirect buffer + ;; that's since been widened, and forcing the user to manually change that would be awkward, + ;; and trying to communicate the problem would be difficult, so maybe it's okay to allow it. + (when (buffer-base-buffer thing) + (buffer-file-name (buffer-base-buffer thing)))))))) + (unless (strings-or-file-buffers-p org-ql-view-buffers-files) (user-error "Views that search non-file-backed buffers can't be linked to")) (let* ((query-string (--if-let (org-ql--query-sexp-to-string org-ql-view-query) it (org-ql-view--format-query org-ql-view-query))) (buffers-files (prompt-for (org-ql-view--contract-buffers-files org-ql-view-buffers-files))) (params (list (when buffers-files - (list "buffers-files" buffers-files)) + (list "buffers-files" (prin1-to-string buffers-files))) (when org-ql-view-super-groups (list "super-groups" (prin1-to-string org-ql-view-super-groups))) (when org-ql-view-sort @@ -1037,16 +1041,14 @@ current buffer. Otherwise BUFFERS-FILES is returned unchanged." "org-agenda-files") ((pred (seq-set-equal-p (org-ql-search-directories-files))) "org-directory") - (_ (let ((print-length nil)) - (concat "'" (prin1-to-string buffers-files)))))) + (_ buffers-files))) ((pred (equal (current-buffer))) "buffer") ((or 'org-agenda-files '(function org-agenda-files)) "org-agenda-files") ((and (pred bufferp) (guard (buffer-file-name buffers-files))) (buffer-file-name buffers-files)) - (_ (let ((print-length nil)) - (prin1-to-string buffers-files)))))) + (_ buffers-files)))) (defun org-ql-view--complete-buffers-files () "Return value for `org-ql-view-buffers-files' using completion." @@ -1068,13 +1070,15 @@ current buffer. Otherwise BUFFERS-FILES is returned unchanged." "Return BUFFERS-FILES expanded to a list of files or buffers. The counterpart to `org-ql-view--contract-buffers-files'." (pcase-exhaustive buffers-files - ((pred bufferp) buffers-files) - ((or "" "buffer") (current-buffer)) - ("org-agenda-files" (org-agenda-files)) ("all" (--select (equal (buffer-local-value 'major-mode it) 'org-mode) (buffer-list))) + ("org-agenda-files" (org-agenda-files)) ("org-directory" (org-ql-search-directories-files)) - (else (s-split (rx (1+ space)) else)))) + ((or "" "buffer") (current-buffer)) + ((pred bufferp) buffers-files) + ((pred listp) buffers-files) + ;; A single filename. + ((pred stringp) buffers-files))) (defun org-ql-view--complete-super-groups () "Return value for `org-ql-view-super-groups' using completion." diff --git a/org-ql.el b/org-ql.el index 3825ec2..3b97307 100644 --- a/org-ql.el +++ b/org-ql.el @@ -225,6 +225,8 @@ returns nil or non-nil." (list buffers-or-files) (otherwise (list buffers-or-files))) (--map (cl-etypecase it + ;; NOTE: This etypecase is essential to opening links safely, + ;; as it rejects, e.g. lambdas in the buffers-files argument. (buffer it) (string (or (find-buffer-visiting it) (when (file-readable-p it) diff --git a/tests/test-org-ql.el b/tests/test-org-ql.el index 95519e8..f9499b7 100644 --- a/tests/test-org-ql.el +++ b/tests/test-org-ql.el @@ -3,7 +3,7 @@ ;; Copyright (C) 2019 Adam Porter ;; Author: Adam Porter -;; Package-Requires: ((buttercup)) +;; Package-Requires: ((buttercup) (with-simulated-input)) ;; This program is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by @@ -27,6 +27,7 @@ ;;;; Requirements (require 'buttercup) +(require 'with-simulated-input) (require 'org-ql) @@ -1166,6 +1167,11 @@ RESULTS should be a list of strings as returned by ;; different reason. Were it not for testing the specific error AND its arguments, that test ;; case would have apparently passed, but it would have hidden the mistake in the test. + ;; NOTE: Rather than calling `message' in the "evil" lambdas (which, if it succeeds + ;; in being evil, merely writes a string to the test output, which is EASILY missed), + ;; we call `error', which, in combination with testing for specific error types and + ;; arguments, correctly causes tests to fail if the unsafe condition is not caught. + ;; Also, while writing these tests, the version of org-super-agenda in the test sandbox does ;; not have the fix applied yet, and the test for that apparently, correctly does not pass yet. @@ -1187,72 +1193,295 @@ RESULTS should be a list of strings as returned by (backward-char 1) (call-interactively #'org-open-at-point)))) - (it "buffers-files parameter" - (let ((quoted-lambda-link "[[org-ql-search:todo:?buffers-files%3D%28lambda%20nil%20%28message%20%22AHA%22%29%29]]") - (unquoted-lambda-link "[[org-ql-search:todo:?buffers-files%3D%28lambda%20nil%20%28message%20%22AHA%22%29%29]]") - (quoted-lambda-in-list-link "[[org-ql-search:todo:?buffers-files%3D%28%28quote%20%28lambda%20nil%20%28message%20%22AHA%22%29%29%29%29]]") - (unquoted-lambda-in-list-link "[[org-ql-search:todo:?buffers-files%3D%28%28lambda%20nil%20%28message%20%22AHA%22%29%29%29]]")) + (describe "buffers-files parameter" + :var ((quoted-lambda-link "[[org-ql-search:todo:?buffers-files%3D%28lambda%20nil%20%28error%20%22UNSAFE%22%29%29]]") + (unquoted-lambda-link "[[org-ql-search:todo:?buffers-files%3D%28lambda%20nil%20%28error%20%22UNSAFE%22%29%29]]") + (quoted-lambda-in-list-link "[[org-ql-search:todo:?buffers-files%3D%28%28quote%20%28lambda%20nil%20%28error%20%22UNSAFE%22%29%29%29%29]]") + (unquoted-lambda-in-list-link "[[org-ql-search:todo:?buffers-files%3D%28%28lambda%20nil%20%28error%20%22UNSAFE%22%29%29%29]]")) + (it "Errors for a quoted lambda" (expect (open-link quoted-lambda-link) - :to-throw 'wrong-type-argument '(stringp (lambda nil (message "AHA")))) + :to-throw 'error '("CAUTION: Link not opened because unsafe buffers-files parameter detected: (lambda nil (error UNSAFE))"))) + (it "Errors for an unquoted lambda" (expect (open-link unquoted-lambda-link) - :to-throw 'wrong-type-argument '(stringp (lambda nil (message "AHA")))) + :to-throw 'error '("CAUTION: Link not opened because unsafe buffers-files parameter detected: (lambda nil (error UNSAFE))"))) + (it "Errors for a quoted lambda in a list" (expect (open-link quoted-lambda-in-list-link) - :to-throw 'wrong-type-argument '(stringp ((quote (lambda nil (message "AHA")))))) + :to-throw 'error '("CAUTION: Link not opened because unsafe buffers-files parameter detected: ((quote (lambda nil (error UNSAFE))))"))) + (it "Errors for an unquoted lambda in a list" (expect (open-link unquoted-lambda-in-list-link) - :to-throw 'wrong-type-argument '(stringp ((lambda nil (message "AHA"))))))) + :to-throw 'error '("CAUTION: Link not opened because unsafe buffers-files parameter detected: ((lambda nil (error UNSAFE)))")))) - (it "super-groups parameter" - (let ((quoted-lambda-link "[[org-ql-search:todo:?super-groups%3D%28lambda%20nil%20%28message%20%22AHA%22%29%29]]") - (unquoted-lambda-link "[[org-ql-search:todo:?super-groups%3D%28lambda%20nil%20%28message%20%22AHA%22%29%29]]") - (quoted-expression-link "[[org-ql-search:todo:?super-groups%3D%28message%20%22AHA%22%29]]") - (unquoted-expression-link "[[org-ql-search:todo:?super-groups%3D%22AHA%22]]") - (pred-selector-link "[[org-ql-search:todo:?super-groups%3D%28%28%3Apred%20%28lambda%20%28_%29%20%28message%20%22AHA%22%29%29%29%29]]") - (auto-map-selector-link "[[org-ql-search:todo:?super-groups%3D%28%28%3Aauto-map%20%28lambda%20%28_%29%20%28message%20%22AHA%22%29%29%29%29]]")) + (describe "super-groups parameter" + :var ((quoted-lambda-link "[[org-ql-search:todo:?super-groups%3D%28lambda%20nil%20%28error%20%22UNSAFE%22%29%29]]") + (unquoted-lambda-link "[[org-ql-search:todo:?super-groups%3D%28lambda%20nil%20%28error%20%22UNSAFE%22%29%29]]") + (quoted-expression-link "[[org-ql-search:todo:?super-groups%3D%28error%20%22UNSAFE%22%29]]") + (unquoted-expression-link "[[org-ql-search:todo:?super-groups%3D%22UNSAFE%22]]") + (pred-selector-link "[[org-ql-search:todo:?super-groups%3D%28%28%3Apred%20%28lambda%20%28_%29%20%28error%20%22UNSAFE%22%29%29%29%29]]") + (auto-map-selector-link "[[org-ql-search:todo:?super-groups%3D%28%28%3Aauto-map%20%28lambda%20%28_%29%20%28error%20%22UNSAFE%22%29%29%29%29]]")) + (it "Errors for a quoted lambda" (expect (open-link quoted-lambda-link) - :to-throw 'wrong-type-argument '(listp lambda)) + :to-throw 'wrong-type-argument '(listp lambda))) + (it "Errors for an unquoted lambda" (expect (open-link unquoted-lambda-link) - :to-throw 'wrong-type-argument '(listp lambda)) + :to-throw 'wrong-type-argument '(listp lambda))) + (it "Errors for a quoted expression" (expect (open-link quoted-expression-link) - :to-throw 'wrong-type-argument '(listp message)) + :to-throw 'wrong-type-argument '(listp error))) + (it "Errors for an unquoted expression" (expect (open-link unquoted-expression-link) - :to-throw 'error '("cl-etypecase failed: AHA, (symbol list)")) + :to-throw 'error '("cl-etypecase failed: UNSAFE, (symbol list)"))) - ;; FIXME: These two tests will not pass (i.e. they will not - ;; signal an error) until the version of org-super-agenda in - ;; the test sandbox is upgraded, which I'll do when MELPA - ;; packages the latest version. On the bright side, I just - ;; confirmed that, without the fix to org-super-agenda, - ;; these are vulnerable, which means that the test catches - ;; this problem and detects the fix. + ;; NOTE: These two tests depend on `org-super-agenda' to signal these errors. It's probably better + ;; to catch these in `org-super-agenda' rather than in `org-ql', because if other potentially unsafe + ;; selectors were added to org-super-agenda, org-ql would have to play catch-up, adding more tests. + ;; Catching them in org-super-agenda means that it can add more checks itself in the future. + (it "Errors for a :pred group" (expect (open-link pred-selector-link) - :to-throw 'error '("Unsafe groups disallowed (:pred): (lambda (_) (message AHA))")) + :to-throw 'error '("Unsafe groups disallowed (:pred): (lambda (_) (error UNSAFE))"))) + (it "Errors for an :auto-map group" (expect (open-link auto-map-selector-link) - :to-throw 'error '("Unsafe groups disallowed (:auto-map): ((lambda (_) (message AHA)))")))) + :to-throw 'error '("Unsafe groups disallowed (:auto-map): ((lambda (_) (error UNSAFE)))")))) - (it "title parameter" - (let ((quoted-lambda-link "[[org-ql-search:todo:?title%3D%28lambda%20%28_%20_%29%20%28message%20%22AHA%22%29%29]]") - (unquoted-lambda-link "[[org-ql-search:todo:?title%3D%28lambda%20%28_%20_%29%20%28message%20%22AHA%22%29%29]]") - (expression-link "[[org-ql-search:todo:?title%3D%28message%20%22AHA%22%29]]")) + (describe "title parameter" + :var ((quoted-lambda-link "[[org-ql-search:todo:?title%3D%28lambda%20%28_%20_%29%20%28error%20%22UNSAFE%22%29%29]]") + (unquoted-lambda-link "[[org-ql-search:todo:?title%3D%28lambda%20%28_%20_%29%20%28error%20%22UNSAFE%22%29%29]]") + (expression-link "[[org-ql-search:todo:?title%3D%28error%20%22UNSAFE%22%29]]")) + (it "Errors for a quoted lambda" (expect (open-link quoted-lambda-link) - :to-throw 'wrong-type-argument '(characterp lambda)) + :to-throw 'wrong-type-argument '(characterp lambda))) + (it "Errors for an unquoted lambda" (expect (open-link unquoted-lambda-link) - :to-throw 'wrong-type-argument '(characterp lambda)) + :to-throw 'wrong-type-argument '(characterp lambda))) + (it "Errors for an expression" (expect (open-link expression-link) - :to-throw 'wrong-type-argument '(characterp message)))) + :to-throw 'wrong-type-argument '(characterp error)))) - (it "sort parameter" - (let ((quoted-lambda-link "[[org-ql-search:todo:?sort%3D%28lambda%20%28_%20_%29%20%28message%20%22AHA%22%29%29]]") - (unquoted-lambda-link "[[org-ql-search:todo:?sort%3D%28lambda%20%28_%20_%29%20%28message%20%22AHA%22%29%29]]") - (quoted-lambda-in-list-link "[[org-ql-search:todo:?sort%3D%28%28quote%20%28lambda%20%28_%20_%29%20%28message%20%22AHA%22%29%29%29%29]]") - (unquoted-lambda-in-list-link "[[org-ql-search:todo:?sort=((lambda%20nil%20(message%20\"AHA\")))]]")) + (describe "sort parameter" + :var ((quoted-lambda-link "[[org-ql-search:todo:?sort%3D%28lambda%20%28_%20_%29%20%28error%20%22UNSAFE%22%29%29]]") + (unquoted-lambda-link "[[org-ql-search:todo:?sort%3D%28lambda%20%28_%20_%29%20%28error%20%22UNSAFE%22%29%29]]") + (quoted-lambda-in-list-link "[[org-ql-search:todo:?sort%3D%28%28quote%20%28lambda%20%28_%20_%29%20%28error%20%22UNSAFE%22%29%29%29%29]]") + (unquoted-lambda-in-list-link "[[org-ql-search:todo:?sort=((lambda%20nil%20(error%20\"UNSAFE\")))]]")) + (it "Errors for a quoted lambda" (expect (open-link quoted-lambda-link) - :to-throw 'error '("Potentially unsafe value found in link’s SORT parameter ((lambda (_ _) (message AHA))). Link not opened")) + :to-throw 'error '("CAUTION: Link not opened because unsafe sort parameter detected: (lambda (_ _) (error UNSAFE))"))) + (it "Errors for an unquoted lambda" (expect (open-link unquoted-lambda-link) - :to-throw 'error '("Potentially unsafe value found in link’s SORT parameter ((lambda (_ _) (message AHA))). Link not opened")) + :to-throw 'error '("CAUTION: Link not opened because unsafe sort parameter detected: (lambda (_ _) (error UNSAFE))"))) + (it "Errors for a quoted lambda in a list" (expect (open-link quoted-lambda-in-list-link) - :to-throw 'error '("Potentially unsafe value found in link’s SORT parameter (((quote (lambda (_ _) (message AHA))))). Link not opened")) + :to-throw 'error '("CAUTION: Link not opened because unsafe sort parameter detected: ((quote (lambda (_ _) (error UNSAFE))))"))) + (it "Errors for an unquoted lambda in a list" (expect (open-link unquoted-lambda-in-list-link) - :to-throw 'error '("Potentially unsafe value found in link’s SORT parameter (((lambda nil (message AHA)))). Link not opened")))))))) + :to-throw 'error '("CAUTION: Link not opened because unsafe sort parameter detected: ((lambda nil (error UNSAFE)))"))))))) + + (describe "View saving/loading" + :var* ((temp-dir (make-temp-file "test-org-ql-" 'dir)) + (temp-filenames (cl-loop for file in '("test1.org" "test2.org") + collect (expand-file-name file temp-dir))) + (file-contents (with-temp-buffer + (insert "#+TITLE: Test data\n\n" + "* TODO Heading 1\n" + "Heading 1 text.\n\n" + "* Heading 2\n" + "Heading 2 text.\n") + (buffer-string)))) + + ;; This section will test saving and loading search views by a few different + ;; means. In each one, the values of these buffer-local variables will be + ;; stored before saving a view and compared after loading it: + + ;; - org-ql-view-buffers-files + ;; - org-ql-view-query + ;; - org-ql-view-sort + ;; - org-ql-view-super-groups + ;; - org-ql-view-title + + ;; `org-ql-view-buffers-files' needs to be tested with these kinds of values: + + ;; - A buffer + ;; - A string (filename) + ;; - List of buffers + ;; - List of strings (filenames) + ;; - Combination + + ;; `org-ql-view-query' needs to be tested with these kinds of values: + + ;; - String query + ;; - Sexp query + + ;; `org-ql-view-sort' needs to be tested with these kinds of values: + + ;; - Symbol + ;; - List of symbols + + ;; `org-ql-view-super-groups' can probably be tested with nearly + ;; any list value (because this set of tests is not intended to + ;; test link safety). + + ;; TODO: `org-ql-view-title' needs to be tested with a string value. + + (before-all + (dolist (filename temp-filenames) + (with-temp-file filename + (insert file-contents)))) + + (after-all + (delete-directory temp-dir 'recursive)) + + (describe "Bookmarks" + :var ((title "ORG-QL-TEST") + bookmark-alist + view-buffer) + + (before-each + (setf view-buffer (get-buffer-create "*TEST*")) + (dolist (filename temp-filenames) + ;; Kill any existing buffers visiting these files. + (when-let ((buffer (find-file-noselect filename 'nowarn))) + (kill-buffer buffer)))) + + (cl-flet ((var-after-bookmark-set-and-jump + (var buffers-files query &key sort super-groups) + (org-ql-search buffers-files query + :super-groups super-groups + :sort sort :title title :buffer view-buffer) + (set-buffer view-buffer) + (bookmark-set title) + (kill-buffer) + (bookmark-jump title) + (buffer-local-value var (get-buffer (concat "*Org QL View: " title "*"))))) + + (describe "Grouping" + :var ((query '(and (todo "TODO") (regexp "heading"))) + (super-groups '((:auto-priority)))) + (it "is restored" + (expect (var-after-bookmark-set-and-jump 'org-ql-view-super-groups temp-filenames query + :super-groups super-groups) + :to-equal super-groups))) + + (describe "Queries" + :var ((string-query "todo:TODO regexp:heading") + (sexp-query '(and (todo "TODO") (regexp "heading")))) + (it "Sexps match" + (expect (var-after-bookmark-set-and-jump 'org-ql-view-query temp-filenames sexp-query) :to-equal sexp-query)) + (it "Strings match" + ;; NOTE: This test includes the string query being replaced with its sexp form after the query is run. + (expect (var-after-bookmark-set-and-jump 'org-ql-view-query temp-filenames string-query) + :to-equal sexp-query))) + + (describe "Sorting" + :var ((query '(and (todo "TODO") (regexp "heading"))) + (sorter 'todo) + (multiple-sorters '(todo priority))) + (it "One sorter is restored" + (expect (var-after-bookmark-set-and-jump 'org-ql-view-sort temp-filenames query :sort sorter) + :to-equal sorter)) + (it "Multiple sorters are restored" + ;; NOTE: This test includes the string query being replaced with its sexp form after the query is run. + (expect (var-after-bookmark-set-and-jump 'org-ql-view-sort temp-filenames query :sort multiple-sorters) + :to-equal multiple-sorters))) + + (describe "Buffers/Files" + :var ((query '(and (todo "TODO") (regexp "heading"))) + (one-filename (car temp-filenames))) + (it "One filename matches" + (expect (var-after-bookmark-set-and-jump 'org-ql-view-buffers-files one-filename query) + :to-equal one-filename)) + (it "A list of filenames matches" + (expect (var-after-bookmark-set-and-jump 'org-ql-view-buffers-files temp-filenames query) + :to-equal temp-filenames)) + ;; NOTE: These actually bookmark the filenames backing the buffers. + (it "One buffer matches" + (expect (var-after-bookmark-set-and-jump 'org-ql-view-buffers-files + (find-file-noselect (car temp-filenames)) query) + :to-equal one-filename)) + (it "A list of buffers matches" + (expect (var-after-bookmark-set-and-jump 'org-ql-view-buffers-files + (mapcar #'find-file-noselect temp-filenames) query) + :to-equal temp-filenames))))) + + (describe "Links" + ;; Not sure if this binding works. + :var ((title "ORG-QL-TEST") + (view-buffer-name "*TEST VIEW BUFFER*") + link-buffer view-buffer) + + (before-each + (kill-buffer (get-buffer view-buffer-name)) + (setf link-buffer (get-buffer-create "*TEST LINK BUFFER*") + view-buffer (get-buffer-create view-buffer-name)) + (with-current-buffer link-buffer + (erase-buffer) + (insert "* TODO Test heading\n\n") + (org-mode))) + + (cl-flet ((var-after-link-save-open + (var buffers-files query &key sort super-groups (input "RET")) + (org-ql-search buffers-files query + :super-groups super-groups + :sort sort :title title :buffer view-buffer) + (with-current-buffer view-buffer + (with-simulated-input input + ;; Avoid writing "Stored: ..." to test output. + (let ((inhibit-message t)) + (org-store-link nil))) + (kill-buffer)) + ;; ;; Let's see if this trick works. + (org-open-link-from-string (caar org-stored-links) nil link-buffer) + (with-current-buffer (get-buffer (concat "*Org QL View: " title "*")) + (prog1 (buffer-local-value var (current-buffer)) + (kill-buffer))))) + + (describe "Queries" + :var ((string-query "todo:TODO regexp:heading") + (sexp-query '(and (todo "TODO") (regexp "heading")))) + (it "Sexps match" + (expect (var-after-link-save-open 'org-ql-view-query temp-filenames sexp-query) :to-equal sexp-query)) + (it "Strings match" + ;; NOTE: This test includes the string query being replaced with its sexp form after the query is run. + (expect (var-after-link-save-open 'org-ql-view-query temp-filenames string-query) + :to-equal sexp-query))) + + (describe "Grouping" + :var ((query '(and (todo "TODO") (regexp "heading"))) + (super-groups '((:auto-priority)))) + (it "is restored" + (expect (var-after-link-save-open 'org-ql-view-super-groups temp-filenames query + :super-groups super-groups) + :to-equal super-groups))) + + (describe "Sorting" + :var ((query '(and (todo "TODO") (regexp "heading"))) + (sorter 'todo) + (multiple-sorters '(todo priority))) + (it "One sorter is restored" + (expect (var-after-link-save-open 'org-ql-view-sort temp-filenames query :sort sorter) + :to-equal sorter)) + (it "Multiple sorters are restored" + ;; NOTE: This test includes the string query being replaced with its sexp form after the query is run. + (expect (var-after-link-save-open 'org-ql-view-sort temp-filenames query :sort multiple-sorters) + :to-equal multiple-sorters))) + + (describe "Buffers/Files" + :var ((query '(and (todo "TODO") (regexp "heading"))) + (one-buffer (find-file-noselect (car temp-filenames))) + (one-filename (car temp-filenames)) + (buffers (mapcar #'find-file-noselect temp-filenames))) + (it "Can search buffer containing the link" + (expect (var-after-link-save-open 'org-ql-view-buffers-files one-filename query) + :to-equal link-buffer)) + (it "Can search a file by filename" + (expect (var-after-link-save-open 'org-ql-view-buffers-files one-filename query + :input "M-n M-n RET") + :to-equal one-filename)) + (it "Can search multiple files by filename" + (expect (var-after-link-save-open 'org-ql-view-buffers-files temp-filenames query + :input "M-n M-n RET") + :to-equal temp-filenames))))) + + ;; MAYBE: Also test `org-ql-views', although I already know it works now. + ;; (describe "org-ql-views") + )) ;; Local Variables: ;; truncate-lines: t From e39fb1be5a16202f6f757f170781aebced955ae5 Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Mon, 16 Nov 2020 02:11:38 -0600 Subject: [PATCH 275/615] Tests: Tidy --- tests/test-org-ql.el | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/tests/test-org-ql.el b/tests/test-org-ql.el index f9499b7..ee9b772 100644 --- a/tests/test-org-ql.el +++ b/tests/test-org-ql.el @@ -1464,9 +1464,7 @@ RESULTS should be a list of strings as returned by (describe "Buffers/Files" :var ((query '(and (todo "TODO") (regexp "heading"))) - (one-buffer (find-file-noselect (car temp-filenames))) - (one-filename (car temp-filenames)) - (buffers (mapcar #'find-file-noselect temp-filenames))) + (one-filename (car temp-filenames))) (it "Can search buffer containing the link" (expect (var-after-link-save-open 'org-ql-view-buffers-files one-filename query) :to-equal link-buffer)) From 0d12cdb3f5a0bc2a80803ae762c26766c76ceafe Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Mon, 16 Nov 2020 02:25:45 -0600 Subject: [PATCH 276/615] Fix: (org-ql-search-directories-files) Error unless org-directory Fixes #139. Thanks to Matt Huszagh (@matthuszagh) for reporting. Released as 0.4.7. --- README.org | 5 ++ org-ql-search.el | 9 ++-- org-ql.info | 130 ++++++++++++++++++++++++++--------------------- 3 files changed, 84 insertions(+), 60 deletions(-) diff --git a/README.org b/README.org index a7d79eb..23c4a9d 100644 --- a/README.org +++ b/README.org @@ -398,6 +398,11 @@ Expands into a call to ~org-ql-select~ with the same arguments. For convenience /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.4.7 + +*Fixed* ++ Give a useful error if =org-ql-search-directories-files= is called without a directories argument and =org-directory= doesn't exist. (Fixes [[https://github.com/alphapapa/org-ql/issues/139][#139]]. Thanks to [[https://github.com/matthuszagh][Matt Huszagh]] for reporting.) + ** 0.4.6 *Fixed* diff --git a/org-ql-search.el b/org-ql-search.el index d97d59e..cf49281 100644 --- a/org-ql-search.el +++ b/org-ql-search.el @@ -270,9 +270,12 @@ automatically from the query." ;;;; Functions -(cl-defun org-ql-search-directories-files (&key (directories (list org-directory)) - (recurse org-ql-search-directories-files-recursive) - (regexp org-ql-search-directories-files-regexp)) +(cl-defun org-ql-search-directories-files + (&key (directories (if (file-exists-p org-directory) + (list org-directory) + (user-error "org-ql-search-directories-files: No DIRECTORIES given, and `org-directory' doesn't exist"))) + (recurse org-ql-search-directories-files-recursive) + (regexp org-ql-search-directories-files-regexp)) "Return list of matching files in DIRECTORIES, a list of directory paths. When RECURSE is non-nil, recurse into subdirectories. When REGEXP is non-nil, only return files that match REGEXP." diff --git a/org-ql.info b/org-ql.info index 213b610..6e8a77d 100644 --- a/org-ql.info +++ b/org-ql.info @@ -63,6 +63,7 @@ Functions / Macros Changelog +* 0.4.7: 047. * 0.4.6: 046. * 0.4.5: 045. * 0.4.4: 044. @@ -709,6 +710,7 @@ releases. * Menu: +* 0.4.7: 047. * 0.4.6: 046. * 0.4.5: 045. * 0.4.4: 044. @@ -726,9 +728,22 @@ releases. * 0.1: 01.  -File: README.info, Node: 046, Next: 045, Up: Changelog +File: README.info, Node: 047, Next: 046, Up: Changelog -5.1 0.4.6 +5.1 0.4.7 +========= + +*Fixed* + • Give a useful error if org-ql-search-directories-files is called + without a directories argument and org-directory doesn’t exist. + (Fixes #139 (https://github.com/alphapapa/org-ql/issues/139). + Thanks to Matt Huszagh (https://github.com/matthuszagh) for + reporting.) + + +File: README.info, Node: 046, Next: 045, Prev: 047, Up: Changelog + +5.2 0.4.6 ========= *Fixed* @@ -741,7 +756,7 @@ File: README.info, Node: 046, Next: 045, Up: Changelog  File: README.info, Node: 045, Next: 044, Prev: 046, Up: Changelog -5.2 0.4.5 +5.3 0.4.5 ========= *Fixed* @@ -753,7 +768,7 @@ File: README.info, Node: 045, Next: 044, Prev: 046, Up: Changelog  File: README.info, Node: 044, Next: 043, Prev: 045, Up: Changelog -5.3 0.4.4 +5.4 0.4.4 ========= *Fixed* @@ -765,7 +780,7 @@ File: README.info, Node: 044, Next: 043, Prev: 045, Up: Changelog  File: README.info, Node: 043, Next: 042, Prev: 044, Up: Changelog -5.4 0.4.3 +5.5 0.4.3 ========= *Fixed* @@ -775,7 +790,7 @@ File: README.info, Node: 043, Next: 042, Prev: 044, Up: Changelog  File: README.info, Node: 042, Next: 041, Prev: 043, Up: Changelog -5.5 0.4.2 +5.6 0.4.2 ========= *Fixed* @@ -784,7 +799,7 @@ File: README.info, Node: 042, Next: 041, Prev: 043, Up: Changelog  File: README.info, Node: 041, Next: 04, Prev: 042, Up: Changelog -5.6 0.4.1 +5.7 0.4.1 ========= *Fixed* @@ -794,7 +809,7 @@ File: README.info, Node: 041, Next: 04, Prev: 042, Up: Changelog  File: README.info, Node: 04, Next: 032, Prev: 041, Up: Changelog -5.7 0.4 +5.8 0.4 ======= _Note:_ The next release, 0.5, may include changes which will require @@ -875,7 +890,7 @@ as they will be pushed to the master branch when ready.  File: README.info, Node: 032, Next: 031, Prev: 04, Up: Changelog -5.8 0.3.2 +5.9 0.3.2 ========= *Fixed* @@ -888,8 +903,8 @@ File: README.info, Node: 032, Next: 031, Prev: 04, Up: Changelog  File: README.info, Node: 031, Next: 03, Prev: 032, Up: Changelog -5.9 0.3.1 -========= +5.10 0.3.1 +========== *Fixed* • Compatibility with Org 9.2. Thanks to Brian Leung @@ -898,7 +913,7 @@ File: README.info, Node: 031, Next: 03, Prev: 032, Up: Changelog  File: README.info, Node: 03, Next: 023, Prev: 031, Up: Changelog -5.10 0.3 +5.11 0.3 ======== *Added* @@ -963,7 +978,7 @@ File: README.info, Node: 03, Next: 023, Prev: 031, Up: Changelog  File: README.info, Node: 023, Next: 022, Prev: 03, Up: Changelog -5.11 0.2.3 +5.12 0.2.3 ========== *Fixed* @@ -973,7 +988,7 @@ File: README.info, Node: 023, Next: 022, Prev: 03, Up: Changelog  File: README.info, Node: 022, Next: 021, Prev: 023, Up: Changelog -5.12 0.2.2 +5.13 0.2.2 ========== *Fixed* @@ -984,7 +999,7 @@ File: README.info, Node: 022, Next: 021, Prev: 023, Up: Changelog  File: README.info, Node: 021, Next: 02, Prev: 022, Up: Changelog -5.13 0.2.1 +5.14 0.2.1 ========== *Fixed* @@ -994,7 +1009,7 @@ File: README.info, Node: 021, Next: 02, Prev: 022, Up: Changelog  File: README.info, Node: 02, Next: 01, Prev: 021, Up: Changelog -5.14 0.2 +5.15 0.2 ======== *Added* @@ -1077,7 +1092,7 @@ File: README.info, Node: 02, Next: 01, Prev: 021, Up: Changelog  File: README.info, Node: 01, Prev: 02, Up: Changelog -5.15 0.1 +5.16 0.1 ======== First tagged release. @@ -1138,46 +1153,47 @@ GPLv3  Tag Table: Node: Top225 -Node: Contents1492 -Node: Screenshots1666 -Node: Installation1784 -Node: Quelpa2422 -Node: Usage2865 -Node: Commands3214 -Node: org-ql-search3687 -Node: helm-org-ql5335 -Node: org-ql-view5747 -Node: org-ql-view-sidebar5945 -Node: org-ql-view-recent-items6301 -Node: org-ql-sparse-tree6785 -Node: Queries7585 -Node: Non-sexp query syntax8493 -Node: General predicates10200 -Node: Ancestor/descendant predicates15007 -Node: Date/time predicates16135 -Node: Functions / Macros18790 -Node: Agenda-like views19023 -Node: Listing / acting-on results20428 -Node: Changelog25030 -Node: 04625649 -Node: 04526037 -Node: 04426396 -Node: 04326753 -Node: 04226948 -Node: 04127107 -Node: 0427346 -Node: 03231277 -Node: 03131654 -Node: 0331849 -Node: 02334824 -Node: 02235052 -Node: 02135320 -Node: 0235519 -Node: 0139554 -Node: Notes39655 -Node: Comparison with Org Agenda searches39817 -Node: org-sidebar40688 -Node: License40967 +Node: Contents1507 +Node: Screenshots1681 +Node: Installation1799 +Node: Quelpa2437 +Node: Usage2880 +Node: Commands3229 +Node: org-ql-search3702 +Node: helm-org-ql5350 +Node: org-ql-view5762 +Node: org-ql-view-sidebar5960 +Node: org-ql-view-recent-items6316 +Node: org-ql-sparse-tree6800 +Node: Queries7600 +Node: Non-sexp query syntax8508 +Node: General predicates10215 +Node: Ancestor/descendant predicates15022 +Node: Date/time predicates16150 +Node: Functions / Macros18805 +Node: Agenda-like views19038 +Node: Listing / acting-on results20443 +Node: Changelog25045 +Node: 04725679 +Node: 04626062 +Node: 04526462 +Node: 04426821 +Node: 04327178 +Node: 04227373 +Node: 04127532 +Node: 0427771 +Node: 03231702 +Node: 03132079 +Node: 0332276 +Node: 02335251 +Node: 02235479 +Node: 02135747 +Node: 0235946 +Node: 0139981 +Node: Notes40082 +Node: Comparison with Org Agenda searches40244 +Node: org-sidebar41115 +Node: License41394  End Tag Table From 77702850026722ebea730e2124288e826060180e Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Mon, 16 Nov 2020 02:37:49 -0600 Subject: [PATCH 277/615] Fix: (org-ql-view--contract-buffers-files) Non-existent org-directory Fixes #138. Fixes #139. Thanks to Matt Huszagh (@matthuszagh) for reporting. This *actually* fixes those issues. The 0.4.7 release is related to those issues, but those issues actually arose in code added to 0.5-pre. --- org-ql-view.el | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/org-ql-view.el b/org-ql-view.el index 8e8d40b..e44c658 100644 --- a/org-ql-view.el +++ b/org-ql-view.el @@ -1039,7 +1039,9 @@ current buffer. Otherwise BUFFERS-FILES is returned unchanged." (pcase (expand-files buffers-files) ((pred (seq-set-equal-p (mapcar #'expand-file-name (org-agenda-files)))) "org-agenda-files") - ((pred (seq-set-equal-p (org-ql-search-directories-files))) + ((and (guard (file-exists-p org-directory)) + (pred (seq-set-equal-p (org-ql-search-directories-files + :directories (list org-directory))))) "org-directory") (_ buffers-files))) ((pred (equal (current-buffer))) From e9815f39a071670981d2afcf4bb4b68b034a6765 Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Mon, 16 Nov 2020 03:16:40 -0600 Subject: [PATCH 278/615] Tests: Fix link-opening test --- tests/test-org-ql.el | 51 +++++++++++++++++++++++++++----------------- 1 file changed, 31 insertions(+), 20 deletions(-) diff --git a/tests/test-org-ql.el b/tests/test-org-ql.el index ee9b772..3902187 100644 --- a/tests/test-org-ql.el +++ b/tests/test-org-ql.el @@ -1415,22 +1415,31 @@ RESULTS should be a list of strings as returned by (insert "* TODO Test heading\n\n") (org-mode))) - (cl-flet ((var-after-link-save-open - (var buffers-files query &key sort super-groups (input "RET")) - (org-ql-search buffers-files query - :super-groups super-groups - :sort sort :title title :buffer view-buffer) - (with-current-buffer view-buffer - (with-simulated-input input - ;; Avoid writing "Stored: ..." to test output. - (let ((inhibit-message t)) - (org-store-link nil))) - (kill-buffer)) - ;; ;; Let's see if this trick works. - (org-open-link-from-string (caar org-stored-links) nil link-buffer) - (with-current-buffer (get-buffer (concat "*Org QL View: " title "*")) - (prog1 (buffer-local-value var (current-buffer)) - (kill-buffer))))) + (cl-flet* ((open-link-in + (link buffer) + ;; Org REDUCED THE NUMBER OF ARGUMENTS TO `org-open-link-from-string'! That BREAKS BACKWARD + ;; COMPATIBILITY! So I have to make my own function so these tests can work across Org versions! + (with-current-buffer buffer + (erase-buffer) + (org-mode) + (insert link) + (backward-char 1) + (org-open-at-point))) + (var-after-link-save-open + (var buffers-files query &key sort super-groups (buffer link-buffer) (input "RET")) + (org-ql-search buffers-files query + :super-groups super-groups + :sort sort :title title :buffer view-buffer) + (with-current-buffer view-buffer + (with-simulated-input input + ;; Avoid writing "Stored: ..." to test output. + (let ((inhibit-message t)) + (org-store-link nil))) + (kill-buffer)) + (open-link-in (caar org-stored-links) buffer) + (with-current-buffer (get-buffer (concat "*Org QL View: " title "*")) + (prog1 (buffer-local-value var (current-buffer)) + (kill-buffer))))) (describe "Queries" :var ((string-query "todo:TODO regexp:heading") @@ -1465,9 +1474,6 @@ RESULTS should be a list of strings as returned by (describe "Buffers/Files" :var ((query '(and (todo "TODO") (regexp "heading"))) (one-filename (car temp-filenames))) - (it "Can search buffer containing the link" - (expect (var-after-link-save-open 'org-ql-view-buffers-files one-filename query) - :to-equal link-buffer)) (it "Can search a file by filename" (expect (var-after-link-save-open 'org-ql-view-buffers-files one-filename query :input "M-n M-n RET") @@ -1475,7 +1481,12 @@ RESULTS should be a list of strings as returned by (it "Can search multiple files by filename" (expect (var-after-link-save-open 'org-ql-view-buffers-files temp-filenames query :input "M-n M-n RET") - :to-equal temp-filenames))))) + :to-equal temp-filenames)) + (it "Can search buffer containing the link" + ;; This is sort-of a special case because of how the test link-opening function works. + (expect (var-after-link-save-open 'org-ql-view-buffers-files one-filename query + :buffer link-buffer) + :to-equal link-buffer))))) ;; MAYBE: Also test `org-ql-views', although I already know it works now. ;; (describe "org-ql-views") From c3aa701e57c6bc3a3d7d4701c4a5d6e07de68f33 Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Mon, 16 Nov 2020 03:29:10 -0600 Subject: [PATCH 279/615] Tidy: Silence, Checkdoc! Some of these warnings are too much. --- org-ql-search.el | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/org-ql-search.el b/org-ql-search.el index c43573d..a9fcf7d 100644 --- a/org-ql-search.el +++ b/org-ql-search.el @@ -334,7 +334,7 @@ For example, an org-ql dynamic block header could look like: (cl-defun org-ql-search-directories-files (&key (directories (if (file-exists-p org-directory) (list org-directory) - (user-error "org-ql-search-directories-files: No DIRECTORIES given, and `org-directory' doesn't exist"))) + (user-error "Org-ql-search-directories-files: No DIRECTORIES given, and `org-directory' doesn't exist"))) (recurse org-ql-search-directories-files-recursive) (regexp org-ql-search-directories-files-regexp)) "Return list of matching files in DIRECTORIES, a list of directory paths. From faaa6f7ee92fc33e9c873d9661a86c563bd72e86 Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Mon, 16 Nov 2020 03:49:15 -0600 Subject: [PATCH 280/615] Test: Tidy This prevents extra output about buffers without headings. --- tests/test-org-ql.el | 1 + 1 file changed, 1 insertion(+) diff --git a/tests/test-org-ql.el b/tests/test-org-ql.el index 3902187..9181500 100644 --- a/tests/test-org-ql.el +++ b/tests/test-org-ql.el @@ -1422,6 +1422,7 @@ RESULTS should be a list of strings as returned by (with-current-buffer buffer (erase-buffer) (org-mode) + (insert "* TODO Test heading\n\n") (insert link) (backward-char 1) (org-open-at-point))) From c07971cd57782e0d6539c083c686364a1ab212a8 Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Mon, 16 Nov 2020 03:49:46 -0600 Subject: [PATCH 281/615] Tidy: Use -let* instead of pcase-let* for plists This actually only fixes a problem with running the tests, because I don't have a way to force map-2.1 to be installed into the sandbox, so the tests on CI always fail. So for now we just use -let* for this. --- org-ql-search.el | 58 ++++++++++++++++++++++++------------------------ org-ql-view.el | 22 +++++++++--------- 2 files changed, 40 insertions(+), 40 deletions(-) diff --git a/org-ql-search.el b/org-ql-search.el index a9fcf7d..e7758c7 100644 --- a/org-ql-search.el +++ b/org-ql-search.el @@ -272,35 +272,35 @@ Valid parameters include: For example, an org-ql dynamic block header could look like: #+BEGIN: org-ql :query (todo \"UNDERWAY\") :columns (priority todo heading) :sort (priority date) :ts-format \"%Y-%m-%d %H:%M\"" - (pcase-let* (((map :query :columns :sort :ts-format :take) params) - (query (cl-etypecase query - (string (org-ql--plain-query query)) - (t query))) - (columns (or columns '(heading todo (priority "P")))) - ;; MAYBE: Custom column functions. - (format-fns - ;; NOTE: Backquoting this alist prevents the lambdas from seeing - ;; the variable `ts-format', so we use `list' and `cons'. - (list (cons 'todo (lambda (element) - (org-element-property :todo-keyword element))) - (cons 'heading (lambda (element) - (org-make-link-string (org-element-property :raw-value element) - (org-element-property :raw-value element)))) - (cons 'priority (lambda (element) - (--when-let (org-element-property :priority element) - (char-to-string it)))) - (cons 'deadline (lambda (element) - (--when-let (org-element-property :deadline element) - (ts-format ts-format (ts-parse-org-element it))))) - (cons 'scheduled (lambda (element) - (--when-let (org-element-property :scheduled element) - (ts-format ts-format (ts-parse-org-element it))))) - (cons 'property (lambda (element property) - (org-element-property (intern (concat ":" (upcase property))) element))))) - (elements (org-ql-query :from (current-buffer) - :where query - :select '(org-element-headline-parser (line-end-position)) - :order-by sort))) + (-let* (((&plist :query :columns :sort :ts-format :take) params) + (query (cl-etypecase query + (string (org-ql--plain-query query)) + (t query))) + (columns (or columns '(heading todo (priority "P")))) + ;; MAYBE: Custom column functions. + (format-fns + ;; NOTE: Backquoting this alist prevents the lambdas from seeing + ;; the variable `ts-format', so we use `list' and `cons'. + (list (cons 'todo (lambda (element) + (org-element-property :todo-keyword element))) + (cons 'heading (lambda (element) + (org-make-link-string (org-element-property :raw-value element) + (org-element-property :raw-value element)))) + (cons 'priority (lambda (element) + (--when-let (org-element-property :priority element) + (char-to-string it)))) + (cons 'deadline (lambda (element) + (--when-let (org-element-property :deadline element) + (ts-format ts-format (ts-parse-org-element it))))) + (cons 'scheduled (lambda (element) + (--when-let (org-element-property :scheduled element) + (ts-format ts-format (ts-parse-org-element it))))) + (cons 'property (lambda (element property) + (org-element-property (intern (concat ":" (upcase property))) element))))) + (elements (org-ql-query :from (current-buffer) + :where query + :select '(org-element-headline-parser (line-end-position)) + :order-by sort))) (when take (setf elements (cl-etypecase take ((and integer (satisfies cl-minusp)) (-take-last (abs take) elements)) diff --git a/org-ql-view.el b/org-ql-view.el index e44c658..32d6866 100644 --- a/org-ql-view.el +++ b/org-ql-view.el @@ -550,8 +550,8 @@ dates in the past, and negative for dates in the future." (when (buffer-base-buffer b-f) (buffer-file-name (buffer-base-buffer b-f))))) (t (user-error "Only file-backed buffers can be bookmarked by Org QL View: %s" b-f))))) - (pcase-let* ((plist (org-ql-view--plist (current-buffer))) - ((map :buffers-files) plist)) + (-let* ((plist (org-ql-view--plist (current-buffer))) + ((&plist :buffers-files) plist)) ;; Replace buffers with their filenames, and signal error if any are not file-backed. (setf plist (plist-put plist :buffers-files (cl-etypecase buffers-files @@ -566,15 +566,15 @@ dates in the past, and negative for dates in the future." ;;;###autoload (defun org-ql-view-bookmark-handler (bookmark) "Show Org QL View BOOKMARK in current buffer." - ;; FIXME: Getting "(void-variable super-groups)" errors when this function is byte-compiled, - ;; but not when it's interpreted! Using (:super-groups super-groups) instead of just - ;; :super-groups fixes it, but I have no idea why, and the macroexpansion is the same. - (pcase-let* (((map org-ql-view-plist) (bookmark-get-bookmark-record bookmark)) - ((map :buffers-files :query :super-groups :narrow :sort :title) - org-ql-view-plist) - (super-groups (cl-etypecase super-groups - (symbol (symbol-value super-groups)) - (list super-groups)))) + ;; FIXME: `pcase-let*' is easier to use to destructure this, but if I use + ;; that, I want to use map 2.1 for the extra convenience, but I can't force + ;; that to be installed into the makem.sh sandbox, so I just use `-let*' here. + (-let* ((org-ql-view-plist (car (bookmark-get-bookmark-record bookmark))) + ((&plist :buffers-files :query :super-groups :narrow :sort :title) + (cdr org-ql-view-plist)) + (super-groups (cl-etypecase super-groups + (symbol (symbol-value super-groups)) + (list super-groups)))) (org-ql-search buffers-files query :super-groups super-groups :narrow narrow :sort sort :title title) ;; HACK: `bookmark--jump-via' expects that, when the handler returns, the current buffer From 5814cff18840a29a3dd08f4128b971fa50c6a778 Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Mon, 16 Nov 2020 03:52:26 -0600 Subject: [PATCH 282/615] Tests: (test.yml) Let lint fail Some of these lint warnings aren't going to be fixed anytime soon, and it's more useful to let the tests indicate success in that case. --- .github/workflows/test.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index c3ec60f..f9ead5f 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -59,7 +59,7 @@ jobs: - name: Lint # NOTE: Uncomment this line to treat lint failures as passing # so the job doesn't show failure. - # continue-on-error: true + continue-on-error: true run: ./makem.sh -vv --sandbox=$SANDBOX_DIR lint - name: Test From 12b3b426b563627c6a1068df245b6aa86646e931 Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Mon, 16 Nov 2020 04:49:20 -0600 Subject: [PATCH 283/615] Tests: Call org-store-link interactively --- tests/test-org-ql.el | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/test-org-ql.el b/tests/test-org-ql.el index 9181500..f1c1f25 100644 --- a/tests/test-org-ql.el +++ b/tests/test-org-ql.el @@ -1435,7 +1435,7 @@ RESULTS should be a list of strings as returned by (with-simulated-input input ;; Avoid writing "Stored: ..." to test output. (let ((inhibit-message t)) - (org-store-link nil))) + (call-interactively #'org-store-link nil))) (kill-buffer)) (open-link-in (caar org-stored-links) buffer) (with-current-buffer (get-buffer (concat "*Org QL View: " title "*")) From 9396385fed8253f6378da1126ed756a44058c2ef Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Mon, 16 Nov 2020 04:49:28 -0600 Subject: [PATCH 284/615] Tests: Add a couple of asserts Not absolutely needed now, but they might help in the future if something changes again. --- tests/test-org-ql.el | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/tests/test-org-ql.el b/tests/test-org-ql.el index f1c1f25..ed3ef06 100644 --- a/tests/test-org-ql.el +++ b/tests/test-org-ql.el @@ -1432,11 +1432,15 @@ 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) + org-link-parameters) + t) (with-simulated-input input ;; Avoid writing "Stored: ..." to test output. (let ((inhibit-message t)) (call-interactively #'org-store-link nil))) (kill-buffer)) + (cl-assert (and org-stored-links (caar org-stored-links)) t) (open-link-in (caar org-stored-links) buffer) (with-current-buffer (get-buffer (concat "*Org QL View: " title "*")) (prog1 (buffer-local-value var (current-buffer)) From 673edaca11db1879d36297b96f7ea648f7125b74 Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Mon, 16 Nov 2020 04:52:45 -0600 Subject: [PATCH 285/615] Fix: (org-ql-view--link-open) Handle Org 9.3 links Or try to, anyway... --- org-ql-view.el | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/org-ql-view.el b/org-ql-view.el index 32d6866..10519c2 100644 --- a/org-ql-view.el +++ b/org-ql-view.el @@ -610,6 +610,14 @@ PATH should be the part of an \"org-ql-search:\" URL after the protocol. See, e.g. `org-ql-view--link-store'." (require 'url-parse) (require 'url-util) + (when (version<= "9.3" (org-version)) + ;; Org 9.3+ makes a backward-incompatible change to link escaping. + ;; I don't think it would be a good idea to try to guess whether + ;; the string received by this function was made with or without + ;; that change, so we'll just test the current version of Org. + ;; Any links created with older Org versions and then opened with + ;; newer ones will have to be recreated. + (setf path (url-unhex-string path))) (pcase-let* ((`(,query . ,params) (url-path-and-query (url-parse-make-urlobj "org-ql-search" nil nil nil nil path))) From badf214db7c3032052c219de5733abef83e55635 Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Mon, 16 Nov 2020 05:01:33 -0600 Subject: [PATCH 286/615] Tests: Adjust error message for Org 9.3 and/or Emacs 27.1 I don't know if this is due to the Org 9.3 link change or if something print/read-related changed in Emacs 27.1, but this should fix the test, hopefully on both versions. --- tests/test-org-ql.el | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/tests/test-org-ql.el b/tests/test-org-ql.el index ed3ef06..be81d81 100644 --- a/tests/test-org-ql.el +++ b/tests/test-org-ql.el @@ -1205,8 +1205,11 @@ RESULTS should be a list of strings as returned by (expect (open-link unquoted-lambda-link) :to-throw 'error '("CAUTION: Link not opened because unsafe buffers-files parameter detected: (lambda nil (error UNSAFE))"))) (it "Errors for a quoted lambda in a list" - (expect (open-link quoted-lambda-in-list-link) - :to-throw 'error '("CAUTION: Link not opened because unsafe buffers-files parameter detected: ((quote (lambda nil (error UNSAFE))))"))) + (if (version< (org-version) "9.3") + (expect (open-link quoted-lambda-in-list-link) + :to-throw 'error '("CAUTION: Link not opened because unsafe buffers-files parameter detected: ((quote (lambda nil (error UNSAFE))))")) + (expect (open-link quoted-lambda-in-list-link) + :to-throw 'error '("CAUTION: Link not opened because unsafe buffers-files parameter detected: ('(lambda nil (error UNSAFE)))")))) (it "Errors for an unquoted lambda in a list" (expect (open-link unquoted-lambda-in-list-link) :to-throw 'error '("CAUTION: Link not opened because unsafe buffers-files parameter detected: ((lambda nil (error UNSAFE)))")))) @@ -1268,8 +1271,11 @@ RESULTS should be a list of strings as returned by (expect (open-link unquoted-lambda-link) :to-throw 'error '("CAUTION: Link not opened because unsafe sort parameter detected: (lambda (_ _) (error UNSAFE))"))) (it "Errors for a quoted lambda in a list" - (expect (open-link quoted-lambda-in-list-link) - :to-throw 'error '("CAUTION: Link not opened because unsafe sort parameter detected: ((quote (lambda (_ _) (error UNSAFE))))"))) + (if (version< (org-version) "9.3") + (expect (open-link quoted-lambda-in-list-link) + :to-throw 'error '("CAUTION: Link not opened because unsafe sort parameter detected: ((quote (lambda (_ _) (error UNSAFE))))")) + (expect (open-link quoted-lambda-in-list-link) + :to-throw 'error '("CAUTION: Link not opened because unsafe sort parameter detected: ('(lambda (_ _) (error UNSAFE)))")))) (it "Errors for an unquoted lambda in a list" (expect (open-link unquoted-lambda-in-list-link) :to-throw 'error '("CAUTION: Link not opened because unsafe sort parameter detected: ((lambda nil (error UNSAFE)))"))))))) From 244c8290d533e5d42c8cbc2c6287889caa9e4a3e Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Mon, 16 Nov 2020 05:13:05 -0600 Subject: [PATCH 287/615] Notes: Update --- notes.org | 199 +++++++++++++++++++++++++++--------------------------- 1 file changed, 100 insertions(+), 99 deletions(-) diff --git a/notes.org b/notes.org index c15d42a..98cb689 100644 --- a/notes.org +++ b/notes.org @@ -1,5 +1,5 @@ #+PROPERTY: LOGGING nil -#+TODO: TODO MAYBE NEXT PROJECT UNDERWAY WAITING | DONE CANCELED +#+TODO: TODO MAYBE NEXT PROJECT UNDERWAY WAITING | DONE(d) CANCELED * [#A] Contents :PROPERTIES: @@ -23,9 +23,7 @@ #+BEGIN: org-ql :query "todo: tags:bug" :columns ((priority "P") ((property "milestone") "M") (todo "Keyword") heading) :sort (priority todo date) :ts-format "%Y-%m-%d %H:%M" | P | M | Keyword | Heading | |---+-----+---------+------------------------------------------------| -| A | 0.5 | NEXT | [[Write tests for storing/opening links][Write tests for storing/opening links]] | | A | 0.5 | PROJECT | [[Compatibility with Org 9.4 custom link changes][Compatibility with Org 9.4 custom link changes]] | -| A | 0.5 | PROJECT | [[Fix =org-ql-view--link-open= on Org 9.3+][Fix =org-ql-view--link-open= on Org 9.3+]] | #+END: ** Underway ([[org-ql-search:todo%253AUNDERWAY?sort=%2528priority%2529&title=%2522Underway%2522][view]]) @@ -42,13 +40,13 @@ #+BEGIN: org-ql :query "todo: priority:A" :columns ((priority "P") ((property "milestone") "M") todo heading) :sort (priority date) :take 7 | P | M | Todo | Heading | |---+-----+---------+--------------------------------------------------------------| +| A | 0.5 | TODO | [[Add Emacs 27.1 to =test.yml=][Add Emacs 27.1 to =test.yml=]] | | A | | NEXT | [[Make dynamic blocks warn about sexp queries][Make dynamic blocks warn about sexp queries]] | | A | 0.5 | PROJECT | [[Compatibility with Org 9.4 custom link changes][Compatibility with Org 9.4 custom link changes]] | -| A | 0.5 | PROJECT | [[Fix =org-ql-view--link-open= on Org 9.3+][Fix =org-ql-view--link-open= on Org 9.3+]] | -| A | 0.5 | NEXT | [[Write tests for storing/opening links][Write tests for storing/opening links]] | | A | | PROJECT | [[Convert simple sexp queries to non-sexp][Convert simple sexp queries to non-sexp]] | | A | | PROJECT | [[Checking links for unsafe parameters][Checking links for unsafe parameters]] | | A | 0.5 | TODO | [[Tag org-super-agenda 1.2 and bump required version in org-ql][Tag org-super-agenda 1.2 and bump required version in org-ql]] | +| A | | PROJECT | [[Org%20link%20types%20%5B2/3%5D][Org link types {2/3}]] | #+END: ** Stuck projects ([[org-ql-search:(and%20(todo%20"PROJECT")%20(not%20(descendants%20(todo%20"NEXT"))))?super-groups=((:auto-parent))&sort=(priority)&title="Stuck%20Projects"][view]]) @@ -70,9 +68,8 @@ #+BEGIN: org-ql :query "todo: property:milestone" :columns (((property "milestone") "M") (priority "P") todo heading) :sort (priority date) :take 7 | M | P | Todo | Heading | |-----+---+---------+--------------------------------------------------------------| +| 0.5 | A | TODO | [[Add Emacs 27.1 to =test.yml=][Add Emacs 27.1 to =test.yml=]] | | 0.5 | A | PROJECT | [[Compatibility with Org 9.4 custom link changes][Compatibility with Org 9.4 custom link changes]] | -| 0.5 | A | PROJECT | [[Fix =org-ql-view--link-open= on Org 9.3+][Fix =org-ql-view--link-open= on Org 9.3+]] | -| 0.5 | A | NEXT | [[Write tests for storing/opening links][Write tests for storing/opening links]] | | 0.5 | A | TODO | [[Tag org-super-agenda 1.2 and bump required version in org-ql][Tag org-super-agenda 1.2 and bump required version in org-ql]] | | 0.6 | B | PROJECT | [[Save view to dynamic block][Save view to dynamic block]] | #+END: @@ -96,7 +93,6 @@ - [[#fancier-searching-for-inherited-tags][Fancier searching for inherited tags]] - [[#make-dynamic-blocks-warn-about-sexp-queries][Make dynamic blocks warn about sexp queries]] - [[#compatibility-with-org-94-custom-link-changes][Compatibility with Org 9.4 custom link changes]] -- [[#fix-org-ql-view--link-open-on-org-93][Fix org-ql-view--link-open on Org 9.3+]] - [[#convert-simple-sexp-queries-to-non-sexp][Convert simple sexp queries to non-sexp]] - [[#checking-links-for-unsafe-parameters][Checking links for unsafe parameters]] - [[#move-this-notes-file-into-an-orphan-metanotes-branch][Move this notes file into an orphan meta/notes branch]] @@ -113,6 +109,7 @@ - [[#update-view-screenshots][Update view screenshots]] - [[#test-caching][Test caching]] - [[#node-caching]["Node" caching]] +- [[#fix-org-ql-view--link-open-on-org-93][Fix org-ql-view--link-open on Org 9.3+]] - [[#fix-query-sexp-to-string-functions-handling-of-eg-descendants][Fix query-sexp-to-string function's handling of, e.g. descendants]] - [[#helm-command][Helm command]] - [[#quickly-change-sortinggrouping-in-search-views][Quickly change sorting/grouping in search views]] @@ -262,97 +259,6 @@ Eventually, the function org-export-custom-protocol-maybe is now called with a f Unfortunately it does not say what the new, required second argument is. -** PROJECT [#A] Fix =org-ql-view--link-open= on Org 9.3+ :compatibility:bug: -:PROPERTIES: -:milestone: 0.5 -:url: https://github.com/alphapapa/org-ql/issues/147 -:END: - -The version of Org in my personal that passes a URL-decoded string (i.e. as if run through =url-unhex-string=) as the argument to =org-ql-view--link-open=. But Org 9.3 in Emacs 27.1 passes a non-URL-decoded string, so =org-ql-view--link-open= needs to pass it through =url-unhex-string= itself. - -But I don't know which version of Org that changed in. I'm comparing the function =org-open-at-point=, but it's a 114-line function, and in neither version does it call =url-unhex-string=, so whatever code decodes the string must be elsewhere. - -I do recall something about links changing in Org 9.3 (or thereabouts), so that was probably part of it. Maybe I can find it in the release notes. I just need to know basically which version it happened in. - -I noticed because the CI tests on GitHub show the link-safety tests failing on the Emacs snapshot version. However, I think they're not currently vulnerable on that Org version, because the link parameters fail to be parsed correctly, so all the arguments to =org-ql-search= should end up being nil. - -[2020-11-14 Sat 20:41] I should probably do something like this in =org-ql-view--link-open=: - -#+BEGIN_SRC elisp - (when (version<= "9.3" (org-version)) - ;; Org 9.3+ makes a backward-incompatible change to link escaping. - ;; I don't think it would be a good idea to try to guess whether - ;; the string received by this function was made with or without - ;; that change, so we'll just test the current version of Org. - ;; Any links created with older Org versions and then opened with - ;; newer ones will have to be recreated. - (setf path (url-unhex-string path))) -#+END_SRC - -But, first, I should write tests for saving and opening links, so it can actually be tested on different versions automatically. - -*** NEXT [#A] Write tests for storing/opening links -:PROPERTIES: -:milestone: 0.5 -:END: - -*** DONE [#A] Check Org release notes for link changes - -[2020-11-13 Fri 22:44] From [[https://www.orgmode.org/Changes_old.html][the changelog]]: - -#+BEGIN_QUOTE -Change bracket link escaping syntax - -Org used to percent-encode sensitive characters in the URI part of the bracket links. - -Now, escaping mechanism uses the usual backslash character, according to the following rules, applied in order: - -- All consecutive \ characters at the end of the link must be escaped; -- Any ] character at the very end of the link must be escaped; -- All consecutive \ characters preceding ][ or ]] patterns must be escaped; -- Any ] character followed by either [ or ] must be escaped; -- Others ] and \ characters need not be escaped. - -When in doubt, use the function org-link-escape in order to turn a link string into its properly escaped form. - -The following function will help switching your links to the new syntax: - -(defun org-update-link-syntax (&optional no-query) - "Update syntax for links in current buffer. -Query before replacing a link, unless optional argument NO-QUERY -is non-nil." - (interactive "P") - (org-with-point-at 1 - (let ((case-fold-search t)) - (while (re-search-forward "\\[\\[[^]]*?%\\(?:2[05]\\|5[BD]\\)" nil t) - (let ((object (save-match-data (org-element-context)))) - (when (and (eq 'link (org-element-type object)) - (= (match-beginning 0) - (org-element-property :begin object))) - (goto-char (org-element-property :end object)) - (let* ((uri-start (+ 2 (match-beginning 0))) - (uri-end (save-excursion - (goto-char uri-start) - (re-search-forward "\\][][]" nil t) - (match-beginning 0))) - (uri (buffer-substring-no-properties uri-start uri-end))) - (when (or no-query - (y-or-n-p - (format "Possibly obsolete URI syntax: %S. Fix? " - uri))) - (setf (buffer-substring uri-start uri-end) - (org-link-escape (org-link-decode uri))))))))))) - -The old org-link-escape and org-link-unescape functions have been renamed into org-link-encode and org-link-decode. -#+END_QUOTE - -This is exactly the kind of breaking, backwards-incompatible change that I've said should mandate a major-version increment. It's not only a change in Org's code, and a change that affects third-party packages, but it's a change in the file format! - -Is it even possible to support both Org 9.3+ and earlier versions at the same time? - -This change doesn't even seem to make sense to me. Percent-encoding solves so many problems in a simple way: pass a string to the encoding function on the way in, and to the decoding function on the way out. Now, instead of a simple, standard way of encoding links, there's a list of Org-specific rules and Org-specific encoding/decoding functions. What is gained this way? - - ** PROJECT [#A] Convert simple sexp queries to non-sexp [2020-11-11 Wed 00:28] This will be very helpful for storing links. Surely simple ones won't be too hard... @@ -1495,6 +1401,101 @@ This works okay (except the priority accessor needs to be fixed, because Org pri :action #'helm-org-goto-marker)))) #+END_SRC +** DONE [#A] Fix =org-ql-view--link-open= on Org 9.3+ :compatibility:bug: +:PROPERTIES: +:milestone: 0.5 +:url: https://github.com/alphapapa/org-ql/issues/147 +:END: + +The version of Org in my personal that passes a URL-decoded string (i.e. as if run through =url-unhex-string=) as the argument to =org-ql-view--link-open=. But Org 9.3 in Emacs 27.1 passes a non-URL-decoded string, so =org-ql-view--link-open= needs to pass it through =url-unhex-string= itself. + +But I don't know which version of Org that changed in. I'm comparing the function =org-open-at-point=, but it's a 114-line function, and in neither version does it call =url-unhex-string=, so whatever code decodes the string must be elsewhere. + +I do recall something about links changing in Org 9.3 (or thereabouts), so that was probably part of it. Maybe I can find it in the release notes. I just need to know basically which version it happened in. + +I noticed because the CI tests on GitHub show the link-safety tests failing on the Emacs snapshot version. However, I think they're not currently vulnerable on that Org version, because the link parameters fail to be parsed correctly, so all the arguments to =org-ql-search= should end up being nil. + +[2020-11-14 Sat 20:41] I should probably do something like this in =org-ql-view--link-open=: + +#+BEGIN_SRC elisp + (when (version<= "9.3" (org-version)) + ;; Org 9.3+ makes a backward-incompatible change to link escaping. + ;; I don't think it would be a good idea to try to guess whether + ;; the string received by this function was made with or without + ;; that change, so we'll just test the current version of Org. + ;; Any links created with older Org versions and then opened with + ;; newer ones will have to be recreated. + (setf path (url-unhex-string path))) +#+END_SRC + +But, first, I should write tests for saving and opening links, so it can actually be tested on different versions automatically. + +[2020-11-16 Mon 05:12] Finally, all of the tests pass on my Org version and on 9.3. And I tested for all the combinations of link and bookmark saving/opening I could think of. I hope they work and are safe. + +*** DONE [#A] Write tests for storing/opening links +:PROPERTIES: +:milestone: 0.5 +:END: + +[2020-11-16 Mon 05:11] Took way longer than I expected. I hope it was worth it. + +*** DONE [#A] Check Org release notes for link changes + +[2020-11-13 Fri 22:44] From [[https://www.orgmode.org/Changes_old.html][the changelog]]: + +#+BEGIN_QUOTE +Change bracket link escaping syntax + +Org used to percent-encode sensitive characters in the URI part of the bracket links. + +Now, escaping mechanism uses the usual backslash character, according to the following rules, applied in order: + +- All consecutive \ characters at the end of the link must be escaped; +- Any ] character at the very end of the link must be escaped; +- All consecutive \ characters preceding ][ or ]] patterns must be escaped; +- Any ] character followed by either [ or ] must be escaped; +- Others ] and \ characters need not be escaped. + +When in doubt, use the function org-link-escape in order to turn a link string into its properly escaped form. + +The following function will help switching your links to the new syntax: + +(defun org-update-link-syntax (&optional no-query) + "Update syntax for links in current buffer. +Query before replacing a link, unless optional argument NO-QUERY +is non-nil." + (interactive "P") + (org-with-point-at 1 + (let ((case-fold-search t)) + (while (re-search-forward "\\[\\[[^]]*?%\\(?:2[05]\\|5[BD]\\)" nil t) + (let ((object (save-match-data (org-element-context)))) + (when (and (eq 'link (org-element-type object)) + (= (match-beginning 0) + (org-element-property :begin object))) + (goto-char (org-element-property :end object)) + (let* ((uri-start (+ 2 (match-beginning 0))) + (uri-end (save-excursion + (goto-char uri-start) + (re-search-forward "\\][][]" nil t) + (match-beginning 0))) + (uri (buffer-substring-no-properties uri-start uri-end))) + (when (or no-query + (y-or-n-p + (format "Possibly obsolete URI syntax: %S. Fix? " + uri))) + (setf (buffer-substring uri-start uri-end) + (org-link-escape (org-link-decode uri))))))))))) + +The old org-link-escape and org-link-unescape functions have been renamed into org-link-encode and org-link-decode. +#+END_QUOTE + +This is exactly the kind of breaking, backwards-incompatible change that I've said should mandate a major-version increment. It's not only a change in Org's code, and a change that affects third-party packages, but it's a change in the file format! + +Is it even possible to support both Org 9.3+ and earlier versions at the same time? + +This change doesn't even seem to make sense to me. Percent-encoding solves so many problems in a simple way: pass a string to the encoding function on the way in, and to the decoding function on the way out. Now, instead of a simple, standard way of encoding links, there's a list of Org-specific rules and Org-specific encoding/decoding functions. What is gained this way? + + ** DONE [#A] Fix query-sexp-to-string function's handling of, e.g. =descendants= :bug: :PROPERTIES: :milestone: 0.5 From ec0f8c7231132056842941d1b8ac7baea3cf4026 Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Mon, 16 Nov 2020 05:16:56 -0600 Subject: [PATCH 288/615] Meta: Update makem.sh, Makefile, test.yml --- .github/workflows/test.yml | 8 ++++++-- Makefile | 3 ++- makem.sh | 3 ++- notes.org | 16 ++++++++-------- 4 files changed, 18 insertions(+), 12 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index f9ead5f..0b274ed 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -1,6 +1,9 @@ # * test.yml --- Test Emacs packages using makem.sh on GitHub Actions -# https://github.com/alphapapa/makem.sh +# URL: https://github.com/alphapapa/makem.sh +# Version: 0.2 + +# * Commentary: # Based on Steve Purcell's examples at # , @@ -39,6 +42,7 @@ jobs: matrix: emacs_version: - 26.3 + - 27.1 - snapshot steps: - uses: purcell/setup-emacs@master @@ -50,7 +54,7 @@ jobs: - name: Initialize sandbox run: | SANDBOX_DIR=$(mktemp -d) || exit 1 - echo ::set-env name=SANDBOX_DIR::$SANDBOX_DIR + echo "SANDBOX_DIR=$SANDBOX_DIR" >> $GITHUB_ENV ./makem.sh -vv --sandbox=$SANDBOX_DIR --install-deps --install-linters # The "all" rule is not used, because it treats compilation warnings diff --git a/Makefile b/Makefile index 17abfe0..68906e9 100644 --- a/Makefile +++ b/Makefile @@ -1,6 +1,7 @@ # * makem.sh/Makefile --- Script to aid building and testing Emacs Lisp packages -# This Makefile is from the makem.sh repo: . +# URL: https://github.com/alphapapa/makem.sh +# Version: 0.2 # * Arguments diff --git a/makem.sh b/makem.sh index d110e2c..2d710a3 100755 --- a/makem.sh +++ b/makem.sh @@ -2,7 +2,8 @@ # * makem.sh --- Script to aid building and testing Emacs Lisp packages -# https://github.com/alphapapa/makem.sh +# URL: https://github.com/alphapapa/makem.sh +# Version: 0.2 # * Commentary: diff --git a/notes.org b/notes.org index 98cb689..f8b5d9d 100644 --- a/notes.org +++ b/notes.org @@ -40,7 +40,6 @@ #+BEGIN: org-ql :query "todo: priority:A" :columns ((priority "P") ((property "milestone") "M") todo heading) :sort (priority date) :take 7 | P | M | Todo | Heading | |---+-----+---------+--------------------------------------------------------------| -| A | 0.5 | TODO | [[Add Emacs 27.1 to =test.yml=][Add Emacs 27.1 to =test.yml=]] | | A | | NEXT | [[Make dynamic blocks warn about sexp queries][Make dynamic blocks warn about sexp queries]] | | A | 0.5 | PROJECT | [[Compatibility with Org 9.4 custom link changes][Compatibility with Org 9.4 custom link changes]] | | A | | PROJECT | [[Convert simple sexp queries to non-sexp][Convert simple sexp queries to non-sexp]] | @@ -68,7 +67,6 @@ #+BEGIN: org-ql :query "todo: property:milestone" :columns (((property "milestone") "M") (priority "P") todo heading) :sort (priority date) :take 7 | M | P | Todo | Heading | |-----+---+---------+--------------------------------------------------------------| -| 0.5 | A | TODO | [[Add Emacs 27.1 to =test.yml=][Add Emacs 27.1 to =test.yml=]] | | 0.5 | A | PROJECT | [[Compatibility with Org 9.4 custom link changes][Compatibility with Org 9.4 custom link changes]] | | 0.5 | A | TODO | [[Tag org-super-agenda 1.2 and bump required version in org-ql][Tag org-super-agenda 1.2 and bump required version in org-ql]] | | 0.6 | B | PROJECT | [[Save view to dynamic block][Save view to dynamic block]] | @@ -79,7 +77,6 @@ :TOC: :include descendants :depth 1 :END: :CONTENTS: -- [[#add-emacs-271-to-testyml][Add Emacs 27.1 to test.yml]] - [[#add-auto-keyword-to-planning-predicate][Add :auto keyword to (planning) predicate]] - [[#change-deadlines-auto-argument-to-auto-andor-auto-t][Change (deadline)'s auto argument to :auto and/or :auto t]] - [[#outline-path-in-buffers-files-arg][Outline path in buffers-files arg]] @@ -109,6 +106,7 @@ - [[#update-view-screenshots][Update view screenshots]] - [[#test-caching][Test caching]] - [[#node-caching]["Node" caching]] +- [[#add-emacs-271-to-testyml][Add Emacs 27.1 to test.yml]] - [[#fix-org-ql-view--link-open-on-org-93][Fix org-ql-view--link-open on Org 9.3+]] - [[#fix-query-sexp-to-string-functions-handling-of-eg-descendants][Fix query-sexp-to-string function's handling of, e.g. descendants]] - [[#helm-command][Helm command]] @@ -120,11 +118,6 @@ - [[#use-macros-for-date][Use macros for date]] :END: -** TODO [#A] Add Emacs 27.1 to =test.yml= -:PROPERTIES: -:milestone: 0.5 -:END: - ** TODO [#B] Add ~:auto~ keyword to ~(planning)~ predicate It should act like ~(or (deadline auto) (scheduled :to today))~. @@ -1401,6 +1394,13 @@ This works okay (except the priority accessor needs to be fixed, because Org pri :action #'helm-org-goto-marker)))) #+END_SRC +** DONE [#A] Add Emacs 27.1 to =test.yml= +:PROPERTIES: +:milestone: 0.5 +:END: + +[2020-11-16 Mon 05:22] Also releasing =makem.sh= 0.2 with this change. + ** DONE [#A] Fix =org-ql-view--link-open= on Org 9.3+ :compatibility:bug: :PROPERTIES: :milestone: 0.5 From 2c14903c7654fddeedf387937607aa2e1baaea60 Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Mon, 16 Nov 2020 05:50:37 -0600 Subject: [PATCH 289/615] Notes: Update --- notes.org | 36 ++++++++++++++++++++++++++++-------- 1 file changed, 28 insertions(+), 8 deletions(-) diff --git a/notes.org b/notes.org index f8b5d9d..1f87eb7 100644 --- a/notes.org +++ b/notes.org @@ -40,26 +40,26 @@ #+BEGIN: org-ql :query "todo: priority:A" :columns ((priority "P") ((property "milestone") "M") todo heading) :sort (priority date) :take 7 | P | M | Todo | Heading | |---+-----+---------+--------------------------------------------------------------| -| A | | NEXT | [[Make dynamic blocks warn about sexp queries][Make dynamic blocks warn about sexp queries]] | +| A | 0.5 | NEXT | [[Make dynamic blocks warn about sexp queries][Make dynamic blocks warn about sexp queries]] | | A | 0.5 | PROJECT | [[Compatibility with Org 9.4 custom link changes][Compatibility with Org 9.4 custom link changes]] | -| A | | PROJECT | [[Convert simple sexp queries to non-sexp][Convert simple sexp queries to non-sexp]] | -| A | | PROJECT | [[Checking links for unsafe parameters][Checking links for unsafe parameters]] | +| A | 0.5 | PROJECT | [[Convert simple sexp queries to non-sexp][Convert simple sexp queries to non-sexp]] | +| A | 0.5 | PROJECT | [[Checking links for unsafe parameters][Checking links for unsafe parameters]] | | A | 0.5 | TODO | [[Tag org-super-agenda 1.2 and bump required version in org-ql][Tag org-super-agenda 1.2 and bump required version in org-ql]] | | A | | PROJECT | [[Org%20link%20types%20%5B2/3%5D][Org link types {2/3}]] | #+END: -** Stuck projects ([[org-ql-search:(and%20(todo%20"PROJECT")%20(not%20(descendants%20(todo%20"NEXT"))))?super-groups=((:auto-parent))&sort=(priority)&title="Stuck%20Projects"][view]]) +** Stuck projects ([[org-ql-search:%2528and%2520%2528todo%2520%2522PROJECT%2522%2529%2520%2528not%2520%2528descendants%2520%2528todo%2520%2522NEXT%2522%2529%2529%2529%2529?super-groups=%2528%2528%253Aauto-property%2520%2522milestone%2522%2529%2529&sort=%2528priority%2529&title=%2522Stuck%2520Projects%2522][view]]) #+BEGIN: org-ql :query (and (todo "PROJECT") (not (descendants (todo "NEXT")))) :columns (((property "milestone") "M") (priority "P") heading) :sort (priority date) :take 7 | M | P | Heading | |-----+---+-------------------------------------------------------| | 0.5 | A | [[Compatibility with Org 9.4 custom link changes][Compatibility with Org 9.4 custom link changes]] | -| | A | [[Convert simple sexp queries to non-sexp][Convert simple sexp queries to non-sexp]] | -| | A | [[Checking links for unsafe parameters][Checking links for unsafe parameters]] | +| 0.5 | A | [[Convert simple sexp queries to non-sexp][Convert simple sexp queries to non-sexp]] | +| 0.5 | A | [[Checking links for unsafe parameters][Checking links for unsafe parameters]] | | | A | [[Org%20link%20types%20%5B2/3%5D][Org link types {2/3}]] | | | B | [[Move this notes file into an orphan =meta/notes= branch][Move this notes file into an orphan =meta/notes= branch]] | | | B | [[Outline path predicate][Outline path predicate]] | -| | B | [[Group tag support][Group tag support]] | +| 0.6 | B | [[Group tag support][Group tag support]] | #+END: ** Milestones ([[org-ql-search:todo:?super-groups=((:auto-property%20"milestone"))&sort=(todo)&title="Milestones"][view]]) @@ -67,8 +67,12 @@ #+BEGIN: org-ql :query "todo: property:milestone" :columns (((property "milestone") "M") (priority "P") todo heading) :sort (priority date) :take 7 | M | P | Todo | Heading | |-----+---+---------+--------------------------------------------------------------| +| 0.5 | A | NEXT | [[Make dynamic blocks warn about sexp queries][Make dynamic blocks warn about sexp queries]] | | 0.5 | A | PROJECT | [[Compatibility with Org 9.4 custom link changes][Compatibility with Org 9.4 custom link changes]] | +| 0.5 | A | PROJECT | [[Convert simple sexp queries to non-sexp][Convert simple sexp queries to non-sexp]] | +| 0.5 | A | PROJECT | [[Checking links for unsafe parameters][Checking links for unsafe parameters]] | | 0.5 | A | TODO | [[Tag org-super-agenda 1.2 and bump required version in org-ql][Tag org-super-agenda 1.2 and bump required version in org-ql]] | +| 0.6 | B | PROJECT | [[Group tag support][Group tag support]] | | 0.6 | B | PROJECT | [[Save view to dynamic block][Save view to dynamic block]] | #+END: @@ -220,6 +224,9 @@ I should benchmark it to see how much difference it makes, because all those ~fs However, there might still be a useful idea here somewhere... ** MAYBE [#C] Alternative parsing libraries +:PROPERTIES: +:milestone: future +:END: + e.g. Bovine and Wisent come with Emacs, which would allow us to drop the =peg= dependency (which doesn't use lexical binding). + [[https://github.com/cute-jumper/parsec.el][parsec]] is third-party, but looks powerful @@ -229,6 +236,9 @@ However, there might still be a useful idea here somewhere... When tag inheritance is enabled, and the given tags aren't file-level tags, we could search directly to headings containing the matching tags, and then only do per-heading matching on the subtrees. Sometimes that would be much faster. However, that might make the logic special-cased and complicated. Might need a redesign of the whole matching/predicate system to do cleanly. ** NEXT [#A] Make dynamic blocks warn about sexp queries +:PROPERTIES: +:milestone: 0.5 +:END: [2020-11-12 Thu 05:22] I guess to be super-extra careful, just in case someone had =org-update-all-dblocks= in the =before-save-hook= or something. @@ -253,6 +263,9 @@ Unfortunately it does not say what the new, required second argument is. ** PROJECT [#A] Convert simple sexp queries to non-sexp +:PROPERTIES: +:milestone: 0.5 +:END: [2020-11-11 Wed 00:28] This will be very helpful for storing links. Surely simple ones won't be too hard... @@ -357,6 +370,7 @@ Maybe make it an option to automatically convert them when possible, because if ** PROJECT [#A] Checking links for unsafe parameters :PROPERTIES: :ID: ba70e375-eddb-40df-8892-fb418c1f70d1 +:milestone: 0.5 :END: :LOGBOOK: - State "PROJECT" from "UNDERWAY" [2020-11-12 Thu 00:26] @@ -644,6 +658,9 @@ That seems to work, like: *** DONE Save query from ql-agenda buffer ** PROJECT [#B] Group tag support +:PROPERTIES: +:milestone: 0.6 +:END: *** UNDERWAY Benchmarking tags searches without and with new group-tags support @@ -1138,6 +1155,9 @@ One of the things in that branch is =org-ql-item=, which is a struct used to car Another idea for it is to simply store the element from =org-element-headline-parser= in one of its slots, and populate all of the other slots lazily, like =ts=. It already does that for a couple of slots, but I think it makes sense to do it for all of them, to reduce the overhead of making the struct for every query result. *** MAYBE [#C] Experiment with =widget= +:PROPERTIES: +:milestone: future +:END: The code that powers the customization UI. Has collapsible and customizable widgets. Might be perfect. Might even enable editing items in the list, with functions to make the changes in the source buffers. @@ -4205,6 +4225,6 @@ I don't need this right now, but it might come in handy here or elsewhere. ** File-local variables # Local Variables: -# before-save-hook: ((lambda () (when (fboundp 'unpackaged/org-fix-blank-lines) (unpackaged/org-fix-blank-lines t))) (lambda () (when (fboundp 'ap/org-sort-entries-recursive-multi) (save-excursion (goto-char (point-min)) (ap/org-sort-entries-recursive-multi '(?a ?p ?o))))) org-make-toc) +# before-save-hook: ((lambda () (when (fboundp 'unpackaged/org-fix-blank-lines) (unpackaged/org-fix-blank-lines t))) (lambda () (when (fboundp 'ap/org-sort-entries-recursive-multi) (save-excursion (goto-char (point-min)) (ap/org-sort-entries-recursive-multi '(?a ?p ?o))))) org-update-all-dblocks org-make-toc) # End: From 2a010f29c18a32ebe1d71d56ce76d0b1631838c9 Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Mon, 16 Nov 2020 20:08:44 -0600 Subject: [PATCH 290/615] Fix: (org-dblock-write:org-ql) Use org-link-display-format Fixes #153. Thanks to @jbriquet for reporting. --- org-ql-search.el | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/org-ql-search.el b/org-ql-search.el index e7758c7..9f555ce 100644 --- a/org-ql-search.el +++ b/org-ql-search.el @@ -285,7 +285,8 @@ For example, an org-ql dynamic block header could look like: (org-element-property :todo-keyword element))) (cons 'heading (lambda (element) (org-make-link-string (org-element-property :raw-value element) - (org-element-property :raw-value element)))) + (org-link-display-format + (org-element-property :raw-value element))))) (cons 'priority (lambda (element) (--when-let (org-element-property :priority element) (char-to-string it)))) From 50ba4414155a27d33c4c1a31de8b2f9fb90ad669 Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Mon, 16 Nov 2020 21:16:09 -0600 Subject: [PATCH 291/615] Fix: (org-ql-view-bookmark-handler) Bookmark destructuring See #147. Thanks to @tpeacock19 for reporting. --- org-ql-view.el | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/org-ql-view.el b/org-ql-view.el index 10519c2..29e5499 100644 --- a/org-ql-view.el +++ b/org-ql-view.el @@ -569,9 +569,10 @@ dates in the past, and negative for dates in the future." ;; FIXME: `pcase-let*' is easier to use to destructure this, but if I use ;; that, I want to use map 2.1 for the extra convenience, but I can't force ;; that to be installed into the makem.sh sandbox, so I just use `-let*' here. - (-let* ((org-ql-view-plist (car (bookmark-get-bookmark-record bookmark))) + (-let* ((record (bookmark-get-bookmark-record bookmark)) + ((&alist 'org-ql-view-plist) record) ((&plist :buffers-files :query :super-groups :narrow :sort :title) - (cdr org-ql-view-plist)) + org-ql-view-plist) (super-groups (cl-etypecase super-groups (symbol (symbol-value super-groups)) (list super-groups)))) From d73d28f4c3a8f27c985015ef38d171e0295693c5 Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Mon, 16 Nov 2020 22:13:23 -0600 Subject: [PATCH 292/615] Notes: Add idea --- notes.org | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/notes.org b/notes.org index 1f87eb7..76c4ddf 100644 --- a/notes.org +++ b/notes.org @@ -89,6 +89,7 @@ - [[#partial-match-for-property-queries][Partial match for property queries]] - [[#org-agenda-skip-function][org-agenda-skip-function]] - [[#update-commentary][Update commentary]] +- [[#org-ql-block-let-org-agenda-format-its-output][org-ql-block: Let org-agenda format its output]] - [[#overlay-based-caching-inspired-by-org-num-mode][Overlay-based caching inspired by org-num-mode]] - [[#alternative-parsing-libraries][Alternative parsing libraries]] - [[#fancier-searching-for-inherited-tags][Fancier searching for inherited tags]] @@ -215,6 +216,10 @@ I should benchmark it to see how much difference it makes, because all those ~fs ** TODO [#C] Update commentary +** MAYBE org-ql-block: Let org-agenda format its output + +[2020-11-16 Mon 22:12] As suggested by Kevin J. Foley. See [[https://github.com/alphapapa/org-ql/pull/113#issuecomment-728674220][#113]]. It might actually be simple to do and might work very well. + ** MAYBE [#C] Overlay-based caching inspired by org-num-mode [2019-12-30 Mon 22:42] Newer versions of Org have =org-num-mode=, which uses =font-lock= and =after-change-functions= to update overlays in the buffer with outline numbering. Maybe a similar approach could be used to cache arbitrary values for headings in a buffer without having to discard the whole buffer's cache when the buffer changes. From 0ca6b4b119992f79104671fe0dc62072ee200ab8 Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Mon, 16 Nov 2020 23:51:24 -0600 Subject: [PATCH 293/615] Tidy: Docstring --- org-ql-search.el | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/org-ql-search.el b/org-ql-search.el index 9f555ce..8a012be 100644 --- a/org-ql-search.el +++ b/org-ql-search.el @@ -243,7 +243,7 @@ automatically from the query." "Insert content for org-ql dynamic block at point according to PARAMS. Valid parameters include: - :query An Org QL query expression in either sexp or non-sexp + :query An Org QL query expression in either sexp or string form. :columns A list of columns, including `heading', `todo', From 71703def0406da8df12f435a752b4e5eb57dd250 Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Mon, 16 Nov 2020 23:52:15 -0600 Subject: [PATCH 294/615] Change: Query safety checks - Variable org-ql-ask-unsafe-queries replaces org-ql-view-ask-unsafe-links. - New function: org-ql--ask-unsafe-query. - Tests: Improve --- org-ql-search.el | 4 ++- org-ql-view.el | 33 +++---------------------- org-ql.el | 31 +++++++++++++++++++++++ tests/test-org-ql.el | 58 +++++++++++++++++++++++++++++++++----------- 4 files changed, 82 insertions(+), 44 deletions(-) diff --git a/org-ql-search.el b/org-ql-search.el index 8a012be..145b37c 100644 --- a/org-ql-search.el +++ b/org-ql-search.el @@ -275,7 +275,9 @@ For example, an org-ql dynamic block header could look like: (-let* (((&plist :query :columns :sort :ts-format :take) params) (query (cl-etypecase query (string (org-ql--plain-query query)) - (t query))) + (list ;; SAFETY: Query is in sexp form: ask for confirmation, because it could contain arbitrary code. + (org-ql--ask-unsafe-query query) + query))) (columns (or columns '(heading todo (priority "P")))) ;; MAYBE: Custom column functions. (format-fns diff --git a/org-ql-view.el b/org-ql-view.el index 29e5499..089baf6 100644 --- a/org-ql-view.el +++ b/org-ql-view.el @@ -97,23 +97,6 @@ Based on `org-agenda-mode-map'.") "Options for `org-ql-view'." :group 'org-ql) -(defcustom org-ql-view-ask-unsafe-links t - "Ask before opening a link that could run arbitrary code. -Org QL queries in sexp form can contain arbitrary expressions. -When opening an \"org-ql-search:\" link that contains a query in -sexp form, and this option is non-nil, the user will be prompted -for confirmation before opening the link. - -This variable may be set file-locally to disable this warning in -files that the user assumes are safe (e.g. of known provenance). -Users who are entirely unconcerned about this issue may disable -the option globally (at their own risk, however minimal it -probably is). - -See Info node `(org-ql)Queries'." - :type 'boolean - :risky t) - (defcustom org-ql-view-display-buffer-action nil "Action argument passed through `pop-to-buffer' to `display-buffer', which see." :type '(cons function alist)) @@ -644,18 +627,10 @@ protocol. See, e.g. `org-ql-view--link-store'." (stringp buffers-files) (cl-every #'stringp buffers-files)) (error "CAUTION: Link not opened because unsafe buffers-files parameter detected: %s" buffers-files)) - (when (and org-ql-view-ask-unsafe-links - (or (string-match (rx bol (0+ space) "(") query) - (listp query))) - ;; Query is in sexp form: ask for confirmation, because it could contain arbitrary code. - (let ((query-string (propertize (cl-etypecase query - (list (prin1-to-string query)) - (string query)) - ;; FIXME: The face doesn't seem to be displayed. - 'face 'font-lock-warning-face))) - (unless (yes-or-no-p (concat "Query is in sexp form and could contain arbitrary code: " - query-string " Execute it? ")) - (user-error "Query aborted by user")))) + (when (or (listp query) + (string-match (rx bol (0+ space) "(") query)) + ;; SAFETY: Query is in sexp form: ask for confirmation, because it could contain arbitrary code. + (org-ql--ask-unsafe-query query)) (org-ql-search buffers-files query :sort sort :super-groups groups diff --git a/org-ql.el b/org-ql.el index 3b97307..c479161 100644 --- a/org-ql.el +++ b/org-ql.el @@ -137,6 +137,24 @@ This list should not contain any duplicates.")) ;; TODO: Add info manual link. :link '(url-link "https://github.com/alphapapa/org-ql")) +(defcustom org-ql-ask-unsafe-queries t + "Ask before running a query that could run arbitrary code. +Org QL queries in sexp form can contain arbitrary expressions. +When opening an \"org-ql-search:\" link or updating a dynamic +block that contains a query in sexp form, and this option is +non-nil, the user will be prompted for confirmation before +opening the link. + +This variable may be set file-locally to disable this warning in +files that the user assumes are safe (e.g. of known provenance). +Users who are entirely unconcerned about this issue may disable +the option globally (at their own risk, however minimal it +probably is). + +See Info node `(org-ql)Queries'." + :type 'boolean + :risky t) + ;;;; Macros (cl-defmacro org-ql--defpred (name args docstring &rest body) @@ -531,6 +549,19 @@ from within ELEMENT's buffer." (setf (cadr element) properties) element)) +(defun org-ql--ask-unsafe-query (query) + "Signal an error if user rejects running QUERY. +If `org-ql-view-ask-unsafe-links' is nil, does nothing and +returns nil." + (when org-ql-ask-unsafe-queries + (let ((query-string (propertize (cl-etypecase query + (list (prin1-to-string query)) + (string query)) + 'face 'font-lock-warning-face))) + (unless (yes-or-no-p (concat "Query is in sexp form and could contain arbitrary code: " + query-string " Execute it? ")) + (user-error "Query aborted by user"))))) + ;;;;; Query processing ;; Processing, compiling, etc. for queries. diff --git a/tests/test-org-ql.el b/tests/test-org-ql.el index be81d81..e1c40d5 100644 --- a/tests/test-org-ql.el +++ b/tests/test-org-ql.el @@ -1422,7 +1422,7 @@ RESULTS should be a list of strings as returned by (org-mode))) (cl-flet* ((open-link-in - (link buffer) + (link buffer input) ;; Org REDUCED THE NUMBER OF ARGUMENTS TO `org-open-link-from-string'! That BREAKS BACKWARD ;; COMPATIBILITY! So I have to make my own function so these tests can work across Org versions! (with-current-buffer buffer @@ -1431,9 +1431,12 @@ RESULTS should be a list of strings as returned by (insert "* TODO Test heading\n\n") (insert link) (backward-char 1) - (org-open-at-point))) + (with-simulated-input input + (org-open-at-point)))) + (var-after-link-save-open - (var buffers-files query &key sort super-groups (buffer link-buffer) (input "RET")) + (var buffers-files query &key sort super-groups + (buffer link-buffer) (store-input "RET") open-input) (org-ql-search buffers-files query :super-groups super-groups :sort sort :title title :buffer view-buffer) @@ -1441,26 +1444,53 @@ RESULTS should be a list of strings as returned by (cl-assert (member '("org-ql-search" :follow org-ql-view--link-open :store org-ql-view--link-store) org-link-parameters) t) - (with-simulated-input input + (with-simulated-input store-input ;; Avoid writing "Stored: ..." to test output. (let ((inhibit-message t)) (call-interactively #'org-store-link nil))) (kill-buffer)) (cl-assert (and org-stored-links (caar org-stored-links)) t) - (open-link-in (caar org-stored-links) buffer) + (open-link-in (caar org-stored-links) buffer open-input) (with-current-buffer (get-buffer (concat "*Org QL View: " title "*")) (prog1 (buffer-local-value var (current-buffer)) (kill-buffer))))) (describe "Queries" :var ((string-query "todo:TODO regexp:heading") - (sexp-query '(and (todo "TODO") (regexp "heading")))) - (it "Sexps match" - (expect (var-after-link-save-open 'org-ql-view-query temp-filenames sexp-query) :to-equal sexp-query)) - (it "Strings match" - ;; NOTE: This test includes the string query being replaced with its sexp form after the query is run. - (expect (var-after-link-save-open 'org-ql-view-query temp-filenames string-query) - :to-equal sexp-query))) + (string-query-in-sexp-form '(and (todo "TODO") (regexp "heading"))) + ;; NOTE: The sexp query must be one that `org-ql--query-sexp-to-string' + ;; can't convert to a string. + (sexp-query '(or (todo "TODO") (regexp "heading")))) + + (describe "in sexp form" + + (describe "prompt when `org-ql-ask-unsafe-queries' is non-nil" + :var ((org-ql-ask-unsafe-queries t)) + + (it "and signal an error when rejected by user" + (expect (var-after-link-save-open 'org-ql-view-query temp-filenames sexp-query + :open-input "no RET") + :to-throw 'user-error '("Query aborted by user"))) + (it "and run when approved by user" + (expect (var-after-link-save-open 'org-ql-view-query temp-filenames sexp-query + :open-input "yes RET") + :to-equal sexp-query))) + + (it "don't prompt when `org-ql-ask-unsafe-queries' is nil" + (let ((org-ql-ask-unsafe-queries nil)) + (expect (var-after-link-save-open 'org-ql-view-query temp-filenames sexp-query) + :to-equal sexp-query))) + + (it "match after restoring" + (let ((org-ql-ask-unsafe-queries nil)) ; Disable safety check for this test. + (expect (var-after-link-save-open 'org-ql-view-query temp-filenames sexp-query) + :to-equal sexp-query)))) + + (describe "in string form" + (it "match after restoring" + ;; NOTE: This test includes the string query being replaced with its sexp form after the query is run. + (expect (var-after-link-save-open 'org-ql-view-query temp-filenames string-query) + :to-equal string-query-in-sexp-form)))) (describe "Grouping" :var ((query '(and (todo "TODO") (regexp "heading"))) @@ -1487,11 +1517,11 @@ RESULTS should be a list of strings as returned by (one-filename (car temp-filenames))) (it "Can search a file by filename" (expect (var-after-link-save-open 'org-ql-view-buffers-files one-filename query - :input "M-n M-n RET") + :store-input "M-n M-n RET") :to-equal one-filename)) (it "Can search multiple files by filename" (expect (var-after-link-save-open 'org-ql-view-buffers-files temp-filenames query - :input "M-n M-n RET") + :store-input "M-n M-n RET") :to-equal temp-filenames)) (it "Can search buffer containing the link" ;; This is sort-of a special case because of how the test link-opening function works. From a02514c0dc8dfef1e8425a93cd23d91e72fbc1d5 Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Tue, 17 Nov 2020 00:24:26 -0600 Subject: [PATCH 295/615] Tests: Test dynamic block sexp query warning --- tests/test-org-ql.el | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/tests/test-org-ql.el b/tests/test-org-ql.el index e1c40d5..7dad757 100644 --- a/tests/test-org-ql.el +++ b/tests/test-org-ql.el @@ -1406,6 +1406,34 @@ RESULTS should be a list of strings as returned by (mapcar #'find-file-noselect temp-filenames) query) :to-equal temp-filenames))))) + (describe "Dynamic blocks" + (describe "warn about sexp queries" + + (cl-flet ((test-dblock + (&optional input) (with-current-buffer (get-buffer-create "*TEST DBLOCK*") + (erase-buffer) + (org-mode) + (insert "* TODO Heading 1\n\n" + "#+BEGIN: org-ql :query (or (todo) (regexp \"Heading\")) :columns (todo)\n" + "#+END:") + (goto-char (point-min)) + (forward-line 2) + (with-simulated-input input + (org-dblock-update)) + (kill-buffer)))) + + (it "when org-ql-ask-unsafe-queries is non-nil" + ;; TODO: Should the query be converted to string form if possible and only warn if not? + (let ((org-ql-ask-unsafe-queries t)) + (expect (test-dblock "no RET") + :to-throw 'user-error '("Query aborted by user")))) + + (it "unless org-ql-ask-unsafe-queries is nil" + ;; TODO: Should the query be converted to string form if possible and only warn if not? + (let ((org-ql-ask-unsafe-queries nil)) + (expect (test-dblock) + :not :to-throw)))))) + (describe "Links" ;; Not sure if this binding works. :var ((title "ORG-QL-TEST") From 814f3f0edaf2cfd4a29d3ea98a6dc767e9651217 Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Tue, 17 Nov 2020 00:25:34 -0600 Subject: [PATCH 296/615] Notes: Update --- notes.org | 40 ++++++++++++++++++++++------------------ 1 file changed, 22 insertions(+), 18 deletions(-) diff --git a/notes.org b/notes.org index 76c4ddf..6dfba38 100644 --- a/notes.org +++ b/notes.org @@ -40,7 +40,6 @@ #+BEGIN: org-ql :query "todo: priority:A" :columns ((priority "P") ((property "milestone") "M") todo heading) :sort (priority date) :take 7 | P | M | Todo | Heading | |---+-----+---------+--------------------------------------------------------------| -| A | 0.5 | NEXT | [[Make dynamic blocks warn about sexp queries][Make dynamic blocks warn about sexp queries]] | | A | 0.5 | PROJECT | [[Compatibility with Org 9.4 custom link changes][Compatibility with Org 9.4 custom link changes]] | | A | 0.5 | PROJECT | [[Convert simple sexp queries to non-sexp][Convert simple sexp queries to non-sexp]] | | A | 0.5 | PROJECT | [[Checking links for unsafe parameters][Checking links for unsafe parameters]] | @@ -65,15 +64,15 @@ ** Milestones ([[org-ql-search:todo:?super-groups=((:auto-property%20"milestone"))&sort=(todo)&title="Milestones"][view]]) #+BEGIN: org-ql :query "todo: property:milestone" :columns (((property "milestone") "M") (priority "P") todo heading) :sort (priority date) :take 7 -| M | P | Todo | Heading | -|-----+---+---------+--------------------------------------------------------------| -| 0.5 | A | NEXT | [[Make dynamic blocks warn about sexp queries][Make dynamic blocks warn about sexp queries]] | -| 0.5 | A | PROJECT | [[Compatibility with Org 9.4 custom link changes][Compatibility with Org 9.4 custom link changes]] | -| 0.5 | A | PROJECT | [[Convert simple sexp queries to non-sexp][Convert simple sexp queries to non-sexp]] | -| 0.5 | A | PROJECT | [[Checking links for unsafe parameters][Checking links for unsafe parameters]] | -| 0.5 | A | TODO | [[Tag org-super-agenda 1.2 and bump required version in org-ql][Tag org-super-agenda 1.2 and bump required version in org-ql]] | -| 0.6 | B | PROJECT | [[Group tag support][Group tag support]] | -| 0.6 | B | PROJECT | [[Save view to dynamic block][Save view to dynamic block]] | +| M | P | Todo | Heading | +|--------+---+---------+--------------------------------------------------------------| +| 0.5 | A | PROJECT | [[Compatibility with Org 9.4 custom link changes][Compatibility with Org 9.4 custom link changes]] | +| 0.5 | A | PROJECT | [[Convert simple sexp queries to non-sexp][Convert simple sexp queries to non-sexp]] | +| 0.5 | A | PROJECT | [[Checking links for unsafe parameters][Checking links for unsafe parameters]] | +| 0.5 | A | TODO | [[Tag org-super-agenda 1.2 and bump required version in org-ql][Tag org-super-agenda 1.2 and bump required version in org-ql]] | +| 0.6 | B | PROJECT | [[Group tag support][Group tag support]] | +| 0.6 | B | PROJECT | [[Save view to dynamic block][Save view to dynamic block]] | +| future | C | MAYBE | [[Alternative parsing libraries][Alternative parsing libraries]] | #+END: * [#A] Tasks @@ -93,7 +92,6 @@ - [[#overlay-based-caching-inspired-by-org-num-mode][Overlay-based caching inspired by org-num-mode]] - [[#alternative-parsing-libraries][Alternative parsing libraries]] - [[#fancier-searching-for-inherited-tags][Fancier searching for inherited tags]] -- [[#make-dynamic-blocks-warn-about-sexp-queries][Make dynamic blocks warn about sexp queries]] - [[#compatibility-with-org-94-custom-link-changes][Compatibility with Org 9.4 custom link changes]] - [[#convert-simple-sexp-queries-to-non-sexp][Convert simple sexp queries to non-sexp]] - [[#checking-links-for-unsafe-parameters][Checking links for unsafe parameters]] @@ -111,6 +109,7 @@ - [[#update-view-screenshots][Update view screenshots]] - [[#test-caching][Test caching]] - [[#node-caching]["Node" caching]] +- [[#make-dynamic-blocks-warn-about-sexp-queries][Make dynamic blocks warn about sexp queries]] - [[#add-emacs-271-to-testyml][Add Emacs 27.1 to test.yml]] - [[#fix-org-ql-view--link-open-on-org-93][Fix org-ql-view--link-open on Org 9.3+]] - [[#fix-query-sexp-to-string-functions-handling-of-eg-descendants][Fix query-sexp-to-string function's handling of, e.g. descendants]] @@ -240,13 +239,6 @@ However, there might still be a useful idea here somewhere... When tag inheritance is enabled, and the given tags aren't file-level tags, we could search directly to headings containing the matching tags, and then only do per-heading matching on the subtrees. Sometimes that would be much faster. However, that might make the logic special-cased and complicated. Might need a redesign of the whole matching/predicate system to do cleanly. -** NEXT [#A] Make dynamic blocks warn about sexp queries -:PROPERTIES: -:milestone: 0.5 -:END: - -[2020-11-12 Thu 05:22] I guess to be super-extra careful, just in case someone had =org-update-all-dblocks= in the =before-save-hook= or something. - ** PROJECT [#A] Compatibility with Org 9.4 custom link changes :bug: :PROPERTIES: :milestone: 0.5 @@ -1419,6 +1411,18 @@ This works okay (except the priority accessor needs to be fixed, because Org pri :action #'helm-org-goto-marker)))) #+END_SRC +** DONE [#A] Make dynamic blocks warn about sexp queries +:PROPERTIES: +:milestone: 0.5 +:END: +:LOGBOOK: +CLOCK: [2020-11-16 Mon 22:56]--[2020-11-17 Tue 00:25] => 1:29 +:END: + +[2020-11-12 Thu 05:22] I guess to be super-extra careful, just in case someone had =org-update-all-dblocks= in the =before-save-hook= or something. + +[2020-11-17 Tue 00:25] It warns and the warning is tested. + ** DONE [#A] Add Emacs 27.1 to =test.yml= :PROPERTIES: :milestone: 0.5 From 619fd8c403da93bc204bd0ae58ddd52c7678cda5 Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Tue, 17 Nov 2020 00:35:53 -0600 Subject: [PATCH 297/615] Notes: Update --- notes.org | 32 +++++++++++++++++++++----------- 1 file changed, 21 insertions(+), 11 deletions(-) diff --git a/notes.org b/notes.org index 6dfba38..74f0331 100644 --- a/notes.org +++ b/notes.org @@ -23,12 +23,13 @@ #+BEGIN: org-ql :query "todo: tags:bug" :columns ((priority "P") ((property "milestone") "M") (todo "Keyword") heading) :sort (priority todo date) :ts-format "%Y-%m-%d %H:%M" | P | M | Keyword | Heading | |---+-----+---------+------------------------------------------------| +| A | 0.5 | TODO | [[Views: Multiple sorters are not preserved][Views: Multiple sorters are not preserved]] | | A | 0.5 | PROJECT | [[Compatibility with Org 9.4 custom link changes][Compatibility with Org 9.4 custom link changes]] | #+END: ** Underway ([[org-ql-search:todo%253AUNDERWAY?sort=%2528priority%2529&title=%2522Underway%2522][view]]) -#+BEGIN: org-ql :query (todo "UNDERWAY") :columns (((property "milestone") "M") (priority "P") (todo "Keyword") heading) :sort (priority date) :ts-format "%Y-%m-%d %H:%M" +#+BEGIN: org-ql :query "todo:UNDERWAY" :columns (((property "milestone") "M") (priority "P") (todo "Keyword") heading) :sort (priority date) :ts-format "%Y-%m-%d %H:%M" | M | P | Keyword | Heading | |---+---+----------+--------------------------------------------------------------------| | | B | UNDERWAY | [["Node" caching]["Node" caching]] | @@ -40,6 +41,7 @@ #+BEGIN: org-ql :query "todo: priority:A" :columns ((priority "P") ((property "milestone") "M") todo heading) :sort (priority date) :take 7 | P | M | Todo | Heading | |---+-----+---------+--------------------------------------------------------------| +| A | 0.5 | TODO | [[Views: Multiple sorters are not preserved][Views: Multiple sorters are not preserved]] | | A | 0.5 | PROJECT | [[Compatibility with Org 9.4 custom link changes][Compatibility with Org 9.4 custom link changes]] | | A | 0.5 | PROJECT | [[Convert simple sexp queries to non-sexp][Convert simple sexp queries to non-sexp]] | | A | 0.5 | PROJECT | [[Checking links for unsafe parameters][Checking links for unsafe parameters]] | @@ -61,18 +63,18 @@ | 0.6 | B | [[Group tag support][Group tag support]] | #+END: -** Milestones ([[org-ql-search:todo:?super-groups=((:auto-property%20"milestone"))&sort=(todo)&title="Milestones"][view]]) +** Milestones ([[org-ql-search:todo%253A?super-groups=%2528%2528%253Aauto-property%2520%2522milestone%2522%2529%2529&sort=%2528todo%2529&title=%2522Milestones%2522][view]]) #+BEGIN: org-ql :query "todo: property:milestone" :columns (((property "milestone") "M") (priority "P") todo heading) :sort (priority date) :take 7 -| M | P | Todo | Heading | -|--------+---+---------+--------------------------------------------------------------| -| 0.5 | A | PROJECT | [[Compatibility with Org 9.4 custom link changes][Compatibility with Org 9.4 custom link changes]] | -| 0.5 | A | PROJECT | [[Convert simple sexp queries to non-sexp][Convert simple sexp queries to non-sexp]] | -| 0.5 | A | PROJECT | [[Checking links for unsafe parameters][Checking links for unsafe parameters]] | -| 0.5 | A | TODO | [[Tag org-super-agenda 1.2 and bump required version in org-ql][Tag org-super-agenda 1.2 and bump required version in org-ql]] | -| 0.6 | B | PROJECT | [[Group tag support][Group tag support]] | -| 0.6 | B | PROJECT | [[Save view to dynamic block][Save view to dynamic block]] | -| future | C | MAYBE | [[Alternative parsing libraries][Alternative parsing libraries]] | +| M | P | Todo | Heading | +|-----+---+---------+--------------------------------------------------------------| +| 0.5 | A | TODO | [[Views: Multiple sorters are not preserved][Views: Multiple sorters are not preserved]] | +| 0.5 | A | PROJECT | [[Compatibility with Org 9.4 custom link changes][Compatibility with Org 9.4 custom link changes]] | +| 0.5 | A | PROJECT | [[Convert simple sexp queries to non-sexp][Convert simple sexp queries to non-sexp]] | +| 0.5 | A | PROJECT | [[Checking links for unsafe parameters][Checking links for unsafe parameters]] | +| 0.5 | A | TODO | [[Tag org-super-agenda 1.2 and bump required version in org-ql][Tag org-super-agenda 1.2 and bump required version in org-ql]] | +| 0.6 | B | PROJECT | [[Group tag support][Group tag support]] | +| 0.6 | B | PROJECT | [[Save view to dynamic block][Save view to dynamic block]] | #+END: * [#A] Tasks @@ -80,6 +82,7 @@ :TOC: :include descendants :depth 1 :END: :CONTENTS: +- [[#views-multiple-sorters-are-not-preserved][Views: Multiple sorters are not preserved]] - [[#add-auto-keyword-to-planning-predicate][Add :auto keyword to (planning) predicate]] - [[#change-deadlines-auto-argument-to-auto-andor-auto-t][Change (deadline)'s auto argument to :auto and/or :auto t]] - [[#outline-path-in-buffers-files-arg][Outline path in buffers-files arg]] @@ -122,6 +125,12 @@ - [[#use-macros-for-date][Use macros for date]] :END: +** TODO [#A] Views: Multiple sorters are not preserved :bug: +:PROPERTIES: +:milestone: 0.5 +:url: https://github.com/alphapapa/org-ql/issues/136 +:END: + ** TODO [#B] Add ~:auto~ keyword to ~(planning)~ predicate It should act like ~(or (deadline auto) (scheduled :to today))~. @@ -4235,5 +4244,6 @@ I don't need this right now, but it might come in handy here or elsewhere. # Local Variables: # before-save-hook: ((lambda () (when (fboundp 'unpackaged/org-fix-blank-lines) (unpackaged/org-fix-blank-lines t))) (lambda () (when (fboundp 'ap/org-sort-entries-recursive-multi) (save-excursion (goto-char (point-min)) (ap/org-sort-entries-recursive-multi '(?a ?p ?o))))) org-update-all-dblocks org-make-toc) +# org-ql-ask-unsafe-queries: nil # End: From d500d28af53b479de23140908b68658475758c14 Mon Sep 17 00:00:00 2001 From: Imran Khan Date: Sun, 23 Aug 2020 00:20:16 +0600 Subject: [PATCH 298/615] Change nreverse to non-destructive version --- org-ql.el | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/org-ql.el b/org-ql.el index f7efbbf..a2d3198 100644 --- a/org-ql.el +++ b/org-ql.el @@ -1456,7 +1456,7 @@ PREDICATES is a list of one or more sorting methods, including: ;; Put at end of list if not found (1+ (length org-todo-keywords-1))))))) (-flatten-n 1 (-map #'cdr sorted-groups))))) - (cl-loop for pred in (nreverse predicates) + (cl-loop for pred in (reverse predicates) do (setq items (if (eq pred 'todo) (sort-by-todo-keyword items) (-sort (sorter pred) items))) From 6618318622c0b49dc0c22eb21dd74a33b425e574 Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Wed, 18 Nov 2020 00:03:41 -0600 Subject: [PATCH 299/615] Update readme, version header --- README.org | 5 +++++ org-ql.el | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/README.org b/README.org index 23c4a9d..9b6b5d7 100644 --- a/README.org +++ b/README.org @@ -398,6 +398,11 @@ Expands into a call to ~org-ql-select~ with the same arguments. For convenience /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.4.8 + +*Fixed* ++ Multiple sorters not preserved when refreshing views. (Fixes [[https://github.com/alphapapa/org-ql/issues/136][#136]], [[https://github.com/alphapapa/org-ql/pull/137][#137]]. Thanks to [[https://github.com/natrys][Imran Khan]].) + ** 0.4.7 *Fixed* diff --git a/org-ql.el b/org-ql.el index a2d3198..85b47cd 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.4.6 +;; Version: 0.4.8 ;; Package-Requires: ((emacs "26.1") (dash "2.13") (dash-functional "1.2.0") (f "0.17.2") (org "9.0") (org-super-agenda "1.2-pre") (ov "1.0.6") (peg "0.6") (s "1.12.0") (ts "0.2-pre")) ;; Keywords: hypermedia, outlines, Org, agenda From a9c734506677b66b544a4aa4e31cac5050a20134 Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Wed, 18 Nov 2020 03:04:34 -0600 Subject: [PATCH 300/615] Notes: Add idea --- notes.org | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/notes.org b/notes.org index 74f0331..a04c989 100644 --- a/notes.org +++ b/notes.org @@ -92,6 +92,7 @@ - [[#org-agenda-skip-function][org-agenda-skip-function]] - [[#update-commentary][Update commentary]] - [[#org-ql-block-let-org-agenda-format-its-output][org-ql-block: Let org-agenda format its output]] +- [[#omnifocus-like-screencasts][OmniFocus-like screencasts]] - [[#overlay-based-caching-inspired-by-org-num-mode][Overlay-based caching inspired by org-num-mode]] - [[#alternative-parsing-libraries][Alternative parsing libraries]] - [[#fancier-searching-for-inherited-tags][Fancier searching for inherited tags]] @@ -228,6 +229,10 @@ I should benchmark it to see how much difference it makes, because all those ~fs [2020-11-16 Mon 22:12] As suggested by Kevin J. Foley. See [[https://github.com/alphapapa/org-ql/pull/113#issuecomment-728674220][#113]]. It might actually be simple to do and might work very well. +** MAYBE OmniFocus-like screencasts + +[2020-11-18 Wed 03:03] Looking at OmniFocus's web site now, their short videos showing features demonstrate a lot of features that exist in org-ql already. After implementing section-based views, it would be cool to make some short demos showing similar features. + ** MAYBE [#C] Overlay-based caching inspired by org-num-mode [2019-12-30 Mon 22:42] Newer versions of Org have =org-num-mode=, which uses =font-lock= and =after-change-functions= to update overlays in the buffer with outline numbering. Maybe a similar approach could be used to cache arbitrary values for headings in a buffer without having to discard the whole buffer's cache when the buffer changes. From 6b96c3684ded8650981b99f3a0427c13d3dba07a Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Wed, 18 Nov 2020 04:16:07 -0600 Subject: [PATCH 301/615] Notes: Update --- notes.org | 34 ++++++++++++++++------------------ 1 file changed, 16 insertions(+), 18 deletions(-) diff --git a/notes.org b/notes.org index a04c989..95dc303 100644 --- a/notes.org +++ b/notes.org @@ -23,7 +23,6 @@ #+BEGIN: org-ql :query "todo: tags:bug" :columns ((priority "P") ((property "milestone") "M") (todo "Keyword") heading) :sort (priority todo date) :ts-format "%Y-%m-%d %H:%M" | P | M | Keyword | Heading | |---+-----+---------+------------------------------------------------| -| A | 0.5 | TODO | [[Views: Multiple sorters are not preserved][Views: Multiple sorters are not preserved]] | | A | 0.5 | PROJECT | [[Compatibility with Org 9.4 custom link changes][Compatibility with Org 9.4 custom link changes]] | #+END: @@ -41,7 +40,6 @@ #+BEGIN: org-ql :query "todo: priority:A" :columns ((priority "P") ((property "milestone") "M") todo heading) :sort (priority date) :take 7 | P | M | Todo | Heading | |---+-----+---------+--------------------------------------------------------------| -| A | 0.5 | TODO | [[Views: Multiple sorters are not preserved][Views: Multiple sorters are not preserved]] | | A | 0.5 | PROJECT | [[Compatibility with Org 9.4 custom link changes][Compatibility with Org 9.4 custom link changes]] | | A | 0.5 | PROJECT | [[Convert simple sexp queries to non-sexp][Convert simple sexp queries to non-sexp]] | | A | 0.5 | PROJECT | [[Checking links for unsafe parameters][Checking links for unsafe parameters]] | @@ -66,15 +64,15 @@ ** Milestones ([[org-ql-search:todo%253A?super-groups=%2528%2528%253Aauto-property%2520%2522milestone%2522%2529%2529&sort=%2528todo%2529&title=%2522Milestones%2522][view]]) #+BEGIN: org-ql :query "todo: property:milestone" :columns (((property "milestone") "M") (priority "P") todo heading) :sort (priority date) :take 7 -| M | P | Todo | Heading | -|-----+---+---------+--------------------------------------------------------------| -| 0.5 | A | TODO | [[Views: Multiple sorters are not preserved][Views: Multiple sorters are not preserved]] | -| 0.5 | A | PROJECT | [[Compatibility with Org 9.4 custom link changes][Compatibility with Org 9.4 custom link changes]] | -| 0.5 | A | PROJECT | [[Convert simple sexp queries to non-sexp][Convert simple sexp queries to non-sexp]] | -| 0.5 | A | PROJECT | [[Checking links for unsafe parameters][Checking links for unsafe parameters]] | -| 0.5 | A | TODO | [[Tag org-super-agenda 1.2 and bump required version in org-ql][Tag org-super-agenda 1.2 and bump required version in org-ql]] | -| 0.6 | B | PROJECT | [[Group tag support][Group tag support]] | -| 0.6 | B | PROJECT | [[Save view to dynamic block][Save view to dynamic block]] | +| M | P | Todo | Heading | +|--------+---+---------+--------------------------------------------------------------| +| 0.5 | A | PROJECT | [[Compatibility with Org 9.4 custom link changes][Compatibility with Org 9.4 custom link changes]] | +| 0.5 | A | PROJECT | [[Convert simple sexp queries to non-sexp][Convert simple sexp queries to non-sexp]] | +| 0.5 | A | PROJECT | [[Checking links for unsafe parameters][Checking links for unsafe parameters]] | +| 0.5 | A | TODO | [[Tag org-super-agenda 1.2 and bump required version in org-ql][Tag org-super-agenda 1.2 and bump required version in org-ql]] | +| 0.6 | B | PROJECT | [[Group tag support][Group tag support]] | +| 0.6 | B | PROJECT | [[Save view to dynamic block][Save view to dynamic block]] | +| future | C | MAYBE | [[Alternative parsing libraries][Alternative parsing libraries]] | #+END: * [#A] Tasks @@ -82,7 +80,6 @@ :TOC: :include descendants :depth 1 :END: :CONTENTS: -- [[#views-multiple-sorters-are-not-preserved][Views: Multiple sorters are not preserved]] - [[#add-auto-keyword-to-planning-predicate][Add :auto keyword to (planning) predicate]] - [[#change-deadlines-auto-argument-to-auto-andor-auto-t][Change (deadline)'s auto argument to :auto and/or :auto t]] - [[#outline-path-in-buffers-files-arg][Outline path in buffers-files arg]] @@ -113,6 +110,7 @@ - [[#update-view-screenshots][Update view screenshots]] - [[#test-caching][Test caching]] - [[#node-caching]["Node" caching]] +- [[#views-multiple-sorters-are-not-preserved][Views: Multiple sorters are not preserved]] - [[#make-dynamic-blocks-warn-about-sexp-queries][Make dynamic blocks warn about sexp queries]] - [[#add-emacs-271-to-testyml][Add Emacs 27.1 to test.yml]] - [[#fix-org-ql-view--link-open-on-org-93][Fix org-ql-view--link-open on Org 9.3+]] @@ -126,12 +124,6 @@ - [[#use-macros-for-date][Use macros for date]] :END: -** TODO [#A] Views: Multiple sorters are not preserved :bug: -:PROPERTIES: -:milestone: 0.5 -:url: https://github.com/alphapapa/org-ql/issues/136 -:END: - ** TODO [#B] Add ~:auto~ keyword to ~(planning)~ predicate It should act like ~(or (deadline auto) (scheduled :to today))~. @@ -1425,6 +1417,12 @@ This works okay (except the priority accessor needs to be fixed, because Org pri :action #'helm-org-goto-marker)))) #+END_SRC +** DONE [#A] Views: Multiple sorters are not preserved :bug: +:PROPERTIES: +:milestone: 0.5 +:url: https://github.com/alphapapa/org-ql/issues/136 +:END: + ** DONE [#A] Make dynamic blocks warn about sexp queries :PROPERTIES: :milestone: 0.5 From e2dbeb462098bc70cae116a1a5ba78e20575c870 Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Wed, 18 Nov 2020 04:31:15 -0600 Subject: [PATCH 302/615] Notes: Move to meta/notes branch --- .gitignore | 2 + NOTES | 1 + notes.org | 4252 ---------------------------------------------------- 3 files changed, 3 insertions(+), 4252 deletions(-) create mode 100644 NOTES delete mode 100644 notes.org diff --git a/.gitignore b/.gitignore index fa4f2fc..9355658 100644 --- a/.gitignore +++ b/.gitignore @@ -7,3 +7,5 @@ /scratch.org /scratch/ /worktrees/ +/worktree/ +/NOTES.org diff --git a/NOTES b/NOTES new file mode 100644 index 0000000..b869aeb --- /dev/null +++ b/NOTES @@ -0,0 +1 @@ +Note: Notes are kept in the file "NOTES.org" in the "meta/notes" branch. diff --git a/notes.org b/notes.org deleted file mode 100644 index 95dc303..0000000 --- a/notes.org +++ /dev/null @@ -1,4252 +0,0 @@ -#+PROPERTY: LOGGING nil -#+TODO: TODO MAYBE NEXT PROJECT UNDERWAY WAITING | DONE(d) CANCELED - -* [#A] Contents -:PROPERTIES: -:TOC: :include siblings :depth 1 :ignore this :force depth -:END: -:CONTENTS: -- [[#overview][Overview]] -- [[#tasks][Tasks]] -- [[#checklists][Checklists]] -- [[#examples--testing][Examples / testing]] -- [[#in-the-wild][In the wild]] -- [[#profiling][Profiling]] -- [[#references][References]] -- [[#testing][Testing]] -:END: - -* [#A] Overview - -** Bugs ([[org-ql-search:todo%253A%2520tags%253Abug?super-groups=%2528%2528%253Aauto-property%2520%2522Milestone%2522%2529%2529&sort=%2528todo%2529&title=%2522Bugs%2522][view]]) - -#+BEGIN: org-ql :query "todo: tags:bug" :columns ((priority "P") ((property "milestone") "M") (todo "Keyword") heading) :sort (priority todo date) :ts-format "%Y-%m-%d %H:%M" -| P | M | Keyword | Heading | -|---+-----+---------+------------------------------------------------| -| A | 0.5 | PROJECT | [[Compatibility with Org 9.4 custom link changes][Compatibility with Org 9.4 custom link changes]] | -#+END: - -** Underway ([[org-ql-search:todo%253AUNDERWAY?sort=%2528priority%2529&title=%2522Underway%2522][view]]) - -#+BEGIN: org-ql :query "todo:UNDERWAY" :columns (((property "milestone") "M") (priority "P") (todo "Keyword") heading) :sort (priority date) :ts-format "%Y-%m-%d %H:%M" -| M | P | Keyword | Heading | -|---+---+----------+--------------------------------------------------------------------| -| | B | UNDERWAY | [["Node" caching]["Node" caching]] | -| | | UNDERWAY | [[Benchmarking tags searches without and with new group-tags support][Benchmarking tags searches without and with new group-tags support]] | -#+END: - -** To-do ([[org-ql-search:todo:?super-groups=((:todo%20"NEXT")%20(:todo%20"PROJECT")%20(:auto-priority))&sort=(todo)][view]]) - -#+BEGIN: org-ql :query "todo: priority:A" :columns ((priority "P") ((property "milestone") "M") todo heading) :sort (priority date) :take 7 -| P | M | Todo | Heading | -|---+-----+---------+--------------------------------------------------------------| -| A | 0.5 | PROJECT | [[Compatibility with Org 9.4 custom link changes][Compatibility with Org 9.4 custom link changes]] | -| A | 0.5 | PROJECT | [[Convert simple sexp queries to non-sexp][Convert simple sexp queries to non-sexp]] | -| A | 0.5 | PROJECT | [[Checking links for unsafe parameters][Checking links for unsafe parameters]] | -| A | 0.5 | TODO | [[Tag org-super-agenda 1.2 and bump required version in org-ql][Tag org-super-agenda 1.2 and bump required version in org-ql]] | -| A | | PROJECT | [[Org%20link%20types%20%5B2/3%5D][Org link types {2/3}]] | -#+END: - -** Stuck projects ([[org-ql-search:%2528and%2520%2528todo%2520%2522PROJECT%2522%2529%2520%2528not%2520%2528descendants%2520%2528todo%2520%2522NEXT%2522%2529%2529%2529%2529?super-groups=%2528%2528%253Aauto-property%2520%2522milestone%2522%2529%2529&sort=%2528priority%2529&title=%2522Stuck%2520Projects%2522][view]]) - -#+BEGIN: org-ql :query (and (todo "PROJECT") (not (descendants (todo "NEXT")))) :columns (((property "milestone") "M") (priority "P") heading) :sort (priority date) :take 7 -| M | P | Heading | -|-----+---+-------------------------------------------------------| -| 0.5 | A | [[Compatibility with Org 9.4 custom link changes][Compatibility with Org 9.4 custom link changes]] | -| 0.5 | A | [[Convert simple sexp queries to non-sexp][Convert simple sexp queries to non-sexp]] | -| 0.5 | A | [[Checking links for unsafe parameters][Checking links for unsafe parameters]] | -| | A | [[Org%20link%20types%20%5B2/3%5D][Org link types {2/3}]] | -| | B | [[Move this notes file into an orphan =meta/notes= branch][Move this notes file into an orphan =meta/notes= branch]] | -| | B | [[Outline path predicate][Outline path predicate]] | -| 0.6 | B | [[Group tag support][Group tag support]] | -#+END: - -** Milestones ([[org-ql-search:todo%253A?super-groups=%2528%2528%253Aauto-property%2520%2522milestone%2522%2529%2529&sort=%2528todo%2529&title=%2522Milestones%2522][view]]) - -#+BEGIN: org-ql :query "todo: property:milestone" :columns (((property "milestone") "M") (priority "P") todo heading) :sort (priority date) :take 7 -| M | P | Todo | Heading | -|--------+---+---------+--------------------------------------------------------------| -| 0.5 | A | PROJECT | [[Compatibility with Org 9.4 custom link changes][Compatibility with Org 9.4 custom link changes]] | -| 0.5 | A | PROJECT | [[Convert simple sexp queries to non-sexp][Convert simple sexp queries to non-sexp]] | -| 0.5 | A | PROJECT | [[Checking links for unsafe parameters][Checking links for unsafe parameters]] | -| 0.5 | A | TODO | [[Tag org-super-agenda 1.2 and bump required version in org-ql][Tag org-super-agenda 1.2 and bump required version in org-ql]] | -| 0.6 | B | PROJECT | [[Group tag support][Group tag support]] | -| 0.6 | B | PROJECT | [[Save view to dynamic block][Save view to dynamic block]] | -| future | C | MAYBE | [[Alternative parsing libraries][Alternative parsing libraries]] | -#+END: - -* [#A] Tasks -:PROPERTIES: -:TOC: :include descendants :depth 1 -:END: -:CONTENTS: -- [[#add-auto-keyword-to-planning-predicate][Add :auto keyword to (planning) predicate]] -- [[#change-deadlines-auto-argument-to-auto-andor-auto-t][Change (deadline)'s auto argument to :auto and/or :auto t]] -- [[#outline-path-in-buffers-files-arg][Outline path in buffers-files arg]] -- [[#add-more-sorters][Add more sorters?]] -- [[#default-sort][Default sort]] -- [[#partial-match-for-property-queries][Partial match for property queries]] -- [[#org-agenda-skip-function][org-agenda-skip-function]] -- [[#update-commentary][Update commentary]] -- [[#org-ql-block-let-org-agenda-format-its-output][org-ql-block: Let org-agenda format its output]] -- [[#omnifocus-like-screencasts][OmniFocus-like screencasts]] -- [[#overlay-based-caching-inspired-by-org-num-mode][Overlay-based caching inspired by org-num-mode]] -- [[#alternative-parsing-libraries][Alternative parsing libraries]] -- [[#fancier-searching-for-inherited-tags][Fancier searching for inherited tags]] -- [[#compatibility-with-org-94-custom-link-changes][Compatibility with Org 9.4 custom link changes]] -- [[#convert-simple-sexp-queries-to-non-sexp][Convert simple sexp queries to non-sexp]] -- [[#checking-links-for-unsafe-parameters][Checking links for unsafe parameters]] -- [[#move-this-notes-file-into-an-orphan-metanotes-branch][Move this notes file into an orphan meta/notes branch]] -- [[#outline-path-predicate][Outline path predicate]] -- [[#tools-for-saving-queries-and-accessing-them-34][Tools for saving queries and accessing them {3/4}]] -- [[#group-tag-support][Group tag support]] -- [[#document-the-sorting-functions][Document the sorting functions]] -- [[#recursive-queries][Recursive queries]] -- [[#timeline-view][Timeline view]] -- [[#implement-view-with-tabulated-list-mode-or-magit-section][Implement view with tabulated-list-mode or magit-section]] -- [[#dynamic-blocks][Dynamic blocks]] -- [[#new-transient-transient-lisp-variable-class][New Transient transient-lisp-variable class]] -- [[#normalize-queries][Normalize queries]] -- [[#update-view-screenshots][Update view screenshots]] -- [[#test-caching][Test caching]] -- [[#node-caching]["Node" caching]] -- [[#views-multiple-sorters-are-not-preserved][Views: Multiple sorters are not preserved]] -- [[#make-dynamic-blocks-warn-about-sexp-queries][Make dynamic blocks warn about sexp queries]] -- [[#add-emacs-271-to-testyml][Add Emacs 27.1 to test.yml]] -- [[#fix-org-ql-view--link-open-on-org-93][Fix org-ql-view--link-open on Org 9.3+]] -- [[#fix-query-sexp-to-string-functions-handling-of-eg-descendants][Fix query-sexp-to-string function's handling of, e.g. descendants]] -- [[#helm-command][Helm command]] -- [[#quickly-change-sortinggrouping-in-search-views][Quickly change sorting/grouping in search views]] -- [[#byte-compile-lambdas][Byte-compile lambdas]] -- [[#documentfigure-out-tag-inheritance][Document/figure out tag inheritance]] -- [[#dual-matching-with-regexp-and-predicates][Dual matching with regexp and predicates]] -- [[#operate-on-list-of-heading-positions][Operate on list of heading positions]] -- [[#use-macros-for-date][Use macros for date]] -:END: - -** TODO [#B] Add ~:auto~ keyword to ~(planning)~ predicate - -It should act like ~(or (deadline auto) (scheduled :to today))~. - -** TODO [#B] Change ~(deadline)~'s ~auto~ argument to ~:auto~ and/or ~:auto t~ - -For consistency, because plain ~auto~ looks like a variable, and even though it's in a quoted form, it could be confusing. - - -** TODO [#B] Outline path in buffers-files arg -:PROPERTIES: -:ID: 6935361a-9e1d-48ec-8d17-876a90b90f50 -:END: - -e.g. - -#+BEGIN_SRC elisp - (org-ql (olp "~/org/inbox.org" "Emacs" "Ideas") - (todo "NEXT")) -#+END_SRC - -Also, should support an ~id~ one. - -** TODO [#B] Add more sorters? - -+ [ ] =category= -+ [ ] Any date :: e.g. it would search for timestamps (active/inactive?) anywhere in an entry - -** TODO [#B] Default sort - -Would probably be useful to have a default sort option. - -** TODO [#B] Partial match for property queries - -e.g. something like [[https://200ok.ch/posts/2020-02-09_creating_org_mode_sparse_trees_in_emacs_and_organice.html][Organice has now]]. - -[2020-02-13 Thu 00:42] Something is needed to help search property values by partial matches. For example: - -#+BEGIN_SRC org - ,* [[https://github.com/fniessen/org-html-themes][org-html-themes: Framework including two themes, Bigblow and ReadTheOrg]] - :PROPERTIES: - :author: Fabrice Niessen - :END: - -#+END_SRC - -Searching that with a query like =property:author=Fabrice= returns nothing; the full value must be used, like ~property:author="Fabrice Niessen"~. It should be possible to do something like ~property:author=~Fabrice~ to search for partial matches. - -** TODO [#C] ~org-agenda-skip-function~ - -As discussed [[https://www.reddit.com/r/emacs/comments/cnrt2d/orgqlblock_integrates_orgql_into_org_agenda/ewi1q36/][here]], this is a cool feature that allows further integration into existing custom agenda commands. Example: - -#+BEGIN_SRC elisp - ;;; lima-0ac22.el --- -*- lexical-binding: t; -*- - - (defun org-ql-skip-function (query) - "Return a function for `org-agenda-skip-function' for QUERY. - Compared to using QUERY in `org-ql', this effectively turns QUERY - into (not QUERY)." - (let* ((predicate (org-ql--query-predicate '(regexp "ryo-modal")))) - (lambda () - ;; This duplicates the functionality of `org-ql--select'. - (let (orig-fns) - (--each org-ql-predicates - ;; Save original function mappings. - (let ((name (plist-get it :name))) - (push (list :name name :fn (symbol-function name)) orig-fns))) - (unwind-protect - (progn - (--each org-ql-predicates - ;; Set predicate functions. - (fset (plist-get it :name) (plist-get it :fn))) - ;; Run query. - ;; FIXME: "If this function returns nil, the current match should not be skipped. - ;; Otherwise, the function must return a position from where the search - ;; should be continued." - (funcall predicate)) - (--each orig-fns - ;; Restore original function mappings. - (fset (plist-get it :name) (plist-get it :fn)))))))) - - (let ((org-agenda-custom-commands - '(("z" "Z" - ((tags-todo "PRIORITY=\"A\"+Emacs/!SOMEDAY")) - ((org-agenda-skip-function (org-ql-skip-function '(regexp "ryo-modal"))))) - ((org-agenda-files ("~/org/inbox.org")))))) - (org-agenda nil "z")) -#+END_SRC - -I should benchmark it to see how much difference it makes, because all those ~fset~ calls on each heading isn't free. But if a macro were used to rewrite the built-in predicates to their full versions, all of that could be avoided... - -** TODO [#C] Update commentary - -** MAYBE org-ql-block: Let org-agenda format its output - -[2020-11-16 Mon 22:12] As suggested by Kevin J. Foley. See [[https://github.com/alphapapa/org-ql/pull/113#issuecomment-728674220][#113]]. It might actually be simple to do and might work very well. - -** MAYBE OmniFocus-like screencasts - -[2020-11-18 Wed 03:03] Looking at OmniFocus's web site now, their short videos showing features demonstrate a lot of features that exist in org-ql already. After implementing section-based views, it would be cool to make some short demos showing similar features. - -** MAYBE [#C] Overlay-based caching inspired by org-num-mode - -[2019-12-30 Mon 22:42] Newer versions of Org have =org-num-mode=, which uses =font-lock= and =after-change-functions= to update overlays in the buffer with outline numbering. Maybe a similar approach could be used to cache arbitrary values for headings in a buffer without having to discard the whole buffer's cache when the buffer changes. - -[2020-11-09 Mon 01:51] I feel like that's probably unlikely to work well. I imagine it would require storing the query at every heading, which would be very wasteful. As well, adding more overlays to an Org buffer is probably not a good idea, because there are already enough of those. - -However, there might still be a useful idea here somewhere... - -** MAYBE [#C] Alternative parsing libraries -:PROPERTIES: -:milestone: future -:END: - -+ e.g. Bovine and Wisent come with Emacs, which would allow us to drop the =peg= dependency (which doesn't use lexical binding). -+ [[https://github.com/cute-jumper/parsec.el][parsec]] is third-party, but looks powerful - -** MAYBE [#C] Fancier searching for inherited tags - -When tag inheritance is enabled, and the given tags aren't file-level tags, we could search directly to headings containing the matching tags, and then only do per-heading matching on the subtrees. Sometimes that would be much faster. However, that might make the logic special-cased and complicated. Might need a redesign of the whole matching/predicate system to do cleanly. - -** PROJECT [#A] Compatibility with Org 9.4 custom link changes :bug: -:PROPERTIES: -:milestone: 0.5 -:END: - -[2020-11-13 Fri 22:36] From [[https://www.orgmode.org/Changes.html][the changelog]]: - -#+BEGIN_QUOTE -Calling conventions changes when opening or exporting custom links - -This changes affects export back-ends, and libraries providing new link types. - -Function used in :follow link parameter is required to accept a second argument. Likewise, function used in :export parameter needs to accept a fourth argument. See org-link-set-parameters for details. - -Eventually, the function org-export-custom-protocol-maybe is now called with a fourth argument. Even though the 3-arguments definition is still supported, at least for now, we encourage back-end developers to switch to the new signature. -#+END_QUOTE - -Unfortunately it does not say what the new, required second argument is. - - -** PROJECT [#A] Convert simple sexp queries to non-sexp -:PROPERTIES: -:milestone: 0.5 -:END: - -[2020-11-11 Wed 00:28] This will be very helpful for storing links. Surely simple ones won't be too hard... - -#+BEGIN_SRC elisp - (defun org-ql--query-sexp-to-plain (query) - "Return a plain query string for sexp QUERY. - If QUERY can't be converted to a plain one, return nil." - ;; This started out pretty simple...but at least it's not just one long function, right? - (cl-labels ((complex-p (query) - (or (contains-p 'or query))) - (contains-p (symbol list) - (cl-loop for element in list - thereis (or (eq symbol element) - (and (listp element) - (contains-p symbol element))))) - (format-args - (args) (let (non-paired paired next-keyword) - (cl-loop for arg in args - do (cond (next-keyword (push (cons next-keyword arg) paired) - (setf next-keyword nil)) - ((keywordp arg) (setf next-keyword (substring (symbol-name arg) 1))) - (t (push arg non-paired)))) - (string-join (append (mapcar #'format-atom non-paired) - (nreverse (--map (format "%s=%s" (car it) (cdr it)) - paired))) - ","))) - (format-atom - (atom) (cl-typecase atom - (string (if (string-match (rx space) atom) - (format "%S" atom) - (format "%s" atom))) - (t (format "%s" atom)))) - (format-form - (form) (pcase form - (`(not . (,rest)) (concat "!" (format-form rest))) - (`(priority . ,_) (format-priority form)) - ;; FIXME: Convert (src) queries to non-sexp form...someday... - (`(src . ,_) (user-error "Converting (src ...) queries to non-sexp form is not implemented")) - (_ (pcase-let* ((`(,pred . ,args) form) - (args-string (pcase args - ('() "") - ((guard (= 1 (length args))) (format "%s" (car args))) - (_ (format-args args))))) - (format "%s:%s" pred args-string))))) - (format-and - (form) (pcase-let* ((`(and . ,rest) form)) - (string-join (mapcar #'format-form rest) " "))) - (format-priority - (form) (pcase-let* ((`(priority . ,rest) form) - (args (pcase rest - (`(,(and comparator (or < <= > >= =)) ,letter) - (priority-letters comparator letter)) - (_ rest)))) - (concat "priority:" (string-join args ",")))) - (priority-letters - (comparator letter) (let* ((char (string-to-char (upcase (symbol-name letter)))) - (numeric-priorities '(?A ?B ?C)) - ;; NOTE: The comparator inversion is intentional. - (others (pcase comparator - ('< (--select (> it char) numeric-priorities)) - ('<= (--select (>= it char) numeric-priorities)) - ('> (--select (< it char) numeric-priorities)) - ('>= (--select (<= it char) numeric-priorities)) - ('= (--select (= it char) numeric-priorities))))) - (mapcar #'char-to-string others)))) - (unless (complex-p query) - (pcase query - (`(and . ,_) (format-and query)) - (_ (format-form query)))))) - - (--map (cons it (org-ql--query-sexp-to-plain it)) - '((priority >= B) - (priority > B) - (priority < B) - (priority < A) - (priority = A) - (todo) - (todo "TODO") - (todo "TODO" "NEXT") - (ts :from -1 :to 1) - (ts :on today) - (ts-active :from "2017-01-01" :to "2018-01-01") - (heading "quoted phrase" "word") - (and (tags "book" "books") (priority "A")) - (and (tags "space") (not (regexp "moon"))) - (src :lang "elisp" :regexps ("defun"))) - - - ) -#+END_SRC - -[2020-11-11 Wed 01:45] Seems to work well. Now to integrate that into link-saving... - -[2020-11-11 Wed 02:41] Seems to work. Will [[https://github.com/alphapapa/org-ql/issues/147#issuecomment-725287074][wait for feedback]] before merging. - -[2020-11-11 Wed 19:13] Seems to be working properly. One more thing to do though, I think: - -*** TODO [#B] Use string queries in view headers when possible - -Maybe make it an option to automatically convert them when possible, because if a user wanted to add complexity to a string query, he'd have to rewrite it as a sexp. - -** PROJECT [#A] Checking links for unsafe parameters -:PROPERTIES: -:ID: ba70e375-eddb-40df-8892-fb418c1f70d1 -:milestone: 0.5 -:END: -:LOGBOOK: -- State "PROJECT" from "UNDERWAY" [2020-11-12 Thu 00:26] -- State "UNDERWAY" from [2020-11-11 Wed 23:09] -:END: - -Theoretically one could put a sexp-based query into a link that would run arbitrary code to do something evil. Like: - -[[org-ql-search:(message "AHA")]] - -That's very unlikely to be abused, but it would be good to protect against it. Two possibilities: - -1. For sexp-based queries in links and dynamic blocks, prompt for confirmation before running. -2. Use a special variable to control whether lambdas and arbitrary sexps are allowed in queries, and disable it for links and dynamic blocks. (That might be difficult to do, since they could be buried in an ~and~ or something. A whitelist approach might be needed.) - -*** TODO [#A] Tag org-super-agenda 1.2 and bump required version in org-ql -:PROPERTIES: -:milestone: 0.5 -:END: - -That /should/ force the version of org-super-agenda with the fix to be installed when org-ql is upgraded. - -*** DONE Add automated tests -:LOGBOOK: -- State "UNDERWAY" from "TODO" [2020-11-12 Thu 00:24] -- State "TODO" from "MAYBE" [2020-11-11 Wed 23:16] -- State "MAYBE" from [2020-11-11 Wed 23:15] -:END: - -Maybe impractical, but maybe we could at least test that potentially unsafe ones signal errors. - -[2020-11-12 Thu 00:24] Works better than I expected. All the tests seem to correctly pass, signaling the correct errors for the correct reasons--except for the tests specific to org-super-agenda. For that, I'm currently waiting for MELPA to build the version of org-super-agenda that has the fix applied, so I can install that into the test sandbox, and then those two tests should pass also. - -*** DONE Enumerate and test parameters and potentially unsafe types -CLOSED: [2020-11-11 Wed 23:26] -:LOGBOOK: -- State "DONE" from "UNDERWAY" [2020-11-11 Wed 23:26] -- State "UNDERWAY" from [2020-11-11 Wed 23:15] -:END: - -#+CAPTION: Template for making testable links -#+BEGIN_SRC org -[[org-ql-search:todo:?]] -#+END_SRC - -#+CAPTION: Expression to insert encoded values into template (after the =?=) -#+BEGIN_SRC elisp - (insert (url-hexify-string (concat "buffers-files=" (prin1-to-string '((lambda () (message "AHA"))))))) -#+END_SRC - -+ [X] Buffers-Files: Expanded by =org-ql-view--expand-buffers-files=: - - [X] Quoted lambda: (safe) [[org-ql-search:todo:?buffers-files%3D%28lambda%20nil%20%28message%20%22AHA%22%29%29]] - - [X] Unquoted lambda: (safe) [[org-ql-search:todo:?buffers-files%3D%28lambda%20nil%20%28message%20%22AHA%22%29%29]] - - [X] Quoted lambda in list (safe): [[org-ql-search:todo:?buffers-files%3D%28%28quote%20%28lambda%20nil%20%28message%20%22AHA%22%29%29%29%29]] - - [X] Unquoted lambda in list: (safe) [[org-ql-search:todo:?buffers-files%3D%28%28lambda%20nil%20%28message%20%22AHA%22%29%29%29]] -+ [X] Groups - - [X] Quoted lambda (safe): [[org-ql-search:todo:?super-groups%3D%28lambda%20nil%20%28message%20%22AHA%22%29%29]] - - [X] Unquoted lambda (safe): [[org-ql-search:todo:?super-groups%3D%28lambda%20nil%20%28message%20%22AHA%22%29%29]] - - [X] Quoted expression (safe): [[org-ql-search:todo:?super-groups%3D%28message%20%22AHA%22%29]] - - [X] Unquoted expression (safe): [[org-ql-search:todo:?super-groups%3D%22AHA%22]] - - [X] ~:pred~ selector (UNSAFE, but caught with new org-super-agenda variable): [[org-ql-search:todo:?super-groups%3D%28%28%3Apred%20%28lambda%20%28_%29%20%28message%20%22AHA%22%29%29%29%29]] - - [X] =:auto-map= selector (UNSAFE, but caught with new org-super-agenda variable): [[org-ql-search:todo:?super-groups%3D%28%28%3Aauto-map%20%28lambda%20%28_%29%20%28message%20%22AHA%22%29%29%29%29]] -+ [X] Title - - [X] Quoted lambda (produces the same encoded value as unquoted lambda): (safe) [[org-ql-search:todo:?title%3D%28lambda%20%28_%20_%29%20%28message%20%22AHA%22%29%29]] - - [X] Unquoted lambda: (safe) [[org-ql-search:todo:?title%3D%28lambda%20%28_%20_%29%20%28message%20%22AHA%22%29%29]] - - [X] Expression: (safe) [[org-ql-search:todo:?title%3D%28message%20%22AHA%22%29]] -+ [X] Sort - - [X] Bare, quoted lambda: (maybe unsafe, but caught now): [[org-ql-search:todo:?sort%3D%28lambda%20%28_%20_%29%20%28message%20%22AHA%22%29%29]] - - [X] Bare, unquoted lambda: (UNSAFE, but caught now): [[org-ql-search:todo:?sort%3D%28lambda%20%28_%20_%29%20%28message%20%22AHA%22%29%29]] - - [X] Quoted lambda in list: (maybe unsafe, but caught now): [[org-ql-search:todo:?sort%3D%28%28quote%20%28lambda%20%28_%20_%29%20%28message%20%22AHA%22%29%29%29%29]] - - [X] Unquoted lambda in a list: (UNSAFE, but caught now): [[org-ql-search:todo:?sort=((lambda%20nil%20(message%20"AHA")))]] - -For the query expression: - -1. String queries are parsed by the PEG parsing function (which I will probably rename soon), which should only allow known Org QL predicates, not arbitrary functions. For example: - - #+BEGIN_SRC elisp - (org-ql--plain-query "message:AHA") ;;=> (regexp "message:AHA") - (org-ql--plain-query '(message "AHA")) ;;=> (wrong-type-argument stringp (message "AHA")) - (org-ql--plain-query "(message \"AHA\"") ;;=> (and (regexp "(message") (regexp "AHA")) - #+END_SRC - -2. Sexp queries already prompt for confirmation, unless the user has set =org-ql-view-ask-unsafe-links= to nil. - -[2020-11-11 Wed 23:27] That's all the parameters and all the types that I can think to test. - - -** PROJECT [#B] Move this notes file into an orphan =meta/notes= branch - -[2020-11-12 Thu 03:17] Will probably have to merge or delete some WIP branches first, otherwise they'll probably get conflicts. - -** PROJECT [#B] Outline path predicate - -[2019-10-07 Mon 11:15] There are two potential types of matching on outline paths: matching on any part of the outline path, and matching a specific path. For example, with this file: - -#+BEGIN_SRC org - ,* Food - - ,** Fruits - - ,*** Blueberries - - ,*** Grapes - - ,** Vegetables - - ,*** Carrots - - ,*** Potatoes -#+END_SRC - -Matching could work like this: - -+ ~(outline "Food")~ :: Would return all nodes. -+ ~(outline "Fruits")~ :: Would return all fruits. - -Matching at a specific path would be something like: - -+ ~(outline-path "Food" "Fruits")~ :: Would return all fruits. But if there were another =Fruits= heading somewhere in the file, under a different outline path, it would not return its nodes. - -I'm not sure the second type of matching belongs in predicates, but rather in [[id:6935361a-9e1d-48ec-8d17-876a90b90f50][this]]. - -To implement this with good performance probably needs an outline-path cache. I can probably repurpose the tags caching, but maybe it should be generalized. - -[2019-10-07 Mon 13:09] This is basically done with =be2bf6df316b96b3ed56851b8ffe0e227796b621= and =be2bf6df316b96b3ed56851b8ffe0e227796b621=, but not the specific-path matching. I left a =MAYBE= in the code about "anchored" path matching, which would accomplish that. - -** PROJECT Tools for saving queries and accessing them [3/4] - -+ Added example to =examples.org=. - -*** PROJECT [#A] Org link types [2/3] -:PROPERTIES: -:ID: 4db73c1c-a4ed-425e-9e38-8d334ed03e1e -:END: - -This would be useful for having a menu of saved queries as Org links, or even bookmarking saved queries. - -**** TODO For saved queries - -**** DONE For searches - -[2020-11-08 Sun 22:59] Let's try a very simple implementation so I could write a link like this to search the current buffer: - -#+BEGIN_SRC org - [[org-ql-search:property:author="AUTHOR"]] -#+END_SRC - -[2020-11-08 Sun 23:22] Seems to work! - -#+BEGIN_SRC elisp :results silent - ;;;; Org link type - - ;; This section adds a custom link type to Org. See info:org#Adding hyperlink types. - - (org-link-set-parameters "org-ql-search" - :follow #'org-ql-search--link-open - :store #'org-ql-search--link-store) - - (defun org-ql-search--link-open (query) - "Open Org QL QUERY for current buffer." - (org-ql-search (current-buffer) query)) - - (defun org-ql-search--link-store () - "Store a link to current Org QL query." - ;; TODO: When we have an org-ql-view-mode, test it here instead of org-ql-view-query. - (when org-ql-view-query - (org-store-link-props :type "org-ql-search" - :link (concat "org-ql-search:" (org-ql-view--format-query org-ql-view-query)) - :description org-ql-view-title) - t)) -#+END_SRC - -Tested on these queries: - -#+BEGIN_SRC org - + [[org-ql-search:(property%20:author%20"Chris%20Wellons")][org-ql-search:(property :author "Chris Wellons")]] - + [[org-ql-search:(link%20"nullprogram")][org-ql-search:(link "nullprogram")]] - + [[org-ql-search:link:nullprogram]] -#+END_SRC - -[2020-11-10 Tue 00:35] I'd like to support other parameters to the search, like grouping and sorting, so: - -#+BEGIN_SRC elisp :results silent - ;;;; Org link type - - ;; This section adds a custom link type to Org. See info:org#Adding hyperlink types. - - (org-link-set-parameters "org-ql-search" - :follow #'org-ql-search--link-open - :store #'org-ql-search--link-store) - - (defun org-ql-search--link-open (query) - "Open Org QL QUERY for current buffer." - (require 'url-parse) - (pcase-let* ((`(,query . ,params) - (url-path-and-query (url-parse-make-urlobj "org-ql-search" nil nil nil nil - query))) - (params (url-parse-query-string params)) - ;; Hacky or elegant? - (_ (mapc (lambda (pair) - (cl-callf (lambda (it) - (intern (concat ":" it))) - (car pair)) - (cl-callf read (cdr pair))) - params)) - (params (cl-loop for (key . value) in params - append (list key value)))) - (apply #'org-ql-search (current-buffer) query params))) - - (defun org-ql-search--link-store () - "Store a link to current Org QL query." - (when org-ql-view-query - (org-store-link-props :type "org-ql-search" - :link (concat "org-ql-search:" (org-ql-view--format-query org-ql-view-query)) - :description org-ql-view-title) - t)) -#+END_SRC - -That seems to work, like: - -#+BEGIN_SRC org - [[org-ql-search:property:author="Chris%20Wellons"?super-groups=((:auto-outline-path%20t))]] -#+END_SRC - -[2020-11-10 Tue 01:34] Okay, this seems to take care of all parameters: - -#+BEGIN_SRC elisp - (defun org-ql-search--link-open (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-search--link-store'." - (require 'url-parse) - (require 'url-util) - (pcase-let* ((`(,query . ,params) (url-path-and-query - (url-parse-make-urlobj "org-ql-search" nil nil nil nil - path))) - (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 (alist-get "sort" params nil nil #'string=) - (read (alist-get "sort" params nil nil #'string=)))) - (groups (when (alist-get "super-groups" params nil nil #'string=) - (read (alist-get "super-groups" params nil nil #'string=)))) - (title (when (alist-get "title" params nil nil #'string=) - (read (alist-get "title" params nil nil #'string=))))) - (org-ql-search (current-buffer) query - :sort sort - :super-groups groups - :title title))) - - (defun org-ql-search--link-store () - "Store a link to the current Org QL view. - Only views that search a single buffer may be linked to." - (require 'url-parse) - (require 'url-util) - (unless (or (bufferp org-ql-view-buffers-files) (= 1 (length org-ql-view-buffers-files))) - (user-error "Only views searching a single buffer may be linked")) - (when org-ql-view-query - (let* ((params (list (when org-ql-view-super-groups - (list "super-groups" (prin1-to-string org-ql-view-super-groups))) - (when org-ql-view-sort - (list "sort" (prin1-to-string org-ql-view-sort))) - (when org-ql-view-title - (list "title" (prin1-to-string org-ql-view-title))))) - (filename (concat (url-hexify-string (org-ql-view--format-query org-ql-view-query)) - "?" (url-build-query-string (delete nil params)))) - (url (url-recreate-url (url-parse-make-urlobj "org-ql-search" nil nil nil nil - filename)))) - (org-store-link-props - :type "org-ql-search" - :link url - :description (concat "org-ql-search: " org-ql-view-title))) - t)) -#+END_SRC - -**** DONE For all parameters - -*** DONE Bookmarks - -[2020-11-08 Sun 23:25] Already done in =e5b4cd106558790563af26a8e32ec9508f904855=. - -*** DONE Access saved query from saved query list - -*** DONE Save query from ql-agenda buffer - -** PROJECT [#B] Group tag support -:PROPERTIES: -:milestone: 0.6 -:END: - -*** UNDERWAY Benchmarking tags searches without and with new group-tags support - -#+BEGIN_SRC elisp - (bench-multi-lexical :times 10 :ensure-equal t - :forms (("without group-tags support" - (org-ql-select (org-ql-search-directories-files) - '(tags "Emacs") - :action #'point)) - )) -#+END_SRC - -#+RESULTS: -| Form | x faster than next | Total runtime | # of GCs | Total GC runtime | -|----------------------------+--------------------+---------------+----------+------------------| -| without group-tags support | slowest | 5.512271 | 0 | 0 | - -#+BEGIN_SRC elisp - (bench-multi-lexical :times 10 :ensure-equal t - :forms (("with group-tags support" - (org-ql-select (org-ql-search-directories-files) - '(tags "Emacs") - :action #'point)) - )) -#+END_SRC - -#+RESULTS: -| Form | x faster than next | Total runtime | # of GCs | Total GC runtime | -|-------------------------+--------------------+---------------+----------+------------------| -| with group-tags support | slowest | 5.154639 | 0 | 0 | - -[2020-11-09 Mon 17:43] I think I need to enhance the benchmarking macros to make this easier. But that might require copying much of =benchmark-run-compiled=, so let me try something else: This is messy, but it ought to be fair enough (the only difference being the minor change in =org-ql--tags-at=. - -#+BEGIN_SRC elisp - (bench-multi-lexical :times 10 :ensure-equal t - :forms (("without group-tags support" - (progn - (setf org-ql-cache (make-hash-table :weakness 'key) - org-ql-tags-cache (make-hash-table :weakness 'key) - org-ql-node-value-cache (make-hash-table :weakness 'key)) - (defun org-ql--expand-tag-hierarchy (tags &optional excluded) - "Return TAGS along with their associated group tags. - This function recursively searches for groups that each given tag belongs to, - directly or indirectly, and includes the corresponding group tags to the result. - - TAGS should be a list of tags (i.e., strings). - If non-nil, EXCLUDED should be a list of group tags that will not be - automatically added to the results unless they are already in TAGS." - (let ((groups (org-tag-alist-to-groups org-current-tag-alist)) - (excluded (append tags excluded))) - (let (group-tags) - (dolist (tag tags) - (pcase-dolist (`(,group-tag . ,group-members) groups) - (when (and (not (member group-tag excluded)) - ;; Check if one of the members in the group matches tag. - ;; Notice that each member may be a plain string or - ;; a regexp pattern (enclosed between curly brackets). - (--some (if (string-match-p "^[{].+[}]$" it) - ;; If pattern (it) is a regexp, remove the brackets and - ;; make sure that it either matches the whole tag or not. - (string-match-p (concat "^" (substring it 1 -1) "$") tag) - ;; Check if member (it) is identical to tag. - (string= it tag)) - group-members)) - (push group-tag group-tags)))) - ;; If group tags not already included have been found, - ;; then recursively expand them as well. - ;; Notice that by passing (group-tags excluded) to the next call - ;; instead of ((append tags group-tags)) ensures that we do not - ;; unnecessarily loop over the elements of TAGS more than once. - (if group-tags - (append tags (org-ql--expand-tag-hierarchy group-tags excluded)) - tags)))) - (defun org-ql--tags-at (position) - "Return tags for POSITION in current buffer. - Returns cons (INHERITED-TAGS . LOCAL-TAGS)." - ;; I'd like to use `-if-let*', but it doesn't leave non-nil variables - ;; bound in the else clause, so destructured variables that are non-nil, - ;; like found caches, are not available in the else clause. - (if-let* ((buffer-cache (gethash (current-buffer) org-ql-tags-cache)) - (modified-tick (car buffer-cache)) - (tags-cache (cdr buffer-cache)) - (buffer-unmodified-p (eq (buffer-modified-tick) modified-tick)) - (cached-result (gethash position tags-cache))) - ;; Found in cache: return them. - (pcase cached-result - ('org-ql-nil nil) - (_ cached-result)) - ;; Not found in cache: get tags and cache them. - (let* ((local-tags (or (when (looking-at org-ql-tag-line-re) - (split-string (match-string-no-properties 2) ":" t)) - 'org-ql-nil)) - (inherited-tags (or (when org-use-tag-inheritance - (save-excursion - (if (org-up-heading-safe) - ;; Return parent heading's tags. - (-let* (((inherited local) (org-ql--tags-at (point))) - (tags (when (or inherited local) - (cond ((and (listp inherited) - (listp local)) - (->> (append inherited local) - -non-nil -uniq)) - ((listp inherited) inherited) - ((listp local) local))))) - (cl-typecase org-use-tag-inheritance - (list (setf tags (-intersection tags org-use-tag-inheritance))) - (string (setf tags (--select (string-match org-use-tag-inheritance it) - tags)))) - (pcase org-tags-exclude-from-inheritance - ('nil tags) - (_ (-difference tags org-tags-exclude-from-inheritance)))) - ;; Top-level heading: use file tags. - org-file-tags))) - 'org-ql-nil)) - (all-tags (list inherited-tags local-tags))) - ;; Check caches again, because they may have been set now. - ;; TODO: Is there a clever way we could avoid doing this, or is it inherently necessary? - (setf buffer-cache (gethash (current-buffer) org-ql-tags-cache) - modified-tick (car buffer-cache) - tags-cache (cdr buffer-cache) - buffer-unmodified-p (eq (buffer-modified-tick) modified-tick)) - (unless (and buffer-cache buffer-unmodified-p) - ;; Buffer-local tags cache empty or invalid: make new one. - (setf tags-cache (make-hash-table)) - (puthash (current-buffer) - (cons (buffer-modified-tick) tags-cache) - org-ql-tags-cache)) - (puthash position all-tags tags-cache)))) - (org-ql-select (org-ql-search-directories-files) - '(tags "Emacs") - :action #'point))) - ("with group-tags support" - (progn - (setf org-ql-cache (make-hash-table :weakness 'key) - org-ql-tags-cache (make-hash-table :weakness 'key) - org-ql-node-value-cache (make-hash-table :weakness 'key)) - (defun org-ql--expand-tag-hierarchy (tags &optional excluded) - "Return TAGS along with their associated group tags. - This function recursively searches for groups that each given tag belongs to, - directly or indirectly, and includes the corresponding group tags to the result. - - TAGS should be a list of tags (i.e., strings). - If non-nil, EXCLUDED should be a list of group tags that will not be - automatically added to the results unless they are already in TAGS." - (let ((groups (org-tag-alist-to-groups org-current-tag-alist)) - (excluded (append tags excluded))) - (let (group-tags) - (dolist (tag tags) - (pcase-dolist (`(,group-tag . ,group-members) groups) - (when (and (not (member group-tag excluded)) - ;; Check if one of the members in the group matches tag. - ;; Notice that each member may be a plain string or - ;; a regexp pattern (enclosed between curly brackets). - (--some (if (string-match-p "^[{].+[}]$" it) - ;; If pattern (it) is a regexp, remove the brackets and - ;; make sure that it either matches the whole tag or not. - (string-match-p (concat "^" (substring it 1 -1) "$") tag) - ;; Check if member (it) is identical to tag. - (string= it tag)) - group-members)) - (push group-tag group-tags)))) - ;; If group tags not already included have been found, - ;; then recursively expand them as well. - ;; Notice that by passing (group-tags excluded) to the next call - ;; instead of ((append tags group-tags)) ensures that we do not - ;; unnecessarily loop over the elements of TAGS more than once. - (if group-tags - (append tags (org-ql--expand-tag-hierarchy group-tags excluded)) - tags)))) - (defun org-ql--tags-at (position) - "Return tags for POSITION in current buffer. - Returns cons (INHERITED-TAGS . LOCAL-TAGS)." - ;; I'd like to use `-if-let*', but it doesn't leave non-nil variables - ;; bound in the else clause, so destructured variables that are non-nil, - ;; like found caches, are not available in the else clause. - (if-let* ((buffer-cache (gethash (current-buffer) org-ql-tags-cache)) - (modified-tick (car buffer-cache)) - (tags-cache (cdr buffer-cache)) - (buffer-unmodified-p (eq (buffer-modified-tick) modified-tick)) - (cached-result (gethash position tags-cache))) - ;; Found in cache: return them. - (pcase cached-result - ('org-ql-nil nil) - (_ cached-result)) - ;; Not found in cache: get tags and cache them. - (let* ((local-tags (or (when (looking-at org-ql-tag-line-re) - (split-string (match-string-no-properties 2) ":" t)) - 'org-ql-nil)) - (inherited-tags (or (when org-use-tag-inheritance - (save-excursion - (if (org-up-heading-safe) - ;; Return parent heading's tags. - (-let* (((inherited local) (org-ql--tags-at (point))) - (tags (when (or inherited local) - (cond ((and (listp inherited) - (listp local)) - (->> (append inherited local) - -non-nil -uniq)) - ((listp inherited) inherited) - ((listp local) local))))) - (cl-typecase org-use-tag-inheritance - (list (setf tags (-intersection tags org-use-tag-inheritance))) - (string (setf tags (--select (string-match org-use-tag-inheritance it) - tags)))) - (pcase org-tags-exclude-from-inheritance - ('nil tags) - (_ (-difference tags org-tags-exclude-from-inheritance)))) - ;; Top-level heading: use file tags. - org-file-tags))) - 'org-ql-nil)) - all-tags) - (when org-group-tags - (unless (eq local-tags 'org-ql-nil) - (setq local-tags (org-ql--expand-tag-hierarchy local-tags))) - (unless (eq inherited-tags 'org-ql-nil) - (setq inherited-tags (org-ql--expand-tag-hierarchy inherited-tags)))) - (setq all-tags (list inherited-tags local-tags)) - ;; Check caches again, because they may have been set now. - ;; TODO: Is there a clever way we could avoid doing this, or is it inherently necessary? - (setf buffer-cache (gethash (current-buffer) org-ql-tags-cache) - modified-tick (car buffer-cache) - tags-cache (cdr buffer-cache) - buffer-unmodified-p (eq (buffer-modified-tick) modified-tick)) - (unless (and buffer-cache buffer-unmodified-p) - ;; Buffer-local tags cache empty or invalid: make new one. - (setf tags-cache (make-hash-table)) - (puthash (current-buffer) - (cons (buffer-modified-tick) tags-cache) - org-ql-tags-cache)) - (puthash position all-tags tags-cache)))) - (org-ql-select (org-ql-search-directories-files) - '(tags "Emacs") - :action #'point))) - )) -#+END_SRC - -#+RESULTS: -| Form | x faster than next | Total runtime | # of GCs | Total GC runtime | -|----------------------------+--------------------+---------------+----------+------------------| -| without group-tags support | 1.01 | 52.832562 | 4 | 1.989522 | -| with group-tags support | slowest | 53.425342 | 5 | 2.479128 | - -[2020-11-09 Mon 17:57] Well, the performance difference seems smaller than I expected. For single iterations, it ought to be unnoticeable. Although I'm still a bit skeptical about this benchmark: I feel like it ought to have more of an impact than that, but maybe I'm wrong--and that would be great! - -Next steps: - -+ [X] Post benchmark code on PR and ask Panagiotis to verify -+ [X] Also ask him to run benchmark actually using group tags (since I don't actually have any, even though the boolean is t) -+ [X] Discuss caching of group tag expansion. It seems like we ought to cache the expansions as well, because sibling headings (especially at level 1) ought to get their group tags re-expanded individually, even when we've already expanded them for another heading. -+ [X] Remove unused =result= variable - -** PROJECT [#B] Document the sorting functions - -Note that the built-in sorting only works on Org elements, which is the default ~:action~. So if a different action is used, sorting will not work. In that case, the action should be mapped across the Org element results from outside the ~org-ql~ form. - - -** PROJECT [#B] Recursive queries - -For lack of a better term. A way to query for certain headings, and then gather results of a different query at each result of the first query, displaying all results in a single view. - -This works pretty well. It needs polishing, and some refactoring so items can be indented completely (rather than leaving the keyword unindented, as it is now). - -#+BEGIN_SRC elisp - (cl-defun org-ql-agenda-recursive (buffers-or-files queries &key action narrow sort) - (cl-labels ((rec (queries element indent) - (org-with-point-at (org-element-property :org-marker element) - (when-let* ((results (progn - (org-narrow-to-subtree) - (org-ql-select (current-buffer) - (car queries) - :action 'element-with-markers - :narrow t - :sort sort)))) - ;; Indent entry for each level - (setf results (--map - (org-element-put-property it :raw-value - (concat (s-repeat (* 5 indent) " ") - (org-element-property :raw-value it))) - results)) - (cons it (if (cdr queries) - (--map (rec (cdr queries) it) - results) - results)))))) - (when-let* ((indent 0) - (results (org-ql-select buffers-or-files - (car queries) - :action 'element-with-markers - :narrow narrow - :sort sort))) - (->> (if (cdr queries) - (--map (rec (cdr queries) it (1+ indent)) - results) - results) - (-flatten-n (1- (length queries))) - -non-nil - (org-ql-agenda--agenda nil nil - :entries))))) - - (cl-defun org-ql-select-recursive (buffers-or-files queries &key action narrow sort) - (cl-labels ((rec (queries element indent) - (org-with-point-at (org-element-property :org-marker element) - (when-let* ((results (progn - (org-narrow-to-subtree) - (org-ql-select (current-buffer) - (car queries) - :action 'element-with-markers - :narrow t - :sort sort)))) - ;; Indent entry for each level - (setf results (--map - (org-element-put-property it :raw-value - (concat (s-repeat (* 5 indent) " ") - (org-element-property :raw-value it))) - results)) - (cons it (if (cdr queries) - (--map (rec (cdr queries) it) - results) - results)))))) - (when-let* ((indent 0) - (results (org-ql-select buffers-or-files - (car queries) - :action 'element-with-markers - :narrow narrow - :sort sort))) - (->> (if (cdr queries) - (--map (rec (cdr queries) it (1+ indent)) - results) - results) - (-flatten-n (1- (length queries))) - -non-nil)))) -#+END_SRC - -** PROJECT [#B] Timeline view -:PROPERTIES: -:ID: 00573552-ffe9-4608-8904-7f6c73246b6d -:END: - -e.g. as mentioned by Samuel Wales at https://lists.gnu.org/archive/html/emacs-orgmode/2019-08/msg00330.html. Prototype code: - -#+BEGIN_SRC elisp - (cl-defun org-ql-timeline (buffers-files query) - (let ((results - (org-ql-select buffers-files - query :action - (lambda () - (let* ((heading-string - (->> (org-element-headline-parser - (line-end-position)) - org-ql--add-markers - org-ql-agenda--format-element)) - (timestamps - (cl-loop with limit = (org-entry-end-position) - while (re-search-forward org-ts-regexp-both - limit t) - collect (ts-parse-org (match-string 0)))) - (timestamp-strings - (->> timestamps - (-sort #'ts<) - (--map (concat " " (ts-format it)))))) - (s-join "\n" (cons heading-string timestamp-strings)))) - :sort '(date)))) - (org-ql-agenda--agenda nil nil :strings results))) - - (org-ql-timeline (org-agenda-files) - '(and "Emacs" (ts))) - - ;; More timeline-like version, organized by date rather than task. - - (cl-defun org-ql-timeline* (buffers-files query &key filter-ts) - (let* ((ts-ht (ht)) - (results (org-ql-select buffers-files - query - :action (lambda () - (let* ((heading-string - (->> (org-element-headline-parser - (line-end-position)) - org-ql--add-markers - org-ql-agenda--format-element)) - (date-timestamps - ;; Each one set to 00:00:00. - (cl-loop with limit = (org-entry-end-position) - while (re-search-forward org-ts-regexp-both - limit t) - collect (->> (match-string 0) - ts-parse-org - (ts-apply :hour 0 :minute 0 :second 0))))) - (setf date-timestamps (delete-dups date-timestamps)) - (when filter-ts - (setf date-timestamps (cl-remove-if-not filter-ts date-timestamps))) - (--each date-timestamps - (push heading-string (gethash it ts-ht))))))) - (tss-sorted (-sort #'ts< (ht-keys ts-ht))) - (strings (cl-loop for ts in tss-sorted - collect (concat "\n" - (propertize (ts-format "%Y-%m-%d" ts) - 'face 'org-agenda-structure)) - append (ht-get ts-ht ts)))) - (org-ql-agenda--agenda nil nil :strings strings))) - - (org-ql-timeline* (org-agenda-files) - '(ts :from -14) - :filter-ts `(lambda (ts) - (ts<= ,(ts-adjust 'day -14 (ts-now)) ts))) -#+END_SRC - -Another, more up-to-date implementation: - -#+BEGIN_SRC elisp - ;; NOTE: ts structs don't (sometimes? or always?) compare properly - ;; with default hash tables, e.g. this code: - - ;; (let* ((ts-a #s(ts nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil 1572670800.0)) - ;; (ts-b #s(ts nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil 1572584400.0))) - ;; (list :equal (equal ts-a ts-b) - ;; :sxhash-equal (equal (sxhash ts-a) (sxhash ts-b)))) ;;=> (:equal nil :sxhash-equal t) - - ;; So we must use the "contents-hash" table as described in the Elisp manual. - (define-hash-table-test 'contents-hash 'equal 'sxhash-equal) - - (cl-defun org-ql-view-timeline (buffers-files &key from to on) - "FIXME: DOcstring" - (cl-flet ((parse-ts-arg - (arg type) - ;; Parse ARG as a string or TS struct and adjust it to the beginning - ;; or end of its day, depending on whether TYPE is `:begin' or `:end'. - (-let (((hour minute second) (cl-ecase type - (:begin '(0 0 0)) - (:end '(23 59 59))))) - (->> (cl-typecase arg - (string (ts-parse arg)) - (ts arg)) - (ts-apply :hour hour :minute minute :second second))))) - (let* ((ts-predicate `(lambda (ts) - ,(cond (on `(ts-in ,(parse-ts-arg on :begin) - ts - ,(parse-ts-arg on :end))) - ((and from to) `(ts-in ,(parse-ts-arg from :begin) - ts - ,(parse-ts-arg to :end))) - (from `(ts<= ,(parse-ts-arg from :begin) ts)) - (to `(ts<= ts ,(parse-ts-arg to :end))) - (t (user-error "Huh?"))))) - (query (cond (on `(ts :from ,(parse-ts-arg on :begin) - :to ,(parse-ts-arg on :end))) - (t (append (list 'ts) - (when from - `(:from ,(parse-ts-arg from :begin))) - (when to - `(:to ,(parse-ts-arg to :end))))))) - (date-ts-table (make-hash-table :test 'contents-hash)) - (_results (org-ql-select buffers-files query - :action (lambda () - (let* ((string (->> (org-element-headline-parser - (line-end-position)) - org-ql--add-markers - org-ql-view--format-element))) - (cl-loop with limit = (org-entry-end-position) - while (re-search-forward org-ts-regexp-both limit t) - for ts = (->> (match-string 0) ts-parse-org) - when (funcall ts-predicate ts) - do (cl-pushnew (cons ts (concat (ts-format " %H:%M" ts) - string)) - (gethash (ts-apply :hour 0 :minute 0 :second 0 ts) - date-ts-table) - :test #'equal)))))) - (date-tss-sorted (->> date-ts-table hash-table-keys (-sort #'ts<))) - (string (cl-loop for date-ts in date-tss-sorted - for date-string = (propertize (ts-format "%Y-%m-%d" date-ts) - 'face 'org-agenda-structure) - concat (concat "\n" date-string) - concat (cl-loop for (ts . entry) in (->> (gethash date-ts date-ts-table) - (-sort (-on #'ts< #'car))) - concat (concat "\n" entry))))) - (org-ql-view--display :buffer "Timeline" - :header "Timeline" - :string string)))) - - ;; Used like: - ;; (org-ql-view-timeline "~/org/main.org" :from "2019-11-01") -#+END_SRC - -[2019-09-26 Thu 21:28] Would probably make sense to implement this using the view-sections someday. - -** PROJECT [#B] Implement view with tabulated-list-mode or magit-section - -[2019-09-02 Mon 05:20] Especially with some of the new packages that make =tabulated-list-mode= easier to use, like =navigel=. However, it would probably break grouping, or require some kind of adapter or extension to do grouping, so I don't know if that would work. Something like =magit-section= would be more flexible, and could be recursively grouped, like in =magit-todos=. - -[2019-09-08 Sun 10:06] Came up with a prototype yesterday, in branch =wip/view-section=. Seems to work pretty well. - -One of the things in that branch is =org-ql-item=, which is a struct used to carry data for query results. It seems to work well. - -Another idea for it is to simply store the element from =org-element-headline-parser= in one of its slots, and populate all of the other slots lazily, like =ts=. It already does that for a couple of slots, but I think it makes sense to do it for all of them, to reduce the overhead of making the struct for every query result. - -*** MAYBE [#C] Experiment with =widget= -:PROPERTIES: -:milestone: future -:END: - -The code that powers the customization UI. Has collapsible and customizable widgets. Might be perfect. Might even enable editing items in the list, with functions to make the changes in the source buffers. - -*** Code idea - -Inserting items into a view could look something like this: - -#+BEGIN_SRC elisp - (org-ql-view--insert-items - :header (ts-format "%Y-%m-%d" (ts-now)) - :items (org-ql-query - :select #'org-ql-current-item - :from (org-agenda-files) - :where '(or (deadline auto) - (scheduled :on today) - (ts-active :on today))) - :group-by '(org-ql-item-priority - org-ql-item-todo)) -#+END_SRC - -Items would be structs, and the =group-by= argument would be a list of accessors, like how =magit-todos= works. Arbitrary functions could also be passed to =group-by=, as whatever value the function returns is used to group them. =org-ql-current-item= would be a function that turns the result of =org-element-headline-parser= into the struct. - -Not sure if it should automatically add the number of items to the header, or if that should be done manually. - -*** Prior art - -**** [[https://github.com/m2ym/direx-el][GitHub - m2ym/direx-el: Directory Explorer for GNU Emacs]] - -Appears to be another implementation of magit-section-like expandable sections. Not sure which came first. Its code seems like it may be helpful. - -**** magit-section - -** PROJECT Dynamic blocks - -*** PROJECT [#B] Save view to dynamic block -:PROPERTIES: -:milestone: 0.6 -:END: - -[2020-11-10 Tue 04:31] A command would save users from having to write out the dynamic block manually. - -[2020-11-12 Thu 03:23] A command to do this would be very helpful. (Yes, I entered this idea twice. I should use my own systems better, apparently. But that's what this package is all about, right?) - -*** DONE [#A] Implement dynamic blocks - -+ *Tasks* - - [X] Merge code - - [X] Document the feature - -For example, [[https://egli.dev/posts/using-org-mode-for-meeting-minutes/][this blog article]] shows a way that Org's existing dynamic =columnview= blocks can be very useful. =org-ql= queries could be useful in them as well. - -[2020-11-09 Mon 22:00] I just realized that this is probably much easier than I realized. - -+ [[info:org#Dynamic%20blocks][info:org#Dynamic blocks]] - -#+BEGIN_SRC elisp - (cl-defun org-dblock-write:org-ql (params) - "FIXME: Docstring" - (pcase-let* (((map :query :columns :sort :ts-format) params) - (format-fns (list (cons 'heading (lambda (element) - (org-make-link-string (org-element-property :raw-value element) - (org-element-property :raw-value element)))) - (cons 'todo (lambda (element) - (or (org-element-property :todo-keyword element) - ""))) - (cons 'priority (lambda (element) - (--if-let (org-element-property :priority element) - (char-to-string it) - ""))) - (cons 'deadline (lambda (element) - (--if-let (org-element-property :deadline element) - (ts-format ts-format (ts-parse-org-element it )) - ""))) - (cons 'scheduled (lambda (element) - (--if-let (org-element-property :scheduled element) - (ts-format ts-format (ts-parse-org-element it )) - ""))))) - (elements (org-ql-query :from (current-buffer) - :where query - :select '(org-element-headline-parser (line-end-position)) - :order-by sort))) - (cl-labels ((format-element - (element) (string-join (cl-loop for column in columns - for fn = (alist-get column format-fns) - collect (funcall fn element)) - " | "))) - (insert "| " (string-join (--map (capitalize (symbol-name it)) columns) " | ") " |" "\n") - (insert "|- \n") - (dolist (element elements) - (insert "| " (format-element element) " |" "\n")) - (org-table-align)))) -#+END_SRC - -[2020-11-09 Mon 22:35] This works pretty well! For example: - -#+BEGIN_SRC org - ,#+BEGIN: org-ql :query (todo) :format (priority todo heading deadline scheduled) :sort (priority date) :ts-format "%Y-%m-%d %H:%M" - | Priority | Todo | Heading | Deadline | Scheduled | - |----------+-------+------------+------------------+------------------| - | A | TODAY | Heading 1 | 2020-11-11 00:00 | | - | B | TODO | Heading 2 | | 2020-11-09 00:00 | - - ,#+END: - - ,#+BEGIN: columnview :id global :hlines t :indent t - | ITEM | TODO | PRIORITY | TAGS | - |----------------+-------+----------+------| - | Test heading 1 | TODAY | B | | - |----------------+-------+----------+------| - | Heading 2 | TODO | B | | - ,#+END: - - ,* TODAY [#A] Heading 1 - DEADLINE: <2020-11-11 Wed> - - ,* TODO [#B] Heading 2 - SCHEDULED: <2020-11-09 Mon> - -#+END_SRC - -[2020-11-10 Tue 00:03] I think it's ready to merge now. - -*** DONE [#A] Org block to insert results of queries with links to entries -:PROPERTIES: -:ID: 422754bb-3a7c-4dbf-b303-4056d3cafb7e -:END: - -[2020-01-16 Thu 06:20] This idea just came to me when I was thinking about using the search-based paradigm vs. outline-based. This would allow both, e.g. some kind of =#+BEGIN_QUERY= block that would update when =C-c C-c= is pressed on it. - -[2020-11-13 Fri 22:57] I keep rediscovering ideas that I've had previously. This is now done as the dynamic block feature. I guess I should actually use these tools I've made. - -** PROJECT [#C] [[https://github.com/magit/transient/issues/76][New Transient transient-lisp-variable class]] :compatibility: - -[2020-10-19 Mon 00:23] Should try to use this instead of whatever bespoke code is currently used. - -** PROJECT [#C] Normalize queries - -[2019-07-16 Tue 11:49] This serves two purposes: - -1. Equivalent queries will return the same results from the cache. -2. The selectors that can be converted to the fastest preamble regexps will be sorted first, so the fastest preamble will be used. Although this may not always be straightforward. For example, in a file with only a few =TODO= items, the ~(todo "TODO")~ selector would convert to a preamble that would quickly search through the file. But if there were a thousand =TODO= items, it wouldn't be as much of a benefit, and a ~(regexp "something")~ selector's preamble might be much faster, depending on how many times =something= appears in the file. - -So the second purpose might actually be a drawback, because it would prevent users from optimizing their queries with knowledge of their data. Maybe there should be an option to not normalize queries, so advanced users can order their selectors manually. - -** PROJECT [#C] Update view screenshots - -e.g. doesn't currently show the =View= header. - -** PROJECT [#C] Test caching - -See notes on 1dce9467f25428b5289d3665cd840820969ed65a. It would be good to test the caching explicitly, at least for some queries, because if I were to completely break it again, in such a way that results were stored but retrieval always failed, the tests wouldn't catch it. - -** UNDERWAY [#B] "Node" caching - -[2019-09-05 Thu 12:30] At each node checked by a predicate, make a struct that stores attributes we can query for, as well as parent node position. This would let us speed up ancestor-based queries, like =(ancestor (todo "WAITING"))=. Ideally it would also serve as the tag hierarchy cache. - -It would probably be an all-encompassing system, because predicates would need to refer to the cached node when available. So maybe the struct should be like =ts-defstruct=, with lazy, caching accessors, which would move some of the predicates' code into the accessors. - -Maybe a good improvement to make later, after the project is more developed. - -[2019-10-07 Mon 13:08] This has basically been implemented in =be2bf6df316b96b3ed56851b8ffe0e227796b621=, but as functions and values rather than with structs. It remains to be seen how this works with =ancestor= queries, but I suspect it will help a lot. - -*** Struct PoC code - -This works okay (except the priority accessor needs to be fixed, because Org priorities are awkward to get). I'm guessing all the extra function calls would make it undesirable in cases of returning many results, but it's a flexible concept that makes sorting easy. - -#+BEGIN_SRC elisp - (ts-defstruct org-ql-node - file position marker - (level - nil :accessor-init (org-with-point-at (org-ql-node-marker struct) - (org-outline-level))) - (heading - nil :accessor-init (org-with-point-at (org-ql-node-marker struct) - ;; TODO: Org 9.2+ adds 2 more args to `org-get-heading'. - (org-get-heading t t))) - (priority - nil :accessor-init (org-with-point-at (org-ql-node-marker struct) - (org-get-priority ))) - (tags - nil :accessor-init (org-with-point-at (org-ql-node-marker struct) - (->> (org-ql--tags-at (point)) - -flatten - (delq 'org-ql-nil)))) - (todo - nil :accessor-init (org-with-point-at (org-ql-node-marker struct) - (org-get-todo-state))) - (outline-path - nil :accessor-init (org-with-point-at (org-ql-node-marker struct) - (org-split-string (org-format-outline-path (org-get-outline-path) - nil nil "") - "")))) - - (defcustom helm-org-ql-sort - '(org-ql-node-priority org-ql-node-todo) - "FIXME" - ) - - (cl-defun helm-org-ql (buffers-files &optional no-and) - "Display results in BUFFERS-FILES for an `org-ql' query using Helm. - Interactively, search the current buffer. - - NOTE: Atoms in the query are turned into strings where - appropriate, which makes it unnecessary to type quotation marks - around words that are intended to be searched for as indepenent - strings. - - Also, unless NO-AND is non-nil (interactively, with prefix), all - query tokens are wrapped in an implied (and) form. This is - because a query must be a sexp, so when typing multiple clauses, - either (and) or (or) would be required around them, and (and) is - typically more useful, because it narrows down results. - - For example, this raw input: - - Emacs git - - Is transformed into this query: - - (and \"Emacs\" \"git\") - - However, quoted strings remain quoted, so this input: - - \"something else\" (tags \"funny\") - - Is transformed into this query: - - (and \"something else\" (tags \"funny\"))" - (interactive (list (current-buffer) current-prefix-arg)) - (let ((helm-input-idle-delay helm-org-ql-input-idle-delay)) - (helm :sources - (helm-build-sync-source "helm-org-ql-agenda-files" - :candidates (lambda () - (let* ((query (helm-org-ql--input-to-query helm-pattern no-and)) - (window-width (window-width (helm-window)))) - (when query - (let ((results (org-ql-select buffers-files - query - :action '(make-org-ql-node :marker (point-marker))))) - (when helm-org-ql-sort - (dolist (sorter (reverse helm-org-ql-sort)) - (setf results (sort results sorter)))) - (cl-loop for it in-ref results - do (setf it (concat (buffer-name (org-ql-node-file it)) ":" - (or (org-ql-node-todo it) "") - (or (org-ql-node-priority it) "") - (org-ql-node-heading it) "\\" - (org-ql-node-outline-path it)))) - results)))) - :match #'identity - :fuzzy-match nil - :multimatch nil - :volatile t - :action #'helm-org-goto-marker)))) -#+END_SRC - -** DONE [#A] Views: Multiple sorters are not preserved :bug: -:PROPERTIES: -:milestone: 0.5 -:url: https://github.com/alphapapa/org-ql/issues/136 -:END: - -** DONE [#A] Make dynamic blocks warn about sexp queries -:PROPERTIES: -:milestone: 0.5 -:END: -:LOGBOOK: -CLOCK: [2020-11-16 Mon 22:56]--[2020-11-17 Tue 00:25] => 1:29 -:END: - -[2020-11-12 Thu 05:22] I guess to be super-extra careful, just in case someone had =org-update-all-dblocks= in the =before-save-hook= or something. - -[2020-11-17 Tue 00:25] It warns and the warning is tested. - -** DONE [#A] Add Emacs 27.1 to =test.yml= -:PROPERTIES: -:milestone: 0.5 -:END: - -[2020-11-16 Mon 05:22] Also releasing =makem.sh= 0.2 with this change. - -** DONE [#A] Fix =org-ql-view--link-open= on Org 9.3+ :compatibility:bug: -:PROPERTIES: -:milestone: 0.5 -:url: https://github.com/alphapapa/org-ql/issues/147 -:END: - -The version of Org in my personal that passes a URL-decoded string (i.e. as if run through =url-unhex-string=) as the argument to =org-ql-view--link-open=. But Org 9.3 in Emacs 27.1 passes a non-URL-decoded string, so =org-ql-view--link-open= needs to pass it through =url-unhex-string= itself. - -But I don't know which version of Org that changed in. I'm comparing the function =org-open-at-point=, but it's a 114-line function, and in neither version does it call =url-unhex-string=, so whatever code decodes the string must be elsewhere. - -I do recall something about links changing in Org 9.3 (or thereabouts), so that was probably part of it. Maybe I can find it in the release notes. I just need to know basically which version it happened in. - -I noticed because the CI tests on GitHub show the link-safety tests failing on the Emacs snapshot version. However, I think they're not currently vulnerable on that Org version, because the link parameters fail to be parsed correctly, so all the arguments to =org-ql-search= should end up being nil. - -[2020-11-14 Sat 20:41] I should probably do something like this in =org-ql-view--link-open=: - -#+BEGIN_SRC elisp - (when (version<= "9.3" (org-version)) - ;; Org 9.3+ makes a backward-incompatible change to link escaping. - ;; I don't think it would be a good idea to try to guess whether - ;; the string received by this function was made with or without - ;; that change, so we'll just test the current version of Org. - ;; Any links created with older Org versions and then opened with - ;; newer ones will have to be recreated. - (setf path (url-unhex-string path))) -#+END_SRC - -But, first, I should write tests for saving and opening links, so it can actually be tested on different versions automatically. - -[2020-11-16 Mon 05:12] Finally, all of the tests pass on my Org version and on 9.3. And I tested for all the combinations of link and bookmark saving/opening I could think of. I hope they work and are safe. - -*** DONE [#A] Write tests for storing/opening links -:PROPERTIES: -:milestone: 0.5 -:END: - -[2020-11-16 Mon 05:11] Took way longer than I expected. I hope it was worth it. - -*** DONE [#A] Check Org release notes for link changes - -[2020-11-13 Fri 22:44] From [[https://www.orgmode.org/Changes_old.html][the changelog]]: - -#+BEGIN_QUOTE -Change bracket link escaping syntax - -Org used to percent-encode sensitive characters in the URI part of the bracket links. - -Now, escaping mechanism uses the usual backslash character, according to the following rules, applied in order: - -- All consecutive \ characters at the end of the link must be escaped; -- Any ] character at the very end of the link must be escaped; -- All consecutive \ characters preceding ][ or ]] patterns must be escaped; -- Any ] character followed by either [ or ] must be escaped; -- Others ] and \ characters need not be escaped. - -When in doubt, use the function org-link-escape in order to turn a link string into its properly escaped form. - -The following function will help switching your links to the new syntax: - -(defun org-update-link-syntax (&optional no-query) - "Update syntax for links in current buffer. -Query before replacing a link, unless optional argument NO-QUERY -is non-nil." - (interactive "P") - (org-with-point-at 1 - (let ((case-fold-search t)) - (while (re-search-forward "\\[\\[[^]]*?%\\(?:2[05]\\|5[BD]\\)" nil t) - (let ((object (save-match-data (org-element-context)))) - (when (and (eq 'link (org-element-type object)) - (= (match-beginning 0) - (org-element-property :begin object))) - (goto-char (org-element-property :end object)) - (let* ((uri-start (+ 2 (match-beginning 0))) - (uri-end (save-excursion - (goto-char uri-start) - (re-search-forward "\\][][]" nil t) - (match-beginning 0))) - (uri (buffer-substring-no-properties uri-start uri-end))) - (when (or no-query - (y-or-n-p - (format "Possibly obsolete URI syntax: %S. Fix? " - uri))) - (setf (buffer-substring uri-start uri-end) - (org-link-escape (org-link-decode uri))))))))))) - -The old org-link-escape and org-link-unescape functions have been renamed into org-link-encode and org-link-decode. -#+END_QUOTE - -This is exactly the kind of breaking, backwards-incompatible change that I've said should mandate a major-version increment. It's not only a change in Org's code, and a change that affects third-party packages, but it's a change in the file format! - -Is it even possible to support both Org 9.3+ and earlier versions at the same time? - -This change doesn't even seem to make sense to me. Percent-encoding solves so many problems in a simple way: pass a string to the encoding function on the way in, and to the decoding function on the way out. Now, instead of a simple, standard way of encoding links, there's a list of Org-specific rules and Org-specific encoding/decoding functions. What is gained this way? - - -** DONE [#A] Fix query-sexp-to-string function's handling of, e.g. =descendants= :bug: -:PROPERTIES: -:milestone: 0.5 -:END: - -[2020-11-14 Sat 20:45] Fixed in =89ff02a1501b53b4e20cdc66a8fcaa37e7d15734=. - -** DONE [#A] Helm command - -In branch =wip/helm-org-ql=. Works really well, should add it and demonstrate it. - -*** DONE Add - -*** DONE Demonstrate - -*** DONE Parsing non-Lisp queries - -[2019-09-12 Thu 12:56] Lisp is so much easier to deal with, but some people don't like parentheses. So I'm trying to add a non-Lisp-style query syntax. It gets complicated. The =peg= library helps, but its documentation is sparse and incomplete. This seems to work fairly well for single-token queries, but I'm not sure if I can or should cram it all into one parser, or use separate ones for certain keywords. - -#+BEGIN_SRC elisp - (-let* ((input "todo:check|someday") - (input "tags:universe+space") - (input "heading:\"spaced phrase\"") - (input "") - (input "heading:\"spaced phrase\"+another") - combinator - (parsed (peg-parse-string ((predicate (substring keyword) ":" (opt args)) - (keyword (or "heading" "tags" "todo" "property")) - (args (+ (and (or quoted-arg unquoted-arg) (opt separator)))) - (quoted-arg "\"" unquoted-arg "\"") - (unquoted-arg (substring (+ (not (or separator "\"")) (any)))) - (separator (or (and "|" (action (setf combinator 'or))) - (and "+" (action (setf combinator 'and))) - (and ":" (action (setf combinator 'arg)))))) - input 'noerror)) - ((predicate . args) (nreverse parsed))) - (when predicate - (list :predicate predicate :args args :combinator combinator))) - ;;=> (:predicate "heading" :args ("spaced phrase" "another" t) :combinator and) -#+END_SRC - -I don't know where the =t= is coming from. - -The next step is to make it work with multi-token queries. It needs to handle all of the tokens in one parser so it can handle quoted phrases (if we split on spaces, it would split quoted phrases). But that makes getting the arguments out of it more difficult. Probably need to do something like this: - -#+BEGIN_SRC elisp - (-let* ((input "todo:check|someday") - (input "tags:universe+space") - (input "heading:\"spaced phrase\"") - (input "") - (input "heading:\"spaced phrase\"+another") - combinator - (parsed (peg-parse-string ((query (+ (or (and predicate `(pred args -- (list :predicate pred :args args))) - (and plain-string `(s -- (list :predicate 'regexp :args s)))) - (opt (syntax-class whitespace)))) - (plain-string (substring (+ (not (syntax-class whitespace)) (any)))) - (predicate (substring keyword) ":" (opt args)) - (keyword (or "heading" "tags" "todo" "property")) - (args (+ (and (or quoted-arg unquoted-arg) (opt separator)))) - (quoted-arg "\"" unquoted-arg "\"") - (unquoted-arg (substring (+ (not (or separator "\"")) (any)))) - (separator (or (and "|" (action (setf combinator 'or))) - (and "+" (action (setf combinator 'and))) - (and ":" (action (setf combinator 'arg)))))) - input 'noerror))) - parsed) -#+END_SRC - -In which lists are pushed onto the stack and returned, rather than strings. But I don't understand yet exactly how to use the =var= forms to consume input from the "value stack"; I need to study the examples more. I'm also not sure if that will even work with a variable number of arguments. - -This seems to work, but we'll have to parse the args again in a separate step: - -#+BEGIN_SRC elisp - (-let* ((input "todo:check|someday") - (input "tags:universe+space") - (input "heading:\"spaced phrase\"") - (input "") - (input "heading:\"spaced phrase\"+another") - (input "heading:\"spaced phrase\"+another todo:check") - combinator - (parsed (peg-parse-string ((query (+ (or (and predicate `(pred args -- (list :predicate pred :args args))) - (and plain-string `(s -- (list :predicate 'regexp :args s)))) - (opt (+ (syntax-class whitespace) (any))))) - (plain-string (substring (+ (not (syntax-class whitespace)) (any)))) - (predicate (substring keyword) ":" (opt args)) - (keyword (or "heading" "tags" "todo" "property")) - (args (substring (+ (and (or quoted-arg unquoted-arg) (opt separator))))) - (quoted-arg "\"" (+ (not (or separator "\"")) (any)) "\"") - (unquoted-arg (+ (not (or separator "\"" (syntax-class whitespace))) (any))) - (separator (or (and "|" (action (setf combinator 'or))) - (and "+" (action (setf combinator 'and))) - (and ":" (action (setf combinator 'arg)))))) - input 'noerror))) - parsed) - ;;=> (t (:predicate "todo" :args "check") (:predicate "heading" :args "\"spaced phrase\"+another")) -#+END_SRC - -Well, a bit of fiddling (lots of trial-and-error required) produced this: - -#+BEGIN_SRC elisp - (-let* ((input "todo:check|someday") - (input "tags:universe+space") - (input "heading:\"spaced phrase\"") - (input "") - (input "heading:\"spaced phrase\"+another") - (input "heading:\"spaced phrase\"+another todo:check") - combinator - (parsed (peg-parse-string ((query (+ (or (and predicate `(pred args -- (list :predicate pred :args args))) - (and plain-string `(s -- (list :predicate 'regexp :args s)))) - (opt (+ (syntax-class whitespace) (any))))) - (plain-string (substring (+ (not (syntax-class whitespace)) (any)))) - (predicate (substring keyword) ":" (opt args)) - (keyword (or "heading" "tags" "todo" "property")) - (args (list (+ (and (substring (or quoted-arg unquoted-arg)) (opt separator))))) - (quoted-arg "\"" (+ (not (or separator "\"")) (any)) "\"") - (unquoted-arg (+ (not (or separator "\"" (syntax-class whitespace))) (any))) - (separator (or (and "|" (action (setf combinator 'or))) - (and "+" (action (setf combinator 'and))) - (and ":" (action (setf combinator 'arg)))))) - input 'noerror))) - parsed) - ;;=> (t (:predicate "todo" :args ("check")) (:predicate "heading" :args ("\"spaced phrase\"" "another"))) -#+END_SRC - -That seems pretty usable! - -** DONE [#B] Quickly change sorting/grouping in search views - -With caching, the search doesn't need to be repeated, so resorting/regrouping can be very fast. - -** DONE Byte-compile lambdas -CLOSED: [2018-05-09 Wed 17:30] -:LOGBOOK: -- State "DONE" from [2018-05-09 Wed 17:30] -:END: - -=elfeed-search--update-list= byte-compiles lambdas returned by =elfeed-search-compile-filter=. Maybe I could do something like this too. - -If I can get this working, I should profile it to see what difference it makes. - -*** Profiling - -Going to try byte-compiling the predicate function: - -#+BEGIN_SRC elisp - (elp-profile 10 nil (org-agenda-ng "~/src/emacs/org-super-agenda/test/test.org" - (and (or (date :date '= (org-today)) - (date :deadline '<= (+ org-deadline-warning-days (org-today))) - (date :scheduled '<= (org-today))) - (not (apply #'todo org-done-keywords-for-agenda))))) -#+END_SRC - -#+RESULTS: -| Function | Times called | Total time | Average time | -|-------------------------------------------+--------------+--------------+--------------| -| org-agenda-ng--agenda | 10 | 0.8370581039 | 0.0837058104 | -| org-agenda-finalize-entries | 10 | 0.652886608 | 0.0652886608 | -| org-super-agenda--filter-finalize-entries | 10 | 0.641794501 | 0.0641794501 | -| org-super-agenda--group-items | 10 | 0.636057006 | 0.0636057006 | -| org-super-agenda--group-dispatch | 130 | 0.631911849 | 0.0048608603 | -| org-super-agenda--group-tag | 50 | 0.592883869 | 0.0118576773 | -| list | 2720 | 0.5792795169 | 0.0002129704 | -| mapcar | 331 | 0.2333591920 | 0.0007050126 | -| org-agenda-ng--filter-buffer | 10 | 0.09247626 | 0.009247626 | -| org-agenda-ng--format-element | 150 | 0.0649320479 | 0.0004328803 | -| org-entry-get | 860 | 0.0408285349 | 4.747...e-05 | -| org-agenda-ng--date-p | 910 | 0.0385646249 | 4.237...e-05 | -| org-element-headline-parser | 150 | 0.0374417470 | 0.0002496116 | -| org-is-habit-p | 270 | 0.0290107389 | 0.0001074471 | -| org--property-local-values | 270 | 0.0268615979 | 9.948...e-05 | -| org-get-property-block | 270 | 0.0244613309 | 9.059...e-05 | -| org-get-tags-at | 150 | 0.017875864 | 0.0001191724 | -| org-super-agenda--group-habit | 10 | 0.015910656 | 0.0015910655 | -| mapc | 2540 | 0.0158616290 | 6.244...e-06 | -| org-agenda-ng--add-faces | 150 | 0.0143329670 | 9.555...e-05 | - - -Now the same thing without byte-compiling: - -#+BEGIN_SRC elisp - (elp-profile 10 nil (org-agenda-ng "~/src/emacs/org-super-agenda/test/test.org" - (and (or (date :date '= (org-today)) - (date :deadline '<= (+ org-deadline-warning-days (org-today))) - (date :scheduled '<= (org-today))) - (not (apply #'todo org-done-keywords-for-agenda))))) -#+END_SRC - -#+RESULTS: -| Function | Times called | Total time | Average time | -|-------------------------------------------+--------------+--------------+--------------| -| org-agenda-ng--agenda | 10 | 0.846645537 | 0.0846645537 | -| org-agenda-finalize-entries | 10 | 0.662896805 | 0.0662896805 | -| sort | 40 | 0.591123256 | 0.0147780814 | -| org-entries-lessp | 400 | 0.5901201620 | 0.0014753004 | -| mapcar | 201 | 0.2318270599 | 0.0011533684 | -| org-agenda-ng--filter-buffer | 10 | 0.092519787 | 0.0092519787 | -| org-super-agenda--filter-finalize-entries | 10 | 0.0664278040 | 0.0066427804 | -| org-agenda-ng--format-element | 150 | 0.064658994 | 0.0004310599 | -| org-super-agenda--group-items | 10 | 0.0602504089 | 0.0060250408 | -| org-super-agenda--group-dispatch | 130 | 0.0561904470 | 0.0004322342 | -| org-entry-get | 860 | 0.0437458889 | 5.086...e-05 | -| org-agenda-ng--date-p | 910 | 0.0382623409 | 4.204...e-05 | -| org-element-headline-parser | 150 | 0.0374662920 | 0.0002497752 | -| org-is-habit-p | 270 | 0.0320861079 | 0.0001188374 | -| org--property-local-values | 270 | 0.0298690430 | 0.0001106260 | -| org-get-property-block | 270 | 0.0274716649 | 0.0001017469 | -| org-super-agenda--group-habit | 10 | 0.019117901 | 0.0019117901 | -| org-get-tags-at | 150 | 0.0178958930 | 0.0001193059 | -| mapc | 2470 | 0.0150361130 | 6.087...e-06 | -| org-agenda-ng--add-faces | 150 | 0.0143092169 | 9.539...e-05 | - -Virtually indistinguishable. Going to try moving the =byte-compile= call from the =org-agenda-ng= macro to other places... - -#+BEGIN_SRC elisp - (elp-profile 10 nil (org-agenda-ng "~/src/emacs/org-super-agenda/test/test.org" - (and (or (date :date '= (org-today)) - (date :deadline '<= (+ org-deadline-warning-days (org-today))) - (date :scheduled '<= (org-today))) - (not (apply #'todo org-done-keywords-for-agenda))))) -#+END_SRC - -#+RESULTS: -| Function | Times called | Total time | Average time | -|-------------------------------------------+--------------+--------------+--------------| -| org-agenda-ng--agenda | 10 | 0.8476316779 | 0.0847631678 | -| mapcar | 331 | 0.8159452220 | 0.0024650913 | -| org-agenda-ng--filter-buffer | 10 | 0.674217912 | 0.0674217912 | -| org-element-headline-parser | 150 | 0.6171195889 | 0.0041141305 | -| line-beginning-position | 620 | 0.5802579680 | 0.0009358999 | -| org-agenda-finalize-entries | 10 | 0.082065157 | 0.0082065157 | -| org-super-agenda--filter-finalize-entries | 10 | 0.0708772279 | 0.0070877227 | -| org-super-agenda--group-items | 10 | 0.065523103 | 0.0065523103 | -| org-agenda-ng--format-element | 150 | 0.0652783740 | 0.0004351891 | -| org-super-agenda--group-dispatch | 130 | 0.0614253589 | 0.0004725027 | -| org-entry-get | 860 | 0.0494023029 | 5.744...e-05 | -| org-agenda-ng--date-p | 910 | 0.0388435519 | 4.268...e-05 | -| org-is-habit-p | 270 | 0.0375687549 | 0.0001391435 | -| org--property-local-values | 270 | 0.0353892929 | 0.0001310714 | -| org-get-property-block | 270 | 0.0329700440 | 0.0001221112 | -| org-super-agenda--group-habit | 10 | 0.024468601 | 0.0024468601 | -| re-search-backward | 1500 | 0.0186344089 | 1.242...e-05 | -| org-get-tags-at | 150 | 0.0180038809 | 0.0001200258 | -| mapc | 2540 | 0.0156518099 | 6.162...e-06 | -| org-agenda-ng--add-faces | 150 | 0.0144141080 | 9.609...e-05 | - -Doesn't seem to make any difference. - -** DONE Document/figure out tag inheritance - -I think it should probably be enabled in most cases, to avoid missing results that users would expect to find, but it will reduce performance in some cases, so users should be able to turn it off when they don't need it. - -[2018-06-12 Tue 14:32] The docstring for ~org-map-entries~ says: - -#+BEGIN_QUOTE -If your function needs to retrieve the tags including inherited tags at the *current* entry, you can use the value of the variable ‘org-scanner-tags’ which will be much faster than getting the value with ‘org-get-tags-at’. If your function gets properties with ‘org-entry-properties’ at the *current* entry, bind ‘org-trust-scanner-tags’ to t around the call to ‘org-entry-properties’ to get the same speedup. Note that if your function moves around to retrieve tags and properties at a *different* entry, you cannot use these techniques. -#+END_QUOTE - -[2019-09-26 Thu 21:31] Handled with the tag caching recently implemented. - -** DONE [#B] Dual matching with regexp and predicates -:PROPERTIES: -:ID: 39972bb5-fdd0-4754-93ba-c85796a67ccf -:END: - -/Note: This is underway in the =preamble-re= branch./ - -Searching and matching could be sped up by constructing a regexp that searches directly to the next possible match, and then matching with predicate functions. - -For example, a search like: - -#+BEGIN_SRC elisp - (org-ql (org-agenda-files) - (and (regexp "lisp") - (scheduled < today))) -#+END_SRC - -Only entries that contain the word =lisp= can be matches, and searching each entry for that word is wasteful. Instead, we could search the buffer for the next occurrence of =lisp=, then check the scheduled date for that entry. - -This would require processing the predicate to pull out matchers that can be done as buffer-wide regexps, e.g. =regexp=, =heading-regexp=, =todo=, and possibly =tags=. Org has some regexp-building functions that might make this fairly easy, and then we could probably use ~rx~ to make an optimized version of the regexp. It would also require some refactoring to the searching that would go directly to regexp matches when possible, rather than checking every entry with the predicate. - -[2019-07-16 Tue 11:14] Made new branch =preamble-re-new= based on current =master=. Seems to work well. Here's some code for testing and comparing performance (~bench-multi-lets~ is from [[https://github.com/alphapapa/emacs-package-dev-handbook#bench-multi-lets][here]]). - -[2019-07-16 Tue 11:56] Going to merge to =master= as 0.2, so marking this as done, even though there's a bit more that can be done from here. - -*** Benchmark code - -#+BEGIN_SRC elisp - (cl-defmacro org-ql-preamble-bench (&key query (file "tests/data.org") (times 10)) - `(bench-multi-lets :times ,times :ensure-equal t - :lets (("preamble" ((org-ql-use-preamble t))) - ("no preamble" ((org-ql-use-preamble nil)))) - :forms ((,(prin1-to-string query) (org-ql-select,file - ',query - :action (lambda () (org-get-heading t t))))))) -#+END_SRC - -#+BEGIN_SRC elisp - (org-ql-preamble-bench :query (regexp "Emacs") :times 100) -#+END_SRC - -#+RESULTS: -| Form | x faster than next | Total runtime | # of GCs | Total GC runtime | -|-------------------------------+--------------------+---------------+----------+------------------| -| preamble: (regexp "Emacs") | 1.22 | 0.141767 | 0 | 0 | -| no preamble: (regexp "Emacs") | slowest | 0.172398 | 0 | 0 | - -#+BEGIN_SRC elisp - (org-ql-preamble-bench :file "~/org/inbox.org" :query (regexp "Emacs") :times 5) -#+END_SRC - -#+RESULTS: -| Form | x faster than next | Total runtime | # of GCs | Total GC runtime | -|-------------------------------+--------------------+---------------+----------+------------------| -| preamble: (regexp "Emacs") | 1.59 | 2.011043 | 0 | 0 | -| no preamble: (regexp "Emacs") | slowest | 3.206370 | 0 | 0 | - -#+BEGIN_SRC elisp - (org-ql-preamble-bench :file "~/org/inbox.org" :query (and (regexp "Emacs") (todo)) :times 5) -#+END_SRC - -#+RESULTS: -| Form | x faster than next | Total runtime | # of GCs | Total GC runtime | -|--------------------------------------------+--------------------+---------------+----------+------------------| -| preamble: (and (regexp "Emacs") (todo)) | 1.59 | 2.211503 | 0 | 0 | -| no preamble: (and (regexp "Emacs") (todo)) | slowest | 3.512741 | 0 | 0 | - -#+BEGIN_SRC elisp - (org-ql-preamble-bench :file "~/org/inbox.org" :query (and (regexp "Emacs") (todo) (scheduled)) :times 5) -#+END_SRC - -#+RESULTS: -| Form | x faster than next | Total runtime | # of GCs | Total GC runtime | -|--------------------------------------------------------+--------------------+---------------+----------+------------------| -| preamble: (and (regexp "Emacs") (todo) (scheduled)) | 1.69 | 2.042456 | 0 | 0 | -| no preamble: (and (regexp "Emacs") (todo) (scheduled)) | slowest | 3.453756 | 0 | 0 | - -#+BEGIN_SRC elisp - (org-ql-preamble-bench :file "~/org/inbox.org" :query (todo "WAITING") :times 2) -#+END_SRC - -#+RESULTS: -| Form | x faster than next | Total runtime | # of GCs | Total GC runtime | -|-------------------------------+--------------------+---------------+----------+------------------| -| preamble: (todo "WAITING") | 15.60 | 0.070684 | 0 | 0 | -| no preamble: (todo "WAITING") | slowest | 1.102722 | 0 | 0 | - -Wow, that's a huge improvement! - -** DONE Operate on list of heading positions -CLOSED: [2018-05-10 Thu 15:02] -:LOGBOOK: -- State "DONE" from [2018-05-10 Thu 15:02] -:END: - -[2017-12-31 Sun 17:54] I wonder if, instead of parsing the whole buffer with =org-element-parse-buffer=, we could simply work on a list of heading positions, e.g. a loop would search forward to the next heading position, then call whatever predicates it needed at the heading's position, using =save-excursion= around each function call. The predicates would need to be updated to get their data from the buffer, instead of using =org-element-property=, but that wouldn't be hard. - -[2018-05-10 Thu 15:01] I already changed to using buffer-parsing predicates instead of =org-element-parse-buffer=. - -** DONE Use macros for =date= -CLOSED: [2018-05-10 Thu 14:59] -:LOGBOOK: -- State "DONE" from [2018-05-10 Thu 14:59] -:END: - -If I made the =date= selector a macro, I could avoid the need to quote the comparator. - -Also, maybe instead of having a single =date= selector, I should have =scheduled=, =deadline=, etc. - -* Checklists - -** Commit - -*** Fix - -+ [ ] Check repo for closing issue -+ [ ] Check this file for closing task -+ [ ] Lint -+ [ ] Test -+ [ ] Commit and push - -* Examples / testing -:PROPERTIES: -:TOC: :include descendants :depth 1 -:END: -:CONTENTS: -- [[#property-matching][Property matching]] -- [[#regexp-matching][Regexp matching]] -- [[#screenshot-code][Screenshot code]] -- [[#sorting][Sorting]] -:END: - -#+BEGIN_SRC elisp - (org-agenda-ng org-agenda-files - (and (or (date :deadline '<= (org-today)) - (date :scheduled '<= (org-today))) - (not (apply #'todo org-done-keywords-for-agenda))) - ((group (tags "bills")) - (group (todo "SOMEDAY")))) - - (org-agenda-ng org-agenda-files - (and (or (date :deadline '<= (org-today)) - (date :scheduled '<= (org-today))) - (not (apply #'todo org-done-keywords-for-agenda)))) - - (org-agenda-ng "~/org/main.org" - (and (or (date :deadline '<= (org-today)) - (date :scheduled '<= (org-today))) - (not (apply #'todo org-done-keywords-for-agenda)))) - - (org-ql org-agenda-files - (and (todo "SOMEDAY") - (tags "Emacs"))) - (org-ql org-agenda-files - (and (todo "SOMEDAY") - (tags "Emacs") - (priority >= "B"))) - (org-ql "~/org/main.org" - (and (or (tags "Emacs") - (priority >= "B")) - (not (done)))) - (org-ql "~/org/main.org" - (and (or (tags "Emacs") - (priority >= "B")) - (done))) -#+END_SRC - -** Property matching - -#+BEGIN_SRC elisp - (org-agenda-ng "~/src/emacs/org-super-agenda/test/test.org" - (property "agenda-group")) - - (org-agenda-ng "~/src/emacs/org-super-agenda/test/test.org" - (property "agenda-group" "plans")) -#+END_SRC - -** Regexp matching - -#+BEGIN_SRC elisp - (org-ql "~/src/emacs/org-super-agenda/test/test.org" - (regexp "over")) - - (org-agenda-ng "~/src/emacs/org-super-agenda/test/test.org" - (regexp "over")) -#+END_SRC - -** Screenshot code - -#+BEGIN_SRC elisp - (org-super-agenda--test-with-org-today-date "2017-07-08 00:00" - (org-ql "~/src/emacs/org-super-agenda/test/test.org" - (and (or (date = today) - (deadline <=) - (scheduled <= today)) - (not (done))))) -#+END_SRC - -** Sorting - -#+BEGIN_SRC elisp - (org-ql "~/src/emacs/org-super-agenda/test/test.org" - (regexp "over") - :sort (priority deadline scheduled)) - - (org-ql "~/src/emacs/org-super-agenda/test/test.org" - (regexp "over") - :sort (date)) - - (org-ql "~/src/emacs/org-super-agenda/test/test.org" - (todo) - :sort (todo)) -#+END_SRC - -* In the wild -:PROPERTIES: -:TOC: :include descendants :depth 1 -:END: -:CONTENTS: -- [[#alois-janicek][Alois Janicek]] -- [[#benson-chu][Benson Chu]] -:END: - -** [[https://github.com/AloisJanicek/.doom.d-2nd][Alois Janicek]] - -*** [[https://github.com/AloisJanicek/.doom.d-2nd/commit/41ed1080f6f90463fc1f1d7e47cef9864756867c][further tweaking org-ql views · AloisJanicek/.doom.d-2nd@41ed108 · GitHub]] - -#+BEGIN_SRC elisp :eval never -;; Hydras -(defhydra gtd-agenda (:color blue - :body-pre - (if (aj/has-heading-p +INBOX) - (org-ql-search `(,+INBOX) "*" - :sort '(date)) - (org-ql-search (org-agenda-files) - '(todo "NEXT") - :sort '(date priority todo) - :groups '((:auto-category t)))) - ) - "agenda" - ("a" (org-ql-agenda (org-agenda-files) - (and (or (ts-active :on today) - (deadline auto) - (scheduled :to today)) - (not (done)))) "agenda") - - ("t" (org-ql-search (org-agenda-files) - '(todo "TODO") - :sort '(date priority todo) - :groups '((:auto-category t))) "todo") - - ("n" (org-ql-search (org-agenda-files) - '(todo "NEXT") - :sort '(date priority todo) - :groups '((:auto-category t))) "next") - - ("h" (org-ql-search (org-agenda-files) - '(todo "HOLD") - :sort '(date priority todo) - :groups '((:auto-category t))) "hold") - - ("s" (org-ql-search (org-agenda-files) - '(tags "someday") - :sort '(date priority todo) - :groups '((:auto-category t))) "someday") - - ("r" (org-ql-search (org-agenda-files) - '(ts :from -7 :to today) - :sort '(date priority todo) - :groups '((:auto-ts t))) "recent") - - ("i" (org-ql-search `(,+INBOX) "*" - :sort '(date)) "inbox") - ) -#+END_SRC - -** [[https://github.com/pestctrl/emacs-config][Benson Chu]] - -*** [[https://github.com/pestctrl/emacs-config/commit/fa3068003373a0c93e23c728b5dbad2d7c11e2e1][Experimental agenda view with org-ql · pestctrl/emacs-config@fa30680 · GitHub]] - -#+BEGIN_SRC elisp :eval never - ("f" "fastdev?" - ((org-ql-block '(tags "refile") - ((org-agenda-overriding-header "Refile tasks"))) - (tags-todo ,(concat dev-tag "/!" (mapconcat #'identity my/active-projects-and-tasks "|")) - ((org-agenda-overriding-header "Stuck Projects") - (org-agenda-skip-function 'my/dev-show-stuck-projects) - (org-tags-match-list-sublevels 'indented) - (org-agenda-sorting-strategy - '((agenda category-keep))))) - (tags-todo ,(concat dev-tag "-short" "/!" (mapconcat #'identity my/active-projects-and-tasks "|")) - ((org-agenda-overriding-header "Active Projects") - (org-agenda-skip-function 'my/dev-show-active-projects) - (org-tags-match-list-sublevels 'indented) - (org-agenda-sorting-strategy - '((agenda category-keep))))) - (org-ql-block '(and (tags "dev") - (todo "WAIT")) - ((org-agenda-overriding-header "Waiting tasks"))) - (org-ql-block '(and (tags "dev") - (todo "NEXT")) - ((org-agenda-overriding-header "Things to do"))) - (agenda "" - ((org-agenda-skip-function 'my/agenda-custom-skip) - (org-agenda-span 'day) - (org-agenda-tag-filter-preset (quote (,dev-tag))) - (org-agenda-skip-deadline-if-done t) - (org-agenda-skip-scheduled-if-done t) - (org-super-agenda-groups '((:name "Overdue" :and (:deadline past :log nil)) - (:name "Upcoming" :deadline future) - (:name "Should do" :and (:scheduled past :log nil)) - (:name "Today" :time-grid t - :and (:not (:and (:not (:scheduled today) - :not (:deadline today))))))))))) -#+END_SRC - -* Profiling -:PROPERTIES: -:TOC: :include descendants :depth 1 -:END: - -:CONTENTS: -- [[#2019-08-29-thu-0624--benchmarking-org-ql-compared-to-re-search-forward-for-getting-headings-in-buffer][{2019-08-29 Thu 06:24} Benchmarking org-ql compared to re-search-forward for getting headings in buffer]] -- [[#caching-of-inherited-tags][Caching of inherited tags]] -- [[#intersecting-query-results][Intersecting query results]] -- [[#more-profiling][More profiling]] -- [[#preambles][Preambles]] -- [[#profiling-flet-across-all-agenda-files][Profiling flet across all agenda files]] -- [[#profiling-flet-on-a-single-file][Profiling flet on a single file]] -- [[#profiling-org-trust-scanner-tags][Profiling org-trust-scanner-tags]] -- [[#profiling-position-based][Profiling position-based]] -- [[#profiling-tags-matching][Profiling tags matching]] -- [[#using-org-element-parse-buffer][Using org-element-parse-buffer]] -- [[#withwithout-tsel][with/without ts.el]] -:END: - - -** [2019-08-29 Thu 06:24] Benchmarking org-ql compared to re-search-forward for getting headings in buffer -:PROPERTIES: -:ID: fcc09229-ed24-42eb-a1fd-31d8f7d4c8d5 -:END: - -Minimal difference, and that's a very large file, too. On smaller files it's thousandths of a second. - -#+BEGIN_SRC elisp - (with-current-buffer (find-buffer-visiting "~/org/inbox.org") - (bench-multi-lexical :times 1 :ensure-equal t - :forms (("org-ql" (org-ql-select (current-buffer) - '(level 1) - :action '(progn - (font-lock-ensure (line-beginning-position) (line-end-position)) - (cons (org-get-heading t) (point))))) - ("re-search-forward" (org-with-wide-buffer - (goto-char (point-min)) - (when (org-before-first-heading-p) - (outline-next-heading)) - (cl-loop while (re-search-forward (rx bol "*" (1+ blank)) nil t) - do (font-lock-ensure (line-beginning-position) (line-end-position)) - collect (cons (org-get-heading t) (match-beginning 0)))))))) -#+END_SRC - -#+RESULTS: -| Form | x faster than next | Total runtime | # of GCs | Total GC runtime | -|-------------------+--------------------+---------------+----------+------------------| -| re-search-forward | 1.17 | 0.520375 | 0 | 0 | -| org-ql | slowest | 0.608281 | 0 | 0 | - -** Caching of inherited tags - -[2019-09-05 Thu 07:59] Implemented a per-buffer tags cache that seems to significantly speed up tags queries that use tag inheritance. It persists as long as the buffer remains unmodified, and it's usable from any code as a single function that automatically uses caching. It also returns inherited tags and local tags separately, which could be useful for having separate selectors, one for inherited tags, one for local tags, and one for both. - -#+BEGIN_SRC elisp - (defvar org-ql-tags-cache (ht) - "Per-buffer tags cache. - Keyed by buffer. Each value is a cons of the buffer's modified - tick, and another hash table keyed on buffer position, whose - values are a list of two lists, inherited tags and local tags, as - strings.") - - (defun org-ql--tags-at (position) - "Return tags for POSITION in current buffer. - Returns cons (INHERITED-TAGS . LOCAL-TAGS)." - ;; I'd like to use `-if-let*', but it doesn't leave non-nil variables - ;; bound in the else clause, so destructured variables that are non-nil, - ;; like found caches, are not available in the else clause. - (if-let* ((buffer-cache (gethash (current-buffer) org-ql-tags-cache)) - (modified-tick (car buffer-cache)) - (tags-cache (cdr buffer-cache)) - (buffer-unmodified-p (eq (buffer-modified-tick) modified-tick)) - (cached-result (gethash position tags-cache))) - ;; Found in cache: return them. - (pcase cached-result - ('org-ql-nil nil) - (_ cached-result)) - ;; Not found in cache: get tags and cache them. - (let* ((local-tags (or (org-get-tags position 'local) - 'org-ql-nil)) - (inherited-tags (or (save-excursion - (when (org-up-heading-safe) - (-let* (((inherited local) (org-ql--tags-at (point))) - (inherited-tags (when (or inherited local) - (cond ((and (listp inherited) - (listp local)) - (append inherited local)) - ((cond ((listp inherited) inherited) - ((listp local) local))))))) - (when inherited-tags - (->> inherited-tags -non-nil -uniq))))) - 'org-ql-nil)) - (all-tags (list inherited-tags local-tags))) - ;; Check caches again, because they may have been set now. - ;; TODO: Is there a clever way we could avoid doing this, or is it inherently necessary? - (setf buffer-cache (gethash (current-buffer) org-ql-tags-cache) - modified-tick (car buffer-cache) - tags-cache (cdr buffer-cache) - buffer-unmodified-p (eq (buffer-modified-tick) modified-tick)) - (cond ((or (not buffer-cache) - (not buffer-unmodified-p)) - ;; Buffer-local tags cache empty or invalid: make new one. - (puthash (current-buffer) - (cons (buffer-modified-tick) - (let ((table (make-hash-table))) - (puthash position all-tags table) - table)) - org-ql-tags-cache) - ;; Return tags, not the cons put on the buffer-cache. - all-tags) - ;; Buffer-local tags cache found, but no result: store this one. - (t (puthash position all-tags tags-cache)))))) - - (org-ql--defpred tags-cached (&rest tags) - "Return non-nil if current heading has one or more of TAGS (a list of strings)." - ;; TODO: Try to use `org-make-tags-matcher' to improve performance. It would be nice to not have - ;; to run `org-get-tags' for every heading, especially with inheritance. - (cl-macrolet ((tags-p (tags) - `(and ,tags - (not (eq 'org-ql-nil ,tags))))) - (-let* (((inherited local) (org-ql--tags-at (point)))) - (cl-typecase tags - (null (or (tags-p inherited) - (tags-p local))) - (otherwise (or (when (tags-p inherited) - (seq-intersection tags inherited)) - (when (tags-p local) - (seq-intersection tags local)))))))) -#+END_SRC - -Benchmark results: - -#+BEGIN_SRC elisp - (let* ((buffers '("~/org/main.org")) - (tags '("Emacs"))) - (bench-multi-lexical :times 1 :ensure-equal t - :forms (("uncached" (let ((org-ql-cache (ht))) - (org-ql-select buffers - `(tags ,@tags)))) - ("cached" (let ((org-ql-cache (ht)) - (org-ql-tags-cache (ht))) - (org-ql-select buffers - `(tags-cached ,@tags))))))) -#+END_SRC - -#+RESULTS: -| Form | x faster than next | Total runtime | # of GCs | Total GC runtime | -|----------+--------------------+---------------+----------+------------------| -| cached | 6.51 | 0.519871 | 0 | 0 | -| uncached | slowest | 3.386679 | 0 | 0 | - -** Intersecting query results - -An idea that /might/ be helpful for performance in /some/ cases, depending on the query, the data, and whether the query has a preamble. But it looks like it would very rarely be helpful. - -#+BEGIN_SRC elisp - (cl-defun org-ql-agenda-intersection (buffers-files queries &key entries sort buffer narrow super-groups) - "Like `org-ql-agenda', but intersects multiple queries." - (declare (indent defun)) - (let* ((org-ql-cache (ht)) - (entries (->> queries - (--map (org-ql-select buffers-files - it - :action 'element-with-markers - :narrow narrow - :sort sort)) - (-reduce #'-intersection)))) - (org-ql-agenda--agenda buffers-files queries - :entries entries :super-groups super-groups))) - - (bench-multi-lexical :times 1 - :forms (("intersection" (let ((org-use-tag-inheritance nil)) - (org-ql-agenda-intersection (org-agenda-files) - '((todo "TODO") - (tags "Emacs")) - :sort '(priority deadline) - :super-groups org-super-agenda-groups))) - ("normal" (let ((org-use-tag-inheritance nil)) - (org-ql-agenda (org-agenda-files) - (and (todo "TODO") - (tags "Emacs")) - :sort (priority deadline) - :super-groups org-super-agenda-groups))))) -#+END_SRC - -#+RESULTS: -| Form | x faster than next | Total runtime | # of GCs | Total GC runtime | -|--------------+--------------------+---------------+----------+------------------| -| normal | 3.70 | 0.233147 | 0 | 0 | -| intersection | slowest | 0.862512 | 0 | 0 | - -*** Alternative approach - -[2019-09-01 Sun 08:17] This is very experimental, but the results are surprising. When the action function returns a fairly simple list, the intersection is very slightly faster. When returning full elements, the intersection is much slower, so that it more than doubles the runtime. I wonder if the element list comparison is short-circuiting, or if it looks at the whole lists, because it seems like it shouldn't take more than 4-5 list elements before it realizes that two lists don't match. - -Anyway, looks like this approach isn't viable, at least not without a much more complicated implementation, which probably wouldn't be worth it. - -#+BEGIN_SRC elisp - (let* ((action-fn (lambda () - (list (current-buffer) - (point) - (substring-no-properties (org-get-heading t t))))) - (files '("~/org/main.org"))) - ;; NOTE: Careful to use the same files and action in each one. I duplicated - ;; the variable in each form to make individual testing easier. - (bench-multi-lexical :times 1 :ensure-equal t - :forms (("normal" (->> (let ((org-ql-cache (ht)) - (action-fn (lambda () - (list (current-buffer) - (point) - (substring-no-properties (org-get-heading t t))))) - (files '("~/org/main.org"))) - (org-ql-select files - '(and (not (done)) - (or (habit) - (deadline auto) - (scheduled :to today) - (ts-active :on today) - (closed :on today))) - :action action-fn)))) - ("Testing" (let* ((org-ql-cache (ht)) - (files '("~/org/main.org")) - (action-fn (lambda () - (list (current-buffer) - (point) - (substring-no-properties (org-get-heading t t))))) - (and-queries '(not (done))) - (or-queries '((habit) - (deadline auto) - (scheduled :to today) - (ts-active :on today) - (closed :on today))) - (and-results (org-ql-select files - and-queries - :action action-fn)) - (or-results (cl-loop for query in or-queries - append (org-ql-select files - query - :action action-fn)))) - (seq-intersection and-results - (->> or-results - -uniq))))))) -#+END_SRC - -#+RESULTS: -| Form | x faster than next | Total runtime | # of GCs | Total GC runtime | -|---------+--------------------+---------------+----------+------------------| -| Testing | 1.15 | 0.248376 | 0 | 0 | -| normal | slowest | 0.284897 | 0 | 0 | - -#+BEGIN_SRC elisp - -;; With caching enabled - (let* ((action-fn (lambda () - (list (current-buffer) - (point) - (substring-no-properties (org-get-heading t t))))) - (files '("~/org/main.org"))) - (bench-multi-lexical :times 1 :ensure-equal t - :forms (("normal" (->> (org-ql-select files - '(and (not (done)) - (or (habit) - (deadline auto) - (scheduled :to today) - (ts-active :on today) - (closed :on today))) - :action action-fn))) - ("Testing" (let* ((files '("~/org/main.org")) - (and-queries '(not (done))) - (or-queries '((habit) - (deadline auto) - (scheduled :to today) - (ts-active :on today) - (closed :on today))) - (and-results (org-ql-select files - and-queries - :action action-fn)) - (or-results (cl-loop for query in or-queries - append (org-ql-select files - query - :action action-fn)))) - (seq-intersection and-results - (->> or-results - -uniq))))))) -#+END_SRC - -#+RESULTS: -| Form | x faster than next | Total runtime | # of GCs | Total GC runtime | -|---------+--------------------+---------------+----------+------------------| -| normal | 13.72 | 0.002311 | 0 | 0 | -| Testing | slowest | 0.031707 | 0 | 0 | - -Using full views: - -#+BEGIN_SRC elisp - (let* ((action-fn (lambda () - (list (current-buffer) - (point) - (substring-no-properties (org-get-heading t t))))) - (files '("~/org/main.org"))) - (bench-multi-lexical :times 1 - :forms (("normal" (->> (let ((org-ql-cache (ht)) - (files '("~/org/main.org"))) - (org-ql-search files - '(and (not (done)) - (or (habit) - (deadline auto) - (scheduled :to today) - (ts-active :on today) - (closed :on today))))))) - ("Testing" (let* ((org-ql-cache (ht)) - (files '("~/org/main.org")) - (and-queries '(not (done))) - (or-queries '((habit) - (deadline auto) - (scheduled :to today) - (ts-active :on today) - (closed :on today))) - (and-results (org-ql-select files - and-queries - :action 'element-with-markers)) - (or-results (cl-loop for query in or-queries - append (org-ql-select files - query - :action 'element-with-markers))) - (final-results (seq-intersection and-results - (->> or-results - -uniq)))) - (org-ql-agenda--agenda nil nil - :entries final-results) - - ))))) -#+END_SRC - -#+RESULTS: -| Form | x faster than next | Total runtime | # of GCs | Total GC runtime | -|---------+--------------------+---------------+----------+------------------| -| normal | 1.74 | 0.534742 | 0 | 0 | -| Testing | slowest | 0.931897 | 0 | 0 | - -Just gathering results, but using elements: - -#+BEGIN_SRC elisp - (let* ((action-fn 'element-with-markers) - (files '("~/org/main.org"))) - ;; NOTE: Careful to use the same files and action in each one. I duplicated - ;; the variable in each form to make individual testing easier. - (bench-multi-lexical :times 1 :ensure-equal t - :forms (("normal" (->> (let ((org-ql-cache (ht))) - (org-ql-select files - '(and (not (done)) - (or (habit) - (deadline auto) - (scheduled :to today) - (ts-active :on today) - (closed :on today))) - :action action-fn)))) - ("Testing" (let* ((org-ql-cache (ht)) - (and-queries '(not (done))) - (or-queries '((habit) - (deadline auto) - (scheduled :to today) - (ts-active :on today) - (closed :on today))) - (and-results (org-ql-select files - and-queries - :action action-fn)) - (or-results (cl-loop for query in or-queries - append (org-ql-select files - query - :action action-fn)))) - (seq-intersection and-results - (->> or-results - -uniq))))))) -#+END_SRC - -#+RESULTS: -| Form | x faster than next | Total runtime | # of GCs | Total GC runtime | -|---------+--------------------+---------------+----------+------------------| -| normal | 2.27 | 0.314218 | 0 | 0 | -| Testing | slowest | 0.714587 | 0 | 0 | - - -** More profiling - -[2018-05-10 Thu 15:02] I think these are decent improvements. - -#+BEGIN_SRC elisp - (elp-profile 1 nil (org-agenda-ng "~/org/main.org" - (or (habit) - (and (or (date '= (org-today)) - (deadline '<=) - (scheduled '<= (org-today))) - (not (apply #'todo org-done-keywords-for-agenda))) - (and (todo "DONE" "CANCELLED") - (closed '= (org-today)))))) -#+END_SRC - -#+RESULTS: -| Function | Times called | Total time | Average time | -|-------------------------------+--------------+--------------+--------------| -| mapcar | 164 | 1.5004585290 | 0.0091491373 | -| org-agenda-ng--agenda | 1 | 1.348231247 | 1.348231247 | -| org-agenda-ng--filter-buffer | 1 | 1.1391189879 | 1.1391189879 | -| org-agenda-ng--date-plain-p | 1267 | 0.6198571040 | 0.0004892321 | -| org-entry-get | 3983 | 0.2979337370 | 7.480...e-05 | -| org-is-habit-p | 1365 | 0.2049101109 | 0.0001501172 | -| org--property-local-values | 1365 | 0.1940614150 | 0.0001421695 | -| org-agenda-ng--habit-p | 1272 | 0.1911009179 | 0.0001502365 | -| org-agenda-ng--format-element | 52 | 0.177965411 | 0.0034224117 | -| org-get-property-block | 1365 | 0.1760004519 | 0.0001289380 | -| org-get-tags-at | 52 | 0.1362824969 | 0.0026208172 | -| org-agenda-ng--date-p | 3880 | 0.1351176629 | 3.482...e-05 | -| org-up-heading-safe | 226 | 0.1276747609 | 0.0005649325 | -| re-search-backward | 2028 | 0.1144211070 | 5.642...e-05 | -| org-entry-properties | 2618 | 0.0848660999 | 3.241...e-05 | -| org-agenda-ng--todo-p | 1319 | 0.081952653 | 6.213...e-05 | -| org-get-todo-state | 1319 | 0.0796836810 | 6.041...e-05 | -| re-search-forward | 3754 | 0.0739803739 | 1.970...e-05 | -| org-inlinetask-in-task-p | 1365 | 0.0657829330 | 4.819...e-05 | -| org-agenda-ng--scheduled-p | 1247 | 0.0619497850 | 4.967...e-05 | - -** Preambles - -Not sure if clearing the cache is necessary here, because it seemed to make nearly no difference in the results, but I don't know why. - -#+BEGIN_SRC elisp :results silent - (cl-defmacro org-ql-preamble-bench (&key query (file "tests/data.org") (times 10)) - `(bench-multi-lets :times ,times :ensure-equal t - :lets (("preamble" ((org-ql-use-preamble t) - (org-ql-cache (ht)))) - ("no preamble" ((org-ql-use-preamble nil) - (org-ql-cache (ht))))) - :forms ((,(prin1-to-string query) (org-ql-select ,file - ',query - :action '(org-get-heading t t)))))) -#+END_SRC - -*** =closed= - -#+BEGIN_SRC elisp - (org-ql-preamble-bench :times 1 - :file "~/org/inbox.org" - :query (closed)) -#+END_SRC - -#+RESULTS: -| Form | x faster than next | Total runtime | # of GCs | Total GC runtime | -|-----------------------+--------------------+---------------+----------+------------------| -| preamble: (closed) | 4.80 | 0.086553 | 0 | 0 | -| no preamble: (closed) | slowest | 0.415165 | 0 | 0 | - -#+BEGIN_SRC elisp - (org-ql-preamble-bench :times 1 - :file "~/org/inbox.org" - :query (closed <= "2019-01-01")) -#+END_SRC - -#+RESULTS: -| Form | x faster than next | Total runtime | # of GCs | Total GC runtime | -|---------------------------------------+--------------------+---------------+----------+------------------| -| preamble: (closed <= "2019-01-01") | 4.21 | 0.105782 | 0 | 0 | -| no preamble: (closed <= "2019-01-01") | slowest | 0.445374 | 0 | 0 | - -*** =deadline= - -#+BEGIN_SRC elisp - (org-ql-preamble-bench :times 1 - :file "~/org/inbox.org" - :query (deadline)) -#+END_SRC - -#+RESULTS: -| Form | x faster than next | Total runtime | # of GCs | Total GC runtime | -|-------------------------+--------------------+---------------+----------+------------------| -| preamble: (deadline) | 27.63 | 0.014656 | 0 | 0 | -| no preamble: (deadline) | slowest | 0.404952 | 0 | 0 | - -#+BEGIN_SRC elisp - (org-ql-preamble-bench :times 1 - :file "~/org/inbox.org" - :query (deadline <= "2019-01-01")) -#+END_SRC - -#+RESULTS: -| Form | x faster than next | Total runtime | # of GCs | Total GC runtime | -|-----------------------------------------+--------------------+---------------+----------+------------------| -| preamble: (deadline <= "2019-01-01") | 27.91 | 0.014606 | 0 | 0 | -| no preamble: (deadline <= "2019-01-01") | slowest | 0.407682 | 0 | 0 | - -*** =habit= - -#+BEGIN_SRC elisp - (org-ql-preamble-bench :times 1 - :file "~/org/inbox.org" - :query (habit)) -#+END_SRC - -#+RESULTS: -| Form | x faster than next | Total runtime | # of GCs | Total GC runtime | -|----------------------+--------------------+---------------+----------+------------------| -| preamble: (habit) | 70.09 | 0.016489 | 0 | 0 | -| no preamble: (habit) | slowest | 1.155649 | 0 | 0 | - -*** =level= - -#+BEGIN_SRC elisp - (org-ql-preamble-bench :times 1 - :file "~/org/inbox.org" - :query (level 1)) -#+END_SRC - -#+RESULTS: -| Form | x faster than next | Total runtime | # of GCs | Total GC runtime | -|------------------------+--------------------+---------------+----------+------------------| -| preamble: (level 1) | 1.34 | 0.562950 | 0 | 0 | -| no preamble: (level 1) | slowest | 0.754050 | 0 | 0 | - -*** =property= - -#+BEGIN_SRC elisp - (org-ql-preamble-bench :times 1 - :file "~/org/inbox.org" - :query (property "agenda-group")) -#+END_SRC - -#+RESULTS: -| Form | x faster than next | Total runtime | # of GCs | Total GC runtime | -|----------------------------------------+--------------------+---------------+----------+------------------| -| preamble: (property "agenda-group") | 70.44 | 0.016571 | 0 | 0 | -| no preamble: (property "agenda-group") | slowest | 1.167203 | 0 | 0 | - -#+BEGIN_SRC elisp - (org-ql-preamble-bench :times 1 - :file "~/org/inbox.org" - :query (property "ID")) -#+END_SRC - -#+RESULTS: -| Form | x faster than next | Total runtime | # of GCs | Total GC runtime | -|------------------------------+--------------------+---------------+----------+------------------| -| preamble: (property "ID") | 3.51 | 0.369830 | 0 | 0 | -| no preamble: (property "ID") | slowest | 1.299684 | 0 | 0 | - -#+BEGIN_SRC elisp - (org-ql-preamble-bench :times 1 - :file "~/org/inbox.org" - :query (property "agenda-group" "plans")) -#+END_SRC - -#+RESULTS: -| Form | x faster than next | Total runtime | # of GCs | Total GC runtime | -|------------------------------------------------+--------------------+---------------+----------+------------------| -| preamble: (property "agenda-group" "plans") | 72.54 | 0.016862 | 0 | 0 | -| no preamble: (property "agenda-group" "plans") | slowest | 1.223197 | 0 | 0 | - -*** =scheduled= - -#+BEGIN_SRC elisp - (org-ql-preamble-bench :times 1 - :file "~/org/inbox.org" - :query (scheduled)) -#+END_SRC - -#+RESULTS: -| Form | x faster than next | Total runtime | # of GCs | Total GC runtime | -|--------------------------+--------------------+---------------+----------+------------------| -| preamble: (scheduled) | 4.45 | 0.100968 | 0 | 0 | -| no preamble: (scheduled) | slowest | 0.449321 | 0 | 0 | - -#+BEGIN_SRC elisp - (org-ql-preamble-bench :times 1 - :file "~/org/inbox.org" - :query (scheduled <= "2019-01-01")) -#+END_SRC - -#+RESULTS: -| Form | x faster than next | Total runtime | # of GCs | Total GC runtime | -|------------------------------------------+--------------------+---------------+----------+------------------| -| preamble: (scheduled <= "2019-01-01") | 4.13 | 0.111067 | 0 | 0 | -| no preamble: (scheduled <= "2019-01-01") | slowest | 0.458726 | 0 | 0 | - -*** =tags= - -If tag inheritance is enabled, we have to check tags on every heading. When it's disabled, we can search directly to headings with the given tags. - -#+BEGIN_SRC elisp - (let ((org-use-tag-inheritance t)) - (org-ql-preamble-bench :times 1 - :file "~/org/inbox.org" - :query (tags "Emacs"))) -#+END_SRC - -#+RESULTS: -| Form | x faster than next | Total runtime | # of GCs | Total GC runtime | -|-----------------------------+--------------------+---------------+----------+------------------| -| no preamble: (tags "Emacs") | 1.01 | 1.899647 | 0 | 0 | -| preamble: (tags "Emacs") | slowest | 1.921799 | 0 | 0 | - -#+BEGIN_SRC elisp - (let ((org-use-tag-inheritance nil)) - (org-ql-preamble-bench :times 1 - :file "~/org/inbox.org" - :query (tags "Emacs"))) -#+END_SRC - -#+RESULTS: -| Form | x faster than next | Total runtime | # of GCs | Total GC runtime | -|-----------------------------+--------------------+---------------+----------+------------------| -| preamble: (tags "Emacs") | 2.08 | 0.274555 | 0 | 0 | -| no preamble: (tags "Emacs") | slowest | 0.570116 | 0 | 0 | - -*** ~ts~ - -#+BEGIN_SRC elisp - (org-ql-preamble-bench :times 1 - :file "~/org/inbox.org" - :query (ts)) -#+END_SRC - -#+RESULTS: -| Form | x faster than next | Total runtime | # of GCs | Total GC runtime | -|-------------------+--------------------+---------------+----------+------------------| -| preamble: (ts) | 1.13 | 0.475646 | 0 | 0 | -| no preamble: (ts) | slowest | 0.535950 | 0 | 0 | - -#+BEGIN_SRC elisp - (org-ql-preamble-bench :times 1 - :file "~/org/inbox.org" - :query (ts :from "2019-01-01")) -#+END_SRC - -#+RESULTS: -| Form | x faster than next | Total runtime | # of GCs | Total GC runtime | -|--------------------------------------+--------------------+---------------+----------+------------------| -| no preamble: (ts :from "2019-01-01") | 1.11 | 0.537445 | 0 | 0 | -| preamble: (ts :from "2019-01-01") | slowest | 0.594534 | 0 | 0 | - -#+BEGIN_SRC elisp - (org-ql-preamble-bench :times 1 - :file "~/org/inbox.org" - :query (ts :from "2017-01-01")) -#+END_SRC - -#+RESULTS: -| Form | x faster than next | Total runtime | # of GCs | Total GC runtime | -|--------------------------------------+--------------------+---------------+----------+------------------| -| no preamble: (ts :from "2017-01-01") | 1.13 | 0.526891 | 0 | 0 | -| preamble: (ts :from "2017-01-01") | slowest | 0.594360 | 0 | 0 | - -Not sure why that one is slower with preamble. - -#+BEGIN_SRC elisp - (org-ql-preamble-bench :times 10 - :query (ts :from "2017-01-01")) -#+END_SRC - -#+RESULTS: -| Form | x faster than next | Total runtime | # of GCs | Total GC runtime | -|--------------------------------------+--------------------+---------------+----------+------------------| -| no preamble: (ts :from "2017-01-01") | 1.04 | 0.025688 | 0 | 0 | -| preamble: (ts :from "2017-01-01") | slowest | 0.026642 | 0 | 0 | - -#+BEGIN_SRC elisp - (org-ql-preamble-bench :times 1 - :file "~/org/inbox.org" - :query (ts :to "2010-01-01")) -#+END_SRC - -#+RESULTS: -| Form | x faster than next | Total runtime | # of GCs | Total GC runtime | -|------------------------------------+--------------------+---------------+----------+------------------| -| no preamble: (ts :to "2010-01-01") | 1.10 | 0.538603 | 0 | 0 | -| preamble: (ts :to "2010-01-01") | slowest | 0.593466 | 0 | 0 | - -*** ~ts-active~ - -#+BEGIN_SRC elisp - (org-ql-preamble-bench :times 1 - :file "~/org/inbox.org" - :query (ts-a)) -#+END_SRC - -#+RESULTS: -| Form | x faster than next | Total runtime | # of GCs | Total GC runtime | -|---------------------+--------------------+---------------+----------+------------------| -| preamble: (ts-a) | 4.77 | 0.071489 | 0 | 0 | -| no preamble: (ts-a) | slowest | 0.340896 | 0 | 0 | - -#+BEGIN_SRC elisp - (org-ql-preamble-bench :times 1 - :file "~/org/inbox.org" - :query (ts-a :from "2017-07-06")) -#+END_SRC - -#+RESULTS: -| Form | x faster than next | Total runtime | # of GCs | Total GC runtime | -|----------------------------------------+--------------------+---------------+----------+------------------| -| preamble: (ts-a :from "2017-07-06") | 1.78 | 0.188369 | 0 | 0 | -| no preamble: (ts-a :from "2017-07-06") | slowest | 0.335975 | 0 | 0 | - -#+BEGIN_SRC elisp - (org-ql-preamble-bench :times 1 - :file "~/org/inbox.org" - :query (ts-a :to "2017-07-06")) -#+END_SRC - -#+RESULTS: -| Form | x faster than next | Total runtime | # of GCs | Total GC runtime | -|--------------------------------------+--------------------+---------------+----------+------------------| -| preamble: (ts-a :to "2017-07-06") | 4.64 | 0.075307 | 0 | 0 | -| no preamble: (ts-a :to "2017-07-06") | slowest | 0.349445 | 0 | 0 | - -#+BEGIN_SRC elisp - (org-ql-preamble-bench :times 1 - :file "~/org/inbox.org" - :query (ts-a :on "2017-07-06")) -#+END_SRC - -#+RESULTS: -| Form | x faster than next | Total runtime | # of GCs | Total GC runtime | -|--------------------------------------+--------------------+---------------+----------+------------------| -| preamble: (ts-a :on "2017-07-06") | 4.33 | 0.076075 | 0 | 0 | -| no preamble: (ts-a :on "2017-07-06") | slowest | 0.329106 | 0 | 0 | - -*** ~ts-inactive~ - -#+BEGIN_SRC elisp - (org-ql-preamble-bench :times 1 - :file "~/org/inbox.org" - :query (ts-i)) -#+END_SRC - -#+RESULTS: -| Form | x faster than next | Total runtime | # of GCs | Total GC runtime | -|---------------------+--------------------+---------------+----------+------------------| -| preamble: (ts-i) | 1.21 | 0.459152 | 0 | 0 | -| no preamble: (ts-i) | slowest | 0.555632 | 0 | 0 | - -#+BEGIN_SRC elisp - (org-ql-preamble-bench :times 1 - :file "~/org/inbox.org" - :query (ts-i :from "2019-07-06")) -#+END_SRC - -#+RESULTS: -| Form | x faster than next | Total runtime | # of GCs | Total GC runtime | -|----------------------------------------+--------------------+---------------+----------+------------------| -| no preamble: (ts-i :from "2019-07-06") | 1.09 | 0.531976 | 0 | 0 | -| preamble: (ts-i :from "2019-07-06") | slowest | 0.579745 | 0 | 0 | - -#+BEGIN_SRC elisp - (org-ql-preamble-bench :times 1 - :file "~/org/inbox.org" - :query (ts-i :to "2019-07-06")) -#+END_SRC - -#+RESULTS: -| Form | x faster than next | Total runtime | # of GCs | Total GC runtime | -|--------------------------------------+--------------------+---------------+----------+------------------| -| no preamble: (ts-i :to "2019-07-06") | 1.34 | 0.553428 | 0 | 0 | -| preamble: (ts-i :to "2019-07-06") | slowest | 0.743881 | 0 | 0 | - -** Profiling flet across all agenda files - -*** With flet - -#+BEGIN_SRC elisp - (elp-profile 5 (org-agenda-ng--agenda - :files org-agenda-files - :pred (lambda () - (and (todo) - (or (date :deadline '<= (org-today)) - (date :scheduled '<= (org-today))) - (not (apply #'todo org-done-keywords-for-agenda)))))) -#+END_SRC - -#+RESULTS: -#+begin_example -mapcar 711 25.608392569 0.0360174297 -org-agenda-ng--agenda 5 24.019318793 4.8038637586 -org-agenda-ng--filter-buffer 40 14.160293256 0.3540073313 -org-agenda-ng--date-p 21595 4.2111783960 0.0001950071 -org-agenda-finalize-entries 5 4.0930243110 0.8186048622 -org-super-agenda--filter-finalize-entries 5 3.937522006 0.7875044012 -org-agenda-ng--todo-p 37080 3.5687476730 9.624...e-05 -org-get-todo-state 37080 3.4737076600 9.368...e-05 -outline-next-heading 34625 3.4689080650 0.0001001850 -re-search-forward 42280 3.0743315830 7.271...e-05 -org-agenda-ng--format-element 1180 2.9511605820 0.0025009835 -org-element-headline-parser 1180 2.6757063699 0.0022675477 -org-super-agenda--group-items 5 2.187362092 0.4374724183 -org-super-agenda--group-dispatch 70 2.184685662 0.0312097951 -org-entry-get 22730 2.0711872869 9.112...e-05 -org-entry-properties 21595 1.8958912070 8.779...e-05 -org-super-agenda--group-tag 25 1.8498977799 0.0739959111 -org-element-timestamp-parser 3785 1.8234333229 0.0004817525 -org-parse-time-string 7560 1.7121709579 0.0002264776 -org-element--get-time-properties 1180 1.1814058020 0.0010011913 -#+end_example - -*** Without flet - -#+BEGIN_SRC elisp - (elp-profile 5 (org-agenda-ng--agenda - :files org-agenda-files - :pred (lambda () - (and (org-agenda-ng--todo-p) - (or (org-agenda-ng--date-p :deadline '<= (org-today)) - (org-agenda-ng--date-p :scheduled '<= (org-today))) - (not (apply #'org-agenda-ng--todo-p org-done-keywords-for-agenda)))))) -#+END_SRC - -#+RESULTS: -#+begin_example -mapcar 711 26.910164986 0.0378483333 -org-agenda-ng--agenda 5 21.012501837 4.2025003674 -org-agenda-ng--filter-buffer 40 13.751964650 0.3437991162 -org-agenda-ng--todo-p 37080 5.8788306440 0.0001585445 -org-agenda-ng--format-element 1180 4.5712275970 0.0038739216 -org-get-todo-state 37080 4.1661659069 0.0001123561 -org-agenda-ng--date-p 21595 4.1442710769 0.0001919088 -org-entry-get 22730 2.8275069239 0.0001243953 -org-entry-properties 21595 2.6558403739 0.0001229840 -outline-next-heading 34625 2.0894695999 6.034...e-05 -org-element-headline-parser 1180 1.9110445780 0.0016195293 -re-search-forward 42280 1.6994989150 4.019...e-05 -org-agenda-ng--add-faces 1180 1.6172592580 0.0013705586 -org-agenda-ng--add-scheduled-face 1180 1.607386145 0.0013621916 -org-get-tags-at 1180 1.1521010509 0.0009763568 -org-back-to-heading 64530 1.1005834200 1.705...e-05 -org-up-heading-safe 2360 1.0182265390 0.0004314519 -outline-back-to-heading 64530 1.0086056729 1.563...e-05 -org-parse-time-string 7560 0.8314918499 0.0001099856 -org-time-string-to-absolute 3780 0.8277485280 0.0002189810 -#+end_example - - -** Profiling flet on a single file - -This shows that the difference between them, if any, is so small as to be irrelevant. The convenience and clarity are a big win. - -*** With flet - -#+BEGIN_SRC elisp - (elp-profile 5 (org-agenda-ng--agenda - :files "~/org/main.org" - :pred (lambda () - (and (todo) - (or (date :deadline '<= (org-today)) - (date :scheduled '<= (org-today))) - (not (apply #'todo org-done-keywords-for-agenda)))))) -#+END_SRC - -#+RESULTS: -#+begin_example -mapcar 526 3.7898506779 0.0072050393 -org-agenda-ng--agenda 5 2.7695176850 0.5539035370 -org-agenda-ng--filter-buffer 5 1.414347774 0.2828695548 -org-agenda-ng--format-element 265 0.8871611419 0.0033477778 -org-get-tags-at 265 0.7891641319 0.0029779778 -org-up-heading-safe 1150 0.7581951110 0.0006593000 -re-search-backward 3700 0.5948686769 0.0001607753 -org-agenda-ng--todo-p 6690 0.5840980579 8.730...e-05 -org-get-todo-state 6690 0.5666448919 8.470...e-05 -org-agenda-ng--date-p 5940 0.5196037069 8.747...e-05 -org-entry-get 6195 0.4144106150 6.689...e-05 -org-entry-properties 5940 0.3640680380 6.129...e-05 -org-element-headline-parser 265 0.2810144920 0.0010604320 -outline-next-heading 6195 0.2495287770 4.027...e-05 -org-back-to-heading 14565 0.1959557380 1.345...e-05 -re-search-forward 7850 0.1933439489 2.462...e-05 -outline-back-to-heading 14565 0.1753121230 1.203...e-05 -org-outline-level 2300 0.1676228200 7.287...e-05 -org-agenda-finalize-entries 5 0.1607656930 0.0321531386 -org-super-agenda--filter-finalize-entries 5 0.1316961509 0.0263392301 -#+end_example - -*** Without flet - -#+BEGIN_SRC elisp - (elp-profile 5 (org-agenda-ng--agenda - :files "~/org/main.org" - :pred (lambda () - (and (org-agenda-ng--todo-p) - (or (org-agenda-ng--date-p :deadline '<= (org-today)) - (org-agenda-ng--date-p :scheduled '<= (org-today))) - (not (apply #'org-agenda-ng--todo-p org-done-keywords-for-agenda)))))) -#+END_SRC - -#+RESULTS: -#+begin_example -mapcar 526 3.7766218089 0.0071798893 -org-agenda-ng--agenda 5 2.75718831 0.551437662 -org-agenda-ng--filter-buffer 5 1.402551392 0.2805102784 -org-agenda-ng--format-element 265 0.8864161399 0.0033449665 -org-get-tags-at 265 0.7896260759 0.0029797210 -org-up-heading-safe 1150 0.7589292910 0.0006599385 -re-search-backward 3700 0.5956338739 0.0001609821 -org-agenda-ng--todo-p 6690 0.5781650060 8.642...e-05 -org-get-todo-state 6690 0.5603983020 8.376...e-05 -org-agenda-ng--date-p 5940 0.5209897369 8.770...e-05 -org-entry-get 6195 0.4158440950 6.712...e-05 -org-entry-properties 5940 0.3640524090 6.128...e-05 -org-element-headline-parser 265 0.2810144710 0.0010604319 -outline-next-heading 6195 0.2485497380 4.012...e-05 -org-back-to-heading 14565 0.1957209180 1.343...e-05 -re-search-forward 7850 0.1927130979 2.454...e-05 -outline-back-to-heading 14565 0.1751091780 1.202...e-05 -org-outline-level 2300 0.1680958539 7.308...e-05 -org-agenda-finalize-entries 5 0.1610422239 0.0322084448 -org-super-agenda--filter-finalize-entries 5 0.132423043 0.0264846085 -#+end_example - - -** Profiling =org-trust-scanner-tags= - -[2018-05-10 Thu 12:59] Turned on =org-trust-scanner-tags=, going to try profiling again: - -#+BEGIN_SRC elisp - ;; (elp-profile 1 nil (org-agenda-ng "~/src/emacs/org-super-agenda/test/test.org" - ;; (tags "world"))) - - (elp-profile 10 nil (org-agenda-ng org-agenda-files - (tags "Emacs"))) -#+END_SRC - -#+RESULTS: -| Function | Times called | Total time | Average time | -|-------------------------------------------+--------------+--------------+--------------| -| org-agenda-ng--agenda | 10 | 44.092598282 | 4.4092598282 | -| mapcar | 282 | 40.234516707 | 0.1426755911 | -| org-agenda-ng--filter-buffer | 80 | 26.895492471 | 0.3361936558 | -| org-element-headline-parser | 3980 | 10.387614362 | 0.0026099533 | -| org-agenda-finalize-entries | 10 | 9.194458252 | 0.9194458252 | -| org-agenda-ng--tags-p | 70250 | 8.1897379849 | 0.0001165799 | -| org-agenda-ng--format-element | 3980 | 6.5944325679 | 0.0016568926 | -| outline-next-heading | 70320 | 6.1190180490 | 8.701...e-05 | -| re-search-forward | 97050 | 5.8706467829 | 6.049...e-05 | -| org-get-tags-at | 74230 | 5.4078158059 | 7.285...e-05 | -| org-super-agenda--filter-finalize-entries | 10 | 5.2320123400 | 0.5232012340 | -| org-super-agenda--group-items | 10 | 5.1260959210 | 0.5126095921 | -| org-super-agenda--group-dispatch | 130 | 5.119333624 | 0.0393794894 | -| sort | 20 | 3.8204368569 | 0.1910218428 | -| org-element--parse-objects | 6180 | 3.5386578929 | 0.0005725983 | -| org-is-habit-p | 5970 | 3.2497755920 | 0.0005443510 | -| org-entry-get | 5970 | 3.2347964049 | 0.0005418419 | -| org--property-local-values | 5970 | 3.1796357319 | 0.0005326023 | -| org-get-property-block | 5970 | 3.0767919680 | 0.0005153755 | -| org-entries-lessp | 20020 | 2.6563960079 | 0.0001326871 | - -Now trying again without it: - -#+BEGIN_SRC elisp - ;; (elp-profile 1 nil (org-agenda-ng "~/src/emacs/org-super-agenda/test/test.org" - ;; (tags "world"))) - - (elp-profile 10 nil (org-agenda-ng org-agenda-files - (tags "Emacs"))) -#+END_SRC - -#+RESULTS: -| Function | Times called | Total time | Average time | -|-------------------------------------------+--------------+--------------+--------------| -| mapcar | 1791 | 57.096304538 | 0.0318795670 | -| org-agenda-ng--agenda | 10 | 54.232133506 | 5.4232133505 | -| org-agenda-ng--filter-buffer | 80 | 30.065167040 | 0.3758145880 | -| org-get-tags-at | 74230 | 13.840202495 | 0.0001864502 | -| org-agenda-ng--format-element | 3980 | 13.429297797 | 0.0033741954 | -| org-element-headline-parser | 3980 | 12.771776652 | 0.0032089891 | -| org-agenda-finalize-entries | 10 | 9.1439433990 | 0.9143943399 | -| org-agenda-ng--tags-p | 70250 | 9.0249653730 | 0.0001284692 | -| org-super-agenda--filter-finalize-entries | 10 | 7.300515859 | 0.7300515859 | -| outline-next-heading | 70320 | 7.2384435649 | 0.0001029357 | -| org-super-agenda--group-items | 10 | 4.918585855 | 0.4918585855 | -| org-super-agenda--group-dispatch | 130 | 4.9125893509 | 0.0377891488 | -| re-search-forward | 101020 | 4.6294823850 | 4.582...e-05 | -| org-up-heading-safe | 7370 | 4.4629885620 | 0.0006055615 | -| org-is-habit-p | 5960 | 4.2772351910 | 0.0007176569 | -| org-entry-get | 5960 | 4.2595350800 | 0.0007146870 | -| org-super-agenda--group-tag | 50 | 3.8942044929 | 0.0778840898 | -| re-search-backward | 26150 | 3.3660083490 | 0.0001287192 | -| org--property-local-values | 5960 | 3.1793476329 | 0.0005334475 | -| org-get-property-block | 5960 | 3.0662425979 | 0.0005144702 | - -Wow, using =org-trust-scanner-tags= saves a /lot/ of time. - -** Profiling position-based - -*** Macro - -#+BEGIN_SRC elisp - (defmacro elp-profile (times &rest body) - (declare (indent defun)) - `(let ((prefixes '("org-" "string-" "s-" "buffer-" "append" "delq" "map" - "list" "car" "save-" "outline-" "delete-dups" - "sort" "line-" "nth" "concat" "char-to-string" - "rx-" "goto-" "when" "search-" "re-")) - output) - (dolist (prefix prefixes) - (elp-instrument-package prefix)) - (dotimes (x ,times) - ,@body) - (elp-results) - (elp-restore-all) - (point-min) - (forward-line 20) - (delete-region (point) (point-max)) - (setq output (buffer-substring-no-properties (point-min) (point-max))) - (kill-buffer) - (delete-window) - output)) -#+END_SRC - - -*** ng-flet - -#+BEGIN_SRC elisp - (elp-profile 5 (org-agenda-ng--test-agenda-today)) -#+END_SRC - -#+RESULTS: -#+begin_example -mapcar 121 0.1292609089 0.0010682719 -org-agenda-ng--test-agenda-today 5 0.0860146149 0.017202923 -org-agenda-ng--agenda 5 0.0858901769 0.0171780353 -org-agenda-ng--format-element 75 0.0308815090 0.0004117534 -org-agenda-ng--filter-buffer 5 0.026709027 0.0053418054 -org-agenda-ng--date-p 455 0.0210552310 4.627...e-05 -org-element-headline-parser 75 0.016209908 0.0002161321 -org-get-tags-at 75 0.008953666 0.0001193822 -org-agenda-ng--add-faces 75 0.0072834109 9.711...e-05 -org-element-timestamp-interpreter 150 0.0068781430 4.585...e-05 -org-entry-get 290 0.0060815609 2.097...e-05 -org-up-heading-safe 210 0.005708647 2.718...e-05 -org-agenda-finalize-entries 5 0.005201221 0.0010402442 -org-element-timestamp-parser 150 0.005191617 3.461078e-05 -org-entry-properties 290 0.0048787450 1.682...e-05 -org-element--get-time-properties 75 0.004112675 5.483...e-05 -org-agenda-ng--add-deadline-face 75 0.0039314910 5.241...e-05 -org-back-to-heading 725 0.0037559990 5.180...e-06 -org-agenda-ng--add-scheduled-face 75 0.0031766149 4.235...e-05 -org-parse-time-string 300 0.0031740200 1.058...e-05 -#+end_example - -*** ng-funcall - -#+BEGIN_SRC elisp - (elp-profile 5 (org-agenda-ng--test-agenda-today)) -#+END_SRC - -#+RESULTS: -#+begin_example -mapcar 121 0.1296645480 0.0010716078 -org-agenda-ng--test-agenda-today 5 0.086714029 0.0173428058 -org-agenda-ng--agenda 5 0.086584611 0.0173169222 -org-agenda-ng--format-element 75 0.0307461019 0.0004099480 -org-agenda-ng--filter-buffer 5 0.027136826 0.0054273652 -org-agenda-ng--date-p 455 0.0213037090 4.682...e-05 -org-element-headline-parser 75 0.016251755 0.0002166900 -org-get-tags-at 75 0.008959605 0.0001194614 -org-agenda-ng--add-faces 75 0.0072381410 9.650...e-05 -org-element-timestamp-interpreter 150 0.0069832960 4.655...e-05 -org-entry-get 290 0.0061220340 2.111...e-05 -org-up-heading-safe 210 0.0057036860 2.716...e-05 -org-agenda-finalize-entries 5 0.005372899 0.0010745798 -org-element-timestamp-parser 150 0.0050518689 3.367...e-05 -org-entry-properties 290 0.0049517209 1.707...e-05 -org-agenda-ng--add-deadline-face 75 0.0039273909 5.236...e-05 -org-element--get-time-properties 75 0.0039059429 5.207...e-05 -org-back-to-heading 725 0.0037793259 5.212...e-06 -org-parse-time-string 300 0.0032196259 1.073...e-05 -org-agenda-ng--add-scheduled-face 75 0.0031410580 4.188...e-05 -#+end_example - -*** orig - -Make sure to kill any existing agenda buffers first. - -#+BEGIN_SRC elisp - (elp-profile 1 (org-agenda-list nil nil 'week)) -#+END_SRC - -#+RESULTS: -#+begin_example -org-agenda-list 1 9.693596196 9.693596196 -org-agenda-get-day-entries 56 8.630330659 0.1541130474 -org-agenda-get-scheduled 56 6.6207980570 0.1182285367 -org-is-habit-p 2792 2.2907458449 0.0008204677 -org-entry-get 2798 2.287390186 0.0008175090 -org-agenda--timestamp-to-absolute 7708 2.0970420100 0.0002720604 -org-agenda-get-deadlines 56 1.6941886389 0.0302533685 -org-at-planning-p 4399 1.3993312159 0.0003181021 -org--property-local-values 2793 1.2699226760 0.0004546805 -org-get-property-block 2794 1.2182695930 0.0004360306 -org-time-string-to-absolute 7708 1.1513844880 0.0001493752 -org-inlinetask-in-task-p 6969 1.139932302 0.0001635718 -org-parse-time-string 7880 1.0635759220 0.0001349715 -org-closest-date 3864 1.0383435800 0.0002687224 -re-search-forward 15199 0.9607921779 6.321...e-05 -org-back-to-heading 12667 0.8564486210 6.761...e-05 -outline-back-to-heading 12667 0.8362207570 6.601...e-05 -line-beginning-position 10333 0.7998346869 7.740...e-05 -org-agenda-format-item 279 0.7552402350 0.0027069542 -re-search-backward 16726 0.5694224969 3.404...e-05 -#+end_example - -** Profiling tags matching - -*** ng - -#+BEGIN_SRC elisp - (elp-profile 1 nil - (org-agenda-ng "~/org/main.org" - (tags "computer"))) -#+END_SRC - -#+RESULTS: -| Function | Times called | Total time | Average time | -|--------------------------------+--------------+--------------+--------------| -| mapcar | 4217 | 12.612716455 | 0.0029909216 | -| org-agenda-ng--agenda | 1 | 9.721410651 | 9.721410651 | -| org-get-tags-at | 1845 | 7.4793860389 | 0.0040538677 | -| org-up-heading-safe | 9361 | 6.4622674019 | 0.0006903394 | -| re-search-backward | 25001 | 5.3399866239 | 0.0002135909 | -| org-agenda-ng--filter-buffer | 1 | 4.874598854 | 4.874598854 | -| org-agenda-ng--tags-p | 1238 | 4.8067623430 | 0.0038826836 | -| org-agenda-ng--format-element | 607 | 3.6325626609 | 0.0059844524 | -| org-outline-level | 17484 | 1.0298924459 | 5.890...e-05 | -| org-add-props | 2074 | 0.8305549259 | 0.0004004604 | -| org-element-headline-parser | 607 | 0.2092664829 | 0.0003447553 | -| org-back-to-heading | 11813 | 0.1252112960 | 1.059...e-05 | -| outline-back-to-heading | 11813 | 0.1100693780 | 9.317...e-06 | -| org-end-of-subtree | 607 | 0.0721986340 | 0.0001189433 | -| outline-on-heading-p | 11813 | 0.0675261030 | 5.716...e-06 | -| outline-next-heading | 1239 | 0.0627980999 | 5.068...e-05 | -| re-search-forward | 3273 | 0.0612446620 | 1.871...e-05 | -| org-agenda-finalize-entries | 1 | 0.041846274 | 0.041846274 | -| buffer-substring-no-properties | 6329 | 0.0308716979 | 4.877...e-06 | -| line-end-position | 903 | 0.0280484950 | 3.106...e-05 | - -*** ng without inheritance - -#+BEGIN_SRC elisp - (elp-profile 1 nil - (org-agenda-ng "~/org/main.org" - (tags "computer"))) -#+END_SRC - -#+RESULTS: -| Function | Times called | Total time | Average time | -|--------------------------------+--------------+--------------+--------------| -| mapcar | 4217 | 12.580246839 | 0.0029832219 | -| org-agenda-ng--agenda | 1 | 8.777776059 | 8.777776059 | -| org-get-tags-at | 1845 | 8.2853503299 | 0.0044907047 | -| org-up-heading-safe | 9361 | 7.2710981889 | 0.0007767437 | -| re-search-backward | 25001 | 5.3360082060 | 0.0002134317 | -| org-agenda-ng--filter-buffer | 1 | 4.865602689 | 4.865602689 | -| org-agenda-ng--tags-p | 1238 | 4.7983754310 | 0.0038759090 | -| org-agenda-ng--format-element | 607 | 3.6273825100 | 0.0059759184 | -| org-outline-level | 17484 | 1.0284417919 | 5.882...e-05 | -| org-back-to-heading | 11813 | 0.9390534479 | 7.949...e-05 | -| org-split-string | 4940 | 0.833825087 | 0.0001687905 | -| string-match | 9102 | 0.8231629100 | 9.043...e-05 | -| org-element-headline-parser | 607 | 0.2034305819 | 0.0003351409 | -| outline-back-to-heading | 11813 | 0.1096120189 | 9.278...e-06 | -| org-end-of-subtree | 607 | 0.0710802559 | 0.0001171009 | -| outline-on-heading-p | 11813 | 0.0670029359 | 5.671...e-06 | -| outline-next-heading | 1239 | 0.0622323519 | 5.022...e-05 | -| re-search-forward | 3273 | 0.0603102519 | 1.842...e-05 | -| org-agenda-finalize-entries | 1 | 0.037286496 | 0.037286496 | -| buffer-substring-no-properties | 6329 | 0.0285818689 | 4.516...e-06 | - - -*** original - -#+BEGIN_SRC elisp - (elp-profile 1 nil - (with-current-buffer "main.org" -(org-tags-view nil "computer"))) -#+END_SRC - -#+RESULTS: -| Function | Times called | Total time | Average time | -|-----------------------------+--------------+--------------+--------------| -| org-tags-view | 1 | 2.620578129 | 2.620578129 | -| org-scan-tags | 1 | 1.448883817 | 1.448883817 | -| org-agenda-format-item | 607 | 0.9273893060 | 0.0015278242 | -| org-add-props | 2042 | 0.8877267209 | 0.0004347339 | -| org-agenda-finalize | 1 | 0.144506782 | 0.144506782 | -| re-search-forward | 2154 | 0.1367046650 | 6.346...e-05 | -| string-match | 8742 | 0.1002517259 | 1.146...e-05 | -| org-get-priority | 607 | 0.0961996220 | 0.0001584837 | -| org-agenda-align-tags | 1 | 0.095166495 | 0.095166495 | -| org-agenda-prepare | 1 | 0.081724472 | 0.081724472 | -| org-outline-level | 1246 | 0.0771033170 | 6.188...e-05 | -| org-agenda-finalize-entries | 1 | 0.071707404 | 0.071707404 | -| org-agenda-prepare-buffers | 1 | 0.057903921 | 0.057903921 | -| org-get-heading | 607 | 0.0517784369 | 8.530...e-05 | -| mapcar | 3738 | 0.0418641110 | 1.119...e-05 | -| org-agenda-highlight-todo | 607 | 0.0273123070 | 4.499...e-05 | -| mapconcat | 609 | 0.024743305 | 4.062...e-05 | -| sort | 2 | 0.02117069 | 0.010585345 | -| org-activate-plain-links | 132 | 0.0203558980 | 0.0001542113 | -| org-activate-bracket-links | 78 | 0.0198589680 | 0.0002546021 | - -** Using =org-element-parse-buffer= - -This basically works, as a very basic kind of agenda view, but we can already see that it's much slower (at least, for single-day views) because =org-element-parse-buffer= is slow compared to the agenda code. - -[2018-05-10 Thu 15:03] *Note:* This is the old, much slower code that used =org-element-parse-buffer=. - -*** Macro - -#+BEGIN_SRC elisp - (defmacro elp-profile (times prefixes &rest body) - (declare (indent defun)) - (let ((prefixes (append '(org- string- s- buffer- append delq map - list car save- outline- delete-dups - sort line- nth concat char-to-string - rx- goto- when search- re-) - prefixes))) - `(let (output) - (dolist (prefix ',prefixes) - (elp-instrument-package (symbol-name prefix))) - (dotimes (x ,times) - ,@body) - (elp-results) - (elp-restore-all) - (point-min) - (forward-line 20) - (delete-region (point) (point-max)) - (setq output (buffer-substring-no-properties (point-min) (point-max))) - (kill-buffer) - (delete-window) - (let ((rows (s-lines output))) - (append (list (list "Function" "Times called" "Total time" "Average time") - 'hline) - (cl-loop for row in rows - collect (s-split (rx (1+ space)) row 'omit-nulls))))))) -#+END_SRC - -[2018-05-09 Wed 17:31] *Note*: I seem to have misplaced the =org-agenda-ng--test-agenda-today= function I used in these tests. - -*** ng - -#+BEGIN_SRC elisp - (elp-profile 1 (org-agenda-ng--test-agenda-today)) -#+END_SRC - -#+RESULTS: -#+begin_example -org-element--parse-elements 5832 18.501891926 0.0031724780 -mapcar 98 6.3412930759 0.0647070722 -org-agenda-ng--test-agenda-today 1 6.30112088 6.30112088 -org-agenda-ng--agenda-multi 1 6.301086333 6.301086333 -org-agenda-ng--get-entries 8 6.249823971 0.7812279963 -mapc 2803 5.9078545849 0.0021076898 -org-element-parse-buffer 8 4.796204625 0.5995255781 -org-element--current-element 6557 3.7164850469 0.0005667965 -org-element-headline-parser 6557 3.5548915590 0.0005421521 -org-end-of-subtree 6557 1.3663438270 0.0002083794 -org-agenda-ng--filter-tree 8 1.3661297829 0.1707662228 -org-element-map 8 1.365995685 0.1707494606 -line-end-position 9503 0.4900104040 5.156...e-05 -org-at-heading-p 12389 0.4574876539 3.692...e-05 -re-search-forward 20193 0.4566419319 2.261...e-05 -outline-on-heading-p 19286 0.4559736580 2.364...e-05 -org-outline-level 6775 0.3970647569 5.860...e-05 -org-back-to-heading 6897 0.3689033409 5.348...e-05 -outline-back-to-heading 6897 0.3587580889 5.201...e-05 -line-beginning-position 11702 0.2887473860 2.467...e-05 -#+end_example - -*** orig - -Make sure to kill any existing agenda buffers first. - -#+BEGIN_SRC elisp - (elp-profile 1 (org-agenda-list nil nil 'week)) -#+END_SRC - -#+RESULTS: -#+begin_example -org-agenda-list 1 1.717467214 1.717467214 -org-agenda-get-day-entries 7 1.124906724 0.1607009605 -org-agenda-get-scheduled 7 0.9354116170 0.1336302310 -org-get-tags-at 62 0.5598817790 0.0090303512 -org-up-heading-safe 262 0.5531687240 0.0021113310 -org-back-to-heading 2646 0.5316139889 0.0002009123 -org-agenda-finalize 1 0.485185818 0.485185818 -org-agenda-skip 749 0.4059732339 0.0005420203 -org-at-planning-p 921 0.2137141959 0.0002320458 -org-is-habit-p 574 0.1953095319 0.0003402605 -org-entry-get 579 0.195275877 0.0003372640 -org--property-local-values 574 0.1899641870 0.0003309480 -org-get-property-block 574 0.1789142650 0.0003116973 -re-search-backward 3586 0.1769497870 4.934...e-05 -org-inlinetask-in-task-p 1495 0.1639709820 0.0001096795 -outline-back-to-heading 2646 0.1387423440 5.243...e-05 -re-search-forward 3177 0.1353034909 4.258...e-05 -org-agenda-get-deadlines 7 0.1341101260 0.0191585894 -line-beginning-position 2041 0.1000089939 4.899...e-05 -org-get-todo-state 749 0.070545971 9.418...e-05 -org-agenda-prepare 1 0.052788647 0.052788647 -org-agenda-prepare-buffers 1 0.050402675 0.050402675 -org-agenda-get-timestamps 7 0.0428353419 0.0061193345 -org-agenda--timestamp-to-absolute 1498 0.0414448099 2.766...e-05 -org-time-string-to-absolute 1498 0.0385546620 2.573...e-05 -org-agenda-finalize-entries 7 0.03400573 0.0048579614 -org-super-agenda--finalize-entries 7 0.0339819269 0.0048545609 -org-outline-level 505 0.0335176070 6.637...e-05 -org-super-agenda--group-items 7 0.0268096709 0.0038299529 -org-super-agenda--group-dispatch 84 0.024216379 0.0002882902 -org-parse-time-string 1572 0.0211881319 1.347...e-05 -org-closest-date 749 0.0178231690 2.379...e-05 -org-before-first-heading-p 578 0.0142076310 2.458...e-05 -org-refresh-category-properties 1 0.013815263 0.013815263 -org-in-src-block-p 753 0.0135235599 1.795...e-05 -org-refresh-stats-properties 1 0.012230309 0.012230309 -org-habit-parse-todo 5 0.0121474539 0.0024294907 -org-get-limited-outline-regexp 1502 0.0100960829 6.721...e-06 -mapcar 309 0.009495786 3.073...e-05 -org-super-agenda--group-habit 7 0.009318616 0.0013312308 -string-match 6253 0.0090207890 1.442...e-06 -org-super-agenda--group-dispatch-and 7 0.0067444 0.0009634857 -org-agenda-get-blocks 7 0.0060974240 0.0008710605 -outline-on-heading-p 2655 0.0060741090 2.287...e-06 -org-agenda-get-sexps 7 0.0057924309 0.0008274901 -org-super-agenda--group-regexp 7 0.005592509 0.0007989298 -org-refresh-properties 2 0.005461118 0.002730559 -org-super-agenda--get-item-entry 31 0.004812809 0.0001552519 -org-agenda-align-tags 1 0.004677699 0.004677699 -org-set-regexps-and-options 1 0.004533983 0.004533983 -org--setup-collect-keywords 2 0.004499168 0.002249584 -org-agenda-format-item 31 0.0039898020 0.0001287032 -org-date-to-gregorian 420 0.0039648049 9.440...e-06 -org-agenda-highlight-todo 31 0.0039479179 0.0001273521 -string-to-number 8202 0.0031924329 3.892...e-07 -org-end-of-subtree 12 0.003047285 0.0002539404 -org-super-agenda--group-tag 35 0.002941374 8.403...e-05 -org-inlinetask-outline-regexp 1495 0.002887697 1.931...e-06 -org-get-wdays 749 0.0027946290 3.731...e-06 -org-refresh-effort-properties 1 0.002750279 0.002750279 -org-entry-beginning-position 31 0.002345909 7.567...e-05 -sort 25 0.0021000059 8.400...e-05 -mapc 445 0.0018132390 4.074...e-06 -line-end-position 72 0.00177188 2.460...e-05 -mapconcat 341 0.0016574119 4.860...e-06 -org-entries-lessp 60 0.0016203450 2.700...e-05 -concat 336 0.0016188640 4.818...e-06 -org-habit-insert-consistency-graphs 1 0.001368346 0.001368346 -org-add-props 137 0.001291149 9.424...e-06 -org-element-at-point 1 0.001266403 0.001266403 -org-agenda-new-marker 62 0.001253987 2.022...e-05 -outline-next-heading 42 0.001123596 2.675...e-05 -org-split-string 148 0.0011049120 7.465...e-06 -org-element--parse-to 1 0.001074227 0.001074227 -org-get-scheduled-time 5 0.0010200300 0.000204006 -org-super-agenda--group-todo 21 0.001003225 4.777...e-05 -org-time-string-to-time 69 0.0009947770 1.441...e-05 -org-element--current-element 4 0.0009597410 0.0002399352 -org-entry-properties 5 0.0008807149 0.0001761429 -org-at-date-range-p 172 0.0008412679 4.891...e-06 -org-agenda-mode 1 0.000787997 0.000787997 -org-super-agenda--group-log 14 0.0007874939 5.624...e-05 -buffer-substring 31 0.0007650360 2.467...e-05 -org-heading-components 9 0.00071644 7.960...e-05 -org-entry-end-position 31 0.0007046580 2.273...e-05 -string-prefix-p 789 0.0006732279 8.532...e-07 -org-agenda-skip-eval 1498 0.0006586869 4.397...e-07 -org-get-repeat 5 0.000656577 0.0001313153 -org-activate-bracket-links 3 0.000648713 0.0002162376 -org-agenda-fix-displayed-tags 31 0.000636446 2.053...e-05 -s-join 252 0.0006324150 2.509...e-06 -org-element-keyword-parser 4 0.000530311 0.0001325777 -org-in-commented-heading-p 4 0.00051077 0.0001276925 -buffer-substring-no-properties 308 0.0004763350 1.546...e-06 -org-habit-build-graph 5 0.0004689199 9.3784e-05 -car 1626 0.0004469320 2.748...e-07 -org-activate-plain-links 3 0.000382191 0.000127397 -org-super-agenda--transform-groups 7 0.0003747289 5.353...e-05 -org-get-priority 26 0.0003598600 1.384...e-05 -org-agenda-fontify-priorities 1 0.000357076 0.000357076 -org-super-agenda--group-priority 14 0.00035224 2.516e-05 -org-agenda-prepare-window 1 0.00033704 0.00033704 -org-find-text-property-in-string 316 0.0003191880 1.010...e-06 -org-not-nil 821 0.0003016530 3.674...e-07 -list 940 0.0002995150 3.186...e-07 -org-super-agenda--group-time-grid 7 0.0002954999 4.221...e-05 -org-agenda-format-date-aligned 7 0.0002794120 3.991...e-05 -org-super-agenda--get-tags 103 0.0002654610 2.577...e-06 -delq 513 0.0002634709 5.135...e-07 -org-replace-escapes 5 0.0002382050 4.7641e-05 -car-safe 911 0.0002314199 2.540...e-07 -org-today 48 0.0002232539 4.651...e-06 -org-get-time-of-day 19 0.000219044 1.152...e-05 -org-days-to-iso-week 9 0.0002125040 2.361...e-05 -append 433 0.0002083290 4.811...e-07 -org-get-category 31 0.000198604 6.406...e-06 -string-match-p 31 0.0001787880 5.767...e-06 -org-agenda-today-p 21 0.0001658670 7.898...e-06 -org-super-agenda--get-marker 54 0.0001629399 3.017...e-06 -delete-dups 111 0.0001343219 1.210...e-06 -org-at-heading-p 9 0.000128871 1.4319e-05 -string-equal 361 0.0001168969 3.238...e-07 -org-super-agenda--make-agenda-header 13 0.0001151760 8.859...e-06 -org-add-prop-inherited 142 0.0001142290 8.044...e-07 -org-check-agenda-file 8 0.000110448 1.3806e-05 -org-agenda-get-day-face 7 0.000110437 1.577...e-05 -org-get-agenda-file-buffer 8 0.000107414 1.342675e-05 -org-agenda-files 3 0.000102652 3.421...e-05 -org-downcase-keep-props 90 0.0001008230 1.120...e-06 -org-super-agenda--get-priority-cookie 15 9.460...e-05 6.307e-06 -org-get-todo-face 31 9.423...e-05 3.039...e-06 -org-find-base-buffer-visiting 8 8.7492e-05 1.09365e-05 -org-habit-get-faces 140 8.080...e-05 5.771...e-07 -org-remove-uninherited-tags 176 7.580...e-05 4.307...e-07 -goto-char 31 7.1014e-05 2.290...e-06 -org-super-agenda--transform-group-order 7 6.5543e-05 9.363...e-06 -org-agenda-add-time-grid-maybe 7 5.703...e-05 8.147...e-06 -org-compile-prefix-format 1 5.2164e-05 5.2164e-05 -org-link-unescape 4 4.4823e-05 1.120575e-05 -listp 133 3.960...e-05 2.977...e-07 -org-habit-duration-to-days 5 3.9446e-05 7.8892e-06 -org-make-options-regexp 1 3.6054e-05 3.6054e-05 -org-agenda-mark-header-line 1 3.3066e-05 3.3066e-05 -org-element--collect-affiliated-keywords 4 3.2661e-05 8.16525e-06 -org-habit-get-priority 5 2.9857e-05 5.9714e-06 -org-agenda-get-category-icon 31 2.673...e-05 8.624...e-07 -org-face-from-face-or-color 61 2.1803e-05 3.574...e-07 -org-reduced-level 40 2.1692e-05 5.423e-07 -org-link-get-parameter 26 2.062...e-05 7.930...e-07 -buffer-name 57 1.9875e-05 3.486...e-07 -org-defkey 5 1.9835e-05 3.966...e-06 -string-to-char 56 1.929...e-05 3.446...e-07 -org-string-nw-p 5 1.7894e-05 3.578...e-06 -s-wrap 7 1.6955e-05 2.422...e-06 -org-link-expand-abbrev 2 1.5491e-05 7.7455e-06 -map-keymap 2 1.4987e-05 7.4935e-06 -search-forward 7 1.403...e-05 2.004...e-06 -string-lessp 41 1.394...e-05 3.400...e-07 -org-agenda-reset-markers 1 1.3927e-05 1.3927e-05 -org-agenda-deadline-face 7 1.2592e-05 1.798...e-06 -search-backward 5 1.1253e-05 2.2506e-06 -org-agenda-span-name 5 9.758e-06 1.9516e-06 -outline-previous-heading 1 8.678e-06 8.678e-06 -buffer-modified-p 10 4.618e-06 4.617...e-07 -buffer-file-name 13 4.608...e-06 3.544...e-07 -buffer-live-p 11 4.473e-06 4.066...e-07 -buffer-local-value 10 4.278e-06 4.278...e-07 -buffer-base-buffer 10 3.858e-06 3.858...e-07 -org-agenda-set-mode-name 1 3.118e-06 3.118e-06 -org-remove-flyspell-overlays-in 4 2.926...e-06 7.315...e-07 -buffer-size 8 2.791...e-06 3.489...e-07 -org-key 5 2.707e-06 5.414e-07 -org-unbracket-string 1 2.692e-06 2.692e-06 -save-place-to-alist 1 2.276e-06 2.276e-06 -org-element--cache-put 4 1.907e-06 4.7675e-07 -org-property-inherit-p 2 1.414e-06 7.07e-07 -org-agenda-ndays-to-span 2 1.293...e-06 6.465...e-07 -maphash 1 1.171e-06 1.171e-06 -org-set-sorting-strategy 1 1.165e-06 1.165e-06 -org-file-menu-entry 1 1.12e-06 1.12e-06 -string-width 2 1.093e-06 5.465e-07 -org-time-stamp-format 1 1.054e-06 1.054e-06 -org-agenda-fit-window-to-buffer 1 9.31e-07 9.31e-07 -org-font-lock-add-tag-faces 1 9.13e-07 9.13e-07 -org-agenda-span-to-ndays 1 8.3e-07 8.3e-07 -org-element-property 2 8.12e-07 4.06e-07 -org-agenda-mark-clocking-task 1 8.03e-07 8.03e-07 -org-tag-alist-to-groups 1 7.55e-07 7.55e-07 -org-element-type 1 6.14e-07 6.14e-07 -org-agenda-use-sticky-p 1 4.73e-07 4.73e-07 -mapatoms 1 0 0.0 -#+end_example - -*** Profile org-element-map - -#+BEGIN_SRC elisp - (elp-profile 1 (with-current-buffer (find-buffer-visiting "~/org/main.org") - (org-element-parse-buffer 'headline))) -#+END_SRC - -#+RESULTS: -#+begin_example -org-element--parse-elements 1002 4.1612395469 0.0041529336 -org-element-parse-buffer 1 0.859981956 0.859981956 -org-element--current-element 1225 0.8236391779 0.0006723585 -org-element-headline-parser 1225 0.7952382879 0.0006491741 -org-end-of-subtree 1225 0.5557043549 0.0004536362 -line-end-position 1995 0.0751104350 3.764...e-05 -re-search-forward 3743 0.0516547359 1.380...e-05 -org-outline-level 1225 0.0477962079 3.901...e-05 -org-back-to-heading 1225 0.0469223529 3.830...e-05 -outline-back-to-heading 1225 0.0450936199 3.681...e-05 -org-element--get-node-properties 1225 0.0434517140 3.547...e-05 -line-beginning-position 2003 0.0334129610 1.668...e-05 -org-element--get-time-properties 1225 0.0306394040 2.501...e-05 -org-get-limited-outline-regexp 2072 0.0140703559 6.790...e-06 -org-element-timestamp-parser 249 0.0124751890 5.010...e-05 -outline-next-heading 847 0.0115396399 1.362...e-05 -org-at-heading-p 2227 0.0109473260 4.915...e-06 -outline-on-heading-p 3452 0.0101107139 2.928...e-06 -string-match 4594 0.0064121759 1.395...e-06 -mapcar 30 0.0041008740 0.0001366958 -#+end_example - -** with/without ts.el - -[2019-08-11 Sun 15:39] These results seem to show a minor performance improvement by using ~ts~, and the code is simpler. - -#+BEGIN_SRC elisp - ;; (require 'ts) - - (org-ql--defpred ts-ts (&key from to _on) - ;; The underscore before `on' prevents "unused lexical variable" warnings, because we - ;; pre-process that argument in a macro before this function is called. - "Return non-nil if current entry has a timestamp in given period. - If no arguments are specified, return non-nil if entry has any - timestamp. - - If FROM, return non-nil if entry has a timestamp on or after - FROM. - - If TO, return non-nil if entry has a timestamp on or before TO. - - If ON, return non-nil if entry has a timestamp on date ON. - - FROM, TO, and ON should be strings parseable by - `parse-time-string' but may omit the time value." - ;; TODO: DRY this with the clocked predicate. - ;; NOTE: FROM and TO are actually expected to be Unix timestamps. The docstring is written - ;; for end users, for which the arguments are pre-processed by `org-ql-select'. - ;; FIXME: This assumes every "clocked" entry is a range. Unclosed clock entries are not handled. - (cl-macrolet ((next-timestamp () - `(when (re-search-forward org-element--timestamp-regexp end-pos t) - (ts-parse-org (match-string 0)))) - (test-timestamps (pred-form) - `(cl-loop for next-ts = (next-timestamp) - while next-ts - thereis ,pred-form))) - (save-excursion - (let ((end-pos (org-entry-end-position))) - (cond ((not (or from to)) (re-search-forward org-element--timestamp-regexp end-pos t)) - ((and from to) (test-timestamps (and (ts<= from next-ts) - (ts<= next-ts to)))) - (from (test-timestamps (ts<= from next-ts))) - (to (test-timestamps (ts<= next-ts to)))))))) - -#+END_SRC - -*** :from - -#+BEGIN_SRC elisp - (bench-multi-lexical :times 1 :ensure-equal t - :forms (("old ts" (org-ql "~/org/inbox.org" - (ts :from "2017-01-01"))) - ("ts.el ts" (org-ql "~/org/inbox.org" - (ts-ts :from "2017-01-01"))))) -#+END_SRC - -#+RESULTS: -| Form | x faster than next | Total runtime | # of GCs | Total GC runtime | -|----------+--------------------+---------------+----------+------------------| -| ts.el ts | 1.32 | 1.299966 | 0 | 0 | -| old ts | slowest | 1.713027 | 0 | 0 | - -*** :on - -#+BEGIN_SRC elisp - (bench-multi-lexical :times 1 :ensure-equal t - :forms (("old ts" (org-ql "~/org/inbox.org" - (ts :on "2019-05-14"))) - ("ts.el ts" (org-ql "~/org/inbox.org" - (ts-ts :on "2019-05-14"))))) -#+END_SRC - -#+RESULTS: -| Form | x faster than next | Total runtime | # of GCs | Total GC runtime | -|----------+--------------------+---------------+----------+------------------| -| ts.el ts | 1.17 | 0.557281 | 0 | 0 | -| old ts | slowest | 0.652149 | 0 | 0 | - -*** :to - -#+BEGIN_SRC elisp - (bench-multi-lexical :times 1 :ensure-equal t - :forms (("old ts" (org-ql "~/org/inbox.org" - (ts :to "2019-01-01"))) - ("ts.el ts" (org-ql "~/org/inbox.org" - (ts-ts :to "2019-01-01"))))) -#+END_SRC - -#+RESULTS: -| Form | x faster than next | Total runtime | # of GCs | Total GC runtime | -|----------+--------------------+---------------+----------+------------------| -| ts.el ts | 1.01 | 1.300084 | 0 | 0 | -| old ts | slowest | 1.312208 | 0 | 0 | - -*** Without timestamp argument - -#+BEGIN_SRC elisp - (bench-multi-lexical :times 1 :ensure-equal t - :forms (("old ts" (org-ql "~/org/inbox.org" - (ts))) - ("ts.el ts" (org-ql "~/org/inbox.org" - (ts-ts))))) -#+END_SRC - -#+RESULTS: -| Form | x faster than next | Total runtime | # of GCs | Total GC runtime | -|----------+--------------------+---------------+----------+------------------| -| ts.el ts | 1.14 | 2.251801 | 0 | 0 | -| old ts | slowest | 2.560280 | 0 | 0 | - -#+BEGIN_SRC elisp - (bench-multi-lexical :times 20 :ensure-equal t - :forms (("old ts" (org-ql "~/src/emacs/org-ql/tests/data.org" - (ts))) - ("ts.el ts" (org-ql "~/src/emacs/org-ql/tests/data.org" - (ts-ts))))) -#+END_SRC - -#+RESULTS: -| Form | x faster than next | Total runtime | # of GCs | Total GC runtime | -|----------+--------------------+---------------+----------+------------------| -| ts.el ts | 1.05 | 0.103714 | 0 | 0 | -| old ts | slowest | 0.108663 | 0 | 0 | - -* References -:PROPERTIES: -:TOC: :include descendants :depth 1 -:END: -:CONTENTS: -- [[#github---ndwarshuisorg-sql-sql-backend-for-emacs-org-mode][GitHub - ndwarshuis/org-sql: SQL backend for Emacs Org-Mode]] -- [[#john-kitchin-on-rewriting-the-org-agenda-code][John Kitchin on rewriting the Org agenda code]] -- [[#nicolas-goazious-org-element-cache-implementation][Nicolas Goaziou's org-element cache implementation]] -- [[#uniform-structured-syntax-metaprogramming-and-run-time-compilation][Uniform Structured Syntax, Metaprogramming and Run-time Compilation]] -:END: - -** [[https://github.com/ndwarshuis/org-sql][GitHub - ndwarshuis/org-sql: SQL backend for Emacs Org-Mode]] - -[2020-01-04 Sat 09:03] - -** [[gnus:gmane.emacs.orgmode#CAJ51EToLCm5zDLKu8XeuqEWrLhHZF+OoNkviPSivZbFttzF8=A@mail.gmail.com][John Kitchin on rewriting the Org agenda code]] :Emacs:Org: - -[2019-10-28 Mon 08:28] Originally from [[id:90a68535-2403-4ba9-a117-60be1862628f][this entry in my notes]]. - -#+BEGIN_QUOTE -From: John Kitchin -Subject: Re: [Orgmode] Slow speed of week and month views -Newsgroups: gmane.emacs.orgmode -To: Karl Voit -Cc: "emacs-orgmode@gnu.org" -Date: Sat, 5 Aug 2017 18:17:09 -0400 (4 hours, 11 minutes, 38 seconds ago) - -I can think of two possibilities for a future approach (besides a deep dive on profiling the current elisp to improve the speed there). They both involve some substantial coding though, and would probably add dependencies. I am curious what anyone things about these, or if there are other ideas. - -One is to use the new dynamic module capability to write an org parser in C, or a dedicated agenda function, which would presumably be faster than in elisp. This seems hard, and for me would certainly be a multiyear project I am sure! The downside of this is the need to compile the module. I don't know how easy it would be to make this work across platforms with the relatively easy install org-mode currently has. This could have a side benefit though of a c-lib that could be used by others to expand where org-mode is used. - -The other way that might work is to rely more heavily on a cached version of the files, perhaps in a different format than elisp, that is faster to work with. The approach I have explored in this is to index org files into a sqlite database. The idea then would be to generate the agenda from a sql query. I use something like this already to "find stuff in orgmode anywhere". One of the reasons I wrote this is the org-agenda list of files isn't practical for me because my files are so scattered on my file system. I had a need to be able to find TODOs in research projects in a pretty wide range of locations. - -The code I use is at https://github.com/jkitchin/scimax/blob/master/org-db.el, and from one database I can find headlines, contacts, locations, TODO headlines across my file system, all the files that contain a particular link, and my own recent org files. This approach relies on emacsql, and a set of hook functions to update the database whenever a file is changed. It is not robust, e.g. the file could be out of sync with the db if it is modified outside emacs, but this works well enough for me so far. Updated files get reindexed whenever emacs is idle. It was a compromise on walking the file system all the time or daily, or trying to use inotify and you can always run a command to prune/sync all the files any time you want. - -sqlite is ok, but with emacsql you cannot put strings in it directly (at least when I wrote the org-db code), which has limited it for full-text search so far. Also with text, the db got up to about 0.5 GB in size, and started slowing down. So it doesn't have text in it for now. It has all the other limitations of sqlite too, limited support for locking, single process.... - -I am moderately motivated to switch from sqlite to MongoDB, but the support for Mongo in emacs is pretty crummy (I tried writing a few traditional interfaces, but the performance was not that good, and limited since Mongo uses bson, and it is just not the same as json!). Why Mongo? Mostly because the Mongo query language is basically json and easy to generate in Emacs, unlike sql. Also, it is flexible and easy to adapt to new things, e.g. indexing src-blocks or tables or whatever org-element you want. (And I want to use Mongo for something else too ;). Obviously these all add dependencies, and might not be suitable for the core org-mode distribution. But I do think it is important to think about ways to scale org-mode while maintaining compatibility with the core. - -The main point of the database was to get a query language, persistence and good performance. I have also used caches to speed up using bibtex files, and my org-contacts with reasonable performance. These have been all elisp, with no additional dependencies. Maybe one could do something similar to keep an agenda cache that is persistent and updated via hook functions. - -Thoughts? - -John -#+END_QUOTE -:PROPERTIES: -:archive.is: http://archive.is/33R9M -:END: - -+ [[https://github.com/m00natic/cl-fdbq][GitHub - m00natic/cl-fdbq: SQL-like operations over fixed field DBs]] - -** Nicolas Goaziou's =org-element= cache implementation - -[2020-01-04 Sat 08:31] https://code.orgmode.org/bzg/org-mode/src/master/lisp/org-element.el#L4817 I guess I haven't been keeping up, because I'm not sure when exactly he made or committed this, or what his plans for it are. It's currently disabled by default. - -** [[https://m00natic.github.io/lisp/manual-jit.html][Uniform Structured Syntax, Metaprogramming and Run-time Compilation]] - -* Testing - -[2020-01-08 Wed 07:15] Subtree moved from =tests/data.org=. - -#+BEGIN_SRC elisp - (cl-defun ap/org-tweak-timestamps (&key (offset 0) epoch-ts) - "Advance all timestamps in the current buffer as if the earliest one was on today. - OFFSET changes which timestamp (in chronological order) is set to - today. Or, if EPOCH-TS is non-nil, use it as the new zero-point - for today." - (let* ((tss (->> (org-with-wide-buffer - (goto-char (point-min)) - (cl-loop while (re-search-forward org-ts-regexp-both nil t) - collect (ts-parse-org (match-string 0)))) - (-sort #'ts<))) - (epoch-ts (if epoch-ts - (ts-parse-org epoch-ts) - (nth offset tss))) - (difference-secs (ts-diff (ts-now) epoch-ts)) - (days (floor (/ difference-secs 86400)))) - (org-with-wide-buffer - (goto-char (point-min)) - (while (re-search-forward org-ts-regexp-both nil t) - (let* ((ts (ts-parse-org (match-string 0))) - (timed-p (string-match-p (rx (repeat 2 digit) ":" (repeat 2 digit) (or ">" "]")) (match-string 0))) - (type (cond ((string-prefix-p "<" (match-string 0)) 'active) - ((string-prefix-p "[" (match-string 0)) 'inactive) - (t (error "Unknown ts type")))) - (brackets (cl-ecase type - ('active (cons "<" ">")) - ('inactive (cons "[" "]")))) - (format-string (concat (car brackets) - (if timed-p - "%Y-%m-%d %a %H:%M" - "%Y-%m-%d %a") - (cdr brackets))) - (new-ts (ts-adjust 'day days ts)) - (new-ts-string (ts-format format-string new-ts))) - (replace-match new-ts-string t t nil 0)))) - (message "Tweaked from epoch: %s" (ts-format epoch-ts)))) -#+END_SRC - -#+BEGIN_SRC elisp -(org-time-string-to-absolute (org-entry-get (point) "SCHEDULED")) -#+END_SRC - - #+BEGIN_SRC elisp :results none - ;; Setup code - (require 'org-super-agenda) - (org-super-agenda-mode 1) - (require 'org-habit) - (setq org-todo-keywords - '((sequence "TODO(t!)" "TODAY(a!)" "NEXT(n!)" "STARTED(s!)" "IN-PROGRESS(p!)" "UNDERWAY(u!)" "WAITING(w@)" "SOMEDAY(o!)" "MAYBE(m!)" "|" "DONE(d@)" "CANCELED(c@)") - (sequence "CHECK(k!)" "|" "DONE(d@)") - (sequence "TO-READ(r!)" "READING(R!)" "|" "HAVE-READ(d@)") - (sequence "TO-WATCH(!)" "WATCHING(!)" "SEEN(!)"))) - (with-current-buffer "test.org" (revert-buffer)) - - (defmacro with-org-today-date (date &rest body) - "Run BODY with the `org-today' function set to return simply DATE. - DATE should be a date-time string (both date and time must be included)." - (declare (indent defun)) - `(let ((day (date-to-day ,date)) - (orig (symbol-function 'org-today))) - (unwind-protect - (progn - (fset 'org-today (lambda () day)) - ,@body) - (fset 'org-today orig)))) - #+END_SRC - -#+BEGIN_SRC elisp :results none - (defun diary-sunrise () - (let ((dss (diary-sunrise-sunset))) - (with-temp-buffer - (insert dss) - (goto-char (point-min)) - (search-forward ",") - (buffer-substring (point-min) (match-beginning 0))))) - - (defun diary-sunset () - (let ((dss (diary-sunrise-sunset)) - start end) - (with-temp-buffer - (insert dss) - (goto-char (point-min)) - (search-forward ", ") - (setq start (match-end 0)) - (search-forward " at") - (setq end (match-beginning 0)) - (goto-char start) - (capitalize-word 1) - (buffer-substring start end)))) -#+END_SRC - -*Note:* Removing tests from here as they're added to =test.el=. - - #+BEGIN_SRC elisp - - (org-super-agenda--test-with-org-today-date "2017-07-05 00:00" - (let ((org-agenda-files (list "~/src/emacs/org-super-agenda/test/test.org")) - (org-agenda-span 'day) - (org-super-agenda-groups - '((:name "Time grid items in all-uppercase with RosyBrown1 foreground" - :time-grid t - :transformer (--> it - (upcase it) - (propertize it 'face '(:foreground "RosyBrown1")))) - (:name "Priority >= C items underlined, on black background" - :face (:background "black" :underline t) - :not (:priority>= "C") - :order 100)))) - (org-agenda nil "a"))) - (org-super-agenda--test-with-org-today-date "2017-07-05 00:00" - (let ((org-agenda-files (list "~/src/emacs/org-super-agenda/test/test.org")) - (org-agenda-span 'day) - (org-super-agenda-groups - '((:name none - :time-grid t) - (:name "Should be all-uppercase RosyBrown1 on black" - :face (:background "black" :foreground "RosyBrown1") - :transformer #'upcase - :not (:priority>= "C") - :order 100)))) - (org-agenda nil "a"))) - - (with-org-today-date "2017-07-05 00:00" - (let ((org-agenda-files (list "~/src/org-super-agenda/test/test.org")) - (org-agenda-span 'day) - (org-super-agenda-groups - '((:name none - :time-grid t) - (:name none - :not (:priority>= "C") - :order 100)))) - (org-agenda nil "a"))) - - (with-org-today-date "2017-07-05 00:00" - (let ((org-agenda-files (list "~/src/org-super-agenda/test/test.org")) - (org-agenda-span 'day) - (org-super-agenda-groups - '((:name "Items with child TODOs" - :children todo)))) - (org-agenda nil "a"))) - - (with-org-today-date "2017-07-05 00:00" - (let ((org-agenda-files (list "~/src/org-super-agenda/test/test.org")) - (org-agenda-span 'day) - (org-super-agenda-groups - '((:name "Items with child TODOs" - :children "CHECK")))) - (org-agenda nil "a"))) - - (with-org-today-date "2017-07-05 00:00" - (let ((org-agenda-files (list "~/src/org-super-agenda/test/test.org")) - (org-agenda-span 'day) - (org-agenda-custom-commands - '(("u" "Super view" - ((agenda "" ((org-super-agenda-groups - '((:name "Today" - :time-grid t - :scheduled today - :deadline today))))) - (todo "" ((org-super-agenda-groups - '((:name "Projects" - :children t) - (:discard (:anything t))))))))))) - (org-agenda nil "u"))) - - (with-org-today-date "2017-07-05 00:00" - (let ((org-agenda-files (list "~/src/org-super-agenda/test/test.org")) - (org-agenda-span 'day) - (org-agenda-custom-commands - '(("u" "Super view" - ((agenda "" ((org-super-agenda-groups - '((:name "Today" - :time-grid today))))) - (todo "" ((org-super-agenda-groups - '((:name "Projects" - :children t) - (:discard (:anything t))))))))))) - (org-agenda nil "u"))) - - (with-org-today-date "2017-07-05 00:00" - (let ((org-agenda-files (list "~/src/org-super-agenda/test/test.org")) - (org-agenda-span 'day) - (org-agenda-custom-commands - '(("u" "Super view" - ((agenda "" ((org-super-agenda-groups - '((:name "Schedule" - :time-grid t - :date today) - (:name "Due today" - :deadline today) - (:name "Due soon" - :deadline t))))) - (todo "" ((org-agenda-overriding-header "") - (org-super-agenda-groups - '((:name "Projects" - :children t) - (:discard (:anything t))))))))))) - (org-agenda nil "u"))) - - (with-org-today-date "2017-07-05 00:00" - (let ((org-agenda-files (list "~/src/org-super-agenda/test/test.org")) - (org-agenda-span 'day) - (org-super-agenda-groups - '((:scheduled (before "2017-07-06"))))) - (org-agenda nil "a"))) -#+END_SRC - -#+BEGIN_SRC elisp - - (with-org-today-date "2017-07-05 00:00" - (let ((org-super-agenda-groups - '((:todo "WAITING"))) - (org-agenda-files (list "~/src/org-super-agenda/test/test.org"))) - (org-todo-list))) - - (with-org-today-date "2017-07-05 00:00" - (let ((org-super-agenda-groups - '((:todo "SOMEDAY"))) - (org-agenda-files (list "~/src/org-super-agenda/test/test.org"))) - (org-tags-view nil "Emacs"))) - - (with-org-today-date "2017-07-05 00:00" - (let ((org-super-agenda-groups - '((:todo "CHECK"))) - (org-agenda-files (list "~/src/org-super-agenda/test/test.org"))) -;; org-search-view doesn't seem to set the todo-state property, so the matcher doesn't work - (org-search-view nil "Emacs"))) - - (with-org-today-date "2017-07-05 00:00" - (let ((org-super-agenda-groups - '((:regexp ("moon" "mars")))) - (org-agenda-files (list "~/src/org-super-agenda/test/test.org"))) - (org-search-view nil "space"))) - - (with-org-today-date "2017-07-05 00:00" - (let ((org-super-agenda-groups - '((:todo "SOMEDAY"))) - (org-agenda-files (list "~/src/org-super-agenda/test/test.org"))) - (org-agenda-list nil nil 'day))) - -#+END_SRC - -** Agenda censoring - -For sharing screenshots of the agenda without revealing private data. - -#+BEGIN_SRC elisp - (defun org-agenda-sharpie () - "Censor the text of items in the agenda." - (interactive) - (let (regexp old-heading new-heading properties) - ;; Save face properties of line in agenda to reapply to changed text - (setq properties (text-properties-at (point))) - - ;; Go to source buffer - (org-with-point-at (org-find-text-property-in-string 'org-marker - (buffer-substring (line-beginning-position) - (line-end-position))) - ;; Save old heading text and ask for new text - (line-beginning-position) - (unless (org-at-heading-p) - ;; Not sure if necessary - (org-back-to-heading)) - (setq old-heading (when (looking-at org-complex-heading-regexp) - (match-string 4)))) - (setq new-heading (read-from-minibuffer "Overwrite visible heading with: ")) - (add-text-properties 0 (length new-heading) properties new-heading) - ;; Back to agenda buffer - (save-excursion - (when (and old-heading new-heading) - ;; Replace agenda text - (let ((inhibit-read-only t)) - (goto-char (line-beginning-position)) - (when (search-forward old-heading (line-end-position)) - (replace-match new-heading 'fixedcase 'literal))))))) -#+END_SRC - -** Agenda examining - -This helps a lot. - -#+BEGIN_SRC elisp - (defun data-debug-show-string-with-properties (s) - (with-current-buffer (get-buffer-create "argh") - (erase-buffer) - (print s (current-buffer)) - - ;; Convert string reader representations to plain lists that can be set - (cl-loop for (match replace) in '(("#(" "'(") - ("#<" "'(") - (">" ")")) - do (progn - (goto-char (point-min)) - (while (search-forward match nil 'noerror) - (replace-match replace 'fixedcase 'literal)))) - - ;; Surround content in a list which `argh' is set to, then eval - ;; the buffer to do it - (goto-char (point-min)) - (insert "(setq argh (list '") - (delete-forward-char 2) - (goto-char (point-max)) - (insert "))") - - ;; Okay, sure, eval'ing the buffer is dangerous and bad and wrong. - ;; But this is the only way I can find to make this work. (Maybe - ;; `text-properties-at' could be used to get actual lists...) - (eval-buffer) - - (data-debug-show-stuff argh "argh") - ;; (switch-to-buffer (current-buffer)) - )) - - (defun data-debug-show-current-line-with-properties () - (interactive) - (data-debug-show-string-with-properties (buffer-substring (line-beginning-position) (line-end-position)))) - - (with-current-buffer "*Org Agenda*" - (data-debug-show-string-with-properties (seq-subseq (split-string (buffer-string) "\n") - 0 5))) -#+END_SRC - -** Auto categories - -#+BEGIN_SRC elisp - (let ((org-super-agenda-groups - '((:auto-category t)))) - (org-agenda-list nil nil 'day)) -#+END_SRC - -** Auto grouping - - -#+BEGIN_SRC elisp - (with-org-today-date "2017-07-05 00:00" - (let ((org-super-agenda-groups - '((:auto-group t))) - (org-agenda-files (list "~/src/org-super-agenda/test/test.org"))) - (org-agenda-list nil nil 'day))) -#+END_SRC - -** Date - -#+BEGIN_SRC elisp - (with-org-today-date "2017-07-05 00:00" - (-let* ((org-agenda-files (list "~/src/org-super-agenda/test/test.org")) - (org-agenda-span 'day) - ((sec minute hour day month year dow dst utcoff) (list 0 0 0 5 7 2017 3 t nil)) - (last-day-of-month - ;; A hack that seems to work fine - (1+ (calendar-last-day-of-month month year))) - (target-date (format "%d-%02d-%02d" year month last-day-of-month)) - (org-super-agenda-groups - `((:deadline (before ,target-date)) - (:discard (:anything t))))) - (org-todo-list))) - - (with-org-today-date "2017-07-05 00:00" - (-let* ((org-agenda-files (list "~/src/org-super-agenda/test/test.org")) - (org-agenda-span 'day) - ((sec minute hour day month year dow dst utcoff) (list 0 0 0 5 7 2017 3 t nil)) - (last-day-of-month (calendar-last-day-of-month month year)) - (target-date (format "%d-%02d-%02d" year month last-day-of-month)) - (org-super-agenda-groups - `((:deadline (before ,target-date)) - (:discard (:anything t))))) - (org-todo-list))) -#+END_SRC - -** Effort - -#+BEGIN_SRC elisp - (with-org-today-date "2017-07-05 00:00" - (let ((org-agenda-files (list "~/src/org-super-agenda/test/test.org")) - (org-super-agenda-groups - '((:effort< "0:06")))) - (org-agenda-list nil nil 'day))) -#+END_SRC - -** Misc - -*** let-plist - -I don't need this right now, but it might come in handy here or elsewhere. - -#+BEGIN_SRC elisp - (defmacro osa/let-plist (keys plist &rest body) - "`cl-destructuring-bind' without the boilerplate for plists." - ;; See https://emacs.stackexchange.com/q/22542/3871 - - ;; I really don't understand why Emacs doesn't have this already. - ;; So many things come close to it: pcase, pcase-let, map-let, - ;; cl-destructuring-bind, -let...but none of them let you simply - ;; bind all the values of a plist to variables with the same name as - ;; their keys. You always have to type the name of the key twice. - - ;; For example, compare these two forms: - - ;; (-let (((&keys :from from :to to :date date :subject subject) email)) - ;; (list from to date subject)) - - ;; (osa/let-plist (:from :to :date :subject) email - ;; (list from to date subject)) - - ;; Now, sure, sometimes you need to bind values to differently named - ;; variables. But when you don't, I know which one I prefer. - (declare (indent defun)) - (setq keys (cl-loop for key in keys - collect (intern (replace-regexp-in-string (rx bol ":") "" - (symbol-name key))))) - `(cl-destructuring-bind - (&key ,@keys &allow-other-keys) - ,plist - ,@body)) -#+END_SRC - -** Profiling - -#+BEGIN_SRC elisp :results none - (defmacro profile-it (times &rest body) - `(let (output) - (dolist (p '("org-super-agenda-" "map" "org-" "string-" "s-" "buffer-" "append" "delq" "map" "list" "car" "save-" "outline-" "delete-dups" "sort" "line-" "nth" "concat" "char-to-string" "rx-" "goto-" "when" "search-" "re-")) - (elp-instrument-package p)) - (dotimes (x ,times) - ,@body) - (elp-results) - (elp-restore-all) - (point-min) - (forward-line 20) - (delete-region (point) (point-max)) - (setq output (buffer-substring-no-properties (point-min) (point-max))) - (kill-buffer) - (delete-window) - output)) -#+END_SRC - - -* [#C] COMMENT Config :noexport: - -** File-local variables - -# Local Variables: -# before-save-hook: ((lambda () (when (fboundp 'unpackaged/org-fix-blank-lines) (unpackaged/org-fix-blank-lines t))) (lambda () (when (fboundp 'ap/org-sort-entries-recursive-multi) (save-excursion (goto-char (point-min)) (ap/org-sort-entries-recursive-multi '(?a ?p ?o))))) org-update-all-dblocks org-make-toc) -# org-ql-ask-unsafe-queries: nil -# End: - From 1a77cb0e1896573417ecca75ceeb09afb8ec888b Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Wed, 18 Nov 2020 08:15:47 -0600 Subject: [PATCH 303/615] Tests: Add more sexp link tests --- tests/test-org-ql.el | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) diff --git a/tests/test-org-ql.el b/tests/test-org-ql.el index 7dad757..d297fc6 100644 --- a/tests/test-org-ql.el +++ b/tests/test-org-ql.el @@ -1514,6 +1514,42 @@ RESULTS should be a list of strings as returned by (expect (var-after-link-save-open 'org-ql-view-query temp-filenames sexp-query) :to-equal sexp-query)))) + (describe "in raw sexp form" + ;; These tests guard against manually constructed queries, which could + ;; theoretically be different than the ones resulting from storing links (i.e. they + ;; might have encoding). These tests probably aren't necessary, but it's good to + ;; be extra careful, because an evil sexp could be harmful if eval'ed. + :var ((raw-link "[[org-ql-search:(todo \"TODO\")]]")) + + (describe "prompt when `org-ql-ask-unsafe-queries' is non-nil" + :var ((org-ql-ask-unsafe-queries t)) + + (it "and signal an error when rejected by user" + (expect (open-link-in raw-link link-buffer "no RET") + :to-throw 'user-error '("Query aborted by user"))) + (it "and run when approved by user" + (expect (open-link-in raw-link link-buffer "yes RET") + :not :to-throw))) + + (it "don't prompt when `org-ql-ask-unsafe-queries' is nil" + (let ((org-ql-ask-unsafe-queries nil)) + (expect (open-link-in raw-link link-buffer "no RET") + :not :to-throw))) + + (it "match after restoring" + (let ((org-ql-ask-unsafe-queries nil) ; Disable safety check for this test. + (org-ql-view-buffer view-buffer)) + (expect (open-link-in raw-link link-buffer "no RET") + :not :to-throw) + (expect (buffer-local-value 'org-ql-view-query view-buffer) + :to-equal '(todo "TODO")))) + + (it "could be evil when not prompted about" + ;; This test confirms what *could* happen if these checks weren't in place. + (let ((org-ql-ask-unsafe-queries nil)) + (expect (open-link-in "[[org-ql-search:(error \"EVIL!\")]]" link-buffer nil) + :to-throw 'error '("EVIL!"))))) + (describe "in string form" (it "match after restoring" ;; NOTE: This test includes the string query being replaced with its sexp form after the query is run. From 0f5cf5eff320cd718d60359d4562430955719040 Mon Sep 17 00:00:00 2001 From: Ihor Radchenko Date: Sun, 12 Apr 2020 13:40:09 +0800 Subject: [PATCH 304/615] Honor restriction when it is set from inside agenda dispatcher --- org-ql-search.el | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/org-ql-search.el b/org-ql-search.el index cf49281..9f7ba3f 100644 --- a/org-ql-search.el +++ b/org-ql-search.el @@ -233,15 +233,14 @@ If `org-ql-block-header' is non-nil, it is used as the header string for the block, otherwise a the header is formed automatically from the query." (let (narrow-p old-beg old-end) - (when-let* ((from (pcase org-agenda-overriding-restriction + (when-let* ((from (pcase org-agenda-restrict ('nil (org-agenda-files nil 'ifmode)) - ('file (get 'org-agenda-files 'org-restrict)) - ('subtree (prog1 org-agenda-restrict - (with-current-buffer org-agenda-restrict - ;; Narrow the buffer; remember to widen it later. - (setf old-beg (point-min) old-end (point-max) - narrow-p t) - (narrow-to-region org-agenda-restrict-begin org-agenda-restrict-end)))))) + (_ (prog1 org-agenda-restrict + (with-current-buffer org-agenda-restrict + ;; Narrow the buffer; remember to widen it later. + (setf old-beg (point-min) old-end (point-max) + narrow-p t) + (narrow-to-region org-agenda-restrict-begin org-agenda-restrict-end)))))) (items (org-ql-select from query :action 'element-with-markers :narrow narrow-p))) From 038c5ae3bf5e9077989e65c186f3da8e3034de56 Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Fri, 20 Nov 2020 07:54:44 -0600 Subject: [PATCH 305/615] Update changelog, version headers Released as 0.4.9. --- README.org | 5 ++ org-ql.el | 2 +- org-ql.info | 149 +++++++++++++++++++++++++++++++--------------------- 3 files changed, 95 insertions(+), 61 deletions(-) diff --git a/README.org b/README.org index 9b6b5d7..68df9aa 100644 --- a/README.org +++ b/README.org @@ -398,6 +398,11 @@ Expands into a call to ~org-ql-select~ with the same arguments. For convenience /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.4.9 + +*Fixed* ++ Agenda restriction in =org-ql-block=. (Fixes [[https://github.com/alphapapa/org-ql/issues/84][#84]]. Thanks to [[https://github.com/yantar92][Ihor Radchenko]].) + ** 0.4.8 *Fixed* diff --git a/org-ql.el b/org-ql.el index 85b47cd..2fd64fa 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.4.8 +;; Version: 0.4.9 ;; Package-Requires: ((emacs "26.1") (dash "2.13") (dash-functional "1.2.0") (f "0.17.2") (org "9.0") (org-super-agenda "1.2-pre") (ov "1.0.6") (peg "0.6") (s "1.12.0") (ts "0.2-pre")) ;; Keywords: hypermedia, outlines, Org, agenda diff --git a/org-ql.info b/org-ql.info index 6e8a77d..a6e4465 100644 --- a/org-ql.info +++ b/org-ql.info @@ -63,6 +63,8 @@ Functions / Macros Changelog +* 0.4.9: 049. +* 0.4.8: 048. * 0.4.7: 047. * 0.4.6: 046. * 0.4.5: 045. @@ -710,6 +712,8 @@ releases. * Menu: +* 0.4.9: 049. +* 0.4.8: 048. * 0.4.7: 047. * 0.4.6: 046. * 0.4.5: 045. @@ -728,9 +732,32 @@ releases. * 0.1: 01.  -File: README.info, Node: 047, Next: 046, Up: Changelog +File: README.info, Node: 049, Next: 048, Up: Changelog -5.1 0.4.7 +5.1 0.4.9 +========= + +*Fixed* + • Agenda restriction in org-ql-block. (Fixes #84 + (https://github.com/alphapapa/org-ql/issues/84). Thanks to Ihor + Radchenko (https://github.com/yantar92).) + + +File: README.info, Node: 048, Next: 047, Prev: 049, Up: Changelog + +5.2 0.4.8 +========= + +*Fixed* + • Multiple sorters not preserved when refreshing views. (Fixes #136 + (https://github.com/alphapapa/org-ql/issues/136), #137 + (https://github.com/alphapapa/org-ql/pull/137). Thanks to Imran + Khan (https://github.com/natrys).) + + +File: README.info, Node: 047, Next: 046, Prev: 048, Up: Changelog + +5.3 0.4.7 ========= *Fixed* @@ -743,7 +770,7 @@ File: README.info, Node: 047, Next: 046, Up: Changelog  File: README.info, Node: 046, Next: 045, Prev: 047, Up: Changelog -5.2 0.4.6 +5.4 0.4.6 ========= *Fixed* @@ -756,7 +783,7 @@ File: README.info, Node: 046, Next: 045, Prev: 047, Up: Changelog  File: README.info, Node: 045, Next: 044, Prev: 046, Up: Changelog -5.3 0.4.5 +5.5 0.4.5 ========= *Fixed* @@ -768,7 +795,7 @@ File: README.info, Node: 045, Next: 044, Prev: 046, Up: Changelog  File: README.info, Node: 044, Next: 043, Prev: 045, Up: Changelog -5.4 0.4.4 +5.6 0.4.4 ========= *Fixed* @@ -780,7 +807,7 @@ File: README.info, Node: 044, Next: 043, Prev: 045, Up: Changelog  File: README.info, Node: 043, Next: 042, Prev: 044, Up: Changelog -5.5 0.4.3 +5.7 0.4.3 ========= *Fixed* @@ -790,7 +817,7 @@ File: README.info, Node: 043, Next: 042, Prev: 044, Up: Changelog  File: README.info, Node: 042, Next: 041, Prev: 043, Up: Changelog -5.6 0.4.2 +5.8 0.4.2 ========= *Fixed* @@ -799,7 +826,7 @@ File: README.info, Node: 042, Next: 041, Prev: 043, Up: Changelog  File: README.info, Node: 041, Next: 04, Prev: 042, Up: Changelog -5.7 0.4.1 +5.9 0.4.1 ========= *Fixed* @@ -809,8 +836,8 @@ File: README.info, Node: 041, Next: 04, Prev: 042, Up: Changelog  File: README.info, Node: 04, Next: 032, Prev: 041, Up: Changelog -5.8 0.4 -======= +5.10 0.4 +======== _Note:_ The next release, 0.5, may include changes which will require minor updates to written queries (e.g. a few predicates may be @@ -890,8 +917,8 @@ as they will be pushed to the master branch when ready.  File: README.info, Node: 032, Next: 031, Prev: 04, Up: Changelog -5.9 0.3.2 -========= +5.11 0.3.2 +========== *Fixed* • In org-ql-search, accept symbol as ‘:super-groups’ argument. @@ -903,7 +930,7 @@ File: README.info, Node: 032, Next: 031, Prev: 04, Up: Changelog  File: README.info, Node: 031, Next: 03, Prev: 032, Up: Changelog -5.10 0.3.1 +5.12 0.3.1 ========== *Fixed* @@ -913,7 +940,7 @@ File: README.info, Node: 031, Next: 03, Prev: 032, Up: Changelog  File: README.info, Node: 03, Next: 023, Prev: 031, Up: Changelog -5.11 0.3 +5.13 0.3 ======== *Added* @@ -978,7 +1005,7 @@ File: README.info, Node: 03, Next: 023, Prev: 031, Up: Changelog  File: README.info, Node: 023, Next: 022, Prev: 03, Up: Changelog -5.12 0.2.3 +5.14 0.2.3 ========== *Fixed* @@ -988,7 +1015,7 @@ File: README.info, Node: 023, Next: 022, Prev: 03, Up: Changelog  File: README.info, Node: 022, Next: 021, Prev: 023, Up: Changelog -5.13 0.2.2 +5.15 0.2.2 ========== *Fixed* @@ -999,7 +1026,7 @@ File: README.info, Node: 022, Next: 021, Prev: 023, Up: Changelog  File: README.info, Node: 021, Next: 02, Prev: 022, Up: Changelog -5.14 0.2.1 +5.16 0.2.1 ========== *Fixed* @@ -1009,7 +1036,7 @@ File: README.info, Node: 021, Next: 02, Prev: 022, Up: Changelog  File: README.info, Node: 02, Next: 01, Prev: 021, Up: Changelog -5.15 0.2 +5.17 0.2 ======== *Added* @@ -1092,7 +1119,7 @@ File: README.info, Node: 02, Next: 01, Prev: 021, Up: Changelog  File: README.info, Node: 01, Prev: 02, Up: Changelog -5.16 0.1 +5.18 0.1 ======== First tagged release. @@ -1153,47 +1180,49 @@ GPLv3  Tag Table: Node: Top225 -Node: Contents1507 -Node: Screenshots1681 -Node: Installation1799 -Node: Quelpa2437 -Node: Usage2880 -Node: Commands3229 -Node: org-ql-search3702 -Node: helm-org-ql5350 -Node: org-ql-view5762 -Node: org-ql-view-sidebar5960 -Node: org-ql-view-recent-items6316 -Node: org-ql-sparse-tree6800 -Node: Queries7600 -Node: Non-sexp query syntax8508 -Node: General predicates10215 -Node: Ancestor/descendant predicates15022 -Node: Date/time predicates16150 -Node: Functions / Macros18805 -Node: Agenda-like views19038 -Node: Listing / acting-on results20443 -Node: Changelog25045 -Node: 04725679 -Node: 04626062 -Node: 04526462 -Node: 04426821 -Node: 04327178 -Node: 04227373 -Node: 04127532 -Node: 0427771 -Node: 03231702 -Node: 03132079 -Node: 0332276 -Node: 02335251 -Node: 02235479 -Node: 02135747 -Node: 0235946 -Node: 0139981 -Node: Notes40082 -Node: Comparison with Org Agenda searches40244 -Node: org-sidebar41115 -Node: License41394 +Node: Contents1537 +Node: Screenshots1711 +Node: Installation1829 +Node: Quelpa2467 +Node: Usage2910 +Node: Commands3259 +Node: org-ql-search3732 +Node: helm-org-ql5380 +Node: org-ql-view5792 +Node: org-ql-view-sidebar5990 +Node: org-ql-view-recent-items6346 +Node: org-ql-sparse-tree6830 +Node: Queries7630 +Node: Non-sexp query syntax8538 +Node: General predicates10245 +Node: Ancestor/descendant predicates15052 +Node: Date/time predicates16180 +Node: Functions / Macros18835 +Node: Agenda-like views19068 +Node: Listing / acting-on results20473 +Node: Changelog25075 +Node: 04925739 +Node: 04826002 +Node: 04726349 +Node: 04626744 +Node: 04527144 +Node: 04427503 +Node: 04327860 +Node: 04228055 +Node: 04128214 +Node: 0428453 +Node: 03232386 +Node: 03132765 +Node: 0332962 +Node: 02335937 +Node: 02236165 +Node: 02136433 +Node: 0236632 +Node: 0140667 +Node: Notes40768 +Node: Comparison with Org Agenda searches40930 +Node: org-sidebar41801 +Node: License42080  End Tag Table From e4fb1cce2e7f41eac521fccf1367c6454b5d1154 Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Fri, 20 Nov 2020 08:13:15 -0600 Subject: [PATCH 306/615] Docs: Explain how caching works Fixes #132. Thanks to Mikhail Skorzhinskii (@mskorzhinskiy) for suggesting. --- README.org | 6 +++++ org-ql.info | 73 +++++++++++++++++++++++++++++++---------------------- 2 files changed, 49 insertions(+), 30 deletions(-) diff --git a/README.org b/README.org index 0ff4d89..741e745 100644 --- a/README.org +++ b/README.org @@ -299,6 +299,12 @@ The variable =org-ql-block-header= may be bound to a string to use as the block *** Listing / acting-on results +**** Caching + +Org QL uses a per-buffer cache to speed up subsequent searches. It's keyed on query expressions, which means that, for the same query in the same buffer, if the buffer has not been modified since the last time the query was run, the cached result will be returned, and the query will not be evaluated in that buffer again. + +Therefore, since query expressions are not guaranteed to be evaluated when these functions are called, they should be free of side effects. Any side effects should be done in the action expression instead. + **** Function: ~org-ql-select~ /Arguments:/ ~(buffers-or-files query &key action narrow sort)~ diff --git a/org-ql.info b/org-ql.info index 5c9bb45..519f605 100644 --- a/org-ql.info +++ b/org-ql.info @@ -607,7 +607,20 @@ File: README.info, Node: Listing / acting-on results, Prev: Agenda-like views, 4.3.2 Listing / acting-on results --------------------------------- - 1. Function: ‘org-ql-select’ + 1. Caching + + Org QL uses a per-buffer cache to speed up subsequent searches. + It’s keyed on query expressions, which means that, for the same + query in the same buffer, if the buffer has not been modified since + the last time the query was run, the cached result will be + returned, and the query will not be evaluated in that buffer again. + + Therefore, since query expressions are not guaranteed to be + evaluated when these functions are called, they should be free of + side effects. Any side effects should be done in the action + expression instead. + + 2. Function: ‘org-ql-select’ _Arguments:_ ‘(buffers-or-files query &key action narrow sort)’ @@ -667,7 +680,7 @@ File: README.info, Node: Listing / acting-on results, Prev: Agenda-like views, '(todo "WAITING")) ;; => ((headline (:raw-value "Visit the moon" ...) ...) ...) - 2. Function: ‘org-ql-query’ + 3. Function: ‘org-ql-query’ _Arguments:_ ‘(&key (select 'element-with-markers) from where order-by narrow)’ @@ -712,7 +725,7 @@ File: README.info, Node: Listing / acting-on results, Prev: Agenda-like views, :where '(todo "WAITING")) ;; => ((headline (:raw-value "Visit the moon" ...) ...) ...) - 3. Macro: ‘org-ql’ + 4. Macro: ‘org-ql’ _Arguments:_ ‘(buffers-or-files query &key sort narrow markers action)’ @@ -1336,33 +1349,33 @@ Node: Date/time predicates17145 Node: Functions / Macros19800 Node: Agenda-like views20055 Node: Listing / acting-on results21460 -Node: Dynamic block26062 -Node: Links28760 -Node: Tips29447 -Node: Changelog29765 -Node: 05-pre30449 -Node: 04931688 -Node: 04831966 -Node: 04732313 -Node: 04632708 -Node: 04533108 -Node: 04433467 -Node: 04333824 -Node: 04234019 -Node: 04134178 -Node: 0434419 -Node: 03238352 -Node: 03138731 -Node: 0338928 -Node: 02341903 -Node: 02242131 -Node: 02142399 -Node: 0242598 -Node: 0146633 -Node: Notes46734 -Node: Comparison with Org Agenda searches46896 -Node: org-sidebar47768 -Node: License48047 +Node: Dynamic block26655 +Node: Links29353 +Node: Tips30040 +Node: Changelog30358 +Node: 05-pre31042 +Node: 04932281 +Node: 04832559 +Node: 04732906 +Node: 04633301 +Node: 04533701 +Node: 04434060 +Node: 04334417 +Node: 04234612 +Node: 04134771 +Node: 0435012 +Node: 03238945 +Node: 03139324 +Node: 0339521 +Node: 02342496 +Node: 02242724 +Node: 02142992 +Node: 0243191 +Node: 0147226 +Node: Notes47327 +Node: Comparison with Org Agenda searches47489 +Node: org-sidebar48361 +Node: License48640  End Tag Table From 6bb2db93921e70293fb2f73f6cfe51811a9b28db Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Fri, 20 Nov 2020 08:22:41 -0600 Subject: [PATCH 307/615] Docs: Improve query explanation See #92. --- README.org | 2 +- org-ql.info | 79 +++++++++++++++++++++++++++-------------------------- 2 files changed, 42 insertions(+), 39 deletions(-) diff --git a/README.org b/README.org index 741e745..2d7f300 100644 --- a/README.org +++ b/README.org @@ -165,7 +165,7 @@ Show a sparse tree for ~QUERY~ in ~BUFFER~ and return number of results. The tr - [[#datetime-predicates][Date/time predicates]] :END: -An =org-ql= query is a lisp form which may contain arbitrary lisp forms, as well as certain built-in predicates. It is byte-compiled into a predicate function which is tested with point on each heading in an Org buffer; when it returns non-nil, the heading matches the query. +An =org-ql= query is a Lisp expression which may contain arbitrary expressions, as well as calling certain built-in predicates. It is byte-compiled into a predicate function which is tested with point on each heading in an Org buffer; when it returns non-nil, the heading matches the query. When possible, certain built-in predicates are optimized away to whole-buffer regular expression searches, which are much faster to search for than testing the predicate on each heading. *Notes:* + Bare strings like ~"string"~ are automatically converted to ~(regexp "string")~ predicates. diff --git a/org-ql.info b/org-ql.info index 519f605..da41319 100644 --- a/org-ql.info +++ b/org-ql.info @@ -318,10 +318,13 @@ File: README.info, Node: Queries, Next: Functions / Macros, Prev: Commands, =========== • • • • - An org-ql query is a lisp form which may contain arbitrary lisp -forms, as well as certain built-in predicates. It is byte-compiled into -a predicate function which is tested with point on each heading in an -Org buffer; when it returns non-nil, the heading matches the query. + An org-ql query is a Lisp expression which may contain arbitrary +expressions, as well as calling certain built-in predicates. It is +byte-compiled into a predicate function which is tested with point on +each heading in an Org buffer; when it returns non-nil, the heading +matches the query. When possible, certain built-in predicates are +optimized away to whole-buffer regular expression searches, which are +much faster to search for than testing the predicate on each heading. *Notes:* • Bare strings like ‘"string"’ are automatically converted to @@ -1342,40 +1345,40 @@ Node: org-ql-view-sidebar6349 Node: org-ql-view-recent-items6705 Node: org-ql-sparse-tree7189 Node: Queries7989 -Node: Non-sexp query syntax8897 -Node: General predicates10604 -Node: Ancestor/descendant predicates16017 -Node: Date/time predicates17145 -Node: Functions / Macros19800 -Node: Agenda-like views20055 -Node: Listing / acting-on results21460 -Node: Dynamic block26655 -Node: Links29353 -Node: Tips30040 -Node: Changelog30358 -Node: 05-pre31042 -Node: 04932281 -Node: 04832559 -Node: 04732906 -Node: 04633301 -Node: 04533701 -Node: 04434060 -Node: 04334417 -Node: 04234612 -Node: 04134771 -Node: 0435012 -Node: 03238945 -Node: 03139324 -Node: 0339521 -Node: 02342496 -Node: 02242724 -Node: 02142992 -Node: 0243191 -Node: 0147226 -Node: Notes47327 -Node: Comparison with Org Agenda searches47489 -Node: org-sidebar48361 -Node: License48640 +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: 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  End Tag Table From 2aa8e84fc999cd1e90f9ae0008dfbe7865876f5a Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Sun, 22 Nov 2020 17:09:36 -0600 Subject: [PATCH 308/615] Fix: peg-related compiler warnings --- org-ql.el | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/org-ql.el b/org-ql.el index 9dad848..ccf63fd 100644 --- a/org-ql.el +++ b/org-ql.el @@ -1731,8 +1731,8 @@ element should be a regexp string." ;; Fix compiler warnings probably caused by `peg' not using lexical-binding. ;; TODO: File bug report upstream. -(defvar peg-errors nil) -(defvar peg-stack nil) +(defvar peg-errors) +(defvar peg-stack) (defmacro org-ql--peg-parse-string (rules string &optional noerror) "Parse STRING according to RULES." From 46ad26f1a02b7a6f3d0badbe9a148def7c0d914a Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Sun, 22 Nov 2020 17:20:12 -0600 Subject: [PATCH 309/615] 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 310/615] 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 311/615] 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 312/615] 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 313/615] 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 314/615] 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 315/615] 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 From 57b3eeba49745579e0908a4a2fb54f64b2fad88c Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Mon, 23 Nov 2020 01:13:03 -0600 Subject: [PATCH 316/615] Merge: org-ql-defpred MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Squashed commit of the following: commit a0ace307b0de3f5e811f042fd9f0b821a0bbc95c Author: Adam Porter Date: Mon Nov 23 01:11:07 2020 -0600 Docs: Fix TOC commit bef9f3c9b5b762070445c76ac3c833e51dd893ba Author: Adam Porter Date: Mon Nov 23 01:09:33 2020 -0600 Docs: (README.org) Add org-ql-defpred commit ff0257696fe87764e3289e12ddc336377a9a5d01 Author: Adam Porter Date: Mon Nov 23 00:52:06 2020 -0600 Docs: Improve defpred.org Thanks to piyo in #emacsconf@freenode. commit 18d6d73a99c336cd637c99309ee5d150106b73b7 Author: Adam Porter Date: Mon Nov 23 00:35:24 2020 -0600 Docs: Improve custom predicate tutorial Closes #155. Thanks to Merlin Göttlinger (@mgttlinger) for suggesting improvements. commit b8cbe36fb3bec23dad5fac07cd11018d98a0e9c1 Author: Adam Porter Date: Mon Nov 23 00:05:52 2020 -0600 Docs: Add custom predicate tutorial commit b1008d0c526b988e958809997351f347af41a7f7 Author: Adam Porter Date: Sun Nov 22 19:34:16 2020 -0600 Docs: Update readme commit 73d4f95cd4eb429774c16b6d403285e9755a2412 Merge: 9a2719f 148a193 Author: Adam Porter Date: Sun Nov 22 19:29:15 2020 -0600 Merge branch 'wip/0.6-pre' into wip/define-predicate ... --- README.org | 64 +- examples.org | 5 + examples/defpred.org | 331 ++++++++++ helm-org-ql.el | 4 +- org-ql-search.el | 4 +- org-ql-view.el | 2 +- org-ql.el | 1499 +++++++++++++++++++++++------------------- org-ql.info | 192 ++++-- tests/test-org-ql.el | 122 ++-- 9 files changed, 1432 insertions(+), 791 deletions(-) create mode 100644 examples/defpred.org diff --git a/README.org b/README.org index b4f8596..5f9e718 100644 --- a/README.org +++ b/README.org @@ -258,15 +258,19 @@ The following predicates, in addition to the keyword arguments, can also take a ** Functions / Macros :PROPERTIES: -:TOC: ignore-children +:TOC: :include descendants +:END: +:CONTENTS: +- [[#agenda-like-views][Agenda-like views]] + - [[#function-org-ql-block][Function: org-ql-block]] +- [[#listing--acting-on-results][Listing / acting-on results]] + - [[#caching][Caching]] + - [[#function-org-ql-select][Function: org-ql-select]] + - [[#function-org-ql-query][Function: org-ql-query]] + - [[#macro-org-ql][Macro: org-ql]] +- [[#custom-predicates][Custom predicates]] + - [[#macro-org-ql-defpred][Macro: org-ql-defpred]] :END: - -- [[#agenda-like-views][Agenda-like views]] - - [[#function-org-ql-block][Function: org-ql-block]] -- [[#listing--acting-on-results][Listing / acting-on results]] - - [[#function-org-ql-select][Function: org-ql-select]] - - [[#function-org-ql-query][Function: org-ql-query]] - - [[#macro-org-ql][Macro: org-ql]] *** Agenda-like views @@ -405,6 +409,44 @@ Examples: Expands into a call to ~org-ql-select~ with the same arguments. For convenience, arguments should be unquoted. +*** Custom predicates + ++ See: [[file:examples/defpred.org][Custom predicate tutorial]] + +**** Macro: =org-ql-defpred= + +/Arguments:/ ~(name args docstring &key body preambles normalizers)~ + +Define an ~org-ql~ selector predicate named ~org-ql--predicate-NAME~. ~NAME~ may be a symbol or a list of symbols: if a list, the first is used as ~NAME~ and the rest are aliases. ~A~ function is only created for ~NAME~, not for aliases, so a normalizer should be used to replace aliases with ~NAME~ in queries (keep reading). + +~ARGS~ is a ~cl-defun~-style argument list. ~DOCSTRING~ is the function's docstring. + +~BODY~ is the body of the predicate. It will be evaluated with point on the beginning of an Org heading and should return non-nil if the heading's entry is a match. + +~PREAMBLES~ and ~NORMALIZERS~ are lists of ~pcase~ forms matched against Org ~QL~ query sexps. They are spliced into ~pcase~ forms in the definitions of the functions ~org-ql--query-preamble~ and ~org-ql--normalize-query~, which see. Those functions are redefined when this macro is expanded, unless variable ~org-ql-defpred-defer~ is non-nil, in which case those functions should be redefined manually after defining predicates by calling ~org-ql--define-query-preamble-fn~ and ~org-ql--define-normalize-query-fn~. + +~NORMALIZERS~ are used to normalize query expressions to standard forms. For example, when the predicate has aliases, the aliases should be replaced with predicate names using a normalizer. Also, predicate arguments may be put into a more optimal form so that the predicate has less work to do at query time. + +~PREAMBLES~ refer to regular expressions which may be used to search through a buffer directly to a potential match rather than testing the predicate body on each heading. (Naming things is hard.) In each ~pcase~ form in ~PREAMBLES~, the ~pcase~ expression (not the pattern) should be a plist with the following keys, each value of which should be an expression which may refer to variables bound in the pattern: + +~:regexp~ Regular expression which searches directly to a potential match. + +~:case-fold~ Bound to ~case-fold-search~ around the regexp search. + +~:query~ Expression which should replace the query expression, or ~query~ if it should not be changed (e.g. if the regexp is insufficient to determine whether a heading matches, in which case the predicate's body needs to be tested on the heading). If the regexp guarantees a match, this may be simply ~t~, leaving the query expression with no work to do, which improves performance. + +For convenience, within the ~pcase~ patterns, the symbol ~predicate-names~ is a special form which is replaced with a pattern matching any of the predicate's name and aliases. For example, if ~NAME~ were: + +~(heading h)~ + +Then if ~NORMALIZERS~ were: + +~((`(,predicate-names . ,args) `(heading ,@args)))~ + +It would be expanded to: + +~((`(,(or 'heading 'h) . ,args) `(heading ,@args)))~ + ** Dynamic block Org QL provides a dynamic block that lists entries in the current document matching a query. In the header, these parameters are supported: @@ -463,7 +505,11 @@ Simple links may also be written manually in either sexp or non-sexp form, like: ** 0.6-pre -Nothing new yet. +*Added* ++ Macro =org-ql-defpred=, used to define search predicates. (See [[file:examples/defpred.org][tutorial]].) + +*Internal* ++ Predicates are now defined more cleanly with a macro (=org-ql-defpred=) that consolidates functionality related to each predicate. This will also allow users to more easily define custom predicates. ** 0.5 diff --git a/examples.org b/examples.org index eb14f08..7d5f28d 100644 --- a/examples.org +++ b/examples.org @@ -5,6 +5,7 @@ :TOC: :include siblings :ignore this :END: :CONTENTS: +- [[#custom-predicates][Custom predicates]] - [[#agenda-like-view][Agenda-like view]] - [[#entries-from-the-past-week][Entries from the past week]] - [[#find-entries-matching-a-certain-custom_id][Find entries matching a certain CUSTOM_ID]] @@ -18,6 +19,10 @@ - [[#task-list-for-files-in-subdirectories][Task list for files in subdirectories]] :END: +* Custom predicates + ++ [[file:examples/defpred.org][Custom predicate tutorial]] + * Agenda-like view Show an agenda-like view, similar to a "traditional" Org Agenda with Log Mode turned on. diff --git a/examples/defpred.org b/examples/defpred.org new file mode 100644 index 0000000..86565cf --- /dev/null +++ b/examples/defpred.org @@ -0,0 +1,331 @@ +#+TITLE: Org QL Custom Predicates Tutorial +#+OPTIONS: author:nil creator:nil created:nil date:nil num:nil title:t + +[2020-11-22 Sun 22:35] Imagine you have weekly meetings with other people, and during the week you take notes about items to discuss at each meeting. When the time for a meeting comes, you want to quickly and easily search for all of the items to discuss at the meeting. + +You've been experimenting with different ways to track such data in Org. You've tried using tags, but some of the names in question conflict with other tags in your data (e.g. someone's named Charles, but you also work with a firm named Charles, Inc., and you'd prefer to continue using the tag =Charles= for entries about that firm), so you've been using tags like ~:personNAME:~, which seems awkward. You've tried using a ~:person: NAME~ property on entries, which has the advantage of not cluttering the tags list, but also the disadvantage of not being readily visible in an outline. + +So you haven't decided on a long-term solution, but the meetings aren't going to wait--you need to search that data now, and you have a mix of both tags and properties in your entries. What you need is to be able to search for all of the entries about Alice (which you've tagged ~:personAlice:~) when you're meeting with her, and all of the entries about Bob (which have the property ~:person: Bob~) when you're meeting with him What do you do? + +* Contents +:PROPERTIES: +:TOC: :include siblings :ignore this +:END: +:CONTENTS: +- [[#using-built-in-predicates][Using built-in predicates]] +- [[#a-custom-person-predicate][A custom (person) predicate]] +- [[#searching-for-multiple-people-at-once][Searching for multiple people at once]] +- [[#normalizing-queries-to-rewrite-arguments][Normalizing queries to rewrite arguments]] +- [[#non-sexp-query-syntax][Non-sexp query syntax]] +- [[#using-multiple-predicates][Using multiple predicates]] +- [[#predicate-aliases][Predicate aliases]] +- [[#appendix-anaphoric-macros][Appendix: Anaphoric macros]] +:END: + +* Using built-in predicates + +You could start by using built-in Org QL predicates to search your data. For example: + +#+BEGIN_SRC elisp :results list :exports both :cache yes + (org-ql-query :select '(org-get-heading :no-tags) + :from (current-buffer) + :where '(or (tags "personAlice") + (property "person" "Bob"))) +#+END_SRC + +#+RESULTS[91a413cda23cb65d6bb99212e111f283e5a5c910]: +- [#A] Loud pet parakeet +- [#C] Missing sticky notes +- [#C] Dirty dishes in sink +- [#A] Stinky coffee breath + +That was easy enough, but it's not very...semantic. You have to think about the implementation details: Alice uses tags, Bob uses properties, and what if Charlie uses both? It starts to feel complicated, and it's a lot to type out every time. Is there an easier way? + +* A custom ~(person)~ predicate + +Enter =org-ql= custom search predicates. Let's start simple, by defining a predicate to search for just the ~:person:~ property, one person at a time. The predicate will take one argument, a person's name, and search for that property. It would look like this: + +#+BEGIN_SRC elisp :results silent :exports code + (org-ql-defpred person (name) + "Search for entries with the \"person\" property being NAME." + :body (property "person" name)) +#+END_SRC + +Now let's see what results we get for searching this file for entries about Bob: + +#+BEGIN_SRC elisp :results list :exports both :cache yes + (org-ql-query :select '(org-get-heading :no-tags) + :from (current-buffer) + :where '(person "Bob")) +#+END_SRC + +#+RESULTS[c11a4ce2c4f179d7487c9b46eff9f72766bc2bc4]: +- [#C] Missing sticky notes +- [#C] Dirty dishes in sink +- [#A] Stinky coffee breath + +Hmm, looks like we need to remind Bob to wash his mug and take some mints after lunch. Now what do we need to discuss with Alice? + +#+BEGIN_SRC elisp :results list :exports both :cache yes + (org-ql-query :select '(org-get-heading :no-tags) + :from (current-buffer) + :where '(person "Alice")) +#+END_SRC + +#+RESULTS[1f12f437042bbc077a4696d707805c1367f2ca3d]: +#+BEGIN_EXAMPLE + +#+END_EXAMPLE + +Nothing? Oh, right, Alice's entries use the ~:personAlice:~ tag, so we'll also need to also search those kind of entries. Let's make the predicate do that too: + +#+BEGIN_SRC elisp :results silent :exports code + (org-ql-defpred person (name) + "Search for entries with the \"person\" property being NAME or having the tag \"personNAME\"." + :body (or (property "person" name) + (tags (concat "person" name)))) +#+END_SRC + +How about now? + +#+BEGIN_SRC elisp :results list :exports both :cache yes + (org-ql-query :select '(org-get-heading :no-tags) + :from (current-buffer) + :where '(person "Alice")) +#+END_SRC + +#+RESULTS[1f12f437042bbc077a4696d707805c1367f2ca3d]: +- [#A] Loud pet parakeet +- [#C] Missing sticky notes +- [#C] Dirty dishes in sink + +Hmm, I thought we already told her to leave Polly at home. + +* Searching for multiple people at once + +Oh, wait, this week is shortened due to holidays, so we're having a combined meeting. How do we search for entries about either of them? Well, this is the obvious solution: + +#+BEGIN_SRC elisp :results list :exports both :cache yes + (org-ql-query :select '(org-get-heading :no-tags) + :from (current-buffer) + :where '(or (person "Alice") + (person "Bob"))) +#+END_SRC + +#+RESULTS[4e4c75bde4fbceaadb076a53410c1625d1283e06]: +- [#A] Loud pet parakeet +- [#C] Missing sticky notes +- [#C] Dirty dishes in sink +- [#A] Stinky coffee breath + +And that works fine. But it seems like a lot to type. Could we make the =person= predicate accept multiple names instead? + +#+BEGIN_SRC elisp :results silent :exports code + (org-ql-defpred person (&rest names) + "Search for entries about any of NAMES." + :body (cl-loop for name in names + thereis (or (property "person" name) + (tags (concat "person" name))))) +#+END_SRC + +#+BEGIN_SRC elisp :results list :exports both :cache yes + (org-ql-query :select '(org-get-heading :no-tags) + :from (current-buffer) + :where '(person "Alice" "Bob")) +#+END_SRC + +#+RESULTS[4f5971c56616f01d8d3c28a66ef380495ee3e158]: +- [#A] Loud pet parakeet +- [#C] Missing sticky notes +- [#C] Dirty dishes in sink +- [#A] Stinky coffee breath + +That was easy! + +* Normalizing queries to rewrite arguments + +Now, all this is well and good if you don't have hundreds of thousands of Org entries in your files. But what if you do? All that =concat='ing happening on every entry could add up, and the query might take a few seconds. What if we could do that stringing-along just once, before running the query? We want to turn our ~(person "Alice" "Bob")~ query into this, with the =:personNAME:= strings already made and the per-person ~(property ...)~ predicates also included: + +#+BEGIN_SRC elisp + (or (tags "personAlice" "personBob") + (property "person" "Alice") + (property "person" "Bob")) +#+END_SRC + +Can we do that? In fact, we can, by using a query normalizer. Normalizers are =pcase= forms (I /know/) that normalize query expressions before execution. We can use one to rewrite the query ahead of time, like this: + +#+BEGIN_SRC elisp :results silent :exports code + (org-ql-defpred person (&rest names) + "Search for entries about any of NAMES." + :normalizers ((`(person . ,names) + `(or (tags ,@(cl-loop for name in names + collect (concat "person" name))) + ,@(cl-loop for name in names + collect `(property "person" ,name))))) + :body (cl-loop for name in names + thereis (or (property "person" name) + (tags (concat "person" name))))) +#+END_SRC + +Now, don't faint from all the backquoting and unquoting--it's just Lisp, nothing to be afraid of! Let's slow down a moment and see what the normalized query looks like to be sure we're doing it correctly: + +#+BEGIN_SRC elisp :results code :exports both :cache yes + (org-ql--normalize-query '(person "Alice" "Bob")) +#+END_SRC + +#+RESULTS[ebc46fff31b72359353dda539a26c95b7d650df2]: +#+BEGIN_SRC elisp + (or (tags "personAlice" "personBob") + (property "person" "Alice") + (property "person" "Bob")) +#+END_SRC + +And, as they say, Bob's your uncle! Or even if he isn't, let's see if it works: + +#+BEGIN_SRC elisp :results list :exports both :cache yes + (org-ql-query :select '(org-get-heading :no-tags) + :from (current-buffer) + :where '(person "Alice" "Bob")) +#+END_SRC + +#+RESULTS[4f5971c56616f01d8d3c28a66ef380495ee3e158]: +- [#A] Loud pet parakeet +- [#C] Missing sticky notes +- [#C] Dirty dishes in sink +- [#A] Stinky coffee breath + +Yep, same result as the non-normalized query. And look at how much simpler it is to write ~(person "Alice" "Bob")~ than to write ~(or (tags "personAlice" "personBob") (property "person" "Alice") (property "person" "Bob"))~. + +* Non-sexp query syntax + +But wait, that's not all! If you order now, we'll throw in non-sexp query syntax for free! That's right, your search could be as simple as typing ~person:Alice,Bob~! + +#+BEGIN_SRC elisp :results none :exports code + (org-ql-search (current-buffer) "person:Alice,Bob") +#+END_SRC + +Don't believe me? Well, you see, queries in this syntax are automatically converted to the sexp syntax, like: + +#+BEGIN_SRC elisp :results code :exports both :cache yes + (org-ql--query-string-to-sexp "person:Alice,Bob") +#+END_SRC + +#+RESULTS[a60655544956644605c23c152570185c329faa87]: +#+BEGIN_SRC elisp + (person "Alice" "Bob") +#+END_SRC + +But that happens automatically when you use a search command like =org-ql-search=. If you have =org-ql= installed already, you could even click this link: [[org-ql-search:person:Alice,Bob][Alice or Bob]]. Which, in Org syntax, looks like: + +#+BEGIN_SRC org + [[org-ql-search:person:Alice,Bob]] +#+END_SRC + +And that would open an Agenda Mode buffer that looks like this: + +#+BEGIN_EXAMPLE + Query: (person "Alice" "Bob") In:meetings.org + [#A] Loud pet parakeet :personAlice: + [#C] Missing sticky notes :personAlice: + [#C] Dirty dishes in sink :personAlice: + [#A] Stinky coffee breath +#+END_EXAMPLE + +* Using multiple predicates + +Oops, you forgot that there's a birthday party in 20 minutes, so you only have time to talk about the highest priority items at this joint meeting today. + +No problem, let's just select high-priority items: + +#+BEGIN_SRC elisp :results silent :exports code + (org-ql-search (current-buffer) "person:Alice,Bob priority:A") +#+END_SRC + +#+BEGIN_EXAMPLE + Query: (and (person "Alice" "Bob") (priority "A")) In:meetings.org + [#A] Loud pet parakeet :personAlice: + [#A] Stinky coffee breath +#+END_EXAMPLE + +* Predicate aliases + +And, you know what, if you're just so busy that you don't even have time to type the word =person=, you can add an abbreviated alias, =p=, like this: + +#+BEGIN_SRC elisp :results silent :exports code + (org-ql-defpred (person p) (&rest names) + "Search for entries about any of NAMES." + :normalizers ((`(,predicate-names . ,names) + `(or (tags ,@(cl-loop for name in names + collect (concat "person" name))) + ,@(cl-loop for name in names + collect `(property "person" ,name))))) + :body (cl-loop for name in names + thereis (or (property "person" name) + (tags (concat "person" name))))) +#+END_SRC + +#+BEGIN_SRC elisp :results silent :exports code + (org-ql-search (current-buffer) "p:Alice,Bob priority:A") +#+END_SRC + +#+BEGIN_EXAMPLE + Query: (and (person "Alice" "Bob") (priority "A")) In:meetings.org + [#A] Loud pet parakeet :personAlice: + [#A] Stinky coffee breath +#+END_EXAMPLE + +(It's up to you to remember whether =p= means =person= or =priority=, but code can't solve everything.) + +* Appendix: Anaphoric macros + +Finally, if you're a Lisper who appreciates anaphora, you might prefer a more syntactically concise definition of the predicate using Dash macros: + +#+BEGIN_SRC elisp :results silent :exports code + (org-ql-defpred (person p) (&rest names) + "Search for entries about any of NAMES." + :normalizers ((`(,predicate-names . ,names) + `(or (tags ,@(--map `(concat "person" ,it) names)) + ,@(--map `(property "person" ,it) names)))) + :body (--any (or (property "person" name) + (tags (concat "person" name))) + names)) +#+END_SRC + +Let's make sure it works: + +#+BEGIN_SRC elisp :results list :exports both :cache yes + (org-ql-query :select '(org-get-heading :no-tags) + :from (current-buffer) + :where '(person "Alice" "Bob")) +#+END_SRC + +#+RESULTS[4f5971c56616f01d8d3c28a66ef380495ee3e158]: +- [#A] Loud pet parakeet +- [#C] Missing sticky notes +- [#C] Dirty dishes in sink +- [#A] Stinky coffee breath + +Have fun making custom search predicates! + +* Example data +:PROPERTIES: +:TOC: :ignore (this descendants) +:END: + +** [#A] Loud pet parakeet :personAlice: + +** [#C] Missing sticky notes :personAlice: +:PROPERTIES: +:person: Bob +:END: + +** [#C] Dirty dishes in sink :personAlice: +:PROPERTIES: +:person: Bob +:END: + +** [#A] Stinky coffee breath +:PROPERTIES: +:person: Bob +:END: + diff --git a/helm-org-ql.el b/helm-org-ql.el index e95bc5f..e75cf7b 100644 --- a/helm-org-ql.el +++ b/helm-org-ql.el @@ -173,7 +173,7 @@ Is transformed into this query: (interactive) (let ((buffers-files (with-current-buffer (helm-buffer-get) helm-org-ql-buffers-files)) - (query (org-ql--plain-query helm-pattern))) + (query (org-ql--query-string-to-sexp helm-pattern))) (helm-run-after-exit #'org-ql-search buffers-files query))) ;;;###autoload @@ -189,7 +189,7 @@ Is transformed into this query: ;; Expansion of `helm-build-sync-source' macro. (helm-make-source name 'helm-source-sync :candidates (lambda () - (let* ((query (org-ql--plain-query helm-pattern)) + (let* ((query (org-ql--query-string-to-sexp helm-pattern)) (window-width (window-width (helm-window)))) (when query (with-current-buffer (helm-buffer-get) diff --git a/org-ql-search.el b/org-ql-search.el index 70d846d..c60bd8e 100644 --- a/org-ql-search.el +++ b/org-ql-search.el @@ -158,7 +158,7 @@ necessary." ;; Read sexp query. (read query) ;; Parse non-sexp query into sexp query. - (org-ql--plain-query query))) + (org-ql--query-string-to-sexp query))) (list query))) (results (org-ql-select buffers-files query :action 'element-with-markers @@ -273,7 +273,7 @@ For example, an org-ql dynamic block header could look like: #+BEGIN: org-ql :query (todo \"UNDERWAY\") :columns (priority todo heading) :sort (priority date) :ts-format \"%Y-%m-%d %H:%M\"" (-let* (((&plist :query :columns :sort :ts-format :take) params) (query (cl-etypecase query - (string (org-ql--plain-query query)) + (string (org-ql--query-string-to-sexp query)) (list ;; SAFETY: Query is in sexp form: ask for confirmation, because it could contain arbitrary code. (org-ql--ask-unsafe-query query) query))) diff --git a/org-ql-view.el b/org-ql-view.el index b954fc0..959484c 100644 --- a/org-ql-view.el +++ b/org-ql-view.el @@ -775,7 +775,7 @@ When opened, the link searches the buffer it's opened from." ;; Read sexp query. (read query) ;; Parse non-sexp query into sexp query. - (org-ql--plain-query query))))) + (org-ql--query-string-to-sexp query))))) (define-infix-command org-ql-view--transient-in () :description (lambda () (org-ql-view--format-transient-lisp-argument "In buffers/files" org-ql-view-buffers-files)) diff --git a/org-ql.el b/org-ql.el index bd53108..b4b98b3 100644 --- a/org-ql.el +++ b/org-ql.el @@ -125,7 +125,9 @@ the value returned by it at that node.") (eval-and-compile (defvar org-ql-predicates - (list (list :name 'org-back-to-heading :fn (symbol-function 'org-back-to-heading))) + ;; FIXME: Is this remapping still necessary? It was mapping `org-back-to-heading' + ;; to itself until now, so maybe I broke it and it doesn't matter anymore. + (list (cons 'org-back-to-heading (list :name 'org-back-to-heading :fn (symbol-function 'outline-back-to-heading)))) "Plist of predicates, their corresponding functions, and their docstrings. This list should not contain any duplicates.")) @@ -254,7 +256,7 @@ returns nil or non-nil." (user-error "Can't open file: %s" it))))) ;; Ignore special/hidden buffers. (--remove (string-prefix-p " " (buffer-name it))))) - (query (org-ql--pre-process-query query)) + (query (org-ql--normalize-query query)) ((&plist :query :preamble :preamble-case-fold) (org-ql--query-preamble query)) (predicate (org-ql--query-predicate query)) (action (pcase action @@ -377,13 +379,15 @@ If NARROW is non-nil, buffer will not be widened." (let (orig-fns) (--each org-ql-predicates ;; Save original function mappings. - (let ((name (plist-get it :name))) + (let* ((it (cdr it)) + (name (plist-get it :name))) (push (list :name name :fn (symbol-function name)) orig-fns))) (unwind-protect (progn (--each org-ql-predicates ;; Set predicate functions. - (fset (plist-get it :name) (plist-get it :fn))) + (let ((it (cdr it))) + (fset (plist-get it :name) (plist-get it :fn)))) ;; Run query. (save-excursion (save-restriction @@ -586,356 +590,6 @@ Or, when possible, fix the problem." (org-ql--sanity-check-form (cdr elem))) else do (check elem)))) -(defun org-ql--pre-process-query (query) - "Return QUERY having been pre-processed. -Replaces bare strings with (regexp) selectors, and appropriate -`ts'-related selectors." - ;; This is unsophisticated, but it works. - ;; TODO: Maybe query pre-processing should be done in one place, - ;; rather than here and in --query-predicate. - ;; NOTE: Don't be scared by the `pcase' patterns! They make this - ;; all very easy once you grok the backquoting and unquoting. - (cl-labels ((rec (element) - (pcase element - (`(or . ,clauses) `(or ,@(mapcar #'rec clauses))) - (`(and . ,clauses) `(and ,@(mapcar #'rec clauses))) - (`(not . ,clauses) `(not ,@(mapcar #'rec clauses))) - (`(when ,condition . ,clauses) `(when ,(rec condition) - ,@(mapcar #'rec clauses))) - (`(unless ,condition . ,clauses) `(unless ,(rec condition) - ,@(mapcar #'rec clauses))) - ;; TODO: Combine (regexp) when appropriate (i.e. inside an OR, not an AND). - ((pred stringp) `(regexp ,element)) - ;; Quote children queries so the user doesn't have to. - (`(children ,query) `(children ',query)) - (`(children) '(children (lambda () t))) - (`(descendants ,query) `(descendants ',query)) - (`(descendants) '(descendants (lambda () t))) - (`(parent ,query) `(parent ,(org-ql--query-predicate (rec query)))) - (`(parent) '(parent (lambda () t))) - (`(ancestors ,query) `(ancestors ,(org-ql--query-predicate (rec query)))) - (`(ancestors) '(ancestors (lambda () t))) - ;; Timestamp-based predicates. I think this is the way that makes the most sense: - ;; set the limit to N days in the future, adjusted to 23:59:59 (since Org doesn't - ;; support timestamps down to the second, anyway, there should be no need to adjust - ;; it forward to 00:00:00 of the next day). That way, e.g. if it's Monday at 3 PM, - ;; and N is 1, rather than showing items up to 3 PM Tuesday, it will show items any - ;; time on Tuesday. If this isn't desired, the user can pass a specific timestamp. - (`(,(and pred (or 'clocked 'closed)) - ,(and num-days (pred numberp))) - ;; (clocked) and (closed) implicitly look into the past. - (let ((from (->> (ts-now) - (ts-adjust 'day (* -1 num-days)) - (ts-apply :hour 0 :minute 0 :second 0)))) - `(,pred :from ,from))) - (`(deadline auto) - ;; Use `org-deadline-warning-days' as the :to arg. - (let ((to (->> (ts-now) - (ts-adjust 'day org-deadline-warning-days) - (ts-apply :hour 23 :minute 59 :second 59)))) - `(deadline-warning :to ,to))) - (`(,(and pred (or 'deadline 'scheduled 'planning)) - ,(and num-days (pred numberp))) - (let ((to (->> (ts-now) - (ts-adjust 'day num-days) - (ts-apply :hour 23 :minute 59 :second 59)))) - `(,pred :to ,to))) - - ;; Headings. - (`(h . ,args) - ;; "h" alias. - `(heading ,@args)) - - ;; Outline level. - (`(level . ,args) - ;; Arguments could be given as strings (e.g. from a non-Lisp query). - `(level ,@(--map (pcase it - ((or "<" "<=" ">" ">=" "=") - (intern it)) - ((pred stringp) (string-to-number it)) - (_ it)) - args))) - - ;; Regexps. - (`(r . ,args) - ;; "r" alias. - `(regexp ,@args)) - - ;; Outline paths. - (`(,(or 'outline-path 'olp) . ,strings) - ;; Regexp quote headings. - `(outline-path ,@(mapcar #'regexp-quote strings))) - (`(,(or 'outline-path-segment 'olps) . ,strings) - ;; Regexp quote headings. - `(outline-path-segment ,@(mapcar #'regexp-quote strings))) - - ;; Priorities - (`(priority ,(and (or '= '< '> '<= '>=) comparator) ,letter) - ;; Quote comparator. - `(priority ',comparator ,letter)) - - ;; Properties. - (`(property ,property . ,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))) - (cons 'property (cons property value))) - - ;; Source blocks. - (`(src . ,args) - ;; Rewrite to use keyword args. - (-let (regexps lang keyword-index) - (cond ((plist-get args :lang) - ;; Lang given first, or only lang given. - (setf lang (plist-get args :lang) - regexps (seq-difference args (list :lang lang)))) - ((setf keyword-index (-find-index #'keywordp args)) - ;; Regexps and lang given. - (setf lang (plist-get (cl-subseq args keyword-index) :lang) - regexps (cl-subseq args 0 keyword-index))) - (t ;; Only regexps given. - (setf regexps args))) - (when regexps - ;; This feels awkward and wrong, but we have to quote lists - ;; and avoid quoting nil. There must be a better way. - (setf regexps `(',regexps))) - `(src :lang ,lang :regexps ,@regexps))) - - ;; Tags. - (`(,(or 'tags-all 'tags&) . ,tags) `(and ,@(--map `(tags ,it) tags))) - ;; MAYBE: -all versions for inherited and local. - ;; Inherited and local predicate aliases. - (`(,(or 'tags-i 'itags 'inherited-tags) . ,tags) `(tags-inherited ,@tags)) - (`(,(or 'tags-l 'ltags 'local-tags) . ,tags) `(tags-local ,@tags)) - (`(,(or 'tags*) . ,regexps) `(tags-regexp ,@regexps)) - - ;; Timestamps - (`(,(or 'ts-active 'ts-a) . ,rest) `(ts :type active ,@rest)) - (`(,(or 'ts-inactive 'ts-i) . ,rest) `(ts :type inactive ,@rest)) - ;; Any other form: passed through unchanged. - (_ element)))) - (rec query))) - -(defun org-ql--query-preamble (query) - "Return plist (QUERY PREAMBLE PREAMBLE-CASE-FOLD) for QUERY. -When QUERY has a clause with a corresponding preamble, and it's -appropriate to use one (i.e. the clause is not in an `or'), -replace the clause with a preamble." - (pcase org-ql-use-preamble - ('nil (list :query query :preamble nil)) - (_ (let ((preamble-case-fold t) - org-ql-preamble) - (cl-labels ((rec (element) - (or (when org-ql-preamble - ;; Only one preamble is allowed - element) - (pcase element - (`(or _) element) - (`(clocked . ,_) - (setq org-ql-preamble org-ql-clock-regexp) - element) - (`(closed . ,_) - (setq org-ql-preamble org-closed-time-regexp) - ;; Return element, because the predicate still needs testing. - element) - (`(deadline . ,_) - (setq org-ql-preamble org-deadline-time-regexp) - ;; Return element, because the predicate still needs testing. - element) - (`(regexp . ,regexps) - ;; Search for first regexp, then confirm with predicate. - (setq org-ql-preamble (car regexps)) - element) - (`(todo . ,(and todo-keywords (guard todo-keywords))) - (setf org-ql-preamble - (rx-to-string `(seq bol (1+ "*") (1+ space) (or ,@todo-keywords) (or " " eol)) - t) - preamble-case-fold nil) - ;; Return nil, don't test the predicate. - nil) - (`(habit) - (setq org-ql-preamble (rx bol (0+ space) ":STYLE:" (1+ space) "habit" (0+ space) eol)) - nil) - - ;; Heading text. - ;; MAYBE: Adjust regexp to avoid matching in tag list. - (`(heading ,regexp) - ;; Only one regexp: match with preamble, then let predicate confirm (because - ;; the match could be in e.g. the tags rather than the heading text). - (setq org-ql-preamble (rx-to-string `(seq bol (1+ "*") (1+ blank) (0+ nonl) - ,regexp) - 'no-group)) - element) - (`(heading . ,regexps) - ;; Multiple regexps: use preamble to match against first - ;; regexp, then let the predicate match the rest. - (setq org-ql-preamble (rx-to-string `(seq bol (1+ "*") (1+ blank) (0+ nonl) - ,(car regexps)) - 'no-group)) - element) - - ;; Heading levels. - (`(level ,comparator-or-num ,num) - (let ((repeat (pcase comparator-or-num - ('< `(repeat 1 ,(1- num) "*")) - ('<= `(repeat 1 ,num "*")) - ('> `(>= ,(1+ num) "*")) - ('>= `(>= ,num "*")) - ((pred integerp) `(repeat ,comparator-or-num ,num "*"))))) - (setq org-ql-preamble (rx-to-string `(seq bol ,repeat " ") t)) - ;; Return nil, because we don't need to test the predicate. - nil)) - (`(level ,num) - (setq org-ql-preamble (rx-to-string `(seq bol (repeat ,num "*") " ") t)) - nil) - - ;; Links. Always return nil, because we - ;; shouldn't need to test the predicate. - (`(link) - (setq org-ql-preamble - ;; Match a link with a target and optionally a description. - (rx (or bol (1+ blank)) - "[[" (1+ (not (any "]"))) "]" - (optional (seq "[" (0+ (not (any "]"))) "]")) - "]" - (or eol blank))) - nil) - ;; NOTE: I would use the form "(map :regexp-p)", or at least - ;; "(map (:regexp-p regexp))" but they require map versions from - ;; ELPA. That would be fine, except that I can't automatically - ;; install those versions with makem.sh into a sandbox, because - ;; `package-install' doesn't accept a version argument. So I - ;; have to use `plist-get' here for now. Maybe when we drop - ;; support for Emacs <28... - (`(link ,(and description-or-target - (guard (not (keywordp description-or-target))))) - (setq org-ql-preamble - (org-ql--link-regexp :description-or-target - (regexp-quote description-or-target))) - nil) - (`(link . ,plist) - (setq org-ql-preamble - (org-ql--link-regexp - :description - (when (plist-get plist :description) - (regexp-quote (plist-get plist :description))) - :target (when (plist-get plist :target) - (regexp-quote (plist-get plist :target))))) - nil) - - ;; Planning lines. - (`(planning . ,_) - (setq org-ql-preamble org-ql-planning-regexp) - ;; Return element, because the predicate still needs testing. - element) - - ;; Priorities. - ;; NOTE: This only accepts A, B, or C. I haven't seen - ;; other priorities in the wild, so this will do for now. - (`(priority) - ;; Any priority cookie. - (setq org-ql-preamble (rx-to-string `(seq bol (1+ "*") (1+ blank) (0+ nonl) "[#" (in "ABC") "]") t)) - nil) - (`(priority ,(and (or ''= ''< ''> ''<= ''>=) comparator) ,letter) - ;; Comparator and priority letter. - ;; NOTE: The double-quoted comparators. See below. - (let* ((priority-letters '("A" "B" "C")) - (index (-elem-index letter priority-letters)) - ;; NOTE: Higher priority == lower number. - ;; NOTE: Because we need to support both preamble-based queries and - ;; regular predicate ones, we work around an idiosyncrasy of query - ;; pre-processing by accepting both quoted and double-quoted comparator - ;; function symbols. Not the most elegant solution, but it works. - (priorities (s-join "" (pcase comparator - ((or '= ''=) (list letter)) - ((or '> ''>) (cl-subseq priority-letters 0 index)) - ((or '>= ''>=) (cl-subseq priority-letters 0 (1+ index))) - ((or '< ''<) (cl-subseq priority-letters (1+ index))) - ((or '<= ''<=) (cl-subseq priority-letters index)))))) - (setq org-ql-preamble (rx-to-string `(seq bol (1+ "*") (1+ blank) (optional (1+ upper) (1+ blank)) - "[#" (in ,priorities) "]") t)) - nil)) - (`(priority . ,letters) - ;; One or more priorities. - ;; MAYBE: Disable case-folding. - (setq org-ql-preamble (rx-to-string `(seq bol (1+ "*") (1+ blank) - (optional (1+ upper) (1+ blank)) - "[#" (or ,@letters) "]") t)) - nil) - - ;; Properties. - ;; MAYBE: Should case folding be disabled for properties? What about values? - (`(property ,property ,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. - (setq org-ql-preamble (rx-to-string `(seq bol (0+ space) ":" ,property ":" - (1+ space) ,value (0+ space) eol))) - element) - (`(property ,property) - ;; 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. - (setq org-ql-preamble (rx-to-string `(seq bol (0+ space) ":" ,property ":" (1+ space) - (minimal-match (1+ not-newline)) eol))) - element) - ;; MAYBE: Support (property) without args. - ;; (`(property) - ;; ;; 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. - ;; (setq org-ql-preamble (rx-to-string `(seq bol (0+ space) ":" (1+ (not (or space ":"))) ":" - ;; (1+ space) (minimal-match (1+ not-newline)) eol))) - ;; element) - - ;; Src blocks. - (`(src . ,args) - (setq org-ql-preamble (org-ql--format-src-block-regexp (plist-get args :lang))) - ;; Always check contents with predicate. - element) - - ;; Scheduled. - (`(scheduled . ,_) - (setq org-ql-preamble org-scheduled-time-regexp) - ;; Return element, because the predicate still needs testing. - element) - - ;; Tags. - (`((or 'tags-local 'local-tags 'tags-l 'ltags) . ,tags) - ;; When searching for local, non-inherited tags, we can - ;; search directly to headings containing one of the tags. - (setq org-ql-preamble (rx-to-string `(seq bol (1+ "*") (1+ space) (1+ not-newline) - ":" (or ,@tags) ":") - t)) - ;; Return nil, because we don't need to test the predicate. - nil) - - ;; Timestamps. - (`(ts . ,rest) - (setq org-ql-preamble (pcase (plist-get rest :type) - ((or 'nil 'both) org-tsr-regexp-both) - ('active org-tsr-regexp) - ('inactive org-ql-tsr-regexp-inactive))) - ;; Predicate needs testing only when args are present. - (-let (((&keys :from :to :on) rest)) - (when (or from to on) - element))) - (`(and . ,rest) - (let ((clauses (mapcar #'rec rest))) - `(and ,@(-non-nil clauses)))) - (_ element))))) - (setq query (pcase (mapcar #'rec (list query)) - ((or `(nil) - `((nil)) - `((and)) - `((or))) - t) - (query (-flatten-n 1 query)))) - (list :query query :preamble org-ql-preamble :preamble-case-fold preamble-case-fold)))))) - (cl-defun org-ql--link-regexp (&key description-or-target description target) "Return a regexp matching Org links according to arguments. Each argument is treated as a regexp (so non-regexp strings @@ -1000,6 +654,351 @@ respectively." "#+end_src") t)) +(defun org-ql--byte-compile-warning (_string _pos _fill level) + "Signal an `org-ql-invalid-query' error. +Arguments STRING, POS, FILL, and LEVEL are according to +`byte-compile-log-warning-function'." + ;; Used as the `byte-compile-log-warning-function' in `org-ql--query-preamble'. + (signal 'org-ql-invalid-query level)) + +(defun org-ql--query-predicate (query) + "Return predicate function for QUERY." + ;; Use custom log function to prevent warnings for e.g. partially typed queries. + (let ((byte-compile-log-warning-function #'org-ql--byte-compile-warning)) + (byte-compile + `(lambda () + (cl-macrolet ((clocked (&key from to on) + (org-ql--from-to-on) + `(org-ql--predicate-clocked :from ,from :to ,to)) + (closed (&key from to on) + (org-ql--from-to-on) + `(org-ql--predicate-closed :from ,from :to ,to)) + (deadline (&key from to on) + (org-ql--from-to-on) + `(org-ql--predicate-deadline :from ,from :to ,to)) + (planning (&key from to on) + (org-ql--from-to-on) + `(org-ql--predicate-planning :from ,from :to ,to)) + (scheduled (&key from to on) + (org-ql--from-to-on) + `(org-ql--predicate-scheduled :from ,from :to ,to)) + (ts (&key from to on (type 'both)) + (org-ql--from-to-on) + `(org-ql--predicate-ts :from ,from :to ,to + :regexp ,(pcase type + ('both org-tsr-regexp-both) + ('active org-tsr-regexp) + ('inactive org-ql-tsr-regexp-inactive))))) + ,query))))) + +;;;;; String query parsing + +;; This section implements parsing of "plain," non-Lisp queries using the `peg' +;; library. NOTE: This needs to appear after the predicates are defined. + +(require 'peg) + +;; Fix compiler warnings probably caused by `peg' not using lexical-binding. +;; TODO: File bug report upstream. +(defvar peg-errors nil) +(defvar peg-stack nil) + +(defmacro org-ql--peg-parse-string (rules string &optional noerror) + "Parse STRING according to RULES." + ;; This sentence was in the docstring but Checkdoc is complaining, + ;; so moving it to a comment: "If NOERROR is non-nil, push nil + ;; resp. t if the parse failed resp. succeded instead of signaling + ;; an error." + + ;; Unfortunately, this macro was moved to peg-tests.el, so we copy it here. + `(with-temp-buffer + (insert ,string) + (goto-char (point-min)) + ,(if noerror + (let ((entry (make-symbol "entry")) + (start (caar rules))) + `(peg-parse (,entry (or (and ,start `(-- t)) "")) + . ,rules)) + `(peg-parse . ,rules)))) + +(cl-eval-when (compile load eval) + ;; This `eval-when' is necessary, otherwise the macro does not define + ;; the function correctly, apparently because `org-ql-predicates' + ;; ends up being not defined correctly at expansion time. + + (defun org-ql--def-query-string-to-sexp-fn (predicates) + "Define function `org-ql--query-string-to-sexp' according to PREDICATES. +Builds the PEG expression using PREDICATES (which should be the +value of `org-ql-predicates')." + (let* ((names (--map (symbol-name (plist-get (cdr it) :name)) + predicates)) + (aliases (->> predicates + (--map (plist-get (cdr it) :aliases)) + -non-nil + -flatten + (-map #'symbol-name))) + (predicates (->> (append names aliases) + -uniq + ;; Sort the keywords longest-first to work around what seems to be an + ;; obscure bug in `peg': when one keyword is a substring of another, + ;; and the shorter one is listed first, the shorter one fails to match. + (-sort (-on #'> #'length))))) + (fset 'org-ql--query-string-to-sexp + (byte-compile + `(cl-function + (lambda (input &optional (boolean 'and)) + "Return query parsed from plain query string INPUT. +Multiple predicates are combined with BOOLEAN." + (unless (s-blank-str? input) + (let* ((query (org-ql--peg-parse-string + ((query (+ term + (opt (+ (syntax-class whitespace) (any))))) + (term (or (and negation (list positive-term) + ;; This is a bit confusing, but it seems to work. There's probably a better way. + `(pred -- (list 'not (car pred)))) + positive-term)) + (positive-term (or (and predicate-with-args `(pred args -- (cons (intern pred) args))) + (and predicate-without-args `(pred -- (list (intern pred)))) + (and plain-string `(s -- (list 'regexp s))))) + (plain-string (or quoted-arg unquoted-arg)) + (predicate-with-args (substring predicate) ":" args) + (predicate-without-args (substring predicate) ":") + (predicate (or ,@predicates)) + (args (list (+ (and (or keyword-arg quoted-arg unquoted-arg) (opt separator))))) + (keyword-arg (and keyword "=" `(kw -- (intern (concat ":" kw))))) + (keyword (substring (+ (not (or separator "=" "\"" (syntax-class whitespace))) (any)))) + (quoted-arg "\"" (substring (+ (not (or separator "\"")) (any))) "\"") + (unquoted-arg (substring (+ (not (or separator "\"" (syntax-class whitespace))) (any)))) + (negation "!") + (separator "," )) + input 'noerror))) + ;; Discard the t that `peg-parse-string' always returns as the first + ;; element. I don't know what it means, but we don't want it. + (if (> (length (cdr query)) 1) + (cons boolean (nreverse (cdr query))) + (cadr query))))))))))) + +;;;;; Predicate definition + +(defvar org-ql-defpred-defer nil + "Defer expensive function redefinitions when defining predicates. +When non-nil, defining a predicate with `org-ql-defpred' does not +cause the functions `org-ql--normalize-query', +`org-ql--query-preamble', and `org-ql--query-string-to-sexp' to +be redefined. These functions must be redefined in order to +account for new predicates, but when defining many +predicates (like at load time), that may be deferred for +performance (after which those functions should be updated +manually; see the definition of `org-ql-defpred').") + +;; Yes, these two functions are a little hairy: `pcase' is challenging +;; enough, but splicing forms into one is something else. But it's +;; worth it to do this ugly stuff here, in one place, so the +;; `org-ql-defpred' macro becomes easy to use. + +(defun org-ql--define-normalize-query-fn (predicates) + "Define function `org-ql--normalize-query' for PREDICATES. +PREDICATES should be the value of `org-ql-predicates'." + (let ((normalizer-patterns (->> predicates + (--map (plist-get (cdr it) :normalizers)) + (-flatten-n 1)))) + (fset 'org-ql--normalize-query + (byte-compile + `(lambda (query) + "Return normalized form of QUERY expression. +This function is defined by calling +`org-ql--define-normalize-query-fn', which uses normalizer forms +defined in `org-ql-predicates' by calling `org-ql-defpred'." + (cl-labels ((rec (element) + (pcase element + (`(or . ,clauses) `(or ,@(mapcar #'rec clauses))) + (`(and . ,clauses) `(and ,@(mapcar #'rec clauses))) + (`(not . ,clauses) `(not ,@(mapcar #'rec clauses))) + (`(when ,condition . ,clauses) `(when ,(rec condition) + ,@(mapcar #'rec clauses))) + (`(unless ,condition . ,clauses) `(unless ,(rec condition) + ,@(mapcar #'rec clauses))) + ;; TODO: Combine (regexp) when appropriate (i.e. inside an OR, not an AND). + ((pred stringp) `(regexp ,element)) + + ,@normalizer-patterns + + ;; Any other form: passed through unchanged. + (_ element)))) + (rec query))))))) + +(defun org-ql--define-query-preamble-fn (predicates) + "Define function `org-ql--query-preamble' for PREDICATES. +PREDICATES should be the value of `org-ql-predicates'." + ;; NOTE: I don't how the `list' symbol ends up in the list, but anyway... + (let* ((preamble-patterns + (-flatten-n 1 (-non-nil + ;; NOTE: Using -let instead of pcase-let here because I can't make map 2.1 install in the test sandbox. + (--map (-let* (((&plist :preambles) (cdr it))) + (--map (pcase-let* ((`(,pattern ,exp) it)) + `(,pattern + (-let* (((&plist :regexp :case-fold :query) ,exp)) + (setf org-ql-preamble regexp + preamble-case-fold case-fold) + ;; NOTE: Even when `predicate' is nil, it must be returned in the pcase form. + query))) + preambles)) + predicates))))) + (fset 'org-ql--query-preamble + `(lambda (query) + "Return preamble data plist for QUERY. +The plist has the following keys: + + :preamble Regexp to search the Org buffer for to find potential + matches. If the regexp doesn't guarantee a match to + QUERY, the :query key should be an appropriate query + expression to test against the heading (i.e. usually + QUERY again). + + :preamble-case-fold What to bind variable `case-fold-search' to + around the regexp search. + + :query The query expression to use instead of QUERY (or QUERY + again, when appropriate). + +This function is defined by calling +`org-ql--define-query-preamble-fn', which uses preamble forms +defined in `org-ql-predicates' by calling `org-ql-defpred'." + (pcase org-ql-use-preamble + ('nil (list :query query :preamble nil)) + (_ (let ((preamble-case-fold t) + org-ql-preamble) + (cl-labels ((rec (element) + (or (when org-ql-preamble + ;; Only one preamble is allowed + element) + (pcase element + (`(or _) element) + + ,@preamble-patterns + + (`(and . ,rest) + (let ((clauses (mapcar #'rec rest))) + `(and ,@(-non-nil clauses)))) + (_ element))))) + (setq query (pcase (mapcar #'rec (list query)) + ((or `(nil) + `((nil)) + `((and)) + `((or))) + t) + (`(t) t) + (query (-flatten-n 1 query)))) + (list :query query :preamble org-ql-preamble :preamble-case-fold preamble-case-fold))))))) + ;; For some reason, byte-compiling the backquoted lambda form directly causes a warning + ;; that `query' refers to an unbound variable, even though that's not the case, and the + ;; function still works. But to avoid the warning, we byte-compile it afterward. + (byte-compile 'org-ql--query-preamble))) + +(cl-defmacro org-ql-defpred (name args docstring &key body preambles normalizers) + "Define an `org-ql' selector predicate named `org-ql--predicate-NAME'. +NAME may be a symbol or a list of symbols: if a list, the first +is used as NAME and the rest are aliases. A function is only +created for NAME, not for aliases, so a normalizer should be used +to replace aliases with NAME in queries (keep reading). + +ARGS is a `cl-defun'-style argument list. DOCSTRING is the +function's docstring. + +BODY is the body of the predicate. It will be evaluated with +point on the beginning of an Org heading and should return +non-nil if the heading's entry is a match. + +PREAMBLES and NORMALIZERS are lists of `pcase' forms matched +against Org QL query sexps. They are spliced into `pcase' forms +in the definitions of the functions `org-ql--query-preamble' and +`org-ql--normalize-query', which see. Those functions are +redefined when this macro is expanded, unless variable +`org-ql-defpred-defer' is non-nil, in which case those functions +should be redefined manually after defining predicates by calling +`org-ql--define-query-preamble-fn' and `org-ql--define-normalize-query-fn'. + +NORMALIZERS are used to normalize query expressions to standard +forms. For example, when the predicate has aliases, the aliases +should be replaced with predicate names using a normalizer. +Also, predicate arguments may be put into a more optimal form so +that the predicate has less work to do at query time. + +PREAMBLES refer to regular expressions which may be used to +search through a buffer directly to a potential match rather than +testing the predicate body on each heading. (Naming things is +hard.) In each `pcase' form in PREAMBLES, the `pcase' +expression (not the pattern) should be a plist with the following +keys, each value of which should be an expression which may refer +to variables bound in the pattern: + + :regexp Regular expression which searches directly to a + potential match. + + :case-fold Bound to `case-fold-search' around the regexp search. + + :query Expression which should replace the query expression, + or `query' if it should not be changed (e.g. if the + regexp is insufficient to determine whether a + heading matches, in which case the predicate's body + needs to be tested on the heading). If the regexp + guarantees a match, this may be simply t, leaving the + query expression with no work to do, which improves + performance. + +For convenience, within the `pcase' patterns, the symbol +`predicate-names' is a special form which is replaced with a +pattern matching any of the predicate's name and aliases. For +example, if NAME were: + + (heading h) + +Then if NORMALIZERS were: + + ((`(,predicate-names . ,args) + `(heading ,@args))) + +It would be expanded to: + + ((`(,(or 'heading 'h) . ,args) + `(heading ,@args)))" + ;; NOTE: The debug form works, completely! For example, use `edebug-defun' + ;; on the `heading' predicate, then evaluate this form: + ;; (let* ((query '(heading "HEADING")) + ;; (normalized (org-ql--normalize-query query)) + ;; (preamble (org-ql--query-preamble normalized))) + ;; (list :query query + ;; :normalized normalized + ;; :preamble preamble)) + (declare (debug ([&or symbolp listp] listp stringp + &rest [&or [":body" def-body] + [":normalizers" (&rest (sexp def-body))] + [":preambles" (&rest (sexp def-body))]])) + (indent defun)) + (let* ((aliases (when (listp name) + (cdr name))) + (name (cl-etypecase name + (list (car name)) + (atom name))) + (fn-name (intern (concat "org-ql--predicate-" (symbol-name name)))) + (predicate-name (intern (symbol-name name))) + (predicate-names (delq nil (cons predicate-name aliases))) + (normalizers (cl-sublis (list (cons 'predicate-names (cons 'or (--map (list 'quote it) predicate-names)))) + normalizers)) + (preambles (cl-sublis (list (cons 'predicate-names (cons 'or (--map (list 'quote it) predicate-names)))) + preambles))) + `(progn + (cl-eval-when (compile load eval) + (cl-defun ,fn-name ,args ,docstring ,body)) + (setf (map-elt org-ql-predicates ',predicate-name) + `(:name ,',name :aliases ,',aliases :fn ,',fn-name :docstring ,,docstring :args ,',args + :normalizers ,',normalizers :preambles ,',preambles)) + (unless org-ql-defpred-defer + ;; Reversing preserves the order in which predicates were defined. + (org-ql--define-normalize-query-fn (reverse org-ql-predicates)) + (org-ql--define-query-preamble-fn (reverse org-ql-predicates)) + (org-ql--def-query-string-to-sexp-fn (reverse org-ql-predicates)))))) + (defmacro org-ql--from-to-on () "For internal use. Expands into a form that processes arguments to timestamp-related @@ -1043,95 +1042,164 @@ predicates." ((pred stringp) (ts-parse-fill 'end to)) ((pred ts-p) to)))))) -(defun org-ql--byte-compile-warning (_string _pos _fill level) - "Signal an `org-ql-invalid-query' error. -Arguments STRING, POS, FILL, and LEVEL are according to -`byte-compile-log-warning-function'." - ;; Used as the `byte-compile-log-warning-function' in `org-ql--query-preamble'. - (signal 'org-ql-invalid-query level)) +;;;;;; Predicates -(defun org-ql--query-predicate (query) - "Return predicate function for QUERY." - ;; Use custom log function to prevent warnings for e.g. partially typed queries. - (let ((byte-compile-log-warning-function #'org-ql--byte-compile-warning)) - (byte-compile - `(lambda () - (cl-macrolet ((clocked (&key from to on) - (org-ql--from-to-on) - `(org-ql--predicate-clocked :from ,from :to ,to)) - (closed (&key from to on) - (org-ql--from-to-on) - `(org-ql--predicate-closed :from ,from :to ,to)) - (deadline (&key from to on) - (org-ql--from-to-on) - `(org-ql--predicate-deadline :from ,from :to ,to)) - (planning (&key from to on) - (org-ql--from-to-on) - `(org-ql--predicate-planning :from ,from :to ,to)) - (scheduled (&key from to on) - (org-ql--from-to-on) - `(org-ql--predicate-scheduled :from ,from :to ,to)) - (ts (&key from to on (type 'both)) - (org-ql--from-to-on) - `(org-ql--predicate-ts :from ,from :to ,to - :regexp ,(pcase type - ('both org-tsr-regexp-both) - ('active org-tsr-regexp) - ('inactive org-ql-tsr-regexp-inactive))))) - ,query))))) +(cl-eval-when (compile load eval) + ;; Improve load time by deferring the per-predicate preamble- and normalizer-function + ;; redefinitions until all of the predicates have been defined. + (setf org-ql-defpred-defer t)) -;;;;; Predicates - -(org-ql--defpred category (&rest categories) +(org-ql-defpred category (&rest categories) "Return non-nil if current heading is in one or more of CATEGORIES (a list of strings)." - (when-let ((category (org-get-category (point)))) - (cl-typecase categories - (null t) - (otherwise (member category categories))))) + :body (when-let ((category (org-get-category (point)))) + (cl-typecase categories + (null t) + (otherwise (member category categories))))) -(org-ql--defpred path (&rest regexps) - "Return non-nil if current heading's buffer's filename path matches any of REGEXPS (regexp strings). -Without arguments, return non-nil if buffer is file-backed." - (when (buffer-file-name) - (cl-typecase regexps - (null t) - (list (cl-loop for regexp in regexps - thereis (string-match regexp (buffer-file-name))))))) - -(org-ql--defpred todo (&rest keywords) - "Return non-nil if current heading is a TODO item. -With KEYWORDS, return non-nil if its keyword is one of KEYWORDS (a list of strings)." - (when-let ((state (org-get-todo-state))) - (cl-typecase keywords - (null (not (member state org-done-keywords))) - (list (member state keywords)) - (symbol (member state (symbol-value keywords))) - (otherwise (user-error "Invalid todo keywords: %s" keywords))))) - -(org-ql--defpred done () +(org-ql-defpred done () "Return non-nil if entry's TODO keyword is in `org-done-keywords'." ;; NOTE: This was a defsubst before being defined with the macro. Might be good to make it a defsubst again. - (or (apply #'org-ql--predicate-todo org-done-keywords))) + :body (or (apply #'org-ql--predicate-todo org-done-keywords))) -(org-ql--defpred (tags tags-all tags&) (&rest tags) - ;; NOTE: tags-all and tags& are "virtual" predicates that are handled by query pre-processing. - "Return non-nil if current heading has one or more of TAGS (a list of strings). -Tests both inherited and local tags." - (cl-macrolet ((tags-p (tags) - `(and ,tags - (not (eq 'org-ql-nil ,tags))))) - (-let* (((inherited local) (org-ql--tags-at (point)))) - (cl-typecase tags - (null (or (tags-p inherited) - (tags-p local))) - (otherwise (or (when (tags-p inherited) - (seq-intersection tags inherited)) - (when (tags-p local) - (seq-intersection tags local)))))))) +(org-ql-defpred habit () + "Return non-nil if entry is a habit." + :preambles ((`(,predicate-names) + (list :regexp (rx bol (0+ space) ":STYLE:" (1+ space) "habit" (0+ space) eol)))) + :body (org-is-habit-p)) + +(org-ql-defpred (heading h) (&rest regexps) + "Return non-nil if current entry's heading matches all REGEXPS (regexp strings)." + :normalizers ((`(,predicate-names . ,args) + ;; "h" alias. + `(heading ,@args))) + ;; MAYBE: Adjust regexp to avoid matching in tag list. + :preambles ((`(,predicate-names ,regexp) + ;; Only one regexp: match with preamble, then let predicate confirm (because + ;; the match could be in e.g. the tags rather than the heading text). + (list :regexp (rx-to-string `(seq bol (1+ "*") (1+ blank) (0+ nonl) + ,regexp) + 'no-group) + :query query)) + (`(,predicate-names . ,regexps) + ;; Multiple regexps: use preamble to match against first + ;; regexp, then let the predicate match the rest. + (list :regexp (rx-to-string `(seq bol (1+ "*") (1+ blank) (0+ nonl) + ,(car regexps)) + 'no-group) + :query query))) + ;; TODO: In Org 9.2+, `org-get-heading' takes 2 more arguments. + :body (let ((heading (org-get-heading 'no-tags 'no-todo))) + (--all? (string-match it heading) regexps))) + +(org-ql-defpred level (level-or-comparator &optional level) + "Return non-nil if current heading's outline level matches arguments. +The following forms are accepted: + + (level NUMBER): Matches if heading level is NUMBER. + (level NUMBER NUMBER): Matches if heading level is equal to or between NUMBERs. + (level COMPARATOR NUMBER): Matches if heading level compares to NUMBER with COMPARATOR. + +COMPARATOR may be `<', `<=', `>', or `>='." + :normalizers ((`(,predicate-names . ,args) + ;; Arguments could be given as strings (e.g. from a non-Lisp query). + `(level ,@(--map (pcase it + ((or "<" "<=" ">" ">=" "=") + (intern it)) + ((pred stringp) (string-to-number it)) + (_ it)) + args)))) + :preambles ((`(,predicate-names ,comparator-or-num ,num) + (let ((repeat (pcase comparator-or-num + ('< `(repeat 1 ,(1- num) "*")) + ('<= `(repeat 1 ,num "*")) + ('> `(>= ,(1+ num) "*")) + ('>= `(>= ,num "*")) + ((pred integerp) `(repeat ,comparator-or-num ,num "*"))))) + (list :regexp (rx-to-string `(seq bol ,repeat " ") t) + :case-fold t))) + (`(,predicate-names ,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 + ;; `org-outline-level'. + :body (when-let ((outline-level (org-outline-level))) + (pcase level-or-comparator + ((pred numberp) (pcase level + ('nil ;; Equality + (= outline-level level-or-comparator)) + ((pred numberp) ;; Between two levels + (>= level-or-comparator outline-level level)))) + ((pred symbolp) ;; Compare with function + (funcall level-or-comparator outline-level level))))) + +(org-ql-defpred link (&rest args) + ;; User-facing argument form: (&optional description-or-target &key description target regexp-p). + "Return non-nil if current heading contains a link matching arguments. +DESCRIPTION-OR-TARGET is matched against the link's description +and target. Alternatively, one or both of DESCRIPTION and TARGET +may be matched separately. Without arguments, return non-nil if +any link is found." + ;; NOTE: It would be preferable to avoid this manual argument parsing every time the predicate + ;; is called, but pre-processing it to a normal form gets complicated with the preamble and + ;; pre-processing, because we don't want to display a query like "(link :description-or-target + ;; "FOO")" in the view header, which would be ugly. So, since preambles are expected to be + ;; enabled nearly all of the time, in which case this function won't be called anyway, it's + ;; probably not worth rewriting code all over the place to fix this. + :preambles ((`(,predicate-names) + (list :regexp ;; Match a link with a target and optionally a description. + (rx (or bol (1+ blank)) + "[[" (1+ (not (any "]"))) "]" + (optional (seq "[" (0+ (not (any "]"))) "]")) + "]" + (or eol blank)))) + (`(,predicate-names ,(and description-or-target + (guard (not (keywordp description-or-target))))) + (list :regexp (org-ql--link-regexp :description-or-target + (regexp-quote description-or-target))) + nil) + (`(,predicate-names . ,plist) + (list :regexp (org-ql--link-regexp + :description + (when (plist-get plist :description) + (regexp-quote (plist-get plist :description))) + :target (when (plist-get plist :target) + (regexp-quote (plist-get plist :target))))) + nil)) + :body (let* (plist description-or-target description target regexp-p) + (if (not (keywordp (car args))) + (setf description-or-target (car args) + plist (cdr args)) + (setf plist args)) + (setf description (plist-get plist :description) + target (plist-get plist :description) + regexp-p (plist-get plist :regexp-p)) + (unless regexp-p + ;; NOTE: It would also be preferable to avoid regexp-quoting every time this predicate + ;; is called. Ideally that would be handled in the query pre-processing step. However, + ;; handling that properly, in combination with preparing the query preamble and whether + ;; REGEXP-P is enabled, is also complicated, so let's not. + (when description-or-target + (setf description-or-target (regexp-quote description-or-target))) + (when description + (setf description (regexp-quote description))) + (when target + (setf target (regexp-quote target)))) + (when (re-search-forward org-ql-link-regexp (org-entry-end-position) t) + (pcase description-or-target + ('nil (and (or (null target) + (string-match-p target (match-string 1))) + (or (null description) + (string-match-p description (match-string org-ql-link-description-group))))) + (_ (if (and description target) + (and (string-match-p target (match-string 1)) + (string-match-p description (match-string org-ql-link-description-group))) + (or (string-match-p description-or-target (match-string 1)) + (string-match-p description-or-target + (match-string org-ql-link-description-group))))))))) ;; MAYBE: Preambles for outline-path predicates. Not sure if possible without complicated logic. -(org-ql--defpred (outline-path olp) (&rest regexps) +(org-ql-defpred (outline-path olp) (&rest regexps) "Return non-nil if current node's outline path matches all of REGEXPS. Each string is compared as a regexp to each element of the node's outline path with `string-match'. For example, if an entry's @@ -1143,11 +1211,14 @@ the following queries: (olp \"Food\" \"Fruits\") (olp \"Fruits\" \"Grapes\") (olp \"Food\" \"Grapes\")" - (let ((entry-olp (org-ql--value-at (point) #'org-ql--outline-path))) - (cl-loop for h in regexps - always (cl-member h entry-olp :test #'string-match)))) + :normalizers ((`(,predicate-names . ,strings) + ;; Regexp quote headings. + `(outline-path ,@(mapcar #'regexp-quote strings)))) + :body (let ((entry-olp (org-ql--value-at (point) #'org-ql--outline-path))) + (cl-loop for h in regexps + always (cl-member h entry-olp :test #'string-match)))) -(org-ql--defpred (outline-path-segment olps) (&rest regexps) +(org-ql-defpred (outline-path-segment olps) (&rest regexps) "Return non-nil if current node's outline path matches segment REGEXPS. Matches REGEXPS as a contiguous segment of the outline path. Each regexp is compared to each element of the node's outline @@ -1165,118 +1236,21 @@ contiguous segment of the outline path: (olp \"Food\" \"Grape\")" ;; MAYBE: Allow anchored matching. - (org-ql--infix-p regexps (org-ql--value-at (point) #'org-ql--outline-path))) + :normalizers ((`(,(or 'outline-path-segment 'olps) . ,strings) + ;; Regexp quote headings. + `(outline-path-segment ,@(mapcar #'regexp-quote strings)))) + :body (org-ql--infix-p regexps (org-ql--value-at (point) #'org-ql--outline-path))) -(org-ql--defpred (tags-inherited tags-i itags) (&rest tags) - "Return non-nil if current heading's inherited tags include one or more of TAGS (a list of strings). -If TAGS is nil, return non-nil if heading has any inherited tags." - (cl-macrolet ((tags-p (tags) - `(and ,tags - (not (eq 'org-ql-nil ,tags))))) - (-let* (((inherited _) (org-ql--tags-at (point)))) - (cl-typecase tags - (null (tags-p inherited)) - (otherwise (when (tags-p inherited) - (seq-intersection tags inherited))))))) +(org-ql-defpred path (&rest regexps) + "Return non-nil if current heading's buffer's filename path matches any of REGEXPS (regexp strings). +Without arguments, return non-nil if buffer is file-backed." + :body (when (buffer-file-name) + (cl-typecase regexps + (null t) + (list (cl-loop for regexp in regexps + thereis (string-match regexp (buffer-file-name))))))) -(org-ql--defpred (tags-local tags-l ltags) (&rest tags) - "Return non-nil if current heading's local tags include one or more of TAGS (a list of strings). -If TAGS is nil, return non-nil if heading has any local tags." - (cl-macrolet ((tags-p (tags) - `(and ,tags - (not (eq 'org-ql-nil ,tags))))) - (-let* (((_ local) (org-ql--tags-at (point)))) - (cl-typecase tags - (null (tags-p local)) - (otherwise (when (tags-p local) - (seq-intersection tags local))))))) - -(org-ql--defpred (tags-regexp tags*) (&rest regexps) - "Return non-nil if current heading has tags matching one or more of REGEXPS. -Tests both inherited and local tags." - (cl-macrolet ((tags-p (tags) - `(and ,tags - (not (eq 'org-ql-nil ,tags))))) - (-let* (((inherited local) (org-ql--tags-at (point)))) - (cl-typecase regexps - (null (or (tags-p inherited) - (tags-p local))) - (otherwise (or (when (tags-p inherited) - (cl-loop for tag in inherited - thereis (cl-loop for regexp in regexps - thereis (string-match regexp tag)))) - (when (tags-p local) - (cl-loop for tag in local - thereis (cl-loop for regexp in regexps - thereis (string-match regexp tag)))))))))) - -(org-ql--defpred level (level-or-comparator &optional level) - "Return non-nil if current heading's outline level matches arguments. -The following forms are accepted: - - (level NUMBER): Matches if heading level is NUMBER. - (level NUMBER NUMBER): Matches if heading level is equal to or between NUMBERs. - (level COMPARATOR NUMBER): Matches if heading level compares to NUMBER with COMPARATOR. - -COMPARATOR may be `<', `<=', `>', or `>='." - ;; NOTE: It might be necessary to take into account `org-odd-levels'; see docstring for - ;; `org-outline-level'. - (when-let ((outline-level (org-outline-level))) - (pcase level-or-comparator - ((pred numberp) (pcase level - ('nil ;; Equality - (= outline-level level-or-comparator)) - ((pred numberp) ;; Between two levels - (>= level-or-comparator outline-level level)))) - ((pred symbolp) ;; Compare with function - (funcall level-or-comparator outline-level level))))) - -(org-ql--defpred link (&rest args) - ;; User-facing argument form: (&optional description-or-target &key description target regexp-p). - "Return non-nil if current heading contains a link matching arguments. -DESCRIPTION-OR-TARGET is matched against the link's description -and target. Alternatively, one or both of DESCRIPTION and TARGET -may be matched separately. Without arguments, return non-nil if -any link is found." - ;; NOTE: It would be preferable to avoid this manual argument parsing every time the predicate - ;; is called, but pre-processing it to a normal form gets complicated with the preamble and - ;; pre-processing, because we don't want to display a query like "(link :description-or-target - ;; "FOO")" in the view header, which would be ugly. So, since preambles are expected to be - ;; enabled nearly all of the time, in which case this function won't be called anyway, it's - ;; probably not worth rewriting code all over the place to fix this. - (let* (plist description-or-target description target regexp-p) - (if (not (keywordp (car args))) - (setf description-or-target (car args) - plist (cdr args)) - (setf plist args)) - (setf description (plist-get plist :description) - target (plist-get plist :description) - regexp-p (plist-get plist :regexp-p)) - (unless regexp-p - ;; NOTE: It would also be preferable to avoid regexp-quoting every time this predicate - ;; is called. Ideally that would be handled in the query pre-processing step. However, - ;; handling that properly, in combination with preparing the query preamble and whether - ;; REGEXP-P is enabled, is also complicated, so let's not. - (when description-or-target - (setf description-or-target (regexp-quote description-or-target))) - (when description - (setf description (regexp-quote description))) - (when target - (setf target (regexp-quote target)))) - (when (re-search-forward org-ql-link-regexp (org-entry-end-position) t) - (pcase description-or-target - ('nil (and (or (null target) - (string-match-p target (match-string 1))) - (or (null description) - (string-match-p description (match-string org-ql-link-description-group))))) - (_ (if (and description target) - (and (string-match-p target (match-string 1)) - (string-match-p description (match-string org-ql-link-description-group))) - (or (string-match-p description-or-target (match-string 1)) - (string-match-p description-or-target - (match-string org-ql-link-description-group))))))))) - -(org-ql--defpred priority (&rest args) +(org-ql-defpred priority (&rest args) "Return non-nil if current heading has a certain priority. ARGS may be either a list of one or more priority letters as strings, or a comparator function symbol followed by a priority @@ -1296,6 +1270,42 @@ priority B)." ;; value. We do this because it doesn't seem very useful or intuitive for a ;; query like (priority "B") to match an item that has no priority cookie. ;; TODO: Convert priority arg(s) to numeric values in pre-processing. + :normalizers + ((`(,predicate-names ,(and (or '= '< '> '<= '>=) comparator) ,letter) + ;; Quote comparator. + `(priority ',comparator ,letter))) + + :preambles + (;; NOTE: This only accepts A, B, or C. I haven't seen + ;; other priorities in the wild, so this will do for now. + (`(,predicate-names) + ;; Any priority cookie. + (list :regexp (rx-to-string `(seq bol (1+ "*") (1+ blank) (0+ nonl) "[#" (in "ABC") "]") t))) + (`(,predicate-names ,(and (or ''= ''< ''> ''<= ''>=) comparator) ,letter) + ;; Comparator and priority letter. + ;; NOTE: The double-quoted comparators. See below. + (let* ((priority-letters '("A" "B" "C")) + (index (-elem-index letter priority-letters)) + ;; NOTE: Higher priority == lower number. + ;; NOTE: Because we need to support both preamble-based queries and + ;; regular predicate ones, we work around an idiosyncrasy of query + ;; pre-processing by accepting both quoted and double-quoted comparator + ;; function symbols. Not the most elegant solution, but it works. + (priorities (s-join "" (pcase comparator + ((or '= ''=) (list letter)) + ((or '> ''>) (cl-subseq priority-letters 0 index)) + ((or '>= ''>=) (cl-subseq priority-letters 0 (1+ index))) + ((or '< ''<) (cl-subseq priority-letters (1+ index))) + ((or '<= ''<=) (cl-subseq priority-letters index)))))) + (list :regexp (rx-to-string `(seq bol (1+ "*") (1+ blank) (optional (1+ upper) (1+ blank)) + "[#" (in ,priorities) "]") t)))) + (`(,predicate-names . ,letters) + ;; One or more priorities. + ;; MAYBE: Disable case-folding. + (list :regexp (rx-to-string `(seq bol (1+ "*") (1+ blank) + (optional (1+ upper) (1+ blank)) + "[#" (or ,@letters) "]") t)))) + :body (when-let* ((item-priority (save-excursion (save-match-data ;; TODO: Is the save-match-data above necessary? @@ -1317,29 +1327,32 @@ priority B)." (cl-loop for priority-arg in args thereis (= item-priority (* 1000 (- org-lowest-priority (string-to-char priority-arg))))))))) -(org-ql--defpred habit () - "Return non-nil if entry is a habit." - (org-is-habit-p)) - -(org-ql--defpred (regexp r) (&rest regexps) - "Return non-nil if current entry matches all of REGEXPS (regexp strings)." - (let ((end (or (save-excursion - (outline-next-heading)) - (point-max)))) - (save-excursion - (goto-char (line-beginning-position)) - (cl-loop for regexp in regexps - always (save-excursion - (re-search-forward regexp end t)))))) - -(org-ql--defpred (heading h) (&rest regexps) - "Return non-nil if current entry's heading matches all REGEXPS (regexp strings)." - ;; TODO: In Org 9.2+, `org-get-heading' takes 2 more arguments. - (let ((heading (org-get-heading 'no-tags 'no-todo))) - (--all? (string-match it heading) regexps))) - -(org-ql--defpred property (property &optional value) +(org-ql-defpred property (property &optional value) "Return non-nil if current entry has PROPERTY (a string), and optionally VALUE (a string)." + :normalizers ((`(,predicate-names ,property . ,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))) + (cons 'property (cons property value)))) + ;; MAYBE: Should case folding be disabled for properties? What about values? + ;; MAYBE: Support (property) without args. + :preambles ((`(,predicate-names ,property ,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 (rx-to-string `(seq bol (0+ space) ":" ,property ":" + (1+ space) ,value (0+ space) eol)) + :query query)) + (`(,predicate-names ,property) + ;; 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 (rx-to-string `(seq bol (0+ space) ":" ,property ":" (1+ space) + (minimal-match (1+ not-newline)) eol)) + :query query))) + :body (pcase property ('nil (user-error "Property matcher requires a PROPERTY argument")) (_ (pcase value @@ -1350,10 +1363,53 @@ priority B)." ;; Check that PROPERTY has VALUE (string-equal value (org-entry-get (point) property 'selective))))))) -(org-ql--defpred src (&key regexps lang) +(org-ql-defpred (regexp r) (&rest regexps) + "Return non-nil if current entry matches all of REGEXPS (regexp strings)." + :normalizers ((`(,predicate-names . ,args) + `(regexp ,@args))) + ;; MAYBE: Separate case-sensitive (Regexp) predicate. + :preambles ((`(,predicate-names ,regexp) + (list :case-fold t :regexp regexp :query t)) + (`(,predicate-names . ,regexps) + ;; Search for first regexp, then confirm with predicate. + (list :case-fold t :regexp (car regexps) :query query))) + :body + (let ((end (or (save-excursion + (outline-next-heading)) + (point-max)))) + (save-excursion + (goto-char (line-beginning-position)) + (cl-loop for regexp in regexps + always (save-excursion + (re-search-forward regexp end t)))))) + +(org-ql-defpred src (&key regexps lang) "Return non-nil if current entry contains an Org source block matching all of REGEXPS. If keyword argument LANG is non-nil, the block must be in that language." + :normalizers ((`(,predicate-names . ,args) + ;; Rewrite to use keyword args. + (-let (regexps lang keyword-index) + (cond ((plist-get args :lang) + ;; Lang given first, or only lang given. + (setf lang (plist-get args :lang) + regexps (seq-difference args (list :lang lang)))) + ((setf keyword-index (-find-index #'keywordp args)) + ;; Regexps and lang given. + (setf lang (plist-get (cl-subseq args keyword-index) :lang) + regexps (cl-subseq args 0 keyword-index))) + (t ;; Only regexps given. + (setf regexps args))) + (when regexps + ;; This feels awkward and wrong, but we have to quote lists + ;; and avoid quoting nil. There must be a better way. + (setf regexps `(',regexps))) + `(src :lang ,lang :regexps ,@regexps)))) + :preambles ((`(,predicate-names . ,args) + (list :regexp (org-ql--format-src-block-regexp (plist-get args :lang)) + ;; Always check contents with predicate. + :query query))) + :body (catch 'return (save-excursion (save-match-data @@ -1375,6 +1431,101 @@ language." ;; No regexps to check: return non-nil. t)))))) +(org-ql-defpred (tags) (&rest tags) + "Return non-nil if current heading has one or more of TAGS (a list of strings). +Tests both inherited and local tags." + ;; MAYBE: -all versions for inherited and local. + :body (cl-macrolet ((tags-p (tags) + `(and ,tags + (not (eq 'org-ql-nil ,tags))))) + (-let* (((inherited local) (org-ql--tags-at (point)))) + (cl-typecase tags + (null (or (tags-p inherited) + (tags-p local))) + (otherwise (or (when (tags-p inherited) + (seq-intersection tags inherited)) + (when (tags-p local) + (seq-intersection tags local)))))))) + +(org-ql-defpred (tags-all tags&) (&rest tags) + "Return non-nil if current heading has all of TAGS (a list of strings). +Tests both inherited and local tags." + ;; MAYBE: -all versions for inherited and local. + :normalizers ((`(,predicate-names) `(tags)) + (`(,predicate-names . ,tags) `(and ,@(--map `(tags ,it) tags)))) + :body (apply #'org-ql--predicate-tags tags)) + +(org-ql-defpred (tags-inherited inherited-tags tags-i itags) (&rest tags) + "Return non-nil if current heading's inherited tags include one or more of TAGS (a list of strings). +If TAGS is nil, return non-nil if heading has any inherited tags." + :normalizers ((`(,predicate-names . ,tags) + `(tags-inherited ,@tags)) + (`(,predicate-names) + `(tags-inherited))) + :body (cl-macrolet ((tags-p (tags) + `(and ,tags + (not (eq 'org-ql-nil ,tags))))) + (-let* (((inherited _) (org-ql--tags-at (point)))) + (cl-typecase tags + (null (tags-p inherited)) + (otherwise (when (tags-p inherited) + (seq-intersection tags inherited))))))) + +(org-ql-defpred (tags-local local-tags tags-l ltags) (&rest tags) + "Return non-nil if current heading's local tags include one or more of TAGS (a list of strings). +If TAGS is nil, return non-nil if heading has any local tags." + :normalizers ((`(,predicate-names) `(tags-local)) + (`(,predicate-names . ,tags) `(tags-local ,@tags))) + :preambles ((`(,predicate-names . ,(and tags (guard tags))) + ;; When searching for local, non-inherited tags, we can + ;; search directly to headings containing one of the tags. + (list :regexp (rx-to-string `(seq bol (1+ "*") (1+ space) (1+ not-newline) + ":" (or ,@tags) ":") + t) + :query t))) + :body (cl-macrolet ((tags-p (tags) + `(and ,tags + (not (eq 'org-ql-nil ,tags))))) + (-let* (((_ local) (org-ql--tags-at (point)))) + (cl-typecase tags + (null (tags-p local)) + (otherwise (when (tags-p local) + (seq-intersection tags local))))))) + +(org-ql-defpred (tags-regexp tags*) (&rest regexps) + "Return non-nil if current heading has tags matching one or more of REGEXPS. +Tests both inherited and local tags." + :normalizers ((`(,predicate-names . ,regexps) + `(tags-regexp ,@regexps))) + :body (cl-macrolet ((tags-p (tags) + `(and ,tags + (not (eq 'org-ql-nil ,tags))))) + (-let* (((inherited local) (org-ql--tags-at (point)))) + (cl-typecase regexps + (null (or (tags-p inherited) + (tags-p local))) + (otherwise (or (when (tags-p inherited) + (cl-loop for tag in inherited + thereis (cl-loop for regexp in regexps + thereis (string-match regexp tag)))) + (when (tags-p local) + (cl-loop for tag in local + thereis (cl-loop for regexp in regexps + thereis (string-match regexp tag)))))))))) + +(org-ql-defpred todo (&rest keywords) + "Return non-nil if current heading is a TODO item. +With KEYWORDS, return non-nil if its keyword is one of KEYWORDS (a list of strings)." + ;; TODO: Can we make a preamble for plain (todo) queries? + :preambles ((`(,predicate-names . ,(and todo-keywords (guard todo-keywords))) + (list :case-fold nil :regexp (rx-to-string `(seq bol (1+ "*") (1+ space) (or ,@todo-keywords) (or " " eol)) t)))) + :body (when-let ((state (org-get-todo-state))) + (cl-typecase keywords + (null (not (member state org-done-keywords))) + (list (member state keywords)) + (symbol (member state (symbol-value keywords))) + (otherwise (user-error "Invalid todo keywords: %s" keywords))))) + ;;;;;; Ancestor/descendant ;; These predicates search ancestor and descendant headings for sub-queries. @@ -1393,14 +1544,20 @@ language." ;; rather than user-facing, since their arguments are predicates provided ;; automatically by `--pre-process-query'. -(org-ql--defpred ancestors (predicate) +(org-ql-defpred ancestors (predicate) "Return non-nil if any of current entry's ancestors satisfy PREDICATE." + :normalizers ((`(,predicate-names ,query) `(ancestors ,(org-ql--query-predicate (rec query)))) + (`(,predicate-names) '(ancestors (lambda () t)))) + :body (org-with-wide-buffer (cl-loop while (org-up-heading-safe) thereis (org-ql--value-at (point) predicate)))) -(org-ql--defpred parent (predicate) +(org-ql-defpred parent (predicate) "Return non-nil if the current entry's parent satisfies PREDICATE." + :normalizers ((`(,predicate-names ,query) `(parent ,(org-ql--query-predicate (rec query)))) + (`(,predicate-names) '(parent (lambda () t)))) + :body (org-with-wide-buffer (when (org-up-heading-safe) (org-ql--value-at (point) predicate)))) @@ -1411,8 +1568,12 @@ language." ;; on the Org file being searched and the sub-query, performance could be better or ;; worse. It should be benchmarked extensively before so changing the implementation. -(org-ql--defpred children (query) +(org-ql-defpred children (query) "Return non-nil if current entry has children matching QUERY." + ;; Quote children queries so the user doesn't have to. + :normalizers ((`(,predicate-names ,query) `(children ',query)) + (`(,predicate-names) '(children (lambda () t)))) + :body (org-with-wide-buffer ;; Widening is needed if inside an "ancestors" query (org-narrow-to-subtree) @@ -1432,10 +1593,13 @@ language." :action (lambda () (throw 'found t)))))))) -(org-ql--defpred descendants (query) +(org-ql-defpred descendants (query) "Return non-nil if current entry has descendants matching QUERY." ;; TODO: This could probably be rewritten like the `ancestors' predicate, ;; which avoids calling `org-ql-select' recursively and its associated overhead. + :normalizers ((`(,predicate-names ,query) `(descendants ',query)) + (`(,predicate-names) '(descendants (lambda () t)))) + :body (org-with-wide-buffer (org-narrow-to-subtree) (when (org-goto-first-child) @@ -1454,13 +1618,13 @@ language." ;; NOTE: These docstrings apply to the functions defined by `org-ql--defpref', ;; not necessarily to the way users are expected to call them in queries. The -;; queries are pre-processed by `org-ql--pre-process-query' to handle +;; queries are pre-processed by `org-ql--normalize-query' to handle ;; arguments which are constant during a query's execution. ;; TODO: Update the macro to define a user-facing docstring so I don't ;; have to manually update the documentation. -(org-ql--defpred clocked (&key from to _on) +(org-ql-defpred clocked (&key from to _on) ;; The underscore before `on' prevents "unused lexical variable" ;; warnings, because we pre-process that argument in a macro before ;; this function is called. @@ -1477,9 +1641,20 @@ If ON, return non-nil if entry has a timestamp on date ON. FROM, TO, and ON should be either `ts' structs, or strings parseable by `parse-time-string' which may omit the time value." + :normalizers ((`(,predicate-names ,(and num-days (pred numberp))) + ;; (clocked) and (closed) implicitly look into the past. + (let ((from (->> (ts-now) + (ts-adjust 'day (* -1 num-days)) + (ts-apply :hour 0 :minute 0 :second 0)))) + `(clocked :from ,from)))) + :preambles ((`(,predicate-names ,(pred numberp)) + (list :regexp org-ql-clock-regexp :query t)) + (`(,predicate-names) + (list :regexp org-ql-clock-regexp :query t))) + :body (org-ql--predicate-ts :from from :to to :regexp org-ql-clock-regexp :match-group 1)) -(org-ql--defpred closed (&key from to _on) +(org-ql-defpred closed (&key from to _on) ;; The underscore before `on' prevents "unused lexical variable" ;; warnings, because we pre-process that argument in a macro before ;; this function is called. @@ -1496,10 +1671,20 @@ If ON, return non-nil if entry has a timestamp on date ON. FROM, TO, and ON should be either `ts' structs, or strings parseable by `parse-time-string' which may omit the time value." + :normalizers ((`(,predicate-names ,(and num-days (pred numberp))) + ;; (clocked) and (closed) implicitly look into the past. + (let ((from (->> (ts-now) + (ts-adjust 'day (* -1 num-days)) + (ts-apply :hour 0 :minute 0 :second 0)))) + `(closed :from ,from)))) + :preambles ((`(,predicate-names . ,_) + ;; Predicate still needs testing. + (list :regexp org-closed-time-regexp :query query))) + :body (org-ql--predicate-ts :from from :to to :regexp org-closed-time-regexp :match-group 1 :limit (line-end-position 2))) -(org-ql--defpred deadline (&key from to _on) +(org-ql-defpred deadline (&key from to _on) ;; The underscore before `on' prevents "unused lexical variable" ;; warnings, because we pre-process that argument in a macro before ;; this function is called. @@ -1516,11 +1701,29 @@ If ON, return non-nil if entry has a timestamp on date ON. FROM, TO, and ON should be either `ts' structs, or strings parseable by `parse-time-string' which may omit the time value." + :normalizers ((`(,predicate-names auto) + ;; Use `org-deadline-warning-days' as the :to arg. + (let ((to (->> (ts-now) + (ts-adjust 'day org-deadline-warning-days) + (ts-apply :hour 23 :minute 59 :second 59)))) + `(deadline-warning :to ,to))) + (`(,predicate-names ,(and num-days (pred numberp))) + (let ((to (->> (ts-now) + (ts-adjust 'day num-days) + (ts-apply :hour 23 :minute 59 :second 59)))) + `(deadline :to ,to)))) + ;; NOTE: Does this normalizer cause the preamble to not be used? (Adding one to the deadline-warning definition to be sure.) + :preambles ((`(,predicate-names . ,_) + (list :regexp org-deadline-time-regexp :query query))) + :body (org-ql--predicate-ts :from from :to to :regexp org-deadline-time-regexp :match-group 1 :limit (line-end-position 2))) -(org-ql--defpred deadline-warning (&key from to) +(org-ql-defpred deadline-warning (&key from to) "Internal selector used to handle `org-deadline-warning-days' and deadlines with warning periods." + :preambles ((`(,predicate-names . ,_) + (list :regexp org-deadline-time-regexp :query query))) + :body (save-excursion (forward-line 1) (when (re-search-forward org-deadline-time-regexp (line-end-position) t) @@ -1535,7 +1738,7 @@ parseable by `parse-time-string' which may omit the time value." ((_timestamp (&keys :warning-value :warning-unit)) deadline-ts-element) (ts (ts-parse-org-element deadline-ts-element))) (pcase warning-unit - ('nil ;; Deadline has no warning unit: compare with ts passed in. + ('nil ;; Deadline has no warning unit: compare with ts passed in. (cond ((and from to) (ts-in from to ts)) (from (ts<= from ts)) (to (ts<= ts to)))) @@ -1544,7 +1747,7 @@ parseable by `parse-time-string' which may omit the time value." (ts<= (->> ts (ts-adjust unit (- warning-value))) org-ql--today)) ('week (ts<= (->> ts (ts-adjust 'day (* -7 warning-value))) org-ql--today))))))) -(org-ql--defpred planning (&key from to _on) +(org-ql-defpred planning (&key from to _on) ;; The underscore before `on' prevents "unused lexical variable" ;; warnings, because we pre-process that argument in a macro before ;; this function is called. @@ -1561,10 +1764,18 @@ If ON, return non-nil if entry has a timestamp on date ON. FROM, TO, and ON should be either `ts' structs, or strings parseable by `parse-time-string' which may omit the time value." + :normalizers ((`(,predicate-names ,(and num-days (pred numberp))) + (let ((to (->> (ts-now) + (ts-adjust 'day num-days) + (ts-apply :hour 23 :minute 59 :second 59)))) + `(planning :to ,to)))) + :preambles ((`(,predicate-names . ,_) + (list :regexp org-ql-planning-regexp :query query))) + :body (org-ql--predicate-ts :from from :to to :regexp org-ql-planning-regexp :match-group 1 :limit (line-end-position 2))) -(org-ql--defpred scheduled (&key from to _on) +(org-ql-defpred scheduled (&key from to _on) ;; The underscore before `on' prevents "unused lexical variable" ;; warnings, because we pre-process that argument in a macro before ;; this function is called. @@ -1581,12 +1792,20 @@ If ON, return non-nil if entry has a timestamp on date ON. FROM, TO, and ON should be either `ts' structs, or strings parseable by `parse-time-string' which may omit the time value." + :normalizers ((`(,predicate-names ,(and num-days (pred numberp))) + (let ((to (->> (ts-now) + (ts-adjust 'day num-days) + (ts-apply :hour 23 :minute 59 :second 59)))) + `(scheduled :to ,to)))) + :preambles ((`(,predicate-names . ,_) + (list :regexp org-scheduled-time-regexp :query query))) + :body (org-ql--predicate-ts :from from :to to :regexp org-scheduled-time-regexp :match-group 1 :limit (line-end-position 2))) -(org-ql--defpred (ts ts-active ts-a ts-inactive ts-i) +(org-ql-defpred (ts ts-active ts-a ts-inactive ts-i) (&key from to _on regexp (match-group 0) (limit (org-entry-end-position))) - ;; NOTE: Arguments to this predicate are pre-processed in `org-ql--pre-process-query'. + ;; NOTE: Arguments to this predicate are pre-processed in `org-ql--normalize-query'. ;; The underscore before `on' prevents "unused lexical variable" warnings due to the ;; pre-processing converting that argument to FROM and TO. The `regexp' argument is ;; also provided by the pre-processing and is not to be given by the user. FROM and @@ -1613,7 +1832,23 @@ the end of the entry, i.e. the position returned by `org-entry-end-position', but for certain searches it should be bound to a different positiion, e.g. for planning lines, the end of the line after the heading." + ;; MAYBE: Define active/inactive ones separately? + :normalizers ((`(,(or 'ts-active 'ts-a) . ,rest) `(ts :type active ,@rest)) + (`(,(or 'ts-inactive 'ts-i) . ,rest) `(ts :type inactive ,@rest))) + :preambles ((`(,predicate-names . ,rest) + (list :regexp (pcase (plist-get rest :type) + ((or 'nil 'both) org-tsr-regexp-both) + ('active org-tsr-regexp) + ('inactive org-ql-tsr-regexp-inactive)) + ;; Predicate needs testing only when args are present. + :query (-let (((&keys :from :to :on) rest)) + ;; FIXME: This used to be (when (or from to on) query), but that doesn't seem right, so I + ;; changed it to this if, and the tests pass either way. Might deserve a little scrutiny. + (if (or from to on) + query + t))))) ;; TODO: DRY this with the clocked predicate. + :body (cl-macrolet ((next-timestamp () `(when (re-search-forward regexp limit t) (ts-parse-org (match-string match-group)))) @@ -1627,6 +1862,14 @@ of the line after the heading." (from (test-timestamps (ts<= from next-ts))) (to (test-timestamps (ts<= next-ts to))))))) +;; Predicates defined: stop deferring and define normalizer and preamble functions now. +(setf org-ql-defpred-defer nil) +;; Reversing preserves the order in which they were defined. +;; Generally it shouldn't matter, but it might... +(org-ql--define-normalize-query-fn (reverse org-ql-predicates)) +(org-ql--define-query-preamble-fn (reverse org-ql-predicates)) +(org-ql--def-query-string-to-sexp-fn (reverse org-ql-predicates)) + ;;;;; Sorting ;; TODO: These appear to work properly, but it would be good to have tests for them. @@ -1720,94 +1963,6 @@ element should be a regexp string." always (string-match i l)) do (pop list))) -;;;;; Plain query parsing - -;; This section implements parsing of "plain," non-Lisp queries using the `peg' -;; library. NOTE: This needs to appear after the predicates are defined. - -;; TODO: Rename "plain" to "string", or something like that. - -(require 'peg) - -;; Fix compiler warnings probably caused by `peg' not using lexical-binding. -;; TODO: File bug report upstream. -(defvar peg-errors) -(defvar peg-stack) - -(defmacro org-ql--peg-parse-string (rules string &optional noerror) - "Parse STRING according to RULES." - ;; This sentence was in the docstring but Checkdoc is complaining, - ;; so moving it to a comment: "If NOERROR is non-nil, push nil - ;; resp. t if the parse failed resp. succeded instead of signaling - ;; an error." - - ;; Unfortunately, this macro was moved to peg-tests.el, so we copy it here. - `(with-temp-buffer - (insert ,string) - (goto-char (point-min)) - ,(if noerror - (let ((entry (make-symbol "entry")) - (start (caar rules))) - `(peg-parse (,entry (or (and ,start `(-- t)) "")) - . ,rules)) - `(peg-parse . ,rules)))) - -(cl-eval-when (compile load eval) - ;; This `eval-when' is necessary, otherwise the macro does not define - ;; the function correctly, apparently because `org-ql-predicates' - ;; ends up being not defined correctly at expansion time. - - (defmacro org-ql--def-plain-query-fn () - "Define function `org-ql--plain-query'. -Builds the PEG expression using predicates defined in -`org-ql-predicates' and `org-ql-predicates-extra-aliases'." - (let* ((predicates (--map (symbol-name (plist-get it :name)) - org-ql-predicates)) - (aliases (->> org-ql-predicates - (--map (plist-get it :aliases)) - -non-nil - -flatten - (-map #'symbol-name))) - (predicates (->> (append predicates aliases) - -uniq - ;; Sort the keywords longest-first to work around what seems to be an - ;; obscure bug in `peg': when one keyword is a substring of another, - ;; and the shorter one is listed first, the shorter one fails to match. - (-sort (-on #'> #'length))))) - `(cl-defun org-ql--plain-query (input &optional (boolean 'and)) - "Return query parsed from plain query string INPUT. -Multiple predicates are combined with BOOLEAN." - (unless (s-blank-str? input) - (let* ((query (org-ql--peg-parse-string - ((query (+ term - (opt (+ (syntax-class whitespace) (any))))) - (term (or (and negation (list positive-term) - ;; This is a bit confusing, but it seems to work. There's probably a better way. - `(pred -- (list 'not (car pred)))) - positive-term)) - (positive-term (or (and predicate-with-args `(pred args -- (cons (intern pred) args))) - (and predicate-without-args `(pred -- (list (intern pred)))) - (and plain-string `(s -- (list 'regexp s))))) - (plain-string (or quoted-arg unquoted-arg)) - (predicate-with-args (substring predicate) ":" args) - (predicate-without-args (substring predicate) ":") - (predicate (or ,@predicates)) - (args (list (+ (and (or keyword-arg quoted-arg unquoted-arg) (opt separator))))) - (keyword-arg (and keyword "=" `(kw -- (intern (concat ":" kw))))) - (keyword (substring (+ (not (or separator "=" "\"" (syntax-class whitespace))) (any)))) - (quoted-arg "\"" (substring (+ (not (or separator "\"")) (any))) "\"") - (unquoted-arg (substring (+ (not (or separator "\"" (syntax-class whitespace))) (any)))) - (negation "!") - (separator "," )) - input 'noerror))) - ;; Discard the t that `peg-parse-string' always returns as the first - ;; element. I don't know what it means, but we don't want it. - (if (> (length (cdr query)) 1) - (cons boolean (nreverse (cdr query))) - (cadr query))))))) - - (org-ql--def-plain-query-fn)) - ;; And now we go the other direction... (defun org-ql--query-sexp-to-string (query) diff --git a/org-ql.info b/org-ql.info index abfce7a..1d693c3 100644 --- a/org-ql.info +++ b/org-ql.info @@ -63,6 +63,7 @@ Functions / Macros * Agenda-like views:: * Listing / acting-on results:: +* Custom predicates:: Changelog @@ -565,11 +566,13 @@ File: README.info, Node: Functions / Macros, Next: Dynamic block, Prev: Queri • • • - • • • + • • • • • + • * Menu: * Agenda-like views:: * Listing / acting-on results:: +* Custom predicates::  File: README.info, Node: Agenda-like views, Next: Listing / acting-on results, Up: Functions / Macros @@ -606,7 +609,7 @@ File: README.info, Node: Agenda-like views, Next: Listing / acting-on results, the block header, otherwise the header is formed automatically.  -File: README.info, Node: Listing / acting-on results, Prev: Agenda-like views, Up: Functions / Macros +File: README.info, Node: Listing / acting-on results, Next: Custom predicates, Prev: Agenda-like views, Up: Functions / Macros 4.3.2 Listing / acting-on results --------------------------------- @@ -737,6 +740,84 @@ File: README.info, Node: Listing / acting-on results, Prev: Agenda-like views, Expands into a call to ‘org-ql-select’ with the same arguments. For convenience, arguments should be unquoted. + +File: README.info, Node: Custom predicates, Prev: Listing / acting-on results, Up: Functions / Macros + +4.3.3 Custom predicates +----------------------- + + • See: Custom predicate tutorial (examples/defpred.org) + + 1. Macro: org-ql-defpred + + _Arguments:_ ‘(name args docstring &key body preambles + normalizers)’ + + Define an ‘org-ql’ selector predicate named + ‘org-ql--predicate-NAME’. ‘NAME’ may be a symbol or a list of + symbols: if a list, the first is used as ‘NAME’ and the rest are + aliases. ‘A’ function is only created for ‘NAME’, not for aliases, + so a normalizer should be used to replace aliases with ‘NAME’ in + queries (keep reading). + + ‘ARGS’ is a ‘cl-defun’-style argument list. ‘DOCSTRING’ is the + function’s docstring. + + ‘BODY’ is the body of the predicate. It will be evaluated with + point on the beginning of an Org heading and should return non-nil + if the heading’s entry is a match. + + ‘PREAMBLES’ and ‘NORMALIZERS’ are lists of ‘pcase’ forms matched + against Org ‘QL’ query sexps. They are spliced into ‘pcase’ forms + in the definitions of the functions ‘org-ql--query-preamble’ and + ‘org-ql--normalize-query’, which see. Those functions are + redefined when this macro is expanded, unless variable + ‘org-ql-defpred-defer’ is non-nil, in which case those functions + should be redefined manually after defining predicates by calling + ‘org-ql--define-query-preamble-fn’ and + ‘org-ql--define-normalize-query-fn’. + + ‘NORMALIZERS’ are used to normalize query expressions to standard + forms. For example, when the predicate has aliases, the aliases + should be replaced with predicate names using a normalizer. Also, + predicate arguments may be put into a more optimal form so that the + predicate has less work to do at query time. + + ‘PREAMBLES’ refer to regular expressions which may be used to + search through a buffer directly to a potential match rather than + testing the predicate body on each heading. (Naming things is + hard.) In each ‘pcase’ form in ‘PREAMBLES’, the ‘pcase’ expression + (not the pattern) should be a plist with the following keys, each + value of which should be an expression which may refer to variables + bound in the pattern: + + ‘:regexp’ Regular expression which searches directly to a potential + match. + + ‘:case-fold’ Bound to ‘case-fold-search’ around the regexp search. + + ‘:query’ Expression which should replace the query expression, or + ‘query’ if it should not be changed (e.g. if the regexp is + insufficient to determine whether a heading matches, in which case + the predicate’s body needs to be tested on the heading). If the + regexp guarantees a match, this may be simply ‘t’, leaving the + query expression with no work to do, which improves performance. + + For convenience, within the ‘pcase’ patterns, the symbol + ‘predicate-names’ is a special form which is replaced with a + pattern matching any of the predicate’s name and aliases. For + example, if ‘NAME’ were: + + ‘(heading h)’ + + Then if ‘NORMALIZERS’ were: + + ‘((`(,predicate-names . ,args) `(heading ,@args)))’ + + It would be expanded to: + + ‘((`(,(or 'heading 'h) . ,args) `(heading ,@args)))’ +  File: README.info, Node: Dynamic block, Next: Links, Prev: Functions / Macros, Up: Usage @@ -859,7 +940,15 @@ File: README.info, Node: 06-pre, Next: 05, Up: Changelog 5.1 0.6-pre =========== -Nothing new yet. +*Added* + • Macro org-ql-defpred, used to define search predicates. (See + tutorial (examples/defpred.org).) + + *Internal* + • Predicates are now defined more cleanly with a macro + (org-ql-defpred) that consolidates functionality related to each + predicate. This will also allow users to more easily define custom + predicates.  File: README.info, Node: 05, Next: 049, Prev: 06-pre, Up: Changelog @@ -1348,54 +1437,55 @@ GPLv3  Tag Table: Node: Top225 -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 +Node: Contents1628 +Node: Screenshots1751 +Node: Installation1869 +Node: Quelpa2507 +Node: Usage2950 +Node: Commands3348 +Node: org-ql-search3821 +Node: helm-org-ql5471 +Node: org-ql-view5883 +Node: org-ql-view-sidebar6383 +Node: org-ql-view-recent-items6739 +Node: org-ql-sparse-tree7223 +Node: Queries8023 +Node: Non-sexp query syntax9134 +Node: General predicates10841 +Node: Ancestor/descendant predicates16254 +Node: Date/time predicates17382 +Node: Functions / Macros20037 +Node: Agenda-like views20335 +Node: Listing / acting-on results21740 +Node: Custom predicates26961 +Node: Dynamic block30452 +Node: Links33150 +Node: Tips33837 +Node: Changelog34155 +Node: 06-pre34851 +Node: 0535291 +Node: 04936768 +Node: 04837042 +Node: 04737389 +Node: 04637784 +Node: 04538184 +Node: 04438543 +Node: 04338900 +Node: 04239095 +Node: 04139256 +Node: 0439497 +Node: 03243430 +Node: 03143809 +Node: 0344006 +Node: 02346981 +Node: 02247209 +Node: 02147477 +Node: 0247676 +Node: 0151711 +Node: Notes51812 +Node: Comparison with Org Agenda searches51974 +Node: org-sidebar52846 +Node: License53125  End Tag Table diff --git a/tests/test-org-ql.el b/tests/test-org-ql.el index c9d560e..3aebd3e 100644 --- a/tests/test-org-ql.el +++ b/tests/test-org-ql.el @@ -50,7 +50,7 @@ Set at runtime by test suite.") ('org-ql 'org-ql) ('org-ql-expect t) ('org-ql--query-preamble 'query-preamble) - ('org-ql--pre-process-query t) + ('org-ql--normalize-query t) (_ nil))) (result (pcase sexp (`(org-ql-expect ,args) @@ -63,7 +63,7 @@ Set at runtime by test suite.") :action (org-ql-test-org-get-heading)))) (`(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))) + (`(org-ql--normalize-query . _) (format "'%S" (eval sexp))) (_ nil)))) (progn (backward-char 1) @@ -222,61 +222,75 @@ RESULTS should be a list of strings as returned by (describe "(level)" (it "with one level" - (expect (org-ql--pre-process-query '(level "1")) + (expect (org-ql--normalize-query '(level "1")) :to-equal '(level 1))) (it "with two levels" - (expect (org-ql--pre-process-query '(level "1" "2")) + (expect (org-ql--normalize-query '(level "1" "2")) :to-equal '(level 1 2))) (it "with a comparator and a level" - (expect (org-ql--pre-process-query '(level ">" "1")) + (expect (org-ql--normalize-query '(level ">" "1")) :to-equal '(level > 1)))) (describe "(link)" (it "with one argument" - (expect (org-ql--pre-process-query '(link "DESC-OR-TARGET")) + (expect (org-ql--normalize-query '(link "DESC-OR-TARGET")) :to-equal '(link "DESC-OR-TARGET"))) (it "with one argument and :regexp-p" - (expect (org-ql--pre-process-query '(link "DESC-OR-TARGET" :regexp-p t)) + (expect (org-ql--normalize-query '(link "DESC-OR-TARGET" :regexp-p t)) :to-equal '(link "DESC-OR-TARGET" :regexp-p t))) (it "with keyword arguments" - (expect (org-ql--pre-process-query '(link :description "DESCRIPTION" :target "TARGET" - :regexp-p t)) + (expect (org-ql--normalize-query '(link :description "DESCRIPTION" :target "TARGET" + :regexp-p t)) :to-equal '(link :description "DESCRIPTION" :target "TARGET" :regexp-p t)))) - (expect (org-ql--pre-process-query '(and "string1" "string2")) + (expect (org-ql--normalize-query '(and "string1" "string2")) :to-equal '(and (regexp "string1") (regexp "string2"))) - (expect (org-ql--pre-process-query '(or "string1" "string2")) + (expect (org-ql--normalize-query '(or "string1" "string2")) :to-equal '(or (regexp "string1") (regexp "string2"))) - (expect (org-ql--pre-process-query '(and (todo "TODO") - (or "string1" "string2"))) + (expect (org-ql--normalize-query '(and (todo "TODO") + (or "string1" "string2"))) :to-equal '(and (todo "TODO") (or (regexp "string1") (regexp "string2")))) - (expect (org-ql--pre-process-query '(when (todo "TODO") - (or "string1" "string2"))) + (expect (org-ql--normalize-query '(when (todo "TODO") + (or "string1" "string2"))) :to-equal '(when (todo "TODO") (or (regexp "string1") (regexp "string2")))) - (expect (org-ql--pre-process-query '(when "string-cond1" - (or "string1" "string2"))) + (expect (org-ql--normalize-query '(when "string-cond1" + (or "string1" "string2"))) :to-equal '(when (regexp "string-cond1") (or (regexp "string1") (regexp "string2")))) - (expect (org-ql--pre-process-query '(when (and "string-cond1" "string-cond2") - (or "string1" "string2"))) + (expect (org-ql--normalize-query '(when (and "string-cond1" "string-cond2") + (or "string1" "string2"))) :to-equal '(when (and (regexp "string-cond1") (regexp "string-cond2")) (or (regexp "string1") (regexp "string2")))) - (expect (org-ql--pre-process-query '(unless (and "stringcondition1" "stringcond2") - (or "string1" "string2"))) + (expect (org-ql--normalize-query '(unless (and "stringcondition1" "stringcond2") + (or "string1" "string2"))) :to-equal '(unless (and (regexp "stringcondition1") (regexp "stringcond2")) (or (regexp "string1") (regexp "string2")))) - (expect (org-ql--pre-process-query '(or (ts-active :on "2019-01-01") - (ts-a :on "2019-01-01") - (ts-inactive :on "2019-01-01") - (ts-i :on "2019-01-01"))) + (expect (org-ql--normalize-query '(or (ts-active :on "2019-01-01") + (ts-a :on "2019-01-01") + (ts-inactive :on "2019-01-01") + (ts-i :on "2019-01-01"))) :to-equal '(or (ts :type active :on "2019-01-01") (ts :type active :on "2019-01-01") (ts :type inactive :on "2019-01-01") (ts :type inactive :on "2019-01-01")))) - (describe "Query optimizing" + (describe "Query preambles" ;; TODO: Other predicates. + (describe "(clocked)" + (it "without arguments" + (expect (org-ql--query-preamble '(clocked)) + :to-equal (list :query t + :preamble org-ql-clock-regexp + :preamble-case-fold nil))) + (it "with a number of days" + (expect (org-ql--query-preamble '(clocked 1)) + :to-equal (list :query t + :preamble org-ql-clock-regexp + :preamble-case-fold nil))) + ;; TODO: Other arguments for (clocked). + ) + (describe "(level)" (it "with a number" (expect (org-ql--query-preamble '(level 2)) @@ -314,60 +328,60 @@ RESULTS should be a list of strings as returned by ;; TODO: Other predicates. (it "Negated terms" - (expect (org-ql--plain-query "todo: !todo:CHECK,SOMEDAY") + (expect (org-ql--query-string-to-sexp "todo: !todo:CHECK,SOMEDAY") :to-equal '(and (todo) (not (todo "CHECK" "SOMEDAY")))) - (expect (org-ql--plain-query "!todo:CHECK,SOMEDAY todo:") + (expect (org-ql--query-string-to-sexp "!todo:CHECK,SOMEDAY todo:") :to-equal '(and (not (todo "CHECK" "SOMEDAY")) (todo))) - (expect (org-ql--plain-query "tags:universe !moon") + (expect (org-ql--query-string-to-sexp "tags:universe !moon") :to-equal '(and (tags "universe") (not (regexp "moon")))) - (expect (org-ql--plain-query "!moon tags:universe") + (expect (org-ql--query-string-to-sexp "!moon tags:universe") :to-equal '(and (not (regexp "moon")) (tags "universe"))) - (expect (org-ql--plain-query "mars !ts:on=today") + (expect (org-ql--query-string-to-sexp "mars !ts:on=today") :to-equal '(and (regexp "mars") (not (ts :on "today")))) - (expect (org-ql--plain-query "!\"quoted phrase\"") + (expect (org-ql--query-string-to-sexp "!\"quoted phrase\"") :to-equal '(not (regexp "quoted phrase")))) (it "Regexp predicates" - (expect (org-ql--plain-query "scheduled") + (expect (org-ql--query-string-to-sexp "scheduled") ;; No colon after keyword, so not a predicate query. :to-equal '(regexp "scheduled")) - (expect (org-ql--plain-query "\"quoted phrase\"") + (expect (org-ql--query-string-to-sexp "\"quoted phrase\"") :to-equal '(regexp "quoted phrase")) - (expect (org-ql--plain-query "regexp:word") + (expect (org-ql--query-string-to-sexp "regexp:word") :to-equal '(regexp "word")) - (expect (org-ql--plain-query "regexp:\"quoted phrase\"") + (expect (org-ql--query-string-to-sexp "regexp:\"quoted phrase\"") :to-equal '(regexp "quoted phrase"))) (it "Timestamp-based predicates" - (expect (org-ql--plain-query "scheduled:on=2017-07-07") + (expect (org-ql--query-string-to-sexp "scheduled:on=2017-07-07") :to-equal '(scheduled :on "2017-07-07")) - (expect (org-ql--plain-query "deadline:from=2017-07-07,to=2017-07-09") + (expect (org-ql--query-string-to-sexp "deadline:from=2017-07-07,to=2017-07-09") :to-equal '(deadline :from "2017-07-07" :to "2017-07-09")) - (expect (org-ql--plain-query "planning:from=2017-07-07") + (expect (org-ql--query-string-to-sexp "planning:from=2017-07-07") :to-equal '(planning :from "2017-07-07")) - (expect (org-ql--plain-query "closed:from=2017-07-07") + (expect (org-ql--query-string-to-sexp "closed:from=2017-07-07") :to-equal '(closed :from "2017-07-07")) - (expect (org-ql--plain-query "ts-active:to=2017-07-07") + (expect (org-ql--query-string-to-sexp "ts-active:to=2017-07-07") :to-equal '(ts-active :to "2017-07-07")) - (expect (org-ql--plain-query "ts-inactive:to=2017-07-07") + (expect (org-ql--query-string-to-sexp "ts-inactive:to=2017-07-07") :to-equal '(ts-inactive :to "2017-07-07")) - (expect (org-ql--plain-query "ts-a:to=2017-07-07") + (expect (org-ql--query-string-to-sexp "ts-a:to=2017-07-07") :to-equal '(ts-a :to "2017-07-07")) - (expect (org-ql--plain-query "ts-i:on=2017-07-07") + (expect (org-ql--query-string-to-sexp "ts-i:on=2017-07-07") :to-equal '(ts-i :on "2017-07-07")) - (expect (org-ql--plain-query "ts:") + (expect (org-ql--query-string-to-sexp "ts:") :to-equal '(ts)) - (expect (org-ql--plain-query "clocked:") + (expect (org-ql--query-string-to-sexp "clocked:") :to-equal '(clocked))) (it "To-do predicates" - (expect (org-ql--plain-query "todo:") + (expect (org-ql--query-string-to-sexp "todo:") :to-equal '(todo)) - (expect (org-ql--plain-query "todo:TODO") + (expect (org-ql--query-string-to-sexp "todo:TODO") :to-equal '(todo "TODO")) - (expect (org-ql--plain-query "todo:TODO,SOMEDAY") + (expect (org-ql--query-string-to-sexp "todo:TODO,SOMEDAY") :to-equal '(todo "TODO" "SOMEDAY"))) (it "Compound queries" - (expect (org-ql--plain-query "todo:SOMEDAY ts-a:from=2020-01-01,to=2021-01-01") + (expect (org-ql--query-string-to-sexp "todo:SOMEDAY ts-a:from=2020-01-01,to=2021-01-01") :to-equal '(and (todo "SOMEDAY") (ts-a :from "2020-01-01" :to "2021-01-01"))) - (expect (org-ql--plain-query "regexp:\"quoted phrase\" todo:SOMEDAY") + (expect (org-ql--query-string-to-sexp "regexp:\"quoted phrase\" todo:SOMEDAY") :to-equal '(and (regexp "quoted phrase") (todo "SOMEDAY"))))) (describe "Convert sexp queries to non-sexp queries" @@ -842,9 +856,9 @@ RESULTS should be a list of strings as returned by (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 - ;; significant hassle. Manual testing shows that the predicate appears to work properly. - + ;; ;; TODO: Test (src) predicate. That will require modifying test data, which will be a + ;; ;; significant hassle. Manual testing shows that the predicate appears to work properly. + ;; (describe "(todo)" (org-ql-it "without arguments" From a2acf93a2c4fdcfd4752aa3c71d946b882ad8a09 Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Mon, 23 Nov 2020 01:33:14 -0600 Subject: [PATCH 317/615] Docs: (defpred.org) Fix example --- examples/defpred.org | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples/defpred.org b/examples/defpred.org index 86565cf..75c28b7 100644 --- a/examples/defpred.org +++ b/examples/defpred.org @@ -164,7 +164,7 @@ Can we do that? In fact, we can, by using a query normalizer. Normalizers are collect `(property "person" ,name))))) :body (cl-loop for name in names thereis (or (property "person" name) - (tags (concat "person" name))))) + (tags name)))) #+END_SRC Now, don't faint from all the backquoting and unquoting--it's just Lisp, nothing to be afraid of! Let's slow down a moment and see what the normalized query looks like to be sure we're doing it correctly: From 485bbdfda8723722fbd2b39fe15a852ef5a99703 Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Mon, 23 Nov 2020 02:03:48 -0600 Subject: [PATCH 318/615] Meta: Upgrade makem.sh, Makefile, test.yml --- .github/workflows/test.yml | 2 +- Makefile | 2 +- makem.sh | 7 ++++--- 3 files changed, 6 insertions(+), 5 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 0b274ed..d5ec8cc 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -1,7 +1,7 @@ # * test.yml --- Test Emacs packages using makem.sh on GitHub Actions # URL: https://github.com/alphapapa/makem.sh -# Version: 0.2 +# Version: 0.2.1 # * Commentary: diff --git a/Makefile b/Makefile index 68906e9..4abfce9 100644 --- a/Makefile +++ b/Makefile @@ -1,7 +1,7 @@ # * makem.sh/Makefile --- Script to aid building and testing Emacs Lisp packages # URL: https://github.com/alphapapa/makem.sh -# Version: 0.2 +# Version: 0.2.1 # * Arguments diff --git a/makem.sh b/makem.sh index 2d710a3..0cc3cbc 100755 --- a/makem.sh +++ b/makem.sh @@ -3,7 +3,7 @@ # * makem.sh --- Script to aid building and testing Emacs Lisp packages # URL: https://github.com/alphapapa/makem.sh -# Version: 0.2 +# Version: 0.2.1 # * Commentary: @@ -422,8 +422,9 @@ function package-main-file { function dependencies { # Echo list of package dependencies. - # Search package headers. - egrep -i '^;; Package-Requires: ' $(files-project-feature) $(files-project-test) \ + # Search package headers. Use -a so grep won't think that an Elisp file containing + # control characters (rare, but sometimes necessary) is binary and refuse to search it. + egrep -a -i '^;; Package-Requires: ' $(files-project-feature) $(files-project-test) \ | egrep -o '\([^([:space:]][^)]*\)' \ | egrep -o '^[^[:space:])]+' \ | sed -r 's/\(//g' \ From a24de862ec848568ffae1ed3fb2d515dca0dc6b1 Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Mon, 23 Nov 2020 02:03:58 -0600 Subject: [PATCH 319/615] Fix: (org-ql-defpred) Use alist-get Until map-2.1 can automatically be installed with makem.sh... --- org-ql.el | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/org-ql.el b/org-ql.el index b4b98b3..499e0b1 100644 --- a/org-ql.el +++ b/org-ql.el @@ -990,7 +990,8 @@ It would be expanded to: `(progn (cl-eval-when (compile load eval) (cl-defun ,fn-name ,args ,docstring ,body)) - (setf (map-elt org-ql-predicates ',predicate-name) + ;; SOMEDAY: Use `map-elt' here, after map 2.1 can be automatically installed in CI sandbox... + (setf (alist-get ',predicate-name org-ql-predicates) `(:name ,',name :aliases ,',aliases :fn ,',fn-name :docstring ,,docstring :args ,',args :normalizers ,',normalizers :preambles ,',preambles)) (unless org-ql-defpred-defer From 58bf5dc0a38050df6fc9494334a602181743b0bc Mon Sep 17 00:00:00 2001 From: "Zen Monk Alain M. Lafon" Date: Mon, 23 Nov 2020 09:33:44 +0100 Subject: [PATCH 320/615] Proofread `defpred` tutorial --- examples/defpred.org | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/examples/defpred.org b/examples/defpred.org index 75c28b7..d5fc7c5 100644 --- a/examples/defpred.org +++ b/examples/defpred.org @@ -3,7 +3,7 @@ [2020-11-22 Sun 22:35] Imagine you have weekly meetings with other people, and during the week you take notes about items to discuss at each meeting. When the time for a meeting comes, you want to quickly and easily search for all of the items to discuss at the meeting. -You've been experimenting with different ways to track such data in Org. You've tried using tags, but some of the names in question conflict with other tags in your data (e.g. someone's named Charles, but you also work with a firm named Charles, Inc., and you'd prefer to continue using the tag =Charles= for entries about that firm), so you've been using tags like ~:personNAME:~, which seems awkward. You've tried using a ~:person: NAME~ property on entries, which has the advantage of not cluttering the tags list, but also the disadvantage of not being readily visible in an outline. +You've been experimenting with different ways to track such data in Org. You've tried using tags, but some of the names in question conflict with other tags in your data (e.g. someone's named Charles, but you also work with a firm named Charles, Inc., and you'd prefer to continue using the tag =Charles= for entries about that firm), so you've been using tags like ~:personNAME:~, which seems awkward. You've tried using a ~:person: NAME~ property on entries, which has the advantage of not cluttering the tags list, but also the disadvantage of not being readily visible in an outline. So you haven't decided on a long-term solution, but the meetings aren't going to wait--you need to search that data now, and you have a mix of both tags and properties in your entries. What you need is to be able to search for all of the entries about Alice (which you've tagged ~:personAlice:~) when you're meeting with her, and all of the entries about Bob (which have the property ~:person: Bob~) when you're meeting with him What do you do? @@ -51,7 +51,7 @@ Enter =org-ql= custom search predicates. Let's start simple, by defining a pred :body (property "person" name)) #+END_SRC -Now let's see what results we get for searching this file for entries about Bob: +Now, let's see what results we get for searching this file for entries about Bob: #+BEGIN_SRC elisp :results list :exports both :cache yes (org-ql-query :select '(org-get-heading :no-tags) @@ -77,7 +77,7 @@ Hmm, looks like we need to remind Bob to wash his mug and take some mints after #+END_EXAMPLE -Nothing? Oh, right, Alice's entries use the ~:personAlice:~ tag, so we'll also need to also search those kind of entries. Let's make the predicate do that too: +Nothing? Oh, right, Alice's entries use the ~:personAlice:~ tag, so we'll also need to search those kind of entries. Let's make the predicate do that, too: #+BEGIN_SRC elisp :results silent :exports code (org-ql-defpred person (name) From a06ea62521c2ebbb0cdafb78f83a01896414ce24 Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Mon, 23 Nov 2020 02:59:43 -0600 Subject: [PATCH 321/615] Docs: (defpred.org) Tidy --- examples/defpred.org | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/examples/defpred.org b/examples/defpred.org index d5fc7c5..3cdf07f 100644 --- a/examples/defpred.org +++ b/examples/defpred.org @@ -204,7 +204,7 @@ But wait, that's not all! If you order now, we'll throw in non-sexp query synta (org-ql-search (current-buffer) "person:Alice,Bob") #+END_SRC -Don't believe me? Well, you see, queries in this syntax are automatically converted to the sexp syntax, like: +Don't believe me? Well, you see, queries in this syntax are converted to the sexp syntax, like: #+BEGIN_SRC elisp :results code :exports both :cache yes (org-ql--query-string-to-sexp "person:Alice,Bob") @@ -215,7 +215,7 @@ Don't believe me? Well, you see, queries in this syntax are automatically conve (person "Alice" "Bob") #+END_SRC -But that happens automatically when you use a search command like =org-ql-search=. If you have =org-ql= installed already, you could even click this link: [[org-ql-search:person:Alice,Bob][Alice or Bob]]. Which, in Org syntax, looks like: +And that happens automatically when you use a search command like =org-ql-search=. If you have =org-ql= installed already, you could even click this link: [[org-ql-search:person:Alice,Bob][Alice or Bob]]. Which, in Org syntax, looks like: #+BEGIN_SRC org [[org-ql-search:person:Alice,Bob]] @@ -286,8 +286,8 @@ Finally, if you're a Lisper who appreciates anaphora, you might prefer a more sy :normalizers ((`(,predicate-names . ,names) `(or (tags ,@(--map `(concat "person" ,it) names)) ,@(--map `(property "person" ,it) names)))) - :body (--any (or (property "person" name) - (tags (concat "person" name))) + :body (--any (or (property "person" it) + (tags (concat "person" it))) names)) #+END_SRC From b01106bd0f73c5eaea55a8d41a6943977363f356 Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Mon, 23 Nov 2020 03:10:10 -0600 Subject: [PATCH 322/615] Docs: (defpred.org) Formless, conclusion --- examples/defpred.org | 47 ++++++++++++++++++++++++++++++++++++++------ 1 file changed, 41 insertions(+), 6 deletions(-) diff --git a/examples/defpred.org b/examples/defpred.org index 3cdf07f..53dac32 100644 --- a/examples/defpred.org +++ b/examples/defpred.org @@ -5,7 +5,7 @@ You've been experimenting with different ways to track such data in Org. You've tried using tags, but some of the names in question conflict with other tags in your data (e.g. someone's named Charles, but you also work with a firm named Charles, Inc., and you'd prefer to continue using the tag =Charles= for entries about that firm), so you've been using tags like ~:personNAME:~, which seems awkward. You've tried using a ~:person: NAME~ property on entries, which has the advantage of not cluttering the tags list, but also the disadvantage of not being readily visible in an outline. -So you haven't decided on a long-term solution, but the meetings aren't going to wait--you need to search that data now, and you have a mix of both tags and properties in your entries. What you need is to be able to search for all of the entries about Alice (which you've tagged ~:personAlice:~) when you're meeting with her, and all of the entries about Bob (which have the property ~:person: Bob~) when you're meeting with him What do you do? +So you haven't decided on a long-term solution, but the meetings aren't going to wait--you need to search that data now, and you have a mix of both tags and properties in your entries. What you need is to be able to search for all of the entries about Alice (which you've tagged ~:personAlice:~) when you're meeting with her, and all of the entries about Bob (which have the property ~:person: Bob~) when you're meeting with him. What do you do? * Contents :PROPERTIES: @@ -19,6 +19,8 @@ So you haven't decided on a long-term solution, but the meetings aren't going to - [[#non-sexp-query-syntax][Non-sexp query syntax]] - [[#using-multiple-predicates][Using multiple predicates]] - [[#predicate-aliases][Predicate aliases]] +- [[#be-formless][Be formless]] +- [[#conclusion][Conclusion]] - [[#appendix-anaphoric-macros][Appendix: Anaphoric macros]] :END: @@ -276,6 +278,42 @@ And, you know what, if you're just so busy that you don't even have time to type (It's up to you to remember whether =p= means =person= or =priority=, but code can't solve everything.) +* Be formless + +We can even go a step further: since the normalizer rewrites the query to call the =property= and =tags= predicates instead, this =person= predicate doesn't even need a body form! + +#+BEGIN_SRC elisp :results silent :exports code + (org-ql-defpred (person p) (&rest names) + "Search for entries about any of NAMES." + :normalizers ((`(,predicate-names . ,names) + `(or (tags ,@(cl-loop for name in names + collect (concat "person" name))) + ,@(cl-loop for name in names + collect `(property "person" ,name)))))) +#+END_SRC + +Will it still work? + +#+BEGIN_SRC elisp :results list :exports both :cache yes + (org-ql-query :select '(org-get-heading :no-tags) + :from (current-buffer) + :where '(person "Alice" "Bob")) +#+END_SRC + +#+RESULTS[4f5971c56616f01d8d3c28a66ef380495ee3e158]: +- [#A] Loud pet parakeet +- [#C] Missing sticky notes +- [#C] Dirty dishes in sink +- [#A] Stinky coffee breath + +It does! + +* Conclusion + +In this tutorial, we've gone from having to write lengthy, complex query expressions for accommodating idiosyncratic requirements, to being able to write simple query expressions that abstract away ugly details, to rewriting those query expressions into a more optimal form before a search is even run. The end result is an Org Query Language that is customized to meet your specific needs. + +What new custom predicates will you write next? + * Appendix: Anaphoric macros Finally, if you're a Lisper who appreciates anaphora, you might prefer a more syntactically concise definition of the predicate using Dash macros: @@ -285,10 +323,7 @@ Finally, if you're a Lisper who appreciates anaphora, you might prefer a more sy "Search for entries about any of NAMES." :normalizers ((`(,predicate-names . ,names) `(or (tags ,@(--map `(concat "person" ,it) names)) - ,@(--map `(property "person" ,it) names)))) - :body (--any (or (property "person" it) - (tags (concat "person" it))) - names)) + ,@(--map `(property "person" ,it) names))))) #+END_SRC Let's make sure it works: @@ -305,7 +340,7 @@ Let's make sure it works: - [#C] Dirty dishes in sink - [#A] Stinky coffee breath -Have fun making custom search predicates! +Lisp is fun! * Example data :PROPERTIES: From 92d099caf61c87a712117fffee618485885679eb Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Mon, 23 Nov 2020 03:19:13 -0600 Subject: [PATCH 323/615] Docs: (defpred.org) Add HTML export It looks nice, even if it isn't practically viewable on GitHub. --- examples/defpred.html | 766 ++++++++++++++++++ examples/defpred.org | 13 +- .../export/setup/theme-darksun-local.setup | 17 + examples/export/setup/theme-darksun.setup | 15 + .../export/styles/darksun/css/darksun.css | 264 ++++++ .../export/styles/darksun/css/hideshow.css | 110 +++ .../export/styles/darksun/css/htmlize.css | 145 ++++ .../export/styles/darksun/images/checked.png | Bin 0 -> 3136 bytes .../export/styles/darksun/images/fixme.png | Bin 0 -> 625 bytes .../styles/darksun/images/halfchecked.png | Bin 0 -> 3080 bytes .../export/styles/darksun/images/info.png | Bin 0 -> 4403 bytes .../export/styles/darksun/images/note.png | Bin 0 -> 4567 bytes examples/export/styles/darksun/images/tip.png | Bin 0 -> 4447 bytes .../styles/darksun/images/unchecked.png | Bin 0 -> 3087 bytes .../export/styles/darksun/images/warning.png | Bin 0 -> 4340 bytes examples/export/styles/darksun/js/darksun.js | 524 ++++++++++++ examples/export/styles/darksun/js/hideshow.js | 335 ++++++++ .../styles/darksun/js/jquery-1.11.0.min.js | 4 + .../styles/darksun/js/jquery-1.9.1.min.js | 5 + .../styles/darksun/js/jquery-ui-1.10.2.min.js | 12 + .../darksun/js/jquery.localscroll-min.js | 9 + .../darksun/js/jquery.scrollTo-1.4.3.1-min.js | 7 + .../styles/darksun/js/jquery.zclip.min.js | 12 + .../lib/js/jquery.stickytableheaders.min.js | 1 + .../lib/js/stickytableheaders-license.txt | 20 + 25 files changed, 2257 insertions(+), 2 deletions(-) create mode 100644 examples/defpred.html create mode 100644 examples/export/setup/theme-darksun-local.setup create mode 100644 examples/export/setup/theme-darksun.setup create mode 100644 examples/export/styles/darksun/css/darksun.css create mode 100644 examples/export/styles/darksun/css/hideshow.css create mode 100644 examples/export/styles/darksun/css/htmlize.css create mode 100644 examples/export/styles/darksun/images/checked.png create mode 100644 examples/export/styles/darksun/images/fixme.png create mode 100644 examples/export/styles/darksun/images/halfchecked.png create mode 100644 examples/export/styles/darksun/images/info.png create mode 100644 examples/export/styles/darksun/images/note.png create mode 100644 examples/export/styles/darksun/images/tip.png create mode 100644 examples/export/styles/darksun/images/unchecked.png create mode 100644 examples/export/styles/darksun/images/warning.png create mode 100644 examples/export/styles/darksun/js/darksun.js create mode 100644 examples/export/styles/darksun/js/hideshow.js create mode 100644 examples/export/styles/darksun/js/jquery-1.11.0.min.js create mode 100644 examples/export/styles/darksun/js/jquery-1.9.1.min.js create mode 100644 examples/export/styles/darksun/js/jquery-ui-1.10.2.min.js create mode 100644 examples/export/styles/darksun/js/jquery.localscroll-min.js create mode 100644 examples/export/styles/darksun/js/jquery.scrollTo-1.4.3.1-min.js create mode 100644 examples/export/styles/darksun/js/jquery.zclip.min.js create mode 100644 examples/export/styles/lib/js/jquery.stickytableheaders.min.js create mode 100644 examples/export/styles/lib/js/stickytableheaders-license.txt diff --git a/examples/defpred.html b/examples/defpred.html new file mode 100644 index 0000000..9c9b57e --- /dev/null +++ b/examples/defpred.html @@ -0,0 +1,766 @@ + + + + + + + +Org QL Custom Predicates Tutorial + + + + + + + + + + + + + +

    +

    Org QL Custom Predicates Tutorial

    + +

    +[2020-11-22 Sun 22:35] Imagine you have weekly meetings with other people, and during the week you take notes about items to discuss at each meeting. When the time for a meeting comes, you want to quickly and easily search for all of the items to discuss at the meeting. +

    + +

    +You've been experimenting with different ways to track such data in Org. You've tried using tags, but some of the names in question conflict with other tags in your data (e.g. someone's named Charles, but you also work with a firm named Charles, Inc., and you'd prefer to continue using the tag Charles for entries about that firm), so you've been using tags like :personNAME:, which seems awkward. You've tried using a :person: NAME property on entries, which has the advantage of not cluttering the tags list, but also the disadvantage of not being readily visible in an outline. +

    + +

    +So you haven't decided on a long-term solution, but the meetings aren't going to wait–you need to search that data now, and you have a mix of both tags and properties in your entries. What you need is to be able to search for all of the entries about Alice (which you've tagged :personAlice:) when you're meeting with her, and all of the entries about Bob (which have the property :person: Bob) when you're meeting with him. What do you do? +

    + +
    +

    Using built-in predicates

    +
    +

    +You could start by using built-in Org QL predicates to search your data. For example: +

    + +
    +
    (org-ql-query :select '(org-get-heading :no-tags)
    +              :from (current-buffer)
    +              :where '(or (tags "personAlice")
    +                          (property "person" "Bob")))
    +
    +
    + +
      +
    • [#A] Loud pet parakeet
    • +
    • [#C] Missing sticky notes
    • +
    • [#C] Dirty dishes in sink
    • +
    • [#A] Stinky coffee breath
    • +
    + +

    +That was easy enough, but it's not very…semantic. You have to think about the implementation details: Alice uses tags, Bob uses properties, and what if Charlie uses both? It starts to feel complicated, and it's a lot to type out every time. Is there an easier way? +

    +
    +
    + +
    +

    A custom (person) predicate

    +
    +

    +Enter org-ql custom search predicates. Let's start simple, by defining a predicate to search for just the :person: property, one person at a time. The predicate will take one argument, a person's name, and search for that property. It would look like this: +

    + +
    +
    (org-ql-defpred person (name)
    +  "Search for entries with the \"person\" property being NAME."
    +  :body (property "person" name))
    +
    +
    + +

    +Now, let's see what results we get for searching this file for entries about Bob: +

    + +
    +
    (org-ql-query :select '(org-get-heading :no-tags)
    +              :from (current-buffer)
    +              :where '(person "Bob"))
    +
    +
    + +
      +
    • [#C] Missing sticky notes
    • +
    • [#C] Dirty dishes in sink
    • +
    • [#A] Stinky coffee breath
    • +
    + +

    +Hmm, looks like we need to remind Bob to wash his mug and take some mints after lunch. Now what do we need to discuss with Alice? +

    + +
    +
    (org-ql-query :select '(org-get-heading :no-tags)
    +              :from (current-buffer)
    +              :where '(person "Alice"))
    +
    +
    + +
    +
    + +

    +Nothing? Oh, right, Alice's entries use the :personAlice: tag, so we'll also need to search those kind of entries. Let's make the predicate do that, too: +

    + +
    +
    (org-ql-defpred person (name)
    +  "Search for entries with the \"person\" property being NAME or having the tag \"personNAME\"."
    +  :body (or (property "person" name)
    +            (tags (concat "person" name))))
    +
    +
    + +

    +How about now? +

    + +
    +
    (org-ql-query :select '(org-get-heading :no-tags)
    +              :from (current-buffer)
    +              :where '(person "Alice"))
    +
    +
    + +
      +
    • [#A] Loud pet parakeet
    • +
    • [#C] Missing sticky notes
    • +
    • [#C] Dirty dishes in sink
    • +
    + +

    +Hmm, I thought we already told her to leave Polly at home. +

    +
    +
    + +
    +

    Searching for multiple people at once

    +
    +

    +Oh, wait, this week is shortened due to holidays, so we're having a combined meeting. How do we search for entries about either of them? Well, this is the obvious solution: +

    + +
    +
    (org-ql-query :select '(org-get-heading :no-tags)
    +              :from (current-buffer)
    +              :where '(or (person "Alice")
    +                          (person "Bob")))
    +
    +
    + +
      +
    • [#A] Loud pet parakeet
    • +
    • [#C] Missing sticky notes
    • +
    • [#C] Dirty dishes in sink
    • +
    • [#A] Stinky coffee breath
    • +
    + +

    +And that works fine. But it seems like a lot to type. Could we make the person predicate accept multiple names instead? +

    + +
    +
    (org-ql-defpred person (&rest names)
    +  "Search for entries about any of NAMES."
    +  :body (cl-loop for name in names
    +                 thereis (or (property "person" name)
    +                             (tags (concat "person" name)))))
    +
    +
    + +

    +Now let's search again: +

    + +
    +
    (org-ql-query :select '(org-get-heading :no-tags)
    +              :from (current-buffer)
    +              :where '(person "Alice" "Bob"))
    +
    +
    + +
      +
    • [#A] Loud pet parakeet
    • +
    • [#C] Missing sticky notes
    • +
    • [#C] Dirty dishes in sink
    • +
    • [#A] Stinky coffee breath
    • +
    + +

    +That was easy! +

    +
    +
    + +
    +

    Normalizing queries to rewrite arguments

    +
    +

    +Now, all this is well and good if you don't have hundreds of thousands of Org entries in your files. But what if you do? All that concat'ing happening on every entry could add up, and the query might take a few seconds. What if we could do that stringing-along just once, before running the query? We want to turn our (person "Alice" "Bob") query into this, with the :personNAME: strings already made and the per-person (property ...) predicates also included: +

    + +
    +
    (or (tags "personAlice" "personBob")
    +    (property "person" "Alice")
    +    (property "person" "Bob"))
    +
    +
    + +

    +Can we do that? In fact, we can, by using a query normalizer. Normalizers are pcase forms (I know) that normalize query expressions before execution. We can use one to rewrite the query ahead of time, like this: +

    + +
    +
    (org-ql-defpred person (&rest names)
    +  "Search for entries about any of NAMES."
    +  :normalizers ((`(person . ,names)
    +                 `(or (tags ,@(cl-loop for name in names
    +                                       collect (concat "person" name)))
    +                      ,@(cl-loop for name in names
    +                                 collect `(property "person" ,name)))))
    +  :body (cl-loop for name in names
    +                 thereis (or (property "person" name)
    +                             (tags name))))
    +
    +
    + +

    +Now, don't faint from all the backquoting and unquoting–it's just Lisp, nothing to be afraid of! Let's slow down a moment and see what the normalized query looks like to be sure we're doing it correctly: +

    + +
    +
    (org-ql--normalize-query '(person "Alice" "Bob"))
    +
    +
    + +
    +
    (or (tags "personAlice" "personBob")
    +    (property "person" "Alice")
    +    (property "person" "Bob"))
    +
    +
    + +

    +And, as they say, Bob's your uncle! Or even if he isn't, let's see if it works: +

    + +
    +
    (org-ql-query :select '(org-get-heading :no-tags)
    +              :from (current-buffer)
    +              :where '(person "Alice" "Bob"))
    +
    +
    + +
      +
    • [#A] Loud pet parakeet
    • +
    • [#C] Missing sticky notes
    • +
    • [#C] Dirty dishes in sink
    • +
    • [#A] Stinky coffee breath
    • +
    + +

    +Yep, same result as the non-normalized query. And look at how much simpler it is to write (person "Alice" "Bob") than to write (or (tags "personAlice" "personBob") (property "person" "Alice") (property "person" "Bob")). +

    +
    +
    + +
    +

    Non-sexp query syntax

    +
    +

    +But wait, that's not all! If you order now, we'll throw in non-sexp query syntax for free! That's right, your search could be as simple as typing person:Alice,Bob! +

    + +
    +
    (org-ql-search (current-buffer) "person:Alice,Bob")
    +
    +
    + +

    +Don't believe me? Well, you see, queries in this syntax are converted to the sexp syntax, like: +

    + +
    +
    (org-ql--query-string-to-sexp "person:Alice,Bob")
    +
    +
    + +
    +
    (person "Alice" "Bob")
    +
    +
    + +

    +And that happens automatically when you use a search command like org-ql-search. If you have org-ql installed already, you could even click this link: Alice or Bob. Which, in Org syntax, looks like: +

    + + + +

    +And that would open an Agenda Mode buffer that looks like this: +

    + +
    +Query: (person "Alice" "Bob")  In:meetings.org
    +  [#A] Loud pet parakeet                                           :personAlice:
    +  [#C] Missing sticky notes                                        :personAlice:
    +  [#C] Dirty dishes in sink                                        :personAlice:
    +  [#A] Stinky coffee breath
    +
    +
    +
    + +
    +

    Using multiple predicates

    +
    +

    +Oops, you forgot that there's a birthday party in 20 minutes, so you only have time to talk about the highest priority items at this joint meeting today. +

    + +

    +No problem, let's just select high-priority items: +

    + +
    +
    (org-ql-search (current-buffer) "person:Alice,Bob priority:A")
    +
    +
    + +

    +Which shows: +

    + +
    +Query: (and (person "Alice" "Bob") (priority "A"))  In:meetings.org
    +  [#A] Loud pet parakeet                                           :personAlice:
    +  [#A] Stinky coffee breath
    +
    +
    +
    + +
    +

    Predicate aliases

    +
    +

    +And, you know what, if you're just so busy that you don't even have time to type the word person, you can add an abbreviated alias, p, like this: +

    + +
    +
    (org-ql-defpred (person p) (&rest names)
    +  "Search for entries about any of NAMES."
    +  :normalizers ((`(,predicate-names . ,names)
    +                 `(or (tags ,@(cl-loop for name in names
    +                                       collect (concat "person" name)))
    +                      ,@(cl-loop for name in names
    +                                 collect `(property "person" ,name)))))
    +  :body (cl-loop for name in names
    +                 thereis (or (property "person" name)
    +                             (tags (concat "person" name)))))
    +
    +
    + +

    +Let's try it: +

    + +
    +
    (org-ql-search (current-buffer) "p:Alice,Bob priority:A")
    +
    +
    + +

    +And that shows: +

    + +
    +Query: (and (person "Alice" "Bob") (priority "A"))  In:meetings.org
    +  [#A] Loud pet parakeet                                           :personAlice:
    +  [#A] Stinky coffee breath
    +
    + +

    +(It's up to you to remember whether p means person or priority, but code can't solve everything.) +

    +
    +
    + +
    +

    Be formless

    +
    +

    +We can even go a step further: since the normalizer rewrites the query to call the property and tags predicates instead, this person predicate doesn't even need a body form! +

    + +
    +
    (org-ql-defpred (person p) (&rest names)
    +  "Search for entries about any of NAMES."
    +  :normalizers ((`(,predicate-names . ,names)
    +                 `(or (tags ,@(cl-loop for name in names
    +                                       collect (concat "person" name)))
    +                      ,@(cl-loop for name in names
    +                                 collect `(property "person" ,name))))))
    +
    +
    + +

    +Will it still work? +

    + +
    +
    (org-ql-query :select '(org-get-heading :no-tags)
    +              :from (current-buffer)
    +              :where '(person "Alice" "Bob"))
    +
    +
    + +
      +
    • [#A] Loud pet parakeet
    • +
    • [#C] Missing sticky notes
    • +
    • [#C] Dirty dishes in sink
    • +
    • [#A] Stinky coffee breath
    • +
    + +

    +It does! +

    +
    +
    + +
    +

    Conclusion

    +
    +

    +In this tutorial, we've gone from having to write lengthy, complex query expressions for accommodating idiosyncratic requirements, to being able to write simple query expressions that abstract away ugly details, to rewriting those query expressions into a more optimal form before a search is even run. The end result is an Org Query Language that is customized to meet your specific needs. +

    + +

    +What new custom predicates will you write next? +

    +
    +
    + +
    +

    Appendix: Anaphoric macros

    +
    +

    +Finally, if you're a Lisper who appreciates anaphora, you might prefer a more syntactically concise definition of the predicate using Dash macros: +

    + +
    +
    (org-ql-defpred (person p) (&rest names)
    +  "Search for entries about any of NAMES."
    +  :normalizers ((`(,predicate-names . ,names)
    +                 `(or (tags ,@(--map `(concat "person" ,it) names))
    +                      ,@(--map `(property "person" ,it) names)))))
    +
    +
    + +

    +Let's make sure it works: +

    + +
    +
    (org-ql-query :select '(org-get-heading :no-tags)
    +              :from (current-buffer)
    +              :where '(person "Alice" "Bob"))
    +
    +
    + +
      +
    • [#A] Loud pet parakeet
    • +
    • [#C] Missing sticky notes
    • +
    • [#C] Dirty dishes in sink
    • +
    • [#A] Stinky coffee breath
    • +
    + +

    +Lisp is fun! +

    +
    +
    + +
    +

    Example data

    +
    +
    + +
    +

    Loud pet parakeet   personAlice

    +
    + +
    +

    Missing sticky notes   personAlice

    +
    +
    +
    + +
    +

    Dirty dishes in sink   personAlice

    +
    +
    +
    + +
    +

    Stinky coffee breath

    +
    +
    +
    +
    +
    +
    +

    Created: 2020-11-23 Mon 03:31

    +

    Validate

    +
    + + diff --git a/examples/defpred.org b/examples/defpred.org index 53dac32..4f19576 100644 --- a/examples/defpred.org +++ b/examples/defpred.org @@ -1,5 +1,6 @@ #+TITLE: Org QL Custom Predicates Tutorial -#+OPTIONS: author:nil creator:nil created:nil date:nil num:nil title:t +#+OPTIONS: author:nil creator:nil created:nil date:nil num:nil title:t broken-links:t +#+SETUPFILE: export/setup/theme-darksun-local.setup [2020-11-22 Sun 22:35] Imagine you have weekly meetings with other people, and during the week you take notes about items to discuss at each meeting. When the time for a meeting comes, you want to quickly and easily search for all of the items to discuss at the meeting. @@ -7,7 +8,7 @@ You've been experimenting with different ways to track such data in Org. You've So you haven't decided on a long-term solution, but the meetings aren't going to wait--you need to search that data now, and you have a mix of both tags and properties in your entries. What you need is to be able to search for all of the entries about Alice (which you've tagged ~:personAlice:~) when you're meeting with her, and all of the entries about Bob (which have the property ~:person: Bob~) when you're meeting with him. What do you do? -* Contents +* Contents :noexport: :PROPERTIES: :TOC: :include siblings :ignore this :END: @@ -130,6 +131,8 @@ And that works fine. But it seems like a lot to type. Could we make the =perso (tags (concat "person" name))))) #+END_SRC +Now let's search again: + #+BEGIN_SRC elisp :results list :exports both :cache yes (org-ql-query :select '(org-get-heading :no-tags) :from (current-buffer) @@ -243,6 +246,8 @@ No problem, let's just select high-priority items: (org-ql-search (current-buffer) "person:Alice,Bob priority:A") #+END_SRC +Which shows: + #+BEGIN_EXAMPLE Query: (and (person "Alice" "Bob") (priority "A")) In:meetings.org [#A] Loud pet parakeet :personAlice: @@ -266,10 +271,14 @@ And, you know what, if you're just so busy that you don't even have time to type (tags (concat "person" name))))) #+END_SRC +Let's try it: + #+BEGIN_SRC elisp :results silent :exports code (org-ql-search (current-buffer) "p:Alice,Bob priority:A") #+END_SRC +And that shows: + #+BEGIN_EXAMPLE Query: (and (person "Alice" "Bob") (priority "A")) In:meetings.org [#A] Loud pet parakeet :personAlice: diff --git a/examples/export/setup/theme-darksun-local.setup b/examples/export/setup/theme-darksun-local.setup new file mode 100644 index 0000000..1ae015b --- /dev/null +++ b/examples/export/setup/theme-darksun-local.setup @@ -0,0 +1,17 @@ +# -*- mode: org; -*- + +# The files that hide sections and display a navbar and ToC are commented out. + +# #+HTML_HEAD: +#+HTML_HEAD: +# #+HTML_HEAD: + +#+HTML_HEAD: +#+HTML_HEAD: + +#+HTML_HEAD: +#+HTML_HEAD: +#+HTML_HEAD: +#+HTML_HEAD: +# #+HTML_HEAD: +#+HTML_HEAD: diff --git a/examples/export/setup/theme-darksun.setup b/examples/export/setup/theme-darksun.setup new file mode 100644 index 0000000..a5abe0e --- /dev/null +++ b/examples/export/setup/theme-darksun.setup @@ -0,0 +1,15 @@ +# -*- mode: org; -*- + +#+HTML_HEAD: +#+HTML_HEAD: +#+HTML_HEAD: + +#+HTML_HEAD: +#+HTML_HEAD: + +#+HTML_HEAD: +#+HTML_HEAD: +#+HTML_HEAD: +#+HTML_HEAD: +#+HTML_HEAD: +#+HTML_HEAD: diff --git a/examples/export/styles/darksun/css/darksun.css b/examples/export/styles/darksun/css/darksun.css new file mode 100644 index 0000000..212fb9a --- /dev/null +++ b/examples/export/styles/darksun/css/darksun.css @@ -0,0 +1,264 @@ +* { + border-color: #657b83; +} +a { + color: #268bd2 !important; +} +a:visited { + color: #6c71c4 !important; +} +body { + background-color: #002b36 !important; + color: #839496 !important; + font-family: Libre Baskerville, serif; +} +html { + background-color: #002b36 !important; +} +input, +textarea { + background-color: #073642 !important; + color: #839496 !important; +} +blockquote, +code, +pre { + background-color: #073642 !important; + border: 1px solid #094352 !important; + border-radius: 2px; + box-shadow: none; + color: #839496 !important; +} +code { + font-size: 1.2em; +} +img { + margin: 0.5em; +} +.buttons { + background-color: #073642 !important; + color: #93a1a1 !important; + font-family: sans-serif; + font-size: 1.5rem; +} +.hsReviewPanel { + display: none; +} +.title { + border: 0; +} +#postamble { + display: none; +} +#banner { + text-align: center; +} +#tabs { + background-color: #073642 !important; + float: left; + margin: 0px 0px 20px 0px; + padding: 0; + width: 100%; + font-family: sans-serif; +} +#tabs ul { + margin: 0; + padding: 0; +} +#tabs li { + float: left; + list-style-type: none; + margin: 0px 2px 0px 0px; + padding: 0px 0px 0px 0px; + white-space: nowrap; +} +#tabs li a { + display: block; + font-size: 120%; + font-weight: bold; + margin: 0; + padding: 4px 10px 4px 10px; + text-decoration: none; +} +#tabs li a:hover { + color: #90c5eb !important; +} +#tabs li.ui-tabs-active a { + background-color: #094352 !important; + color: #59a9e1 !important; +} +#content { + clear: both; + width: 80%; +} +#content > p { + margin: 1em; +} +#content > div > h2 { + margin: 0.25rem; +} +#postamble { + text-align: right; +} +blockquote { + background-color: #073642 !important; + padding-left: 0.75em; + padding-right: 0.75em; + padding-top: 0.01em; + padding-bottom: 0.01em; + overflow: hidden; + margin-left: 0; +} +.outline-text-2, +.outline-text-3, +.outline-text-4, +.outline-text-5, +.outline-text-6 { + padding-left: 4%; +} +.outline-3 { + padding-left: 4%; +} +.outline-4 { + padding-left: 4%; +} +.outline-5 { + padding-left: 4%; +} +.outline-6 { + padding-left: 4%; +} +h1, +h2, +h3, +h4, +h5, +h6 { + font-family: sans-serif; + border-bottom: 2px solid; + border-color: #094352 !important; +} +a:hover { + text-decoration: underline; +} +#search { + display: block; + float: right; +} +.tag { + background-color: #002b36 !important; + color: #93a1a1 !important; + border: 0px; +} +.tag span { + background-color: #094352 !important; + margin: 0.25em; + padding: 0.25em; +} +#table-of-contents { + display: table; + float: right; +} +#table-of-contents h2 { + display: none; +} +#table-of-contents li { + list-style-type: none; +} +#table-of-contents a:hover { + text-decoration: underline; +} +#minitoc { + background-color: #073642 !important; + position: fixed; + top: 0px; + right: -5px; + padding: 0.5em; + z-index: 200; + width: 18%; + word-wrap: normal; + overflow: hidden; +} +#minitoc ul { + margin: 0.5em; + padding-left: 1em; +} +#minitoc h2 { + margin-top: 0; + margin-bottom: 0; + font-size: 110%; +} +#minitoc a { + display: block; + font-family: sans-serif; + text-decoration: none; +} +#minitoc a:hover { + text-decoration: underline; +} +/* #minitoc a { */ +/* display: none; */ +/* } */ +#minitoc:hover a { + display: block; +} +#toTop { + top: -100px; + position: fixed; + text-align: center; + z-index: 999; + display: none; +} +#toTop:hover { + text-decoration: underline; +} +#left-panel-wrapper { + display: none; + position: fixed; + z-index: 200; +} +#left-panel-contents { + display: none; + position: fixed; + text-align: left; + top: 0; + z-index: 200; +} +#left-panel-button { + transform: rotate(90deg); + left: -23px; + position: fixed; + top: 50%; + z-index: 200; +} +#right-panel-wrapper { + position: fixed; + z-index: 200; +} +#right-panel-contents { + display: none; + z-index: 200; + position: fixed; + text-align: left; + top: 0; +} +.snippet-copy-to-clipboard { + display: none; + position: absolute; + left: 50px; + top: 50px; +} +.org-ol > li, +.org-dl > dt { + margin-top: 0.5em; +} +.org-ul { + margin-top: 1em; + margin-bottom: 1em; +} +.org-ul li { + margin-top: 0.5em; +} +.org-ul > li > a { + font-family: sans-serif; +} diff --git a/examples/export/styles/darksun/css/hideshow.css b/examples/export/styles/darksun/css/hideshow.css new file mode 100644 index 0000000..4ded9b5 --- /dev/null +++ b/examples/export/styles/darksun/css/hideshow.css @@ -0,0 +1,110 @@ +/* hideshow.css --- HideShow CSS file */ + +/* Copyright (C) 2014 All Right Reserved, Fabrice Niessen */ + +/* This file is free software: you can redistribute it and/or */ +/* modify it under the terms of the GNU General Public License as */ +/* published by the Free Software Foundation, either version 3 of */ +/* the License, or (at your option) any later version. */ + +/* This file is distributed in the hope that it will be useful, */ +/* but WITHOUT ANY WARRANTY; without even the implied warranty of */ +/* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the */ +/* GNU General Public License for more details. */ + +/* Author: Fabrice Niessen <(concat "fniessen" at-sign "pirilampo.org")> */ +/* URL: https://github.com/fniessen/hide-show/ */ +/* Version: 20140912.1722 */ + +.hsExpanded.hsAnchor {background: #EE7700;} + +.buttons { + padding: 0px 7px 13px 0px; + background: #0A3F69; +} + +.hsButton { + color: white; + float: right; + font-size: 70%; + margin-left: 10px; +} + + .hsButton:hover { + text-decoration: underline; + cursor: pointer; + } + +.ellipsis { + color: #999999; + /* background-color: #FFF8C0; */ + /* float: right; */ + margin-left: 0.6em; +} + +.hsReview { + border: 1px solid #A4A4A4; + background-color: white; + z-index: 500; /* must be greater then z-index of hsOverlay */ + position: relative; /* required for z-index to work */ +} + +#hsOverlay { + width: 100%; + height: 100%; + position: fixed; + left: 0px; + top: 0px; + background-color: #000; + opacity: .70; + z-index: 250; /* must be greater than any other z-index (except the one for .hsReview */ +} + +.hsReviewPanel { + background-color: #757176; + color: white; + line-height: 1.1em; + margin: 10px 0px; + padding: 10px; + position: fixed; + width: auto; + bottom: 0px; + right: 0px; + z-index: 501; + text-align: center; +} + + .hsReviewPanel.hsReviewing { + display: none; + } + + .hsReviewPanel:hover { + cursor: pointer; + } + +.hsReviewingPanel { + background-color: white; + color: #757176; + line-height: 1.1em; + margin: 10px 0px; + padding: 10px; + position: fixed; + width: auto; + bottom: 0px; + right: 0px; + z-index: 501; + text-align: center; +} + +.hsReviewButton:hover { + cursor: pointer; +} + +.hsUnselectable { + -webkit-touch-callout: none; + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} diff --git a/examples/export/styles/darksun/css/htmlize.css b/examples/export/styles/darksun/css/htmlize.css new file mode 100644 index 0000000..f08e781 --- /dev/null +++ b/examples/export/styles/darksun/css/htmlize.css @@ -0,0 +1,145 @@ +.org-bold { /* bold */ font-weight: bold; } +.org-bold-italic { /* bold-italic */ font-weight: bold; font-style: italic; } +.org-buffer-menu-buffer { /* buffer-menu-buffer */ font-weight: bold; } +.org-builtin { /* font-lock-builtin-face */ color: #7a378b; } +.org-button { /* button */ text-decoration: underline; } +.org-calendar-today { /* calendar-today */ text-decoration: underline; } +.org-change-log-acknowledgement { /* change-log-acknowledgement */ color: #b22222; } +.org-change-log-conditionals { /* change-log-conditionals */ color: #a0522d; } +.org-change-log-date { /* change-log-date */ color: #8b2252; } +.org-change-log-email { /* change-log-email */ color: #a0522d; } +.org-change-log-file { /* change-log-file */ color: #0000ff; } +.org-change-log-function { /* change-log-function */ color: #a0522d; } +.org-change-log-list { /* change-log-list */ color: #a020f0; } +.org-change-log-name { /* change-log-name */ color: #008b8b; } +.org-comint-highlight-input { /* comint-highlight-input */ font-weight: bold; } +.org-comint-highlight-prompt { /* comint-highlight-prompt */ color: #00008b; } +.org-comment { /* font-lock-comment-face */ color: #b22222; } +.org-comment-delimiter { /* font-lock-comment-delimiter-face */ color: #b22222; } +.org-completions-annotations { /* completions-annotations */ font-style: italic; } +.org-completions-common-part { /* completions-common-part */ color: #000000; background-color: #ffffff; } +.org-completions-first-difference { /* completions-first-difference */ font-weight: bold; } +.org-constant { /* font-lock-constant-face */ color: #008b8b; } +.org-diary { /* diary */ color: #ff0000; } +.org-diff-context { /* diff-context */ color: #7f7f7f; } +.org-diff-file-header { /* diff-file-header */ background-color: #b3b3b3; font-weight: bold; } +.org-diff-function { /* diff-function */ background-color: #cccccc; } +.org-diff-header { /* diff-header */ background-color: #cccccc; } +.org-diff-hunk-header { /* diff-hunk-header */ background-color: #cccccc; } +.org-diff-index { /* diff-index */ background-color: #b3b3b3; font-weight: bold; } +.org-diff-nonexistent { /* diff-nonexistent */ background-color: #b3b3b3; font-weight: bold; } +.org-diff-refine-change { /* diff-refine-change */ background-color: #d9d9d9; } +.org-dired-directory { /* dired-directory */ color: #0000ff; } +.org-dired-flagged { /* dired-flagged */ color: #ff0000; font-weight: bold; } +.org-dired-header { /* dired-header */ color: #228b22; } +.org-dired-ignored { /* dired-ignored */ color: #7f7f7f; } +.org-dired-mark { /* dired-mark */ color: #008b8b; } +.org-dired-marked { /* dired-marked */ color: #ff0000; font-weight: bold; } +.org-dired-perm-write { /* dired-perm-write */ color: #b22222; } +.org-dired-symlink { /* dired-symlink */ color: #a020f0; } +.org-dired-warning { /* dired-warning */ color: #ff0000; font-weight: bold; } +.org-doc { /* font-lock-doc-face */ color: #8b2252; } +.org-escape-glyph { /* escape-glyph */ color: #a52a2a; } +.org-file-name-shadow { /* file-name-shadow */ color: #7f7f7f; } +.org-flyspell-duplicate { /* flyspell-duplicate */ color: #cdad00; font-weight: bold; text-decoration: underline; } +.org-flyspell-incorrect { /* flyspell-incorrect */ color: #ff4500; font-weight: bold; text-decoration: underline; } +.org-fringe { /* fringe */ background-color: #f2f2f2; } +.org-function-name { /* font-lock-function-name-face */ color: #0000ff; } +.org-header-line { /* header-line */ color: #333333; background-color: #e5e5e5; } +.org-help-argument-name { /* help-argument-name */ font-style: italic; } +.org-highlight { /* highlight */ background-color: #b4eeb4; } +.org-holiday { /* holiday */ background-color: #ffc0cb; } +.org-isearch { /* isearch */ color: #b0e2ff; background-color: #cd00cd; } +.org-isearch-fail { /* isearch-fail */ background-color: #ffc1c1; } +.org-italic { /* italic */ font-style: italic; } +.org-keyword { /* font-lock-keyword-face */ color: #a020f0; } +.org-lazy-highlight { /* lazy-highlight */ background-color: #afeeee; } +.org-link { /* link */ color: #0000ff; text-decoration: underline; } +.org-link-visited { /* link-visited */ color: #8b008b; text-decoration: underline; } +.org-log-edit-header { /* log-edit-header */ color: #a020f0; } +.org-log-edit-summary { /* log-edit-summary */ color: #0000ff; } +.org-log-edit-unknown-header { /* log-edit-unknown-header */ color: #b22222; } +.org-match { /* match */ background-color: #ffff00; } +.org-next-error { /* next-error */ background-color: #eedc82; } +.org-nobreak-space { /* nobreak-space */ color: #a52a2a; text-decoration: underline; } +.org-org-archived { /* org-archived */ color: #7f7f7f; } +.org-org-block { /* org-block */ color: #7f7f7f; } +.org-org-block-begin-line { /* org-block-begin-line */ color: #b22222; } +.org-org-block-end-line { /* org-block-end-line */ color: #b22222; } +.org-org-checkbox { /* org-checkbox */ font-weight: bold; } +.org-org-checkbox-statistics-done { /* org-checkbox-statistics-done */ color: #228b22; font-weight: bold; } +.org-org-checkbox-statistics-todo { /* org-checkbox-statistics-todo */ color: #ff0000; font-weight: bold; } +.org-org-clock-overlay { /* org-clock-overlay */ background-color: #ffff00; } +.org-org-code { /* org-code */ color: #7f7f7f; } +.org-org-column { /* org-column */ background-color: #e5e5e5; } +.org-org-column-title { /* org-column-title */ background-color: #e5e5e5; font-weight: bold; text-decoration: underline; } +.org-org-date { /* org-date */ color: #a020f0; text-decoration: underline; } +.org-org-document-info { /* org-document-info */ color: #191970; } +.org-org-document-info-keyword { /* org-document-info-keyword */ color: #7f7f7f; } +.org-org-document-title { /* org-document-title */ color: #191970; font-size: 144%; font-weight: bold; } +.org-org-done { /* org-done */ color: #228b22; font-weight: bold; } +.org-org-drawer { /* org-drawer */ color: #0000ff; } +.org-org-ellipsis { /* org-ellipsis */ color: #b8860b; text-decoration: underline; } +.org-org-footnote { /* org-footnote */ color: #a020f0; text-decoration: underline; } +.org-org-formula { /* org-formula */ color: #b22222; } +.org-org-headline-done { /* org-headline-done */ color: #bc8f8f; } +.org-org-hide { /* org-hide */ color: #ffffff; } +.org-org-latex-and-export-specials { /* org-latex-and-export-specials */ color: #8b4513; } +.org-org-level-1 { /* org-level-1 */ color: #0000ff; } +.org-org-level-2 { /* org-level-2 */ color: #a0522d; } +.org-org-level-3 { /* org-level-3 */ color: #a020f0; } +.org-org-level-4 { /* org-level-4 */ color: #b22222; } +.org-org-level-5 { /* org-level-5 */ color: #228b22; } +.org-org-level-6 { /* org-level-6 */ color: #008b8b; } +.org-org-level-7 { /* org-level-7 */ color: #7a378b; } +.org-org-level-8 { /* org-level-8 */ color: #8b2252; } +.org-org-link { /* org-link */ color: #0000ff; text-decoration: underline; } +.org-org-meta-line { /* org-meta-line */ color: #b22222; } +.org-org-mode-line-clock { /* org-mode-line-clock */ color: #000000; background-color: #bfbfbf; } +.org-org-mode-line-clock-overrun { /* org-mode-line-clock-overrun */ color: #000000; background-color: #ff0000; } +.org-org-quote { /* org-quote */ color: #7f7f7f; } +.org-org-scheduled { /* org-scheduled */ color: #006400; } +.org-org-scheduled-previously { /* org-scheduled-previously */ color: #b22222; } +.org-org-scheduled-today { /* org-scheduled-today */ color: #006400; } +.org-org-sexp-date { /* org-sexp-date */ color: #a020f0; } +.org-org-special-keyword { /* org-special-keyword */ color: #a020f0; } +.org-org-table { /* org-table */ color: #0000ff; } +.org-org-tag { /* org-tag */ font-weight: bold; } +.org-org-target { /* org-target */ text-decoration: underline; } +.org-org-time-grid { /* org-time-grid */ color: #b8860b; } +.org-org-todo { /* org-todo */ color: #ff0000; font-weight: bold; } +.org-org-upcoming-deadline { /* org-upcoming-deadline */ color: #b22222; } +.org-org-verbatim { /* org-verbatim */ color: #7f7f7f; } +.org-org-verse { /* org-verse */ color: #7f7f7f; } +.org-org-warning { /* org-warning */ color: #ff0000; font-weight: bold; } +.org-outline-1 { /* outline-1 */ color: #0000ff; } +.org-outline-2 { /* outline-2 */ color: #a0522d; } +.org-outline-3 { /* outline-3 */ color: #a020f0; } +.org-outline-4 { /* outline-4 */ color: #b22222; } +.org-outline-5 { /* outline-5 */ color: #228b22; } +.org-outline-6 { /* outline-6 */ color: #008b8b; } +.org-outline-7 { /* outline-7 */ color: #7a378b; } +.org-outline-8 { /* outline-8 */ color: #8b2252; } +.org-preprocessor { /* font-lock-preprocessor-face */ color: #7a378b; } +.org-query-replace { /* query-replace */ color: #b0e2ff; background-color: #cd00cd; } +.org-regexp-grouping-backslash { /* font-lock-regexp-grouping-backslash */ font-weight: bold; } +.org-regexp-grouping-construct { /* font-lock-regexp-grouping-construct */ font-weight: bold; } +.org-region { /* region */ background-color: #eedc82; } +.org-secondary-selection { /* secondary-selection */ background-color: #ffff00; } +.org-shadow { /* shadow */ color: #7f7f7f; } +.org-show-paren-match { /* show-paren-match */ background-color: #40e0d0; } +.org-show-paren-mismatch { /* show-paren-mismatch */ color: #ffffff; background-color: #a020f0; } +.org-string { /* font-lock-string-face */ color: #8b2252; } +.org-tool-bar { /* tool-bar */ color: #000000; background-color: #bfbfbf; } +.org-tooltip { /* tooltip */ color: #000000; background-color: #ffffe0; } +.org-trailing-whitespace { /* trailing-whitespace */ background-color: #ff0000; } +.org-type { /* font-lock-type-face */ color: #228b22; } +.org-underline { /* underline */ text-decoration: underline; } +.org-variable-name { /* font-lock-variable-name-face */ color: #a0522d; } +.org-warning { /* font-lock-warning-face */ color: #ff0000; font-weight: bold; } +.org-widget-button { /* widget-button */ font-weight: bold; } +.org-widget-button-pressed { /* widget-button-pressed */ color: #ff0000; } +.org-widget-documentation { /* widget-documentation */ color: #006400; } +.org-widget-field { /* widget-field */ background-color: #d9d9d9; } +.org-widget-inactive { /* widget-inactive */ color: #7f7f7f; } +.org-widget-single-line-field { /* widget-single-line-field */ background-color: #d9d9d9; } diff --git a/examples/export/styles/darksun/images/checked.png b/examples/export/styles/darksun/images/checked.png new file mode 100644 index 0000000000000000000000000000000000000000..ebdc03bdaba59b81824d0b0f2ac115762310d2dc GIT binary patch literal 3136 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 -^9N* zU7@RT1Wj2P7#J9nyxm>oS$PHaGB7Z37I;J!Gca%qgD@k*tT_@43=DmqE{-7*ms9(1 z3pFe7xG+!Ly*6U)rKlhO&zrEw$nWAmGlz9jEW@M;GmO0$eVZ>Gvr6v`W8VCI;a!&Z zs~7*s$=|!^zg3Kl-Mpv<6LJ5IXY@HU^7T%4O}P6*&N_d$_XPXm&fs(f=IcwR{K(}I z%Y3nK>Z(%-DY2*diWh7(m9RV`)3aE9|Kq-Y;p?vYue@&0=)ILwxKZ%%R0akH)e_f; zl9a@fRIB8o)Wnih1|tJQBV7YST|?s#BO@y#GbIKU^w z_5c6>uCA`9P9FRBZOZ>oDgWM@Gcz+h-pHt~#Q6UO`-&+{|E@B)STOWgF{DK@w6wJR z|NlSrVR!}u0|R48kY6x^!?PP{AWo9Ey9+}HtE>kD1EZs-i(`nz>9tc{PCKl?(b_B; zbK=v#{M+0aeKU>i)2gbZg;_pzdT-8E`_;8gbI}*BgTH@;%v8Tr_;YIUGTp#B50(F+ zXJRrwtvQ}!V;vfrT+a zv&M`wHq6r&aGNN5Oi@*)z4ZHGqf?zu{;k`?j+?r6mVB0(ap^1b4ZkZ_p33m;*m7Oa z!r;P7hlHyl4#yAsiMvQ-tXasm(`%#o6+J^2Tbl&VvS8PW6Af_*AKsYEyuIm`!K|dZ z8IctNE5v%m4zGImn<<4^%QAnLZMKxEmJA>3{}~RoD;&0IzmeYaX`aKHg=PAN4ZGGi z?mhRXX}-L)e!=9{?+i)P4Q~gZ;@#u@J@#FBod|~#AIs8g*19E&QvZGD*m@~{&o}wF z${M+S-?mmV|9&Jl!B@raBm)D3YKdz^NlIc#s#S7PYGO$$gOP!uiLQa6u90Pkp{bRD zv6ZR0wt=CQfx)tgIq4`Ga`RI%(<)Ikm{^&ZSs55YG?dTkJI27kz~JfX=d#Wzp$PyX C+w#5u literal 0 HcmV?d00001 diff --git a/examples/export/styles/darksun/images/halfchecked.png b/examples/export/styles/darksun/images/halfchecked.png new file mode 100644 index 0000000000000000000000000000000000000000..afd695e4145e06f388b207903aa87c474f47e957 GIT binary patch literal 3080 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�PV*|l=S%D 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 HDWM4fo4`&G literal 0 HcmV?d00001 diff --git a/examples/export/styles/darksun/images/note.png b/examples/export/styles/darksun/images/note.png new file mode 100644 index 0000000000000000000000000000000000000000..1c6b8eb0fb39720842be86b0343adfdcbf929982 GIT binary patch literal 4567 zcmeAS@N?(olHy`uVBq!ia0y~yU{C;I4mJh`hT^KKFANL}oCO|{#S9GG!XV7ZFl&wk z0|S?Trn7TEKt_H^esM;Afr6*AvqC{pep+TuDg#5st+~PJA;B-jY`@?8;^f`YFvUAR zNR&e%$f>(QWTKjuBBy{?hvLGUqJakmU0qqEPb}zQ?(1vl5e?Mg>EgP<{zP$6U-ROQ zu2a7sRxi%Jw&(k^v;VeUw|lQz`~GlIyvbvLx3(rf_nY4%M1;3f6T0AWQd-kD9X5C zB7=f(YKIF$hBd>Q^I=`C3=swlB5B@7EE#U-G8lMT#JFBV&*2Bohp{DjnN#sh3w(sdU6`)JjJy| z%o3RrXF2E{s+=il)M�PV*|l=S%D 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 literal 0 HcmV?d00001 diff --git a/examples/export/styles/darksun/images/tip.png b/examples/export/styles/darksun/images/tip.png new file mode 100644 index 0000000000000000000000000000000000000000..743ef89c3a48cb65d51f0efb7305be9f2beba401 GIT binary patch literal 4447 zcmeAS@N?(olHy`uVBq!ia0y~yU{C;I4mJh`hT^KKFANL}oCO|{#S9GG!XV7ZFl&wk z0|S?Trn7TEKt_H^esM;Afr6*AvqC{pep+TuDg#5st+~PJA;B-jY`@?8;^f`YFvUAR zNR&e%$f>(QWTKjuBBy{?hvLGUqJakmU0qqEPb}zQ?(1vl5e?Mg>EgP<{zP$6U-ROQ zu2a7sRxi%Jw&(k^v;VeUw|lQz`~GlIyvbvLx3(rf_nY4%M1;3f6T0AWQd-kD9X5C zB7=f(YKIF$hBd>Q^I=`C3=swlB5B@7EE#U-G8lMT#JFBV&*2Bohp{DjnN#sh3w(sdU6`)JjJy| z%o3RrXF2E{s+=il)M�PV*|l=S%D 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�PV*|l=S%D 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 u&mTHenjp4=ImNr`%Bt|qzdirUGc=^M&R_i6;(@ literal 0 HcmV?d00001 diff --git a/examples/export/styles/darksun/js/darksun.js b/examples/export/styles/darksun/js/darksun.js new file mode 100644 index 0000000..99ce23f --- /dev/null +++ b/examples/export/styles/darksun/js/darksun.js @@ -0,0 +1,524 @@ +// darksun.js --- darksun JS file +// +// Copyright (C) 2011-2016 All Right Reserved, Fabrice Niessen +// +// This file is free software: you can redistribute it and/or +// modify it under the terms of the GNU General Public License as +// published by the Free Software Foundation, either version 3 of +// the License, or (at your option) any later version. +// +// This file is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// Author: Fabrice Niessen <(concat "fniessen" at-sign "pirilampo.org")> +// URL: https://github.com/fniessen/org-html-themes/ +// Version: 20140515.1841 + +$(function() { + $('p'). + html(function(index, old) { + return old.replace('FIXME', + 'FIXME'); + }); + $('p'). + html(function(index, old) { + return old.replace('XXX', + 'XXX'); + }); +}); + +// Remove leading section number +$(function() { + $('.section-number-2').text(""); + for (var i = 3; i <= 5; i++) { + $('.section-number-' + i).each(function() { + $(this).text($(this).text().replace(/^[0-9]+\./g, "")); + }); + } +}); + +$(function() { + $('
    ').prependTo('body'); +}); + +// generate contents of minitoc +function generateMiniToc(divId) { + $('#minitoc-content').empty().append('

    In this section

      '); + $('#' + divId).find('h3').each(function(i) { + // [2018-09-03 Mon 03:48] Get text up to non-breaking space, + // to omit the tags. If there are no tags, there will be no + //  , so get all the text. (This fixes a bug in the + // original code.) + let text = null; + let pos = $(this).text().search(/ | ►/); + if (pos > 0) { + text = $(this).text().substring(0, pos); + } + else { + text = $(this).text(); + } + $("#minitoc-content>ul").append("
    • " + + text + "
    • "); + }); + // Ensure that the target is expanded (hideShow) + $('#minitoc-content a[href^="#"]').click(function() { + var href = $(this).attr('href'); + hsExpandAnchor(href); + }); +} + +// display tabs +function tabifySections() { + + // hide TOC (if present) + $('#table-of-contents').hide(); + + // grab the list of `h2' from the page + var allSections = []; + $('h2') + .each(function() { + // Remove TODO keywords and tags (contained in spans) + var tabText = $(this).clone().find('span').remove().end() + .text().trim(); + var tabId = $(this).parent().attr('id'); + if (tabText) { + // - remove heading number (all leading digits) + // - remove progress logging (between square brackets) + // - remove leading and trailing spaces + tabText = tabText.replace(/^\d+\s+/, '').replace(/\[[\d/%]+\]/, '').trim(); + + allSections.push({ + text: tabText, + id: tabId + }); + } + }); + + // create the tab links + var tabs = $('
        '); + for (i = 0; i < allSections.length; i++) { + var item = allSections[i]; + html = $('
      • ' + item.text + '
      • '); + tabs.append(html); + } + + // insert tabs menu after title (`h1'), or at the beginning of the content + if($('.title').length !== 0) { + $('.title').after(tabs); + } + else { + $('#content').prepend(tabs); + } +} + +function selectTabAndScroll(href) { + // At this point we assume that href is local (starts with #) + // alert(href); + + // Find the tab to activate + var targetTab = $(href).closest('.ui-tabs-panel'); + var targetTabId = targetTab.attr('id'); + var targetTabAriaLabel = targetTab.attr('aria-labelledby'); + + var targetTabIndex = $("#content ul li") + .index($('[aria-labelledby="' + targetTabAriaLabel + '"]')); + + // Activate target tab + $('#content').tabs('option', 'active', targetTabIndex); + + // Rebuild minitoc + generateMiniToc(targetTabId); + + // Set the location hash + // document.location.hash = href; + + // Scroll to top if href was a tab + if (href == '#' + targetTabId) { + // alert(targetTabId); + $.scrollTo(0); + } + // Scroll to href if href was not a tab + else { + $.scrollTo(href); + } +} + +$(document).ready(function() { + $('#preamble').remove(); + $('#table-of-contents').remove(); + + // Initialize hideShow + hsInit(); + + // Prepare for tabs + tabifySections(); + + // Build the tabs from the #content div + $('#content').tabs(); + + // Set default animation + $('#content').tabs('option', 'show', true); + + // Rebuild minitoc when a tab is activated + $('#content').tabs({ + activate: function(event, ui) { + var divId = ui.newTab.attr('aria-controls'); + generateMiniToc(divId); + } + }); + + // Required to get the link of the tab in URL + $('#content ul').localScroll({ + target: '#content', + duration: 0, + hash: true + }); + + // Handle hash in URL + if ($('#content') && document.location.hash) { + hsExpandAnchor(document.location.hash); + selectTabAndScroll(document.location.hash); + } + // If no hash, build the minitoc anyway for selected tab + else { + var divId = $('#content div[aria-expanded=true]').attr('id'); + generateMiniToc(divId); + } + + // Handle click on internal links + $('.ui-tabs-panel a[href^="#"]').click(function(e) { + var href = $(this).attr('href'); + hsExpandAnchor(href); + selectTabAndScroll(href); + e.preventDefault(); + }); + + // add sticky headers to tables + $('table').stickyTableHeaders(); +}); + +function copyToClipboard(text) +{ + if (window.clipboardData && window.clipboardData.setData) { // Internet Explorer + window.clipboardData.setData("Text", text); + } + else { // Fallback solution + window.prompt("Copy to clipboard: Ctrl+C, Enter", text); + } +} + +$(document).ready(function() { + // Assuming that the ZeroClipboard swf file is in the same folder than darksun, + // get the path to it (it will be relative to the current page location). + var bbScriptPath = $('script[src$="darksun.js"]').attr('src'); // the js file path + var bbPathToZeroClipboardSwf = bbScriptPath.replace('darksun.js', 'ZeroClipboard.swf'); + + // Add copy to clipboard snippets + $('.org-src-container').prepend('
        [copy]
        '); + + // Display/hide snippets on source block mouseenter/mouseleave + $(document).on('mouseenter', '.org-src-container', function () { + $(this).find('.snippet-copy-to-clipboard').show(); + + // Need to call zclip here, once the button is visible. + // Beacause when the button is not visible, zclip does nothing. + if ((window.location.protocol != 'file:') && ($(this).find('.zclip').length == 0)) { + $(this).find('.copy-to-clipboard-button').zclip({ + //path: 'http://www.steamdev.com/zclip/js/ZeroClipboard.swf', + //path: 'styles/darksun/js/ZeroClipboard.swf', + path: bbPathToZeroClipboardSwf, + copy: function() { + return $(this).parent().parent().find('.src').text(); + } + }); + } + }).on('mouseleave', '.org-src-container', function () { + $(this).find('.snippet-copy-to-clipboard').hide(); + }); + + // Handle copy to clipboard (here, for a local file only 'file://...' + if (window.location.protocol == 'file:') { // if local file use browser-specific code + $('.copy-to-clipboard-button').click(function() { + // Get the text to be copied + var text = $(this).parent().parent().find('.src').text(); + text = text.replace(/\n/g, "\r\n"); + // alert(text); + copyToClipboard(text); + }); + } +}); + +$(function() { + $('li > code :contains("[X]")') + .parent() + .addClass('checked') + .end() + .remove(); + $('li > code :contains("[-]")') + .parent() + .addClass('halfchecked') + .end() + .remove(); + $('li > code :contains("[ ]")') + .parent() + .addClass('unchecked') + .end() + .remove(); +}); + +$(function() { + $('i :contains("[#A]")') + .replaceWith('[#A]'); + $('i :contains("[#B]")') + .replaceWith('[#B]'); + $('i :contains("[#C]")') + .replaceWith('[#C]'); +}); + +function togglePanel(e) { + e.preventDefault(); + + $("#left-panel-contents").toggleClass('active').toggle(200); + $("#right-panel-contents").toggleClass('active').toggle(200); + + var slidePos = + $("#left-panel-button").css("left") == "-23px"? '182px': '-23px'; + + $("#left-panel-button"). + animate({"left": slidePos, "opacity": 0.9}, {duration: "200" }); + + // if ($("#left-panel-contents").hasClass('active')) { + // hsHideTodoKeyword('done'); + // } else { + // hsShowTodoKeyword('done'); + // } + + // return false; +} + +$(function() { + $('') + .appendTo('body'); + + $('
        ') + .appendTo('body'); + + $('#left-panel-button').click(togglePanel); +}); + +$(function() { + var ul = $('
          ').appendTo('#left-panel-contents'); + var countOfTodo = {}, listOfTodo = [], totalOfTodo = 0; + + // assign the counts (avoid double-counting elements from the ToC) + $('span.todo').not($('#table-of-contents span.todo')).each(function() { + var $thisTodo = $(this).text().trim(); + + if ($.inArray($thisTodo, listOfTodo) == -1) { + countOfTodo[$thisTodo] = 1; + listOfTodo.push($thisTodo); + } + else + countOfTodo[$thisTodo] += 1; + totalOfTodo += 1; + }); + + function scoreTodo(t) { + switch (t) { + case 'NEW': return 1; + case 'TODO': return 2; + case 'STRT': return 3; + case 'WAIT': return 4; + case 'DLGT': return 5; + case 'SDAY': return 6; + case 'DFRD': return 7; + case 'DONE': return 8; + case 'CANX': return 9; + default: return 0; + } + } + + function compareTodo(a, b) { + if (scoreTodo(a) < scoreTodo(b)) return -1; + if (scoreTodo(a) > scoreTodo(b)) return 1; + return 0; + } + + listOfTodo.sort(compareTodo); + + // display + for (i = 0; i < listOfTodo.length; i++) { + var $thisTodo = listOfTodo[i]; + $(ul).append('
        • '+ $thisTodo + '' + + ' (' + countOfTodo[$thisTodo] + ')
        • '); + } + + $('#listOfTodo') + .before('Next Actions (' + totalOfTodo + '):
          '); +}); + +$(function() { + var ul = $('
            ').appendTo('#left-panel-contents'); + var countOfDone = {}, listOfDone = [], totalOfDone = 0; + + // assign the counts (avoid double-counting elements from the ToC) + $('span.done').not($('#table-of-contents span.done')).each(function() { + var $thisDone = $(this).text().trim(); + + if ($.inArray($thisDone, listOfDone) == -1) { + countOfDone[$thisDone] = 1; + listOfDone.push($thisDone); + } + else + countOfDone[$thisDone] += 1; + totalOfDone += 1; + }); + + // display + for (i = 0; i < listOfDone.length; i++) { + var $thisDone = listOfDone[i]; + $(ul).append('
          • '+ $thisDone + '' + + ' (' + countOfDone[$thisDone] + ')
          • '); + } + + $('#listOfDone') + .before('Done Actions (' + totalOfDone + '):
            '); +}); + +$(function() { + var ul = $('
              ').appendTo('#right-panel-contents'); + var countOfTags = {}, listOfTags = [], totalOfTags = 0; + + // assign the counts (avoid double-counting elements from the ToC) + $('span.tag').not($('#table-of-contents span.tag')).each(function() { + var $thisTagGroup = $(this).text().trim().split(/\s/); + // \s matches spaces, tabs, new lines, etc. + + for (tag in $thisTagGroup) { + if ($.inArray($thisTagGroup[tag], listOfTags) == -1) { + countOfTags[$thisTagGroup[tag]] = 1; + listOfTags.push($thisTagGroup[tag]); + } + else + countOfTags[$thisTagGroup[tag]] += 1; + totalOfTags += 1; + } + }); + + listOfTags.sort(); + + // display + for (i = 0; i < listOfTags.length; i++) { + var $thisTag = listOfTags[i]; + // $(ul).append('
            • '+ + // $thisTag + ' (' + countOfTags[$thisTag] + ')
            • '); + $(ul).append('
            • ' + $thisTag + + '' + + ' (' + countOfTags[$thisTag] + ')
            • '); + } + + $('#listOfTags') + .before('Contexts (' + totalOfTags + '):
              '); +}); + +$(function() { + $('.done').parent(':header').parent().find(':header').addClass('DONEheader'); + $('.done').parent(':header').parent().css({color: '#999999'}); +}); + +$(function() { + $('span.todo').click(function(e) { + var orgKeyword = $(this).text().trim(); + $('.' + orgKeyword).toggleClass('selected'); + $('#content .' + orgKeyword).parent().parent() + .toggleClass('match' + orgKeyword); + $('#left-panel-wrapper .' + orgKeyword).parent() + .toggleClass('match' + orgKeyword); + e.preventDefault(); + }) +}); + +$(function() { + $('.tag span').click(function(e) { + var orgTag = $(this).text().trim(); + $('.' + orgTag).toggleClass('selected'); + $('#content .' + orgTag).parent().parent().parent() + .toggleClass('matchtag'); + $('#right-panel-wrapper .' + orgTag).parent().parent() + .toggleClass('matchtag'); + e.preventDefault(); + }) +}); + +function clickPreviousTab() { + var active = $('#content').tabs('option', 'active'); + // Avoid going back to last tab + if (active == 0) return; + + $('#content').tabs('option', 'active', active - 1); + + // Set the location href + var href = $('#content div[aria-expanded=true]').attr('id'); + document.location.hash = href; + $.scrollTo(0); +} + +function clickNextTab() { + var active = $('#content').tabs('option', 'active'); + $('#content').tabs('option', 'active', active + 1); + + // Set the location href + var href = $('#content div[aria-expanded=true]').attr('id'); + document.location.hash = href; + $.scrollTo(0); +} + +function orgDefkey(e) { + if (!e) + var e = window.event; + var keycode = (e.keyCode) ? e.keyCode : e.which; + var actualkey = String.fromCharCode(keycode); + switch (actualkey) { + case "?": // help (dashboard) + case "h": + togglePanel(e); + break; + case "n": // next + clickNextTab(); + break; + case "p": // previous + clickPreviousTab(); + break; + // case "b": // scroll down - should be mapped to Shift-SPC + // $(window).scrollTop($(window).scrollTop()-$(window).height()); + // break; + case "<": // scroll to top + $(window).scrollTop(0); + break; + case ">": // scroll to bottom + $(window).scrollTop($(document).height()); + break; + case "-": // collapse all + hsCollapseAll(); + break; + case "+": // expand all + hsExpandAll(); + break; + case "r": // go to next task + hsReviewTaskNext(); + break; + case "R": // go to previous task + hsReviewTaskPrev(); + break; + case "q": // quit reviewing + hsReviewTaskQuit(); + break; + case "g": // refresh the page (from the server, rather than the cache) + location.reload(true); + break; + } +} + +document.onkeypress = orgDefkey; diff --git a/examples/export/styles/darksun/js/hideshow.js b/examples/export/styles/darksun/js/hideshow.js new file mode 100644 index 0000000..e528759 --- /dev/null +++ b/examples/export/styles/darksun/js/hideshow.js @@ -0,0 +1,335 @@ +// hideshow.js --- HideShow JS file +// +// Copyright (C) 2014 All Right Reserved, Fabrice Niessen +// +// This file is free software: you can redistribute it and/or +// modify it under the terms of the GNU General Public License as +// published by the Free Software Foundation, either version 3 of +// the License, or (at your option) any later version. +// +// This file is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// Author: Fabrice Niessen <(concat "fniessen" at-sign "pirilampo.org")> +// URL: https://github.com/fniessen/hide-show/ +// Version: 20140912.1722 + +// var HS_COLLAPSIBLE_HEADERS = $('h3, h4, h5'); // collapsible headers + +if (typeof HS_STARTUP_FOLDED === 'undefined') { + var HS_STARTUP_FOLDED = false; // Show just the overview, or show all. +} + +if (typeof HS_SHOW_ALL_TEXT === 'undefined') { + var HS_SHOW_ALL_TEXT = 'Expand'; +} +if (typeof HS_HIDE_ALL_TEXT === 'undefined') { + var HS_HIDE_ALL_TEXT = 'Collapse'; +} + +if (typeof HS_ALWAYS_DISPLAY_ICON === 'undefined') { + var HS_ALWAYS_DISPLAY_ICON = false; // Display an icon for all states, or + // just when closed. +} + +if (typeof HS_ICON_CLOSED === 'undefined') { + var HS_ICON_CLOSED = '►'; // black right-pointing pointer +} +if (typeof HS_ICON_OPEN === 'undefined') { + var HS_ICON_OPEN = '▼'; // black down-pointing triangle +} +if (typeof HS_ICON_EMPTY === 'undefined') { + var HS_ICON_EMPTY = '■'; // black square +} + +if (typeof HS_SHOW_ALL_OPEN_DONE_TREES === 'undefined') { + var HS_SHOW_ALL_OPEN_DONE_TREES = false; // Expand all will open DONE trees. +} + +if (typeof HS_CLASS === 'undefined') { + var HS_CLASS = 'hsCollapsible'; +} + +// Expand a header +function hsExpand(header) { + hsExpand2(header, true); +} + +// Expand a header +function hsExpand2(header, expandDoneHeader) { + // Ignore non collapsible entries + if (!header.parent().hasClass(HS_CLASS)) return; + + // Do not expand DONE node if not required + if (hsIsDoneHeader(header) && !expandDoneHeader) return; + + header.children('span[class="ellipsis"]').remove(); + if (HS_ALWAYS_DISPLAY_ICON == true) { + header.append(' ' + HS_ICON_OPEN + ''); + } + header.parent().removeClass('hsCollapsed').addClass('hsExpanded'); + header.nextAll().show(); +} + +// Expand a header and all its parents +function hsExpandParents(header) { + hsExpand(header); + header.parents('.hsCollapsed').each(function() { + hsExpand($(this).children(':header')); + }); +} + +// Collapse a header and all its parents +function hsCollapseParents(header) { + hsCollapse(header); + header.parents('.hsExpanded').each(function() { + hsCollapse($(this).children(':header')); + }); +} + +// Collapse a header +function hsCollapse(header) { + // Ignore non collapsible entries + if (!header.parent().hasClass(HS_CLASS)) return; + + header.children('span[class="ellipsis"]').remove(); + header.append(' ' + HS_ICON_CLOSED + ''); + header.parent().removeClass('hsExpanded').addClass('hsCollapsed'); + // header.nextAll().hide('fast'); + header.nextAll().hide(); +} + +// Toggle a header +function hsToggleCollapsing(header) { + if (header.parent().hasClass('hsCollapsed')) + hsExpand(header); + else if (header.parent().hasClass('hsExpanded')) + hsCollapse(header); +} + +// Expand all headers +function hsExpandAll() { + $('#content .hsCollapsed').each(function() { + hsExpand2($(this).children(':header'), HS_SHOW_ALL_OPEN_DONE_TREES); + }); +} + +// Collapse all headers +function hsCollapseAll() { + $('#content .hsExpanded').each(function() { + hsCollapse($(this).children(':header')); + }); +} + +// Collapse all visible headers +function hsCollapseAllVisible() { + $('#content .hsExpanded:visible').each(function() { + hsCollapse($(this).children(':header')); + }); +} + +// Add click events to H3/H4/H5 headers which have contents. +function hsInit() { + for (var i = 3; i <= 5; i++) { + $('#content .outline-' + i).each(function() { + var header = $(this).children(':header'); + if (header.siblings().length > 0) { + $(this).addClass(HS_CLASS); + header.css({cursor: 'pointer'}); + header.click(function() { + hsToggleCollapsing($(this)); }); + + // Allow to override global Collapse/Expand default on an entry + // basis (see property `:HTML_CONTAINER_CLASS:') + if (header.parent().hasClass('hsCollapsed')) { + hsCollapse(header); + } else if (header.parent().hasClass('hsExpanded')) { + hsExpand(header); + } else { + hsSetDefaultVisibility(header); + } + } + else { + if (HS_ALWAYS_DISPLAY_ICON == true) { + header.append(' ' + HS_ICON_EMPTY + + ''); + } + $(this).addClass('hsEmpty'); + } + }); + } + + // Add div to hold minitoc content (so it can be cleared without deleting the buttons) + $('#minitoc').append($('
              ')); + + // Add buttons + $('#minitoc').append($('
              ')); + $('.buttons').append($('' + HS_SHOW_ALL_TEXT + '') + .addClass('hsButton') + .click(hsExpandAll)); + $('.buttons').append($('' + HS_HIDE_ALL_TEXT + '') + .addClass('hsButton') + .click(hsCollapseAll)); +} + +// Returns true if a header is a DONE header +function hsIsDoneHeader(header) { + return $('span.done', header).length; +} + +// Sets the default visibility state to a header +function hsSetDefaultVisibility(header) { + if (HS_STARTUP_FOLDED) { + hsCollapse(header); + } + else { + if (!hsIsDoneHeader(header) | HS_SHOW_ALL_OPEN_DONE_TREES) { + hsExpand(header); + } + else { + hsCollapse(header); + } + } +} + +// Expands an anchor, i.e. expand all parent headers +function hsExpandAnchor(id) { + // alert(id); + if (id) { + // alert($(id + '.hsNode').length); + $(id).parents('.hsCollapsed').each(function() { + hsExpand2($(this).children(':header'), true); + }); + } +} + +// Search for next task to review, starting from beginning of current tab. +// If BACKWARD is true, search in the reverse direction. +function hsReviewTaskNext(backward) { + // If no tasks to review at all, do nothing. + if ($('.outline-2 span.todo').length == 0) return; + + if ($('.hsReviewing').length == 0) { // reviewing is starting + $('body').addClass('hsReviewing'); + $('.hsReviewPanel').addClass('hsReviewing'); + $('body').prepend('
              '); + hsAddReviewingPanels(); + + hsCollapseAll(); + // Get first task to review on each tab and expand it + $('.outline-2').each(function(){ + var firstTodo = $(this).find('span.todo:first').parent().parent(); + firstTodo.addClass('hsReview'); + hsExpandParents($(firstTodo).children(':header')); + }); + } + else { + // Get all todos + var todosElements = $('.outline-2:visible span.todo').parent().parent(); + // alert(todosElements.length); + var todos = jQuery.makeArray(todosElements); + if (backward) { + todos = todos.reverse(); + } + + // Find current review item and review the next one + var foundReview = false; + var index; + for (index = 0; index < todos.length; ++index) { + var todo = todos[index]; + if (foundReview) { + $(todo).addClass('hsReview'); + hsExpandParents($(todo).children(':header')); + break; + } + if ($(todo).hasClass('hsReview')) { + foundReview = true; + if (index < todos.length - 1) { + $(todo).removeClass('hsReview'); + hsCollapseParents($(todo).children(':header')); + } + } + } + + // Update reviewing panel + if (index < todos.length) { + var reviewItem = index + 1; + if (backward) { + reviewItem = todos.length - index; + } + + $('.outline-2:visible .hsReviewingPanel .hsReviewItem').text(reviewItem); + } + } + + // Scroll to the current review item + $('html, body').animate({ + scrollTop: $(".hsReview:visible").offset().top + }, 200); +} + +// go to previous task to review +function hsReviewTaskPrev() { + hsReviewTaskNext(true); +} + +// stop reviewing tasks +function hsReviewTaskQuit() { + $('body').removeClass('hsReviewing'); + $('.hsReviewPanel').removeClass('hsReviewing'); + $('.hsReview').removeClass('hsReview'); + $('#hsOverlay').remove(); + $('.hsReviewingPanel').remove(); +} + +function hsHideTodoKeyword(kw) { + $('span.' + kw).addClass('hsHidden').parent().parent().hide(); +} + +function hsShowTodoKeyword(kw) { + $('span.' + kw).removeClass('hsHidden').parent().parent().show(); + // XXX Show if parent is not collapsed! +} + +function hsAddReviewPanels() { + $('.outline-2').each(function(e) { + var nbItems = $(this).find('span.todo').length; + if (nbItems > 0) { + $(this).prepend('
              ' + + 'Press r or click here
              ' + + 'to review ' + nbItems + ' tasks
              ' + + '(out of ' + nbReviewTotalTasks + ' tasks)
              '); + } + }); +} + +function hsAddReviewingPanels() { + $('.outline-2').each(function(e) { + var nbItems = $(this).find('span.todo').length; + if (nbItems > 0) { + $(this).prepend('
              Reviewing task 1 / ' + nbItems + '
              ' + + '(out of ' + nbReviewTotalTasks + ' tasks)
              ' + + 'Shortcuts: ' + + 'r (next) - ' + + 'R (previous)' + + '
              '); + } + else { + $(this).prepend('
              No task to review
              ' + + '(out of ' + nbReviewTotalTasks + ' tasks)
              ' + + 'Shortcuts: ' + + 'r (next) - ' + + 'R (previous)' + + '
              '); + } + }); +} + +var nbReviewTotalTasks; + +$(document).ready(function() { + nbReviewTotalTasks = $('.outline-2 span.todo').length; + hsAddReviewPanels(); +}); diff --git a/examples/export/styles/darksun/js/jquery-1.11.0.min.js b/examples/export/styles/darksun/js/jquery-1.11.0.min.js new file mode 100644 index 0000000..73f33fb --- /dev/null +++ b/examples/export/styles/darksun/js/jquery-1.11.0.min.js @@ -0,0 +1,4 @@ +/*! jQuery v1.11.0 | (c) 2005, 2014 jQuery Foundation, Inc. | jquery.org/license */ +!function(a,b){"object"==typeof module&&"object"==typeof module.exports?module.exports=a.document?b(a,!0):function(a){if(!a.document)throw new Error("jQuery requires a window with a document");return b(a)}:b(a)}("undefined"!=typeof window?window:this,function(a,b){var c=[],d=c.slice,e=c.concat,f=c.push,g=c.indexOf,h={},i=h.toString,j=h.hasOwnProperty,k="".trim,l={},m="1.11.0",n=function(a,b){return new n.fn.init(a,b)},o=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,p=/^-ms-/,q=/-([\da-z])/gi,r=function(a,b){return b.toUpperCase()};n.fn=n.prototype={jquery:m,constructor:n,selector:"",length:0,toArray:function(){return d.call(this)},get:function(a){return null!=a?0>a?this[a+this.length]:this[a]:d.call(this)},pushStack:function(a){var b=n.merge(this.constructor(),a);return b.prevObject=this,b.context=this.context,b},each:function(a,b){return n.each(this,a,b)},map:function(a){return this.pushStack(n.map(this,function(b,c){return a.call(b,c,b)}))},slice:function(){return this.pushStack(d.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(a){var b=this.length,c=+a+(0>a?b:0);return this.pushStack(c>=0&&b>c?[this[c]]:[])},end:function(){return this.prevObject||this.constructor(null)},push:f,sort:c.sort,splice:c.splice},n.extend=n.fn.extend=function(){var a,b,c,d,e,f,g=arguments[0]||{},h=1,i=arguments.length,j=!1;for("boolean"==typeof g&&(j=g,g=arguments[h]||{},h++),"object"==typeof g||n.isFunction(g)||(g={}),h===i&&(g=this,h--);i>h;h++)if(null!=(e=arguments[h]))for(d in e)a=g[d],c=e[d],g!==c&&(j&&c&&(n.isPlainObject(c)||(b=n.isArray(c)))?(b?(b=!1,f=a&&n.isArray(a)?a:[]):f=a&&n.isPlainObject(a)?a:{},g[d]=n.extend(j,f,c)):void 0!==c&&(g[d]=c));return g},n.extend({expando:"jQuery"+(m+Math.random()).replace(/\D/g,""),isReady:!0,error:function(a){throw new Error(a)},noop:function(){},isFunction:function(a){return"function"===n.type(a)},isArray:Array.isArray||function(a){return"array"===n.type(a)},isWindow:function(a){return null!=a&&a==a.window},isNumeric:function(a){return a-parseFloat(a)>=0},isEmptyObject:function(a){var b;for(b in a)return!1;return!0},isPlainObject:function(a){var b;if(!a||"object"!==n.type(a)||a.nodeType||n.isWindow(a))return!1;try{if(a.constructor&&!j.call(a,"constructor")&&!j.call(a.constructor.prototype,"isPrototypeOf"))return!1}catch(c){return!1}if(l.ownLast)for(b in a)return j.call(a,b);for(b in a);return void 0===b||j.call(a,b)},type:function(a){return null==a?a+"":"object"==typeof a||"function"==typeof a?h[i.call(a)]||"object":typeof a},globalEval:function(b){b&&n.trim(b)&&(a.execScript||function(b){a.eval.call(a,b)})(b)},camelCase:function(a){return a.replace(p,"ms-").replace(q,r)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toLowerCase()===b.toLowerCase()},each:function(a,b,c){var d,e=0,f=a.length,g=s(a);if(c){if(g){for(;f>e;e++)if(d=b.apply(a[e],c),d===!1)break}else for(e in a)if(d=b.apply(a[e],c),d===!1)break}else if(g){for(;f>e;e++)if(d=b.call(a[e],e,a[e]),d===!1)break}else for(e in a)if(d=b.call(a[e],e,a[e]),d===!1)break;return a},trim:k&&!k.call("\ufeff\xa0")?function(a){return null==a?"":k.call(a)}:function(a){return null==a?"":(a+"").replace(o,"")},makeArray:function(a,b){var c=b||[];return null!=a&&(s(Object(a))?n.merge(c,"string"==typeof a?[a]:a):f.call(c,a)),c},inArray:function(a,b,c){var d;if(b){if(g)return g.call(b,a,c);for(d=b.length,c=c?0>c?Math.max(0,d+c):c:0;d>c;c++)if(c in b&&b[c]===a)return c}return-1},merge:function(a,b){var c=+b.length,d=0,e=a.length;while(c>d)a[e++]=b[d++];if(c!==c)while(void 0!==b[d])a[e++]=b[d++];return a.length=e,a},grep:function(a,b,c){for(var d,e=[],f=0,g=a.length,h=!c;g>f;f++)d=!b(a[f],f),d!==h&&e.push(a[f]);return e},map:function(a,b,c){var d,f=0,g=a.length,h=s(a),i=[];if(h)for(;g>f;f++)d=b(a[f],f,c),null!=d&&i.push(d);else for(f in a)d=b(a[f],f,c),null!=d&&i.push(d);return e.apply([],i)},guid:1,proxy:function(a,b){var c,e,f;return"string"==typeof b&&(f=a[b],b=a,a=f),n.isFunction(a)?(c=d.call(arguments,2),e=function(){return a.apply(b||this,c.concat(d.call(arguments)))},e.guid=a.guid=a.guid||n.guid++,e):void 0},now:function(){return+new Date},support:l}),n.each("Boolean Number String Function Array Date RegExp Object Error".split(" "),function(a,b){h["[object "+b+"]"]=b.toLowerCase()});function s(a){var b=a.length,c=n.type(a);return"function"===c||n.isWindow(a)?!1:1===a.nodeType&&b?!0:"array"===c||0===b||"number"==typeof b&&b>0&&b-1 in a}var t=function(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s="sizzle"+-new Date,t=a.document,u=0,v=0,w=eb(),x=eb(),y=eb(),z=function(a,b){return a===b&&(j=!0),0},A="undefined",B=1<<31,C={}.hasOwnProperty,D=[],E=D.pop,F=D.push,G=D.push,H=D.slice,I=D.indexOf||function(a){for(var b=0,c=this.length;c>b;b++)if(this[b]===a)return b;return-1},J="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",K="[\\x20\\t\\r\\n\\f]",L="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",M=L.replace("w","w#"),N="\\["+K+"*("+L+")"+K+"*(?:([*^$|!~]?=)"+K+"*(?:(['\"])((?:\\\\.|[^\\\\])*?)\\3|("+M+")|)|)"+K+"*\\]",O=":("+L+")(?:\\(((['\"])((?:\\\\.|[^\\\\])*?)\\3|((?:\\\\.|[^\\\\()[\\]]|"+N.replace(3,8)+")*)|.*)\\)|)",P=new RegExp("^"+K+"+|((?:^|[^\\\\])(?:\\\\.)*)"+K+"+$","g"),Q=new RegExp("^"+K+"*,"+K+"*"),R=new RegExp("^"+K+"*([>+~]|"+K+")"+K+"*"),S=new RegExp("="+K+"*([^\\]'\"]*?)"+K+"*\\]","g"),T=new RegExp(O),U=new RegExp("^"+M+"$"),V={ID:new RegExp("^#("+L+")"),CLASS:new RegExp("^\\.("+L+")"),TAG:new RegExp("^("+L.replace("w","w*")+")"),ATTR:new RegExp("^"+N),PSEUDO:new RegExp("^"+O),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+K+"*(even|odd|(([+-]|)(\\d*)n|)"+K+"*(?:([+-]|)"+K+"*(\\d+)|))"+K+"*\\)|)","i"),bool:new RegExp("^(?:"+J+")$","i"),needsContext:new RegExp("^"+K+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+K+"*((?:-\\d)?\\d*)"+K+"*\\)|)(?=[^-]|$)","i")},W=/^(?:input|select|textarea|button)$/i,X=/^h\d$/i,Y=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,$=/[+~]/,_=/'|\\/g,ab=new RegExp("\\\\([\\da-f]{1,6}"+K+"?|("+K+")|.)","ig"),bb=function(a,b,c){var d="0x"+b-65536;return d!==d||c?b:0>d?String.fromCharCode(d+65536):String.fromCharCode(d>>10|55296,1023&d|56320)};try{G.apply(D=H.call(t.childNodes),t.childNodes),D[t.childNodes.length].nodeType}catch(cb){G={apply:D.length?function(a,b){F.apply(a,H.call(b))}:function(a,b){var c=a.length,d=0;while(a[c++]=b[d++]);a.length=c-1}}}function db(a,b,d,e){var f,g,h,i,j,m,p,q,u,v;if((b?b.ownerDocument||b:t)!==l&&k(b),b=b||l,d=d||[],!a||"string"!=typeof a)return d;if(1!==(i=b.nodeType)&&9!==i)return[];if(n&&!e){if(f=Z.exec(a))if(h=f[1]){if(9===i){if(g=b.getElementById(h),!g||!g.parentNode)return d;if(g.id===h)return d.push(g),d}else if(b.ownerDocument&&(g=b.ownerDocument.getElementById(h))&&r(b,g)&&g.id===h)return d.push(g),d}else{if(f[2])return G.apply(d,b.getElementsByTagName(a)),d;if((h=f[3])&&c.getElementsByClassName&&b.getElementsByClassName)return G.apply(d,b.getElementsByClassName(h)),d}if(c.qsa&&(!o||!o.test(a))){if(q=p=s,u=b,v=9===i&&a,1===i&&"object"!==b.nodeName.toLowerCase()){m=ob(a),(p=b.getAttribute("id"))?q=p.replace(_,"\\$&"):b.setAttribute("id",q),q="[id='"+q+"'] ",j=m.length;while(j--)m[j]=q+pb(m[j]);u=$.test(a)&&mb(b.parentNode)||b,v=m.join(",")}if(v)try{return G.apply(d,u.querySelectorAll(v)),d}catch(w){}finally{p||b.removeAttribute("id")}}}return xb(a.replace(P,"$1"),b,d,e)}function eb(){var a=[];function b(c,e){return a.push(c+" ")>d.cacheLength&&delete b[a.shift()],b[c+" "]=e}return b}function fb(a){return a[s]=!0,a}function gb(a){var b=l.createElement("div");try{return!!a(b)}catch(c){return!1}finally{b.parentNode&&b.parentNode.removeChild(b),b=null}}function hb(a,b){var c=a.split("|"),e=a.length;while(e--)d.attrHandle[c[e]]=b}function ib(a,b){var c=b&&a,d=c&&1===a.nodeType&&1===b.nodeType&&(~b.sourceIndex||B)-(~a.sourceIndex||B);if(d)return d;if(c)while(c=c.nextSibling)if(c===b)return-1;return a?1:-1}function jb(a){return function(b){var c=b.nodeName.toLowerCase();return"input"===c&&b.type===a}}function kb(a){return function(b){var c=b.nodeName.toLowerCase();return("input"===c||"button"===c)&&b.type===a}}function lb(a){return fb(function(b){return b=+b,fb(function(c,d){var e,f=a([],c.length,b),g=f.length;while(g--)c[e=f[g]]&&(c[e]=!(d[e]=c[e]))})})}function mb(a){return a&&typeof a.getElementsByTagName!==A&&a}c=db.support={},f=db.isXML=function(a){var b=a&&(a.ownerDocument||a).documentElement;return b?"HTML"!==b.nodeName:!1},k=db.setDocument=function(a){var b,e=a?a.ownerDocument||a:t,g=e.defaultView;return e!==l&&9===e.nodeType&&e.documentElement?(l=e,m=e.documentElement,n=!f(e),g&&g!==g.top&&(g.addEventListener?g.addEventListener("unload",function(){k()},!1):g.attachEvent&&g.attachEvent("onunload",function(){k()})),c.attributes=gb(function(a){return a.className="i",!a.getAttribute("className")}),c.getElementsByTagName=gb(function(a){return a.appendChild(e.createComment("")),!a.getElementsByTagName("*").length}),c.getElementsByClassName=Y.test(e.getElementsByClassName)&&gb(function(a){return a.innerHTML="
              ",a.firstChild.className="i",2===a.getElementsByClassName("i").length}),c.getById=gb(function(a){return m.appendChild(a).id=s,!e.getElementsByName||!e.getElementsByName(s).length}),c.getById?(d.find.ID=function(a,b){if(typeof b.getElementById!==A&&n){var c=b.getElementById(a);return c&&c.parentNode?[c]:[]}},d.filter.ID=function(a){var b=a.replace(ab,bb);return function(a){return a.getAttribute("id")===b}}):(delete d.find.ID,d.filter.ID=function(a){var b=a.replace(ab,bb);return function(a){var c=typeof a.getAttributeNode!==A&&a.getAttributeNode("id");return c&&c.value===b}}),d.find.TAG=c.getElementsByTagName?function(a,b){return typeof b.getElementsByTagName!==A?b.getElementsByTagName(a):void 0}:function(a,b){var c,d=[],e=0,f=b.getElementsByTagName(a);if("*"===a){while(c=f[e++])1===c.nodeType&&d.push(c);return d}return f},d.find.CLASS=c.getElementsByClassName&&function(a,b){return typeof b.getElementsByClassName!==A&&n?b.getElementsByClassName(a):void 0},p=[],o=[],(c.qsa=Y.test(e.querySelectorAll))&&(gb(function(a){a.innerHTML="",a.querySelectorAll("[t^='']").length&&o.push("[*^$]="+K+"*(?:''|\"\")"),a.querySelectorAll("[selected]").length||o.push("\\["+K+"*(?:value|"+J+")"),a.querySelectorAll(":checked").length||o.push(":checked")}),gb(function(a){var b=e.createElement("input");b.setAttribute("type","hidden"),a.appendChild(b).setAttribute("name","D"),a.querySelectorAll("[name=d]").length&&o.push("name"+K+"*[*^$|!~]?="),a.querySelectorAll(":enabled").length||o.push(":enabled",":disabled"),a.querySelectorAll("*,:x"),o.push(",.*:")})),(c.matchesSelector=Y.test(q=m.webkitMatchesSelector||m.mozMatchesSelector||m.oMatchesSelector||m.msMatchesSelector))&&gb(function(a){c.disconnectedMatch=q.call(a,"div"),q.call(a,"[s!='']:x"),p.push("!=",O)}),o=o.length&&new RegExp(o.join("|")),p=p.length&&new RegExp(p.join("|")),b=Y.test(m.compareDocumentPosition),r=b||Y.test(m.contains)?function(a,b){var c=9===a.nodeType?a.documentElement:a,d=b&&b.parentNode;return a===d||!(!d||1!==d.nodeType||!(c.contains?c.contains(d):a.compareDocumentPosition&&16&a.compareDocumentPosition(d)))}:function(a,b){if(b)while(b=b.parentNode)if(b===a)return!0;return!1},z=b?function(a,b){if(a===b)return j=!0,0;var d=!a.compareDocumentPosition-!b.compareDocumentPosition;return d?d:(d=(a.ownerDocument||a)===(b.ownerDocument||b)?a.compareDocumentPosition(b):1,1&d||!c.sortDetached&&b.compareDocumentPosition(a)===d?a===e||a.ownerDocument===t&&r(t,a)?-1:b===e||b.ownerDocument===t&&r(t,b)?1:i?I.call(i,a)-I.call(i,b):0:4&d?-1:1)}:function(a,b){if(a===b)return j=!0,0;var c,d=0,f=a.parentNode,g=b.parentNode,h=[a],k=[b];if(!f||!g)return a===e?-1:b===e?1:f?-1:g?1:i?I.call(i,a)-I.call(i,b):0;if(f===g)return ib(a,b);c=a;while(c=c.parentNode)h.unshift(c);c=b;while(c=c.parentNode)k.unshift(c);while(h[d]===k[d])d++;return d?ib(h[d],k[d]):h[d]===t?-1:k[d]===t?1:0},e):l},db.matches=function(a,b){return db(a,null,null,b)},db.matchesSelector=function(a,b){if((a.ownerDocument||a)!==l&&k(a),b=b.replace(S,"='$1']"),!(!c.matchesSelector||!n||p&&p.test(b)||o&&o.test(b)))try{var d=q.call(a,b);if(d||c.disconnectedMatch||a.document&&11!==a.document.nodeType)return d}catch(e){}return db(b,l,null,[a]).length>0},db.contains=function(a,b){return(a.ownerDocument||a)!==l&&k(a),r(a,b)},db.attr=function(a,b){(a.ownerDocument||a)!==l&&k(a);var e=d.attrHandle[b.toLowerCase()],f=e&&C.call(d.attrHandle,b.toLowerCase())?e(a,b,!n):void 0;return void 0!==f?f:c.attributes||!n?a.getAttribute(b):(f=a.getAttributeNode(b))&&f.specified?f.value:null},db.error=function(a){throw new Error("Syntax error, unrecognized expression: "+a)},db.uniqueSort=function(a){var b,d=[],e=0,f=0;if(j=!c.detectDuplicates,i=!c.sortStable&&a.slice(0),a.sort(z),j){while(b=a[f++])b===a[f]&&(e=d.push(f));while(e--)a.splice(d[e],1)}return i=null,a},e=db.getText=function(a){var b,c="",d=0,f=a.nodeType;if(f){if(1===f||9===f||11===f){if("string"==typeof a.textContent)return a.textContent;for(a=a.firstChild;a;a=a.nextSibling)c+=e(a)}else if(3===f||4===f)return a.nodeValue}else while(b=a[d++])c+=e(b);return c},d=db.selectors={cacheLength:50,createPseudo:fb,match:V,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(a){return a[1]=a[1].replace(ab,bb),a[3]=(a[4]||a[5]||"").replace(ab,bb),"~="===a[2]&&(a[3]=" "+a[3]+" "),a.slice(0,4)},CHILD:function(a){return a[1]=a[1].toLowerCase(),"nth"===a[1].slice(0,3)?(a[3]||db.error(a[0]),a[4]=+(a[4]?a[5]+(a[6]||1):2*("even"===a[3]||"odd"===a[3])),a[5]=+(a[7]+a[8]||"odd"===a[3])):a[3]&&db.error(a[0]),a},PSEUDO:function(a){var b,c=!a[5]&&a[2];return V.CHILD.test(a[0])?null:(a[3]&&void 0!==a[4]?a[2]=a[4]:c&&T.test(c)&&(b=ob(c,!0))&&(b=c.indexOf(")",c.length-b)-c.length)&&(a[0]=a[0].slice(0,b),a[2]=c.slice(0,b)),a.slice(0,3))}},filter:{TAG:function(a){var b=a.replace(ab,bb).toLowerCase();return"*"===a?function(){return!0}:function(a){return a.nodeName&&a.nodeName.toLowerCase()===b}},CLASS:function(a){var b=w[a+" "];return b||(b=new RegExp("(^|"+K+")"+a+"("+K+"|$)"))&&w(a,function(a){return b.test("string"==typeof a.className&&a.className||typeof a.getAttribute!==A&&a.getAttribute("class")||"")})},ATTR:function(a,b,c){return function(d){var e=db.attr(d,a);return null==e?"!="===b:b?(e+="","="===b?e===c:"!="===b?e!==c:"^="===b?c&&0===e.indexOf(c):"*="===b?c&&e.indexOf(c)>-1:"$="===b?c&&e.slice(-c.length)===c:"~="===b?(" "+e+" ").indexOf(c)>-1:"|="===b?e===c||e.slice(0,c.length+1)===c+"-":!1):!0}},CHILD:function(a,b,c,d,e){var f="nth"!==a.slice(0,3),g="last"!==a.slice(-4),h="of-type"===b;return 1===d&&0===e?function(a){return!!a.parentNode}:function(b,c,i){var j,k,l,m,n,o,p=f!==g?"nextSibling":"previousSibling",q=b.parentNode,r=h&&b.nodeName.toLowerCase(),t=!i&&!h;if(q){if(f){while(p){l=b;while(l=l[p])if(h?l.nodeName.toLowerCase()===r:1===l.nodeType)return!1;o=p="only"===a&&!o&&"nextSibling"}return!0}if(o=[g?q.firstChild:q.lastChild],g&&t){k=q[s]||(q[s]={}),j=k[a]||[],n=j[0]===u&&j[1],m=j[0]===u&&j[2],l=n&&q.childNodes[n];while(l=++n&&l&&l[p]||(m=n=0)||o.pop())if(1===l.nodeType&&++m&&l===b){k[a]=[u,n,m];break}}else if(t&&(j=(b[s]||(b[s]={}))[a])&&j[0]===u)m=j[1];else while(l=++n&&l&&l[p]||(m=n=0)||o.pop())if((h?l.nodeName.toLowerCase()===r:1===l.nodeType)&&++m&&(t&&((l[s]||(l[s]={}))[a]=[u,m]),l===b))break;return m-=e,m===d||m%d===0&&m/d>=0}}},PSEUDO:function(a,b){var c,e=d.pseudos[a]||d.setFilters[a.toLowerCase()]||db.error("unsupported pseudo: "+a);return e[s]?e(b):e.length>1?(c=[a,a,"",b],d.setFilters.hasOwnProperty(a.toLowerCase())?fb(function(a,c){var d,f=e(a,b),g=f.length;while(g--)d=I.call(a,f[g]),a[d]=!(c[d]=f[g])}):function(a){return e(a,0,c)}):e}},pseudos:{not:fb(function(a){var b=[],c=[],d=g(a.replace(P,"$1"));return d[s]?fb(function(a,b,c,e){var f,g=d(a,null,e,[]),h=a.length;while(h--)(f=g[h])&&(a[h]=!(b[h]=f))}):function(a,e,f){return b[0]=a,d(b,null,f,c),!c.pop()}}),has:fb(function(a){return function(b){return db(a,b).length>0}}),contains:fb(function(a){return function(b){return(b.textContent||b.innerText||e(b)).indexOf(a)>-1}}),lang:fb(function(a){return U.test(a||"")||db.error("unsupported lang: "+a),a=a.replace(ab,bb).toLowerCase(),function(b){var c;do if(c=n?b.lang:b.getAttribute("xml:lang")||b.getAttribute("lang"))return c=c.toLowerCase(),c===a||0===c.indexOf(a+"-");while((b=b.parentNode)&&1===b.nodeType);return!1}}),target:function(b){var c=a.location&&a.location.hash;return c&&c.slice(1)===b.id},root:function(a){return a===m},focus:function(a){return a===l.activeElement&&(!l.hasFocus||l.hasFocus())&&!!(a.type||a.href||~a.tabIndex)},enabled:function(a){return a.disabled===!1},disabled:function(a){return a.disabled===!0},checked:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&!!a.checked||"option"===b&&!!a.selected},selected:function(a){return a.parentNode&&a.parentNode.selectedIndex,a.selected===!0},empty:function(a){for(a=a.firstChild;a;a=a.nextSibling)if(a.nodeType<6)return!1;return!0},parent:function(a){return!d.pseudos.empty(a)},header:function(a){return X.test(a.nodeName)},input:function(a){return W.test(a.nodeName)},button:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&"button"===a.type||"button"===b},text:function(a){var b;return"input"===a.nodeName.toLowerCase()&&"text"===a.type&&(null==(b=a.getAttribute("type"))||"text"===b.toLowerCase())},first:lb(function(){return[0]}),last:lb(function(a,b){return[b-1]}),eq:lb(function(a,b,c){return[0>c?c+b:c]}),even:lb(function(a,b){for(var c=0;b>c;c+=2)a.push(c);return a}),odd:lb(function(a,b){for(var c=1;b>c;c+=2)a.push(c);return a}),lt:lb(function(a,b,c){for(var d=0>c?c+b:c;--d>=0;)a.push(d);return a}),gt:lb(function(a,b,c){for(var d=0>c?c+b:c;++db;b++)d+=a[b].value;return d}function qb(a,b,c){var d=b.dir,e=c&&"parentNode"===d,f=v++;return b.first?function(b,c,f){while(b=b[d])if(1===b.nodeType||e)return a(b,c,f)}:function(b,c,g){var h,i,j=[u,f];if(g){while(b=b[d])if((1===b.nodeType||e)&&a(b,c,g))return!0}else while(b=b[d])if(1===b.nodeType||e){if(i=b[s]||(b[s]={}),(h=i[d])&&h[0]===u&&h[1]===f)return j[2]=h[2];if(i[d]=j,j[2]=a(b,c,g))return!0}}}function rb(a){return a.length>1?function(b,c,d){var e=a.length;while(e--)if(!a[e](b,c,d))return!1;return!0}:a[0]}function sb(a,b,c,d,e){for(var f,g=[],h=0,i=a.length,j=null!=b;i>h;h++)(f=a[h])&&(!c||c(f,d,e))&&(g.push(f),j&&b.push(h));return g}function tb(a,b,c,d,e,f){return d&&!d[s]&&(d=tb(d)),e&&!e[s]&&(e=tb(e,f)),fb(function(f,g,h,i){var j,k,l,m=[],n=[],o=g.length,p=f||wb(b||"*",h.nodeType?[h]:h,[]),q=!a||!f&&b?p:sb(p,m,a,h,i),r=c?e||(f?a:o||d)?[]:g:q;if(c&&c(q,r,h,i),d){j=sb(r,n),d(j,[],h,i),k=j.length;while(k--)(l=j[k])&&(r[n[k]]=!(q[n[k]]=l))}if(f){if(e||a){if(e){j=[],k=r.length;while(k--)(l=r[k])&&j.push(q[k]=l);e(null,r=[],j,i)}k=r.length;while(k--)(l=r[k])&&(j=e?I.call(f,l):m[k])>-1&&(f[j]=!(g[j]=l))}}else r=sb(r===g?r.splice(o,r.length):r),e?e(null,g,r,i):G.apply(g,r)})}function ub(a){for(var b,c,e,f=a.length,g=d.relative[a[0].type],i=g||d.relative[" "],j=g?1:0,k=qb(function(a){return a===b},i,!0),l=qb(function(a){return I.call(b,a)>-1},i,!0),m=[function(a,c,d){return!g&&(d||c!==h)||((b=c).nodeType?k(a,c,d):l(a,c,d))}];f>j;j++)if(c=d.relative[a[j].type])m=[qb(rb(m),c)];else{if(c=d.filter[a[j].type].apply(null,a[j].matches),c[s]){for(e=++j;f>e;e++)if(d.relative[a[e].type])break;return tb(j>1&&rb(m),j>1&&pb(a.slice(0,j-1).concat({value:" "===a[j-2].type?"*":""})).replace(P,"$1"),c,e>j&&ub(a.slice(j,e)),f>e&&ub(a=a.slice(e)),f>e&&pb(a))}m.push(c)}return rb(m)}function vb(a,b){var c=b.length>0,e=a.length>0,f=function(f,g,i,j,k){var m,n,o,p=0,q="0",r=f&&[],s=[],t=h,v=f||e&&d.find.TAG("*",k),w=u+=null==t?1:Math.random()||.1,x=v.length;for(k&&(h=g!==l&&g);q!==x&&null!=(m=v[q]);q++){if(e&&m){n=0;while(o=a[n++])if(o(m,g,i)){j.push(m);break}k&&(u=w)}c&&((m=!o&&m)&&p--,f&&r.push(m))}if(p+=q,c&&q!==p){n=0;while(o=b[n++])o(r,s,g,i);if(f){if(p>0)while(q--)r[q]||s[q]||(s[q]=E.call(j));s=sb(s)}G.apply(j,s),k&&!f&&s.length>0&&p+b.length>1&&db.uniqueSort(j)}return k&&(u=w,h=t),r};return c?fb(f):f}g=db.compile=function(a,b){var c,d=[],e=[],f=y[a+" "];if(!f){b||(b=ob(a)),c=b.length;while(c--)f=ub(b[c]),f[s]?d.push(f):e.push(f);f=y(a,vb(e,d))}return f};function wb(a,b,c){for(var d=0,e=b.length;e>d;d++)db(a,b[d],c);return c}function xb(a,b,e,f){var h,i,j,k,l,m=ob(a);if(!f&&1===m.length){if(i=m[0]=m[0].slice(0),i.length>2&&"ID"===(j=i[0]).type&&c.getById&&9===b.nodeType&&n&&d.relative[i[1].type]){if(b=(d.find.ID(j.matches[0].replace(ab,bb),b)||[])[0],!b)return e;a=a.slice(i.shift().value.length)}h=V.needsContext.test(a)?0:i.length;while(h--){if(j=i[h],d.relative[k=j.type])break;if((l=d.find[k])&&(f=l(j.matches[0].replace(ab,bb),$.test(i[0].type)&&mb(b.parentNode)||b))){if(i.splice(h,1),a=f.length&&pb(i),!a)return G.apply(e,f),e;break}}}return g(a,m)(f,b,!n,e,$.test(a)&&mb(b.parentNode)||b),e}return c.sortStable=s.split("").sort(z).join("")===s,c.detectDuplicates=!!j,k(),c.sortDetached=gb(function(a){return 1&a.compareDocumentPosition(l.createElement("div"))}),gb(function(a){return a.innerHTML="","#"===a.firstChild.getAttribute("href")})||hb("type|href|height|width",function(a,b,c){return c?void 0:a.getAttribute(b,"type"===b.toLowerCase()?1:2)}),c.attributes&&gb(function(a){return a.innerHTML="",a.firstChild.setAttribute("value",""),""===a.firstChild.getAttribute("value")})||hb("value",function(a,b,c){return c||"input"!==a.nodeName.toLowerCase()?void 0:a.defaultValue}),gb(function(a){return null==a.getAttribute("disabled")})||hb(J,function(a,b,c){var d;return c?void 0:a[b]===!0?b.toLowerCase():(d=a.getAttributeNode(b))&&d.specified?d.value:null}),db}(a);n.find=t,n.expr=t.selectors,n.expr[":"]=n.expr.pseudos,n.unique=t.uniqueSort,n.text=t.getText,n.isXMLDoc=t.isXML,n.contains=t.contains;var u=n.expr.match.needsContext,v=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,w=/^.[^:#\[\.,]*$/;function x(a,b,c){if(n.isFunction(b))return n.grep(a,function(a,d){return!!b.call(a,d,a)!==c});if(b.nodeType)return n.grep(a,function(a){return a===b!==c});if("string"==typeof b){if(w.test(b))return n.filter(b,a,c);b=n.filter(b,a)}return n.grep(a,function(a){return n.inArray(a,b)>=0!==c})}n.filter=function(a,b,c){var d=b[0];return c&&(a=":not("+a+")"),1===b.length&&1===d.nodeType?n.find.matchesSelector(d,a)?[d]:[]:n.find.matches(a,n.grep(b,function(a){return 1===a.nodeType}))},n.fn.extend({find:function(a){var b,c=[],d=this,e=d.length;if("string"!=typeof a)return this.pushStack(n(a).filter(function(){for(b=0;e>b;b++)if(n.contains(d[b],this))return!0}));for(b=0;e>b;b++)n.find(a,d[b],c);return c=this.pushStack(e>1?n.unique(c):c),c.selector=this.selector?this.selector+" "+a:a,c},filter:function(a){return this.pushStack(x(this,a||[],!1))},not:function(a){return this.pushStack(x(this,a||[],!0))},is:function(a){return!!x(this,"string"==typeof a&&u.test(a)?n(a):a||[],!1).length}});var y,z=a.document,A=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/,B=n.fn.init=function(a,b){var c,d;if(!a)return this;if("string"==typeof a){if(c="<"===a.charAt(0)&&">"===a.charAt(a.length-1)&&a.length>=3?[null,a,null]:A.exec(a),!c||!c[1]&&b)return!b||b.jquery?(b||y).find(a):this.constructor(b).find(a);if(c[1]){if(b=b instanceof n?b[0]:b,n.merge(this,n.parseHTML(c[1],b&&b.nodeType?b.ownerDocument||b:z,!0)),v.test(c[1])&&n.isPlainObject(b))for(c in b)n.isFunction(this[c])?this[c](b[c]):this.attr(c,b[c]);return this}if(d=z.getElementById(c[2]),d&&d.parentNode){if(d.id!==c[2])return y.find(a);this.length=1,this[0]=d}return this.context=z,this.selector=a,this}return a.nodeType?(this.context=this[0]=a,this.length=1,this):n.isFunction(a)?"undefined"!=typeof y.ready?y.ready(a):a(n):(void 0!==a.selector&&(this.selector=a.selector,this.context=a.context),n.makeArray(a,this))};B.prototype=n.fn,y=n(z);var C=/^(?:parents|prev(?:Until|All))/,D={children:!0,contents:!0,next:!0,prev:!0};n.extend({dir:function(a,b,c){var d=[],e=a[b];while(e&&9!==e.nodeType&&(void 0===c||1!==e.nodeType||!n(e).is(c)))1===e.nodeType&&d.push(e),e=e[b];return d},sibling:function(a,b){for(var c=[];a;a=a.nextSibling)1===a.nodeType&&a!==b&&c.push(a);return c}}),n.fn.extend({has:function(a){var b,c=n(a,this),d=c.length;return this.filter(function(){for(b=0;d>b;b++)if(n.contains(this,c[b]))return!0})},closest:function(a,b){for(var c,d=0,e=this.length,f=[],g=u.test(a)||"string"!=typeof a?n(a,b||this.context):0;e>d;d++)for(c=this[d];c&&c!==b;c=c.parentNode)if(c.nodeType<11&&(g?g.index(c)>-1:1===c.nodeType&&n.find.matchesSelector(c,a))){f.push(c);break}return this.pushStack(f.length>1?n.unique(f):f)},index:function(a){return a?"string"==typeof a?n.inArray(this[0],n(a)):n.inArray(a.jquery?a[0]:a,this):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(a,b){return this.pushStack(n.unique(n.merge(this.get(),n(a,b))))},addBack:function(a){return this.add(null==a?this.prevObject:this.prevObject.filter(a))}});function E(a,b){do a=a[b];while(a&&1!==a.nodeType);return a}n.each({parent:function(a){var b=a.parentNode;return b&&11!==b.nodeType?b:null},parents:function(a){return n.dir(a,"parentNode")},parentsUntil:function(a,b,c){return n.dir(a,"parentNode",c)},next:function(a){return E(a,"nextSibling")},prev:function(a){return E(a,"previousSibling")},nextAll:function(a){return n.dir(a,"nextSibling")},prevAll:function(a){return n.dir(a,"previousSibling")},nextUntil:function(a,b,c){return n.dir(a,"nextSibling",c)},prevUntil:function(a,b,c){return n.dir(a,"previousSibling",c)},siblings:function(a){return n.sibling((a.parentNode||{}).firstChild,a)},children:function(a){return n.sibling(a.firstChild)},contents:function(a){return n.nodeName(a,"iframe")?a.contentDocument||a.contentWindow.document:n.merge([],a.childNodes)}},function(a,b){n.fn[a]=function(c,d){var e=n.map(this,b,c);return"Until"!==a.slice(-5)&&(d=c),d&&"string"==typeof d&&(e=n.filter(d,e)),this.length>1&&(D[a]||(e=n.unique(e)),C.test(a)&&(e=e.reverse())),this.pushStack(e)}});var F=/\S+/g,G={};function H(a){var b=G[a]={};return n.each(a.match(F)||[],function(a,c){b[c]=!0}),b}n.Callbacks=function(a){a="string"==typeof a?G[a]||H(a):n.extend({},a);var b,c,d,e,f,g,h=[],i=!a.once&&[],j=function(l){for(c=a.memory&&l,d=!0,f=g||0,g=0,e=h.length,b=!0;h&&e>f;f++)if(h[f].apply(l[0],l[1])===!1&&a.stopOnFalse){c=!1;break}b=!1,h&&(i?i.length&&j(i.shift()):c?h=[]:k.disable())},k={add:function(){if(h){var d=h.length;!function f(b){n.each(b,function(b,c){var d=n.type(c);"function"===d?a.unique&&k.has(c)||h.push(c):c&&c.length&&"string"!==d&&f(c)})}(arguments),b?e=h.length:c&&(g=d,j(c))}return this},remove:function(){return h&&n.each(arguments,function(a,c){var d;while((d=n.inArray(c,h,d))>-1)h.splice(d,1),b&&(e>=d&&e--,f>=d&&f--)}),this},has:function(a){return a?n.inArray(a,h)>-1:!(!h||!h.length)},empty:function(){return h=[],e=0,this},disable:function(){return h=i=c=void 0,this},disabled:function(){return!h},lock:function(){return i=void 0,c||k.disable(),this},locked:function(){return!i},fireWith:function(a,c){return!h||d&&!i||(c=c||[],c=[a,c.slice?c.slice():c],b?i.push(c):j(c)),this},fire:function(){return k.fireWith(this,arguments),this},fired:function(){return!!d}};return k},n.extend({Deferred:function(a){var b=[["resolve","done",n.Callbacks("once memory"),"resolved"],["reject","fail",n.Callbacks("once memory"),"rejected"],["notify","progress",n.Callbacks("memory")]],c="pending",d={state:function(){return c},always:function(){return e.done(arguments).fail(arguments),this},then:function(){var a=arguments;return n.Deferred(function(c){n.each(b,function(b,f){var g=n.isFunction(a[b])&&a[b];e[f[1]](function(){var a=g&&g.apply(this,arguments);a&&n.isFunction(a.promise)?a.promise().done(c.resolve).fail(c.reject).progress(c.notify):c[f[0]+"With"](this===d?c.promise():this,g?[a]:arguments)})}),a=null}).promise()},promise:function(a){return null!=a?n.extend(a,d):d}},e={};return d.pipe=d.then,n.each(b,function(a,f){var g=f[2],h=f[3];d[f[1]]=g.add,h&&g.add(function(){c=h},b[1^a][2].disable,b[2][2].lock),e[f[0]]=function(){return e[f[0]+"With"](this===e?d:this,arguments),this},e[f[0]+"With"]=g.fireWith}),d.promise(e),a&&a.call(e,e),e},when:function(a){var b=0,c=d.call(arguments),e=c.length,f=1!==e||a&&n.isFunction(a.promise)?e:0,g=1===f?a:n.Deferred(),h=function(a,b,c){return function(e){b[a]=this,c[a]=arguments.length>1?d.call(arguments):e,c===i?g.notifyWith(b,c):--f||g.resolveWith(b,c)}},i,j,k;if(e>1)for(i=new Array(e),j=new Array(e),k=new Array(e);e>b;b++)c[b]&&n.isFunction(c[b].promise)?c[b].promise().done(h(b,k,c)).fail(g.reject).progress(h(b,j,i)):--f;return f||g.resolveWith(k,c),g.promise()}});var I;n.fn.ready=function(a){return n.ready.promise().done(a),this},n.extend({isReady:!1,readyWait:1,holdReady:function(a){a?n.readyWait++:n.ready(!0)},ready:function(a){if(a===!0?!--n.readyWait:!n.isReady){if(!z.body)return setTimeout(n.ready);n.isReady=!0,a!==!0&&--n.readyWait>0||(I.resolveWith(z,[n]),n.fn.trigger&&n(z).trigger("ready").off("ready"))}}});function J(){z.addEventListener?(z.removeEventListener("DOMContentLoaded",K,!1),a.removeEventListener("load",K,!1)):(z.detachEvent("onreadystatechange",K),a.detachEvent("onload",K))}function K(){(z.addEventListener||"load"===event.type||"complete"===z.readyState)&&(J(),n.ready())}n.ready.promise=function(b){if(!I)if(I=n.Deferred(),"complete"===z.readyState)setTimeout(n.ready);else if(z.addEventListener)z.addEventListener("DOMContentLoaded",K,!1),a.addEventListener("load",K,!1);else{z.attachEvent("onreadystatechange",K),a.attachEvent("onload",K);var c=!1;try{c=null==a.frameElement&&z.documentElement}catch(d){}c&&c.doScroll&&!function e(){if(!n.isReady){try{c.doScroll("left")}catch(a){return setTimeout(e,50)}J(),n.ready()}}()}return I.promise(b)};var L="undefined",M;for(M in n(l))break;l.ownLast="0"!==M,l.inlineBlockNeedsLayout=!1,n(function(){var a,b,c=z.getElementsByTagName("body")[0];c&&(a=z.createElement("div"),a.style.cssText="border:0;width:0;height:0;position:absolute;top:0;left:-9999px;margin-top:1px",b=z.createElement("div"),c.appendChild(a).appendChild(b),typeof b.style.zoom!==L&&(b.style.cssText="border:0;margin:0;width:1px;padding:1px;display:inline;zoom:1",(l.inlineBlockNeedsLayout=3===b.offsetWidth)&&(c.style.zoom=1)),c.removeChild(a),a=b=null)}),function(){var a=z.createElement("div");if(null==l.deleteExpando){l.deleteExpando=!0;try{delete a.test}catch(b){l.deleteExpando=!1}}a=null}(),n.acceptData=function(a){var b=n.noData[(a.nodeName+" ").toLowerCase()],c=+a.nodeType||1;return 1!==c&&9!==c?!1:!b||b!==!0&&a.getAttribute("classid")===b};var N=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,O=/([A-Z])/g;function P(a,b,c){if(void 0===c&&1===a.nodeType){var d="data-"+b.replace(O,"-$1").toLowerCase();if(c=a.getAttribute(d),"string"==typeof c){try{c="true"===c?!0:"false"===c?!1:"null"===c?null:+c+""===c?+c:N.test(c)?n.parseJSON(c):c}catch(e){}n.data(a,b,c)}else c=void 0}return c}function Q(a){var b;for(b in a)if(("data"!==b||!n.isEmptyObject(a[b]))&&"toJSON"!==b)return!1;return!0}function R(a,b,d,e){if(n.acceptData(a)){var f,g,h=n.expando,i=a.nodeType,j=i?n.cache:a,k=i?a[h]:a[h]&&h;if(k&&j[k]&&(e||j[k].data)||void 0!==d||"string"!=typeof b)return k||(k=i?a[h]=c.pop()||n.guid++:h),j[k]||(j[k]=i?{}:{toJSON:n.noop}),("object"==typeof b||"function"==typeof b)&&(e?j[k]=n.extend(j[k],b):j[k].data=n.extend(j[k].data,b)),g=j[k],e||(g.data||(g.data={}),g=g.data),void 0!==d&&(g[n.camelCase(b)]=d),"string"==typeof b?(f=g[b],null==f&&(f=g[n.camelCase(b)])):f=g,f +}}function S(a,b,c){if(n.acceptData(a)){var d,e,f=a.nodeType,g=f?n.cache:a,h=f?a[n.expando]:n.expando;if(g[h]){if(b&&(d=c?g[h]:g[h].data)){n.isArray(b)?b=b.concat(n.map(b,n.camelCase)):b in d?b=[b]:(b=n.camelCase(b),b=b in d?[b]:b.split(" ")),e=b.length;while(e--)delete d[b[e]];if(c?!Q(d):!n.isEmptyObject(d))return}(c||(delete g[h].data,Q(g[h])))&&(f?n.cleanData([a],!0):l.deleteExpando||g!=g.window?delete g[h]:g[h]=null)}}}n.extend({cache:{},noData:{"applet ":!0,"embed ":!0,"object ":"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"},hasData:function(a){return a=a.nodeType?n.cache[a[n.expando]]:a[n.expando],!!a&&!Q(a)},data:function(a,b,c){return R(a,b,c)},removeData:function(a,b){return S(a,b)},_data:function(a,b,c){return R(a,b,c,!0)},_removeData:function(a,b){return S(a,b,!0)}}),n.fn.extend({data:function(a,b){var c,d,e,f=this[0],g=f&&f.attributes;if(void 0===a){if(this.length&&(e=n.data(f),1===f.nodeType&&!n._data(f,"parsedAttrs"))){c=g.length;while(c--)d=g[c].name,0===d.indexOf("data-")&&(d=n.camelCase(d.slice(5)),P(f,d,e[d]));n._data(f,"parsedAttrs",!0)}return e}return"object"==typeof a?this.each(function(){n.data(this,a)}):arguments.length>1?this.each(function(){n.data(this,a,b)}):f?P(f,a,n.data(f,a)):void 0},removeData:function(a){return this.each(function(){n.removeData(this,a)})}}),n.extend({queue:function(a,b,c){var d;return a?(b=(b||"fx")+"queue",d=n._data(a,b),c&&(!d||n.isArray(c)?d=n._data(a,b,n.makeArray(c)):d.push(c)),d||[]):void 0},dequeue:function(a,b){b=b||"fx";var c=n.queue(a,b),d=c.length,e=c.shift(),f=n._queueHooks(a,b),g=function(){n.dequeue(a,b)};"inprogress"===e&&(e=c.shift(),d--),e&&("fx"===b&&c.unshift("inprogress"),delete f.stop,e.call(a,g,f)),!d&&f&&f.empty.fire()},_queueHooks:function(a,b){var c=b+"queueHooks";return n._data(a,c)||n._data(a,c,{empty:n.Callbacks("once memory").add(function(){n._removeData(a,b+"queue"),n._removeData(a,c)})})}}),n.fn.extend({queue:function(a,b){var c=2;return"string"!=typeof a&&(b=a,a="fx",c--),arguments.lengthh;h++)b(a[h],c,g?d:d.call(a[h],h,b(a[h],c)));return e?a:j?b.call(a):i?b(a[0],c):f},X=/^(?:checkbox|radio)$/i;!function(){var a=z.createDocumentFragment(),b=z.createElement("div"),c=z.createElement("input");if(b.setAttribute("className","t"),b.innerHTML="
              a",l.leadingWhitespace=3===b.firstChild.nodeType,l.tbody=!b.getElementsByTagName("tbody").length,l.htmlSerialize=!!b.getElementsByTagName("link").length,l.html5Clone="<:nav>"!==z.createElement("nav").cloneNode(!0).outerHTML,c.type="checkbox",c.checked=!0,a.appendChild(c),l.appendChecked=c.checked,b.innerHTML="",l.noCloneChecked=!!b.cloneNode(!0).lastChild.defaultValue,a.appendChild(b),b.innerHTML="",l.checkClone=b.cloneNode(!0).cloneNode(!0).lastChild.checked,l.noCloneEvent=!0,b.attachEvent&&(b.attachEvent("onclick",function(){l.noCloneEvent=!1}),b.cloneNode(!0).click()),null==l.deleteExpando){l.deleteExpando=!0;try{delete b.test}catch(d){l.deleteExpando=!1}}a=b=c=null}(),function(){var b,c,d=z.createElement("div");for(b in{submit:!0,change:!0,focusin:!0})c="on"+b,(l[b+"Bubbles"]=c in a)||(d.setAttribute(c,"t"),l[b+"Bubbles"]=d.attributes[c].expando===!1);d=null}();var Y=/^(?:input|select|textarea)$/i,Z=/^key/,$=/^(?:mouse|contextmenu)|click/,_=/^(?:focusinfocus|focusoutblur)$/,ab=/^([^.]*)(?:\.(.+)|)$/;function bb(){return!0}function cb(){return!1}function db(){try{return z.activeElement}catch(a){}}n.event={global:{},add:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,o,p,q,r=n._data(a);if(r){c.handler&&(i=c,c=i.handler,e=i.selector),c.guid||(c.guid=n.guid++),(g=r.events)||(g=r.events={}),(k=r.handle)||(k=r.handle=function(a){return typeof n===L||a&&n.event.triggered===a.type?void 0:n.event.dispatch.apply(k.elem,arguments)},k.elem=a),b=(b||"").match(F)||[""],h=b.length;while(h--)f=ab.exec(b[h])||[],o=q=f[1],p=(f[2]||"").split(".").sort(),o&&(j=n.event.special[o]||{},o=(e?j.delegateType:j.bindType)||o,j=n.event.special[o]||{},l=n.extend({type:o,origType:q,data:d,handler:c,guid:c.guid,selector:e,needsContext:e&&n.expr.match.needsContext.test(e),namespace:p.join(".")},i),(m=g[o])||(m=g[o]=[],m.delegateCount=0,j.setup&&j.setup.call(a,d,p,k)!==!1||(a.addEventListener?a.addEventListener(o,k,!1):a.attachEvent&&a.attachEvent("on"+o,k))),j.add&&(j.add.call(a,l),l.handler.guid||(l.handler.guid=c.guid)),e?m.splice(m.delegateCount++,0,l):m.push(l),n.event.global[o]=!0);a=null}},remove:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,o,p,q,r=n.hasData(a)&&n._data(a);if(r&&(k=r.events)){b=(b||"").match(F)||[""],j=b.length;while(j--)if(h=ab.exec(b[j])||[],o=q=h[1],p=(h[2]||"").split(".").sort(),o){l=n.event.special[o]||{},o=(d?l.delegateType:l.bindType)||o,m=k[o]||[],h=h[2]&&new RegExp("(^|\\.)"+p.join("\\.(?:.*\\.|)")+"(\\.|$)"),i=f=m.length;while(f--)g=m[f],!e&&q!==g.origType||c&&c.guid!==g.guid||h&&!h.test(g.namespace)||d&&d!==g.selector&&("**"!==d||!g.selector)||(m.splice(f,1),g.selector&&m.delegateCount--,l.remove&&l.remove.call(a,g));i&&!m.length&&(l.teardown&&l.teardown.call(a,p,r.handle)!==!1||n.removeEvent(a,o,r.handle),delete k[o])}else for(o in k)n.event.remove(a,o+b[j],c,d,!0);n.isEmptyObject(k)&&(delete r.handle,n._removeData(a,"events"))}},trigger:function(b,c,d,e){var f,g,h,i,k,l,m,o=[d||z],p=j.call(b,"type")?b.type:b,q=j.call(b,"namespace")?b.namespace.split("."):[];if(h=l=d=d||z,3!==d.nodeType&&8!==d.nodeType&&!_.test(p+n.event.triggered)&&(p.indexOf(".")>=0&&(q=p.split("."),p=q.shift(),q.sort()),g=p.indexOf(":")<0&&"on"+p,b=b[n.expando]?b:new n.Event(p,"object"==typeof b&&b),b.isTrigger=e?2:3,b.namespace=q.join("."),b.namespace_re=b.namespace?new RegExp("(^|\\.)"+q.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,b.result=void 0,b.target||(b.target=d),c=null==c?[b]:n.makeArray(c,[b]),k=n.event.special[p]||{},e||!k.trigger||k.trigger.apply(d,c)!==!1)){if(!e&&!k.noBubble&&!n.isWindow(d)){for(i=k.delegateType||p,_.test(i+p)||(h=h.parentNode);h;h=h.parentNode)o.push(h),l=h;l===(d.ownerDocument||z)&&o.push(l.defaultView||l.parentWindow||a)}m=0;while((h=o[m++])&&!b.isPropagationStopped())b.type=m>1?i:k.bindType||p,f=(n._data(h,"events")||{})[b.type]&&n._data(h,"handle"),f&&f.apply(h,c),f=g&&h[g],f&&f.apply&&n.acceptData(h)&&(b.result=f.apply(h,c),b.result===!1&&b.preventDefault());if(b.type=p,!e&&!b.isDefaultPrevented()&&(!k._default||k._default.apply(o.pop(),c)===!1)&&n.acceptData(d)&&g&&d[p]&&!n.isWindow(d)){l=d[g],l&&(d[g]=null),n.event.triggered=p;try{d[p]()}catch(r){}n.event.triggered=void 0,l&&(d[g]=l)}return b.result}},dispatch:function(a){a=n.event.fix(a);var b,c,e,f,g,h=[],i=d.call(arguments),j=(n._data(this,"events")||{})[a.type]||[],k=n.event.special[a.type]||{};if(i[0]=a,a.delegateTarget=this,!k.preDispatch||k.preDispatch.call(this,a)!==!1){h=n.event.handlers.call(this,a,j),b=0;while((f=h[b++])&&!a.isPropagationStopped()){a.currentTarget=f.elem,g=0;while((e=f.handlers[g++])&&!a.isImmediatePropagationStopped())(!a.namespace_re||a.namespace_re.test(e.namespace))&&(a.handleObj=e,a.data=e.data,c=((n.event.special[e.origType]||{}).handle||e.handler).apply(f.elem,i),void 0!==c&&(a.result=c)===!1&&(a.preventDefault(),a.stopPropagation()))}return k.postDispatch&&k.postDispatch.call(this,a),a.result}},handlers:function(a,b){var c,d,e,f,g=[],h=b.delegateCount,i=a.target;if(h&&i.nodeType&&(!a.button||"click"!==a.type))for(;i!=this;i=i.parentNode||this)if(1===i.nodeType&&(i.disabled!==!0||"click"!==a.type)){for(e=[],f=0;h>f;f++)d=b[f],c=d.selector+" ",void 0===e[c]&&(e[c]=d.needsContext?n(c,this).index(i)>=0:n.find(c,this,null,[i]).length),e[c]&&e.push(d);e.length&&g.push({elem:i,handlers:e})}return h]","i"),ib=/^\s+/,jb=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,kb=/<([\w:]+)/,lb=/\s*$/g,sb={option:[1,""],legend:[1,"
              ","
              "],area:[1,"",""],param:[1,"",""],thead:[1,"","
              "],tr:[2,"","
              "],col:[2,"","
              "],td:[3,"","
              "],_default:l.htmlSerialize?[0,"",""]:[1,"X
              ","
              "]},tb=eb(z),ub=tb.appendChild(z.createElement("div"));sb.optgroup=sb.option,sb.tbody=sb.tfoot=sb.colgroup=sb.caption=sb.thead,sb.th=sb.td;function vb(a,b){var c,d,e=0,f=typeof a.getElementsByTagName!==L?a.getElementsByTagName(b||"*"):typeof a.querySelectorAll!==L?a.querySelectorAll(b||"*"):void 0;if(!f)for(f=[],c=a.childNodes||a;null!=(d=c[e]);e++)!b||n.nodeName(d,b)?f.push(d):n.merge(f,vb(d,b));return void 0===b||b&&n.nodeName(a,b)?n.merge([a],f):f}function wb(a){X.test(a.type)&&(a.defaultChecked=a.checked)}function xb(a,b){return n.nodeName(a,"table")&&n.nodeName(11!==b.nodeType?b:b.firstChild,"tr")?a.getElementsByTagName("tbody")[0]||a.appendChild(a.ownerDocument.createElement("tbody")):a}function yb(a){return a.type=(null!==n.find.attr(a,"type"))+"/"+a.type,a}function zb(a){var b=qb.exec(a.type);return b?a.type=b[1]:a.removeAttribute("type"),a}function Ab(a,b){for(var c,d=0;null!=(c=a[d]);d++)n._data(c,"globalEval",!b||n._data(b[d],"globalEval"))}function Bb(a,b){if(1===b.nodeType&&n.hasData(a)){var c,d,e,f=n._data(a),g=n._data(b,f),h=f.events;if(h){delete g.handle,g.events={};for(c in h)for(d=0,e=h[c].length;e>d;d++)n.event.add(b,c,h[c][d])}g.data&&(g.data=n.extend({},g.data))}}function Cb(a,b){var c,d,e;if(1===b.nodeType){if(c=b.nodeName.toLowerCase(),!l.noCloneEvent&&b[n.expando]){e=n._data(b);for(d in e.events)n.removeEvent(b,d,e.handle);b.removeAttribute(n.expando)}"script"===c&&b.text!==a.text?(yb(b).text=a.text,zb(b)):"object"===c?(b.parentNode&&(b.outerHTML=a.outerHTML),l.html5Clone&&a.innerHTML&&!n.trim(b.innerHTML)&&(b.innerHTML=a.innerHTML)):"input"===c&&X.test(a.type)?(b.defaultChecked=b.checked=a.checked,b.value!==a.value&&(b.value=a.value)):"option"===c?b.defaultSelected=b.selected=a.defaultSelected:("input"===c||"textarea"===c)&&(b.defaultValue=a.defaultValue)}}n.extend({clone:function(a,b,c){var d,e,f,g,h,i=n.contains(a.ownerDocument,a);if(l.html5Clone||n.isXMLDoc(a)||!hb.test("<"+a.nodeName+">")?f=a.cloneNode(!0):(ub.innerHTML=a.outerHTML,ub.removeChild(f=ub.firstChild)),!(l.noCloneEvent&&l.noCloneChecked||1!==a.nodeType&&11!==a.nodeType||n.isXMLDoc(a)))for(d=vb(f),h=vb(a),g=0;null!=(e=h[g]);++g)d[g]&&Cb(e,d[g]);if(b)if(c)for(h=h||vb(a),d=d||vb(f),g=0;null!=(e=h[g]);g++)Bb(e,d[g]);else Bb(a,f);return d=vb(f,"script"),d.length>0&&Ab(d,!i&&vb(a,"script")),d=h=e=null,f},buildFragment:function(a,b,c,d){for(var e,f,g,h,i,j,k,m=a.length,o=eb(b),p=[],q=0;m>q;q++)if(f=a[q],f||0===f)if("object"===n.type(f))n.merge(p,f.nodeType?[f]:f);else if(mb.test(f)){h=h||o.appendChild(b.createElement("div")),i=(kb.exec(f)||["",""])[1].toLowerCase(),k=sb[i]||sb._default,h.innerHTML=k[1]+f.replace(jb,"<$1>")+k[2],e=k[0];while(e--)h=h.lastChild;if(!l.leadingWhitespace&&ib.test(f)&&p.push(b.createTextNode(ib.exec(f)[0])),!l.tbody){f="table"!==i||lb.test(f)?""!==k[1]||lb.test(f)?0:h:h.firstChild,e=f&&f.childNodes.length;while(e--)n.nodeName(j=f.childNodes[e],"tbody")&&!j.childNodes.length&&f.removeChild(j)}n.merge(p,h.childNodes),h.textContent="";while(h.firstChild)h.removeChild(h.firstChild);h=o.lastChild}else p.push(b.createTextNode(f));h&&o.removeChild(h),l.appendChecked||n.grep(vb(p,"input"),wb),q=0;while(f=p[q++])if((!d||-1===n.inArray(f,d))&&(g=n.contains(f.ownerDocument,f),h=vb(o.appendChild(f),"script"),g&&Ab(h),c)){e=0;while(f=h[e++])pb.test(f.type||"")&&c.push(f)}return h=null,o},cleanData:function(a,b){for(var d,e,f,g,h=0,i=n.expando,j=n.cache,k=l.deleteExpando,m=n.event.special;null!=(d=a[h]);h++)if((b||n.acceptData(d))&&(f=d[i],g=f&&j[f])){if(g.events)for(e in g.events)m[e]?n.event.remove(d,e):n.removeEvent(d,e,g.handle);j[f]&&(delete j[f],k?delete d[i]:typeof d.removeAttribute!==L?d.removeAttribute(i):d[i]=null,c.push(f))}}}),n.fn.extend({text:function(a){return W(this,function(a){return void 0===a?n.text(this):this.empty().append((this[0]&&this[0].ownerDocument||z).createTextNode(a))},null,a,arguments.length)},append:function(){return this.domManip(arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=xb(this,a);b.appendChild(a)}})},prepend:function(){return this.domManip(arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=xb(this,a);b.insertBefore(a,b.firstChild)}})},before:function(){return this.domManip(arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this)})},after:function(){return this.domManip(arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this.nextSibling)})},remove:function(a,b){for(var c,d=a?n.filter(a,this):this,e=0;null!=(c=d[e]);e++)b||1!==c.nodeType||n.cleanData(vb(c)),c.parentNode&&(b&&n.contains(c.ownerDocument,c)&&Ab(vb(c,"script")),c.parentNode.removeChild(c));return this},empty:function(){for(var a,b=0;null!=(a=this[b]);b++){1===a.nodeType&&n.cleanData(vb(a,!1));while(a.firstChild)a.removeChild(a.firstChild);a.options&&n.nodeName(a,"select")&&(a.options.length=0)}return this},clone:function(a,b){return a=null==a?!1:a,b=null==b?a:b,this.map(function(){return n.clone(this,a,b)})},html:function(a){return W(this,function(a){var b=this[0]||{},c=0,d=this.length;if(void 0===a)return 1===b.nodeType?b.innerHTML.replace(gb,""):void 0;if(!("string"!=typeof a||nb.test(a)||!l.htmlSerialize&&hb.test(a)||!l.leadingWhitespace&&ib.test(a)||sb[(kb.exec(a)||["",""])[1].toLowerCase()])){a=a.replace(jb,"<$1>");try{for(;d>c;c++)b=this[c]||{},1===b.nodeType&&(n.cleanData(vb(b,!1)),b.innerHTML=a);b=0}catch(e){}}b&&this.empty().append(a)},null,a,arguments.length)},replaceWith:function(){var a=arguments[0];return this.domManip(arguments,function(b){a=this.parentNode,n.cleanData(vb(this)),a&&a.replaceChild(b,this)}),a&&(a.length||a.nodeType)?this:this.remove()},detach:function(a){return this.remove(a,!0)},domManip:function(a,b){a=e.apply([],a);var c,d,f,g,h,i,j=0,k=this.length,m=this,o=k-1,p=a[0],q=n.isFunction(p);if(q||k>1&&"string"==typeof p&&!l.checkClone&&ob.test(p))return this.each(function(c){var d=m.eq(c);q&&(a[0]=p.call(this,c,d.html())),d.domManip(a,b)});if(k&&(i=n.buildFragment(a,this[0].ownerDocument,!1,this),c=i.firstChild,1===i.childNodes.length&&(i=c),c)){for(g=n.map(vb(i,"script"),yb),f=g.length;k>j;j++)d=i,j!==o&&(d=n.clone(d,!0,!0),f&&n.merge(g,vb(d,"script"))),b.call(this[j],d,j);if(f)for(h=g[g.length-1].ownerDocument,n.map(g,zb),j=0;f>j;j++)d=g[j],pb.test(d.type||"")&&!n._data(d,"globalEval")&&n.contains(h,d)&&(d.src?n._evalUrl&&n._evalUrl(d.src):n.globalEval((d.text||d.textContent||d.innerHTML||"").replace(rb,"")));i=c=null}return this}}),n.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){n.fn[a]=function(a){for(var c,d=0,e=[],g=n(a),h=g.length-1;h>=d;d++)c=d===h?this:this.clone(!0),n(g[d])[b](c),f.apply(e,c.get());return this.pushStack(e)}});var Db,Eb={};function Fb(b,c){var d=n(c.createElement(b)).appendTo(c.body),e=a.getDefaultComputedStyle?a.getDefaultComputedStyle(d[0]).display:n.css(d[0],"display");return d.detach(),e}function Gb(a){var b=z,c=Eb[a];return c||(c=Fb(a,b),"none"!==c&&c||(Db=(Db||n("

              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ðB^hs?eSG?_|9nX5btsyx8pgocGI2Gu!%-X+`=| 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�hboBU$Ig)Fv{kRvYH)rZrPe$x)IN8 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

              aP_WH8`dD;F^4&D1dhHL)?zgfJUJJIL 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≷f5}6bE%TwWar(CM-H5r#{DXj^|V}%y4WiaFo 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 R?A2noS4+ (:predicate "heading" :args ("spaced phrase" "another" t) :combinator and) +#+END_SRC + +I don't know where the =t= is coming from. + +The next step is to make it work with multi-token queries. It needs to handle all of the tokens in one parser so it can handle quoted phrases (if we split on spaces, it would split quoted phrases). But that makes getting the arguments out of it more difficult. Probably need to do something like this: + +#+BEGIN_SRC elisp + (-let* ((input "todo:check|someday") + (input "tags:universe+space") + (input "heading:\"spaced phrase\"") + (input "") + (input "heading:\"spaced phrase\"+another") + combinator + (parsed (peg-parse-string ((query (+ (or (and predicate `(pred args -- (list :predicate pred :args args))) + (and plain-string `(s -- (list :predicate 'regexp :args s)))) + (opt (syntax-class whitespace)))) + (plain-string (substring (+ (not (syntax-class whitespace)) (any)))) + (predicate (substring keyword) ":" (opt args)) + (keyword (or "heading" "tags" "todo" "property")) + (args (+ (and (or quoted-arg unquoted-arg) (opt separator)))) + (quoted-arg "\"" unquoted-arg "\"") + (unquoted-arg (substring (+ (not (or separator "\"")) (any)))) + (separator (or (and "|" (action (setf combinator 'or))) + (and "+" (action (setf combinator 'and))) + (and ":" (action (setf combinator 'arg)))))) + input 'noerror))) + parsed) +#+END_SRC + +In which lists are pushed onto the stack and returned, rather than strings. But I don't understand yet exactly how to use the =var= forms to consume input from the "value stack"; I need to study the examples more. I'm also not sure if that will even work with a variable number of arguments. + +This seems to work, but we'll have to parse the args again in a separate step: + +#+BEGIN_SRC elisp + (-let* ((input "todo:check|someday") + (input "tags:universe+space") + (input "heading:\"spaced phrase\"") + (input "") + (input "heading:\"spaced phrase\"+another") + (input "heading:\"spaced phrase\"+another todo:check") + combinator + (parsed (peg-parse-string ((query (+ (or (and predicate `(pred args -- (list :predicate pred :args args))) + (and plain-string `(s -- (list :predicate 'regexp :args s)))) + (opt (+ (syntax-class whitespace) (any))))) + (plain-string (substring (+ (not (syntax-class whitespace)) (any)))) + (predicate (substring keyword) ":" (opt args)) + (keyword (or "heading" "tags" "todo" "property")) + (args (substring (+ (and (or quoted-arg unquoted-arg) (opt separator))))) + (quoted-arg "\"" (+ (not (or separator "\"")) (any)) "\"") + (unquoted-arg (+ (not (or separator "\"" (syntax-class whitespace))) (any))) + (separator (or (and "|" (action (setf combinator 'or))) + (and "+" (action (setf combinator 'and))) + (and ":" (action (setf combinator 'arg)))))) + input 'noerror))) + parsed) + ;;=> (t (:predicate "todo" :args "check") (:predicate "heading" :args "\"spaced phrase\"+another")) +#+END_SRC + +Well, a bit of fiddling (lots of trial-and-error required) produced this: + +#+BEGIN_SRC elisp + (-let* ((input "todo:check|someday") + (input "tags:universe+space") + (input "heading:\"spaced phrase\"") + (input "") + (input "heading:\"spaced phrase\"+another") + (input "heading:\"spaced phrase\"+another todo:check") + combinator + (parsed (peg-parse-string ((query (+ (or (and predicate `(pred args -- (list :predicate pred :args args))) + (and plain-string `(s -- (list :predicate 'regexp :args s)))) + (opt (+ (syntax-class whitespace) (any))))) + (plain-string (substring (+ (not (syntax-class whitespace)) (any)))) + (predicate (substring keyword) ":" (opt args)) + (keyword (or "heading" "tags" "todo" "property")) + (args (list (+ (and (substring (or quoted-arg unquoted-arg)) (opt separator))))) + (quoted-arg "\"" (+ (not (or separator "\"")) (any)) "\"") + (unquoted-arg (+ (not (or separator "\"" (syntax-class whitespace))) (any))) + (separator (or (and "|" (action (setf combinator 'or))) + (and "+" (action (setf combinator 'and))) + (and ":" (action (setf combinator 'arg)))))) + input 'noerror))) + parsed) + ;;=> (t (:predicate "todo" :args ("check")) (:predicate "heading" :args ("\"spaced phrase\"" "another"))) +#+END_SRC + +That seems pretty usable! + +** TODO [#B] Timeline view + +e.g. as mentioned by Samuel Wales at https://lists.gnu.org/archive/html/emacs-orgmode/2019-08/msg00330.html. Prototype code: + +#+BEGIN_SRC elisp + (cl-defun org-ql-timeline (buffers-files query) + (let ((results + (org-ql-select buffers-files + query :action + (lambda () + (let* ((heading-string + (->> (org-element-headline-parser + (line-end-position)) + org-ql--add-markers + org-ql-agenda--format-element)) + (timestamps + (cl-loop with limit = (org-entry-end-position) + while (re-search-forward org-ts-regexp-both + limit t) + collect (ts-parse-org (match-string 0)))) + (timestamp-strings + (->> timestamps + (-sort #'ts<) + (--map (concat " " (ts-format it)))))) + (s-join "\n" (cons heading-string timestamp-strings)))) + :sort '(date)))) + (org-ql-agenda--agenda nil nil :strings results))) + + (org-ql-timeline (org-agenda-files) + '(and "Emacs" (ts))) + + ;; More timeline-like version, organized by date rather than task. + + (cl-defun org-ql-timeline* (buffers-files query &key filter-ts) + (let* ((ts-ht (ht)) + (results (org-ql-select buffers-files + query + :action (lambda () + (let* ((heading-string + (->> (org-element-headline-parser + (line-end-position)) + org-ql--add-markers + org-ql-agenda--format-element)) + (date-timestamps + ;; Each one set to 00:00:00. + (cl-loop with limit = (org-entry-end-position) + while (re-search-forward org-ts-regexp-both + limit t) + collect (->> (match-string 0) + ts-parse-org + (ts-apply :hour 0 :minute 0 :second 0))))) + (setf date-timestamps (delete-dups date-timestamps)) + (when filter-ts + (setf date-timestamps (cl-remove-if-not filter-ts date-timestamps))) + (--each date-timestamps + (push heading-string (gethash it ts-ht))))))) + (tss-sorted (-sort #'ts< (ht-keys ts-ht))) + (strings (cl-loop for ts in tss-sorted + collect (concat "\n" + (propertize (ts-format "%Y-%m-%d" ts) + 'face 'org-agenda-structure)) + append (ht-get ts-ht ts)))) + (org-ql-agenda--agenda nil nil :strings strings))) +#+END_SRC + ** TODO [#A] Outline path in buffers-files arg e.g. diff --git a/org-ql-search.el b/org-ql-search.el index cbe1e5c..c97a1d0 100644 --- a/org-ql-search.el +++ b/org-ql-search.el @@ -58,7 +58,6 @@ matches, which allows stacking calls to this command. Runs `org-occur-hook' after making the sparse tree." ;; Code based on `org-occur'. - ;; TODO: Use `helm-org-ql' plain-text query processing. (interactive (list (read-minibuffer "Query: ") :keep-previous current-prefix-arg)) (with-current-buffer buffer @@ -83,7 +82,7 @@ Runs `org-occur-hook' after making the sparse tree." ;;;###autoload (cl-defun org-ql-search (buffers-files query &key narrow super-groups sort title (buffer org-ql-view-buffer)) - "Read QUERY and search with `org-ql'. + "Search for QUERY with `org-ql'. Interactively, prompt for these variables: BUFFERS-FILES: A list of buffers and/or files to search. @@ -95,6 +94,9 @@ Interactively, may also be: - An expression which evaluates to a list of files/buffers - A space-separated list of file or buffer names +QUERY: An `org-ql' query in either sexp or \"plain string\" +form (see documentation). + SUPER-GROUPS: An `org-super-agenda' group set. See variable `org-super-agenda-groups'. @@ -120,7 +122,7 @@ necessary." ("buffer" (current-buffer)) ((and form (guard (rx bos "("))) (-flatten (eval (read form)))) (else (s-split (rx (1+ space)) else))) - (read-minibuffer "Query: ") + (read-string "Query: ") :narrow (eq current-prefix-arg '(4)) :super-groups (when (bound-and-true-p org-super-agenda-auto-selector-keywords) (pcase (completing-read "Group by: " @@ -140,13 +142,19 @@ necessary." "todo")) ("Don't sort" nil) (sort (intern sort))))) - (let* ((results (org-ql-select buffers-files query + (let* ((query (cl-etypecase query + (string (if (string-match-p (rx bos (1+ alpha) ":") query) + ;; Parse non-sexp query into sexp query. + (org-ql--plain-query query) + ;; Read sexp query. + (read query))) + (list query))) + (results (org-ql-select buffers-files query :action 'element-with-markers :narrow narrow :sort sort)) (strings (-map #'org-ql-view--format-element results)) - (title (or title (format "%S in %S" query buffers-files))) - (buffer (or buffer (format "%s %s*" org-ql-view-buffer-name-prefix title))) + (buffer (or buffer (format "%s %s*" org-ql-view-buffer-name-prefix (or title query)))) (header (org-ql-view--header-line-format buffers-files query title)) ;; Bind variables for `org-ql-view--display' to set. (org-ql-view-buffers-files buffers-files) diff --git a/org-ql.el b/org-ql.el index 2934cbd..04ce4bd 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.3-pre -;; Package-Requires: ((emacs "26.1") (dash "2.13") (org "9.0") (org-super-agenda "1.2-pre") (ov "1.0.6") (s "1.12.0") (ts "0.2-pre")) +;; Package-Requires: ((emacs "26.1") (dash "2.13") (dash-functional "1.2.0") (org "9.0") (org-super-agenda "1.2-pre") (ov "1.0.6") (peg "0.6") (s "1.12.0") (ts "0.2-pre")) ;; Keywords: hypermedia, outlines, Org, agenda ;;; Commentary: @@ -41,6 +41,7 @@ (require 'subr-x) (require 'dash) +(require 'dash-functional) (require 'ts) ;;;; Compatibility @@ -115,18 +116,25 @@ This list should not contain any duplicates.") (cl-defmacro org-ql--defpred (name args docstring &rest body) "Define an `org-ql' selector predicate named `org-ql--predicate-NAME'. -ARGS is a `cl-defun'-style argument list. DOCSTRING is the -function's docstring. BODY is the body of the predicate. +NAME may be a symbol or a list of symbols: if a list, the first +is used as the name and the rest are aliases. ARGS is a +`cl-defun'-style argument list. DOCSTRING is the function's +docstring. BODY is the body of the predicate. Predicates will be called with point on the beginning of an Org heading and should return non-nil if the heading's entry is a match." (declare (debug (symbolp listp stringp def-body)) (indent defun)) - (let ((fn-name (intern (concat "org-ql--predicate-" (symbol-name name)))) - (pred-name (intern (symbol-name name)))) + (let* ((aliases (when (listp name) + (cdr name))) + (name (cl-etypecase name + (list (car name)) + (atom name))) + (fn-name (intern (concat "org-ql--predicate-" (symbol-name name)))) + (pred-name (intern (symbol-name name)))) `(progn - (push (list :name ',pred-name :fn ',fn-name :docstring ,docstring :args ',args) org-ql-predicates) + (push (list :name ',pred-name :aliases ',aliases :fn ',fn-name :docstring ,docstring :args ',args) org-ql-predicates) (cl-defun ,fn-name ,args ,docstring ,@body)))) ;;;###autoload @@ -142,6 +150,8 @@ For convenience, arguments should be unquoted." ;;;; Functions +;;;;; Query execution + (define-hash-table-test 'org-ql-hash-test #'equal (lambda (args) (sxhash-equal (prin1-to-string args)))) @@ -272,6 +282,183 @@ NARROW corresponds to the `org-ql-select' argument NARROW." :narrow narrow :sort order-by)) +(defun org-ql--select-cached (&rest args) + "Return results for ARGS and current buffer using cache." + ;; MAYBE: Timeout cached queries. Probably not necessarily since they will be removed when a + ;; buffer is closed, or when a query is run after modifying a buffer. + (-let* (((&plist :query :preamble :action :narrow :preamble-case-fold) args) + (query-cache-key + ;; The key must include the preamble, because some queries are replaced by + ;; the preamble, leaving a nil query, which would make the key ambiguous. + (list :query query :preamble preamble :action action :preamble-case-fold preamble-case-fold + (if narrow + ;; Use bounds of narrowed portion of buffer. + (cons (point-min) (point-max)) + nil)))) + (if-let* ((buffer-cache (gethash (current-buffer) org-ql-cache)) + (query-cache (cadr buffer-cache)) + (modified-tick (car buffer-cache)) + (buffer-unmodified-p (eq (buffer-modified-tick) modified-tick)) + (cached-result (gethash query-cache-key query-cache))) + (pcase cached-result + ('org-ql-nil nil) + (_ cached-result)) + (let ((new-result (apply #'org-ql--select args))) + (cond ((or (not query-cache) + (not buffer-unmodified-p)) + (puthash (current-buffer) + (list (buffer-modified-tick) + (let ((table (make-hash-table :test 'org-ql-hash-test))) + (puthash query-cache-key (or new-result 'org-ql-nil) table) + table)) + org-ql-cache)) + (t (puthash query-cache-key (or new-result 'org-ql-nil) query-cache))) + new-result)))) + +(cl-defun org-ql--select (&key preamble preamble-case-fold predicate action narrow + &allow-other-keys) + "Return results of mapping function ACTION across entries in current buffer matching function PREDICATE. +If NARROW is non-nil, buffer will not be widened." + ;; Since the mappings are stored in the variable `org-ql-predicates', macros like `flet' + ;; can't be used, so we do it manually (this is same as the equivalent `flet' expansion). + ;; Mappings are stored in the variable because it allows predicates to be defined with a + ;; macro, which allows documentation to be easily generated for them. + + ;; MAYBE: Lift the `flet'-equivalent out of this function so it isn't done for each buffer. + (let (orig-fns) + (--each org-ql-predicates + ;; Save original function mappings. + (let ((name (plist-get it :name))) + (push (list :name name :fn (symbol-function name)) orig-fns))) + (unwind-protect + (progn + (--each org-ql-predicates + ;; Set predicate functions. + (fset (plist-get it :name) (plist-get it :fn))) + ;; Run query. + (save-excursion + (save-restriction + (unless narrow + (widen)) + (goto-char (point-min)) + (when (org-before-first-heading-p) + (outline-next-heading)) + (if (not (org-at-heading-p)) + (progn + ;; No headings in buffer: return nil. + (unless (string-prefix-p " " (buffer-name)) + ;; Not a special, hidden buffer: show message, because if a user accidentally + ;; searches a buffer without headings, he might be confused. + (message "org-ql: No headings in buffer: %s" (current-buffer))) + nil) + ;; Find matching entries. + (cond (preamble (let ((case-fold-search preamble-case-fold)) + (cl-loop while (re-search-forward preamble nil t) + do (outline-back-to-heading 'invisible-ok) + when (funcall predicate) + collect (funcall action) + do (outline-next-heading)))) + (t (cl-loop when (funcall predicate) + collect (funcall action) + while (outline-next-heading)))))))) + (--each orig-fns + ;; Restore original function mappings. + (fset (plist-get it :name) (plist-get it :fn)))))) + +;;;;; Helpers + +(defun org-ql--tags-at (position) + "Return tags for POSITION in current buffer. +Returns cons (INHERITED-TAGS . LOCAL-TAGS)." + ;; I'd like to use `-if-let*', but it doesn't leave non-nil variables + ;; bound in the else clause, so destructured variables that are non-nil, + ;; like found caches, are not available in the else clause. + (if-let* ((buffer-cache (gethash (current-buffer) org-ql-tags-cache)) + (modified-tick (car buffer-cache)) + (tags-cache (cdr buffer-cache)) + (buffer-unmodified-p (eq (buffer-modified-tick) modified-tick)) + (cached-result (gethash position tags-cache))) + ;; Found in cache: return them. + (pcase cached-result + ('org-ql-nil nil) + (_ cached-result)) + ;; Not found in cache: get tags and cache them. + (let* ((local-tags (or (org-ql--get-tags position 'local) + 'org-ql-nil)) + (inherited-tags (or (when org-use-tag-inheritance + (save-excursion + (when (org-up-heading-safe) + (-let* (((inherited local) (org-ql--tags-at (point))) + (tags (when (or inherited local) + (cond ((and (listp inherited) + (listp local)) + (->> (append inherited local) + -non-nil -uniq)) + ((listp inherited) inherited) + ((listp local) local))))) + (cl-typecase org-use-tag-inheritance + (list (setf tags (-intersection tags org-use-tag-inheritance))) + (string (setf tags (--select (string-match org-use-tag-inheritance it) + tags)))) + (pcase org-tags-exclude-from-inheritance + ('nil tags) + (_ (-difference tags org-tags-exclude-from-inheritance))))))) + 'org-ql-nil)) + (all-tags (list inherited-tags local-tags))) + ;; Check caches again, because they may have been set now. + ;; TODO: Is there a clever way we could avoid doing this, or is it inherently necessary? + (setf buffer-cache (gethash (current-buffer) org-ql-tags-cache) + modified-tick (car buffer-cache) + tags-cache (cdr buffer-cache) + buffer-unmodified-p (eq (buffer-modified-tick) modified-tick)) + (unless (and buffer-cache buffer-unmodified-p) + ;; Buffer-local tags cache empty or invalid: make new one. + (setf tags-cache (make-hash-table)) + (puthash (current-buffer) + (cons (buffer-modified-tick) tags-cache) + org-ql-tags-cache)) + (puthash position all-tags tags-cache)))) + +(defun org-ql--add-markers (element) + "Return ELEMENT with Org marker text properties added. +ELEMENT should be an Org element like that returned by +`org-element-headline-parser'. This function should be called +from within ELEMENT's buffer." + ;; NOTE: `org-agenda-new-marker' works, until it doesn't, because...I don't know. It sometimes + ;; raises errors or returns markers that don't point into a buffer. `copy-marker' always works, + ;; of course, but maybe it will leave "dangling" markers, which could affect performance over + ;; time? I don't know, but for now, it seems that we have to use `copy-marker'. + (let* ((marker (copy-marker (org-element-property :begin element))) + (properties (--> (cadr element) + (plist-put it :org-marker marker) + (plist-put it :org-hd-marker marker)))) + (setf (cadr element) properties) + element)) + +;;;;; Query processing + +;; Processing, compiling, etc. for queries. + +;; This error is used for when compiling a query signals an error, +;; making it easier for the UI to avoid spurious warnings, e.g. for +;; partially typed queries in the Helm commands. +(define-error 'org-ql-invalid-query "Invalid Org QL query" 'user-error) + +(defun org-ql--sanity-check-form (form) + "Signal error if any forms in FORM do not have preconditions met. +Or, when possible, fix the problem." + (cl-flet ((check (symbol) + (cl-case symbol + ('done (unless org-done-keywords + ;; NOTE: This check needs to be done from within the Org buffer being checked. + (error "Variable `org-done-keywords' is nil. Are you running this from an Org buffer?")))))) + (cl-loop for elem in form + if (consp elem) + do (progn + (check (car elem)) + (org-ql--sanity-check-form (cdr elem))) + else do (check elem)))) + (defun org-ql--pre-process-query (query) "Return QUERY having been pre-processed. Replaces bare strings with (regexp) selectors, and appropriate @@ -324,14 +511,19 @@ Replaces bare strings with (regexp) selectors, and appropriate `(,pred :to ,to))) ;; Priorities - (`(priority) ;; Match any defined priority by comparing to C. - ;; Note that we quote the comparator again for consistency. - `(priority '>= "C")) - (`(priority ,_letter) element) - (`(priority ,comparator ,letter) + (`(priority ,(and (or '= '< '> '<= '>=) comparator) ,letter) ;; Quote comparator. `(priority ',comparator ,letter)) + ;; Properties. + (`(property ,property . ,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))) + (cons 'property (cons property value))) + ;; Tags. (`(,(or 'tags-all 'tags&) . ,tags) `(and ,@(--map `(tags ,it) tags))) ;; MAYBE: -all versions for inherited and local. @@ -346,63 +538,6 @@ Replaces bare strings with (regexp) selectors, and appropriate (_ element)))) (rec query))) -(defmacro org-ql--from-to-on () - "For internal use. -Expands into a form that processes arguments to timestamp-related -predicates." - ;; Several attempts to use `cl-macrolet' and `cl-symbol-macrolet' failed, so I - ;; resorted to this top-level macro. It will do for now. - `(progn - (when on - (setq from on - to on)) - (when from - (setq from (pcase from - ((pred stringp) (ts-parse-fill 'begin from)) - ((pred numberp) (->> (ts-now) - (ts-adjust 'day from) - (ts-apply :hour 0 :minute 0 :second 0))) - ((pred ts-p) from) - ('today (->> (ts-now) - (ts-apply :hour 0 :minute 0 :second 0)))))) - (when to - (setq to (pcase to - ((pred stringp) (ts-parse-fill 'end to)) - ((pred numberp) (->> (ts-now) - (ts-adjust 'day to) - (ts-apply :hour 23 :minute 59 :second 59))) - ((pred ts-p) to) - ('today (->> (ts-now) - (ts-apply :hour 23 :minute 59 :second 59)))))))) - -(defun org-ql--query-predicate (query) - "Return predicate function for QUERY." - (byte-compile - `(lambda () - (cl-macrolet ((clocked (&key from to on) - (org-ql--from-to-on) - `(org-ql--predicate-clocked :from ,from :to ,to)) - (closed (&key from to on) - (org-ql--from-to-on) - `(org-ql--predicate-closed :from ,from :to ,to)) - (deadline (&key from to on) - (org-ql--from-to-on) - `(org-ql--predicate-deadline :from ,from :to ,to)) - (planning (&key from to on) - (org-ql--from-to-on) - `(org-ql--predicate-planning :from ,from :to ,to)) - (scheduled (&key from to on) - (org-ql--from-to-on) - `(org-ql--predicate-scheduled :from ,from :to ,to)) - (ts (&key from to on (type 'both)) - (org-ql--from-to-on) - `(org-ql--predicate-ts :from ,from :to ,to - :regexp ,(pcase type - ('both org-tsr-regexp-both) - ('active org-tsr-regexp) - ('inactive org-ql-tsr-regexp-inactive))))) - ,query)))) - (defun org-ql--query-preamble (query) "Return plist (QUERY PREAMBLE PREAMBLE-CASE-FOLD) for QUERY. When QUERY has a clause with a corresponding preamble, and it's @@ -488,17 +623,12 @@ replace the clause with a preamble." ;; NOTE: This only accepts A, B, or C. I haven't seen ;; other priorities in the wild, so this will do for now. (`(priority) - ;; Any priority. - (setq org-ql-preamble (rx-to-string `(seq bol (1+ "*") (1+ blank) "[#" (in "ABC") "]") t)) + ;; Any priority cookie. + (setq org-ql-preamble (rx-to-string `(seq bol (1+ "*") (1+ blank) (0+ nonl) "[#" (in "ABC") "]") t)) nil) - (`(priority ,letter) - ;; Specific priority without comparator. - ;; MAYBE: Disable case-folding. - (setq org-ql-preamble (rx-to-string `(seq bol (1+ "*") (1+ blank) - (0+ nonl) (1+ blank) - "[#" ,letter "]") t)) - nil) - (`(priority ,comparator ,letter) + (`(priority ,(and (or ''= ''< ''> ''<= ''>=) comparator) ,letter) + ;; Comparator and priority letter. + ;; NOTE: The double-quoted comparators. See below. (let* ((priority-letters '("A" "B" "C")) (index (-elem-index letter priority-letters)) ;; NOTE: Higher priority == lower number. @@ -515,6 +645,13 @@ replace the clause with a preamble." (setq org-ql-preamble (rx-to-string `(seq bol (1+ "*") (1+ blank) (optional (1+ upper) (1+ blank)) "[#" (in ,priorities) "]") t)) nil)) + (`(priority . ,letters) + ;; One or more priorities. + ;; MAYBE: Disable case-folding. + (setq org-ql-preamble (rx-to-string `(seq bol (1+ "*") (1+ blank) + (optional (1+ upper) (1+ blank)) + "[#" (or ,@letters) "]") t)) + nil) ;; Properties. ;; MAYBE: Should case folding be disabled for properties? What about values? @@ -575,173 +712,85 @@ replace the clause with a preamble." (query (-flatten-n 1 query)))) (list :query query :preamble org-ql-preamble :preamble-case-fold preamble-case-fold)))))) -(defun org-ql--select-cached (&rest args) - "Return results for ARGS and current buffer using cache." - ;; MAYBE: Timeout cached queries. Probably not necessarily since they will be removed when a - ;; buffer is closed, or when a query is run after modifying a buffer. - (-let* (((&plist :query :preamble :action :narrow :preamble-case-fold) args) - (query-cache-key - ;; The key must include the preamble, because some queries are replaced by - ;; the preamble, leaving a nil query, which would make the key ambiguous. - (list :query query :preamble preamble :action action :preamble-case-fold preamble-case-fold - (if narrow - ;; Use bounds of narrowed portion of buffer. - (cons (point-min) (point-max)) - nil)))) - (if-let* ((buffer-cache (gethash (current-buffer) org-ql-cache)) - (query-cache (cadr buffer-cache)) - (modified-tick (car buffer-cache)) - (buffer-unmodified-p (eq (buffer-modified-tick) modified-tick)) - (cached-result (gethash query-cache-key query-cache))) - (pcase cached-result - ('org-ql-nil nil) - (_ cached-result)) - (let ((new-result (apply #'org-ql--select args))) - (cond ((or (not query-cache) - (not buffer-unmodified-p)) - (puthash (current-buffer) - (list (buffer-modified-tick) - (let ((table (make-hash-table :test 'org-ql-hash-test))) - (puthash query-cache-key (or new-result 'org-ql-nil) table) - table)) - org-ql-cache)) - (t (puthash query-cache-key (or new-result 'org-ql-nil) query-cache))) - new-result)))) +(defmacro org-ql--from-to-on () + "For internal use. +Expands into a form that processes arguments to timestamp-related +predicates." + ;; Several attempts to use `cl-macrolet' and `cl-symbol-macrolet' failed, so I + ;; resorted to this top-level macro. It will do for now. + `(progn + (when on + (setq from on + to on)) + (when from + (setq from (pcase from + ((or 'today "today") (->> (ts-now) + (ts-apply :hour 0 :minute 0 :second 0))) + ((pred numberp) (->> (ts-now) + (ts-adjust 'day from) + (ts-apply :hour 0 :minute 0 :second 0))) + ((and (pred stringp) + (guard (ignore-errors (cl-parse-integer from)))) + ;; The `pcase' `let' pattern doesn't bind values in the + ;; body forms, so we have to parse the integer again. + (->> (ts-now) + (ts-adjust 'day (cl-parse-integer from)) + (ts-apply :hour 0 :minute 0 :second 0))) + ((pred stringp) (ts-parse-fill 'begin from)) + ((pred ts-p) from)))) + (when to + (setq to (pcase to + ((or 'today "today") (->> (ts-now) + (ts-apply :hour 23 :minute 59 :second 59))) + ((pred numberp) (->> (ts-now) + (ts-adjust 'day to) + (ts-apply :hour 23 :minute 59 :second 59))) + ((and (pred stringp) + (guard (ignore-errors (cl-parse-integer to)))) + ;; The `pcase' `let' pattern doesn't bind values in the + ;; body forms, so we have to parse the integer again. + (->> (ts-now) + (ts-adjust 'day (cl-parse-integer to)) + (ts-apply :hour 23 :minute 59 :second 59))) + ((pred stringp) (ts-parse-fill 'end to)) + ((pred ts-p) to)))))) -(cl-defun org-ql--select (&key preamble preamble-case-fold predicate action narrow - &allow-other-keys) - "Return results of mapping function ACTION across entries in current buffer matching function PREDICATE. -If NARROW is non-nil, buffer will not be widened." - ;; Since the mappings are stored in the variable `org-ql-predicates', macros like `flet' - ;; can't be used, so we do it manually (this is same as the equivalent `flet' expansion). - ;; Mappings are stored in the variable because it allows predicates to be defined with a - ;; macro, which allows documentation to be easily generated for them. +(defun org-ql--byte-compile-warning (_string _pos _fill level) + "Signal an `org-ql-invalid-query' error. +Arguments STRING, POS, FILL, and LEVEL are according to +`byte-compile-log-warning-function'." + ;; Used as the `byte-compile-log-warning-function' in `org-ql--query-preamble'. + (signal 'org-ql-invalid-query level)) - ;; MAYBE: Lift the `flet'-equivalent out of this function so it isn't done for each buffer. - (let (orig-fns) - (--each org-ql-predicates - ;; Save original function mappings. - (let ((name (plist-get it :name))) - (push (list :name name :fn (symbol-function name)) orig-fns))) - (unwind-protect - (progn - (--each org-ql-predicates - ;; Set predicate functions. - (fset (plist-get it :name) (plist-get it :fn))) - ;; Run query. - (save-excursion - (save-restriction - (unless narrow - (widen)) - (goto-char (point-min)) - (when (org-before-first-heading-p) - (outline-next-heading)) - (if (not (org-at-heading-p)) - (progn - ;; No headings in buffer: return nil. - (unless (string-prefix-p " " (buffer-name)) - ;; Not a special, hidden buffer: show message, because if a user accidentally - ;; searches a buffer without headings, he might be confused. - (message "org-ql: No headings in buffer: %s" (current-buffer))) - nil) - ;; Find matching entries. - (cond (preamble (let ((case-fold-search preamble-case-fold)) - (cl-loop while (re-search-forward preamble nil t) - do (outline-back-to-heading 'invisible-ok) - when (funcall predicate) - collect (funcall action) - do (outline-next-heading)))) - (t (cl-loop when (funcall predicate) - collect (funcall action) - while (outline-next-heading)))))))) - (--each orig-fns - ;; Restore original function mappings. - (fset (plist-get it :name) (plist-get it :fn)))))) - -(defun org-ql--tags-at (position) - "Return tags for POSITION in current buffer. -Returns cons (INHERITED-TAGS . LOCAL-TAGS)." - ;; I'd like to use `-if-let*', but it doesn't leave non-nil variables - ;; bound in the else clause, so destructured variables that are non-nil, - ;; like found caches, are not available in the else clause. - (if-let* ((buffer-cache (gethash (current-buffer) org-ql-tags-cache)) - (modified-tick (car buffer-cache)) - (tags-cache (cdr buffer-cache)) - (buffer-unmodified-p (eq (buffer-modified-tick) modified-tick)) - (cached-result (gethash position tags-cache))) - ;; Found in cache: return them. - (pcase cached-result - ('org-ql-nil nil) - (_ cached-result)) - ;; Not found in cache: get tags and cache them. - (let* ((local-tags (or (org-ql--get-tags position 'local) - 'org-ql-nil)) - (inherited-tags (or (when org-use-tag-inheritance - (save-excursion - (when (org-up-heading-safe) - (-let* (((inherited local) (org-ql--tags-at (point))) - (tags (when (or inherited local) - (cond ((and (listp inherited) - (listp local)) - (->> (append inherited local) - -non-nil -uniq)) - ((listp inherited) inherited) - ((listp local) local))))) - (cl-typecase org-use-tag-inheritance - (list (setf tags (-intersection tags org-use-tag-inheritance))) - (string (setf tags (--select (string-match org-use-tag-inheritance it) - tags)))) - (pcase org-tags-exclude-from-inheritance - ('nil tags) - (_ (-difference tags org-tags-exclude-from-inheritance))))))) - 'org-ql-nil)) - (all-tags (list inherited-tags local-tags))) - ;; Check caches again, because they may have been set now. - ;; TODO: Is there a clever way we could avoid doing this, or is it inherently necessary? - (setf buffer-cache (gethash (current-buffer) org-ql-tags-cache) - modified-tick (car buffer-cache) - tags-cache (cdr buffer-cache) - buffer-unmodified-p (eq (buffer-modified-tick) modified-tick)) - (unless (and buffer-cache buffer-unmodified-p) - ;; Buffer-local tags cache empty or invalid: make new one. - (setf tags-cache (make-hash-table)) - (puthash (current-buffer) - (cons (buffer-modified-tick) tags-cache) - org-ql-tags-cache)) - (puthash position all-tags tags-cache)))) - -;;;;; Helpers - -(defun org-ql--add-markers (element) - "Return ELEMENT with Org marker text properties added. -ELEMENT should be an Org element like that returned by -`org-element-headline-parser'. This function should be called -from within ELEMENT's buffer." - ;; NOTE: `org-agenda-new-marker' works, until it doesn't, because...I don't know. It sometimes - ;; raises errors or returns markers that don't point into a buffer. `copy-marker' always works, - ;; of course, but maybe it will leave "dangling" markers, which could affect performance over - ;; time? I don't know, but for now, it seems that we have to use `copy-marker'. - (let* ((marker (copy-marker (org-element-property :begin element))) - (properties (--> (cadr element) - (plist-put it :org-marker marker) - (plist-put it :org-hd-marker marker)))) - (setf (cadr element) properties) - element)) - -(defun org-ql--sanity-check-form (form) - "Signal error if any forms in FORM do not have preconditions met. -Or, when possible, fix the problem." - (cl-flet ((check (symbol) - (cl-case symbol - ('done (unless org-done-keywords - ;; NOTE: This check needs to be done from within the Org buffer being checked. - (error "Variable `org-done-keywords' is nil. Are you running this from an Org buffer?")))))) - (cl-loop for elem in form - if (consp elem) - do (progn - (check (car elem)) - (org-ql--sanity-check-form (cdr elem))) - else do (check elem)))) +(defun org-ql--query-predicate (query) + "Return predicate function for QUERY." + ;; Use custom log function to prevent warnings for e.g. partially typed queries. + (let ((byte-compile-log-warning-function #'org-ql--byte-compile-warning)) + (byte-compile + `(lambda () + (cl-macrolet ((clocked (&key from to on) + (org-ql--from-to-on) + `(org-ql--predicate-clocked :from ,from :to ,to)) + (closed (&key from to on) + (org-ql--from-to-on) + `(org-ql--predicate-closed :from ,from :to ,to)) + (deadline (&key from to on) + (org-ql--from-to-on) + `(org-ql--predicate-deadline :from ,from :to ,to)) + (planning (&key from to on) + (org-ql--from-to-on) + `(org-ql--predicate-planning :from ,from :to ,to)) + (scheduled (&key from to on) + (org-ql--from-to-on) + `(org-ql--predicate-scheduled :from ,from :to ,to)) + (ts (&key from to on (type 'both)) + (org-ql--from-to-on) + `(org-ql--predicate-ts :from ,from :to ,to + :regexp ,(pcase type + ('both org-tsr-regexp-both) + ('active org-tsr-regexp) + ('inactive org-ql-tsr-regexp-inactive))))) + ,query))))) ;;;;; Predicates @@ -811,7 +860,8 @@ With KEYWORDS, return non-nil if its keyword is one of KEYWORDS (a list of strin ;; NOTE: This was a defsubst before being defined with the macro. Might be good to make it a defsubst again. (or (apply #'org-ql--predicate-todo org-done-keywords))) -(org-ql--defpred tags (&rest tags) +(org-ql--defpred (tags tags-all tags&) (&rest tags) + ;; NOTE: tags-all and tags& are "virtual" predicates that are handled by query pre-processing. "Return non-nil if current heading has one or more of TAGS (a list of strings). Tests both inherited and local tags." (cl-macrolet ((tags-p (tags) @@ -826,7 +876,7 @@ Tests both inherited and local tags." (when (tags-p local) (seq-intersection tags local)))))))) -(org-ql--defpred tags-inherited (&rest tags) +(org-ql--defpred (tags-inherited tags-i itags) (&rest tags) "Return non-nil if current heading's inherited tags include one or more of TAGS (a list of strings). If TAGS is nil, return non-nil if heading has any inherited tags." (cl-macrolet ((tags-p (tags) @@ -838,7 +888,7 @@ If TAGS is nil, return non-nil if heading has any inherited tags." (otherwise (when (tags-p inherited) (seq-intersection tags inherited))))))) -(org-ql--defpred tags-local (&rest tags) +(org-ql--defpred (tags-local tags-l ltags) (&rest tags) "Return non-nil if current heading's local tags include one or more of TAGS (a list of strings). If TAGS is nil, return non-nil if heading has any local tags." (cl-macrolet ((tags-p (tags) @@ -871,44 +921,46 @@ COMPARATOR may be `<', `<=', `>', or `>='." ((pred symbolp) ;; Compare with function (funcall level-or-comparator outline-level level))))) -(org-ql--defpred priority (&optional comparator-or-priority priority) +(org-ql--defpred priority (&rest args) "Return non-nil if current heading has a certain priority. -COMPARATOR-OR-PRIORITY should be either a comparator function, -like `<=', or a priority string, like \"A\" (in which case (`=' -will be the comparator). If COMPARATOR-OR-PRIORITY is a -comparator, PRIORITY should be a priority string. If both -arguments are nil, return non-nil if heading has any defined -priority." - (let* (comparator) - (cond ((null priority) - ;; No comparator given: compare only given priority with = - (setq priority comparator-or-priority - comparator '=)) - (t - ;; Both comparator and priority given - (setq comparator comparator-or-priority))) - (setq comparator (cl-case comparator - ;; Invert comparator because higher priority means lower number - (< '>) - (> '<) - (<= '>=) - (>= '<=) - (= '=) - (otherwise (user-error "Invalid comparator: %s" comparator)))) - (setq priority (* 1000 (- org-lowest-priority (string-to-char priority)))) - (when-let ((item-priority (save-excursion - (save-match-data - ;; TODO: Is the save-match-data above necessary? - (when (and (looking-at org-heading-regexp) - (save-match-data - (string-match org-priority-regexp (match-string 0)))) - ;; TODO: Items with no priority - ;; should not be the same as B - ;; priority. That's not very - ;; useful IMO. Better to do it - ;; like in org-super-agenda. - (org-get-priority (match-string 0))))))) - (funcall comparator priority item-priority)))) +ARGS may be either a list of one or more priority letters as +strings, or a comparator function symbol followed by a priority +letter string. For example: + + (priority \"A\") + (priority \"A\" \"B\") + (priority '>= \"B\") + +Note that items without a priority cookie never match this +predicate (while Org itself considers items without a cookie to +have the default priority, which, by default, is equal to +priority B)." + ;; NOTE: This treats priorities differently than Org proper treats them, in that + ;; items without a priority cookie never match this predicate, even though Org + ;; itself would consider un-cookied items to have a default numeric priority + ;; value. We do this because it doesn't seem very useful or intuitive for a + ;; query like (priority "B") to match an item that has no priority cookie. + ;; TODO: Convert priority arg(s) to numeric values in pre-processing. + (when-let* ((item-priority (save-excursion + (save-match-data + ;; TODO: Is the save-match-data above necessary? + (when (and (looking-at org-heading-regexp) + (save-match-data + (string-match org-priority-regexp (match-string 0)))) + (org-get-priority (match-string 0))))))) + ;; Item has a priority: compare it. + (pcase args + ('nil + ;; No arguments: return non-nil. + t) + (`(,(and (or '= '< '> '<= '>=) comparator) ,priority-arg) + ;; Comparator and priority arguments given: compare item priority using them. + (funcall comparator item-priority + (* 1000 (- org-lowest-priority (string-to-char priority-arg))))) + (_ + ;; List of priorities given as arguments: compare each of them to item priority using =. + (cl-loop for priority-arg in args + thereis (= item-priority (* 1000 (- org-lowest-priority (string-to-char priority-arg))))))))) (org-ql--defpred habit () "Return non-nil if entry is a habit." @@ -1080,11 +1132,13 @@ parseable by `parse-time-string' which may omit the time value." (org-ql--predicate-ts :from from :to to :regexp org-scheduled-time-regexp :match-group 1 :limit (line-end-position 2))) -(org-ql--defpred ts (&key from to _on regexp (match-group 0) (limit (org-entry-end-position))) - ;; The underscore before `on' prevents "unused lexical variable" warnings, - ;; because we pre-process that argument in a macro before this function is - ;; called. The `regexp' argument is also provided by the macro and is not - ;; to be given by the user, so it is omitted from the docstring. +(org-ql--defpred (ts ts-active ts-a ts-inactive ts-i) + (&key from to _on regexp (match-group 0) (limit (org-entry-end-position))) + ;; NOTE: Arguments to this predicate are pre-processed in `org-ql--pre-process-query'. + ;; The underscore before `on' prevents "unused lexical variable" warnings due to the + ;; pre-processing converting that argument to FROM and TO. The `regexp' argument is + ;; also provided by the pre-processing and is not to be given by the user. FROM and + ;; TO are actually expected to be `ts' structs. The docstring is written for users. "Return non-nil if current entry has a timestamp in given period. If no arguments are specified, return non-nil if entry has any timestamp. @@ -1108,8 +1162,6 @@ the end of the entry, i.e. the position returned by bound to a different positiion, e.g. for planning lines, the end of the line after the heading." ;; TODO: DRY this with the clocked predicate. - ;; NOTE: FROM and TO are actually expected to be `ts' structs. The docstring is written - ;; for end users, for which the arguments are pre-processed by `org-ql-select'. (cl-macrolet ((next-timestamp () `(when (re-search-forward regexp limit t) (ts-parse-org (match-string match-group)))) @@ -1204,6 +1256,68 @@ A and B are Org headline elements." (a-priority t) (b-priority nil))))) +;;;;; Plain query parsing + +;; This section implements parsing of "plain," non-Lisp queries using the `peg' +;; library. NOTE: This needs to appear after the predicates are defined. + +(require 'peg) + +;; Fix compiler warnings probably caused by `peg' not using lexical-binding. +;; TODO: File bug report upstream. +(defvar peg-errors nil) +(defvar peg-stack nil) + +(cl-eval-when (compile load eval) + ;; This `eval-when' is necessary, otherwise the macro does not define + ;; the function correctly, apparently because `org-ql-predicates' + ;; ends up being not defined correctly at expansion time. + + (defmacro org-ql--def-plain-query-fn () + "Define function `org-ql--input-query'. +Builds the PEG expression using predicates defined in +`org-ql-predicates' and `org-ql-predicates-extra-aliases'." + (let* ((predicates (--map (symbol-name (plist-get it :name)) + org-ql-predicates)) + (aliases (->> org-ql-predicates + (--map (plist-get it :aliases)) + -non-nil + -flatten + (-map #'symbol-name))) + (predicates (->> (append predicates aliases) + -uniq + ;; Sort the keywords longest-first to work around what seems to be an + ;; obscure bug in `peg': when one keyword is a substring of another, + ;; and the shorter one is listed first, the shorter one fails to match. + (-sort (-on #'> #'length))))) + `(cl-defun org-ql--plain-query (input &optional (boolean 'and)) + "Return query parsed from plain query string INPUT. +Multiple predicates are combined with BOOLEAN." + (unless (s-blank-str? input) + (let* ((query (peg-parse-string + ((query (+ (or (and predicate-with-args `(pred args -- (cons (intern pred) args))) + (and predicate-without-args `(pred -- (list (intern pred)))) + (and plain-string `(s -- (list 'regexp s)))) + (opt (+ (syntax-class whitespace) (any))))) + (plain-string (substring (+ (not (syntax-class whitespace)) (any)))) + (predicate-with-args (substring predicate) ":" args) + (predicate-without-args (substring predicate) ":") + (predicate (or ,@predicates)) + (args (list (+ (and (or keyword-arg quoted-arg unquoted-arg) (opt separator))))) + (keyword-arg (and keyword "=" `(kw -- (intern (concat ":" kw))))) + (keyword (substring (+ (not (or separator "=" "\"" (syntax-class whitespace))) (any)))) + (quoted-arg "\"" (substring (+ (not (or separator "\"")) (any))) "\"") + (unquoted-arg (substring (+ (not (or separator "\"" (syntax-class whitespace))) (any)))) + (separator "," )) + input 'noerror))) + ;; Discard the t that `peg-parse-string' always returns as the first + ;; element. I don't know what it means, but we don't want it. + (if (> (length (cdr query)) 1) + (cons boolean (nreverse (cdr query))) + (cadr query))))))) + + (org-ql--def-plain-query-fn)) + ;;;; Footer (provide 'org-ql) diff --git a/tests/test-org-ql.el b/tests/test-org-ql.el index 4092642..c7b95bc 100644 --- a/tests/test-org-ql.el +++ b/tests/test-org-ql.el @@ -227,6 +227,52 @@ RESULTS should be a list of strings as returned by :preamble (rx bol (>= 2 "*") " ") :preamble-case-fold t))))) + (describe "Plain query parsing" + + ;; TODO: Other predicates. + + (it "Regexp predicates" + (expect (org-ql--plain-query "scheduled") + ;; No colon after keyword, so not a predicate query. + :to-equal '(regexp "scheduled")) + (expect (org-ql--plain-query "regexp:word") + :to-equal '(regexp "word")) + (expect (org-ql--plain-query "regexp:\"quoted phrase\"") + :to-equal '(regexp "quoted phrase"))) + (it "Timestamp-based predicates" + (expect (org-ql--plain-query "scheduled:on=2017-07-07") + :to-equal '(scheduled :on "2017-07-07")) + (expect (org-ql--plain-query "deadline:from=2017-07-07,to=2017-07-09") + :to-equal '(deadline :from "2017-07-07" :to "2017-07-09")) + (expect (org-ql--plain-query "planning:from=2017-07-07") + :to-equal '(planning :from "2017-07-07")) + (expect (org-ql--plain-query "closed:from=2017-07-07") + :to-equal '(closed :from "2017-07-07")) + (expect (org-ql--plain-query "ts-active:to=2017-07-07") + :to-equal '(ts-active :to "2017-07-07")) + (expect (org-ql--plain-query "ts-inactive:to=2017-07-07") + :to-equal '(ts-inactive :to "2017-07-07")) + (expect (org-ql--plain-query "ts-a:to=2017-07-07") + :to-equal '(ts-a :to "2017-07-07")) + (expect (org-ql--plain-query "ts-i:on=2017-07-07") + :to-equal '(ts-i :on "2017-07-07")) + (expect (org-ql--plain-query "ts:") + :to-equal '(ts)) + (expect (org-ql--plain-query "clocked:") + :to-equal '(clocked))) + (it "To-do predicates" + (expect (org-ql--plain-query "todo:") + :to-equal '(todo)) + (expect (org-ql--plain-query "todo:TODO") + :to-equal '(todo "TODO")) + (expect (org-ql--plain-query "todo:TODO,SOMEDAY") + :to-equal '(todo "TODO" "SOMEDAY"))) + (it "Compound queries" + (expect (org-ql--plain-query "todo:SOMEDAY ts-a:from=2020-01-01,to=2021-01-01") + :to-equal '(and (todo "SOMEDAY") (ts-a :from "2020-01-01" :to "2021-01-01"))) + (expect (org-ql--plain-query "regexp:\"quoted phrase\" todo:SOMEDAY") + :to-equal '(and (regexp "quoted phrase") (todo "SOMEDAY"))))) + (describe "Query results" ;; TODO: Other predicates. From 0ed0ff6f6ea65af9ce3fa8d38091ba474d4233b0 Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Sun, 6 Oct 2019 00:48:09 -0500 Subject: [PATCH 053/615] Fix: (org-ql-search) Interactive completion --- README.org | 1 + org-ql-search.el | 12 +++++++----- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/README.org b/README.org index 8a6a079..b13689f 100644 --- a/README.org +++ b/README.org @@ -392,6 +392,7 @@ Expands into a call to ~org-ql-select~ with the same arguments. For convenience *Fixed* + Predicate =heading= now matches only against heading text, i.e. not including tags at the end of the line, to-do keyword, etc. + Predicate =todo= now matches case-sensitively, avoiding non-todo-keyword matches (e.g. a heading which begins =Waiting on= will no longer match for a todo keyword =WAITING=). ++ Interactive completion in =org-ql-search=. *Internal* + Refactored code from file =org-ql-agenda.el= into files =org-ql-search.el= and =org-ql-view.el=. Function and variable names have been changed accordingly. diff --git a/org-ql-search.el b/org-ql-search.el index c97a1d0..45f349a 100644 --- a/org-ql-search.el +++ b/org-ql-search.el @@ -119,7 +119,7 @@ necessary." ("agenda" (org-agenda-files)) ("all" (--select (equal (buffer-local-value 'major-mode it) 'org-mode) (buffer-list))) - ("buffer" (current-buffer)) + ((or "" "buffer") (current-buffer)) ((and form (guard (rx bos "("))) (-flatten (eval (read form)))) (else (s-split (rx (1+ space)) else))) (read-string "Query: ") @@ -129,9 +129,10 @@ necessary." (append (list "Don't group" "Global super-groups") (cl-loop for type in org-super-agenda-auto-selector-keywords - collect (substring (symbol-name type) 6)))) + collect (substring (symbol-name type) 6))) + nil t) ("Global super-groups" org-super-agenda-groups) - ("Don't group" nil) + ((or "" "Don't group") nil) (property (list (list (intern (concat ":auto-" property))))))) :sort (pcase (completing-read "Sort by: " (list "Don't sort" @@ -139,8 +140,9 @@ necessary." "deadline" "priority" "scheduled" - "todo")) - ("Don't sort" nil) + "todo") + nil t) + ((or "" "Don't sort") nil) (sort (intern sort))))) (let* ((query (cl-etypecase query (string (if (string-match-p (rx bos (1+ alpha) ":") query) From 01a3bc0a1c23036cdd9ef4520525013e3b1a07ac Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Sun, 6 Oct 2019 00:48:24 -0500 Subject: [PATCH 054/615] Release: 0.3 --- README.org | 2 +- org-ql.el | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/README.org b/README.org index b13689f..3ac0cf5 100644 --- a/README.org +++ b/README.org @@ -363,7 +363,7 @@ Expands into a call to ~org-ql-select~ with the same arguments. For convenience /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.3-pre +** 0.3 *Added* + Alternative, non-sexp query syntax for commands =org-ql-search= and =helm-org-ql=. See [[#non-sexp-query-syntax][documentation]]. diff --git a/org-ql.el b/org-ql.el index 04ce4bd..e90dd8a 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.3-pre +;; Version: 0.3 ;; Package-Requires: ((emacs "26.1") (dash "2.13") (dash-functional "1.2.0") (org "9.0") (org-super-agenda "1.2-pre") (ov "1.0.6") (peg "0.6") (s "1.12.0") (ts "0.2-pre")) ;; Keywords: hypermedia, outlines, Org, agenda From 2a5ec2e4fdc662921f0c7a2e8b877620da3bb5ca Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Mon, 7 Oct 2019 10:12:13 -0500 Subject: [PATCH 055/615] Meta: 0.4-pre --- README.org | 4 ++++ org-ql.el | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/README.org b/README.org index 3ac0cf5..73cb982 100644 --- a/README.org +++ b/README.org @@ -363,6 +363,10 @@ Expands into a call to ~org-ql-select~ with the same arguments. For convenience /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.4-pre + +Nothing new yet. + ** 0.3 *Added* diff --git a/org-ql.el b/org-ql.el index e90dd8a..eb2cc78 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.3 +;; Version: 0.4-pre ;; Package-Requires: ((emacs "26.1") (dash "2.13") (dash-functional "1.2.0") (org "9.0") (org-super-agenda "1.2-pre") (ov "1.0.6") (peg "0.6") (s "1.12.0") (ts "0.2-pre")) ;; Keywords: hypermedia, outlines, Org, agenda From 51ab6401b2f9f6cb193dc3ee89fa6a5430441ced Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Mon, 7 Oct 2019 10:12:20 -0500 Subject: [PATCH 056/615] Docs: (--def-plain-query-fn) Fix docstring --- org-ql.el | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/org-ql.el b/org-ql.el index eb2cc78..13dde58 100644 --- a/org-ql.el +++ b/org-ql.el @@ -1274,7 +1274,7 @@ A and B are Org headline elements." ;; ends up being not defined correctly at expansion time. (defmacro org-ql--def-plain-query-fn () - "Define function `org-ql--input-query'. + "Define function `org-ql--plain-query'. Builds the PEG expression using predicates defined in `org-ql-predicates' and `org-ql-predicates-extra-aliases'." (let* ((predicates (--map (symbol-name (plist-get it :name)) From acf8e0e0fb7ec5d5ed729430fe642c4077fd9bd6 Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Mon, 7 Oct 2019 11:16:08 -0500 Subject: [PATCH 057/615] Notes: Add idea --- notes.org | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) diff --git a/notes.org b/notes.org index 344b550..77cd1c2 100644 --- a/notes.org +++ b/notes.org @@ -2,6 +2,39 @@ * Tasks +** TODO [#A] Outline path predicate + +[2019-10-07 Mon 11:15] There are two potential types of matching on outline paths: matching on any part of the outline path, and matching a specific path. For example, with this file: + +#+BEGIN_SRC org + ,* Food + + ,** Fruits + + ,*** Blueberries + + ,*** Grapes + + ,** Vegetables + + ,*** Carrots + + ,*** Potatoes +#+END_SRC + +Matching could work like this: + ++ ~(outline "Food")~ :: Would return all nodes. ++ ~(outline "Fruits")~ :: Would return all fruits. + +Matching at a specific path would be something like: + ++ ~(outline-path "Food" "Fruits")~ :: Would return all fruits. But if there were another =Fruits= heading somewhere in the file, under a different outline path, it would not return its nodes. + +I'm not sure the second type of matching belongs in predicates, but rather in [[id:6935361a-9e1d-48ec-8d17-876a90b90f50][this]]. + +To implement this with good performance probably needs an outline-path cache. I can probably repurpose the tags caching, but maybe it should be generalized. + ** TODO [#A] Document sorters Note that the built-in sorting only works on Org elements, which is the default ~:action~. So if a different action is used, sorting will not work. In that case, the action should be mapped across the Org element results from outside the ~org-ql~ form. @@ -195,6 +228,9 @@ e.g. as mentioned by Samuel Wales at https://lists.gnu.org/archive/html/emacs-or #+END_SRC ** TODO [#A] Outline path in buffers-files arg +:PROPERTIES: +:ID: 6935361a-9e1d-48ec-8d17-876a90b90f50 +:END: e.g. From 7e11145badf0964f7d520548242088df74f03884 Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Mon, 7 Oct 2019 12:37:34 -0500 Subject: [PATCH 058/615] Fix: (--defpred) Debug declaration To work with preds with aliases. --- org-ql.el | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/org-ql.el b/org-ql.el index 13dde58..084138f 100644 --- a/org-ql.el +++ b/org-ql.el @@ -124,7 +124,7 @@ docstring. BODY is the body of the predicate. Predicates will be called with point on the beginning of an Org heading and should return non-nil if the heading's entry is a match." - (declare (debug (symbolp listp stringp def-body)) + (declare (debug ([&or symbolp listp] listp stringp def-body)) (indent defun)) (let* ((aliases (when (listp name) (cdr name))) From 8d680a8e797c2ddef26a12623defad3a13a8eb88 Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Mon, 7 Oct 2019 12:39:26 -0500 Subject: [PATCH 059/615] Add: node-value-cache, --value-at Not used for anything in this comment, but will be in the outline-path predicates. Also should probably use it for the tags cache. --- README.org | 3 ++- org-ql.el | 46 ++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 48 insertions(+), 1 deletion(-) diff --git a/README.org b/README.org index 73cb982..f72bb43 100644 --- a/README.org +++ b/README.org @@ -365,7 +365,8 @@ Expands into a call to ~org-ql-select~ with the same arguments. For convenience ** 0.4-pre -Nothing new yet. +*Internal* ++ Added generic node data cache to speed up recursive, tree-based queries. ** 0.3 diff --git a/org-ql.el b/org-ql.el index 084138f..dfc48db 100644 --- a/org-ql.el +++ b/org-ql.el @@ -100,6 +100,13 @@ tick, and another hash table keyed on buffer position, whose values are a list of two lists, inherited tags and local tags, as strings.") +(defvar org-ql-node-value-cache (make-hash-table :weakness 'key) + "Per-buffer node cache. +Keyed by buffer. Each value is a cons of the buffer's modified +tick, and another hash table keyed on buffer position, whose +values are alists in which the key is a function and the value is +the value returned by it at that node.") + (defvar org-ql-predicates (list (list :name 'org-back-to-heading :fn (symbol-function 'org-back-to-heading))) "Plist of predicates, their corresponding functions, and their docstrings. @@ -419,6 +426,45 @@ Returns cons (INHERITED-TAGS . LOCAL-TAGS)." org-ql-tags-cache)) (puthash position all-tags tags-cache)))) +;; TODO: Use --value-at for tags cache. + +(defun org-ql--value-at (position fn) + "Return FN's value at POSITION in current buffer. +Values compared with `equal'." + ;; I'd like to use `-if-let*', but it doesn't leave non-nil variables + ;; bound in the else clause, so destructured variables that are non-nil, + ;; like found caches, are not available in the else clause. + (if-let* ((buffer-cache (gethash (current-buffer) org-ql-node-value-cache)) + (modified-tick (car buffer-cache)) + (position-cache (cdr buffer-cache)) + (buffer-unmodified-p (eq (buffer-modified-tick) modified-tick)) + (value-cache (gethash position position-cache)) + (cached-value (alist-get fn value-cache nil nil #'equal))) + ;; Found in cache: return it. + (pcase cached-value + ('org-ql-nil nil) + (_ cached-value)) + ;; Not found in cache: get value and cache it. + (let ((new-value (or (funcall fn) 'org-ql-nil))) + ;; Check caches again, because it may have been set now, e.g. by + ;; recursively going up an outline tree. + ;; TODO: Is there a clever way we could avoid doing this, or is it inherently necessary? + (setf buffer-cache (gethash (current-buffer) org-ql-node-value-cache) + modified-tick (car buffer-cache) + position-cache (cdr buffer-cache) + value-cache (when position-cache + (gethash position position-cache)) + buffer-unmodified-p (eq (buffer-modified-tick) modified-tick)) + (unless (and buffer-cache buffer-unmodified-p) + ;; Buffer-local node cache empty or invalid: make new one. + (setf position-cache (make-hash-table)) + (puthash (current-buffer) + (cons (buffer-modified-tick) position-cache) + org-ql-node-value-cache)) + (map-put value-cache fn new-value) + (puthash position value-cache position-cache) + new-value))) + (defun org-ql--add-markers (element) "Return ELEMENT with Org marker text properties added. ELEMENT should be an Org element like that returned by From c06e5518eb830b2cc079bc61fc9ba32549710103 Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Mon, 7 Oct 2019 12:41:23 -0500 Subject: [PATCH 060/615] Add: Predicates outline-path, outline-path-segment --- README.org | 7 +++++ org-ql.el | 70 ++++++++++++++++++++++++++++++++++++++++++++ tests/test-org-ql.el | 19 ++++++++++++ 3 files changed, 96 insertions(+) diff --git a/README.org b/README.org index f72bb43..574e056 100644 --- a/README.org +++ b/README.org @@ -178,6 +178,10 @@ Arguments are listed next to predicate names, where applicable. + ~habit~ :: Return non-nil if entry is a habit. + ~heading (&rest regexps)~ :: Return non-nil if current entry's heading matches all ~REGEXPS~ (regexp strings). + ~level (level-or-comparator &optional level)~ :: Return non-nil if current heading's outline level matches arguments. The following forms are accepted: ~(level NUMBER)~: Matches if heading level is ~NUMBER~. ~(level NUMBER NUMBER)~: Matches if heading level is equal to or between NUMBERs. ~(level COMPARATOR NUMBER)~: Matches if heading level compares to ~NUMBER~ with ~COMPARATOR~. ~COMPARATOR~ may be ~<~, ~<=~, ~>~, or ~>=~. ++ =outline-path (&rest strings)= :: Return non-nil if current node's outline path matches all of =STRINGS=. Each string may appear as a substring in any part of the node's outline path. For example, the path =Food/Fruits/Grapes= would match ~(olp "Fruit" "Grape")~. + - Aliases: =olp=. ++ =outline-path-segment (&rest strings)= :: Return non-nil if current node's outline path matches =STRINGS=. Matches =STRINGS= as a contiguous segment of the outline path. Each string is compared as a substring. For example the path =Food/Fruits/Grapes= would match ~(olps "Fruit" "Grape")~ but not ~(olps "Food" "Grape")~. + - Aliases: =olps=. + =path (&rest regexps)= :: Return non-nil if current heading's buffer's filename path matches any of =REGEXPS= (regexp strings). Without arguments, return non-nil if buffer is file-backed. + ~priority (&optional comparator-or-priority priority)~ :: Return non-nil if current heading has a certain priority. ~COMPARATOR-OR-PRIORITY~ should be either a comparator function, like ~<=~, or a priority string, like "A" (in which case (~=~ will be the comparator). If ~COMPARATOR-OR-PRIORITY~ is a comparator, ~PRIORITY~ should be a priority string. If both arguments are nil, return non-nil if heading has any defined priority. + ~property (property &optional value)~ :: Return non-nil if current entry has ~PROPERTY~ (a string), and optionally ~VALUE~ (a string). Note that property inheritance is currently /not/ enabled for this predicate. If you need to test with inheritance, you could use a custom predicate form, like ~(org-entry-get (point) "PROPERTY" 'inherit)~. @@ -365,6 +369,9 @@ Expands into a call to ~org-ql-select~ with the same arguments. For convenience ** 0.4-pre +*Added* ++ Predicates =outline-path= (alias =olp=) and =outline-path-segment= (alias =olps=). + *Internal* + Added generic node data cache to speed up recursive, tree-based queries. diff --git a/org-ql.el b/org-ql.el index dfc48db..65f1ff9 100644 --- a/org-ql.el +++ b/org-ql.el @@ -426,6 +426,18 @@ Returns cons (INHERITED-TAGS . LOCAL-TAGS)." org-ql-tags-cache)) (puthash position all-tags tags-cache)))) +(defun org-ql--outline-path () + "Return outline path for heading at point." + (save-excursion + (let ((heading (nth 4 (org-heading-components)))) + (if (org-up-heading-safe) + ;; MAYBE: It seems wrong to call the cache function from + ;; inside this function, like a violation of separation of + ;; concern. Can this be rewritten to not work that way? + (append (org-ql--value-at (point) #'org-ql--outline-path) + (list heading)) + (list heading))))) + ;; TODO: Use --value-at for tags cache. (defun org-ql--value-at (position fn) @@ -556,6 +568,14 @@ Replaces bare strings with (regexp) selectors, and appropriate (ts-apply :hour 23 :minute 59 :second 59)))) `(,pred :to ,to))) + ;; Outline paths. + (`(,(or 'outline-path 'olp) . ,strings) + ;; Regexp quote headings. + `(outline-path ,@(mapcar #'regexp-quote strings))) + (`(,(or 'outline-path-segment 'olps) . ,strings) + ;; Regexp quote headings. + `(outline-path-segment ,@(mapcar #'regexp-quote strings))) + ;; Priorities (`(priority ,(and (or '= '< '> '<= '>=) comparator) ,letter) ;; Quote comparator. @@ -922,6 +942,44 @@ Tests both inherited and local tags." (when (tags-p local) (seq-intersection tags local)))))))) +;; MAYBE: Preambles for outline-path predicates. Not sure if possible without complicated logic. + +(org-ql--defpred (outline-path olp) (&rest regexps) + "Return non-nil if current node's outline path matches all of REGEXPS. +Each string is compared as a regexp to each element of the node's +outline path with `string-match'. For example, if an entry's +outline path were \"Food/Fruits/Grapes\", it would match any of +the following queries: + + (olp \"Food\") + (olp \"Fruits\") + (olp \"Food\" \"Fruits\") + (olp \"Fruits\" \"Grapes\") + (olp \"Food\" \"Grapes\")" + (let ((entry-olp (org-ql--value-at (point) #'org-ql--outline-path))) + (cl-loop for h in regexps + always (cl-member h entry-olp :test #'string-match)))) + +(org-ql--defpred (outline-path-segment olps) (&rest regexps) + "Return non-nil if current node's outline path matches segment REGEXPS. +Matches REGEXPS as a contiguous segment of the outline path. +Each regexp is compared to each element of the node's outline +path with `string-match'. For example, if an entry's outline +path were \"Food/Fruits/Grapes\", it would match any of the +following queries: + + (olp \"Food\") + (olp \"Fruit\") + (olp \"Food\" \"Fruit\") + (olp \"Fruit\" \"Grape\") + +But it would not match the following, because they do not match a +contiguous segment of the outline path: + + (olp \"Food\" \"Grape\")" + ;; MAYBE: Allow anchored matching. + (org-ql--infix-p regexps (org-ql--value-at (point) #'org-ql--outline-path))) + (org-ql--defpred (tags-inherited tags-i itags) (&rest tags) "Return non-nil if current heading's inherited tags include one or more of TAGS (a list of strings). If TAGS is nil, return non-nil if heading has any inherited tags." @@ -1302,6 +1360,18 @@ A and B are Org headline elements." (a-priority t) (b-priority nil))))) +(defun org-ql--infix-p (infix list) + "Return non-nil if INFIX is an infix of LIST. +Each element of INFIX is compared using `string-match', so each +element should be a regexp string." + (cl-loop with infix-length = (length infix) + while (and list + (>= (length list) infix-length)) + thereis (cl-loop for i in infix + for l in list + always (string-match i l)) + do (pop list))) + ;;;;; Plain query parsing ;; This section implements parsing of "plain," non-Lisp queries using the `peg' diff --git a/tests/test-org-ql.el b/tests/test-org-ql.el index c7b95bc..66c3053 100644 --- a/tests/test-org-ql.el +++ b/tests/test-org-ql.el @@ -479,6 +479,25 @@ RESULTS should be a list of strings as returned by (org-ql-expect ((heading "Take over" "world")) '("Take over the world")))) + (describe "(outline-path)" + (org-ql-it "with one argument" + (org-ql-expect ((outline-path "symphony")) + '("Write a symphony"))) + (org-ql-it "with two arguments" + (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")) + '("Write a symphony"))) + (org-ql-it "with a contiguous segment" + (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")) + nil))) + (describe "(path)" (org-ql-it "without arguments" (org-ql-expect ((path)) From ad20029721954472c69a334f26f57c20e8f4067d Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Mon, 7 Oct 2019 13:11:37 -0500 Subject: [PATCH 061/615] Notes: Update --- notes.org | 150 ++++++++++++++++++++++++++++-------------------------- 1 file changed, 77 insertions(+), 73 deletions(-) diff --git a/notes.org b/notes.org index 77cd1c2..a52cf2b 100644 --- a/notes.org +++ b/notes.org @@ -2,47 +2,10 @@ * Tasks -** TODO [#A] Outline path predicate - -[2019-10-07 Mon 11:15] There are two potential types of matching on outline paths: matching on any part of the outline path, and matching a specific path. For example, with this file: - -#+BEGIN_SRC org - ,* Food - - ,** Fruits - - ,*** Blueberries - - ,*** Grapes - - ,** Vegetables - - ,*** Carrots - - ,*** Potatoes -#+END_SRC - -Matching could work like this: - -+ ~(outline "Food")~ :: Would return all nodes. -+ ~(outline "Fruits")~ :: Would return all fruits. - -Matching at a specific path would be something like: - -+ ~(outline-path "Food" "Fruits")~ :: Would return all fruits. But if there were another =Fruits= heading somewhere in the file, under a different outline path, it would not return its nodes. - -I'm not sure the second type of matching belongs in predicates, but rather in [[id:6935361a-9e1d-48ec-8d17-876a90b90f50][this]]. - -To implement this with good performance probably needs an outline-path cache. I can probably repurpose the tags caching, but maybe it should be generalized. - ** TODO [#A] Document sorters Note that the built-in sorting only works on Org elements, which is the default ~:action~. So if a different action is used, sorting will not work. In that case, the action should be mapped across the Org element results from outside the ~org-ql~ form. -** TODO [#C] Test caching - -See notes on 1dce9467f25428b5289d3665cd840820969ed65a. It would be good to test the caching explicitly, at least for some queries, because if I were to completely break it again, in such a way that results were stored but retrieval always failed, the tests wouldn't catch it. - ** TODO [#A] Helm command In branch =wip/helm-org-ql=. Works really well, should add it and demonstrate it. @@ -162,6 +125,41 @@ Well, a bit of fiddling (lots of trial-and-error required) produced this: That seems pretty usable! +** TODO [#A] Outline path in buffers-files arg +:PROPERTIES: +:ID: 6935361a-9e1d-48ec-8d17-876a90b90f50 +:END: + +e.g. + +#+BEGIN_SRC elisp + (org-ql (olp "~/org/inbox.org" "Emacs" "Ideas") + (todo "NEXT")) +#+END_SRC + +Also, should support an ~id~ one. + +** TODO [#A] Tools for saving queries and accessing them [2/4] + ++ Added example to =examples.org=. + +*** DONE Save query from ql-agenda buffer + +*** DONE Access saved query from saved query list + +*** TODO Org link types +:PROPERTIES: +:ID: 4db73c1c-a4ed-425e-9e38-8d334ed03e1e +:END: + +This would be useful for having a menu of saved queries as Org links, or even bookmarking saved queries. + +**** TODO For all parameters + +**** TODO For saved queries + +*** TODO Bookmarks + ** TODO [#B] Timeline view e.g. as mentioned by Samuel Wales at https://lists.gnu.org/archive/html/emacs-orgmode/2019-08/msg00330.html. Prototype code: @@ -227,41 +225,6 @@ e.g. as mentioned by Samuel Wales at https://lists.gnu.org/archive/html/emacs-or (org-ql-agenda--agenda nil nil :strings strings))) #+END_SRC -** TODO [#A] Outline path in buffers-files arg -:PROPERTIES: -:ID: 6935361a-9e1d-48ec-8d17-876a90b90f50 -:END: - -e.g. - -#+BEGIN_SRC elisp - (org-ql (olp "~/org/inbox.org" "Emacs" "Ideas") - (todo "NEXT")) -#+END_SRC - -Also, should support an ~id~ one. - -** TODO [#A] Tools for saving queries and accessing them [2/4] - -+ Added example to =examples.org=. - -*** DONE Save query from ql-agenda buffer - -*** DONE Access saved query from saved query list - -*** TODO Org link types -:PROPERTIES: -:ID: 4db73c1c-a4ed-425e-9e38-8d334ed03e1e -:END: - -This would be useful for having a menu of saved queries as Org links, or even bookmarking saved queries. - -**** TODO For all parameters - -**** TODO For saved queries - -*** TODO Bookmarks - ** TODO [#B] Add more sorters? + [ ] =category= @@ -439,6 +402,10 @@ e.g. as mentioned by Samuel Wales at https://lists.gnu.org/archive/html/emacs-or e.g. doesn't currently show the =View= header. +** TODO [#C] Test caching + +See notes on 1dce9467f25428b5289d3665cd840820969ed65a. It would be good to test the caching explicitly, at least for some queries, because if I were to completely break it again, in such a way that results were stored but retrieval always failed, the tests wouldn't catch it. + ** TODO [#C] ~org-agenda-skip-function~ As discussed [[https://www.reddit.com/r/emacs/comments/cnrt2d/orgqlblock_integrates_orgql_into_org_agenda/ewi1q36/][here]], this is a cool feature that allows further integration into existing custom agenda commands. Example: @@ -488,6 +455,41 @@ See notes on 1dce9467f25428b5289d3665cd840820969ed65a. It would be good to test ** TODO [#C] Update commentary +** UNDERWAY [#A] Outline path predicate + +[2019-10-07 Mon 11:15] There are two potential types of matching on outline paths: matching on any part of the outline path, and matching a specific path. For example, with this file: + +#+BEGIN_SRC org + ,* Food + + ,** Fruits + + ,*** Blueberries + + ,*** Grapes + + ,** Vegetables + + ,*** Carrots + + ,*** Potatoes +#+END_SRC + +Matching could work like this: + ++ ~(outline "Food")~ :: Would return all nodes. ++ ~(outline "Fruits")~ :: Would return all fruits. + +Matching at a specific path would be something like: + ++ ~(outline-path "Food" "Fruits")~ :: Would return all fruits. But if there were another =Fruits= heading somewhere in the file, under a different outline path, it would not return its nodes. + +I'm not sure the second type of matching belongs in predicates, but rather in [[id:6935361a-9e1d-48ec-8d17-876a90b90f50][this]]. + +To implement this with good performance probably needs an outline-path cache. I can probably repurpose the tags caching, but maybe it should be generalized. + +[2019-10-07 Mon 13:09] This is basically done with =be2bf6df316b96b3ed56851b8ffe0e227796b621= and =be2bf6df316b96b3ed56851b8ffe0e227796b621=, but not the specific-path matching. I left a =MAYBE= in the code about "anchored" path matching, which would accomplish that. + ** UNDERWAY [#A] Helm command In branch =wip/helm-org-ql=. Works really well, should add it and demonstrate it. @@ -531,7 +533,7 @@ Items would be structs, and the =group-by= argument would be a list of accessors Not sure if it should automatically add the number of items to the header, or if that should be done manually. -** MAYBE [#C] "Node" caching +** UNDERWAY [#B] "Node" caching [2019-09-05 Thu 12:30] At each node checked by a predicate, make a struct that stores attributes we can query for, as well as parent node position. This would let us speed up ancestor-based queries, like =(ancestor (todo "WAITING"))=. Ideally it would also serve as the tag hierarchy cache. @@ -539,6 +541,8 @@ It would probably be an all-encompassing system, because predicates would need t Maybe a good improvement to make later, after the project is more developed. +[2019-10-07 Mon 13:08] This has basically been implemented in =be2bf6df316b96b3ed56851b8ffe0e227796b621=, but as functions and values rather than with structs. It remains to be seen how this works with =ancestor= queries, but I suspect it will help a lot. + *** Struct PoC code This works okay (except the priority accessor needs to be fixed, because Org priorities are awkward to get). I'm guessing all the extra function calls would make it undesirable in cases of returning many results, but it's a flexible concept that makes sorting easy. From 34cdbd5c87e0bd6ae8d3a72ac3473456dcc9e4af Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Mon, 7 Oct 2019 15:35:31 -0500 Subject: [PATCH 062/615] Docs: Add info manual Updating readme accordingly, based on org-super-agenda's, which is based on Magit's and Org's. --- README.org | 113 +++--- org-ql.info | 978 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 1048 insertions(+), 43 deletions(-) create mode 100644 org-ql.info diff --git a/README.org b/README.org index 574e056..a7258dc 100644 --- a/README.org +++ b/README.org @@ -1,10 +1,10 @@ #+TITLE: org-ql -#+BEGIN_HTML - -#+END_HTML +# NOTE: Using =BEGIN_HTML= for this causes TeX/info export to fail, but this HTML block works. +#+HTML: -[[https://melpa.org/#/org-ql][file:https://melpa.org/packages/org-ql-badge.svg]] [[https://stable.melpa.org/#/org-ql][file:https://stable.melpa.org/packages/org-ql-badge.svg]] +# NOTE: To avoid having this in the info manual, we use HTML rather than Org syntax; it still appears with the GitHub renderer. +#+HTML: This package provides a query language for Org files. It offers two syntax styles: Lisp-like sexps and search engine-like keywords. @@ -63,12 +63,12 @@ These commands and functions are included: + *Showing an agenda-like view:* - ~org-ql-search~ (command) - ~org-ql-view~ (command) - - =org-ql-view-sidebar= (command) + - ~org-ql-view-sidebar~ (command) - ~org-ql-block~ (agenda block function) + *Showing a tree in a buffer:* - - =org-ql-sparse-tree= (command) + - ~org-ql-sparse-tree~ (command) + *Showing results with Helm*: - - =helm-org-ql= (command) + - ~helm-org-ql~ (command) + *Returning a list of matches or acting on them:* - ~org-ql~ (macro) - ~org-ql-select~ (function) @@ -76,6 +76,7 @@ These commands and functions are included: Feedback on these APIs is welcome. Eventually, after being tested and polished, they will be considered stable. +# TODO: Find a way to get these examples included in the info manual. Lisp code examples are in [[examples.org]]. ** Commands @@ -129,7 +130,9 @@ Show a sidebar window listing views stored in =org-ql-views= for easy access. I Show items in ~FILES~ from last ~DAYS~ days with timestamps of ~TYPE~. ~TYPE~ may be ~ts~, ~ts-active~, ~ts-inactive~, ~clocked~, ~closed~, ~deadline~, ~planning~, or ~scheduled~. =FILES= defaults to those returned by the function =org-agenda-files=. -*** org-ql-sparse-tree =(query &key keep-previous (buffer (current-buffer)))= +*** org-ql-sparse-tree + +Arguments: ~(query &key keep-previous (buffer (current-buffer)))~ Show a sparse tree for ~QUERY~ in ~BUFFER~ and return number of results. The tree will show the lines where the query matches, and any other context defined in ~org-show-context-detail~, which see. @@ -171,29 +174,29 @@ Note that the =priority= predicate does not support comparators in the non-sexp Arguments are listed next to predicate names, where applicable. -+ ~category (&optional categories)~ :: Return non-nil if current heading is in one or more of ~CATEGORIES~ (a list of strings). -+ ~children (&optional query)~ :: Return non-nil if current heading has direct child headings. If ~QUERY~, test it against child headings. This selector may be nested, e.g. to match grandchild headings. -+ ~descendants (&optional query)~ :: Return non-nil if current heading has descendant headings. If ~QUERY~, test it against descendant headings. This selector may be nested (if you can grok the nesting!). -+ ~done~ :: Return non-nil if entry's ~TODO~ keyword is in ~org-done-keywords~. -+ ~habit~ :: Return non-nil if entry is a habit. -+ ~heading (&rest regexps)~ :: Return non-nil if current entry's heading matches all ~REGEXPS~ (regexp strings). -+ ~level (level-or-comparator &optional level)~ :: Return non-nil if current heading's outline level matches arguments. The following forms are accepted: ~(level NUMBER)~: Matches if heading level is ~NUMBER~. ~(level NUMBER NUMBER)~: Matches if heading level is equal to or between NUMBERs. ~(level COMPARATOR NUMBER)~: Matches if heading level compares to ~NUMBER~ with ~COMPARATOR~. ~COMPARATOR~ may be ~<~, ~<=~, ~>~, or ~>=~. -+ =outline-path (&rest strings)= :: Return non-nil if current node's outline path matches all of =STRINGS=. Each string may appear as a substring in any part of the node's outline path. For example, the path =Food/Fruits/Grapes= would match ~(olp "Fruit" "Grape")~. - - Aliases: =olp=. -+ =outline-path-segment (&rest strings)= :: Return non-nil if current node's outline path matches =STRINGS=. Matches =STRINGS= as a contiguous segment of the outline path. Each string is compared as a substring. For example the path =Food/Fruits/Grapes= would match ~(olps "Fruit" "Grape")~ but not ~(olps "Food" "Grape")~. - - Aliases: =olps=. -+ =path (&rest regexps)= :: Return non-nil if current heading's buffer's filename path matches any of =REGEXPS= (regexp strings). Without arguments, return non-nil if buffer is file-backed. -+ ~priority (&optional comparator-or-priority priority)~ :: Return non-nil if current heading has a certain priority. ~COMPARATOR-OR-PRIORITY~ should be either a comparator function, like ~<=~, or a priority string, like "A" (in which case (~=~ will be the comparator). If ~COMPARATOR-OR-PRIORITY~ is a comparator, ~PRIORITY~ should be a priority string. If both arguments are nil, return non-nil if heading has any defined priority. -+ ~property (property &optional value)~ :: Return non-nil if current entry has ~PROPERTY~ (a string), and optionally ~VALUE~ (a string). Note that property inheritance is currently /not/ enabled for this predicate. If you need to test with inheritance, you could use a custom predicate form, like ~(org-entry-get (point) "PROPERTY" 'inherit)~. -+ ~regexp (&rest regexps)~ :: Return non-nil if current entry matches all of ~REGEXPS~ (regexp strings). Matches against entire entry, from beginning of its heading to the next heading. -+ ~tags (&optional tags)~ :: Return non-nil if current heading has one or more of ~TAGS~ (a list of strings). Tests both inherited and local tags. -+ =tags-inherited (&optional tags)= :: Return non-nil if current heading's inherited tags include one or more of =TAGS= (a list of strings). If TAGS is nil, return non-nil if heading has any inherited tags. - - Aliases: =inherited-tags=, =tags-i=, =itags=. -+ =tags-local (&optional tags)= :: Return non-nil if current heading's local tags include one or more of =TAGS= (a list of strings). If TAGS is nil, return non-nil if heading has any local tags. - - Aliases: =local-tags=, =tags-l=, =ltags=. -+ =tags-all (tags)= :: Return non-nil if current heading includes all of =TAGS=. Tests both inherited and local tags. - - Aliases: =tags&=. -+ ~todo (&optional keywords)~ :: Return non-nil if current heading is a ~TODO~ item. With ~KEYWORDS~, return non-nil if its keyword is one of ~KEYWORDS~ (a list of strings). When called without arguments, only matches non-done tasks (i.e. does not match keywords in ~org-done-keywords~). ++ =category (&optional categories)= :: Return non-nil if current heading is in one or more of ~CATEGORIES~ (a list of strings). ++ =children (&optional query)= :: Return non-nil if current heading has direct child headings. If ~QUERY~, test it against child headings. This selector may be nested, e.g. to match grandchild headings. ++ =descendants (&optional query)= :: Return non-nil if current heading has descendant headings. If ~QUERY~, test it against descendant headings. This selector may be nested (if you can grok the nesting!). ++ =done= :: Return non-nil if entry's ~TODO~ keyword is in ~org-done-keywords~. ++ =habit= :: Return non-nil if entry is a habit. ++ =heading (&rest regexps)= :: Return non-nil if current entry's heading matches all ~REGEXPS~ (regexp strings). ++ =level (level-or-comparator &optional level)= :: Return non-nil if current heading's outline level matches arguments. The following forms are accepted: ~(level NUMBER)~: Matches if heading level is ~NUMBER~. ~(level NUMBER NUMBER)~: Matches if heading level is equal to or between NUMBERs. ~(level COMPARATOR NUMBER)~: Matches if heading level compares to ~NUMBER~ with ~COMPARATOR~. ~COMPARATOR~ may be ~<~, ~<=~, ~>~, or ~>=~. ++ =outline-path (&rest strings)= :: Return non-nil if current node's outline path matches all of ~STRINGS~. Each string may appear as a substring in any part of the node's outline path. For example, the path =Food/Fruits/Grapes= would match ~(olp "Fruit" "Grape")~. + - Aliases: ~olp~. ++ =outline-path-segment (&rest strings)= :: Return non-nil if current node's outline path matches ~STRINGS~. Matches ~STRINGS~ as a contiguous segment of the outline path. Each string is compared as a substring. For example the path ~Food/Fruits/Grapes~ would match ~(olps "Fruit" "Grape")~ but not ~(olps "Food" "Grape")~. + - Aliases: ~olps~. ++ =path (&rest regexps)= :: Return non-nil if current heading's buffer's filename path matches any of ~REGEXPS~ (regexp strings). Without arguments, return non-nil if buffer is file-backed. ++ =priority (&optional comparator-or-priority priority)= :: Return non-nil if current heading has a certain priority. ~COMPARATOR-OR-PRIORITY~ should be either a comparator function, like ~<=~, or a priority string, like "A" (in which case (~=~ will be the comparator). If ~COMPARATOR-OR-PRIORITY~ is a comparator, ~PRIORITY~ should be a priority string. If both arguments are nil, return non-nil if heading has any defined priority. ++ =property (property &optional value)= :: Return non-nil if current entry has ~PROPERTY~ (a string), and optionally ~VALUE~ (a string). Note that property inheritance is currently /not/ enabled for this predicate. If you need to test with inheritance, you could use a custom predicate form, like ~(org-entry-get (point) "PROPERTY" 'inherit)~. ++ =regexp (&rest regexps)= :: Return non-nil if current entry matches all of ~REGEXPS~ (regexp strings). Matches against entire entry, from beginning of its heading to the next heading. ++ =tags (&optional tags)= :: Return non-nil if current heading has one or more of ~TAGS~ (a list of strings). Tests both inherited and local tags. ++ =tags-inherited (&optional tags)= :: Return non-nil if current heading's inherited tags include one or more of ~TAGS~ (a list of strings). If ~TAGS~ is nil, return non-nil if heading has any inherited tags. + - Aliases: ~inherited-tags~, ~tags-i~, ~itags~. ++ =tags-local (&optional tags)= :: Return non-nil if current heading's local tags include one or more of ~TAGS~ (a list of strings). If ~TAGS~ is nil, return non-nil if heading has any local tags. + - Aliases: ~local-tags~, ~tags-l~, ~ltags~. ++ =tags-all (tags)= :: Return non-nil if current heading includes all of ~TAGS~. Tests both inherited and local tags. + - Aliases: ~tags&~. ++ =todo (&optional keywords)= :: Return non-nil if current heading is a ~TODO~ item. With ~KEYWORDS~, return non-nil if its keyword is one of ~KEYWORDS~ (a list of strings). When called without arguments, only matches non-done tasks (i.e. does not match keywords in ~org-done-keywords~). *** Date/time predicates :PROPERTIES: @@ -208,21 +211,21 @@ All of these predicates take optional keyword arguments ~:from~, ~:to:~, and ~:o Argument values should be either a number of days (positive to look forward, or negative to look backward), a ~ts~ struct, or a string parseable by ~parse-time-string~ (the string may omit the time value). -*Predicates:* -+ ~ts~ :: Return non-nil if current entry has a timestamp in given period. If no arguments are specified, return non-nil if entry has any timestamp. -+ ~ts-active~, ~ts-a~ :: Like ~ts~, but only matches active timestamps. -+ ~ts-inactive~, ~ts-i~ :: Like ~ts~, but only matches inactive timestamps. ++ *Predicates* + - =ts= :: Return non-nil if current entry has a timestamp in given period. If no arguments are specified, return non-nil if entry has any timestamp. + - =ts-active=, =ts-a= :: Like =ts=, but only matches active timestamps. + - =ts-inactive=, =ts-i= :: Like =ts=, but only matches inactive timestamps. The following predicates, in addition to the keyword arguments, can also take a single argument, a number, which looks backward or forward a number of days. The number can be negative to invert the direction. -*Backward-looking:* -+ ~clocked~ :: Return non-nil if current entry was clocked in given period. If no arguments are specified, return non-nil if entry was clocked at any time. Note: Clock entries are expected to be clocked out. Currently clocked entries (i.e. with unclosed timestamp ranges) are ignored. -+ ~closed~ :: Return non-nil if current entry was closed in given period. If no arguments are specified, return non-nil if entry was closed at any time. ++ *Backward-looking* + - =clocked= :: Return non-nil if current entry was clocked in given period. If no arguments are specified, return non-nil if entry was clocked at any time. Note: Clock entries are expected to be clocked out. Currently clocked entries (i.e. with unclosed timestamp ranges) are ignored. + - =closed= :: Return non-nil if current entry was closed in given period. If no arguments are specified, return non-nil if entry was closed at any time. -*Forward-looking:* -+ ~deadline~ :: Return non-nil if current entry has deadline in given period. If argument is =auto=, return non-nil if entry has deadline within =org-deadline-warning-days=. If no arguments are specified, return non-nil if entry has any deadline. -+ ~planning~ :: Return non-nil if current entry has planning timestamp in given period (i.e. its deadline, scheduled, or closed timestamp). If no arguments are specified, return non-nil if entry is scheduled at any time. -+ ~scheduled~ :: Return non-nil if current entry is scheduled in given period. If no arguments are specified, return non-nil if entry is scheduled at any time. ++ *Forward-looking* + - =deadline= :: Return non-nil if current entry has deadline in given period. If argument is =auto=, return non-nil if entry has deadline within =org-deadline-warning-days=. If no arguments are specified, return non-nil if entry has any deadline. + - =planning= :: Return non-nil if current entry has planning timestamp in given period (i.e. its deadline, scheduled, or closed timestamp). If no arguments are specified, return non-nil if entry is scheduled at any time. + - =scheduled= :: Return non-nil if current entry is scheduled in given period. If no arguments are specified, return non-nil if entry is scheduled at any time. ** Functions / Macros :PROPERTIES: @@ -371,6 +374,7 @@ Expands into a call to ~org-ql-select~ with the same arguments. For convenience *Added* + Predicates =outline-path= (alias =olp=) and =outline-path-segment= (alias =olps=). ++ Info manual. *Internal* + Added generic node data cache to speed up recursive, tree-based queries. @@ -571,9 +575,32 @@ Generates the predicate subtree. If ~org-ql~ is loaded byte-compiled, the argument lists are not named properly (not sure why, as ~help-function-arglist~ is supposed to handle that). We could run the function in another Emacs process with ~async~ to avoid this. +* COMMENT Export setup :noexport: +:PROPERTIES: +:TOC: ignore +:END: + +# Copied from org-super-agenda's readme, in which much was borrowed from Org's =org-manual.org=. + +#+OPTIONS: broken-links:t *:t + +** Info export options + +#+TEXINFO_DIR_CATEGORY: Emacs +#+TEXINFO_DIR_TITLE: Org QL: (org-ql) +#+TEXINFO_DIR_DESC: Query language, search commands, and saved views for Org files + +# NOTE: We could use these, but that causes a pointless error, "org-compile-file: File "..README.info" wasn't produced...", so we just rename the files in the after-save-hook instead. +# #+TEXINFO_FILENAME: org-ql.info +# #+EXPORT_FILE_NAME: org-ql.texi + ** File-local variables +# NOTE: Setting org-comment-string buffer-locally is a nasty hack to work around GitHub's org-ruby's HTML rendering, which does not respect noexport tags. The only way to hide this tree from its output is to use the COMMENT keyword, but that prevents Org from processing the export options declared in it. So since these file-local variables don't affect org-ruby, wet set org-comment-string to an unused keyword, which prevents Org from deleting this tree from the export buffer, which allows it to find the export options in it. And since org-export does respect the noexport tag, the tree is excluded from the info page. + # Local Variables: -# eval: (require 'org-make-toc) # before-save-hook: org-make-toc +# after-save-hook: (lambda nil (when (and (require 'ox-texinfo nil t) (org-texinfo-export-to-info)) (delete-file "README.texi") (rename-file "README.info" "org-ql.info" t))) +# org-export-initial-scope: buffer +# org-comment-string: "NOTCOMMENT" # End: diff --git a/org-ql.info b/org-ql.info new file mode 100644 index 0000000..f585e33 --- /dev/null +++ b/org-ql.info @@ -0,0 +1,978 @@ +This is README.info, produced by makeinfo version 5.2 from README.texi. + +INFO-DIR-SECTION Emacs +START-INFO-DIR-ENTRY +* Org QL: (org-ql). Query language, search commands, and saved views for Org files. +END-INFO-DIR-ENTRY + + +File: README.info, Node: Top, Next: Contents, Up: (dir) + +org-ql +****** + +* Menu: + +* Contents:: +* Screenshots:: +* Installation:: +* Usage:: +* Changelog:: +* Notes:: +* License:: + +— The Detailed Node Listing — + + + +Installation + +* Quelpa:: + + +Usage + +* Commands:: +* Queries:: +* Functions / Macros:: + +Commands + +* org-ql-search:: +* helm-org-ql:: +* org-ql-view:: +* org-ql-view-sidebar:: +* org-ql-view-recent-items:: +* org-ql-sparse-tree:: + + + +Queries + +* Non-sexp query syntax:: +* Predicates:: +* Date/time predicates:: + + + +Functions / Macros + +* Agenda-like views:: +* Listing / acting-on results:: + +Changelog + +* 0.4-pre: 04-pre. +* 0.3: 03. +* 0.2.3: 023. +* 0.2.2: 022. +* 0.2.1: 021. +* 0.2: 02. +* 0.1: 01. + + + +Notes + +* Comparison with Org Agenda searches:: +* org-sidebar:: + +This package provides a query language for Org files. It offers two +syntax styles: Lisp-like sexps and search engine-like keywords. + + It includes three libraries: The org-ql library is flexible and may +be used as a backend for other tools. The libraries org-ql-search and +helm-org-ql provide interactive search commands and saved views. + + +File: README.info, Node: Contents, Next: Screenshots, Prev: Top, Up: Top + +1 Contents +********** + + • • • + • • • • • + +File: README.info, Node: Screenshots, Next: Installation, Prev: Contents, Up: Top + +2 Screenshots +************* + + +File: README.info, Node: Installation, Next: Usage, Prev: Screenshots, Up: Top + +3 Installation +************** + +The package may be installed directly from MELPA +(https://melpa.org/#/org-ql) or with other tools like Quelpa +(https://framagit.org/steckerhalter/quelpa). + + After installation, you can use the commands without additional +configuration. _Note: The command helm-org-ql only works if the package +helm-org is installed; Helm is not a dependency of this package, so it’s +not automatically installed._ + + To use the functions and macros in your own Elisp code, use libraries +org-ql and org-ql-view. + +* Menu: + +* Quelpa:: + + +File: README.info, Node: Quelpa, Up: Installation + +3.1 Quelpa +========== + +Installing with Quelpa (https://framagit.org/steckerhalter/quelpa) is +easy: + + 1. Install quelpa-use-package + (https://framagit.org/steckerhalter/quelpa-use-package#installation) + (which can be installed directly from MELPA). + 2. Add this form to your init file: + + (use-package org-ql + :quelpa (org-ql :fetcher github :repo "alphapapa/org-ql")) + + +File: README.info, Node: Usage, Next: Changelog, Prev: Installation, Up: Top + +4 Usage +******* + +These commands and functions are included: + + • *Showing an agenda-like view:* + • ‘org-ql-search’ (command) + • ‘org-ql-view’ (command) + • ‘org-ql-view-sidebar’ (command) + • ‘org-ql-block’ (agenda block function) + • *Showing a tree in a buffer:* + • ‘org-ql-sparse-tree’ (command) + • *Showing results with Helm*: + • ‘helm-org-ql’ (command) + • *Returning a list of matches or acting on them:* + • ‘org-ql’ (macro) + • ‘org-ql-select’ (function) + • ‘org-ql-query’ (function) + + Feedback on these APIs is welcome. Eventually, after being tested +and polished, they will be considered stable. + + Lisp code examples are in . + +* Menu: + +* Commands:: +* Queries:: +* Functions / Macros:: + + +File: README.info, Node: Commands, Next: Queries, Up: Usage + +4.1 Commands +============ + +* Menu: + +* org-ql-search:: +* helm-org-ql:: +* org-ql-view:: +* org-ql-view-sidebar:: +* org-ql-view-recent-items:: +* org-ql-sparse-tree:: + + +File: README.info, Node: org-ql-search, Next: helm-org-ql, Up: Commands + +4.1.1 org-ql-search +------------------- + +_Note: This command supports both sexp queries and ._ + + Read ‘QUERY’ and search with ‘org-ql’. Interactively, prompt for +these variables: + + ‘BUFFERS-FILES’: ‘A’ list of buffers and/or files to search. +Interactively, may also be: + + • ‘buffer’: search the current buffer + • ‘all’: search all Org buffers + • ‘agenda’: search buffers returned by the function + ‘org-agenda-files’ + • An expression which evaluates to a list of files/buffers + • A space-separated list of file or buffer names + + ‘GROUPS’: An ‘org-super-agenda’ group set. See variable +‘org-super-agenda-groups’. + + ‘NARROW’: When non-nil, don’t widen buffers before searching. +Interactively, with prefix, leave narrowed. + + ‘SORT’: One or a list of ‘org-ql’ sorting functions, like ‘date’ or +‘priority’. + + *Bindings:* Keys bound in results buffer. + • g: Refresh results. + • C-x C-s: Save query to variable ‘org-ql-views’ (accessible with + command ‘org-ql-view’). + + *Note:* The view buffer is currently put in ‘org-agenda-mode’, which +means that _some_ Org Agenda commands work, such as jumping to entries +and changing item priorities (without necessarily updating the view). +This feature is experimental and not guaranteed to work correctly with +all commands. (It works to the extent it does because the appropriate +text properties are placed on each item, imitating an Agenda buffer.) + + +File: README.info, Node: helm-org-ql, Next: org-ql-view, Prev: org-ql-search, Up: Commands + +4.1.2 helm-org-ql +----------------- + +_Note: This command uses ._ + + This command displays matches with Helm. *Note:* Helm is not a +package dependency, so this command only works if the package helm-org +is installed. + + • Press C-x C-s in the Helm session to save the results to an + org-ql-search buffer. + + +File: README.info, Node: org-ql-view, Next: org-ql-view-sidebar, Prev: helm-org-ql, Up: Commands + +4.1.3 org-ql-view +----------------- + +Choose and display a view stored in ‘org-ql-views’. + + +File: README.info, Node: org-ql-view-sidebar, Next: org-ql-view-recent-items, Prev: org-ql-view, Up: Commands + +4.1.4 org-ql-view-sidebar +------------------------- + +Show a sidebar window listing views stored in org-ql-views for easy +access. In the sidebar, press RET or mouse-1 to show the view at point, +and press c to customize the view at point. + + +File: README.info, Node: org-ql-view-recent-items, Next: org-ql-sparse-tree, Prev: org-ql-view-sidebar, Up: Commands + +4.1.5 org-ql-view-recent-items +------------------------------ + +Show items in ‘FILES’ from last ‘DAYS’ days with timestamps of ‘TYPE’. +‘TYPE’ may be ‘ts’, ‘ts-active’, ‘ts-inactive’, ‘clocked’, ‘closed’, +‘deadline’, ‘planning’, or ‘scheduled’. FILES defaults to those +returned by the function org-agenda-files. + + +File: README.info, Node: org-ql-sparse-tree, Prev: org-ql-view-recent-items, Up: Commands + +4.1.6 org-ql-sparse-tree +------------------------ + +Arguments: ‘(query &key keep-previous (buffer (current-buffer)))’ + + Show a sparse tree for ‘QUERY’ in ‘BUFFER’ and return number of +results. The tree will show the lines where the query matches, and any +other context defined in ‘org-show-context-detail’, which see. + + ‘QUERY’ is an ‘org-ql’ query sexp (quoted, since this is a function). +‘BUFFER’ defaults to the current buffer. When ‘KEEP-PREVIOUS’ is +non-nil (interactively, with prefix), the outline is not reset to the +overview state before finding matches, which allows stacking calls to +this command. Runs ‘org-occur-hook’ after making the sparse tree. + + +File: README.info, Node: Queries, Next: Functions / Macros, Prev: Commands, Up: Usage + +4.2 Queries +=========== + +An org-ql query is a lisp form which may contain arbitrary lisp forms, +as well as certain built-in predicates. It is byte-compiled into a +predicate function which is tested with point on each heading in an Org +buffer; when it returns non-nil, the heading matches the query. + + *Notes:* + • Bare strings like ‘"string"’ are automatically converted to + ‘(regexp "string")’ predicates. + • Standard numeric comparator function symbols (‘<’, ‘<=’, ‘>’, ‘>=’, + ‘=’ ) need not be quoted when passed as an argument to predicates + which accept them. The resemblance to infix notation is + coincidental. + +* Menu: + +* Non-sexp query syntax:: +* Predicates:: +* Date/time predicates:: + + +File: README.info, Node: Non-sexp query syntax, Next: Predicates, Up: Queries + +4.2.1 Non-sexp query syntax +--------------------------- + +The command org-ql-search also accepts, and the command helm-org-ql only +accepts, an alternative, non-sexp query syntax. The syntax is simple, +and a few examples of queries in both syntaxes should suffice. By +default, when multiple predicates are used, they are combined with +boolean and. + +Sexp syntax Non-sexp syntax +------------------------------------------------------------------------------------------------ +‘(todo)’ ‘todo:’ +‘(todo "SOMEDAY")’ ‘todo:SOMEDAY’ +‘(todo "SOMEDAY" "WAITING")’ ‘todo:SOMEDAY,WAITING’ +‘(ts :on today)’ ‘ts:on=today’ +‘(ts-active :from "2017-01-01" :to "2018-01-01")’ ‘ts-active:from=2017-01-01,to=2018-01-01’ +‘(clocked :on -1)’ ‘clocked:on=-1’ +‘(heading "quoted phrase" "word")’ ‘heading:"quoted phrase",word’ +‘(and (tags "book" "books") (priority "A"))’ ‘tags:book,books priority:A’ +‘(priority >= B)’ ‘priority:A,B’ + + Note that the priority predicate does not support comparators in the +non-sexp syntax, so multiple priorities should be passed instead, as +seen in the last example. + + +File: README.info, Node: Predicates, Next: Date/time predicates, Prev: Non-sexp query syntax, Up: Queries + +4.2.2 Predicates +---------------- + +Arguments are listed next to predicate names, where applicable. + +‘category (&optional categories)’ + Return non-nil if current heading is in one or more of ‘CATEGORIES’ + (a list of strings). +‘children (&optional query)’ + Return non-nil if current heading has direct child headings. If + ‘QUERY’, test it against child headings. This selector may be + nested, e.g. to match grandchild headings. +‘descendants (&optional query)’ + Return non-nil if current heading has descendant headings. If + ‘QUERY’, test it against descendant headings. This selector may be + nested (if you can grok the nesting!). +‘done’ + Return non-nil if entry’s ‘TODO’ keyword is in ‘org-done-keywords’. +‘habit’ + Return non-nil if entry is a habit. +‘heading (&rest regexps)’ + Return non-nil if current entry’s heading matches all ‘REGEXPS’ + (regexp strings). +‘level (level-or-comparator &optional level)’ + Return non-nil if current heading’s outline level matches + arguments. The following forms are accepted: ‘(level NUMBER)’: + Matches if heading level is ‘NUMBER’. ‘(level NUMBER NUMBER)’: + Matches if heading level is equal to or between NUMBERs. ‘(level + COMPARATOR NUMBER)’: Matches if heading level compares to ‘NUMBER’ + with ‘COMPARATOR’. ‘COMPARATOR’ may be ‘<’, ‘<=’, ‘>’, or ‘>=’. +‘outline-path (&rest strings)’ + Return non-nil if current node’s outline path matches all of + ‘STRINGS’. Each string may appear as a substring in any part of + the node’s outline path. For example, the path Food/Fruits/Grapes + would match ‘(olp "Fruit" "Grape")’. + • Aliases: ‘olp’. +‘outline-path-segment (&rest strings)’ + Return non-nil if current node’s outline path matches ‘STRINGS’. + Matches ‘STRINGS’ as a contiguous segment of the outline path. + Each string is compared as a substring. For example the path + ‘Food/Fruits/Grapes’ would match ‘(olps "Fruit" "Grape")’ but not + ‘(olps "Food" "Grape")’. + • Aliases: ‘olps’. +‘path (&rest regexps)’ + Return non-nil if current heading’s buffer’s filename path matches + any of ‘REGEXPS’ (regexp strings). Without arguments, return + non-nil if buffer is file-backed. +‘priority (&optional comparator-or-priority priority)’ + Return non-nil if current heading has a certain priority. + ‘COMPARATOR-OR-PRIORITY’ should be either a comparator function, + like ‘<=’, or a priority string, like "A" (in which case (‘=’ will + be the comparator). If ‘COMPARATOR-OR-PRIORITY’ is a comparator, + ‘PRIORITY’ should be a priority string. If both arguments are nil, + return non-nil if heading has any defined priority. +‘property (property &optional value)’ + Return non-nil if current entry has ‘PROPERTY’ (a string), and + optionally ‘VALUE’ (a string). Note that property inheritance is + currently _not_ enabled for this predicate. If you need to test + with inheritance, you could use a custom predicate form, like + ‘(org-entry-get (point) "PROPERTY" 'inherit)’. +‘regexp (&rest regexps)’ + Return non-nil if current entry matches all of ‘REGEXPS’ (regexp + strings). Matches against entire entry, from beginning of its + heading to the next heading. +‘tags (&optional tags)’ + Return non-nil if current heading has one or more of ‘TAGS’ (a list + of strings). Tests both inherited and local tags. +‘tags-inherited (&optional tags)’ + Return non-nil if current heading’s inherited tags include one or + more of ‘TAGS’ (a list of strings). If ‘TAGS’ is nil, return + non-nil if heading has any inherited tags. + • Aliases: ‘inherited-tags’, ‘tags-i’, ‘itags’. +‘tags-local (&optional tags)’ + Return non-nil if current heading’s local tags include one or more + of ‘TAGS’ (a list of strings). If ‘TAGS’ is nil, return non-nil if + heading has any local tags. + • Aliases: ‘local-tags’, ‘tags-l’, ‘ltags’. +‘tags-all (tags)’ + Return non-nil if current heading includes all of ‘TAGS’. Tests + both inherited and local tags. + • Aliases: ‘tags&’. +‘todo (&optional keywords)’ + Return non-nil if current heading is a ‘TODO’ item. With + ‘KEYWORDS’, return non-nil if its keyword is one of ‘KEYWORDS’ (a + list of strings). When called without arguments, only matches + non-done tasks (i.e. does not match keywords in + ‘org-done-keywords’). + + +File: README.info, Node: Date/time predicates, Prev: Predicates, Up: Queries + +4.2.3 Date/time predicates +-------------------------- + +All of these predicates take optional keyword arguments ‘:from’, ‘:to:’, +and ‘:on’: + + • If ‘:from’, return non-nil if entry has a timestamp on or after + ‘:from’. + • If ‘:to’, return non-nil if entry has a timestamp on or before + ‘:to’. + • If ‘:on’, return non-nil if entry has a timestamp on date ‘:on’. + + Argument values should be either a number of days (positive to look +forward, or negative to look backward), a ‘ts’ struct, or a string +parseable by ‘parse-time-string’ (the string may omit the time value). + + • *Predicates* + ‘ts’ + Return non-nil if current entry has a timestamp in given + period. If no arguments are specified, return non-nil if + entry has any timestamp. + ‘ts-active, ts-a’ + Like ts, but only matches active timestamps. + ‘ts-inactive, ts-i’ + Like ts, but only matches inactive timestamps. + + The following predicates, in addition to the keyword arguments, can +also take a single argument, a number, which looks backward or forward a +number of days. The number can be negative to invert the direction. + + • *Backward-looking* + ‘clocked’ + Return non-nil if current entry was clocked in given period. + If no arguments are specified, return non-nil if entry was + clocked at any time. Note: Clock entries are expected to be + clocked out. Currently clocked entries (i.e. with unclosed + timestamp ranges) are ignored. + ‘closed’ + Return non-nil if current entry was closed in given period. + If no arguments are specified, return non-nil if entry was + closed at any time. + + • *Forward-looking* + ‘deadline’ + Return non-nil if current entry has deadline in given period. + If argument is auto, return non-nil if entry has deadline + within org-deadline-warning-days. If no arguments are + specified, return non-nil if entry has any deadline. + ‘planning’ + Return non-nil if current entry has planning timestamp in + given period (i.e. its deadline, scheduled, or closed + timestamp). If no arguments are specified, return non-nil if + entry is scheduled at any time. + ‘scheduled’ + Return non-nil if current entry is scheduled in given period. + If no arguments are specified, return non-nil if entry is + scheduled at any time. + + +File: README.info, Node: Functions / Macros, Prev: Queries, Up: Usage + +4.3 Functions / Macros +====================== + +* Menu: + +* Agenda-like views:: +* Listing / acting-on results:: + + +File: README.info, Node: Agenda-like views, Next: Listing / acting-on results, Up: Functions / Macros + +4.3.1 Agenda-like views +----------------------- + + 1. Function: ‘org-ql-block’ + + For use as a custom agenda block type in + ‘org-agenda-custom-commands’. For example, you could define a + custom series command like this, which would list all priority A + items tagged Emacs with to-do keyword SOMEDAY, followed by the + standard agenda view, in a single buffer: + + (setq org-agenda-custom-commands + '(("ces" "Custom: Agenda and Emacs SOMEDAY [#A] items" + ((org-ql-block '(and (todo "SOMEDAY") + (tags "Emacs") + (priority "A")) + ((org-ql-block-header "SOMEDAY :Emacs: High-priority"))) + (agenda))))) + + Which would be equivalent to a ‘tags-todo’ search like this: + + (setq org-agenda-custom-commands + '(("ces" "Custom: Agenda and Emacs SOMEDAY [#A] items" + ((tags-todo "PRIORITY=\"A\"+Emacs/!SOMEDAY") + (agenda))))) + + However, the ‘org-ql-block’ version runs in about 1/5th the time. + + The variable org-ql-block-header may be bound to a string to use as + the block header, otherwise the header is formed automatically. + + +File: README.info, Node: Listing / acting-on results, Prev: Agenda-like views, Up: Functions / Macros + +4.3.2 Listing / acting-on results +--------------------------------- + + 1. Function: ‘org-ql-select’ + + _Arguments:_ ‘(buffers-or-files query &key action narrow sort)’ + + Return items matching ‘QUERY’ in ‘BUFFERS-OR-FILES’. + + ‘BUFFERS-OR-FILES’ is a one or a list of files and/or buffers. + + ‘QUERY’ is an ‘org-ql’ query sexp (quoted, since this is a + function). + + ‘ACTION’ is a function which is called on each matching entry with + point at the beginning of its heading. It may be: + + • ‘element’ or nil: Equivalent to ‘org-element-headline-parser’. + + • ‘element-with-markers’: Equivalent to calling + ‘org-element-headline-parser’, with markers added using + ‘org-ql--add-markers’. Suitable for formatting with + ‘org-ql-agenda--format-element’, allowing insertion into an + Org Agenda-like buffer. + + • A sexp, which will be byte-compiled into a lambda function. + + • A function symbol. + + If ‘NARROW’ is non-nil, buffers are not widened (the default is to + widen and search the entire buffer). + + ‘SORT’ is either nil, in which case items are not sorted; or one or + a list of defined ‘org-ql’ sorting methods (‘date’, ‘deadline’, + ‘scheduled’, ‘todo’, ‘priority’, or ‘random’); or a user-defined + comparator function that accepts two items as arguments and returns + nil or non-nil. + + Examples: + + ;; Return list of to-do headings in inbox file with tags and to-do keywords: + (org-ql-select "~/org/inbox.org" + '(todo) + :action #'org-get-heading) + ;; => ("TODO Practice leaping tall buildings in a single bound :personal:" ...) + + ;; Without tags and to-do keywords: + (org-ql-select "~/org/inbox.org" + '(todo) + :action '(org-get-heading t t)) + ;; => ("Practice leaping tall buildings in a single bound" ...) + + ;; Return WAITING heading elements in agenda files: + (org-ql-select (org-agenda-files) + '(todo "WAITING") + :action 'element) + ;; => ((headline (:raw-value "Visit the moon" ...) ...) ...) + + ;; Since `element' is the default for ACTION, it may be omitted: + (org-ql-select (org-agenda-files) + '(todo "WAITING")) + ;; => ((headline (:raw-value "Visit the moon" ...) ...) ...) + + 2. Function: ‘org-ql-query’ + + _Arguments:_ ‘(&key (select 'element-with-markers) from where + order-by narrow)’ + + Like ‘org-ql-select’, but arguments are named more like a ‘SQL’ + query. + + • ‘SELECT’ corresponds to the ‘org-ql-select’ argument ‘ACTION’. + • ‘FROM’ corresponds to the ‘org-ql-select’ argument + ‘BUFFERS-OR-FILES’. + • ‘WHERE’ corresponds to the ‘org-ql-select’ argument ‘QUERY’. + • ‘ORDER-BY’ corresponds to the ‘org-ql-select’ argument ‘SORT’, + which see. + • ‘NARROW’ corresponds to the ‘org-ql-select’ argument ‘NARROW’. + + Examples: + + ;; Return list of to-do headings in inbox file with tags and to-do keywords: + (org-ql-query + :select #'org-get-heading + :from "~/org/inbox.org" + :where '(todo)) + ;; => ("TODO Practice leaping tall buildings in a single bound :personal:" ...) + + ;; Without tags and to-do keywords: + (org-ql-query + :select '(org-get-heading t t) + :from "~/org/inbox.org" + :where '(todo)) + ;; => ("Practice leaping tall buildings in a single bound" ...) + + ;; Return WAITING heading elements in agenda files: + (org-ql-query + :select 'element + :from (org-agenda-files) + :where '(todo "WAITING")) + ;; => ((headline (:raw-value "Visit the moon" ...) ...) ...) + + ;; Since `element' is the default for SELECT, it may be omitted: + (org-ql-query + :from (org-agenda-files) + :where '(todo "WAITING")) + ;; => ((headline (:raw-value "Visit the moon" ...) ...) ...) + + 3. Macro: ‘org-ql’ + + _Arguments:_ ‘(buffers-or-files query &key sort narrow markers + action)’ + + Expands into a call to ‘org-ql-select’ with the same arguments. + For convenience, arguments should be unquoted. + + +File: README.info, Node: Changelog, Next: Notes, Prev: Usage, Up: Top + +5 Changelog +*********** + +_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. + +* Menu: + +* 0.4-pre: 04-pre. +* 0.3: 03. +* 0.2.3: 023. +* 0.2.2: 022. +* 0.2.1: 021. +* 0.2: 02. +* 0.1: 01. + + +File: README.info, Node: 04-pre, Next: 03, Up: Changelog + +5.1 0.4-pre +=========== + +*Added* + • Predicates outline-path (alias olp) and outline-path-segment (alias + olps). + • Info manual. + + *Internal* + • Added generic node data cache to speed up recursive, tree-based + queries. + + +File: README.info, Node: 03, Next: 023, Prev: 04-pre, Up: Changelog + +5.2 0.3 +======= + +*Added* + • Alternative, non-sexp query syntax for commands org-ql-search and + helm-org-ql. See . + • Command helm-org-ql. + • Command org-ql-sparse-tree, like org-sparse-tree for org-ql + queries. (Thanks to Akira Komamura (https://github.com/akirak).) + • Command org-ql-view-sidebar. + • Per-buffer, per-heading tag caching, which increases the speed of + tags-related queries by 6-7x. + • More tags-related predicates and aliases: + • For inherited tags: tags-inherited, inherited-tags, tags-i, + itags. + • For heading-local tags: tags-local, local-tags, tags-l, ltags. + • tags-all, tags&: Matches all given tags using boolean AND + (rather than boolean OR, which the tags predicate uses). + • Variable org-ql-block-header, which overrides the default header in + org-ql-block agenda blocks. + • Predicate (path). + • Option org-ql-views may now be customized in a guided, structured + way with the customization UI (e.g. + M-x customize-option RET org-ql-views RET, or press c in the + org-ql-view-sidebar buffer). + • Enable more Org Agenda commands in org-ql-view buffers (e.g. + setting deadlines and scheduling). (Fixes #35 + (https://github.com/alphapapa/org-ql/issues/35). Thanks to Milan + Zamazal (https://github.com/mz-pdm) and Mikhail Skorzhinskii + (https://github.com/mskorzhinskiy).) + • Function org-ql-select’s buffers-files argument can be a function + which returns a list of buffers and/or files. + + *Changed* + • Predicate heading now accepts multiple regexps, which are matched + with boolean AND. + • Predicate regexp now matches its regexp arguments with boolean AND. + • Package org-super-agenda is now a dependency. This removes the + need for awkward code to handle the case where it’s not installed, + and makes grouping features always available. Of course, the + global minor mode org-super-agenda-mode is not activated by org-ql, + so no behavior is changed in Org Agenda or org-ql; it only means + that commands like org-ql-search will always provide grouping when + called with the appropriate arguments. + + *Removed* + • Macro org-ql-agenda. Instead, use function org-ql-search. See + also command org-ql-view, etc. + + *Fixed* + • Predicate heading now matches only against heading text, i.e. not + including tags at the end of the line, to-do keyword, etc. + • Predicate todo now matches case-sensitively, avoiding + non-todo-keyword matches (e.g. a heading which begins Waiting on + will no longer match for a todo keyword WAITING). + • Interactive completion in org-ql-search. + + *Internal* + • Refactored code from file org-ql-agenda.el into files + org-ql-search.el and org-ql-view.el. Function and variable names + have been changed accordingly. + + +File: README.info, Node: 023, Next: 022, Prev: 03, Up: Changelog + +5.3 0.2.3 +========= + +*Fixed* + • Priority queries could fail to match headings whose to-do keywords + had non-alphabetic characters, like TO-READ. + + +File: README.info, Node: 022, Next: 021, Prev: 023, Up: Changelog + +5.4 0.2.2 +========= + +*Fixed* + • (deadline auto) selector matched entries whose deadlines had a + warning period that had not yet been entered + (org-deadline-warning-days too soon). + + +File: README.info, Node: 021, Next: 02, Prev: 022, Up: Changelog + +5.5 0.2.1 +========= + +*Fixed* + • (descendants) selector matched against parent heading instead of + only descendants. + + +File: README.info, Node: 02, Next: 01, Prev: 021, Up: Changelog + +5.6 0.2 +======= + +*Added* + • Function ‘org-ql-query’, like ‘org-ql-select’ but with arguments + named more like a SQL query. + • Bare strings like ‘"string"’ can be used in queries, which are + converted to ‘(regexp "string")’ automatically. + • Selector ‘(regexp)’ accepts multiple regexps to test. + • Macro ‘org-ql’ and functions ‘org-ql-query’ and ‘org-ql-select’ now + also accept a comparator function in their ‘:sort’ argument. + • Function ‘org-ql-block’, which works as an Org Agenda + series/composite/block command, usable in custom agenda commands + defined in variable ‘org-agenda-custom-commands’. (Inspired by + Benson Chu’s config + (https://github.com/pestctrl/emacs-config/blob/84c557982a860e86d6f67976a82ea776a7bd2c7a/config-org-new.org#my-own-agenda-renderer).) + • Function ‘org-ql-agenda--agenda’ optionally takes a list of entries + as an argument. + • Selectors ‘ts-a’ and ‘ts-i’, aliases for ‘ts-active’ and + ‘ts-inactive’. + • Selector ‘ts’ now accepts a ‘:type’ argument. + • Face org-ql-agenda-due-date. + • Selectors ‘(children)’ and ‘(descendants)’. + • Function ‘org-ql-search’ and macro ‘org-ql-agenda’ accept a + ‘:title’ argument, which is displayed in the header. + • Command ‘org-ql-search’ offers global ‘org-super-agenda-groups’ in + completion. + • Customization group ‘org-ql’. + • Command ‘org-ql-view’, which displays views saved to variable + ‘org-ql-views’, which can be saved from ‘org-ql-search’ buffers + with command ‘org-ql-search-save’, which is bound to C-x C-s in + view buffers. + • Variable ‘org-ql-view-map’, active in view buffers displayed by + ‘org-ql-search’, ‘org-ql-agenda’, and ‘org-ql-view’. + • random sort method. + • Save position when refreshing search buffers. + + *Changed* + • Function ‘org-ql-query’ renamed to ‘org-ql-select’. ‘org-ql-query’ + now refers to a new function. + • Macro ‘org-ql’ no longer accepts a ‘:markers’ argument. Instead, + use argument ‘:action element-with-markers’. See function + ‘org-ql-select’, which ‘org-ql’ calls. + • Selector ‘(todo)’ no longer matches "done" keywords when used + without arguments (i.e. the ones in variable ‘org-done-keywords’). + • Overhauled date/time-based predicates. See documentation for new + argument signatures. + + *Removed* + • Selector ‘(date)’, replaced by ‘(ts)’. + + *Fixed* + • Handle date ranges in date-based selectors. (Thanks to Cody + Goodman (https://github.com/codygman), Samuel W. Flint + (https://github.com/swflint), and Vikas Rawal + (https://github.com/vikasrawal).) + • Don’t overwrite bindings in org-agenda-mode-map. + • Don’t search buffers without headings, and show a message if the + user attempts it. + • Don’t search hidden/special buffers. + • Properly accept arbitrary sort functions in org-ql-select, etc. + (Fixes #37 (https://github.com/alphapapa/org-ql/issues/37). Thanks + to Milan Zamazal (https://github.com/mz-pdm).) + • Planning-line-related predicates searched too far into entries. + • Add autoloads. (Fixes #36 + (https://github.com/alphapapa/org-ql/pull/36/files#). Thanks to + Akira Komamura (https://github.com/akirak).) + + *Compatibility* + • Fixes for compatibility with Org 9.2. (Thanks to Ataias Pereira + Reis (https://github.com/ataias) and Daniel Kraus + (https://github.com/dakra).) + + *Internal* + • Optimizations for some query selectors, e.g. regexp and todo. + These can provide a significant improvement for some queries. See + benchmarks in notes.org (notes.org). + • Library ts (https://github.com/alphapapa/ts.el) is now used for + parsing and comparing timestamps. + + +File: README.info, Node: 01, Prev: 02, Up: Changelog + +5.7 0.1 +======= + +First tagged release. + + +File: README.info, Node: Notes, Next: License, Prev: Changelog, Up: Top + +6 Notes +******* + +* Menu: + +* Comparison with Org Agenda searches:: +* org-sidebar:: + + +File: README.info, Node: Comparison with Org Agenda searches, Next: org-sidebar, Up: Notes + +6.1 Comparison with Org Agenda searches +======================================= + +Of course, queries like these can already be written with Org Agenda +searches, but the syntax can be complex. For example, this query would +be difficult to write in a standard Org Agenda search, because it +matches against a to-do keyword _and_ a plain-text search. As described +in the advanced searching tutorial +(https://orgmode.org/worg/org-tutorials/advanced-searching.html#combining-metadata-and-full-text-queries), +it would require using ‘org-search-view’ with a query with specific +regular expression syntax, like this: + ++lisp +{^\*+\s-+TO-READ\s-} + + But with ‘org-ql-agenda’, you would write: + + (org-ql-agenda + (and (regexp "lisp") + (todo "TO-READ"))) + + +File: README.info, Node: org-sidebar, Prev: Comparison with Org Agenda searches, Up: Notes + +6.2 org-sidebar +=============== + +This package is used by org-sidebar +(https://github.com/alphapapa/org-sidebar), which presents a +customizable agenda-like view in a sidebar window. + + +File: README.info, Node: License, Prev: Notes, Up: Top + +7 License +********* + +GPLv3 + + + +Tag Table: +Node: Top225 +Node: Contents1337 +Node: Screenshots1485 +Node: Installation1603 +Node: Quelpa2241 +Node: Usage2684 +Node: Commands3594 +Node: org-ql-search3823 +Node: helm-org-ql5416 +Node: org-ql-view5828 +Node: org-ql-view-sidebar6026 +Node: org-ql-view-recent-items6382 +Node: org-ql-sparse-tree6866 +Node: Queries7666 +Node: Non-sexp query syntax8508 +Node: Predicates10008 +Node: Date/time predicates14865 +Node: Functions / Macros17500 +Node: Agenda-like views17687 +Node: Listing / acting-on results19092 +Node: Changelog23694 +Node: 04-pre24201 +Node: 0324505 +Node: 02327481 +Node: 02227707 +Node: 02127973 +Node: 0228170 +Node: 0132203 +Node: Notes32302 +Node: Comparison with Org Agenda searches32464 +Node: org-sidebar33335 +Node: License33614 + +End Tag Table + + +Local Variables: +coding: utf-8 +End: From 7fa0d83a547cee5ea58b2cf3d337530c7d5788c6 Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Mon, 7 Oct 2019 11:01:09 -0500 Subject: [PATCH 063/615] Add: helm-org-ql-source, org-ql-search-directories-files, etc. --- README.org | 2 ++ helm-org-ql.el | 73 +++++++++++++++++++++++++----------------------- org-ql-search.el | 47 +++++++++++++++++++++++++++++-- org-ql.el | 2 +- org-ql.info | 25 ++++++++++------- 5 files changed, 101 insertions(+), 48 deletions(-) diff --git a/README.org b/README.org index a7258dc..be50959 100644 --- a/README.org +++ b/README.org @@ -375,6 +375,8 @@ Expands into a call to ~org-ql-select~ with the same arguments. For convenience *Added* + Predicates =outline-path= (alias =olp=) and =outline-path-segment= (alias =olps=). + Info manual. ++ Command ~org-ql-search~ can search files in ~org-directory~; customization options are available in the ~org-ql-search~ group. ++ Function ~helm-org-ql-source~, which returns a Helm source that searches given buffers/files with ~helm-org-ql~. It can be used for custom Helm commands that search certain files. *Internal* + Added generic node data cache to speed up recursive, tree-based queries. diff --git a/helm-org-ql.el b/helm-org-ql.el index 96604cb..d8bdb0c 100644 --- a/helm-org-ql.el +++ b/helm-org-ql.el @@ -33,6 +33,7 @@ (require 'org) (require 'org-ql) +(require 'org-ql-search) ;; (require 'helm) ;; (require 'helm-org) @@ -125,51 +126,20 @@ Is transformed into this query: (let ((boolean (if current-prefix-arg 'or boolean)) (helm-input-idle-delay helm-org-ql-input-idle-delay)) (helm :prompt (format "Query (boolean %s): " (-> boolean symbol-name upcase)) - :sources - ;; Expansion of `helm-build-sync-source' macro. - (helm-make-source name 'helm-source-sync - :candidates (lambda nil - (let* ((query (org-ql--plain-query helm-pattern boolean)) - (window-width (window-width (helm-window)))) - (when query - (with-current-buffer (helm-buffer-get) - (setq helm-org-ql-buffers-files buffers-files)) - (ignore-errors - ;; Ignore errors that might be caused by partially typed queries. - - ;; FIXME: This doesn't prevent warnings that are errors occurring during - ;; byte-compilation due to partially typed values which can't be correctly - ;; pre-processed, e.g. "ts:to=2019-01-0", which can't be parsed into a - ;; timestamp. A "*Compile-Log*" buffer is displayed with "Error: Wrong type - ;; argument: integerp, nil". With my Helm settings, it's hidden as soon as - ;; the query is typed correctly, so it's tolerable, but I'd prefer to fix it. - ;; I haven't found a way to ignore the error/warning; `with-no-warnings' has - ;; no effect, and we're already using `ignore-errors'. The only solution I - ;; can think of would be to ignore the errors/warnings higher up the chain - ;; where byte-compilation is actually done, but it might not be a good idea - ;; to always ignore such errors/warnings. - (org-ql-select buffers-files query - :action (list 'helm-org-ql--heading window-width)))))) - :match #'identity - :fuzzy-match nil - :multimatch nil - :volatile t - :keymap helm-org-ql-map - :action helm-org-ql-actions)))) + :sources (helm-org-ql-source buffers-files :name name)))) ;;;###autoload (defun helm-org-ql-agenda-files () "Search agenda files with `helm-org-ql', which see." (interactive) - (helm-org-ql (org-agenda-files) :name "helm-org-ql-agenda-files")) + (helm-org-ql (org-agenda-files) :name "Org Agenda Files")) ;;;###autoload (defun helm-org-ql-org-directory () "Search Org files in `org-directory' with `helm-org-ql'." (interactive) - (helm-org-ql (directory-files org-directory 'full - (rx ".org" eos)) - :name "helm-org-ql-org-directory")) + (helm-org-ql (org-ql-search-directories-files) + :name "Org Directory Files")) (defun helm-org-ql-show-marker (marker) "Show heading at MARKER." @@ -198,6 +168,39 @@ Is transformed into this query: ;;;; Functions +(cl-defun helm-org-ql-source (buffers-files &key (name "helm-org-ql")) + "Return Helm source named NAME that searches BUFFERS-FILES with `helm-org-ql'." + ;; Expansion of `helm-build-sync-source' macro. + (helm-make-source name 'helm-source-sync + :candidates (lambda nil + (let* ((query (org-ql--plain-query helm-pattern)) + (window-width (window-width (helm-window)))) + (when query + (with-current-buffer (helm-buffer-get) + (setq helm-org-ql-buffers-files buffers-files)) + (ignore-errors + ;; Ignore errors that might be caused by partially typed queries. + + ;; FIXME: This doesn't prevent warnings that are errors occurring during + ;; byte-compilation due to partially typed values which can't be correctly + ;; pre-processed, e.g. "ts:to=2019-01-0", which can't be parsed into a + ;; timestamp. A "*Compile-Log*" buffer is displayed with "Error: Wrong type + ;; argument: integerp, nil". With my Helm settings, it's hidden as soon as + ;; the query is typed correctly, so it's tolerable, but I'd prefer to fix it. + ;; I haven't found a way to ignore the error/warning; `with-no-warnings' has + ;; no effect, and we're already using `ignore-errors'. The only solution I + ;; can think of would be to ignore the errors/warnings higher up the chain + ;; where byte-compilation is actually done, but it might not be a good idea + ;; to always ignore such errors/warnings. + (org-ql-select buffers-files query + :action (list 'helm-org-ql--heading window-width)))))) + :match #'identity + :fuzzy-match nil + :multimatch nil + :volatile t + :keymap helm-org-ql-map + :action helm-org-ql-actions)) + (defun helm-org-ql--heading (window-width) "Return string for Helm for heading at point. WINDOW-WIDTH should be the width of the Helm window." diff --git a/org-ql-search.el b/org-ql-search.el index 45f349a..9ef07c0 100644 --- a/org-ql-search.el +++ b/org-ql-search.el @@ -30,6 +30,7 @@ (require 'cl-lib) (require 'dash) +(require 'f) (require 'org-super-agenda) (require 's) @@ -41,6 +42,30 @@ (defvar org-ql-block-header nil "An optional string to override the default header in `org-ql-block' agenda blocks.") +;;;; Customization + +(defgroup org-ql-search nil + "Options for `org-ql-search' commands." + :group 'org-ql) + +(defcustom org-ql-search-directories-files-regexp "\.org$" + "Regular expression to match Org filenames in `org-directory'. +Files matching this regexp will be searched. By default, +\".org\" files are matched, but you may also select to include +\".org_archive\" files, or use a custom regexp." + :type '(radio (const :tag "Normal \".org\" files" :value "\.org$") + (const :tag "Also include \".org_archive\" files" "\.org\\(_archive\\)?$") + (string :tag "Custom regular expression"))) + +(defcustom org-ql-search-directories-files-recursive nil + "Recurse into subdirectories by default in `org-ql-search-directories-files'. +This should probably be disabled by default, because +e.g. `org-directory' may include deeply nested directories of +non-Org files, such as a \".git\" directory, Org attachments +directories, etc, which would make it slow to list the +`org-directory' files recursively." + :type 'boolean) + ;;;; Commands ;;;###autoload @@ -91,6 +116,7 @@ Interactively, may also be: - `buffer': search the current buffer - `all': search all Org buffers - `agenda': search buffers returned by the function `org-agenda-files' +- `directory': search Org files in `org-directory' - An expression which evaluates to a list of files/buffers - A space-separated list of file or buffer names @@ -114,12 +140,13 @@ display the results. By default, the value of necessary." (declare (indent defun)) (interactive (list (pcase-exhaustive (completing-read "Buffers/Files: " - (list 'buffer 'agenda 'all) + (list 'buffer 'agenda 'directory 'all) nil t) + ((or "" "buffer") (current-buffer)) ("agenda" (org-agenda-files)) ("all" (--select (equal (buffer-local-value 'major-mode it) 'org-mode) (buffer-list))) - ((or "" "buffer") (current-buffer)) + ("directory" (org-ql-search-directories-files)) ((and form (guard (rx bos "("))) (-flatten (eval (read form)))) (else (s-split (rx (1+ space)) else))) (read-string "Query: ") @@ -205,6 +232,22 @@ automatically from the query." ;;;###autoload (defalias 'org-ql-block 'org-ql-search-block) +;;;; Functions + +(cl-defun org-ql-search-directories-files (&key (directories (list org-directory)) + (recurse org-ql-search-directories-files-recursive) + (regexp org-ql-search-directories-files-regexp)) + "Return list of matching files in DIRECTORIES, a list of directory paths. +When RECURSE is non-nil, recurse into subdirectories. When +REGEXP is non-nil, only return files that match REGEXP." + (let ((files (->> directories + (--map (f-files it nil recurse)) + -flatten))) + (if regexp + (--select (string-match regexp it) + files) + files))) + ;;;; Footer (provide 'org-ql-search) diff --git a/org-ql.el b/org-ql.el index 65f1ff9..c7b9ea3 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.4-pre -;; Package-Requires: ((emacs "26.1") (dash "2.13") (dash-functional "1.2.0") (org "9.0") (org-super-agenda "1.2-pre") (ov "1.0.6") (peg "0.6") (s "1.12.0") (ts "0.2-pre")) +;; Package-Requires: ((emacs "26.1") (dash "2.13") (dash-functional "1.2.0") (f "0.17.2") (org "9.0") (org-super-agenda "1.2-pre") (ov "1.0.6") (peg "0.6") (s "1.12.0") (ts "0.2-pre")) ;; Keywords: hypermedia, outlines, Org, agenda ;;; Commentary: diff --git a/org-ql.info b/org-ql.info index f585e33..3632511 100644 --- a/org-ql.info +++ b/org-ql.info @@ -690,6 +690,11 @@ File: README.info, Node: 04-pre, Next: 03, Up: Changelog • Predicates outline-path (alias olp) and outline-path-segment (alias olps). • Info manual. + • Command ‘org-ql-search’ can search files in ‘org-directory’; + customization options are available in the ‘org-ql-search’ group. + • Function ‘helm-org-ql-source’, which returns a Helm source that + searches given buffers/files with ‘helm-org-ql’. It can be used + for custom Helm commands that search certain files. *Internal* • Added generic node data cache to speed up recursive, tree-based @@ -959,16 +964,16 @@ Node: Agenda-like views17687 Node: Listing / acting-on results19092 Node: Changelog23694 Node: 04-pre24201 -Node: 0324505 -Node: 02327481 -Node: 02227707 -Node: 02127973 -Node: 0228170 -Node: 0132203 -Node: Notes32302 -Node: Comparison with Org Agenda searches32464 -Node: org-sidebar33335 -Node: License33614 +Node: 0324862 +Node: 02327838 +Node: 02228064 +Node: 02128330 +Node: 0228527 +Node: 0132560 +Node: Notes32659 +Node: Comparison with Org Agenda searches32821 +Node: org-sidebar33692 +Node: License33971  End Tag Table From 553c22c3ac390117e095ec78fd756a713acdc641 Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Mon, 7 Oct 2019 18:20:29 -0500 Subject: [PATCH 064/615] Add: Adjust search parameters in view buffers --- README.org | 3 +- org-ql-search.el | 112 +++++++++++++++++++++++++++-------------------- org-ql-view.el | 50 ++++++++++++++------- org-ql.info | 53 +++++++++++----------- 4 files changed, 128 insertions(+), 90 deletions(-) diff --git a/README.org b/README.org index be50959..f489562 100644 --- a/README.org +++ b/README.org @@ -105,7 +105,7 @@ Read ~QUERY~ and search with ~org-ql~. Interactively, prompt for these variable ~SORT~: One or a list of ~org-ql~ sorting functions, like ~date~ or ~priority~. *Bindings:* Keys bound in results buffer. -+ =g=: Refresh results. ++ =g=: Refresh results. With prefix, prompt to adjust search parameters. + =C-x C-s=: Save query to variable ~org-ql-views~ (accessible with command ~org-ql-view~). *Note:* The view buffer is currently put in ~org-agenda-mode~, which means that /some/ Org Agenda commands work, such as jumping to entries and changing item priorities (without necessarily updating the view). This feature is experimental and not guaranteed to work correctly with all commands. (It works to the extent it does because the appropriate text properties are placed on each item, imitating an Agenda buffer.) @@ -376,6 +376,7 @@ Expands into a call to ~org-ql-select~ with the same arguments. For convenience + Predicates =outline-path= (alias =olp=) and =outline-path-segment= (alias =olps=). + Info manual. + Command ~org-ql-search~ can search files in ~org-directory~; customization options are available in the ~org-ql-search~ group. ++ Command ~org-ql-view-refresh~ can be called with a prefix argument to adjust search parameters. + Function ~helm-org-ql-source~, which returns a Helm source that searches given buffers/files with ~helm-org-ql~. It can be used for custom Helm commands that search certain files. *Internal* diff --git a/org-ql-search.el b/org-ql-search.el index 9ef07c0..eb4e550 100644 --- a/org-ql-search.el +++ b/org-ql-search.el @@ -139,28 +139,39 @@ display the results. By default, the value of `org-ql-view-buffer' is used, and a new buffer is created if necessary." (declare (indent defun)) - (interactive (list (pcase-exhaustive (completing-read "Buffers/Files: " - (list 'buffer 'agenda 'directory 'all) - nil t) - ((or "" "buffer") (current-buffer)) - ("agenda" (org-agenda-files)) - ("all" (--select (equal (buffer-local-value 'major-mode it) 'org-mode) - (buffer-list))) - ("directory" (org-ql-search-directories-files)) - ((and form (guard (rx bos "("))) (-flatten (eval (read form)))) - (else (s-split (rx (1+ space)) else))) - (read-string "Query: ") - :narrow (eq current-prefix-arg '(4)) + (interactive (list (if (and org-ql-view-buffers-files + (bufferp org-ql-view-buffers-files)) + ;; Buffers can't be input by name, so if the default value is a buffer, just use it. + ;; TODO: Find a way to fix this. + org-ql-view-buffers-files + (pcase-exhaustive (completing-read "Buffers/Files: " + (list 'buffer 'agenda 'directory 'all) + nil nil (when org-ql-view-buffers-files + (prin1-to-string (cons 'list org-ql-view-buffers-files)))) + ((or "" "buffer") (current-buffer)) + ("agenda" (org-agenda-files)) + ("all" (--select (equal (buffer-local-value 'major-mode it) 'org-mode) + (buffer-list))) + ("directory" (org-ql-search-directories-files)) + ((and form (guard (rx bos "("))) (-flatten (eval (read form)))) + (else (s-split (rx (1+ space)) else)))) + (read-string "Query: " (when org-ql-view-query + (format "%S" org-ql-view-query))) + :narrow (or org-ql-view-narrow (eq current-prefix-arg '(4))) :super-groups (when (bound-and-true-p org-super-agenda-auto-selector-keywords) - (pcase (completing-read "Group by: " - (append (list "Don't group" - "Global super-groups") - (cl-loop for type in org-super-agenda-auto-selector-keywords - collect (substring (symbol-name type) 6))) - nil t) - ("Global super-groups" org-super-agenda-groups) - ((or "" "Don't group") nil) - (property (list (list (intern (concat ":auto-" property))))))) + (let ((keywords (cl-loop for type in org-super-agenda-auto-selector-keywords + collect (substring (symbol-name type) 6)))) + (pcase (completing-read "Group by: " + (append (list "Don't group" + "Global super-groups") + keywords) + nil nil (when org-ql-view-super-groups + (format "%S" org-ql-view-super-groups))) + ("Global super-groups" org-super-agenda-groups) + ((or "" "Don't group") nil) + ((and keyword (guard (member keyword keywords))) + (list (list (intern (concat ":auto-" keyword))))) + (else (read else))))) :sort (pcase (completing-read "Sort by: " (list "Don't sort" "date" @@ -168,35 +179,42 @@ necessary." "priority" "scheduled" "todo") - nil t) + nil t (when org-ql-view-sort + (prin1-to-string org-ql-view-sort))) ((or "" "Don't sort") nil) (sort (intern sort))))) - (let* ((query (cl-etypecase query - (string (if (string-match-p (rx bos (1+ alpha) ":") query) + ;; NOTE: Using `with-temp-buffer' is a hack to work around the fact that `make-local-variable' + ;; does not work reliably from inside a `let' form when the target buffer is current on entry + ;; to or exit from the `let', even though `make-local-variable' is actually done in + ;; `org-ql-view--display'. So we do all this within a temp buffer, which works around it. + (with-temp-buffer + (let* ((query (cl-etypecase query + (string (if (or (string-prefix-p "(" query) + (string-prefix-p "\"" query)) + ;; Read sexp query. + (read query) ;; Parse non-sexp query into sexp query. - (org-ql--plain-query query) - ;; Read sexp query. - (read query))) - (list query))) - (results (org-ql-select buffers-files query - :action 'element-with-markers - :narrow narrow - :sort sort)) - (strings (-map #'org-ql-view--format-element results)) - (buffer (or buffer (format "%s %s*" org-ql-view-buffer-name-prefix (or title query)))) - (header (org-ql-view--header-line-format buffers-files query title)) - ;; Bind variables for `org-ql-view--display' to set. - (org-ql-view-buffers-files buffers-files) - (org-ql-view-query query) - (org-ql-view-sort sort) - (org-ql-view-narrow narrow) - (org-ql-view-super-groups super-groups) - (org-ql-view-title title)) - (when super-groups - (let ((org-super-agenda-groups super-groups)) - (setf strings (org-super-agenda--group-items strings)))) - (org-ql-view--display :buffer buffer :header header - :string (s-join "\n" strings)))) + (org-ql--plain-query query))) + (list query))) + (results (org-ql-select buffers-files query + :action 'element-with-markers + :narrow narrow + :sort sort)) + (strings (-map #'org-ql-view--format-element results)) + (buffer (or buffer (format "%s %s*" org-ql-view-buffer-name-prefix (or title query)))) + (header (org-ql-view--header-line-format buffers-files query title)) + ;; Bind variables for `org-ql-view--display' to set. + (org-ql-view-buffers-files buffers-files) + (org-ql-view-query query) + (org-ql-view-sort sort) + (org-ql-view-narrow narrow) + (org-ql-view-super-groups super-groups) + (org-ql-view-title title)) + (when super-groups + (let ((org-super-agenda-groups super-groups)) + (setf strings (org-super-agenda--group-items strings)))) + (org-ql-view--display :buffer buffer :header header + :string (s-join "\n" strings))))) (defun org-ql-search-block (query) "Insert items for QUERY into current buffer. diff --git a/org-ql-view.el b/org-ql-view.el index d65a7a7..9e57e0d 100644 --- a/org-ql-view.el +++ b/org-ql-view.el @@ -266,18 +266,27 @@ TYPE may be `ts', `ts-active', `ts-inactive', `clocked', or 'face '(:weight bold :inherit highlight)) (org-ql-view key)))) -(defun org-ql-view-refresh () - "Refresh current `org-ql-search' buffer." - (interactive) - (let ((current-line (buffer-substring-no-properties (line-beginning-position) (line-end-position))) - (old-pos (point))) - (org-ql-search org-ql-view-buffers-files - org-ql-view-query - :sort org-ql-view-sort - :narrow org-ql-view-narrow - :super-groups org-ql-view-super-groups - :title org-ql-view-title - :buffer (current-buffer)) +(defun org-ql-view-refresh (&optional prompt) + "Refresh current `org-ql-search' buffer. +If PROMPT is non-nil (interactively, with prefix), prompt to +update search arguments." + (interactive "P") + (let* ((current-line (buffer-substring-no-properties (line-beginning-position) (line-end-position))) + (old-pos (point)) + (defaults (list org-ql-view-buffers-files + org-ql-view-query + :sort org-ql-view-sort + :narrow org-ql-view-narrow + :super-groups org-ql-view-super-groups + :title org-ql-view-title)) + (org-ql-view-buffer (current-buffer))) + (if prompt + (call-interactively #'org-ql-search) + (apply #'org-ql-search defaults)) + ;; Now in the results buffer. + (rename-buffer (format "%s %s*" + org-ql-view-buffer-name-prefix + (or org-ql-view-title org-ql-view-query))) (goto-char (point-min)) (or (when (search-forward current-line nil t) (beginning-of-line)) @@ -338,17 +347,24 @@ subsequent refreshing of the buffer: `org-ql-view-buffers-files', `org-ql-view-query', `org-ql-view-sort', `org-ql-view-narrow', `org-ql-view-super-groups', `org-ql-title.'" (declare (indent defun)) - (let* ((buffer (cl-etypecase buffer + (let* ((vars (list 'org-ql-view-buffers-files 'org-ql-view-query + 'org-ql-view-sort 'org-ql-view-narrow + 'org-ql-view-super-groups 'org-ql-view-title)) + ;; Save the values of variables which are set buffer-locally in the + ;; results buffer, which we want to override and set buffer-locally again. + (vals (cl-loop for symbol in vars + collect (cons symbol (symbol-value symbol)))) + (buffer (cl-etypecase buffer (string (org-ql-view--buffer buffer)) (null (org-ql-view--buffer buffer)) (buffer buffer)))) (with-current-buffer buffer (use-local-map org-ql-view-map) ;; Prepare buffer, saving data for refreshing. - (cl-loop for symbol in (list 'org-ql-view-buffers-files 'org-ql-view-query - 'org-ql-view-sort 'org-ql-view-narrow - 'org-ql-view-super-groups 'org-ql-view-title) - do (set (make-local-variable symbol) (symbol-value symbol))) + (cl-loop for symbol in vars + do (progn + (kill-local-variable symbol) + (set (make-local-variable symbol) (alist-get symbol vals nil nil #'equal)))) (setf header-line-format header) ;; Clear buffer, insert entries, etc. (let ((inhibit-read-only t)) diff --git a/org-ql.info b/org-ql.info index 3632511..d7c135f 100644 --- a/org-ql.info +++ b/org-ql.info @@ -216,7 +216,8 @@ Interactively, with prefix, leave narrowed. ‘priority’. *Bindings:* Keys bound in results buffer. - • g: Refresh results. + • g: Refresh results. With prefix, prompt to adjust search + parameters. • C-x C-s: Save query to variable ‘org-ql-views’ (accessible with command ‘org-ql-view’). @@ -692,6 +693,8 @@ File: README.info, Node: 04-pre, Next: 03, Up: Changelog • Info manual. • Command ‘org-ql-search’ can search files in ‘org-directory’; customization options are available in the ‘org-ql-search’ group. + • Command ‘org-ql-view-refresh’ can be called with a prefix argument + to adjust search parameters. • Function ‘helm-org-ql-source’, which returns a Helm source that searches given buffers/files with ‘helm-org-ql’. It can be used for custom Helm commands that search certain files. @@ -950,30 +953,30 @@ Node: Quelpa2241 Node: Usage2684 Node: Commands3594 Node: org-ql-search3823 -Node: helm-org-ql5416 -Node: org-ql-view5828 -Node: org-ql-view-sidebar6026 -Node: org-ql-view-recent-items6382 -Node: org-ql-sparse-tree6866 -Node: Queries7666 -Node: Non-sexp query syntax8508 -Node: Predicates10008 -Node: Date/time predicates14865 -Node: Functions / Macros17500 -Node: Agenda-like views17687 -Node: Listing / acting-on results19092 -Node: Changelog23694 -Node: 04-pre24201 -Node: 0324862 -Node: 02327838 -Node: 02228064 -Node: 02128330 -Node: 0228527 -Node: 0132560 -Node: Notes32659 -Node: Comparison with Org Agenda searches32821 -Node: org-sidebar33692 -Node: License33971 +Node: helm-org-ql5471 +Node: org-ql-view5883 +Node: org-ql-view-sidebar6081 +Node: org-ql-view-recent-items6437 +Node: org-ql-sparse-tree6921 +Node: Queries7721 +Node: Non-sexp query syntax8563 +Node: Predicates10063 +Node: Date/time predicates14920 +Node: Functions / Macros17555 +Node: Agenda-like views17742 +Node: Listing / acting-on results19147 +Node: Changelog23749 +Node: 04-pre24256 +Node: 0325029 +Node: 02328005 +Node: 02228231 +Node: 02128497 +Node: 0228694 +Node: 0132727 +Node: Notes32826 +Node: Comparison with Org Agenda searches32988 +Node: org-sidebar33859 +Node: License34138  End Tag Table From 13723f81634426e68322dc727e015ccf2b0053ab Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Mon, 7 Oct 2019 22:45:39 -0500 Subject: [PATCH 065/615] Change: (helm-org-ql) Disable highlighting Doesn't work properly because input contains predicates and keywords that shouldn't be highlighted. Might try to fix it someday to only use args to (regexp) and (heading). --- helm-org-ql.el | 1 + 1 file changed, 1 insertion(+) diff --git a/helm-org-ql.el b/helm-org-ql.el index d8bdb0c..7feea75 100644 --- a/helm-org-ql.el +++ b/helm-org-ql.el @@ -197,6 +197,7 @@ Is transformed into this query: :match #'identity :fuzzy-match nil :multimatch nil + :nohighlight t :volatile t :keymap helm-org-ql-map :action helm-org-ql-actions)) From da9be833264b85b052ecfc7ced542eff5d2ef342 Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Tue, 8 Oct 2019 16:45:19 -0500 Subject: [PATCH 066/615] Add: helm-org-ql-views, helm-source-org-ql-views --- README.org | 1 + helm-org-ql.el | 15 +++++++++++++++ org-ql.info | 22 ++++++++++++---------- 3 files changed, 28 insertions(+), 10 deletions(-) diff --git a/README.org b/README.org index f489562..adcb304 100644 --- a/README.org +++ b/README.org @@ -378,6 +378,7 @@ Expands into a call to ~org-ql-select~ with the same arguments. For convenience + Command ~org-ql-search~ can search files in ~org-directory~; customization options are available in the ~org-ql-search~ group. + Command ~org-ql-view-refresh~ can be called with a prefix argument to adjust search parameters. + Function ~helm-org-ql-source~, which returns a Helm source that searches given buffers/files with ~helm-org-ql~. It can be used for custom Helm commands that search certain files. ++ Command ~helm-org-ql-views~, which shows one of ~org-ql-views~ selected with Helm. *Internal* + Added generic node data cache to speed up recursive, tree-based queries. diff --git a/helm-org-ql.el b/helm-org-ql.el index 7feea75..26beab9 100644 --- a/helm-org-ql.el +++ b/helm-org-ql.el @@ -66,6 +66,15 @@ "Keymap for `helm-org-ql' sessions. Based on `helm-map'.") +(defvar helm-source-org-ql-views + (helm-build-sync-source "Org QL Views" + :candidates (lambda () + (->> org-ql-views + (-map #'car) + (-sort #'string<))) + :action (list (cons "Show view" #'org-ql-view))) + "Helm source for `org-ql-views'.") + (defvar-local helm-org-ql-buffers-files nil "Used for `helm-org-ql-save'.") @@ -166,6 +175,12 @@ Is transformed into this query: (query (org-ql--plain-query helm-pattern))) (helm-run-after-exit #'org-ql-search buffers-files query))) +;;;###autoload +(defun helm-org-ql-views () + "Show an `org-ql' view selected with Helm." + (interactive) + (helm :sources helm-source-org-ql-views)) + ;;;; Functions (cl-defun helm-org-ql-source (buffers-files &key (name "helm-org-ql")) diff --git a/org-ql.info b/org-ql.info index d7c135f..753c58e 100644 --- a/org-ql.info +++ b/org-ql.info @@ -698,6 +698,8 @@ File: README.info, Node: 04-pre, Next: 03, Up: Changelog • Function ‘helm-org-ql-source’, which returns a Helm source that searches given buffers/files with ‘helm-org-ql’. It can be used for custom Helm commands that search certain files. + • Command ‘helm-org-ql-views’, which shows one of ‘org-ql-views’ + selected with Helm. *Internal* • Added generic node data cache to speed up recursive, tree-based @@ -967,16 +969,16 @@ Node: Agenda-like views17742 Node: Listing / acting-on results19147 Node: Changelog23749 Node: 04-pre24256 -Node: 0325029 -Node: 02328005 -Node: 02228231 -Node: 02128497 -Node: 0228694 -Node: 0132727 -Node: Notes32826 -Node: Comparison with Org Agenda searches32988 -Node: org-sidebar33859 -Node: License34138 +Node: 0325132 +Node: 02328108 +Node: 02228334 +Node: 02128600 +Node: 0228797 +Node: 0132830 +Node: Notes32929 +Node: Comparison with Org Agenda searches33091 +Node: org-sidebar33962 +Node: License34241  End Tag Table From e9e756331cfcce89455adfacac677f7dc2a4356c Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Tue, 8 Oct 2019 20:55:51 -0500 Subject: [PATCH 067/615] Fix: (--outline-path) Always return a string org-heading-components returns nil for a heading without heading text, which causes string-match to signal an error. So we'll match the regexp ourselves and return an empty string in that case. Should be slightly faster, anyway. --- org-ql.el | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/org-ql.el b/org-ql.el index c7b9ea3..db3fb85 100644 --- a/org-ql.el +++ b/org-ql.el @@ -429,7 +429,10 @@ Returns cons (INHERITED-TAGS . LOCAL-TAGS)." (defun org-ql--outline-path () "Return outline path for heading at point." (save-excursion - (let ((heading (nth 4 (org-heading-components)))) + (let ((heading (save-match-data + (if (looking-at org-complex-heading-regexp) + (or (match-string 4) "") + "")))) (if (org-up-heading-safe) ;; MAYBE: It seems wrong to call the cache function from ;; inside this function, like a violation of separation of From a60c238417e7bd65c1d84625fd2cb0dbd0ed7a87 Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Tue, 8 Oct 2019 21:02:18 -0500 Subject: [PATCH 068/615] Fix: (org-ql-search) Bind print-length in interactive form The list of buffers/files must always be printed completely. --- org-ql-search.el | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/org-ql-search.el b/org-ql-search.el index eb4e550..e7b372d 100644 --- a/org-ql-search.el +++ b/org-ql-search.el @@ -147,7 +147,8 @@ necessary." (pcase-exhaustive (completing-read "Buffers/Files: " (list 'buffer 'agenda 'directory 'all) nil nil (when org-ql-view-buffers-files - (prin1-to-string (cons 'list org-ql-view-buffers-files)))) + (let ((print-length nil)) + (prin1-to-string (cons 'list org-ql-view-buffers-files))))) ((or "" "buffer") (current-buffer)) ("agenda" (org-agenda-files)) ("all" (--select (equal (buffer-local-value 'major-mode it) 'org-mode) From 37ba30c9693ba5ea9e2928c9afdd9892ffab3153 Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Wed, 9 Oct 2019 13:10:40 -0500 Subject: [PATCH 069/615] Add: src predicate --- README.org | 2 ++ org-ql.el | 54 ++++++++++++++++++++++++++++++++++++++++++++ org-ql.info | 37 +++++++++++++++++------------- tests/test-org-ql.el | 3 +++ 4 files changed, 80 insertions(+), 16 deletions(-) diff --git a/README.org b/README.org index adcb304..277f489 100644 --- a/README.org +++ b/README.org @@ -189,6 +189,7 @@ Arguments are listed next to predicate names, where applicable. + =priority (&optional comparator-or-priority priority)= :: Return non-nil if current heading has a certain priority. ~COMPARATOR-OR-PRIORITY~ should be either a comparator function, like ~<=~, or a priority string, like "A" (in which case (~=~ will be the comparator). If ~COMPARATOR-OR-PRIORITY~ is a comparator, ~PRIORITY~ should be a priority string. If both arguments are nil, return non-nil if heading has any defined priority. + =property (property &optional value)= :: Return non-nil if current entry has ~PROPERTY~ (a string), and optionally ~VALUE~ (a string). Note that property inheritance is currently /not/ enabled for this predicate. If you need to test with inheritance, you could use a custom predicate form, like ~(org-entry-get (point) "PROPERTY" 'inherit)~. + =regexp (&rest regexps)= :: Return non-nil if current entry matches all of ~REGEXPS~ (regexp strings). Matches against entire entry, from beginning of its heading to the next heading. ++ ~src (&optional lang regexps)~ :: Return non-nil if current entry contains an Org Babel source block. If ~LANG~ is non-nil, match blocks of that language. If ~REGEXPS~ is non-nil, require that block's contents match all regexps. + =tags (&optional tags)= :: Return non-nil if current heading has one or more of ~TAGS~ (a list of strings). Tests both inherited and local tags. + =tags-inherited (&optional tags)= :: Return non-nil if current heading's inherited tags include one or more of ~TAGS~ (a list of strings). If ~TAGS~ is nil, return non-nil if heading has any inherited tags. - Aliases: ~inherited-tags~, ~tags-i~, ~itags~. @@ -379,6 +380,7 @@ Expands into a call to ~org-ql-select~ with the same arguments. For convenience + Command ~org-ql-view-refresh~ can be called with a prefix argument to adjust search parameters. + Function ~helm-org-ql-source~, which returns a Helm source that searches given buffers/files with ~helm-org-ql~. It can be used for custom Helm commands that search certain files. + Command ~helm-org-ql-views~, which shows one of ~org-ql-views~ selected with Helm. ++ Predicate ~src~, which matches Org Babel source blocks. *Internal* + Added generic node data cache to speed up recursive, tree-based queries. diff --git a/org-ql.el b/org-ql.el index db3fb85..4f88e2d 100644 --- a/org-ql.el +++ b/org-ql.el @@ -747,6 +747,13 @@ replace the clause with a preamble." ;; (setq org-ql-preamble (rx-to-string `(seq bol (0+ space) ":" (1+ (not (or space ":"))) ":" ;; (1+ space) (minimal-match (1+ not-newline)) eol))) ;; element) + + ;; Src blocks. + (`(src ,lang . ,_) + (setq org-ql-preamble (org-ql--format-src-block-regexp lang)) + ;; Always check contents with predicate. + element) + (`(scheduled . ,_) (setq org-ql-preamble org-scheduled-time-regexp) ;; Return element, because the predicate still needs testing. @@ -781,6 +788,29 @@ replace the clause with a preamble." (query (-flatten-n 1 query)))) (list :query query :preamble org-ql-preamble :preamble-case-fold preamble-case-fold)))))) +(defun org-ql--format-src-block-regexp (&optional lang) + "Return regexp equivalent to `org-babel-src-block-regexp' with LANG filled in." + ;; I couldn't find a way to match block contents without the regexp + ;; also matching past the end of the block and into later blocks. Even + ;; using `minimal-match' in several different combinations didn't work. + ;; So matching contents will have to be done with the predicate. + (rx-to-string `(seq bol (group (zero-or-more (any " "))) + "#+begin_src" + (one-or-more (any " ")) + ,lang + (zero-or-more (any " ")) + (group (or (seq (zero-or-more (not (any "\n\":"))) + "\"" + (zero-or-more (not (any "\n\"*"))) + "\"" + (zero-or-more (not (any "\n\":")))) + (zero-or-more (not (any "\n\":"))))) + (group (zero-or-more (not (any "\n")))) "\n" + (63 (group (*\? (not (any ""))) "\n")) + (zero-or-more (any " ")) + "#+end_src") + t)) + (defmacro org-ql--from-to-on () "For internal use. Expands into a form that processes arguments to timestamp-related @@ -1102,6 +1132,30 @@ priority B)." ;; Check that PROPERTY has VALUE (string-equal value (org-entry-get (point) property 'selective))))))) +(org-ql--defpred src (&optional lang &rest regexps) + "Return non-nil if current entry contains an Org source block matching all of REGEXPS. +If LANG is non-nil, the block must be in that language." + (catch 'return + (save-excursion + (save-match-data + (when (re-search-forward org-babel-src-block-regexp (org-entry-end-position) t) + (when lang + (unless (string= lang (match-string 2)) + (throw 'return nil))) + (if regexps + (let ((contents-beg (progn + (goto-char (match-beginning 0)) + (forward-line 1) + (point))) + (contents-end (progn + (goto-char (match-end 0)) + (point-at-bol)))) + (cl-loop for re in regexps + do (goto-char contents-beg) + always (re-search-forward re contents-end t))) + ;; No regexps to check: return non-nil. + t)))))) + ;;;;;; Timestamps ;; TODO: Remove the _on vars from these arg lists. I think they're not diff --git a/org-ql.info b/org-ql.info index 753c58e..fc04f59 100644 --- a/org-ql.info +++ b/org-ql.info @@ -410,6 +410,10 @@ Arguments are listed next to predicate names, where applicable. Return non-nil if current entry matches all of ‘REGEXPS’ (regexp strings). Matches against entire entry, from beginning of its heading to the next heading. +‘‘src (&optional lang regexps)’’ + Return non-nil if current entry contains an Org Babel source block. + If ‘LANG’ is non-nil, match blocks of that language. If ‘REGEXPS’ + is non-nil, require that block’s contents match all regexps. ‘tags (&optional tags)’ Return non-nil if current heading has one or more of ‘TAGS’ (a list of strings). Tests both inherited and local tags. @@ -700,6 +704,7 @@ File: README.info, Node: 04-pre, Next: 03, Up: Changelog for custom Helm commands that search certain files. • Command ‘helm-org-ql-views’, which shows one of ‘org-ql-views’ selected with Helm. + • Predicate ‘src’, which matches Org Babel source blocks. *Internal* • Added generic node data cache to speed up recursive, tree-based @@ -963,22 +968,22 @@ Node: org-ql-sparse-tree6921 Node: Queries7721 Node: Non-sexp query syntax8563 Node: Predicates10063 -Node: Date/time predicates14920 -Node: Functions / Macros17555 -Node: Agenda-like views17742 -Node: Listing / acting-on results19147 -Node: Changelog23749 -Node: 04-pre24256 -Node: 0325132 -Node: 02328108 -Node: 02228334 -Node: 02128600 -Node: 0228797 -Node: 0132830 -Node: Notes32929 -Node: Comparison with Org Agenda searches33091 -Node: org-sidebar33962 -Node: License34241 +Node: Date/time predicates15182 +Node: Functions / Macros17817 +Node: Agenda-like views18004 +Node: Listing / acting-on results19409 +Node: Changelog24011 +Node: 04-pre24518 +Node: 0325461 +Node: 02328437 +Node: 02228663 +Node: 02128929 +Node: 0229126 +Node: 0133159 +Node: Notes33258 +Node: Comparison with Org Agenda searches33420 +Node: org-sidebar34291 +Node: License34570  End Tag Table diff --git a/tests/test-org-ql.el b/tests/test-org-ql.el index 66c3053..84ebadc 100644 --- a/tests/test-org-ql.el +++ b/tests/test-org-ql.el @@ -656,6 +656,9 @@ RESULTS should be a list of strings as returned by (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 + ;; significant hassle. Manual testing shows that the predicate appears to work properly. + (describe "(todo)" (org-ql-it "without arguments" From 8e6f221063a514d1991e926616bc116bb7c49acd Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Wed, 9 Oct 2019 14:45:24 -0500 Subject: [PATCH 070/615] Fix: Require map Thanks to Brian Leung (@leungbk). See #49. --- org-ql.el | 1 + 1 file changed, 1 insertion(+) diff --git a/org-ql.el b/org-ql.el index 4f88e2d..f80b39a 100644 --- a/org-ql.el +++ b/org-ql.el @@ -42,6 +42,7 @@ (require 'dash) (require 'dash-functional) +(require 'map) (require 'ts) ;;;; Compatibility From 60ebad21f4c6a1e941d235536c7daeddc84d324e Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Wed, 9 Oct 2019 15:14:22 -0500 Subject: [PATCH 071/615] Fix: Compatibility with Org 9.2 Thanks to Brian Leung (@leungbk). See #49. Released as 0.3.1. --- README.org | 5 +++++ org-ql.el | 23 ++++++++++------------- 2 files changed, 15 insertions(+), 13 deletions(-) diff --git a/README.org b/README.org index 3ac0cf5..f3a79b5 100644 --- a/README.org +++ b/README.org @@ -363,6 +363,11 @@ Expands into a call to ~org-ql-select~ with the same arguments. For convenience /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.3.1 + +*Fixed* ++ Compatibility with Org 9.2. Thanks to [[https://github.com/leungbk][Brian Leung]]. + ** 0.3 *Added* diff --git a/org-ql.el b/org-ql.el index e90dd8a..7d17352 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.3 +;; Version: 0.3.1 ;; Package-Requires: ((emacs "26.1") (dash "2.13") (dash-functional "1.2.0") (org "9.0") (org-super-agenda "1.2-pre") (ov "1.0.6") (peg "0.6") (s "1.12.0") (ts "0.2-pre")) ;; Keywords: hypermedia, outlines, Org, agenda @@ -44,17 +44,6 @@ (require 'dash-functional) (require 'ts) -;;;; Compatibility - -(if (version< org-version "9.2") - (progn - (defalias 'org-timestamp-to-time #'org-timestamp--to-internal-time) - (defun org-ql--get-tags (&optional pos local) - (org-get-tags-at pos local))) - (defun org-ql--get-tags (&rest _ignore) - "Call `org-get-tags', ignoring arguments." - (org-get-tags))) - ;;;; Constants ;; Note the use of the `rx' `blank' keyword, which matches "horizontal" whitespace. @@ -76,6 +65,13 @@ match group.") "Regular expression matching Org \"planning\" lines. That is, \"CLOSED:\", \"DEADLINE:\", or \"SCHEDULED:\".") +(defconst org-ql-tag-line-re + "^\\*+ \\(?:.*[ \t]\\)?\\(:\\([[:alnum:]_@#%:]+\\):\\)[ \t]*$" + ;; Copied from `org-tag-line-re' from org.el. + "Regexp matching tags in a headline. +Tags are stored in match group 1. Match group 2 stores the tags +without the enclosing colons.") + ;;;; Variables (defvar org-ql--today nil) @@ -383,7 +379,8 @@ Returns cons (INHERITED-TAGS . LOCAL-TAGS)." ('org-ql-nil nil) (_ cached-result)) ;; Not found in cache: get tags and cache them. - (let* ((local-tags (or (org-ql--get-tags position 'local) + (let* ((local-tags (or (when (looking-at org-ql-tag-line-re) + (split-string (match-string-no-properties 2) ":" t)) 'org-ql-nil)) (inherited-tags (or (when org-use-tag-inheritance (save-excursion From 6b2004e678793a16767e405d341ff751a706d505 Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Wed, 9 Oct 2019 17:21:47 -0500 Subject: [PATCH 072/615] Change/Fix: (src) predicate Use keyword args, fix non-sexp syntax and searching. --- README.org | 25 +++++++++++++------------ org-ql.el | 31 ++++++++++++++++++++++++++----- org-ql.info | 41 +++++++++++++++++++++-------------------- 3 files changed, 60 insertions(+), 37 deletions(-) diff --git a/README.org b/README.org index 1ecf6be..c57321b 100644 --- a/README.org +++ b/README.org @@ -153,17 +153,18 @@ An =org-ql= query is a lisp form which may contain arbitrary lisp forms, as well The command =org-ql-search= also accepts, and the command =helm-org-ql= only accepts, an alternative, non-sexp query syntax. The syntax is simple, and a few examples of queries in both syntaxes should suffice. By default, when multiple predicates are used, they are combined with boolean =and=. -| Sexp syntax | Non-sexp syntax | -|-------------------------------------------------+-----------------------------------------| -| ~(todo)~ | ~todo:~ | -| ~(todo "SOMEDAY")~ | ~todo:SOMEDAY~ | -| ~(todo "SOMEDAY" "WAITING")~ | ~todo:SOMEDAY,WAITING~ | -| ~(ts :on today)~ | ~ts:on=today~ | -| ~(ts-active :from "2017-01-01" :to "2018-01-01")~ | ~ts-active:from=2017-01-01,to=2018-01-01~ | -| ~(clocked :on -1)~ | ~clocked:on=-1~ | -| ~(heading "quoted phrase" "word")~ | ~heading:"quoted phrase",word~ | -| ~(and (tags "book" "books") (priority "A"))~ | ~tags:book,books priority:A~ | -| ~(priority >= B)~ | ~priority:A,B~ | +| Sexp syntax | Non-sexp syntax | +|-------------------------------------------------+----------------------------------------------| +| ~(todo)~ | ~todo:~ | +| ~(todo "SOMEDAY")~ | ~todo:SOMEDAY~ | +| ~(todo "SOMEDAY" "WAITING")~ | ~todo:SOMEDAY,WAITING~ | +| ~(ts :on today)~ | ~ts:on=today~ | +| ~(ts-active :from "2017-01-01" :to "2018-01-01")~ | ~ts-active:from=2017-01-01,to=2018-01-01~ | +| ~(clocked :on -1)~ | ~clocked:on=-1~ | +| ~(heading "quoted phrase" "word")~ | ~heading:"quoted phrase",word~ | +| ~(and (tags "book" "books") (priority "A"))~ | ~tags:book,books priority:A~ | +| ~(src :lang "elisp" :regexps ("defun"))~ | ~src:defun,lang=elisp~ or ~src:lang=elisp,defun~ | +| ~(priority >= B)~ | ~priority:A,B~ | Note that the =priority= predicate does not support comparators in the non-sexp syntax, so multiple priorities should be passed instead, as seen in the last example. @@ -189,7 +190,7 @@ Arguments are listed next to predicate names, where applicable. + =priority (&optional comparator-or-priority priority)= :: Return non-nil if current heading has a certain priority. ~COMPARATOR-OR-PRIORITY~ should be either a comparator function, like ~<=~, or a priority string, like "A" (in which case (~=~ will be the comparator). If ~COMPARATOR-OR-PRIORITY~ is a comparator, ~PRIORITY~ should be a priority string. If both arguments are nil, return non-nil if heading has any defined priority. + =property (property &optional value)= :: Return non-nil if current entry has ~PROPERTY~ (a string), and optionally ~VALUE~ (a string). Note that property inheritance is currently /not/ enabled for this predicate. If you need to test with inheritance, you could use a custom predicate form, like ~(org-entry-get (point) "PROPERTY" 'inherit)~. + =regexp (&rest regexps)= :: Return non-nil if current entry matches all of ~REGEXPS~ (regexp strings). Matches against entire entry, from beginning of its heading to the next heading. -+ ~src (&optional lang regexps)~ :: Return non-nil if current entry contains an Org Babel source block. If ~LANG~ is non-nil, match blocks of that language. If ~REGEXPS~ is non-nil, require that block's contents match all regexps. ++ ~src (&key lang regexps)~ :: Return non-nil if current entry contains an Org Babel source block. If ~LANG~ is non-nil, match blocks of that language. If ~REGEXPS~ is non-nil, require that block's contents match all regexps. + =tags (&optional tags)= :: Return non-nil if current heading has one or more of ~TAGS~ (a list of strings). Tests both inherited and local tags. + =tags-inherited (&optional tags)= :: Return non-nil if current heading's inherited tags include one or more of ~TAGS~ (a list of strings). If ~TAGS~ is nil, return non-nil if heading has any inherited tags. - Aliases: ~inherited-tags~, ~tags-i~, ~itags~. diff --git a/org-ql.el b/org-ql.el index 4d30744..b5d898b 100644 --- a/org-ql.el +++ b/org-ql.el @@ -591,6 +591,26 @@ Replaces bare strings with (regexp) selectors, and appropriate (setf property (substring (symbol-name property) 1))) (cons 'property (cons property value))) + ;; Source blocks. + (`(src . ,args) + ;; Rewrite to use keyword args. + (-let (regexps lang keyword-index) + (cond ((plist-get args :lang) + ;; Lang given first, or only lang given. + (setf lang (plist-get args :lang) + regexps (seq-difference args (list :lang lang)))) + ((setf keyword-index (-find-index #'keywordp args)) + ;; Regexps and lang given. + (setf lang (plist-get (cl-subseq args keyword-index) :lang) + regexps (cl-subseq args 0 keyword-index))) + (t ;; Only regexps given. + (setf regexps args))) + (when regexps + ;; This feels awkward and wrong, but we have to quote lists + ;; and avoid quoting nil. There must be a better way. + (setf regexps `(',regexps))) + `(src :lang ,lang :regexps ,@regexps))) + ;; Tags. (`(,(or 'tags-all 'tags&) . ,tags) `(and ,@(--map `(tags ,it) tags))) ;; MAYBE: -all versions for inherited and local. @@ -747,8 +767,8 @@ replace the clause with a preamble." ;; element) ;; Src blocks. - (`(src ,lang . ,_) - (setq org-ql-preamble (org-ql--format-src-block-regexp lang)) + (`(src . ,args) + (setq org-ql-preamble (org-ql--format-src-block-regexp (plist-get args :lang))) ;; Always check contents with predicate. element) @@ -795,7 +815,7 @@ replace the clause with a preamble." (rx-to-string `(seq bol (group (zero-or-more (any " "))) "#+begin_src" (one-or-more (any " ")) - ,lang + ,(or lang `(1+ (not (any " \n \f ")))) (zero-or-more (any " ")) (group (or (seq (zero-or-more (not (any "\n\":"))) "\"" @@ -1130,9 +1150,10 @@ priority B)." ;; Check that PROPERTY has VALUE (string-equal value (org-entry-get (point) property 'selective))))))) -(org-ql--defpred src (&optional lang &rest regexps) +(org-ql--defpred src (&key regexps lang) "Return non-nil if current entry contains an Org source block matching all of REGEXPS. -If LANG is non-nil, the block must be in that language." +If keyword argument LANG is non-nil, the block must be in that +language." (catch 'return (save-excursion (save-match-data diff --git a/org-ql.info b/org-ql.info index fd67821..4c5c984 100644 --- a/org-ql.info +++ b/org-ql.info @@ -329,7 +329,7 @@ default, when multiple predicates are used, they are combined with boolean and. Sexp syntax Non-sexp syntax ------------------------------------------------------------------------------------------------- +------------------------------------------------------------------------------------------------------- ‘(todo)’ ‘todo:’ ‘(todo "SOMEDAY")’ ‘todo:SOMEDAY’ ‘(todo "SOMEDAY" "WAITING")’ ‘todo:SOMEDAY,WAITING’ @@ -338,6 +338,7 @@ Sexp syntax Non-sexp syntax ‘(clocked :on -1)’ ‘clocked:on=-1’ ‘(heading "quoted phrase" "word")’ ‘heading:"quoted phrase",word’ ‘(and (tags "book" "books") (priority "A"))’ ‘tags:book,books priority:A’ +‘(src :lang "elisp" :regexps ("defun"))’ ‘src:defun,lang=elisp’ or ‘src:lang=elisp,defun’ ‘(priority >= B)’ ‘priority:A,B’ Note that the priority predicate does not support comparators in the @@ -411,7 +412,7 @@ Arguments are listed next to predicate names, where applicable. Return non-nil if current entry matches all of ‘REGEXPS’ (regexp strings). Matches against entire entry, from beginning of its heading to the next heading. -‘‘src (&optional lang regexps)’’ +‘‘src (&key lang regexps)’’ Return non-nil if current entry contains an Org Babel source block. If ‘LANG’ is non-nil, match blocks of that language. If ‘REGEXPS’ is non-nil, require that block’s contents match all regexps. @@ -979,24 +980,24 @@ Node: org-ql-view-recent-items6452 Node: org-ql-sparse-tree6936 Node: Queries7736 Node: Non-sexp query syntax8578 -Node: Predicates10078 -Node: Date/time predicates15197 -Node: Functions / Macros17832 -Node: Agenda-like views18019 -Node: Listing / acting-on results19424 -Node: Changelog24026 -Node: 04-pre24548 -Node: 03125492 -Node: 0325690 -Node: 02328663 -Node: 02228889 -Node: 02129155 -Node: 0229352 -Node: 0133385 -Node: Notes33484 -Node: Comparison with Org Agenda searches33646 -Node: org-sidebar34517 -Node: License34796 +Node: Predicates10198 +Node: Date/time predicates15312 +Node: Functions / Macros17947 +Node: Agenda-like views18134 +Node: Listing / acting-on results19539 +Node: Changelog24141 +Node: 04-pre24663 +Node: 03125607 +Node: 0325805 +Node: 02328778 +Node: 02229004 +Node: 02129270 +Node: 0229467 +Node: 0133500 +Node: Notes33599 +Node: Comparison with Org Agenda searches33761 +Node: org-sidebar34632 +Node: License34911  End Tag Table From 949a06c3ab50482b749fd2d4350837a197660d96 Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Wed, 9 Oct 2019 19:05:11 -0500 Subject: [PATCH 073/615] Add: Negation in plain queries --- README.org | 2 ++ org-ql.el | 12 +++++++++--- org-ql.info | 39 +++++++++++++++++++++------------------ tests/test-org-ql.el | 11 +++++++++++ 4 files changed, 43 insertions(+), 21 deletions(-) diff --git a/README.org b/README.org index c57321b..7f4022d 100644 --- a/README.org +++ b/README.org @@ -164,6 +164,7 @@ The command =org-ql-search= also accepts, and the command =helm-org-ql= only acc | ~(heading "quoted phrase" "word")~ | ~heading:"quoted phrase",word~ | | ~(and (tags "book" "books") (priority "A"))~ | ~tags:book,books priority:A~ | | ~(src :lang "elisp" :regexps ("defun"))~ | ~src:defun,lang=elisp~ or ~src:lang=elisp,defun~ | +| ~(and (tags "space") (not (regexp "moon")))~ | ~tags:space !moon~ | | ~(priority >= B)~ | ~priority:A,B~ | Note that the =priority= predicate does not support comparators in the non-sexp syntax, so multiple priorities should be passed instead, as seen in the last example. @@ -375,6 +376,7 @@ Expands into a call to ~org-ql-select~ with the same arguments. For convenience ** 0.4-pre *Added* ++ Negation of terms in plain queries using ~!~. For example, ~tags:space !moon~ to exclude entries which contain ~moon~. + Predicates =outline-path= (alias =olp=) and =outline-path-segment= (alias =olps=). + Info manual. + Command ~org-ql-search~ can search files in ~org-directory~; customization options are available in the ~org-ql-search~ group. diff --git a/org-ql.el b/org-ql.el index b5d898b..7c63954 100644 --- a/org-ql.el +++ b/org-ql.el @@ -1487,10 +1487,15 @@ Builds the PEG expression using predicates defined in Multiple predicates are combined with BOOLEAN." (unless (s-blank-str? input) (let* ((query (peg-parse-string - ((query (+ (or (and predicate-with-args `(pred args -- (cons (intern pred) args))) - (and predicate-without-args `(pred -- (list (intern pred)))) - (and plain-string `(s -- (list 'regexp s)))) + ((query (+ term (opt (+ (syntax-class whitespace) (any))))) + (term (or (and negation (list positive-term) + ;; This is a bit confusing, but it seems to work. There's probably a better way. + `(pred -- (list 'not (car pred)))) + positive-term)) + (positive-term (or (and predicate-with-args `(pred args -- (cons (intern pred) args))) + (and predicate-without-args `(pred -- (list (intern pred)))) + (and plain-string `(s -- (list 'regexp s))))) (plain-string (substring (+ (not (syntax-class whitespace)) (any)))) (predicate-with-args (substring predicate) ":" args) (predicate-without-args (substring predicate) ":") @@ -1500,6 +1505,7 @@ Multiple predicates are combined with BOOLEAN." (keyword (substring (+ (not (or separator "=" "\"" (syntax-class whitespace))) (any)))) (quoted-arg "\"" (substring (+ (not (or separator "\"")) (any))) "\"") (unquoted-arg (substring (+ (not (or separator "\"" (syntax-class whitespace))) (any)))) + (negation "!") (separator "," )) input 'noerror))) ;; Discard the t that `peg-parse-string' always returns as the first diff --git a/org-ql.info b/org-ql.info index 4c5c984..7c707b2 100644 --- a/org-ql.info +++ b/org-ql.info @@ -339,6 +339,7 @@ Sexp syntax Non-sexp syntax ‘(heading "quoted phrase" "word")’ ‘heading:"quoted phrase",word’ ‘(and (tags "book" "books") (priority "A"))’ ‘tags:book,books priority:A’ ‘(src :lang "elisp" :regexps ("defun"))’ ‘src:defun,lang=elisp’ or ‘src:lang=elisp,defun’ +‘(and (tags "space") (not (regexp "moon")))’ ‘tags:space !moon’ ‘(priority >= B)’ ‘priority:A,B’ Note that the priority predicate does not support comparators in the @@ -695,6 +696,8 @@ File: README.info, Node: 04-pre, Next: 031, Up: Changelog =========== *Added* + • Negation of terms in plain queries using ‘!’. For example, + ‘tags:space !moon’ to exclude entries which contain ‘moon’. • Predicates outline-path (alias olp) and outline-path-segment (alias olps). • Info manual. @@ -980,24 +983,24 @@ Node: org-ql-view-recent-items6452 Node: org-ql-sparse-tree6936 Node: Queries7736 Node: Non-sexp query syntax8578 -Node: Predicates10198 -Node: Date/time predicates15312 -Node: Functions / Macros17947 -Node: Agenda-like views18134 -Node: Listing / acting-on results19539 -Node: Changelog24141 -Node: 04-pre24663 -Node: 03125607 -Node: 0325805 -Node: 02328778 -Node: 02229004 -Node: 02129270 -Node: 0229467 -Node: 0133500 -Node: Notes33599 -Node: Comparison with Org Agenda searches33761 -Node: org-sidebar34632 -Node: License34911 +Node: Predicates10277 +Node: Date/time predicates15391 +Node: Functions / Macros18026 +Node: Agenda-like views18213 +Node: Listing / acting-on results19618 +Node: Changelog24220 +Node: 04-pre24742 +Node: 03125830 +Node: 0326028 +Node: 02329001 +Node: 02229227 +Node: 02129493 +Node: 0229690 +Node: 0133723 +Node: Notes33822 +Node: Comparison with Org Agenda searches33984 +Node: org-sidebar34855 +Node: License35134  End Tag Table diff --git a/tests/test-org-ql.el b/tests/test-org-ql.el index 84ebadc..24a08be 100644 --- a/tests/test-org-ql.el +++ b/tests/test-org-ql.el @@ -231,6 +231,17 @@ RESULTS should be a list of strings as returned by ;; TODO: Other predicates. + (it "Negated terms" + (expect (org-ql--plain-query "todo: !todo:CHECK,SOMEDAY") + :to-equal '(and (todo) (not (todo "CHECK" "SOMEDAY")))) + (expect (org-ql--plain-query "!todo:CHECK,SOMEDAY todo:") + :to-equal '(and (not (todo "CHECK" "SOMEDAY")) (todo))) + (expect (org-ql--plain-query "tags:universe !moon") + :to-equal '(and (tags "universe") (not (regexp "moon")))) + (expect (org-ql--plain-query "!moon tags:universe") + :to-equal '(and (not (regexp "moon")) (tags "universe"))) + (expect (org-ql--plain-query "mars !ts:on=today") + :to-equal '(and (regexp "mars") (not (ts :on "today"))))) (it "Regexp predicates" (expect (org-ql--plain-query "scheduled") ;; No colon after keyword, so not a predicate query. From be7ac9921d819cae3d1f1115b3ff284a79d3ed27 Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Sat, 19 Oct 2019 01:00:45 -0500 Subject: [PATCH 074/615] Meta: 0.3.2-pre --- org-ql.el | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/org-ql.el b/org-ql.el index 7d17352..cbb8137 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.3.1 +;; Version: 0.3.2-pre ;; Package-Requires: ((emacs "26.1") (dash "2.13") (dash-functional "1.2.0") (org "9.0") (org-super-agenda "1.2-pre") (ov "1.0.6") (peg "0.6") (s "1.12.0") (ts "0.2-pre")) ;; Keywords: hypermedia, outlines, Org, agenda From f2910261e2eea2f6c48b2e70b207b0f242b957cf Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Sat, 19 Oct 2019 01:06:22 -0500 Subject: [PATCH 075/615] Fix: (org-ql-search) Accept symbol as arg to :super-groups --- README.org | 5 +++++ org-ql-search.el | 4 +++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/README.org b/README.org index f3a79b5..8f9a8b1 100644 --- a/README.org +++ b/README.org @@ -363,6 +363,11 @@ Expands into a call to ~org-ql-select~ with the same arguments. For convenience /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.3.2-pre + +*Fixed* ++ In =org-ql-search=, accept symbol as ~:super-groups~ argument. + ** 0.3.1 *Fixed* diff --git a/org-ql-search.el b/org-ql-search.el index 45f349a..6d96871 100644 --- a/org-ql-search.el +++ b/org-ql-search.el @@ -166,7 +166,9 @@ necessary." (org-ql-view-super-groups super-groups) (org-ql-view-title title)) (when super-groups - (let ((org-super-agenda-groups super-groups)) + (let ((org-super-agenda-groups (cl-etypecase super-groups + (symbol (symbol-value super-groups)) + (list super-groups)))) (setf strings (org-super-agenda--group-items strings)))) (org-ql-view--display :buffer buffer :header header :string (s-join "\n" strings)))) From 43b94dd4a819c49346737a07ca508e7684ad50b6 Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Sat, 19 Oct 2019 01:07:15 -0500 Subject: [PATCH 076/615] Fix: (org-ql-views) Beginning/end-of-week timestamp times --- README.org | 1 + org-ql-view.el | 17 +++++++++++++---- 2 files changed, 14 insertions(+), 4 deletions(-) diff --git a/README.org b/README.org index 8f9a8b1..270230b 100644 --- a/README.org +++ b/README.org @@ -367,6 +367,7 @@ Expands into a call to ~org-ql-select~ with the same arguments. For convenience *Fixed* + In =org-ql-search=, accept symbol as ~:super-groups~ argument. ++ In the =This week= and =Next week= default =org-ql-views= views, set timestamps for beginning-of-week to 00:00:00 and end-of-week to 23:59:59. ** 0.3.1 diff --git a/org-ql-view.el b/org-ql-view.el index d65a7a7..1519873 100644 --- a/org-ql-view.el +++ b/org-ql-view.el @@ -147,8 +147,13 @@ See info node `(elisp)Cyclic Window Ordering'." (cons "This week" (lambda () "Show items with an active timestamp during this calendar week." (interactive) - (let* ((beg-of-week (ts-adjust 'day (- (ts-dow (ts-now))) (ts-now))) - (end-of-week (ts-adjust 'day (- 6 (ts-dow (ts-now))) (ts-now)))) + (let* ((ts (ts-now)) + (beg-of-week (->> ts + (ts-adjust 'day (- (ts-dow (ts-now)))) + (ts-apply :hour 0 :minute 0 :second 0))) + (end-of-week (->> ts + (ts-adjust 'day (- 6 (ts-dow (ts-now)))) + (ts-apply :hour 23 :minute 59 :second 59)))) (org-ql-search (org-agenda-files) `(ts-active :from ,beg-of-week :to ,end-of-week) @@ -159,8 +164,12 @@ See info node `(elisp)Cyclic Window Ordering'." "Show items with an active timestamp during the next calendar week." (interactive) (let* ((ts (ts-adjust 'day 7 (ts-now))) - (beg-of-week (ts-adjust 'day (- (ts-dow (ts-now))) ts)) - (end-of-week (ts-adjust 'day (- 6 (ts-dow (ts-now))) ts))) + (beg-of-week (->> ts + (ts-adjust 'day (- (ts-dow (ts-now)))) + (ts-apply :hour 0 :minute 0 :second 0))) + (end-of-week (->> ts + (ts-adjust 'day (- 6 (ts-dow (ts-now)))) + (ts-apply :hour 23 :minute 59 :second 59)))) (org-ql-search (org-agenda-files) `(ts-active :from ,beg-of-week :to ,end-of-week) From 7a4a41e402ab97a9a6cc3d09f8dbb975a78b1f2b Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Sat, 19 Oct 2019 01:53:34 -0500 Subject: [PATCH 077/615] Fix: Quoted phrase plain-string queries --- README.org | 1 + org-ql.el | 2 +- tests/test-org-ql.el | 2 ++ 3 files changed, 4 insertions(+), 1 deletion(-) diff --git a/README.org b/README.org index 270230b..f073f02 100644 --- a/README.org +++ b/README.org @@ -368,6 +368,7 @@ Expands into a call to ~org-ql-select~ with the same arguments. For convenience *Fixed* + In =org-ql-search=, accept symbol as ~:super-groups~ argument. + In the =This week= and =Next week= default =org-ql-views= views, set timestamps for beginning-of-week to 00:00:00 and end-of-week to 23:59:59. ++ Plain quoted-phrases in non-sexp queries. ** 0.3.1 diff --git a/org-ql.el b/org-ql.el index cbb8137..db1d8d9 100644 --- a/org-ql.el +++ b/org-ql.el @@ -1296,7 +1296,7 @@ Multiple predicates are combined with BOOLEAN." (and predicate-without-args `(pred -- (list (intern pred)))) (and plain-string `(s -- (list 'regexp s)))) (opt (+ (syntax-class whitespace) (any))))) - (plain-string (substring (+ (not (syntax-class whitespace)) (any)))) + (plain-string (or quoted-arg unquoted-arg)) (predicate-with-args (substring predicate) ":" args) (predicate-without-args (substring predicate) ":") (predicate (or ,@predicates)) diff --git a/tests/test-org-ql.el b/tests/test-org-ql.el index c7b95bc..483b703 100644 --- a/tests/test-org-ql.el +++ b/tests/test-org-ql.el @@ -235,6 +235,8 @@ RESULTS should be a list of strings as returned by (expect (org-ql--plain-query "scheduled") ;; No colon after keyword, so not a predicate query. :to-equal '(regexp "scheduled")) + (expect (org-ql--plain-query "\"quoted phrase\"") + :to-equal '(regexp "quoted phrase")) (expect (org-ql--plain-query "regexp:word") :to-equal '(regexp "word")) (expect (org-ql--plain-query "regexp:\"quoted phrase\"") From 2274efce077c7cf8b2930a8bfb9980c251d8e737 Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Sat, 19 Oct 2019 01:09:05 -0500 Subject: [PATCH 078/615] Release: 0.3.2 --- README.org | 2 +- org-ql.el | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/README.org b/README.org index f073f02..5637cc6 100644 --- a/README.org +++ b/README.org @@ -363,7 +363,7 @@ Expands into a call to ~org-ql-select~ with the same arguments. For convenience /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.3.2-pre +** 0.3.2 *Fixed* + In =org-ql-search=, accept symbol as ~:super-groups~ argument. diff --git a/org-ql.el b/org-ql.el index db1d8d9..04d8974 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.3.2-pre +;; Version: 0.3.2 ;; Package-Requires: ((emacs "26.1") (dash "2.13") (dash-functional "1.2.0") (org "9.0") (org-super-agenda "1.2-pre") (ov "1.0.6") (peg "0.6") (s "1.12.0") (ts "0.2-pre")) ;; Keywords: hypermedia, outlines, Org, agenda From 7d321630a064864d77a760015169c206e077be9b Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Sat, 19 Oct 2019 02:04:04 -0500 Subject: [PATCH 079/615] Test: Add test for negated, plain quoted phrase 0.3.2 doesn't have negation, and this should be tested with negation. --- tests/test-org-ql.el | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/tests/test-org-ql.el b/tests/test-org-ql.el index 5f1f532..9ae17a3 100644 --- a/tests/test-org-ql.el +++ b/tests/test-org-ql.el @@ -241,7 +241,9 @@ RESULTS should be a list of strings as returned by (expect (org-ql--plain-query "!moon tags:universe") :to-equal '(and (not (regexp "moon")) (tags "universe"))) (expect (org-ql--plain-query "mars !ts:on=today") - :to-equal '(and (regexp "mars") (not (ts :on "today"))))) + :to-equal '(and (regexp "mars") (not (ts :on "today")))) + (expect (org-ql--plain-query "!\"quoted phrase\"") + :to-equal '(not (regexp "quoted phrase")))) (it "Regexp predicates" (expect (org-ql--plain-query "scheduled") ;; No colon after keyword, so not a predicate query. From 0d6523f85b48080582a84b1dc1213f80de40d3c6 Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Sat, 19 Oct 2019 02:10:04 -0500 Subject: [PATCH 080/615] Add: (heading) Alias "h" --- README.org | 2 ++ org-ql.el | 7 ++++++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/README.org b/README.org index e3f0171..a093f5b 100644 --- a/README.org +++ b/README.org @@ -182,6 +182,7 @@ Arguments are listed next to predicate names, where applicable. + =done= :: Return non-nil if entry's ~TODO~ keyword is in ~org-done-keywords~. + =habit= :: Return non-nil if entry is a habit. + =heading (&rest regexps)= :: Return non-nil if current entry's heading matches all ~REGEXPS~ (regexp strings). + - Aliases: =h=. + =level (level-or-comparator &optional level)= :: Return non-nil if current heading's outline level matches arguments. The following forms are accepted: ~(level NUMBER)~: Matches if heading level is ~NUMBER~. ~(level NUMBER NUMBER)~: Matches if heading level is equal to or between NUMBERs. ~(level COMPARATOR NUMBER)~: Matches if heading level compares to ~NUMBER~ with ~COMPARATOR~. ~COMPARATOR~ may be ~<~, ~<=~, ~>~, or ~>=~. + =outline-path (&rest strings)= :: Return non-nil if current node's outline path matches all of ~STRINGS~. Each string may appear as a substring in any part of the node's outline path. For example, the path =Food/Fruits/Grapes= would match ~(olp "Fruit" "Grape")~. - Aliases: ~olp~. @@ -384,6 +385,7 @@ Expands into a call to ~org-ql-select~ with the same arguments. For convenience + Function ~helm-org-ql-source~, which returns a Helm source that searches given buffers/files with ~helm-org-ql~. It can be used for custom Helm commands that search certain files. + Command ~helm-org-ql-views~, which shows one of ~org-ql-views~ selected with Helm. + Predicate ~src~, which matches Org Babel source blocks. ++ Alias =h= for =heading= predicate. *Internal* + Added generic node data cache to speed up recursive, tree-based queries. diff --git a/org-ql.el b/org-ql.el index a7a0336..3d64772 100644 --- a/org-ql.el +++ b/org-ql.el @@ -569,6 +569,11 @@ Replaces bare strings with (regexp) selectors, and appropriate (ts-apply :hour 23 :minute 59 :second 59)))) `(,pred :to ,to))) + ;; Headings. + (`(h . ,args) + ;; "h" alias. + `(heading ,@args)) + ;; Outline paths. (`(,(or 'outline-path 'olp) . ,strings) ;; Regexp quote headings. @@ -1132,7 +1137,7 @@ priority B)." always (save-excursion (re-search-forward regexp end t)))))) -(org-ql--defpred heading (&rest regexps) +(org-ql--defpred (heading h) (&rest regexps) "Return non-nil if current entry's heading matches all REGEXPS (regexp strings)." ;; TODO: In Org 9.2+, `org-get-heading' takes 2 more arguments. (let ((heading (org-get-heading 'no-tags 'no-todo))) From cb6509ca6a837d55937be23194b092e51bccc88e Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Mon, 28 Oct 2019 08:29:06 -0500 Subject: [PATCH 081/615] Notes: Add mailing list post by John Kitchin --- notes.org | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/notes.org b/notes.org index a52cf2b..a033215 100644 --- a/notes.org +++ b/notes.org @@ -882,6 +882,37 @@ Also, maybe instead of having a single =date= selector, I should have =scheduled * References ** [[https://m00natic.github.io/lisp/manual-jit.html][Uniform Structured Syntax, Metaprogramming and Run-time Compilation]] + +** [[gnus:gmane.emacs.orgmode#CAJ51EToLCm5zDLKu8XeuqEWrLhHZF+OoNkviPSivZbFttzF8=A@mail.gmail.com][John Kitchin on rewriting the Org agenda code]] :Emacs:Org: + +[2019-10-28 Mon 08:28] Originally from [[id:90a68535-2403-4ba9-a117-60be1862628f][this entry in my notes]]. + +#+BEGIN_QUOTE +From: John Kitchin +Subject: Re: [Orgmode] Slow speed of week and month views +Newsgroups: gmane.emacs.orgmode +To: Karl Voit +Cc: "emacs-orgmode@gnu.org" +Date: Sat, 5 Aug 2017 18:17:09 -0400 (4 hours, 11 minutes, 38 seconds ago) + +I can think of two possibilities for a future approach (besides a deep dive on profiling the current elisp to improve the speed there). They both involve some substantial coding though, and would probably add dependencies. I am curious what anyone things about these, or if there are other ideas. + +One is to use the new dynamic module capability to write an org parser in C, or a dedicated agenda function, which would presumably be faster than in elisp. This seems hard, and for me would certainly be a multiyear project I am sure! The downside of this is the need to compile the module. I don't know how easy it would be to make this work across platforms with the relatively easy install org-mode currently has. This could have a side benefit though of a c-lib that could be used by others to expand where org-mode is used. + +The other way that might work is to rely more heavily on a cached version of the files, perhaps in a different format than elisp, that is faster to work with. The approach I have explored in this is to index org files into a sqlite database. The idea then would be to generate the agenda from a sql query. I use something like this already to "find stuff in orgmode anywhere". One of the reasons I wrote this is the org-agenda list of files isn't practical for me because my files are so scattered on my file system. I had a need to be able to find TODOs in research projects in a pretty wide range of locations. + +The code I use is at https://github.com/jkitchin/scimax/blob/master/org-db.el, and from one database I can find headlines, contacts, locations, TODO headlines across my file system, all the files that contain a particular link, and my own recent org files. This approach relies on emacsql, and a set of hook functions to update the database whenever a file is changed. It is not robust, e.g. the file could be out of sync with the db if it is modified outside emacs, but this works well enough for me so far. Updated files get reindexed whenever emacs is idle. It was a compromise on walking the file system all the time or daily, or trying to use inotify and you can always run a command to prune/sync all the files any time you want. + +sqlite is ok, but with emacsql you cannot put strings in it directly (at least when I wrote the org-db code), which has limited it for full-text search so far. Also with text, the db got up to about 0.5 GB in size, and started slowing down. So it doesn't have text in it for now. It has all the other limitations of sqlite too, limited support for locking, single process.... + +I am moderately motivated to switch from sqlite to MongoDB, but the support for Mongo in emacs is pretty crummy (I tried writing a few traditional interfaces, but the performance was not that good, and limited since Mongo uses bson, and it is just not the same as json!). Why Mongo? Mostly because the Mongo query language is basically json and easy to generate in Emacs, unlike sql. Also, it is flexible and easy to adapt to new things, e.g. indexing src-blocks or tables or whatever org-element you want. (And I want to use Mongo for something else too ;). Obviously these all add dependencies, and might not be suitable for the core org-mode distribution. But I do think it is important to think about ways to scale org-mode while maintaining compatibility with the core. + +The main point of the database was to get a query language, persistence and good performance. I have also used caches to speed up using bibtex files, and my org-contacts with reasonable performance. These have been all elisp, with no additional dependencies. Maybe one could do something similar to keep an agenda cache that is persistent and updated via hook functions. + +Thoughts? + +John +#+END_QUOTE :PROPERTIES: :archive.is: http://archive.is/33R9M :END: From d3272cdd8bd013d6925696656f5ed51a4a5e0c4b Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Tue, 5 Nov 2019 15:40:05 -0600 Subject: [PATCH 082/615] Add: (view--display) Insert newline at end of buffer Prevents end-of-buffer from scrolling the window horizontally. Fixes #50. Thanks to @xeijin for suggesting. --- README.org | 1 + org-ql-view.el | 2 +- org-ql.info | 102 +++++++++++++++++++++++++++++-------------------- 3 files changed, 63 insertions(+), 42 deletions(-) diff --git a/README.org b/README.org index a093f5b..75fd7b0 100644 --- a/README.org +++ b/README.org @@ -386,6 +386,7 @@ Expands into a call to ~org-ql-select~ with the same arguments. For convenience + Command ~helm-org-ql-views~, which shows one of ~org-ql-views~ selected with Helm. + Predicate ~src~, which matches Org Babel source blocks. + Alias =h= for =heading= predicate. ++ Search/view buffers now always end with a newline, which prevents side-scrolling of the window when calling =end-of-buffer=. *Internal* + Added generic node data cache to speed up recursive, tree-based queries. diff --git a/org-ql-view.el b/org-ql-view.el index c17948e..e7f0329 100644 --- a/org-ql-view.el +++ b/org-ql-view.el @@ -378,7 +378,7 @@ subsequent refreshing of the buffer: `org-ql-view-buffers-files', ;; Clear buffer, insert entries, etc. (let ((inhibit-read-only t)) (erase-buffer) - (insert string) + (insert string "\n") (pop-to-buffer (current-buffer) org-ql-view-display-buffer-action) (org-agenda-finalize) (goto-char (point-min)))))) diff --git a/org-ql.info b/org-ql.info index 7c707b2..55e49ce 100644 --- a/org-ql.info +++ b/org-ql.info @@ -63,6 +63,7 @@ Functions / Macros Changelog * 0.4-pre: 04-pre. +* 0.3.2: 032. * 0.3.1: 031. * 0.3: 03. * 0.2.3: 023. @@ -372,6 +373,7 @@ Arguments are listed next to predicate names, where applicable. ‘heading (&rest regexps)’ Return non-nil if current entry’s heading matches all ‘REGEXPS’ (regexp strings). + • Aliases: h. ‘level (level-or-comparator &optional level)’ Return non-nil if current heading’s outline level matches arguments. The following forms are accepted: ‘(level NUMBER)’: @@ -681,6 +683,7 @@ releases. * Menu: * 0.4-pre: 04-pre. +* 0.3.2: 032. * 0.3.1: 031. * 0.3: 03. * 0.2.3: 023. @@ -690,7 +693,7 @@ releases. * 0.1: 01.  -File: README.info, Node: 04-pre, Next: 031, Up: Changelog +File: README.info, Node: 04-pre, Next: 032, Up: Changelog 5.1 0.4-pre =========== @@ -711,15 +714,31 @@ File: README.info, Node: 04-pre, Next: 031, Up: Changelog • Command ‘helm-org-ql-views’, which shows one of ‘org-ql-views’ selected with Helm. • Predicate ‘src’, which matches Org Babel source blocks. + • Alias h for heading predicate. + • Search/view buffers now always end with a newline, which prevents + side-scrolling of the window when calling end-of-buffer. *Internal* • Added generic node data cache to speed up recursive, tree-based queries.  -File: README.info, Node: 031, Next: 03, Prev: 04-pre, Up: Changelog +File: README.info, Node: 032, Next: 031, Prev: 04-pre, Up: Changelog -5.2 0.3.1 +5.2 0.3.2 +========= + +*Fixed* + • In org-ql-search, accept symbol as ‘:super-groups’ argument. + • In the This week and Next week default org-ql-views views, set + timestamps for beginning-of-week to 00:00:00 and end-of-week to + 23:59:59. + • Plain quoted-phrases in non-sexp queries. + + +File: README.info, Node: 031, Next: 03, Prev: 032, Up: Changelog + +5.3 0.3.1 ========= *Fixed* @@ -729,7 +748,7 @@ File: README.info, Node: 031, Next: 03, Prev: 04-pre, Up: Changelog  File: README.info, Node: 03, Next: 023, Prev: 031, Up: Changelog -5.3 0.3 +5.4 0.3 ======= *Added* @@ -794,7 +813,7 @@ File: README.info, Node: 03, Next: 023, Prev: 031, Up: Changelog  File: README.info, Node: 023, Next: 022, Prev: 03, Up: Changelog -5.4 0.2.3 +5.5 0.2.3 ========= *Fixed* @@ -804,7 +823,7 @@ File: README.info, Node: 023, Next: 022, Prev: 03, Up: Changelog  File: README.info, Node: 022, Next: 021, Prev: 023, Up: Changelog -5.5 0.2.2 +5.6 0.2.2 ========= *Fixed* @@ -815,7 +834,7 @@ File: README.info, Node: 022, Next: 021, Prev: 023, Up: Changelog  File: README.info, Node: 021, Next: 02, Prev: 022, Up: Changelog -5.6 0.2.1 +5.7 0.2.1 ========= *Fixed* @@ -825,7 +844,7 @@ File: README.info, Node: 021, Next: 02, Prev: 022, Up: Changelog  File: README.info, Node: 02, Next: 01, Prev: 021, Up: Changelog -5.7 0.2 +5.8 0.2 ======= *Added* @@ -908,7 +927,7 @@ File: README.info, Node: 02, Next: 01, Prev: 021, Up: Changelog  File: README.info, Node: 01, Prev: 02, Up: Changelog -5.8 0.1 +5.9 0.1 ======= First tagged release. @@ -969,38 +988,39 @@ GPLv3  Tag Table: Node: Top225 -Node: Contents1352 -Node: Screenshots1500 -Node: Installation1618 -Node: Quelpa2256 -Node: Usage2699 -Node: Commands3609 -Node: org-ql-search3838 -Node: helm-org-ql5486 -Node: org-ql-view5898 -Node: org-ql-view-sidebar6096 -Node: org-ql-view-recent-items6452 -Node: org-ql-sparse-tree6936 -Node: Queries7736 -Node: Non-sexp query syntax8578 -Node: Predicates10277 -Node: Date/time predicates15391 -Node: Functions / Macros18026 -Node: Agenda-like views18213 -Node: Listing / acting-on results19618 -Node: Changelog24220 -Node: 04-pre24742 -Node: 03125830 -Node: 0326028 -Node: 02329001 -Node: 02229227 -Node: 02129493 -Node: 0229690 -Node: 0133723 -Node: Notes33822 -Node: Comparison with Org Agenda searches33984 -Node: org-sidebar34855 -Node: License35134 +Node: Contents1367 +Node: Screenshots1515 +Node: Installation1633 +Node: Quelpa2271 +Node: Usage2714 +Node: Commands3624 +Node: org-ql-search3853 +Node: helm-org-ql5501 +Node: org-ql-view5913 +Node: org-ql-view-sidebar6111 +Node: org-ql-view-recent-items6467 +Node: org-ql-sparse-tree6951 +Node: Queries7751 +Node: Non-sexp query syntax8593 +Node: Predicates10292 +Node: Date/time predicates15430 +Node: Functions / Macros18065 +Node: Agenda-like views18252 +Node: Listing / acting-on results19657 +Node: Changelog24259 +Node: 04-pre24796 +Node: 03226057 +Node: 03126438 +Node: 0326633 +Node: 02329606 +Node: 02229832 +Node: 02130098 +Node: 0230295 +Node: 0134328 +Node: Notes34427 +Node: Comparison with Org Agenda searches34589 +Node: org-sidebar35460 +Node: License35739  End Tag Table From 02159a831ab10cad3c6e04a6951697e28d5ee8cd Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Sun, 24 Nov 2019 05:25:38 -0600 Subject: [PATCH 083/615] Notes: Add/update --- notes.org | 314 +++++++++++++++++++++++++++++++++--------------------- 1 file changed, 195 insertions(+), 119 deletions(-) diff --git a/notes.org b/notes.org index a033215..4891e34 100644 --- a/notes.org +++ b/notes.org @@ -6,125 +6,6 @@ Note that the built-in sorting only works on Org elements, which is the default ~:action~. So if a different action is used, sorting will not work. In that case, the action should be mapped across the Org element results from outside the ~org-ql~ form. -** TODO [#A] Helm command - -In branch =wip/helm-org-ql=. Works really well, should add it and demonstrate it. - -*** TODO Add - -*** TODO Demonstrate - -*** UNDERWAY Parsing non-Lisp queries - -[2019-09-12 Thu 12:56] Lisp is so much easier to deal with, but some people don't like parentheses. So I'm trying to add a non-Lisp-style query syntax. It gets complicated. The =peg= library helps, but its documentation is sparse and incomplete. This seems to work fairly well for single-token queries, but I'm not sure if I can or should cram it all into one parser, or use separate ones for certain keywords. - -#+BEGIN_SRC elisp - (-let* ((input "todo:check|someday") - (input "tags:universe+space") - (input "heading:\"spaced phrase\"") - (input "") - (input "heading:\"spaced phrase\"+another") - combinator - (parsed (peg-parse-string ((predicate (substring keyword) ":" (opt args)) - (keyword (or "heading" "tags" "todo" "property")) - (args (+ (and (or quoted-arg unquoted-arg) (opt separator)))) - (quoted-arg "\"" unquoted-arg "\"") - (unquoted-arg (substring (+ (not (or separator "\"")) (any)))) - (separator (or (and "|" (action (setf combinator 'or))) - (and "+" (action (setf combinator 'and))) - (and ":" (action (setf combinator 'arg)))))) - input 'noerror)) - ((predicate . args) (nreverse parsed))) - (when predicate - (list :predicate predicate :args args :combinator combinator))) - ;;=> (:predicate "heading" :args ("spaced phrase" "another" t) :combinator and) -#+END_SRC - -I don't know where the =t= is coming from. - -The next step is to make it work with multi-token queries. It needs to handle all of the tokens in one parser so it can handle quoted phrases (if we split on spaces, it would split quoted phrases). But that makes getting the arguments out of it more difficult. Probably need to do something like this: - -#+BEGIN_SRC elisp - (-let* ((input "todo:check|someday") - (input "tags:universe+space") - (input "heading:\"spaced phrase\"") - (input "") - (input "heading:\"spaced phrase\"+another") - combinator - (parsed (peg-parse-string ((query (+ (or (and predicate `(pred args -- (list :predicate pred :args args))) - (and plain-string `(s -- (list :predicate 'regexp :args s)))) - (opt (syntax-class whitespace)))) - (plain-string (substring (+ (not (syntax-class whitespace)) (any)))) - (predicate (substring keyword) ":" (opt args)) - (keyword (or "heading" "tags" "todo" "property")) - (args (+ (and (or quoted-arg unquoted-arg) (opt separator)))) - (quoted-arg "\"" unquoted-arg "\"") - (unquoted-arg (substring (+ (not (or separator "\"")) (any)))) - (separator (or (and "|" (action (setf combinator 'or))) - (and "+" (action (setf combinator 'and))) - (and ":" (action (setf combinator 'arg)))))) - input 'noerror))) - parsed) -#+END_SRC - -In which lists are pushed onto the stack and returned, rather than strings. But I don't understand yet exactly how to use the =var= forms to consume input from the "value stack"; I need to study the examples more. I'm also not sure if that will even work with a variable number of arguments. - -This seems to work, but we'll have to parse the args again in a separate step: - -#+BEGIN_SRC elisp - (-let* ((input "todo:check|someday") - (input "tags:universe+space") - (input "heading:\"spaced phrase\"") - (input "") - (input "heading:\"spaced phrase\"+another") - (input "heading:\"spaced phrase\"+another todo:check") - combinator - (parsed (peg-parse-string ((query (+ (or (and predicate `(pred args -- (list :predicate pred :args args))) - (and plain-string `(s -- (list :predicate 'regexp :args s)))) - (opt (+ (syntax-class whitespace) (any))))) - (plain-string (substring (+ (not (syntax-class whitespace)) (any)))) - (predicate (substring keyword) ":" (opt args)) - (keyword (or "heading" "tags" "todo" "property")) - (args (substring (+ (and (or quoted-arg unquoted-arg) (opt separator))))) - (quoted-arg "\"" (+ (not (or separator "\"")) (any)) "\"") - (unquoted-arg (+ (not (or separator "\"" (syntax-class whitespace))) (any))) - (separator (or (and "|" (action (setf combinator 'or))) - (and "+" (action (setf combinator 'and))) - (and ":" (action (setf combinator 'arg)))))) - input 'noerror))) - parsed) - ;;=> (t (:predicate "todo" :args "check") (:predicate "heading" :args "\"spaced phrase\"+another")) -#+END_SRC - -Well, a bit of fiddling (lots of trial-and-error required) produced this: - -#+BEGIN_SRC elisp - (-let* ((input "todo:check|someday") - (input "tags:universe+space") - (input "heading:\"spaced phrase\"") - (input "") - (input "heading:\"spaced phrase\"+another") - (input "heading:\"spaced phrase\"+another todo:check") - combinator - (parsed (peg-parse-string ((query (+ (or (and predicate `(pred args -- (list :predicate pred :args args))) - (and plain-string `(s -- (list :predicate 'regexp :args s)))) - (opt (+ (syntax-class whitespace) (any))))) - (plain-string (substring (+ (not (syntax-class whitespace)) (any)))) - (predicate (substring keyword) ":" (opt args)) - (keyword (or "heading" "tags" "todo" "property")) - (args (list (+ (and (substring (or quoted-arg unquoted-arg)) (opt separator))))) - (quoted-arg "\"" (+ (not (or separator "\"")) (any)) "\"") - (unquoted-arg (+ (not (or separator "\"" (syntax-class whitespace))) (any))) - (separator (or (and "|" (action (setf combinator 'or))) - (and "+" (action (setf combinator 'and))) - (and ":" (action (setf combinator 'arg)))))) - input 'noerror))) - parsed) - ;;=> (t (:predicate "todo" :args ("check")) (:predicate "heading" :args ("\"spaced phrase\"" "another"))) -#+END_SRC - -That seems pretty usable! - ** TODO [#A] Outline path in buffers-files arg :PROPERTIES: :ID: 6935361a-9e1d-48ec-8d17-876a90b90f50 @@ -225,6 +106,82 @@ e.g. as mentioned by Samuel Wales at https://lists.gnu.org/archive/html/emacs-or (org-ql-agenda--agenda nil nil :strings strings))) #+END_SRC +Another, more up-to-date implementation: + +#+BEGIN_SRC elisp + ;; NOTE: ts structs don't (sometimes? or always?) compare properly + ;; with default hash tables, e.g. this code: + + ;; (let* ((ts-a #s(ts nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil 1572670800.0)) + ;; (ts-b #s(ts nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil 1572584400.0))) + ;; (list :equal (equal ts-a ts-b) + ;; :sxhash-equal (equal (sxhash ts-a) (sxhash ts-b)))) ;;=> (:equal nil :sxhash-equal t) + + ;; So we must use the "contents-hash" table as described in the Elisp manual. + (define-hash-table-test 'contents-hash 'equal 'sxhash-equal) + + (cl-defun org-ql-view-timeline (buffers-files &key from to on) + "FIXME: DOcstring" + (cl-flet ((parse-ts-arg + (arg type) + ;; Parse ARG as a string or TS struct and adjust it to the beginning + ;; or end of its day, depending on whether TYPE is `:begin' or `:end'. + (-let (((hour minute second) (cl-ecase type + (:begin '(0 0 0)) + (:end '(23 59 59))))) + (->> (cl-typecase arg + (string (ts-parse arg)) + (ts arg)) + (ts-apply :hour hour :minute minute :second second))))) + (let* ((ts-predicate `(lambda (ts) + ,(cond (on `(ts-in ,(parse-ts-arg on :begin) + ts + ,(parse-ts-arg on :end))) + ((and from to) `(ts-in ,(parse-ts-arg from :begin) + ts + ,(parse-ts-arg to :end))) + (from `(ts<= ,(parse-ts-arg from :begin) ts)) + (to `(ts<= ts ,(parse-ts-arg to :end))) + (t (user-error "Huh?"))))) + (query (cond (on `(ts :from ,(parse-ts-arg on :begin) + :to ,(parse-ts-arg on :end))) + (t (append (list 'ts) + (when from + `(:from ,(parse-ts-arg from :begin))) + (when to + `(:to ,(parse-ts-arg to :end))))))) + (date-ts-table (make-hash-table :test 'contents-hash)) + (_results (org-ql-select buffers-files query + :action (lambda () + (let* ((string (->> (org-element-headline-parser + (line-end-position)) + org-ql--add-markers + org-ql-view--format-element))) + (cl-loop with limit = (org-entry-end-position) + while (re-search-forward org-ts-regexp-both limit t) + for ts = (->> (match-string 0) ts-parse-org) + when (funcall ts-predicate ts) + do (cl-pushnew (cons ts (concat (ts-format " %H:%M" ts) + string)) + (gethash (ts-apply :hour 0 :minute 0 :second 0 ts) + date-ts-table) + :test #'equal)))))) + (date-tss-sorted (->> date-ts-table hash-table-keys (-sort #'ts<))) + (string (cl-loop for date-ts in date-tss-sorted + for date-string = (propertize (ts-format "%Y-%m-%d" date-ts) + 'face 'org-agenda-structure) + concat (concat "\n" date-string) + concat (cl-loop for (ts . entry) in (->> (gethash date-ts date-ts-table) + (-sort (-on #'ts< #'car))) + concat (concat "\n" entry))))) + (org-ql-view--display :buffer "Timeline" + :header "Timeline" + :string string)))) + + ;; Used like: + ;; (org-ql-view-timeline "~/org/main.org" :from "2019-11-01") +#+END_SRC + ** TODO [#B] Add more sorters? + [ ] =category= @@ -641,6 +598,125 @@ This works okay (except the priority accessor needs to be fixed, because Org pri When tag inheritance is enabled, and the given tags aren't file-level tags, we could search directly to headings containing the matching tags, and then only do per-heading matching on the subtrees. Sometimes that would be much faster. However, that might make the logic special-cased and complicated. Might need a redesign of the whole matching/predicate system to do cleanly. +** DONE [#A] Helm command + +In branch =wip/helm-org-ql=. Works really well, should add it and demonstrate it. + +*** DONE Add + +*** DONE Demonstrate + +*** DONE Parsing non-Lisp queries + +[2019-09-12 Thu 12:56] Lisp is so much easier to deal with, but some people don't like parentheses. So I'm trying to add a non-Lisp-style query syntax. It gets complicated. The =peg= library helps, but its documentation is sparse and incomplete. This seems to work fairly well for single-token queries, but I'm not sure if I can or should cram it all into one parser, or use separate ones for certain keywords. + +#+BEGIN_SRC elisp + (-let* ((input "todo:check|someday") + (input "tags:universe+space") + (input "heading:\"spaced phrase\"") + (input "") + (input "heading:\"spaced phrase\"+another") + combinator + (parsed (peg-parse-string ((predicate (substring keyword) ":" (opt args)) + (keyword (or "heading" "tags" "todo" "property")) + (args (+ (and (or quoted-arg unquoted-arg) (opt separator)))) + (quoted-arg "\"" unquoted-arg "\"") + (unquoted-arg (substring (+ (not (or separator "\"")) (any)))) + (separator (or (and "|" (action (setf combinator 'or))) + (and "+" (action (setf combinator 'and))) + (and ":" (action (setf combinator 'arg)))))) + input 'noerror)) + ((predicate . args) (nreverse parsed))) + (when predicate + (list :predicate predicate :args args :combinator combinator))) + ;;=> (:predicate "heading" :args ("spaced phrase" "another" t) :combinator and) +#+END_SRC + +I don't know where the =t= is coming from. + +The next step is to make it work with multi-token queries. It needs to handle all of the tokens in one parser so it can handle quoted phrases (if we split on spaces, it would split quoted phrases). But that makes getting the arguments out of it more difficult. Probably need to do something like this: + +#+BEGIN_SRC elisp + (-let* ((input "todo:check|someday") + (input "tags:universe+space") + (input "heading:\"spaced phrase\"") + (input "") + (input "heading:\"spaced phrase\"+another") + combinator + (parsed (peg-parse-string ((query (+ (or (and predicate `(pred args -- (list :predicate pred :args args))) + (and plain-string `(s -- (list :predicate 'regexp :args s)))) + (opt (syntax-class whitespace)))) + (plain-string (substring (+ (not (syntax-class whitespace)) (any)))) + (predicate (substring keyword) ":" (opt args)) + (keyword (or "heading" "tags" "todo" "property")) + (args (+ (and (or quoted-arg unquoted-arg) (opt separator)))) + (quoted-arg "\"" unquoted-arg "\"") + (unquoted-arg (substring (+ (not (or separator "\"")) (any)))) + (separator (or (and "|" (action (setf combinator 'or))) + (and "+" (action (setf combinator 'and))) + (and ":" (action (setf combinator 'arg)))))) + input 'noerror))) + parsed) +#+END_SRC + +In which lists are pushed onto the stack and returned, rather than strings. But I don't understand yet exactly how to use the =var= forms to consume input from the "value stack"; I need to study the examples more. I'm also not sure if that will even work with a variable number of arguments. + +This seems to work, but we'll have to parse the args again in a separate step: + +#+BEGIN_SRC elisp + (-let* ((input "todo:check|someday") + (input "tags:universe+space") + (input "heading:\"spaced phrase\"") + (input "") + (input "heading:\"spaced phrase\"+another") + (input "heading:\"spaced phrase\"+another todo:check") + combinator + (parsed (peg-parse-string ((query (+ (or (and predicate `(pred args -- (list :predicate pred :args args))) + (and plain-string `(s -- (list :predicate 'regexp :args s)))) + (opt (+ (syntax-class whitespace) (any))))) + (plain-string (substring (+ (not (syntax-class whitespace)) (any)))) + (predicate (substring keyword) ":" (opt args)) + (keyword (or "heading" "tags" "todo" "property")) + (args (substring (+ (and (or quoted-arg unquoted-arg) (opt separator))))) + (quoted-arg "\"" (+ (not (or separator "\"")) (any)) "\"") + (unquoted-arg (+ (not (or separator "\"" (syntax-class whitespace))) (any))) + (separator (or (and "|" (action (setf combinator 'or))) + (and "+" (action (setf combinator 'and))) + (and ":" (action (setf combinator 'arg)))))) + input 'noerror))) + parsed) + ;;=> (t (:predicate "todo" :args "check") (:predicate "heading" :args "\"spaced phrase\"+another")) +#+END_SRC + +Well, a bit of fiddling (lots of trial-and-error required) produced this: + +#+BEGIN_SRC elisp + (-let* ((input "todo:check|someday") + (input "tags:universe+space") + (input "heading:\"spaced phrase\"") + (input "") + (input "heading:\"spaced phrase\"+another") + (input "heading:\"spaced phrase\"+another todo:check") + combinator + (parsed (peg-parse-string ((query (+ (or (and predicate `(pred args -- (list :predicate pred :args args))) + (and plain-string `(s -- (list :predicate 'regexp :args s)))) + (opt (+ (syntax-class whitespace) (any))))) + (plain-string (substring (+ (not (syntax-class whitespace)) (any)))) + (predicate (substring keyword) ":" (opt args)) + (keyword (or "heading" "tags" "todo" "property")) + (args (list (+ (and (substring (or quoted-arg unquoted-arg)) (opt separator))))) + (quoted-arg "\"" (+ (not (or separator "\"")) (any)) "\"") + (unquoted-arg (+ (not (or separator "\"" (syntax-class whitespace))) (any))) + (separator (or (and "|" (action (setf combinator 'or))) + (and "+" (action (setf combinator 'and))) + (and ":" (action (setf combinator 'arg)))))) + input 'noerror))) + parsed) + ;;=> (t (:predicate "todo" :args ("check")) (:predicate "heading" :args ("\"spaced phrase\"" "another"))) +#+END_SRC + +That seems pretty usable! + ** DONE Byte-compile lambdas CLOSED: [2018-05-09 Wed 17:30] :LOGBOOK: From a1851ed0eb6587e822b62d18a884c1eabb1411c1 Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Sun, 24 Nov 2019 05:43:21 -0600 Subject: [PATCH 084/615] Fix: (--value-at) Clear value cache when buffer changes Fixes #59. Thanks to Daniel Hubmann (@hubisan) for reporting. --- org-ql.el | 3 ++- tests/test-org-ql.el | 19 +++++++++++++++++++ 2 files changed, 21 insertions(+), 1 deletion(-) diff --git a/org-ql.el b/org-ql.el index 3d64772..7e15cc0 100644 --- a/org-ql.el +++ b/org-ql.el @@ -470,7 +470,8 @@ Values compared with `equal'." buffer-unmodified-p (eq (buffer-modified-tick) modified-tick)) (unless (and buffer-cache buffer-unmodified-p) ;; Buffer-local node cache empty or invalid: make new one. - (setf position-cache (make-hash-table)) + (setf position-cache (make-hash-table) + value-cache (gethash position position-cache)) (puthash (current-buffer) (cons (buffer-modified-tick) position-cache) org-ql-node-value-cache)) diff --git a/tests/test-org-ql.el b/tests/test-org-ql.el index 9ae17a3..ea6ab8a 100644 --- a/tests/test-org-ql.el +++ b/tests/test-org-ql.el @@ -142,6 +142,25 @@ RESULTS should be a list of strings as returned by (cl-loop while (re-search-forward org-heading-regexp nil t) sum 1))))) + (describe "Caching" + (it "Clears value cache after buffer changes" + ;; See . + (with-temp-buffer + (org-mode) + (insert "* Heading 1 +* Heading 2") + ;; FIXME: `--value-at' does not actually move point, so we do it here. + (goto-char (point-min)) + (expect (org-ql--value-at (point-min) #'org-get-heading) + :to-equal "Heading 1") + (erase-buffer) + ;; FIXME: See above. + (insert "* Heading 2") + (goto-char (point-min)) + (org-ql--value-at (point-min) #'point) + (expect (org-ql--value-at (point-min) #'org-get-heading) + :to-equal "Heading 2")))) + (describe "Query functions/macros" (it "org-ql" From d3a73732ac11edbaff20a77903acc06b6634568b Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Thu, 28 Nov 2019 15:09:43 -0600 Subject: [PATCH 085/615] Notes: Tidy --- notes.org | 8 -------- 1 file changed, 8 deletions(-) diff --git a/notes.org b/notes.org index 4891e34..ba8a203 100644 --- a/notes.org +++ b/notes.org @@ -447,14 +447,6 @@ To implement this with good performance probably needs an outline-path cache. I [2019-10-07 Mon 13:09] This is basically done with =be2bf6df316b96b3ed56851b8ffe0e227796b621= and =be2bf6df316b96b3ed56851b8ffe0e227796b621=, but not the specific-path matching. I left a =MAYBE= in the code about "anchored" path matching, which would accomplish that. -** UNDERWAY [#A] Helm command - -In branch =wip/helm-org-ql=. Works really well, should add it and demonstrate it. - -*** TODO Add - -*** TODO Demonstrate - ** UNDERWAY [#B] Implement view with tabulated-list-mode or magit-section [2019-09-02 Mon 05:20] Especially with some of the new packages that make =tabulated-list-mode= easier to use, like =navigel=. However, it would probably break grouping, or require some kind of adapter or extension to do grouping, so I don't know if that would work. Something like =magit-section= would be more flexible, and could be recursively grouped, like in =magit-todos=. From d7fe019d6ac212da50916f51f642fdf3de24d2d8 Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Fri, 29 Nov 2019 21:08:22 -0600 Subject: [PATCH 086/615] Fix: (helm-source-org-ql-views) Call helm-make-source directly Avoids macro expansion issues if Helm is not yet loaded. Fixes #60. Thanks to @matthuszagh for reporting. --- README.org | 3 +++ helm-org-ql.el | 2 +- org-ql.info | 31 +++++++++++++++++++------------ 3 files changed, 23 insertions(+), 13 deletions(-) diff --git a/README.org b/README.org index 75fd7b0..e7d6331 100644 --- a/README.org +++ b/README.org @@ -388,6 +388,9 @@ Expands into a call to ~org-ql-select~ with the same arguments. For convenience + Alias =h= for =heading= predicate. + Search/view buffers now always end with a newline, which prevents side-scrolling of the window when calling =end-of-buffer=. +*Fixed* ++ Call =helm-make-source= directly instead of using =helm-build-sync-source= macro. (Fixes [[https://github.com/alphapapa/org-ql/issues/60][#60]]. Thanks to Matt Huszagh ([[https://github.com/matthuszagh][@matthuszagh]]) for reporting.) + *Internal* + Added generic node data cache to speed up recursive, tree-based queries. diff --git a/helm-org-ql.el b/helm-org-ql.el index 26beab9..8bb886a 100644 --- a/helm-org-ql.el +++ b/helm-org-ql.el @@ -67,7 +67,7 @@ Based on `helm-map'.") (defvar helm-source-org-ql-views - (helm-build-sync-source "Org QL Views" + (helm-make-source "Org QL Views" 'helm-source-sync :candidates (lambda () (->> org-ql-views (-map #'car) diff --git a/org-ql.info b/org-ql.info index 55e49ce..e132bd2 100644 --- a/org-ql.info +++ b/org-ql.info @@ -718,6 +718,13 @@ File: README.info, Node: 04-pre, Next: 032, Up: Changelog • Search/view buffers now always end with a newline, which prevents side-scrolling of the window when calling end-of-buffer. + *Fixed* + • Call helm-make-source directly instead of using + helm-build-sync-source macro. (Fixes #60 + (https://github.com/alphapapa/org-ql/issues/60). Thanks to Matt + Huszagh (@matthuszagh (https://github.com/matthuszagh)) for + reporting.) + *Internal* • Added generic node data cache to speed up recursive, tree-based queries. @@ -1009,18 +1016,18 @@ Node: Agenda-like views18252 Node: Listing / acting-on results19657 Node: Changelog24259 Node: 04-pre24796 -Node: 03226057 -Node: 03126438 -Node: 0326633 -Node: 02329606 -Node: 02229832 -Node: 02130098 -Node: 0230295 -Node: 0134328 -Node: Notes34427 -Node: Comparison with Org Agenda searches34589 -Node: org-sidebar35460 -Node: License35739 +Node: 03226323 +Node: 03126704 +Node: 0326899 +Node: 02329872 +Node: 02230098 +Node: 02130364 +Node: 0230561 +Node: 0134594 +Node: Notes34693 +Node: Comparison with Org Agenda searches34855 +Node: org-sidebar35726 +Node: License36005  End Tag Table From cb84615d89e59b9b594833f79c99206b698521eb Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Mon, 2 Dec 2019 20:21:34 -0600 Subject: [PATCH 087/615] Tidy: helm-org-ql --- helm-org-ql.el | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/helm-org-ql.el b/helm-org-ql.el index 8bb886a..821ea62 100644 --- a/helm-org-ql.el +++ b/helm-org-ql.el @@ -187,7 +187,7 @@ Is transformed into this query: "Return Helm source named NAME that searches BUFFERS-FILES with `helm-org-ql'." ;; Expansion of `helm-build-sync-source' macro. (helm-make-source name 'helm-source-sync - :candidates (lambda nil + :candidates (lambda () (let* ((query (org-ql--plain-query helm-pattern)) (window-width (window-width (helm-window)))) (when query @@ -208,7 +208,7 @@ Is transformed into this query: ;; where byte-compilation is actually done, but it might not be a good idea ;; to always ignore such errors/warnings. (org-ql-select buffers-files query - :action (list 'helm-org-ql--heading window-width)))))) + :action `(helm-org-ql--heading ,window-width)))))) :match #'identity :fuzzy-match nil :multimatch nil @@ -228,9 +228,9 @@ WINDOW-WIDTH should be the width of the Helm window." ;; call a setup function in a buffer before running queries. (let* ((prefix (concat (buffer-name) ":")) (width (- window-width (length prefix))) - (path (org-split-string (org-format-outline-path (org-get-outline-path) - width nil "") - "")) + (path (-> (org-get-outline-path) + (org-format-outline-path width nil "") + (org-split-string ""))) (heading (org-get-heading t)) (path (if helm-org-ql-reverse-paths (concat heading "\\" (s-join "\\" (nreverse path))) From 70a1acde938f3ce3fcac924f1ec0786bd13a83e4 Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Fri, 6 Dec 2019 22:07:11 -0600 Subject: [PATCH 088/615] Docs: Tidy changelog for 0.4.0-pre --- README.org | 20 +++++++++--------- org-ql.info | 58 +++++++++++++++++++++++++++-------------------------- 2 files changed, 41 insertions(+), 37 deletions(-) diff --git a/README.org b/README.org index e7d6331..e137b66 100644 --- a/README.org +++ b/README.org @@ -377,19 +377,21 @@ Expands into a call to ~org-ql-select~ with the same arguments. For convenience ** 0.4-pre *Added* -+ Negation of terms in plain queries using ~!~. For example, ~tags:space !moon~ to exclude entries which contain ~moon~. -+ Predicates =outline-path= (alias =olp=) and =outline-path-segment= (alias =olps=). ++ *Commands* + - ~helm-org-ql-views~, which shows one of ~org-ql-views~ selected with Helm. + - ~org-ql-search~ can search files in ~org-directory~; customization options are available in the ~org-ql-search~ group. + - ~org-ql-view-refresh~ can be called with a prefix argument to adjust search parameters. ++ *Queries* + - Negation of terms in plain queries using ~!~. For example, ~tags:space !moon~ to exclude entries which contain ~moon~. + - Predicates =outline-path= (alias =olp=) and =outline-path-segment= (alias =olps=). + - Predicate ~src~, which matches Org Babel source blocks. + - Alias =h= for =heading= predicate. + Info manual. -+ Command ~org-ql-search~ can search files in ~org-directory~; customization options are available in the ~org-ql-search~ group. -+ Command ~org-ql-view-refresh~ can be called with a prefix argument to adjust search parameters. + Function ~helm-org-ql-source~, which returns a Helm source that searches given buffers/files with ~helm-org-ql~. It can be used for custom Helm commands that search certain files. -+ Command ~helm-org-ql-views~, which shows one of ~org-ql-views~ selected with Helm. -+ Predicate ~src~, which matches Org Babel source blocks. -+ Alias =h= for =heading= predicate. -+ Search/view buffers now always end with a newline, which prevents side-scrolling of the window when calling =end-of-buffer=. *Fixed* -+ Call =helm-make-source= directly instead of using =helm-build-sync-source= macro. (Fixes [[https://github.com/alphapapa/org-ql/issues/60][#60]]. Thanks to Matt Huszagh ([[https://github.com/matthuszagh][@matthuszagh]]) for reporting.) ++ Call =helm-make-source= directly instead of using =helm-build-sync-source= macro. (Fixes [[https://github.com/alphapapa/org-ql/issues/60][#60]]. Thanks to [[https://github.com/matthuszagh][Matt Huszagh]] for reporting.) ++ Search/view buffers now always end with a newline, which prevents side-scrolling of the window when calling =end-of-buffer=. *Internal* + Added generic node data cache to speed up recursive, tree-based queries. diff --git a/org-ql.info b/org-ql.info index e132bd2..29e105d 100644 --- a/org-ql.info +++ b/org-ql.info @@ -699,31 +699,33 @@ File: README.info, Node: 04-pre, Next: 032, Up: Changelog =========== *Added* - • Negation of terms in plain queries using ‘!’. For example, - ‘tags:space !moon’ to exclude entries which contain ‘moon’. - • Predicates outline-path (alias olp) and outline-path-segment (alias - olps). + • *Commands* + • ‘helm-org-ql-views’, which shows one of ‘org-ql-views’ + selected with Helm. + • ‘org-ql-search’ can search files in ‘org-directory’; + customization options are available in the ‘org-ql-search’ + group. + • ‘org-ql-view-refresh’ can be called with a prefix argument to + adjust search parameters. + • *Queries* + • Negation of terms in plain queries using ‘!’. For example, + ‘tags:space !moon’ to exclude entries which contain ‘moon’. + • Predicates outline-path (alias olp) and outline-path-segment + (alias olps). + • Predicate ‘src’, which matches Org Babel source blocks. + • Alias h for heading predicate. • Info manual. - • Command ‘org-ql-search’ can search files in ‘org-directory’; - customization options are available in the ‘org-ql-search’ group. - • Command ‘org-ql-view-refresh’ can be called with a prefix argument - to adjust search parameters. • Function ‘helm-org-ql-source’, which returns a Helm source that searches given buffers/files with ‘helm-org-ql’. It can be used for custom Helm commands that search certain files. - • Command ‘helm-org-ql-views’, which shows one of ‘org-ql-views’ - selected with Helm. - • Predicate ‘src’, which matches Org Babel source blocks. - • Alias h for heading predicate. - • Search/view buffers now always end with a newline, which prevents - side-scrolling of the window when calling end-of-buffer. *Fixed* • Call helm-make-source directly instead of using helm-build-sync-source macro. (Fixes #60 (https://github.com/alphapapa/org-ql/issues/60). Thanks to Matt - Huszagh (@matthuszagh (https://github.com/matthuszagh)) for - reporting.) + Huszagh (https://github.com/matthuszagh) for reporting.) + • Search/view buffers now always end with a newline, which prevents + side-scrolling of the window when calling end-of-buffer. *Internal* • Added generic node data cache to speed up recursive, tree-based @@ -1016,18 +1018,18 @@ Node: Agenda-like views18252 Node: Listing / acting-on results19657 Node: Changelog24259 Node: 04-pre24796 -Node: 03226323 -Node: 03126704 -Node: 0326899 -Node: 02329872 -Node: 02230098 -Node: 02130364 -Node: 0230561 -Node: 0134594 -Node: Notes34693 -Node: Comparison with Org Agenda searches34855 -Node: org-sidebar35726 -Node: License36005 +Node: 03226384 +Node: 03126765 +Node: 0326960 +Node: 02329933 +Node: 02230159 +Node: 02130425 +Node: 0230622 +Node: 0134655 +Node: Notes34754 +Node: Comparison with Org Agenda searches34916 +Node: org-sidebar35787 +Node: License36066  End Tag Table From b9dfd7d93b1b64ddd0158290c5b6bb482dc558f3 Mon Sep 17 00:00:00 2001 From: Feng Shu Date: Sun, 8 Dec 2019 13:58:47 +0800 Subject: [PATCH 089/615] Add: (regexp) Alias "r" Thanks to Feng Shu (@tumashu). --- README.org | 2 ++ org-ql.el | 7 ++++++- org-ql.info | 39 +++++++++++++++++++++------------------ 3 files changed, 29 insertions(+), 19 deletions(-) diff --git a/README.org b/README.org index e137b66..0235712 100644 --- a/README.org +++ b/README.org @@ -192,6 +192,7 @@ Arguments are listed next to predicate names, where applicable. + =priority (&optional comparator-or-priority priority)= :: Return non-nil if current heading has a certain priority. ~COMPARATOR-OR-PRIORITY~ should be either a comparator function, like ~<=~, or a priority string, like "A" (in which case (~=~ will be the comparator). If ~COMPARATOR-OR-PRIORITY~ is a comparator, ~PRIORITY~ should be a priority string. If both arguments are nil, return non-nil if heading has any defined priority. + =property (property &optional value)= :: Return non-nil if current entry has ~PROPERTY~ (a string), and optionally ~VALUE~ (a string). Note that property inheritance is currently /not/ enabled for this predicate. If you need to test with inheritance, you could use a custom predicate form, like ~(org-entry-get (point) "PROPERTY" 'inherit)~. + =regexp (&rest regexps)= :: Return non-nil if current entry matches all of ~REGEXPS~ (regexp strings). Matches against entire entry, from beginning of its heading to the next heading. + - Aliases: =r=. + ~src (&key lang regexps)~ :: Return non-nil if current entry contains an Org Babel source block. If ~LANG~ is non-nil, match blocks of that language. If ~REGEXPS~ is non-nil, require that block's contents match all regexps. + =tags (&optional tags)= :: Return non-nil if current heading has one or more of ~TAGS~ (a list of strings). Tests both inherited and local tags. + =tags-inherited (&optional tags)= :: Return non-nil if current heading's inherited tags include one or more of ~TAGS~ (a list of strings). If ~TAGS~ is nil, return non-nil if heading has any inherited tags. @@ -386,6 +387,7 @@ Expands into a call to ~org-ql-select~ with the same arguments. For convenience - Predicates =outline-path= (alias =olp=) and =outline-path-segment= (alias =olps=). - Predicate ~src~, which matches Org Babel source blocks. - Alias =h= for =heading= predicate. + - Alias =r= for =regexp= predicate. (Thanks to [[https://github.com/tumashu][Feng Shu]].) + Info manual. + Function ~helm-org-ql-source~, which returns a Helm source that searches given buffers/files with ~helm-org-ql~. It can be used for custom Helm commands that search certain files. diff --git a/org-ql.el b/org-ql.el index 7e15cc0..1f39d3f 100644 --- a/org-ql.el +++ b/org-ql.el @@ -575,6 +575,11 @@ Replaces bare strings with (regexp) selectors, and appropriate ;; "h" alias. `(heading ,@args)) + ;; Regexps. + (`(r . ,args) + ;; "r" alias. + `(regexp ,@args)) + ;; Outline paths. (`(,(or 'outline-path 'olp) . ,strings) ;; Regexp quote headings. @@ -1127,7 +1132,7 @@ priority B)." "Return non-nil if entry is a habit." (org-is-habit-p)) -(org-ql--defpred regexp (&rest regexps) +(org-ql--defpred (regexp r) (&rest regexps) "Return non-nil if current entry matches all of REGEXPS (regexp strings)." (let ((end (or (save-excursion (outline-next-heading)) diff --git a/org-ql.info b/org-ql.info index 29e105d..329057f 100644 --- a/org-ql.info +++ b/org-ql.info @@ -415,6 +415,7 @@ Arguments are listed next to predicate names, where applicable. Return non-nil if current entry matches all of ‘REGEXPS’ (regexp strings). Matches against entire entry, from beginning of its heading to the next heading. + • Aliases: r. ‘‘src (&key lang regexps)’’ Return non-nil if current entry contains an Org Babel source block. If ‘LANG’ is non-nil, match blocks of that language. If ‘REGEXPS’ @@ -714,6 +715,8 @@ File: README.info, Node: 04-pre, Next: 032, Up: Changelog (alias olps). • Predicate ‘src’, which matches Org Babel source blocks. • Alias h for heading predicate. + • Alias r for regexp predicate. (Thanks to Feng Shu + (https://github.com/tumashu).) • Info manual. • Function ‘helm-org-ql-source’, which returns a Helm source that searches given buffers/files with ‘helm-org-ql’. It can be used @@ -1012,24 +1015,24 @@ Node: org-ql-sparse-tree6951 Node: Queries7751 Node: Non-sexp query syntax8593 Node: Predicates10292 -Node: Date/time predicates15430 -Node: Functions / Macros18065 -Node: Agenda-like views18252 -Node: Listing / acting-on results19657 -Node: Changelog24259 -Node: 04-pre24796 -Node: 03226384 -Node: 03126765 -Node: 0326960 -Node: 02329933 -Node: 02230159 -Node: 02130425 -Node: 0230622 -Node: 0134655 -Node: Notes34754 -Node: Comparison with Org Agenda searches34916 -Node: org-sidebar35787 -Node: License36066 +Node: Date/time predicates15454 +Node: Functions / Macros18089 +Node: Agenda-like views18276 +Node: Listing / acting-on results19681 +Node: Changelog24283 +Node: 04-pre24820 +Node: 03226512 +Node: 03126893 +Node: 0327088 +Node: 02330061 +Node: 02230287 +Node: 02130553 +Node: 0230750 +Node: 0134783 +Node: Notes34882 +Node: Comparison with Org Agenda searches35044 +Node: org-sidebar35915 +Node: License36194  End Tag Table From 091a732a8876b4a4bf2d18cc5b19d196a2571149 Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Sat, 21 Dec 2019 16:28:51 -0600 Subject: [PATCH 090/615] Fix: (--value-at) On cache miss, return nil when function does Previously, on a cache miss, if FN returned nil, the sentinel would be returned instead of nil. Closes #78. Thanks to Josh Moller-Mara (@mm--) for reporting. --- org-ql.el | 63 ++++++++++++++++++++++---------------------- tests/test-org-ql.el | 13 ++++++++- 2 files changed, 44 insertions(+), 32 deletions(-) diff --git a/org-ql.el b/org-ql.el index 1f39d3f..22e3708 100644 --- a/org-ql.el +++ b/org-ql.el @@ -447,37 +447,38 @@ Values compared with `equal'." ;; I'd like to use `-if-let*', but it doesn't leave non-nil variables ;; bound in the else clause, so destructured variables that are non-nil, ;; like found caches, are not available in the else clause. - (if-let* ((buffer-cache (gethash (current-buffer) org-ql-node-value-cache)) - (modified-tick (car buffer-cache)) - (position-cache (cdr buffer-cache)) - (buffer-unmodified-p (eq (buffer-modified-tick) modified-tick)) - (value-cache (gethash position position-cache)) - (cached-value (alist-get fn value-cache nil nil #'equal))) - ;; Found in cache: return it. - (pcase cached-value - ('org-ql-nil nil) - (_ cached-value)) - ;; Not found in cache: get value and cache it. - (let ((new-value (or (funcall fn) 'org-ql-nil))) - ;; Check caches again, because it may have been set now, e.g. by - ;; recursively going up an outline tree. - ;; TODO: Is there a clever way we could avoid doing this, or is it inherently necessary? - (setf buffer-cache (gethash (current-buffer) org-ql-node-value-cache) - modified-tick (car buffer-cache) - position-cache (cdr buffer-cache) - value-cache (when position-cache - (gethash position position-cache)) - buffer-unmodified-p (eq (buffer-modified-tick) modified-tick)) - (unless (and buffer-cache buffer-unmodified-p) - ;; Buffer-local node cache empty or invalid: make new one. - (setf position-cache (make-hash-table) - value-cache (gethash position position-cache)) - (puthash (current-buffer) - (cons (buffer-modified-tick) position-cache) - org-ql-node-value-cache)) - (map-put value-cache fn new-value) - (puthash position value-cache position-cache) - new-value))) + (pcase (if-let* ((buffer-cache (gethash (current-buffer) org-ql-node-value-cache)) + (modified-tick (car buffer-cache)) + (position-cache (cdr buffer-cache)) + (buffer-unmodified-p (eq (buffer-modified-tick) modified-tick)) + (value-cache (gethash position position-cache)) + (cached-value (alist-get fn value-cache nil nil #'equal))) + ;; Found in cache: return it. + cached-value + ;; Not found in cache: call FN, cache and return its value. + (let ((new-value (or (funcall fn) 'org-ql-nil))) + ;; Check caches again, because it may have been set now, e.g. by + ;; recursively going up an outline tree. + ;; TODO: Is there a clever way we could avoid doing this, or is it inherently necessary? + (setf buffer-cache (gethash (current-buffer) org-ql-node-value-cache) + modified-tick (car buffer-cache) + position-cache (cdr buffer-cache) + value-cache (when position-cache + (gethash position position-cache)) + buffer-unmodified-p (eq (buffer-modified-tick) modified-tick)) + (unless (and buffer-cache buffer-unmodified-p) + ;; Buffer-local node cache empty or invalid: make new one. + (setf position-cache (make-hash-table) + value-cache (gethash position position-cache)) + (puthash (current-buffer) + (cons (buffer-modified-tick) position-cache) + org-ql-node-value-cache)) + (map-put value-cache fn new-value) + (puthash position value-cache position-cache) + new-value)) + ;; Return nil or the non-nil value. + ('org-ql-nil nil) + (else else))) (defun org-ql--add-markers (element) "Return ELEMENT with Org marker text properties added. diff --git a/tests/test-org-ql.el b/tests/test-org-ql.el index ea6ab8a..60a2cb1 100644 --- a/tests/test-org-ql.el +++ b/tests/test-org-ql.el @@ -143,6 +143,7 @@ RESULTS should be a list of strings as returned by sum 1))))) (describe "Caching" + (it "Clears value cache after buffer changes" ;; See . (with-temp-buffer @@ -159,7 +160,17 @@ RESULTS should be a list of strings as returned by (goto-char (point-min)) (org-ql--value-at (point-min) #'point) (expect (org-ql--value-at (point-min) #'org-get-heading) - :to-equal "Heading 2")))) + :to-equal "Heading 2"))) + + (it "Returns nil when cache misses and function returns nil" + ;; See . + (with-temp-buffer + (org-mode) + (insert "* Heading 1") + ;; FIXME: `--value-at' does not actually move point, so we do it here. + (goto-char (point-min)) + (expect (org-ql--value-at (point-min) #'org-get-local-tags) + :to-be nil)))) (describe "Query functions/macros" From c238ebcc97ee1b47c46833dd06332f22dd43bc9a Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Sun, 29 Dec 2019 17:37:15 -0600 Subject: [PATCH 091/615] Add: org-ql-view--format-query Used to e.g. make timestamp objects in query human readable for display in view headers. --- org-ql-view.el | 21 +++++++++++++++++---- 1 file changed, 17 insertions(+), 4 deletions(-) diff --git a/org-ql-view.el b/org-ql-view.el index e7f0329..0309a91 100644 --- a/org-ql-view.el +++ b/org-ql-view.el @@ -43,6 +43,7 @@ (require 's) (require 'org-super-agenda) (require 'ov) +(require 'ts) ;;;; Compatibility @@ -389,10 +390,10 @@ subsequent refreshing of the buffer: `org-ql-view-buffers-files', (concat (propertize "View:" 'face 'org-agenda-structure) title " ") "")) - (query-formatted (format "%S" query)) - (query-formatted (propertize (org-ql-view--font-lock-string 'emacs-lisp-mode query-formatted) - 'help-echo query-formatted)) + (query-formatted (org-ql-view--format-query query)) (query-width (length query-formatted)) + (query-propertized (propertize (org-ql-view--font-lock-string 'emacs-lisp-mode query-formatted) + 'help-echo query-formatted)) (available-width (max 0 (- (window-width) (length "In: ") (length "Query: ") @@ -404,10 +405,22 @@ subsequent refreshing of the buffer: `org-ql-view-buffers-files', 'help-echo buffers-files-formatted))) (concat title (propertize "Query:" 'face 'org-agenda-structure) - query-formatted " " + query-propertized " " (propertize "In:" 'face 'org-agenda-structure) buffers-files-formatted))) +(defun org-ql-view--format-query (query) + "Return QUERY formatted as a string. +Makes QUERY more readable, e.g. timestamp objects are replaced +with human-readable strings." + (cl-labels ((rec (form) + (cl-typecase form + (ts (ts-format form)) + (cons (cons (rec (car form)) + (rec (cdr form)))) + (otherwise form)))) + (format "%S" (rec query)))) + (defun org-ql-view--font-lock-string (mode s) "Return string S font-locked according to MODE." ;; FIXME: Is this the proper way to do this? It works, but I feel like there must be a built-in way... From 501ab1543b596187565c12b401fa3528c46c73c2 Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Mon, 30 Dec 2019 22:45:31 -0600 Subject: [PATCH 092/615] Notes: Add overlay-based cache idea --- notes.org | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/notes.org b/notes.org index ba8a203..8470360 100644 --- a/notes.org +++ b/notes.org @@ -586,6 +586,10 @@ This works okay (except the priority accessor needs to be fixed, because Org pri :action #'helm-org-goto-marker)))) #+END_SRC +** MAYBE Overlay-based caching inspired by org-num-mode + +[2019-12-30 Mon 22:42] Newer versions of Org have =org-num-mode=, which uses =font-lock= and =after-change-functions= to update overlays in the buffer with outline numbering. Maybe a similar approach could be used to cache arbitrary values for headings in a buffer without having to discard the whole buffer's cache when the buffer changes. + ** MAYBE [#C] Fancier searching for inherited tags When tag inheritance is enabled, and the given tags aren't file-level tags, we could search directly to headings containing the matching tags, and then only do per-heading matching on the subtrees. Sometimes that would be much faster. However, that might make the logic special-cased and complicated. Might need a redesign of the whole matching/predicate system to do cleanly. From a513f25b4ae5c1fe8f08e7f9a128b899da637dca Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Tue, 31 Dec 2019 21:13:50 -0600 Subject: [PATCH 093/615] Tests: Declare buttercup dependency Used in makem.sh to parse test dependencies. --- tests/test-org-ql.el | 3 +++ 1 file changed, 3 insertions(+) diff --git a/tests/test-org-ql.el b/tests/test-org-ql.el index 60a2cb1..55ff334 100644 --- a/tests/test-org-ql.el +++ b/tests/test-org-ql.el @@ -3,6 +3,7 @@ ;; Copyright (C) 2019 Adam Porter ;; Author: Adam Porter +;; Package-Requires: ((buttercup)) ;; This program is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by @@ -66,6 +67,8 @@ (defun org-ql-test--format-result--query-preamble (sexp) (-let* (((query preamble) (eval sexp)) (preamble (when preamble + ;; NOTE: `xr' is used here, but this function is only called by + ;; interactive helper commands in this file, not when running tests. (xr preamble 'brief)))) (format "`(%S ,(rx %S))" query preamble))) From 6a97f1d95a6963df5d064739955aa5909b7b7255 Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Tue, 31 Dec 2019 21:14:51 -0600 Subject: [PATCH 094/615] Meta: Update makem,sh, Makefile --- Makefile | 16 +++++++- makem.sh | 116 +++++++++++++++++++++++++++++++++++++++++++++++++------ 2 files changed, 118 insertions(+), 14 deletions(-) diff --git a/Makefile b/Makefile index 9be2568..2c1de7a 100644 --- a/Makefile +++ b/Makefile @@ -1,4 +1,16 @@ -# * Verbosity +# * Arguments + +# For consistency, we use only var=val options, not hyphen-prefixed options. + +ifdef autoinstall + AUTOINSTALL = "--auto-install" +endif + +ifdef sandbox + SANDBOX = "--sandbox" +endif + +# ** Verbosity # Since the "-v" in "make -v" gets intercepted by Make itself, we have # to use a variable. @@ -14,4 +26,4 @@ endif # * Rules %: - @./makem.sh $(VERBOSE) $(@) + @./makem.sh $(VERBOSE) $(SANDBOX) $(AUTOINSTALL) $(@) diff --git a/makem.sh b/makem.sh index 67a92db..d4ea826 100755 --- a/makem.sh +++ b/makem.sh @@ -2,8 +2,32 @@ # * makem.sh --- Script to aid building and testing Emacs Lisp packages +# https://github.com/alphapapa/makem.sh + # * Commentary: +# makem.sh is a script helps to build, lint, and test Emacs Lisp +# packages. It aims to make linting and testing as simple as possible +# without requiring per-package configuration. + +# It works similarly to a Makefile in that "rules" are called to +# perform actions such as byte-compiling, linting, testing, etc. + +# Source and test files are discovered automatically from the +# project's Git repo, and package dependencies within them are parsed +# automatically. + +# Output is simple: by default, there is no output unless errors +# occur. With increasing verbosity levels, more detail gives positive +# feedback. Output is colored by default to make reading easy. + +# When desired, emacs-sandbox.sh can be used as a backend, which +# allows package dependencies to be installed automatically into a +# clean Emacs "sandbox" configuration without affecting the +# developer's personal configuration. This is especially helpful when +# upstream dependencies may have released new versions that differ +# from those installed in the developer's personal configuration. See +# . # * License: @@ -145,21 +169,21 @@ EOF # ** Emacs function run_emacs { - debug "run_emacs: emacs -Q --batch --load=$package_initialize_file -L \"$load_path\" $@" + debug "run_emacs: $emacs_command -Q --batch --load=$package_initialize_file -L \"$load_path\" $@" if [[ $debug_load_path ]] then - debug $(emacs -Q --batch \ - --load=$package_initialize_file \ - -L "$load_path" \ - --eval "(message \"LOAD-PATH: %s\" load-path)" \ - 2>&1) + debug $($emacs_command -Q --batch \ + --load=$package_initialize_file \ + -L "$load_path" \ + --eval "(message \"LOAD-PATH: %s\" load-path)" \ + 2>&1) fi output_file=$(mktemp) - emacs -Q --batch \ - --load=$package_initialize_file \ - -L "$load_path" \ - "$@" \ + $emacs_command -Q --batch \ + --load=$package_initialize_file \ + -L "$load_path" \ + "$@" \ &>$output_file exit=$? @@ -224,6 +248,15 @@ function files_args { done } +function dependencies { + # Echo list of package dependencies. + egrep '^;; Package-Requires: ' $(project-source-files) $(project-test-files) \ + | egrep -o '\([^([:space:]][^)]*\)' \ + | egrep -o '^[^[:space:])]+' \ + | sed -r 's/\(//g' \ + | egrep -v '^emacs$' # Ignore Emacs version requirement. +} + # ** Utility function cleanup { @@ -329,7 +362,6 @@ Options: -d, --debug Print debug info. -h, --help I need somebody! -v, --verbose Increase verbosity, up to -vv. - --debug-load-path Print load-path. -f FILE, --file FILE Check FILE in addition to discovered files. @@ -337,8 +369,19 @@ Options: --no-color Disable color output. -C, --no-compile Don't compile files automatically. +Sandbox options: + These require emacs-sandbox.sh to be on your PATH. Find it at + . + + --sandbox Run Emacs with emacs-sandbox.sh. + --auto-install Automatically install package dependencies. + -i, --install PACKAGE Install PACKAGE before running rules. + Source files are automatically discovered from git, or may be specified with options. + +Package dependencies are discovered from "Package-Requires" headers in +source files. EOF } @@ -444,6 +487,8 @@ function test-ert { # * Defaults +emacs_command="emacs" + # TODO: Disable color if not outputting to a terminal. color=true errors=0 @@ -474,12 +519,15 @@ COLOR_white='\e[0;37m' # * Args -args=$(getopt -n "$0" -o dhvf:C -l debug,debug-load-path,help,verbose,file:,no-color,no-compile -- "$@") || { usage; exit 1; } +args=$(getopt -n "$0" -o dhi:svf:C -l auto-install,debug,debug-load-path,help,install:,verbose,file:,no-color,no-compile,sandbox -- "$@") || { usage; exit 1; } eval set -- "$args" while true do case "$1" in + --auto-install) + auto_install=true + ;; -d|--debug) debug=true verbose=2 @@ -491,6 +539,13 @@ do usage exit ;; + -i|--install) + shift + sandbox_install_packages_args+=(--install "$1") + ;; + -s|--sandbox) + sandbox=true + ;; -v|--verbose) ((verbose++)) ;; @@ -523,6 +578,43 @@ debug "Remaining args: ${rest[@]}" trap cleanup EXIT INT TERM +if [[ $sandbox ]] +then + # Setup sandbox. + config_dir=$(mktemp -d) || die "Unable to make temp dir." + temp_paths+=("$config_dir") + + sandbox_basic_args=( + -d "$config_dir" + ) + [[ $debug ]] && sandbox_basic_args+=(--debug) + + if [[ $auto_install ]] + then + deps=($(dependencies)) + debug "Installing dependencies: ${deps[@]}" + + for package in "${deps[@]}" + do + sandbox_install_packages_args+=(--install $package) + done + fi + + # Initialize the sandbox (installs packages once rather than for + # every rule. + emacs_command="emacs-sandbox.sh ${sandbox_basic_args[@]} ${sandbox_install_packages_args[@]} -- " + debug "Initializing sandbox..." + + run_emacs || die "Unable to initialize sandbox." + + # After the sandbox is initialized and packages are installed, set + # the command to prevent the package lists from being refreshed on + # each invocation. + emacs_command="emacs-sandbox.sh ${sandbox_basic_args[@]} --no-refresh-packages -- " + + debug "Sandbox initialized." +fi + if ! [[ ${project_source_files[@]} ]] then error "No files specified and not in a git repo." From b7e146862d34bdfc0cbfee8d4b140244f02e679d Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Tue, 31 Dec 2019 21:16:45 -0600 Subject: [PATCH 095/615] Meta: Add pre-push hook to repo This doesn't cause it to be run, of course, but it can be symlinked into place by the user. Better to commit it than to lose it by accident sometime. --- hooks/pre-push | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100755 hooks/pre-push diff --git a/hooks/pre-push b/hooks/pre-push new file mode 100755 index 0000000..34976fa --- /dev/null +++ b/hooks/pre-push @@ -0,0 +1,17 @@ +#!/bin/sh + +# * Commit parameters +# Unused now, but good for future reference. See man 5 githooks. + +remote="$1" +url="$2" + +read local_ref local_sha remote_ref remote_sha + +# * Run tests + +# Not using sandbox and auto-install, because "git push" shouldn't +# cause remote code to be downloaded and executed (i.e. what would +# happen by installing packages). It can be done manually when needed. + +make test From e1c55b5568f62eae7a6ad499c82ba07595023754 Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Wed, 1 Jan 2020 02:37:25 -0600 Subject: [PATCH 096/615] Meta: Update makem.sh --- Makefile | 3 +++ makem.sh | 45 +++++++++++++++++++++++++++++++++------------ 2 files changed, 36 insertions(+), 12 deletions(-) diff --git a/Makefile b/Makefile index 2c1de7a..51969fe 100644 --- a/Makefile +++ b/Makefile @@ -25,5 +25,8 @@ endif # * Rules +# TODO: Handle cases in which "test" or "tests" are called and a +# directory by that name exists, which can confuse Make. + %: @./makem.sh $(VERBOSE) $(SANDBOX) $(AUTOINSTALL) $(@) diff --git a/makem.sh b/makem.sh index d4ea826..ab8baa9 100755 --- a/makem.sh +++ b/makem.sh @@ -248,6 +248,23 @@ function files_args { done } +function buttercup-tests-p { + # Return 0 if Buttercup tests are found. + debug "Checking for Buttercup tests..." + + grep "(require 'buttercup)" $(project-test-files) &>/dev/null +} + +function ert-tests-p { + # Return 0 if ERT tests are found. + debug "Checking for ERT tests..." + + # We check for this rather than "(require 'ert)", because ERT may + # already be loaded in Emacs and might not be loaded with + # "require" in a test file. + grep "(ert-deftest" $(project-test-files) &>/dev/null +} + function dependencies { # Echo list of package dependencies. egrep '^;; Package-Requires: ' $(project-source-files) $(project-test-files) \ @@ -451,12 +468,14 @@ function lint-package { } function tests { - # Run tests. + verbose 1 "Running all tests..." + test-ert test-buttercup } function test-buttercup { + buttercup-tests-p || return 0 compile || die verbose 1 "Running Buttercup tests..." @@ -473,6 +492,7 @@ function test-buttercup { } function test-ert { + ert-tests-p || return 0 compile || die verbose 1 "Running ERT tests..." @@ -578,9 +598,17 @@ debug "Remaining args: ${rest[@]}" trap cleanup EXIT INT TERM +if ! [[ ${project_source_files[@]} ]] +then + error "No files specified and not in a git repo." + exit 1 +fi + if [[ $sandbox ]] then # Setup sandbox. + type emacs-sandbox.sh &>/dev/null || die "emacs-sandbox.sh not found." + config_dir=$(mktemp -d) || die "Unable to make temp dir." temp_paths+=("$config_dir") @@ -600,27 +628,20 @@ then done fi - # Initialize the sandbox (installs packages once rather than for - # every rule. + # Initialize the sandbox (installs packages once rather than for every rule). emacs_command="emacs-sandbox.sh ${sandbox_basic_args[@]} ${sandbox_install_packages_args[@]} -- " debug "Initializing sandbox..." run_emacs || die "Unable to initialize sandbox." - # After the sandbox is initialized and packages are installed, set - # the command to prevent the package lists from being refreshed on - # each invocation. + # After the sandbox is initialized and packages are installed, set the command + # to prevent the package lists from being refreshed on each invocation. emacs_command="emacs-sandbox.sh ${sandbox_basic_args[@]} --no-refresh-packages -- " debug "Sandbox initialized." fi -if ! [[ ${project_source_files[@]} ]] -then - error "No files specified and not in a git repo." - exit 1 -fi - +# Run rules. for rule in "${rest[@]}" do if type "$rule" 2>/dev/null | grep "$rule is a function" &>/dev/null From 317b2ec1b7c0ac56e49599e6ab531dd79584f0eb Mon Sep 17 00:00:00 2001 From: Enis OEZGEN Date: Thu, 2 Jan 2020 14:34:12 +0100 Subject: [PATCH 097/615] Docs: Fix outdated example --- examples.org | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples.org b/examples.org index 830e77e..af84e17 100644 --- a/examples.org +++ b/examples.org @@ -68,7 +68,7 @@ Show entries that have any timestamp within the past week. Group by date using '(ts :from -7 :to today) :title "Recent Items" :sort '(date priority todo) - :groups '((:auto-ts t))) + :super-groups '((:auto-ts t))) #+END_SRC * Find entries matching a certain =CUSTOM_ID= From 6004ab98da7be4a7b6b8bdd26a6929da30992448 Mon Sep 17 00:00:00 2001 From: Yiming Chen Date: Wed, 1 Jan 2020 15:26:51 +0800 Subject: [PATCH 098/615] Fix: (view--add-todo-face) Bind org-done-keywords org-get-todo-face uses org-done-keywords, which is a buffer-local variable, so it may be nil in the context that org-ql-view--add-todo-face is called. See, e.g. org-agenda-highlight-todo, which does the same thing. Thanks to Yiming Chen (@dsdshcym). --- README.org | 1 + org-ql-view.el | 3 ++- org-ql.info | 26 ++++++++++++++------------ 3 files changed, 17 insertions(+), 13 deletions(-) diff --git a/README.org b/README.org index 0235712..b4db8a6 100644 --- a/README.org +++ b/README.org @@ -394,6 +394,7 @@ Expands into a call to ~org-ql-select~ with the same arguments. For convenience *Fixed* + Call =helm-make-source= directly instead of using =helm-build-sync-source= macro. (Fixes [[https://github.com/alphapapa/org-ql/issues/60][#60]]. Thanks to [[https://github.com/matthuszagh][Matt Huszagh]] for reporting.) + Search/view buffers now always end with a newline, which prevents side-scrolling of the window when calling =end-of-buffer=. ++ Face for done to-do keywords in =org-ql-view= buffers. (Thanks to [[https://github.com/dsdshcym][Yiming Chen]].) *Internal* + Added generic node data cache to speed up recursive, tree-based queries. diff --git a/org-ql-view.el b/org-ql-view.el index 0309a91..ae7478a 100644 --- a/org-ql-view.el +++ b/org-ql-view.el @@ -634,7 +634,8 @@ property." (defun org-ql-view--add-todo-face (keyword) "Return KEYWORD with TODO face added." - (when-let ((face (org-get-todo-face keyword))) + (when-let* ((org-done-keywords org-done-keywords-for-agenda) + (face (org-get-todo-face keyword))) (org-add-props keyword nil 'face face))) ;;;; Footer diff --git a/org-ql.info b/org-ql.info index 329057f..c11519c 100644 --- a/org-ql.info +++ b/org-ql.info @@ -729,6 +729,8 @@ File: README.info, Node: 04-pre, Next: 032, Up: Changelog Huszagh (https://github.com/matthuszagh) for reporting.) • Search/view buffers now always end with a newline, which prevents side-scrolling of the window when calling end-of-buffer. + • Face for done to-do keywords in org-ql-view buffers. (Thanks to + Yiming Chen (https://github.com/dsdshcym).) *Internal* • Added generic node data cache to speed up recursive, tree-based @@ -1021,18 +1023,18 @@ Node: Agenda-like views18276 Node: Listing / acting-on results19681 Node: Changelog24283 Node: 04-pre24820 -Node: 03226512 -Node: 03126893 -Node: 0327088 -Node: 02330061 -Node: 02230287 -Node: 02130553 -Node: 0230750 -Node: 0134783 -Node: Notes34882 -Node: Comparison with Org Agenda searches35044 -Node: org-sidebar35915 -Node: License36194 +Node: 03226633 +Node: 03127014 +Node: 0327209 +Node: 02330182 +Node: 02230408 +Node: 02130674 +Node: 0230871 +Node: 0134904 +Node: Notes35003 +Node: Comparison with Org Agenda searches35165 +Node: org-sidebar36036 +Node: License36315  End Tag Table From b1d9fcf27454d6ddeabab3f660008f4e069404cc Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Fri, 3 Jan 2020 03:51:50 -0600 Subject: [PATCH 099/615] Meta: Update Makefile, makem.sh --- Makefile | 19 +++++- makem.sh | 185 ++++++++++++++++++++++++++++++------------------------- 2 files changed, 116 insertions(+), 88 deletions(-) diff --git a/Makefile b/Makefile index 51969fe..5000738 100644 --- a/Makefile +++ b/Makefile @@ -2,14 +2,27 @@ # For consistency, we use only var=val options, not hyphen-prefixed options. -ifdef autoinstall - AUTOINSTALL = "--auto-install" +# NOTE: I don't like duplicating the arguments here and in makem.sh, +# but I haven't been able to find a way to pass arguments which +# conflict with Make's own arguments through Make to the script. +# Using -- doesn't seem to do it. + +ifdef auto-install + AUTO_INSTALL = "--auto-install" endif ifdef sandbox SANDBOX = "--sandbox" endif +ifdef sandbox-dir + SANDBOX_DIR = "--sandbox-dir" "$(sandbox-dir)" +endif + +ifdef debug + DEBUG = "--debug" +endif + # ** Verbosity # Since the "-v" in "make -v" gets intercepted by Make itself, we have @@ -29,4 +42,4 @@ endif # directory by that name exists, which can confuse Make. %: - @./makem.sh $(VERBOSE) $(SANDBOX) $(AUTOINSTALL) $(@) + @./makem.sh $(DEBUG) $(VERBOSE) $(SANDBOX) $(SANDBOX_DIR) $(AUTO_INSTALL) $(@) diff --git a/makem.sh b/makem.sh index ab8baa9..d63285c 100755 --- a/makem.sh +++ b/makem.sh @@ -44,63 +44,9 @@ # You should have received a copy of the GNU General Public License # along with this program. If not, see . -# * Safety +# * Functions -# NOTE: These are disabled by default in this template but should be -# enabled when feasible. Documentation is from the Bash man page. - -# ** errexit - -# Exit immediately if a pipeline (which may consist of a single simple -# command), a list, or a compound command (see SHELL GRAMMAR above), -# exits with a non-zero status. The shell does not exit if the -# command that fails is part of the command list immediately following -# a while or until keyword, part of the test following the if or elif -# reserved words, part of any command executed in a && or || list -# except the command follow‐ ing the final && or ||, any command in a -# pipeline but the last, or if the command's return value is being -# inverted with !. If a compound command other than a subshell -# returns a non-zero status because a command failed while -e was -# being ignored, the shell does not exit. A trap on ERR, if set, is -# executed before the shell exits. This option applies to the shell -# environment and each subshell environment separately (see COMMAND -# EXECUTION ENVIRONMENT above), and may cause subshells to exit before -# executing all the commands in the subshell. - -# If a compound command or shell function executes in a context where -# -e is being ignored, none of the commands executed within the -# compound command or function body will be affected by the -e -# setting, even if -e is set and a command returns a failure status. -# If a compound command or shell function sets -e while executing in a -# context where -e is ignored, that setting will not have any effect -# until the compound command or the command containing the function -# call completes. - -# set -o errexit - -# ** nounset - -# Treat unset variables and parameters other than the special -# parameters "@" and "*" as an error when performing parameter -# expansion. If expansion is attempted on an unset variable or -# parameter, the shell prints an error message, and, if not -# interactive, exits with a non-zero status. - -# NOTE: When this is not enabled, individual variables can be required -# to be set by using "${var:?}" parameter expansion syntax. - -# set -o nounset - -# ** pipefail - -# If set, the return value of a pipeline is the value of the last -# (rightmost) command to exit with a non-zero status, or zero if all -# commands in the pipeline exit successfully. This option is disabled -# by default. - -# set -o pipefail - -# * Elisp +# ** Elisp # These functions return a path to an elisp file which can be loaded # by Emacs on the command line with -l or --load. @@ -164,8 +110,6 @@ EOF echo $file } -# * Functions - # ** Emacs function run_emacs { @@ -219,17 +163,27 @@ function project-elisp-files { function project-source-files { # Echo list of Elisp files that are not tests. - project-elisp-files | egrep -v '^tests?/test-?' + project-elisp-files | egrep -v "$test_files_regexp" | feature-files } function project-test-files { # Echo list of Elisp test files. - project-elisp-files | egrep '^tests?/test-?' + project-elisp-files | egrep "$test_files_regexp" } function exclude-files { # Filter out paths (STDIN) which should be excluded by default. - egrep -v "(/\.cask/|-autoloads.el)" + egrep -v "(/\.cask/|-autoloads.el|.dir-locals)" +} + +function feature-files { + # Read paths on STDIN and echo ones that (provide 'a-feature). + while read path + do + debug "PATH: $path" + egrep "^\\(provide '" "$path" &>/dev/null \ + && echo "$path" + done } function load-files-args { @@ -248,30 +202,46 @@ function files_args { done } +function test-files-p { + # Return 0 if $project_test_files is non-empty. + [[ "${project_test_files[@]}" ]] +} + function buttercup-tests-p { # Return 0 if Buttercup tests are found. + test-files-p || die "No tests found." debug "Checking for Buttercup tests..." - grep "(require 'buttercup)" $(project-test-files) &>/dev/null + grep "(require 'buttercup)" "${project_test_files[@]}" &>/dev/null } function ert-tests-p { # Return 0 if ERT tests are found. + test-files-p || die "No tests found." debug "Checking for ERT tests..." # We check for this rather than "(require 'ert)", because ERT may # already be loaded in Emacs and might not be loaded with # "require" in a test file. - grep "(ert-deftest" $(project-test-files) &>/dev/null + grep "(ert-deftest" "${project_test_files[@]}" &>/dev/null } function dependencies { # Echo list of package dependencies. + + # Search package headers. egrep '^;; Package-Requires: ' $(project-source-files) $(project-test-files) \ | egrep -o '\([^([:space:]][^)]*\)' \ | egrep -o '^[^[:space:])]+' \ | sed -r 's/\(//g' \ | egrep -v '^emacs$' # Ignore Emacs version requirement. + + # Search Cask file. + if [[ -r Cask ]] + then + egrep '\(depends-on "[^"]+"' Cask \ + | sed -r -e 's/\(depends-on "([^"]+)".*/\1/g' + fi } # ** Utility @@ -390,7 +360,10 @@ Sandbox options: These require emacs-sandbox.sh to be on your PATH. Find it at . - --sandbox Run Emacs with emacs-sandbox.sh. + -s, --sandbox Run Emacs with emacs-sandbox.sh in a temporary + directory (removing directory on exit). + -S, --sandbox-dir DIR Use DIR for the sandbox directory (leaving it + on exit). Implies -s. --auto-install Automatically install package dependencies. -i, --install PACKAGE Install PACKAGE before running rules. @@ -398,7 +371,7 @@ Source files are automatically discovered from git, or may be specified with options. Package dependencies are discovered from "Package-Requires" headers in -source files. +source files and from a Cask file. EOF } @@ -507,24 +480,38 @@ function test-ert { # * Defaults +test_files_regexp='^(tests?|t)/' emacs_command="emacs" - -# TODO: Disable color if not outputting to a terminal. -color=true errors=0 verbose=0 - compile=true + +# MAYBE: Disable color if not outputting to a terminal. (OTOH, the +# colorized output is helpful in CI logs, and I don't know if, +# e.g. GitHub Actions logging pretends to be a terminal.) +color=true + +# TODO: Using the current directory (i.e. a package's repo root directory) in +# load-path can cause weird errors in case of--you guessed it--stale .ELC files, +# the zombie problem that just won't die. It's incredible how many different ways +# this problem presents itself. In this latest example, an old .ELC file, for a +# .EL file that had since been renamed, was present on my local system, which meant +# that an example .EL file that hadn't been updated was able to "require" that .ELC +# file's feature without error. But on another system (in this case, trying to +# setup CI using GitHub Actions), the old .ELC was not present, so the example .EL +# file was not able to load the feature, which caused a byte-compilation error. + +# In this case, I will prevent such example files from being compiled. But in +# general, this can cause weird problems that are tedious to debug. I guess +# the best way to fix it would be to actually install the repo's code as a +# package into the sandbox, but doing that would require additional tooling, +# pulling in something like Quelpa or package-build--and if the default recipe +# weren't being used, the actual recipe would have to be fetched off MELPA or +# something, which seems like getting too smart for our own good. + +# TODO: Emit a warning if .ELC files that don't match any .EL files are detected. load_path="." -# TODO: Option to not byte-compile test files. -project_byte_compile_files=($(project-elisp-files)) -project_source_files=($(project-source-files)) -project_test_files=($(project-test-files)) - -package_initialize_file="$(elisp-package-initialize-file)" -temp_paths+=("$package_initialize_file") - # ** Colors COLOR_off='\e[0m' @@ -537,9 +524,24 @@ COLOR_purple='\e[0;35m' COLOR_cyan='\e[0;36m' COLOR_white='\e[0;37m' +# * Project files + +# MAYBE: Option to not byte-compile test files. (OTOH, byte-compiling reveals many +# errors that would otherwise go unnoticed, so it's worth it to fix the warnings.) +project_source_files=($(project-source-files)) +project_test_files=($(project-test-files)) +project_byte_compile_files=("${project_source_files[@]}" "${project_test_files[@]}") + +package_initialize_file="$(elisp-package-initialize-file)" +temp_paths+=("$package_initialize_file") + # * Args -args=$(getopt -n "$0" -o dhi:svf:C -l auto-install,debug,debug-load-path,help,install:,verbose,file:,no-color,no-compile,sandbox -- "$@") || { usage; exit 1; } +args=$(getopt -n "$0" \ + -o dhi:sS:vf:C \ + -l auto-install,debug,debug-load-path,help,install:,verbose,file:,no-color,no-compile,sandbox,sandbox-dir: \ + -- "$@") \ + || { usage; exit 1; } eval set -- "$args" while true @@ -566,6 +568,11 @@ do -s|--sandbox) sandbox=true ;; + -S|--sandbox-dir) + shift + sandbox=true + sandbox_dir="$1" + ;; -v|--verbose) ((verbose++)) ;; @@ -609,16 +616,21 @@ then # Setup sandbox. type emacs-sandbox.sh &>/dev/null || die "emacs-sandbox.sh not found." - config_dir=$(mktemp -d) || die "Unable to make temp dir." - temp_paths+=("$config_dir") + if ! [[ $sandbox_dir ]] + then + # No sandbox dir specified: make temp dir and remove it on exit. + sandbox_dir=$(mktemp -d) || die "Unable to make temp dir." + temp_paths+=("$sandbox_dir") + fi sandbox_basic_args=( - -d "$config_dir" + -d "$sandbox_dir" ) [[ $debug ]] && sandbox_basic_args+=(--debug) if [[ $auto_install ]] then + # Add dependencies to package install list. deps=($(dependencies)) debug "Installing dependencies: ${deps[@]}" @@ -628,11 +640,14 @@ then done fi - # Initialize the sandbox (installs packages once rather than for every rule). - emacs_command="emacs-sandbox.sh ${sandbox_basic_args[@]} ${sandbox_install_packages_args[@]} -- " - debug "Initializing sandbox..." + if [[ ${sandbox_install_packages_args[@]} ]] + then + # Initialize the sandbox (installs packages once rather than for every rule). + emacs_command="emacs-sandbox.sh ${sandbox_basic_args[@]} ${sandbox_install_packages_args[@]} -- " + debug "Initializing sandbox..." - run_emacs || die "Unable to initialize sandbox." + run_emacs || die "Unable to initialize sandbox." + fi # After the sandbox is initialized and packages are installed, set the command # to prevent the package lists from being refreshed on each invocation. From 3cc7ebe5b494fdff4f01778b94d337ed182bde38 Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Fri, 3 Jan 2020 03:57:05 -0600 Subject: [PATCH 100/615] Meta: Add CI using GitHub Actions Using test.yml from makem.sh repo. --- .github/workflows/test.yml | 72 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 72 insertions(+) create mode 100644 .github/workflows/test.yml diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml new file mode 100644 index 0000000..475ab9c --- /dev/null +++ b/.github/workflows/test.yml @@ -0,0 +1,72 @@ +# * test.yml --- Test Emacs packages using makem.sh on GitHub Actions + +# https://github.com/alphapapa/makem.sh + +# Based on Steve Purcell's examples at +# , +# . + +# * License: + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. + +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +# * Code: + +name: "CI" +on: + pull_request: + push: + # branches: + # - master + +jobs: + build: + runs-on: ubuntu-latest + strategy: + fail-fast: false + matrix: + emacs_version: + - 26.3 + - snapshot + steps: + - uses: purcell/setup-emacs@master + with: + version: ${{ matrix.emacs_version }} + + - uses: actions/checkout@v1 + + - name: Install sandbox script + run: | + curl -o $GITHUB_WORKSPACE/emacs-sandbox.sh \ + https://raw.githubusercontent.com/alphapapa/emacs-sandbox.sh/master/emacs-sandbox.sh + chmod +x $GITHUB_WORKSPACE/emacs-sandbox.sh + echo ::add-path::$GITHUB_WORKSPACE + echo ::set-env name=SANDBOX_DIR::$(mktemp -d) + + - name: Initialize sandbox + run: ./makem.sh -vv --sandbox-dir=$SANDBOX_DIR --auto-install --install package-lint + + # The "all" rule is not used, because it treats compilation warnings + # as failures, so linting and testing are run as separate steps. + + - name: Lint + run: ./makem.sh -vv --sandbox-dir=$SANDBOX_DIR lint + + - name: Test + if: always() # Run test even if linting fails. + run: ./makem.sh -vv --sandbox-dir=$SANDBOX_DIR test + +# Local Variables: +# eval: (outline-minor-mode) +# End: From 689a1970660c49d890635525f722c0288e5aab0f Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Fri, 3 Jan 2020 04:11:52 -0600 Subject: [PATCH 101/615] Meta: Update .gitignore --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index e5e85fc..28f3b16 100644 --- a/.gitignore +++ b/.gitignore @@ -2,3 +2,4 @@ .#* /scratch.el .cask +/sandbox/ From e9d5bca84205efa2b00957acd2c34eaa49b44a0c Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Fri, 3 Jan 2020 04:12:59 -0600 Subject: [PATCH 102/615] Comment: Add headings --- org-ql.el | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/org-ql.el b/org-ql.el index 22e3708..9d47132 100644 --- a/org-ql.el +++ b/org-ql.el @@ -784,10 +784,13 @@ replace the clause with a preamble." ;; Always check contents with predicate. element) + ;; Scheduled. (`(scheduled . ,_) (setq org-ql-preamble org-scheduled-time-regexp) ;; Return element, because the predicate still needs testing. element) + + ;; Tags. (`((or 'tags-local 'local-tags 'tags-l 'ltags) . ,tags) ;; When searching for local, non-inherited tags, we can ;; search directly to headings containing one of the tags. @@ -796,6 +799,8 @@ replace the clause with a preamble." t)) ;; Return nil, because we don't need to test the predicate. nil) + + ;; Timestamps. (`(ts . ,rest) (setq org-ql-preamble (pcase (plist-get rest :type) ((or 'nil 'both) org-tsr-regexp-both) From d28d54c58842f0d31e40e8d21337360c9c238ba0 Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Fri, 3 Jan 2020 05:40:06 -0600 Subject: [PATCH 103/615] Comment: Add/remove TODOs --- helm-org-ql.el | 12 ------------ org-ql.el | 1 + 2 files changed, 1 insertion(+), 12 deletions(-) diff --git a/helm-org-ql.el b/helm-org-ql.el index 821ea62..9e231a9 100644 --- a/helm-org-ql.el +++ b/helm-org-ql.el @@ -195,18 +195,6 @@ Is transformed into this query: (setq helm-org-ql-buffers-files buffers-files)) (ignore-errors ;; Ignore errors that might be caused by partially typed queries. - - ;; FIXME: This doesn't prevent warnings that are errors occurring during - ;; byte-compilation due to partially typed values which can't be correctly - ;; pre-processed, e.g. "ts:to=2019-01-0", which can't be parsed into a - ;; timestamp. A "*Compile-Log*" buffer is displayed with "Error: Wrong type - ;; argument: integerp, nil". With my Helm settings, it's hidden as soon as - ;; the query is typed correctly, so it's tolerable, but I'd prefer to fix it. - ;; I haven't found a way to ignore the error/warning; `with-no-warnings' has - ;; no effect, and we're already using `ignore-errors'. The only solution I - ;; can think of would be to ignore the errors/warnings higher up the chain - ;; where byte-compilation is actually done, but it might not be a good idea - ;; to always ignore such errors/warnings. (org-ql-select buffers-files query :action `(helm-org-ql--heading ,window-width)))))) :match #'identity diff --git a/org-ql.el b/org-ql.el index 9d47132..3f6a3eb 100644 --- a/org-ql.el +++ b/org-ql.el @@ -442,6 +442,7 @@ Returns cons (INHERITED-TAGS . LOCAL-TAGS)." ;; TODO: Use --value-at for tags cache. (defun org-ql--value-at (position fn) + ;; TODO: Either rename to `value-at-point' and remove `position' arg, or move point. "Return FN's value at POSITION in current buffer. Values compared with `equal'." ;; I'd like to use `-if-let*', but it doesn't leave non-nil variables From 84b458d6fef24aff713c8624156a63cf93bd5fd4 Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Fri, 3 Jan 2020 05:43:19 -0600 Subject: [PATCH 104/615] Tidy: Move binding --- helm-org-ql.el | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/helm-org-ql.el b/helm-org-ql.el index 9e231a9..2e4ffb8 100644 --- a/helm-org-ql.el +++ b/helm-org-ql.el @@ -216,10 +216,10 @@ WINDOW-WIDTH should be the width of the Helm window." ;; call a setup function in a buffer before running queries. (let* ((prefix (concat (buffer-name) ":")) (width (- window-width (length prefix))) + (heading (org-get-heading t)) (path (-> (org-get-outline-path) (org-format-outline-path width nil "") (org-split-string ""))) - (heading (org-get-heading t)) (path (if helm-org-ql-reverse-paths (concat heading "\\" (s-join "\\" (nreverse path))) (concat (s-join "/" path) "/" heading)))) From fbff8720b0f30a1f869af5d26347236f35ee2157 Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Fri, 3 Jan 2020 05:47:00 -0600 Subject: [PATCH 105/615] Tidy: Habit preamble No need for rx-to-string, because it's static. --- org-ql.el | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/org-ql.el b/org-ql.el index 3f6a3eb..9f7d939 100644 --- a/org-ql.el +++ b/org-ql.el @@ -676,9 +676,7 @@ replace the clause with a preamble." ;; Return nil, don't test the predicate. nil) (`(habit) - ;; TODO: Move regexp to const. - (setq org-ql-preamble (rx-to-string `(seq bol (0+ space) ":STYLE:" (1+ space) - "habit" (0+ space) eol))) + (setq org-ql-preamble (rx bol (0+ space) ":STYLE:" (1+ space) "habit" (0+ space) eol)) nil) ;; Heading text. From 19833cbbecb5b38a46b202d1b8dc50c756a8337c Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Fri, 3 Jan 2020 06:57:54 -0600 Subject: [PATCH 106/615] Tidy: Docstrings --- org-ql-view.el | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/org-ql-view.el b/org-ql-view.el index ae7478a..08babe7 100644 --- a/org-ql-view.el +++ b/org-ql-view.el @@ -107,7 +107,7 @@ Based on `org-agenda-mode-map'.") (const :tag "Right" right))) (defcustom org-ql-view-no-other-window nil - "Whether `other-window' commands should cycle through the `org-ql-views' sidebar window. + "Whether `other-window' commands should cycle through `org-ql-views' sidebar. See info node `(elisp)Cyclic Window Ordering'." :type 'boolean) @@ -385,7 +385,8 @@ subsequent refreshing of the buffer: `org-ql-view-buffers-files', (goto-char (point-min)))))) (defun org-ql-view--header-line-format (buffers-files query &optional title) - "Return header-line-format for BUFFERS-FILES and QUERY." + "Return `header-line-format' for BUFFERS-FILES and QUERY. +If TITLE, prepend it to the header." (let* ((title (if title (concat (propertize "View:" 'face 'org-agenda-structure) title " ") From 997765f9ea6ff1695c56b80fd28f3cec134ae24e Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Fri, 3 Jan 2020 07:02:06 -0600 Subject: [PATCH 107/615] Tidy: Comment out unused form Removes a linter warning for now. --- tests/test-org-ql.el | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/tests/test-org-ql.el b/tests/test-org-ql.el index 55ff334..0b0a855 100644 --- a/tests/test-org-ql.el +++ b/tests/test-org-ql.el @@ -59,9 +59,11 @@ (defun org-ql-test--format-result--ql (sexp) (let* ((value (eval sexp)) - (prefix (if (and value (listp value)) - "'" - ""))) + ;; FIXME: Not sure why this is currently unused. Commenting out for now. + ;; (prefix (if (and value (listp value)) + ;; "'" + ;; "")) + ) (format "%S" value))) (defun org-ql-test--format-result--query-preamble (sexp) From fb830f8577bb6287d899948f696e33c96e877a40 Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Sat, 4 Jan 2020 01:45:57 -0600 Subject: [PATCH 108/615] Meta: (test.yml) Use checkout@v2 --- .github/workflows/test.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 475ab9c..b56b721 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -44,7 +44,7 @@ jobs: with: version: ${{ matrix.emacs_version }} - - uses: actions/checkout@v1 + - uses: actions/checkout@v2 - name: Install sandbox script run: | From 2af951593408538e5b8f1c9b753459e57b00192e Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Sat, 4 Jan 2020 08:32:41 -0600 Subject: [PATCH 109/615] Notes: Add about org-element cache --- notes.org | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/notes.org b/notes.org index 8470360..835389d 100644 --- a/notes.org +++ b/notes.org @@ -991,6 +991,10 @@ John + [[https://github.com/m00natic/cl-fdbq][GitHub - m00natic/cl-fdbq: SQL-like operations over fixed field DBs]] +** Nicolas Goaziou's =org-element= cache implementation + +[2020-01-04 Sat 08:31] https://code.orgmode.org/bzg/org-mode/src/master/lisp/org-element.el#L4817 I guess I haven't been keeping up, because I'm not sure when exactly he made or committed this, or what his plans for it are. It's currently disabled by default. + * Examples / testing #+BEGIN_SRC elisp From fa1e3354b696fdda5ce29850f20e538627783bb7 Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Sat, 4 Jan 2020 09:03:32 -0600 Subject: [PATCH 110/615] Notes: Add org-sql --- notes.org | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/notes.org b/notes.org index 835389d..97887dc 100644 --- a/notes.org +++ b/notes.org @@ -995,6 +995,10 @@ John [2020-01-04 Sat 08:31] https://code.orgmode.org/bzg/org-mode/src/master/lisp/org-element.el#L4817 I guess I haven't been keeping up, because I'm not sure when exactly he made or committed this, or what his plans for it are. It's currently disabled by default. +** [[https://github.com/ndwarshuis/org-sql][GitHub - ndwarshuis/org-sql: SQL backend for Emacs Org-Mode]] + +[2020-01-04 Sat 09:03] + * Examples / testing #+BEGIN_SRC elisp From 21c7dc15878f90eddee6375faf6b138d7784579c Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Tue, 7 Jan 2020 08:51:19 -0600 Subject: [PATCH 111/615] Notes: Add idea --- notes.org | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/notes.org b/notes.org index 97887dc..c091573 100644 --- a/notes.org +++ b/notes.org @@ -594,6 +594,10 @@ This works okay (except the priority accessor needs to be fixed, because Org pri When tag inheritance is enabled, and the given tags aren't file-level tags, we could search directly to headings containing the matching tags, and then only do per-heading matching on the subtrees. Sometimes that would be much faster. However, that might make the logic special-cased and complicated. Might need a redesign of the whole matching/predicate system to do cleanly. +** MAYBE Use Bovine or Wisent to parse non-sexp syntax + +They're both built-in to Emacs, so we could drop the =peg= dependency. + ** DONE [#A] Helm command In branch =wip/helm-org-ql=. Works really well, should add it and demonstrate it. From d2f7b06f3d4b86293bc51c31768bf96d77c6e185 Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Wed, 8 Jan 2020 06:48:11 -0600 Subject: [PATCH 112/615] Tests: Rename symbols, fix loading test data interactively --- tests/test-org-ql.el | 38 ++++++++++++++++++++------------------ 1 file changed, 20 insertions(+), 18 deletions(-) diff --git a/tests/test-org-ql.el b/tests/test-org-ql.el index 0b0a855..8fe0e8d 100644 --- a/tests/test-org-ql.el +++ b/tests/test-org-ql.el @@ -45,7 +45,7 @@ ('org-ql--pre-process-query t) (_ nil))) (result (pcase sexp - (`(org-ql-expect ,args) (org-ql-test--format-result--ql `(org-ql test-buffer + (`(org-ql-expect ,args) (org-ql-test--format-result--ql `(org-ql org-ql-test-buffer ,@args :action (org-ql-test-org-get-heading)))) (`(org-ql . _) (org-ql-test--format-result--ql sexp)) @@ -80,7 +80,7 @@ (if-let* ((sexp (elisp--preceding-sexp)) (sexp (pcase sexp (`(org-ql . ,_) (setf (car sexp) 'org-ql-agenda)) - (`(org-ql-expect ,ql-args . ,_) (setf sexp `(org-ql-select test-buffer + (`(org-ql-expect ,ql-args . ,_) (setf sexp `(org-ql-select org-ql-test-buffer ',@ql-args))) (_ nil)))) @@ -110,7 +110,7 @@ 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 test-buffer + `(expect (org-ql org-ql-test-buffer ,@ql-args :action (org-ql-test-org-get-heading)) :to-equal ,results)) @@ -138,14 +138,16 @@ RESULTS should be a list of strings as returned by ;; For Org 9.1.9. (substring-no-properties (org-get-heading t t t t)))) - (setq test-buffer (find-file-noselect (concat default-directory "tests/data.org")) + (setq org-ql-test-buffer (->> (locate-dominating-file default-directory ".git") + (expand-file-name "tests/data.org") + find-file-noselect) ;; For manual testing: - ;; test-buffer (find-file-noselect "data.org") - num-headings (with-current-buffer test-buffer - (org-with-wide-buffer - (goto-char (point-min)) - (cl-loop while (re-search-forward org-heading-regexp nil t) - sum 1))))) + ;; org-ql-test-buffer (find-file-noselect "data.org") + org-ql-test-num-headings (with-current-buffer org-ql-test-buffer + (org-with-wide-buffer + (goto-char (point-min)) + (cl-loop while (re-search-forward org-heading-regexp nil t) + sum 1))))) (describe "Caching" @@ -180,21 +182,21 @@ RESULTS should be a list of strings as returned by (describe "Query functions/macros" (it "org-ql" - (expect (length (org-ql test-buffer + (expect (length (org-ql org-ql-test-buffer (category) :sort deadline)) - :to-equal num-headings)) + :to-equal org-ql-test-num-headings)) (it "org-ql-select" - (expect (length (org-ql-select test-buffer + (expect (length (org-ql-select org-ql-test-buffer '(category) :sort 'deadline)) - :to-equal num-headings)) + :to-equal org-ql-test-num-headings)) (it "org-ql-query" (expect (length (org-ql-query :select 'element - :from test-buffer + :from org-ql-test-buffer :where '(category) :order-by 'date)) - :to-equal num-headings))) + :to-equal org-ql-test-num-headings))) (it "Query pre-processing" (expect (org-ql--pre-process-query '(and "string1" "string2")) @@ -330,9 +332,9 @@ RESULTS should be a list of strings as returned by (describe "(category)" (org-ql-it "without arguments" - (expect (length (org-ql test-buffer + (expect (length (org-ql org-ql-test-buffer (category))) - :to-equal num-headings)) + :to-equal org-ql-test-num-headings)) (org-ql-it "with a category" (org-ql-expect ((category "ambition")) From 2a7440b6398bc4af0fb65cddf299a6234365a8c3 Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Wed, 8 Jan 2020 08:59:11 -0600 Subject: [PATCH 113/615] Tests: Move non-test-data to notes.org --- notes.org | 440 ++++++++++++++++++++++++++++++++++++++ tests/data.org | 488 ++----------------------------------------- tests/test-org-ql.el | 82 ++++---- 3 files changed, 504 insertions(+), 506 deletions(-) diff --git a/notes.org b/notes.org index c091573..acc514b 100644 --- a/notes.org +++ b/notes.org @@ -2794,4 +2794,444 @@ Benchmark results: | cached | 6.51 | 0.519871 | 0 | 0 | | uncached | slowest | 3.386679 | 0 | 0 | +* Testing + +[2020-01-08 Wed 07:15] Subtree moved from =tests/data.org=. + +#+BEGIN_SRC elisp + (cl-defun ap/org-tweak-timestamps (&key (offset 0) epoch-ts) + "Advance all timestamps in the current buffer as if the earliest one was on today. + OFFSET changes which timestamp (in chronological order) is set to + today. Or, if EPOCH-TS is non-nil, use it as the new zero-point + for today." + (let* ((tss (->> (org-with-wide-buffer + (goto-char (point-min)) + (cl-loop while (re-search-forward org-ts-regexp-both nil t) + collect (ts-parse-org (match-string 0)))) + (-sort #'ts<))) + (epoch-ts (if epoch-ts + (ts-parse-org epoch-ts) + (nth offset tss))) + (difference-secs (ts-diff (ts-now) epoch-ts)) + (days (floor (/ difference-secs 86400)))) + (org-with-wide-buffer + (goto-char (point-min)) + (while (re-search-forward org-ts-regexp-both nil t) + (let* ((ts (ts-parse-org (match-string 0))) + (timed-p (string-match-p (rx (repeat 2 digit) ":" (repeat 2 digit) (or ">" "]")) (match-string 0))) + (type (cond ((string-prefix-p "<" (match-string 0)) 'active) + ((string-prefix-p "[" (match-string 0)) 'inactive) + (t (error "Unknown ts type")))) + (brackets (cl-ecase type + ('active (cons "<" ">")) + ('inactive (cons "[" "]")))) + (format-string (concat (car brackets) + (if timed-p + "%Y-%m-%d %a %H:%M" + "%Y-%m-%d %a") + (cdr brackets))) + (new-ts (ts-adjust 'day days ts)) + (new-ts-string (ts-format format-string new-ts))) + (replace-match new-ts-string t t nil 0)))) + (message "Tweaked from epoch: %s" (ts-format epoch-ts)))) +#+END_SRC + +#+BEGIN_SRC elisp +(org-time-string-to-absolute (org-entry-get (point) "SCHEDULED")) +#+END_SRC + + #+BEGIN_SRC elisp :results none + ;; Setup code + (require 'org-super-agenda) + (org-super-agenda-mode 1) + (require 'org-habit) + (setq org-todo-keywords + '((sequence "TODO(t!)" "TODAY(a!)" "NEXT(n!)" "STARTED(s!)" "IN-PROGRESS(p!)" "UNDERWAY(u!)" "WAITING(w@)" "SOMEDAY(o!)" "MAYBE(m!)" "|" "DONE(d@)" "CANCELED(c@)") + (sequence "CHECK(k!)" "|" "DONE(d@)") + (sequence "TO-READ(r!)" "READING(R!)" "|" "HAVE-READ(d@)") + (sequence "TO-WATCH(!)" "WATCHING(!)" "SEEN(!)"))) + (with-current-buffer "test.org" (revert-buffer)) + + (defmacro with-org-today-date (date &rest body) + "Run BODY with the `org-today' function set to return simply DATE. + DATE should be a date-time string (both date and time must be included)." + (declare (indent defun)) + `(let ((day (date-to-day ,date)) + (orig (symbol-function 'org-today))) + (unwind-protect + (progn + (fset 'org-today (lambda () day)) + ,@body) + (fset 'org-today orig)))) + #+END_SRC + +#+BEGIN_SRC elisp :results none + (defun diary-sunrise () + (let ((dss (diary-sunrise-sunset))) + (with-temp-buffer + (insert dss) + (goto-char (point-min)) + (search-forward ",") + (buffer-substring (point-min) (match-beginning 0))))) + + (defun diary-sunset () + (let ((dss (diary-sunrise-sunset)) + start end) + (with-temp-buffer + (insert dss) + (goto-char (point-min)) + (search-forward ", ") + (setq start (match-end 0)) + (search-forward " at") + (setq end (match-beginning 0)) + (goto-char start) + (capitalize-word 1) + (buffer-substring start end)))) +#+END_SRC + +*Note:* Removing tests from here as they're added to =test.el=. + + #+BEGIN_SRC elisp + + (org-super-agenda--test-with-org-today-date "2017-07-05 00:00" + (let ((org-agenda-files (list "~/src/emacs/org-super-agenda/test/test.org")) + (org-agenda-span 'day) + (org-super-agenda-groups + '((:name "Time grid items in all-uppercase with RosyBrown1 foreground" + :time-grid t + :transformer (--> it + (upcase it) + (propertize it 'face '(:foreground "RosyBrown1")))) + (:name "Priority >= C items underlined, on black background" + :face (:background "black" :underline t) + :not (:priority>= "C") + :order 100)))) + (org-agenda nil "a"))) + (org-super-agenda--test-with-org-today-date "2017-07-05 00:00" + (let ((org-agenda-files (list "~/src/emacs/org-super-agenda/test/test.org")) + (org-agenda-span 'day) + (org-super-agenda-groups + '((:name none + :time-grid t) + (:name "Should be all-uppercase RosyBrown1 on black" + :face (:background "black" :foreground "RosyBrown1") + :transformer #'upcase + :not (:priority>= "C") + :order 100)))) + (org-agenda nil "a"))) + + (with-org-today-date "2017-07-05 00:00" + (let ((org-agenda-files (list "~/src/org-super-agenda/test/test.org")) + (org-agenda-span 'day) + (org-super-agenda-groups + '((:name none + :time-grid t) + (:name none + :not (:priority>= "C") + :order 100)))) + (org-agenda nil "a"))) + + (with-org-today-date "2017-07-05 00:00" + (let ((org-agenda-files (list "~/src/org-super-agenda/test/test.org")) + (org-agenda-span 'day) + (org-super-agenda-groups + '((:name "Items with child TODOs" + :children todo)))) + (org-agenda nil "a"))) + + (with-org-today-date "2017-07-05 00:00" + (let ((org-agenda-files (list "~/src/org-super-agenda/test/test.org")) + (org-agenda-span 'day) + (org-super-agenda-groups + '((:name "Items with child TODOs" + :children "CHECK")))) + (org-agenda nil "a"))) + + (with-org-today-date "2017-07-05 00:00" + (let ((org-agenda-files (list "~/src/org-super-agenda/test/test.org")) + (org-agenda-span 'day) + (org-agenda-custom-commands + '(("u" "Super view" + ((agenda "" ((org-super-agenda-groups + '((:name "Today" + :time-grid t + :scheduled today + :deadline today))))) + (todo "" ((org-super-agenda-groups + '((:name "Projects" + :children t) + (:discard (:anything t))))))))))) + (org-agenda nil "u"))) + + (with-org-today-date "2017-07-05 00:00" + (let ((org-agenda-files (list "~/src/org-super-agenda/test/test.org")) + (org-agenda-span 'day) + (org-agenda-custom-commands + '(("u" "Super view" + ((agenda "" ((org-super-agenda-groups + '((:name "Today" + :time-grid today))))) + (todo "" ((org-super-agenda-groups + '((:name "Projects" + :children t) + (:discard (:anything t))))))))))) + (org-agenda nil "u"))) + + (with-org-today-date "2017-07-05 00:00" + (let ((org-agenda-files (list "~/src/org-super-agenda/test/test.org")) + (org-agenda-span 'day) + (org-agenda-custom-commands + '(("u" "Super view" + ((agenda "" ((org-super-agenda-groups + '((:name "Schedule" + :time-grid t + :date today) + (:name "Due today" + :deadline today) + (:name "Due soon" + :deadline t))))) + (todo "" ((org-agenda-overriding-header "") + (org-super-agenda-groups + '((:name "Projects" + :children t) + (:discard (:anything t))))))))))) + (org-agenda nil "u"))) + + (with-org-today-date "2017-07-05 00:00" + (let ((org-agenda-files (list "~/src/org-super-agenda/test/test.org")) + (org-agenda-span 'day) + (org-super-agenda-groups + '((:scheduled (before "2017-07-06"))))) + (org-agenda nil "a"))) +#+END_SRC + +#+BEGIN_SRC elisp + + (with-org-today-date "2017-07-05 00:00" + (let ((org-super-agenda-groups + '((:todo "WAITING"))) + (org-agenda-files (list "~/src/org-super-agenda/test/test.org"))) + (org-todo-list))) + + (with-org-today-date "2017-07-05 00:00" + (let ((org-super-agenda-groups + '((:todo "SOMEDAY"))) + (org-agenda-files (list "~/src/org-super-agenda/test/test.org"))) + (org-tags-view nil "Emacs"))) + + (with-org-today-date "2017-07-05 00:00" + (let ((org-super-agenda-groups + '((:todo "CHECK"))) + (org-agenda-files (list "~/src/org-super-agenda/test/test.org"))) +;; org-search-view doesn't seem to set the todo-state property, so the matcher doesn't work + (org-search-view nil "Emacs"))) + + (with-org-today-date "2017-07-05 00:00" + (let ((org-super-agenda-groups + '((:regexp ("moon" "mars")))) + (org-agenda-files (list "~/src/org-super-agenda/test/test.org"))) + (org-search-view nil "space"))) + + (with-org-today-date "2017-07-05 00:00" + (let ((org-super-agenda-groups + '((:todo "SOMEDAY"))) + (org-agenda-files (list "~/src/org-super-agenda/test/test.org"))) + (org-agenda-list nil nil 'day))) + +#+END_SRC + +** Agenda examining + +This helps a lot. + +#+BEGIN_SRC elisp + (defun data-debug-show-string-with-properties (s) + (with-current-buffer (get-buffer-create "argh") + (erase-buffer) + (print s (current-buffer)) + + ;; Convert string reader representations to plain lists that can be set + (cl-loop for (match replace) in '(("#(" "'(") + ("#<" "'(") + (">" ")")) + do (progn + (goto-char (point-min)) + (while (search-forward match nil 'noerror) + (replace-match replace 'fixedcase 'literal)))) + + ;; Surround content in a list which `argh' is set to, then eval + ;; the buffer to do it + (goto-char (point-min)) + (insert "(setq argh (list '") + (delete-forward-char 2) + (goto-char (point-max)) + (insert "))") + + ;; Okay, sure, eval'ing the buffer is dangerous and bad and wrong. + ;; But this is the only way I can find to make this work. (Maybe + ;; `text-properties-at' could be used to get actual lists...) + (eval-buffer) + + (data-debug-show-stuff argh "argh") + ;; (switch-to-buffer (current-buffer)) + )) + + (defun data-debug-show-current-line-with-properties () + (interactive) + (data-debug-show-string-with-properties (buffer-substring (line-beginning-position) (line-end-position)))) + + (with-current-buffer "*Org Agenda*" + (data-debug-show-string-with-properties (seq-subseq (split-string (buffer-string) "\n") + 0 5))) +#+END_SRC + +** Agenda censoring + +For sharing screenshots of the agenda without revealing private data. + +#+BEGIN_SRC elisp + (defun org-agenda-sharpie () + "Censor the text of items in the agenda." + (interactive) + (let (regexp old-heading new-heading properties) + ;; Save face properties of line in agenda to reapply to changed text + (setq properties (text-properties-at (point))) + + ;; Go to source buffer + (org-with-point-at (org-find-text-property-in-string 'org-marker + (buffer-substring (line-beginning-position) + (line-end-position))) + ;; Save old heading text and ask for new text + (line-beginning-position) + (unless (org-at-heading-p) + ;; Not sure if necessary + (org-back-to-heading)) + (setq old-heading (when (looking-at org-complex-heading-regexp) + (match-string 4)))) + (setq new-heading (read-from-minibuffer "Overwrite visible heading with: ")) + (add-text-properties 0 (length new-heading) properties new-heading) + ;; Back to agenda buffer + (save-excursion + (when (and old-heading new-heading) + ;; Replace agenda text + (let ((inhibit-read-only t)) + (goto-char (line-beginning-position)) + (when (search-forward old-heading (line-end-position)) + (replace-match new-heading 'fixedcase 'literal))))))) +#+END_SRC + +** Auto grouping + + +#+BEGIN_SRC elisp + (with-org-today-date "2017-07-05 00:00" + (let ((org-super-agenda-groups + '((:auto-group t))) + (org-agenda-files (list "~/src/org-super-agenda/test/test.org"))) + (org-agenda-list nil nil 'day))) +#+END_SRC + +** Auto categories + +#+BEGIN_SRC elisp + (let ((org-super-agenda-groups + '((:auto-category t)))) + (org-agenda-list nil nil 'day)) +#+END_SRC + +** Date + +#+BEGIN_SRC elisp + (with-org-today-date "2017-07-05 00:00" + (-let* ((org-agenda-files (list "~/src/org-super-agenda/test/test.org")) + (org-agenda-span 'day) + ((sec minute hour day month year dow dst utcoff) (list 0 0 0 5 7 2017 3 t nil)) + (last-day-of-month + ;; A hack that seems to work fine + (1+ (calendar-last-day-of-month month year))) + (target-date (format "%d-%02d-%02d" year month last-day-of-month)) + (org-super-agenda-groups + `((:deadline (before ,target-date)) + (:discard (:anything t))))) + (org-todo-list))) + + (with-org-today-date "2017-07-05 00:00" + (-let* ((org-agenda-files (list "~/src/org-super-agenda/test/test.org")) + (org-agenda-span 'day) + ((sec minute hour day month year dow dst utcoff) (list 0 0 0 5 7 2017 3 t nil)) + (last-day-of-month (calendar-last-day-of-month month year)) + (target-date (format "%d-%02d-%02d" year month last-day-of-month)) + (org-super-agenda-groups + `((:deadline (before ,target-date)) + (:discard (:anything t))))) + (org-todo-list))) +#+END_SRC + +** Effort + +#+BEGIN_SRC elisp + (with-org-today-date "2017-07-05 00:00" + (let ((org-agenda-files (list "~/src/org-super-agenda/test/test.org")) + (org-super-agenda-groups + '((:effort< "0:06")))) + (org-agenda-list nil nil 'day))) +#+END_SRC + +** Misc + +*** let-plist + +I don't need this right now, but it might come in handy here or elsewhere. + +#+BEGIN_SRC elisp + (defmacro osa/let-plist (keys plist &rest body) + "`cl-destructuring-bind' without the boilerplate for plists." + ;; See https://emacs.stackexchange.com/q/22542/3871 + + ;; I really don't understand why Emacs doesn't have this already. + ;; So many things come close to it: pcase, pcase-let, map-let, + ;; cl-destructuring-bind, -let...but none of them let you simply + ;; bind all the values of a plist to variables with the same name as + ;; their keys. You always have to type the name of the key twice. + + ;; For example, compare these two forms: + + ;; (-let (((&keys :from from :to to :date date :subject subject) email)) + ;; (list from to date subject)) + + ;; (osa/let-plist (:from :to :date :subject) email + ;; (list from to date subject)) + + ;; Now, sure, sometimes you need to bind values to differently named + ;; variables. But when you don't, I know which one I prefer. + (declare (indent defun)) + (setq keys (cl-loop for key in keys + collect (intern (replace-regexp-in-string (rx bol ":") "" + (symbol-name key))))) + `(cl-destructuring-bind + (&key ,@keys &allow-other-keys) + ,plist + ,@body)) +#+END_SRC + +** Profiling + +#+BEGIN_SRC elisp :results none + (defmacro profile-it (times &rest body) + `(let (output) + (dolist (p '("org-super-agenda-" "map" "org-" "string-" "s-" "buffer-" "append" "delq" "map" "list" "car" "save-" "outline-" "delete-dups" "sort" "line-" "nth" "concat" "char-to-string" "rx-" "goto-" "when" "search-" "re-")) + (elp-instrument-package p)) + (dotimes (x ,times) + ,@body) + (elp-results) + (elp-restore-all) + (point-min) + (forward-line 20) + (delete-region (point) (point-max)) + (setq output (buffer-substring-no-properties (point-min) (point-max))) + (kill-buffer) + (delete-window) + output)) +#+END_SRC + diff --git a/tests/data.org b/tests/data.org index 403ee91..1f618ca 100644 --- a/tests/data.org +++ b/tests/data.org @@ -1,38 +1,34 @@ #+TODO: TODO TODAY NEXT STARTED IN-PROGRESS UNDERWAY WAITING SOMEDAY MAYBE CHECK | DONE CANCELED -* Test data +# Will try to open the agenda view as if it was [2017-07-05 Wed] -Rather than using my personal agenda every time I want to take a screenshot, how about this. - -Will try to open the agenda view as if it was [2017-07-05 Wed] - -** TODO [#A] Take over the universe :universe:ambition: +* TODO [#A] Take over the universe :universe:ambition: DEADLINE: <2017-07-15 Sat -1m> :PROPERTIES: :agenda-group: plans :CATEGORY: ambition :END: -*** TODO [#A] Take over the world :world: +** TODO [#A] Take over the world :world: DEADLINE: <2017-07-07 Fri> I'd like to be finished with this before the weekend... -**** TODO [#A] Skype with president of Antarctica :world:meetings: +*** TODO [#A] Skype with president of Antarctica :world:meetings: SCHEDULED: <2017-07-04 Tue 21:00> Not sure what his timezone is... -*** TODO [#B] Take over Mars +** TODO [#B] Take over Mars -**** TODO Visit Mars :space:travel:planet: +*** TODO Visit Mars :space:travel:planet: DEADLINE: <2017-09-20 Wed -3m> Ah, the red planet... -*** TODO [#C] Take over the moon +** TODO [#C] Take over the moon -**** WAITING Visit the moon :space:travel: +*** WAITING Visit the moon :space:travel: DEADLINE: <2017-08-27 Sun -2m> :LOGBOOK: - State "WAITING" from [2017-07-24 Mon 19:01] @@ -40,16 +36,16 @@ DEADLINE: <2017-08-27 Sun -2m> Just waiting on that callback from NASA... -*** TODO Practice leaping tall buildings in a single bound :personal: +** TODO Practice leaping tall buildings in a single bound :personal: SCHEDULED: <2017-07-05 Wed +2d> :PROPERTIES: :STYLE: habit :END: -*** TODO [#B] Renew membership in supervillain club +** TODO [#B] Renew membership in supervillain club DEADLINE: <2017-07-10 Mon -1w> -*** DONE [#B] Learn universal sign language +** DONE [#B] Learn universal sign language CLOSED: [2017-07-05 Wed 03:02] :PROPERTIES: :ID: 729de245-75fa-43b4-845a-57af61109485 @@ -60,58 +56,58 @@ CLOSED: [2017-07-05 Wed 03:02] CLOCK: [2017-07-05 Wed 02:00]--[2017-07-05 Wed 03:02] => 1:02 :END: -** TODO Order a pizza :food:dinner: +* TODO Order a pizza :food:dinner: SCHEDULED: <2017-07-05 Wed 18:00> :PROPERTIES: :Effort: 5 :END: -** TODO [#C] Get haircut :personal:@town: +* TODO [#C] Get haircut :personal:@town: SCHEDULED: <2017-07-05 Wed> Should probably do this before I take over the world. Want to look my best. (Not that it will matter once I'm in charge.) -** TODO [#B] Internet :bills: +* TODO [#B] Internet :bills: DEADLINE: <2017-07-21 Fri -1m> -** TODO [#A] Spaceship lease :bills:spaceship: +* TODO [#A] Spaceship lease :bills:spaceship: DEADLINE: <2017-08-01 Tue -1m> :PROPERTIES: :agenda-group: bills :END: -** TODO [#B] Fix flux capacitor :spaceship:shopping:@computer: +* TODO [#B] Fix flux capacitor :spaceship:shopping:@computer: SCHEDULED: <2017-07-05 Wed> If I don't, the frobnicator will probably fall off halfway to Mars... Gotta buy one first, though. -** Recurring +* Recurring :PROPERTIES: :agenda-group: recurring :END: -*** CHECK /r/emacs :website:Emacs: +** CHECK /r/emacs :website:Emacs: DEADLINE: <2017-07-05 Wed +1w> -*** TODO Shop for groceries :food:shopping:@town: +** TODO Shop for groceries :food:shopping:@town: SCHEDULED: <2017-07-05 Wed +1w> :PROPERTIES: :Effort: 30 :END: -*** Sunrise/sunset +** Sunrise/sunset %%(org-super-agenda--test-diary-sunrise) %%(org-super-agenda--test-diary-sunset) -** Ideas +* Ideas :PROPERTIES: :CATEGORY: ideas :END: -*** SOMEDAY Rewrite Emacs in Common Lisp :Emacs:elisp:computers:software:programming: +** SOMEDAY Rewrite Emacs in Common Lisp :Emacs:elisp:computers:software:programming: SCHEDULED: <2017-07-05 Wed> :LOGBOOK: - State "SOMEDAY" from "MAYBE" [2017-07-24 Mon 18:59] @@ -120,447 +116,9 @@ SCHEDULED: <2017-07-05 Wed> I mean, since no one has ever tried doing it before... -*** SOMEDAY Write a symphony :music: +** SOMEDAY Write a symphony :music: :PROPERTIES: :agenda-group: plans :END: I don't know when I'll get to this, so it's undated. - -* Code - -#+BEGIN_SRC elisp - (cl-defun ap/org-tweak-timestamps (&key (offset 0) epoch-ts) - "Advance all timestamps in the current buffer as if the earliest one was on today. - OFFSET changes which timestamp (in chronological order) is set to - today. Or, if EPOCH-TS is non-nil, use it as the new zero-point - for today." - (let* ((tss (->> (org-with-wide-buffer - (goto-char (point-min)) - (cl-loop while (re-search-forward org-ts-regexp-both nil t) - collect (ts-parse-org (match-string 0)))) - (-sort #'ts<))) - (epoch-ts (if epoch-ts - (ts-parse-org epoch-ts) - (nth offset tss))) - (difference-secs (ts-diff (ts-now) epoch-ts)) - (days (floor (/ difference-secs 86400)))) - (org-with-wide-buffer - (goto-char (point-min)) - (while (re-search-forward org-ts-regexp-both nil t) - (let* ((ts (ts-parse-org (match-string 0))) - (timed-p (string-match-p (rx (repeat 2 digit) ":" (repeat 2 digit) (or ">" "]")) (match-string 0))) - (type (cond ((string-prefix-p "<" (match-string 0)) 'active) - ((string-prefix-p "[" (match-string 0)) 'inactive) - (t (error "Unknown ts type")))) - (brackets (cl-ecase type - ('active (cons "<" ">")) - ('inactive (cons "[" "]")))) - (format-string (concat (car brackets) - (if timed-p - "%Y-%m-%d %a %H:%M" - "%Y-%m-%d %a") - (cdr brackets))) - (new-ts (ts-adjust 'day days ts)) - (new-ts-string (ts-format format-string new-ts))) - (replace-match new-ts-string t t nil 0)))) - (message "Tweaked from epoch: %s" (ts-format epoch-ts)))) -#+END_SRC - -#+BEGIN_SRC elisp -(org-time-string-to-absolute (org-entry-get (point) "SCHEDULED")) -#+END_SRC - - #+BEGIN_SRC elisp :results none - ;; Setup code - (require 'org-super-agenda) - (org-super-agenda-mode 1) - (require 'org-habit) - (setq org-todo-keywords - '((sequence "TODO(t!)" "TODAY(a!)" "NEXT(n!)" "STARTED(s!)" "IN-PROGRESS(p!)" "UNDERWAY(u!)" "WAITING(w@)" "SOMEDAY(o!)" "MAYBE(m!)" "|" "DONE(d@)" "CANCELED(c@)") - (sequence "CHECK(k!)" "|" "DONE(d@)") - (sequence "TO-READ(r!)" "READING(R!)" "|" "HAVE-READ(d@)") - (sequence "TO-WATCH(!)" "WATCHING(!)" "SEEN(!)"))) - (with-current-buffer "test.org" (revert-buffer)) - - (defmacro with-org-today-date (date &rest body) - "Run BODY with the `org-today' function set to return simply DATE. - DATE should be a date-time string (both date and time must be included)." - (declare (indent defun)) - `(let ((day (date-to-day ,date)) - (orig (symbol-function 'org-today))) - (unwind-protect - (progn - (fset 'org-today (lambda () day)) - ,@body) - (fset 'org-today orig)))) - #+END_SRC - -#+BEGIN_SRC elisp :results none - (defun diary-sunrise () - (let ((dss (diary-sunrise-sunset))) - (with-temp-buffer - (insert dss) - (goto-char (point-min)) - (search-forward ",") - (buffer-substring (point-min) (match-beginning 0))))) - - (defun diary-sunset () - (let ((dss (diary-sunrise-sunset)) - start end) - (with-temp-buffer - (insert dss) - (goto-char (point-min)) - (search-forward ", ") - (setq start (match-end 0)) - (search-forward " at") - (setq end (match-beginning 0)) - (goto-char start) - (capitalize-word 1) - (buffer-substring start end)))) -#+END_SRC - -*Note:* Removing tests from here as they're added to =test.el=. - - #+BEGIN_SRC elisp - - (org-super-agenda--test-with-org-today-date "2017-07-05 00:00" - (let ((org-agenda-files (list "~/src/emacs/org-super-agenda/test/test.org")) - (org-agenda-span 'day) - (org-super-agenda-groups - '((:name "Time grid items in all-uppercase with RosyBrown1 foreground" - :time-grid t - :transformer (--> it - (upcase it) - (propertize it 'face '(:foreground "RosyBrown1")))) - (:name "Priority >= C items underlined, on black background" - :face (:background "black" :underline t) - :not (:priority>= "C") - :order 100)))) - (org-agenda nil "a"))) - (org-super-agenda--test-with-org-today-date "2017-07-05 00:00" - (let ((org-agenda-files (list "~/src/emacs/org-super-agenda/test/test.org")) - (org-agenda-span 'day) - (org-super-agenda-groups - '((:name none - :time-grid t) - (:name "Should be all-uppercase RosyBrown1 on black" - :face (:background "black" :foreground "RosyBrown1") - :transformer #'upcase - :not (:priority>= "C") - :order 100)))) - (org-agenda nil "a"))) - - (with-org-today-date "2017-07-05 00:00" - (let ((org-agenda-files (list "~/src/org-super-agenda/test/test.org")) - (org-agenda-span 'day) - (org-super-agenda-groups - '((:name none - :time-grid t) - (:name none - :not (:priority>= "C") - :order 100)))) - (org-agenda nil "a"))) - - (with-org-today-date "2017-07-05 00:00" - (let ((org-agenda-files (list "~/src/org-super-agenda/test/test.org")) - (org-agenda-span 'day) - (org-super-agenda-groups - '((:name "Items with child TODOs" - :children todo)))) - (org-agenda nil "a"))) - - (with-org-today-date "2017-07-05 00:00" - (let ((org-agenda-files (list "~/src/org-super-agenda/test/test.org")) - (org-agenda-span 'day) - (org-super-agenda-groups - '((:name "Items with child TODOs" - :children "CHECK")))) - (org-agenda nil "a"))) - - (with-org-today-date "2017-07-05 00:00" - (let ((org-agenda-files (list "~/src/org-super-agenda/test/test.org")) - (org-agenda-span 'day) - (org-agenda-custom-commands - '(("u" "Super view" - ((agenda "" ((org-super-agenda-groups - '((:name "Today" - :time-grid t - :scheduled today - :deadline today))))) - (todo "" ((org-super-agenda-groups - '((:name "Projects" - :children t) - (:discard (:anything t))))))))))) - (org-agenda nil "u"))) - - (with-org-today-date "2017-07-05 00:00" - (let ((org-agenda-files (list "~/src/org-super-agenda/test/test.org")) - (org-agenda-span 'day) - (org-agenda-custom-commands - '(("u" "Super view" - ((agenda "" ((org-super-agenda-groups - '((:name "Today" - :time-grid today))))) - (todo "" ((org-super-agenda-groups - '((:name "Projects" - :children t) - (:discard (:anything t))))))))))) - (org-agenda nil "u"))) - - (with-org-today-date "2017-07-05 00:00" - (let ((org-agenda-files (list "~/src/org-super-agenda/test/test.org")) - (org-agenda-span 'day) - (org-agenda-custom-commands - '(("u" "Super view" - ((agenda "" ((org-super-agenda-groups - '((:name "Schedule" - :time-grid t - :date today) - (:name "Due today" - :deadline today) - (:name "Due soon" - :deadline t))))) - (todo "" ((org-agenda-overriding-header "") - (org-super-agenda-groups - '((:name "Projects" - :children t) - (:discard (:anything t))))))))))) - (org-agenda nil "u"))) - - (with-org-today-date "2017-07-05 00:00" - (let ((org-agenda-files (list "~/src/org-super-agenda/test/test.org")) - (org-agenda-span 'day) - (org-super-agenda-groups - '((:scheduled (before "2017-07-06"))))) - (org-agenda nil "a"))) -#+END_SRC - -#+BEGIN_SRC elisp - - (with-org-today-date "2017-07-05 00:00" - (let ((org-super-agenda-groups - '((:todo "WAITING"))) - (org-agenda-files (list "~/src/org-super-agenda/test/test.org"))) - (org-todo-list))) - - (with-org-today-date "2017-07-05 00:00" - (let ((org-super-agenda-groups - '((:todo "SOMEDAY"))) - (org-agenda-files (list "~/src/org-super-agenda/test/test.org"))) - (org-tags-view nil "Emacs"))) - - (with-org-today-date "2017-07-05 00:00" - (let ((org-super-agenda-groups - '((:todo "CHECK"))) - (org-agenda-files (list "~/src/org-super-agenda/test/test.org"))) -;; org-search-view doesn't seem to set the todo-state property, so the matcher doesn't work - (org-search-view nil "Emacs"))) - - (with-org-today-date "2017-07-05 00:00" - (let ((org-super-agenda-groups - '((:regexp ("moon" "mars")))) - (org-agenda-files (list "~/src/org-super-agenda/test/test.org"))) - (org-search-view nil "space"))) - - (with-org-today-date "2017-07-05 00:00" - (let ((org-super-agenda-groups - '((:todo "SOMEDAY"))) - (org-agenda-files (list "~/src/org-super-agenda/test/test.org"))) - (org-agenda-list nil nil 'day))) - -#+END_SRC - -** Agenda examining - -This helps a lot. - -#+BEGIN_SRC elisp - (defun data-debug-show-string-with-properties (s) - (with-current-buffer (get-buffer-create "argh") - (erase-buffer) - (print s (current-buffer)) - - ;; Convert string reader representations to plain lists that can be set - (cl-loop for (match replace) in '(("#(" "'(") - ("#<" "'(") - (">" ")")) - do (progn - (goto-char (point-min)) - (while (search-forward match nil 'noerror) - (replace-match replace 'fixedcase 'literal)))) - - ;; Surround content in a list which `argh' is set to, then eval - ;; the buffer to do it - (goto-char (point-min)) - (insert "(setq argh (list '") - (delete-forward-char 2) - (goto-char (point-max)) - (insert "))") - - ;; Okay, sure, eval'ing the buffer is dangerous and bad and wrong. - ;; But this is the only way I can find to make this work. (Maybe - ;; `text-properties-at' could be used to get actual lists...) - (eval-buffer) - - (data-debug-show-stuff argh "argh") - ;; (switch-to-buffer (current-buffer)) - )) - - (defun data-debug-show-current-line-with-properties () - (interactive) - (data-debug-show-string-with-properties (buffer-substring (line-beginning-position) (line-end-position)))) - - (with-current-buffer "*Org Agenda*" - (data-debug-show-string-with-properties (seq-subseq (split-string (buffer-string) "\n") - 0 5))) -#+END_SRC - -** Agenda censoring - -For sharing screenshots of the agenda without revealing private data. - -#+BEGIN_SRC elisp - (defun org-agenda-sharpie () - "Censor the text of items in the agenda." - (interactive) - (let (regexp old-heading new-heading properties) - ;; Save face properties of line in agenda to reapply to changed text - (setq properties (text-properties-at (point))) - - ;; Go to source buffer - (org-with-point-at (org-find-text-property-in-string 'org-marker - (buffer-substring (line-beginning-position) - (line-end-position))) - ;; Save old heading text and ask for new text - (line-beginning-position) - (unless (org-at-heading-p) - ;; Not sure if necessary - (org-back-to-heading)) - (setq old-heading (when (looking-at org-complex-heading-regexp) - (match-string 4)))) - (setq new-heading (read-from-minibuffer "Overwrite visible heading with: ")) - (add-text-properties 0 (length new-heading) properties new-heading) - ;; Back to agenda buffer - (save-excursion - (when (and old-heading new-heading) - ;; Replace agenda text - (let ((inhibit-read-only t)) - (goto-char (line-beginning-position)) - (when (search-forward old-heading (line-end-position)) - (replace-match new-heading 'fixedcase 'literal))))))) -#+END_SRC - -** Auto grouping - - -#+BEGIN_SRC elisp - (with-org-today-date "2017-07-05 00:00" - (let ((org-super-agenda-groups - '((:auto-group t))) - (org-agenda-files (list "~/src/org-super-agenda/test/test.org"))) - (org-agenda-list nil nil 'day))) -#+END_SRC - -** Auto categories - -#+BEGIN_SRC elisp - (let ((org-super-agenda-groups - '((:auto-category t)))) - (org-agenda-list nil nil 'day)) -#+END_SRC - -** Date - -#+BEGIN_SRC elisp - (with-org-today-date "2017-07-05 00:00" - (-let* ((org-agenda-files (list "~/src/org-super-agenda/test/test.org")) - (org-agenda-span 'day) - ((sec minute hour day month year dow dst utcoff) (list 0 0 0 5 7 2017 3 t nil)) - (last-day-of-month - ;; A hack that seems to work fine - (1+ (calendar-last-day-of-month month year))) - (target-date (format "%d-%02d-%02d" year month last-day-of-month)) - (org-super-agenda-groups - `((:deadline (before ,target-date)) - (:discard (:anything t))))) - (org-todo-list))) - - (with-org-today-date "2017-07-05 00:00" - (-let* ((org-agenda-files (list "~/src/org-super-agenda/test/test.org")) - (org-agenda-span 'day) - ((sec minute hour day month year dow dst utcoff) (list 0 0 0 5 7 2017 3 t nil)) - (last-day-of-month (calendar-last-day-of-month month year)) - (target-date (format "%d-%02d-%02d" year month last-day-of-month)) - (org-super-agenda-groups - `((:deadline (before ,target-date)) - (:discard (:anything t))))) - (org-todo-list))) -#+END_SRC - -** Effort - -#+BEGIN_SRC elisp - (with-org-today-date "2017-07-05 00:00" - (let ((org-agenda-files (list "~/src/org-super-agenda/test/test.org")) - (org-super-agenda-groups - '((:effort< "0:06")))) - (org-agenda-list nil nil 'day))) -#+END_SRC - -** Misc - -*** let-plist - -I don't need this right now, but it might come in handy here or elsewhere. - -#+BEGIN_SRC elisp - (defmacro osa/let-plist (keys plist &rest body) - "`cl-destructuring-bind' without the boilerplate for plists." - ;; See https://emacs.stackexchange.com/q/22542/3871 - - ;; I really don't understand why Emacs doesn't have this already. - ;; So many things come close to it: pcase, pcase-let, map-let, - ;; cl-destructuring-bind, -let...but none of them let you simply - ;; bind all the values of a plist to variables with the same name as - ;; their keys. You always have to type the name of the key twice. - - ;; For example, compare these two forms: - - ;; (-let (((&keys :from from :to to :date date :subject subject) email)) - ;; (list from to date subject)) - - ;; (osa/let-plist (:from :to :date :subject) email - ;; (list from to date subject)) - - ;; Now, sure, sometimes you need to bind values to differently named - ;; variables. But when you don't, I know which one I prefer. - (declare (indent defun)) - (setq keys (cl-loop for key in keys - collect (intern (replace-regexp-in-string (rx bol ":") "" - (symbol-name key))))) - `(cl-destructuring-bind - (&key ,@keys &allow-other-keys) - ,plist - ,@body)) -#+END_SRC - -** Profiling - -#+BEGIN_SRC elisp :results none - (defmacro profile-it (times &rest body) - `(let (output) - (dolist (p '("org-super-agenda-" "map" "org-" "string-" "s-" "buffer-" "append" "delq" "map" "list" "car" "save-" "outline-" "delete-dups" "sort" "line-" "nth" "concat" "char-to-string" "rx-" "goto-" "when" "search-" "re-")) - (elp-instrument-package p)) - (dotimes (x ,times) - ,@body) - (elp-results) - (elp-restore-all) - (point-min) - (forward-line 20) - (delete-region (point) (point-max)) - (setq output (buffer-substring-no-properties (point-min) (point-max))) - (kill-buffer) - (delete-window) - output)) -#+END_SRC diff --git a/tests/test-org-ql.el b/tests/test-org-ql.el index 8fe0e8d..adde6ab 100644 --- a/tests/test-org-ql.el +++ b/tests/test-org-ql.el @@ -343,25 +343,25 @@ RESULTS should be a list of strings as returned by (describe "(children)" (org-ql-it "without arguments" (org-ql-expect ((children)) - '("Test data" "Take over the universe" "Take over the world" "Take over Mars" "Take over the moon" "Recurring" "Ideas" "Code" "Misc"))) + '("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"))) '("Recurring"))) (org-ql-it "with grandchildren query" ;; It's really cool how this works. It's so simple. (org-ql-expect ((children (children "moon"))) - '("Test data" "Take over the universe")))) + '("Take over the universe")))) (describe "(descendants)" (org-ql-it "without arguments" (org-ql-expect ((descendants)) - '("Test data" "Take over the universe" "Take over the world" "Take over Mars" "Take over the moon" "Recurring" "Ideas" "Code" "Misc"))) + '("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"))) - '("Test data" "Recurring"))) + '("Recurring"))) (org-ql-it "with granddescendants query" (org-ql-expect ((descendants (descendants "moon"))) - '("Test data" "Take over the universe"))) + '("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. @@ -553,16 +553,16 @@ RESULTS should be a list of strings as returned by (describe "(path)" (org-ql-it "without arguments" (org-ql-expect ((path)) - '("Test 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" "Code" "Agenda examining" "Agenda censoring" "Auto grouping" "Auto categories" "Date" "Effort" "Misc" "let-plist" "Profiling"))) + '("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")) - '("Test 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" "Code" "Agenda examining" "Agenda censoring" "Auto grouping" "Auto categories" "Date" "Effort" "Misc" "let-plist" "Profiling"))) + '("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")) - '("Test 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" "Code" "Agenda examining" "Agenda censoring" "Auto grouping" "Auto categories" "Date" "Effort" "Misc" "let-plist" "Profiling"))) + '("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")) - '("Test 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" "Code" "Agenda examining" "Agenda censoring" "Auto grouping" "Auto categories" "Date" "Effort" "Misc" "let-plist" "Profiling")))) + '("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)" @@ -734,19 +734,19 @@ RESULTS should be a list of strings as returned by (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))) - '("Test data" "Recurring" "Sunrise/sunset" "Ideas" "Code" "Agenda examining" "Agenda censoring" "Auto grouping" "Auto categories" "Date" "Effort" "Misc" "let-plist" "Profiling"))) + '("Recurring" "Sunrise/sunset" "Ideas"))) (org-ql-it "with a tag" (org-ql-expect ((tags "Emacs")) '("/r/emacs" "Rewrite Emacs in Common Lisp")) (org-ql-expect ((not (tags "Emacs"))) - '("Test 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" "Shop for groceries" "Sunrise/sunset" "Ideas" "Write a symphony" "Code" "Agenda examining" "Agenda censoring" "Auto grouping" "Auto categories" "Date" "Effort" "Misc" "let-plist" "Profiling"))) + '("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")) '("Visit Mars" "Visit the moon" "/r/emacs" "Rewrite Emacs in Common Lisp")) (org-ql-expect ((not (tags "Emacs" "space"))) - '("Test data" "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" "Code" "Agenda examining" "Agenda censoring" "Auto grouping" "Auto categories" "Date" "Effort" "Misc" "let-plist" "Profiling")))) + '("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")))) (describe "(tags-inherited)" @@ -754,7 +754,7 @@ RESULTS should be a list of strings as returned by (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))) - '("Test data" "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" "Code" "Agenda examining" "Agenda censoring" "Auto grouping" "Auto categories" "Date" "Effort" "Misc" "let-plist" "Profiling"))) + '("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")) @@ -762,14 +762,14 @@ RESULTS should be a list of strings as returned by (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"))) - '("Test data" "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" "Code" "Agenda examining" "Agenda censoring" "Auto grouping" "Auto categories" "Date" "Effort" "Misc" "let-plist" "Profiling"))) + '("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")) '("Skype with president of Antarctica")) (org-ql-expect ((not (tags-inherited "personal" "world"))) ;; Note that this correctly includes the task "Practice leaping...", which has the LOCAL tag "personal". - '("Test data" "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" "Code" "Agenda examining" "Agenda censoring" "Auto grouping" "Auto categories" "Date" "Effort" "Misc" "let-plist" "Profiling")))) + '("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")))) (describe "(tags-local)" @@ -777,7 +777,7 @@ RESULTS should be a list of strings as returned by (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))) - '("Test data" "Take over Mars" "Take over the moon" "Renew membership in supervillain club" "Learn universal sign language" "Recurring" "Sunrise/sunset" "Ideas" "Code" "Agenda examining" "Agenda censoring" "Auto grouping" "Auto categories" "Date" "Effort" "Misc" "let-plist" "Profiling"))) + '("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")) @@ -785,13 +785,13 @@ RESULTS should be a list of strings as returned by (org-ql-expect ((ltags "ambition")) '("Take over the universe")) (org-ql-expect ((not (tags-l "ambition"))) - '("Test data" "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" "Code" "Agenda examining" "Agenda censoring" "Auto grouping" "Auto categories" "Date" "Effort" "Misc" "let-plist" "Profiling"))) + '("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")) '("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"))) - '("Test data" "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" "Code" "Agenda examining" "Agenda censoring" "Auto grouping" "Auto categories" "Date" "Effort" "Misc" "let-plist" "Profiling")))) + '("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")))) (describe "(tags-all), (tags&)" @@ -816,7 +816,7 @@ RESULTS should be a list of strings as returned by nil) (org-ql-then (org-ql-expect ((ts :from today)) - '("Test data" "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")))) + '("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 @@ -830,7 +830,7 @@ RESULTS should be a list of strings as returned by '("Skype with president of Antarctica")) (org-ql-then (org-ql-expect ((ts :to today)) - '("Test data" "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")))) + '("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 @@ -844,7 +844,7 @@ RESULTS should be a list of strings as returned by nil) (org-ql-then (org-ql-expect ((ts :on today)) - '("Test data" "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")))) + '("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 @@ -855,7 +855,7 @@ RESULTS should be a list of strings as returned by (org-ql-it "without arguments" (org-ql-expect ((ts :type inactive)) - '("Test data" "Visit the moon" "Learn universal sign language" "Rewrite Emacs in Common Lisp"))) + '("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)) @@ -864,7 +864,7 @@ RESULTS should be a list of strings as returned by nil) (org-ql-then (org-ql-expect ((ts-inactive :from today)) - '("Test data" "Visit the moon" "Learn universal sign language" "Rewrite Emacs in Common Lisp")))) + '("Visit the moon" "Learn universal sign language" "Rewrite Emacs in Common Lisp")))) (org-ql-it ":from a number of days" (org-ql-then @@ -873,26 +873,26 @@ RESULTS should be a list of strings as returned by (org-ql-it ":to a timestamp" (org-ql-expect ((ts :to "2019-06-10" :type inactive)) - '("Test data" "Visit the moon" "Learn universal sign language" "Rewrite Emacs in Common Lisp")) + '("Visit the moon" "Learn universal sign language" "Rewrite Emacs in Common Lisp")) (org-ql-expect ((ts :to "2017-07-04" :type inactive)) 'nil) (org-ql-then (org-ql-expect ((ts-inactive :to today)) - '("Test data" "Learn universal sign language")))) + '("Learn universal sign language")))) (org-ql-it ":to a number of days" (org-ql-then (org-ql-expect ((ts-i :to 5)) - '("Test data" "Learn universal sign language")))) + '("Learn universal sign language")))) (org-ql-it ":on a timestamp" (org-ql-expect ((ts :on "2017-07-05" :type inactive)) - '("Test data" "Learn universal sign language")) + '("Learn universal sign language")) (org-ql-expect ((ts :on "2019-06-09" :type inactive)) nil) (org-ql-then (org-ql-expect ((ts-inactive :on today)) - '("Test data" "Learn universal sign language")))) + '("Learn universal sign language")))) (org-ql-it ":on a number of days" (org-ql-then @@ -903,58 +903,58 @@ RESULTS should be a list of strings as returned by (org-ql-it "without arguments" (org-ql-expect ((ts)) - '("Test data" "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")) + '("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)) - '("Test data" "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"))) + '("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")) - '("Test data" "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")) + '("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)) - '("Test data" "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")) + '("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")) nil) (org-ql-expect ((ts :from "2019-06-08" :type both)) nil) (org-ql-then (org-ql-expect ((ts :from today)) - '("Test data" "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")))) + '("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)) - '("Test data" "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")))) + '("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")) - '("Test data" "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")) + '("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)) - '("Test data" "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")) + '("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")) '("Skype with president of Antarctica")) (org-ql-expect ((ts :to "2017-07-04" :type both)) '("Skype with president of Antarctica")) (org-ql-then (org-ql-expect ((ts :to today)) - '("Test data" "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")))) + '("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)) - '("Test data" "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")))) + '("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")) - '("Test data" "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")) + '("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)) - '("Test data" "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")) + '("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")) nil) (org-ql-expect ((ts :on "2019-06-09" :type both)) nil) (org-ql-then (org-ql-expect ((ts :on today)) - '("Test data" "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")))) + '("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 From dadbbe4a8769a070fd78104e80dbba28c747afdd Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Wed, 8 Jan 2020 09:25:50 -0600 Subject: [PATCH 114/615] Tests: Allow using other data file --- tests/test-org-ql.el | 30 ++++++++++++++++++++++-------- 1 file changed, 22 insertions(+), 8 deletions(-) diff --git a/tests/test-org-ql.el b/tests/test-org-ql.el index adde6ab..ca20066 100644 --- a/tests/test-org-ql.el +++ b/tests/test-org-ql.el @@ -32,6 +32,9 @@ ;;;; Variables +(defvar org-ql-test-buffer nil + "Buffer used for running test queries.") + ;;;; Functions (defun org-ql-test-insert-result () @@ -45,9 +48,14 @@ ('org-ql--pre-process-query t) (_ nil))) (result (pcase sexp - (`(org-ql-expect ,args) (org-ql-test--format-result--ql `(org-ql org-ql-test-buffer - ,@args - :action (org-ql-test-org-get-heading)))) + (`(org-ql-expect ,args) + (org-ql-test--format-result--ql `(org-ql 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 + ,@args + :action (org-ql-test-org-get-heading)))) (`(org-ql . _) (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))) @@ -87,6 +95,14 @@ (eval sexp) (user-error "Point must be after an `org-ql' form"))) +(defun org-ql-test-data-buffer (filename) + "Return buffer visiting FILENAME. +FILENAME should be a file in the \"tests\" directory." + (->> (locate-dominating-file default-directory ".git") + (expand-file-name "tests") + (expand-file-name filename) + find-file-noselect)) + ;;;; Macros (defmacro org-ql-it (description &rest body) @@ -105,12 +121,12 @@ Based on Buttercup macro `it'." ,@body)))) `(buttercup-xit ,description))) -(defmacro org-ql-expect (ql-args results) +(cl-defmacro org-ql-expect (ql-args results &key (buffer 'org-ql-test-buffer)) "Expand to `expect' test form that expects QL-ARGS to equal RESULTS. RESULTS should be a list of strings as returned by `org-ql-test-org-get-heading'." (declare (indent defun)) - `(expect (org-ql org-ql-test-buffer + `(expect (org-ql ,buffer ,@ql-args :action (org-ql-test-org-get-heading)) :to-equal ,results)) @@ -138,9 +154,7 @@ RESULTS should be a list of strings as returned by ;; For Org 9.1.9. (substring-no-properties (org-get-heading t t t t)))) - (setq org-ql-test-buffer (->> (locate-dominating-file default-directory ".git") - (expand-file-name "tests/data.org") - find-file-noselect) + (setq org-ql-test-buffer (org-ql-test-data-buffer "data.org") ;; For manual testing: ;; org-ql-test-buffer (find-file-noselect "data.org") org-ql-test-num-headings (with-current-buffer org-ql-test-buffer From 9f5bbeb3f246079dce8cbff11ef365b2a0ef2ff1 Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Wed, 8 Jan 2020 09:27:21 -0600 Subject: [PATCH 115/615] Fix: Inherit org-file-tags Fixes #55. Closes #57. Thanks to Mikhail Skorzhinskiy (@mskorzhinskiy). --- README.org | 1 + org-ql.el | 35 +++++++++++++++++++---------------- org-ql.info | 27 +++++++++++++++------------ tests/data2.org | 16 ++++++++++++++++ tests/test-org-ql.el | 37 +++++++++++++++++++++++++++++++++---- 5 files changed, 84 insertions(+), 32 deletions(-) create mode 100644 tests/data2.org diff --git a/README.org b/README.org index b4db8a6..e16f59c 100644 --- a/README.org +++ b/README.org @@ -392,6 +392,7 @@ Expands into a call to ~org-ql-select~ with the same arguments. For convenience + Function ~helm-org-ql-source~, which returns a Helm source that searches given buffers/files with ~helm-org-ql~. It can be used for custom Helm commands that search certain files. *Fixed* ++ Inherit file tags when =org-tag-inheritance= is enabled. (Fixes [[https://github.com/alphapapa/org-ql/issues/55][#55]]. Thanks to [[https://github.com/mskorzhinskiy][Mikhail Skorzhinskiy]].) + Call =helm-make-source= directly instead of using =helm-build-sync-source= macro. (Fixes [[https://github.com/alphapapa/org-ql/issues/60][#60]]. Thanks to [[https://github.com/matthuszagh][Matt Huszagh]] for reporting.) + Search/view buffers now always end with a newline, which prevents side-scrolling of the window when calling =end-of-buffer=. + Face for done to-do keywords in =org-ql-view= buffers. (Thanks to [[https://github.com/dsdshcym][Yiming Chen]].) diff --git a/org-ql.el b/org-ql.el index 9f7d939..77de804 100644 --- a/org-ql.el +++ b/org-ql.el @@ -392,22 +392,25 @@ Returns cons (INHERITED-TAGS . LOCAL-TAGS)." 'org-ql-nil)) (inherited-tags (or (when org-use-tag-inheritance (save-excursion - (when (org-up-heading-safe) - (-let* (((inherited local) (org-ql--tags-at (point))) - (tags (when (or inherited local) - (cond ((and (listp inherited) - (listp local)) - (->> (append inherited local) - -non-nil -uniq)) - ((listp inherited) inherited) - ((listp local) local))))) - (cl-typecase org-use-tag-inheritance - (list (setf tags (-intersection tags org-use-tag-inheritance))) - (string (setf tags (--select (string-match org-use-tag-inheritance it) - tags)))) - (pcase org-tags-exclude-from-inheritance - ('nil tags) - (_ (-difference tags org-tags-exclude-from-inheritance))))))) + (if (org-up-heading-safe) + ;; Return parent heading's tags. + (-let* (((inherited local) (org-ql--tags-at (point))) + (tags (when (or inherited local) + (cond ((and (listp inherited) + (listp local)) + (->> (append inherited local) + -non-nil -uniq)) + ((listp inherited) inherited) + ((listp local) local))))) + (cl-typecase org-use-tag-inheritance + (list (setf tags (-intersection tags org-use-tag-inheritance))) + (string (setf tags (--select (string-match org-use-tag-inheritance it) + tags)))) + (pcase org-tags-exclude-from-inheritance + ('nil tags) + (_ (-difference tags org-tags-exclude-from-inheritance)))) + ;; Top-level heading: use file tags. + org-file-tags))) 'org-ql-nil)) (all-tags (list inherited-tags local-tags))) ;; Check caches again, because they may have been set now. diff --git a/org-ql.info b/org-ql.info index c11519c..67b883b 100644 --- a/org-ql.info +++ b/org-ql.info @@ -723,6 +723,9 @@ File: README.info, Node: 04-pre, Next: 032, Up: Changelog for custom Helm commands that search certain files. *Fixed* + • Inherit file tags when org-tag-inheritance is enabled. (Fixes #55 + (https://github.com/alphapapa/org-ql/issues/55). Thanks to Mikhail + Skorzhinskiy (https://github.com/mskorzhinskiy).) • Call helm-make-source directly instead of using helm-build-sync-source macro. (Fixes #60 (https://github.com/alphapapa/org-ql/issues/60). Thanks to Matt @@ -1023,18 +1026,18 @@ Node: Agenda-like views18276 Node: Listing / acting-on results19681 Node: Changelog24283 Node: 04-pre24820 -Node: 03226633 -Node: 03127014 -Node: 0327209 -Node: 02330182 -Node: 02230408 -Node: 02130674 -Node: 0230871 -Node: 0134904 -Node: Notes35003 -Node: Comparison with Org Agenda searches35165 -Node: org-sidebar36036 -Node: License36315 +Node: 03226835 +Node: 03127216 +Node: 0327411 +Node: 02330384 +Node: 02230610 +Node: 02130876 +Node: 0231073 +Node: 0135106 +Node: Notes35205 +Node: Comparison with Org Agenda searches35367 +Node: org-sidebar36238 +Node: License36517  End Tag Table diff --git a/tests/data2.org b/tests/data2.org new file mode 100644 index 0000000..673cf7f --- /dev/null +++ b/tests/data2.org @@ -0,0 +1,16 @@ +# This file is currently used to test org-file-tags. + +#+FILETAGS: :food: + +* Fruit :fruit: + +** Blueberry + +** Strawberry + +* Vegetable :vegetable: + +** Broccoli + +** Potato + diff --git a/tests/test-org-ql.el b/tests/test-org-ql.el index ca20066..babdb87 100644 --- a/tests/test-org-ql.el +++ b/tests/test-org-ql.el @@ -760,7 +760,15 @@ RESULTS should be a list of strings as returned by (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"))) - '("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")))) + '("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")) + '("Fruit" "Blueberry" "Strawberry" "Vegetable" "Broccoli" "Potato") + :buffer (org-ql-test-data-buffer "data2.org")) + (org-ql-expect ((tags "fruit")) + '("Fruit" "Blueberry" "Strawberry") + :buffer (org-ql-test-data-buffer "data2.org")))) (describe "(tags-inherited)" @@ -783,7 +791,15 @@ RESULTS should be a list of strings as returned by '("Skype with president of Antarctica")) (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")))) + '("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")) + '("Fruit" "Blueberry" "Strawberry" "Vegetable" "Broccoli" "Potato") + :buffer (org-ql-test-data-buffer "data2.org")) + (org-ql-expect ((tags-inherited "fruit")) + '("Blueberry" "Strawberry") + :buffer (org-ql-test-data-buffer "data2.org")))) (describe "(tags-local)" @@ -805,7 +821,15 @@ RESULTS should be a list of strings as returned by (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"))) - '("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")))) + '("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")) + nil + :buffer (org-ql-test-data-buffer "data2.org")) + (org-ql-expect ((tags-local "fruit")) + '("Fruit") + :buffer (org-ql-test-data-buffer "data2.org")))) (describe "(tags-all), (tags&)" @@ -813,7 +837,12 @@ RESULTS should be a list of strings as returned by (org-ql-expect ((tags-all "universe" "personal")) '("Practice leaping tall buildings in a single bound")) (org-ql-expect ((tags& "ambition" "space")) - '("Visit Mars" "Visit the moon")))) + '("Visit Mars" "Visit the moon"))) + + (org-ql-it "with file tags" + (org-ql-expect ((tags-all "food" "fruit")) + '("Fruit" "Blueberry" "Strawberry") + :buffer (org-ql-test-data-buffer "data2.org")))) (describe "(ts)" From 5b48d62e87a375e3316e7556b31b2b8ebc83a199 Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Wed, 8 Jan 2020 11:01:18 -0600 Subject: [PATCH 116/615] Meta: Update Makefile, makem.sh --- Makefile | 4 ++ makem.sh | 139 +++++++++++++++++++++++++++++++++++-------------------- 2 files changed, 92 insertions(+), 51 deletions(-) diff --git a/Makefile b/Makefile index 5000738..58c5a06 100644 --- a/Makefile +++ b/Makefile @@ -1,3 +1,7 @@ +# * makem.sh/Makefile --- Script to aid building and testing Emacs Lisp packages + +# This Makefile is from the makem.sh repo: . + # * Arguments # For consistency, we use only var=val options, not hyphen-prefixed options. diff --git a/makem.sh b/makem.sh index d63285c..4c739cb 100755 --- a/makem.sh +++ b/makem.sh @@ -46,6 +46,60 @@ # * Functions +function usage { + cat <. + + -s, --sandbox Run Emacs with emacs-sandbox.sh in a temporary + directory (removing directory on exit). + -S, --sandbox-dir DIR Use DIR for the sandbox directory (leaving it + on exit). Implies -s. + --auto-install Automatically install package dependencies. + -i, --install PACKAGE Install PACKAGE before running rules. + +Source files are automatically discovered from git, or may be +specified with options. + +Package dependencies are discovered from "Package-Requires" headers in +source files and from a Cask file. +EOF +} + # ** Elisp # These functions return a path to an elisp file which can be loaded @@ -113,10 +167,10 @@ EOF # ** Emacs function run_emacs { - debug "run_emacs: $emacs_command -Q --batch --load=$package_initialize_file -L \"$load_path\" $@" + debug "run_emacs: $emacs_command -Q $batch_arg --load=$package_initialize_file -L \"$load_path\" $@" if [[ $debug_load_path ]] then - debug $($emacs_command -Q --batch \ + debug $($emacs_command -Q $batch_arg \ --load=$package_initialize_file \ -L "$load_path" \ --eval "(message \"LOAD-PATH: %s\" load-path)" \ @@ -124,7 +178,7 @@ function run_emacs { fi output_file=$(mktemp) - $emacs_command -Q --batch \ + $emacs_command -Q $batch_arg \ --load=$package_initialize_file \ -L "$load_path" \ "$@" \ @@ -328,53 +382,6 @@ function ts { date "+%Y-%m-%d %H:%M:%S" } -function usage { - cat <. - - -s, --sandbox Run Emacs with emacs-sandbox.sh in a temporary - directory (removing directory on exit). - -S, --sandbox-dir DIR Use DIR for the sandbox directory (leaving it - on exit). Implies -s. - --auto-install Automatically install package dependencies. - -i, --install PACKAGE Install PACKAGE before running rules. - -Source files are automatically discovered from git, or may be -specified with options. - -Package dependencies are discovered from "Package-Requires" headers in -source files and from a Cask file. -EOF -} - # * Rules # These functions are intended to be called as rules, like a Makefile. @@ -398,6 +405,23 @@ function compile { || error "Compilation failed." } +function batch { + # Run Emacs with $batch_args and with project source and test files loaded. + verbose 1 "Executing Emacs with arguments: ${batch_args[@]}" + + run_emacs \ + $(load-files-args "${project_source_files[@]}" "${project_test_files[@]}") \ + "${batch_args[@]}" +} + +function interactive { + # Run Emacs interactively. Most useful with --sandbox and --auto-install. + unset batch_arg + run_emacs \ + $(load-files-args "${project_source_files[@]}" "${project_test_files[@]}") + batch_arg="--batch" +} + function lint { verbose 1 "Linting..." @@ -485,6 +509,7 @@ emacs_command="emacs" errors=0 verbose=0 compile=true +batch_arg="--batch" # MAYBE: Disable color if not outputting to a terminal. (OTOH, the # colorized output is helpful in CI logs, and I don't know if, @@ -659,7 +684,16 @@ fi # Run rules. for rule in "${rest[@]}" do - if type "$rule" 2>/dev/null | grep "$rule is a function" &>/dev/null + if [[ $batch ]] + then + debug "Adding batch argument: $rule" + batch_args+=("$rule") + + elif [[ $rule = batch ]] + then + # Remaining arguments are passed to Emacs. + batch=true + elif type "$rule" 2>/dev/null | grep "$rule is a function" &>/dev/null then $rule elif [[ $rule = test ]] @@ -672,6 +706,9 @@ do fi done +# The batch rule. +[[ $batch ]] && batch + if [[ $errors -gt 0 ]] then log_color red "Finished with $errors errors." From 3ce29bee46d0ff5a2091a85ef053cb1a19aa6d99 Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Wed, 8 Jan 2020 12:45:53 -0600 Subject: [PATCH 117/615] Meta: (test.yml) Don't count lint failure as job failure It's more valuable to see at a glance that the tests passed than to have every run indicate failure because of lint failures, especially when some of the lint failures come from package-lint issues that may be patched in the future. --- .github/workflows/test.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index b56b721..4d96ba5 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -61,6 +61,7 @@ jobs: # as failures, so linting and testing are run as separate steps. - name: Lint + continue-on-error: true run: ./makem.sh -vv --sandbox-dir=$SANDBOX_DIR lint - name: Test From 9d15f503ba981ebdb939b33a80bc314309cf22a9 Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Wed, 8 Jan 2020 12:58:52 -0600 Subject: [PATCH 118/615] Tidy: Use alternatives to map-put Emacs 27 marks map-put as obsolete and renames it to map-put!, which causes byte-compilation warnings (sigh...isn't that the definition of useless churn?). Of course, map-put! doesn't exist in Emacs 26, so we can't just use that. I'm beginning to think that it will never be possible to make the linting clean. --- org-ql-view.el | 2 +- org-ql.el | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/org-ql-view.el b/org-ql-view.el index 08babe7..72f44e8 100644 --- a/org-ql-view.el +++ b/org-ql-view.el @@ -312,7 +312,7 @@ update search arguments." :narrow org-ql-view-narrow :super-groups org-ql-view-super-groups :title name))) - (map-put org-ql-views name plist #'equal) + (setf (map-elt org-ql-views name nil #'equal) plist) (customize-set-variable 'org-ql-views org-ql-views) (customize-mark-to-save 'org-ql-views))) diff --git a/org-ql.el b/org-ql.el index 77de804..27ede79 100644 --- a/org-ql.el +++ b/org-ql.el @@ -477,7 +477,7 @@ Values compared with `equal'." (puthash (current-buffer) (cons (buffer-modified-tick) position-cache) org-ql-node-value-cache)) - (map-put value-cache fn new-value) + (setf (alist-get fn value-cache nil nil #'equal) new-value) (puthash position value-cache position-cache) new-value)) ;; Return nil or the non-nil value. From 16cb6cef526cc4f18e0a8f465857bd175eb55a9f Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Wed, 8 Jan 2020 13:05:50 -0600 Subject: [PATCH 119/615] Tests: Declare variable --- tests/test-org-ql.el | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/tests/test-org-ql.el b/tests/test-org-ql.el index babdb87..06253e6 100644 --- a/tests/test-org-ql.el +++ b/tests/test-org-ql.el @@ -35,6 +35,10 @@ (defvar org-ql-test-buffer nil "Buffer used for running test queries.") +(defvar org-ql-test-num-headings nil + "Total number of headings in main test data buffer. +Set at runtime by test suite.") + ;;;; Functions (defun org-ql-test-insert-result () From 1f79632372f3c97d5ec941eab50a079e2b661977 Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Fri, 10 Jan 2020 07:26:22 -0600 Subject: [PATCH 120/615] Meta: Update makem.sh, test.yml --- .github/workflows/test.yml | 14 +- makem.sh | 315 ++++++++++++++++++++----------------- 2 files changed, 178 insertions(+), 151 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 4d96ba5..9a9c29c 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -27,6 +27,7 @@ name: "CI" on: pull_request: push: + # Comment out this section to enable testing of all branches. # branches: # - master @@ -46,16 +47,11 @@ jobs: - uses: actions/checkout@v2 - - name: Install sandbox script - run: | - curl -o $GITHUB_WORKSPACE/emacs-sandbox.sh \ - https://raw.githubusercontent.com/alphapapa/emacs-sandbox.sh/master/emacs-sandbox.sh - chmod +x $GITHUB_WORKSPACE/emacs-sandbox.sh - echo ::add-path::$GITHUB_WORKSPACE - echo ::set-env name=SANDBOX_DIR::$(mktemp -d) - - name: Initialize sandbox - run: ./makem.sh -vv --sandbox-dir=$SANDBOX_DIR --auto-install --install package-lint + run: | + SANDBOX_DIR=$(mktemp -d) || exit 1 + echo ::set-env name=SANDBOX_DIR::$SANDBOX_DIR + ./makem.sh -vv --sandbox-dir=$SANDBOX_DIR --auto-install --install package-lint # The "all" rule is not used, because it treats compilation warnings # as failures, so linting and testing are run as separate steps. diff --git a/makem.sh b/makem.sh index 4c739cb..4cdf914 100755 --- a/makem.sh +++ b/makem.sh @@ -21,13 +21,11 @@ # occur. With increasing verbosity levels, more detail gives positive # feedback. Output is colored by default to make reading easy. -# When desired, emacs-sandbox.sh can be used as a backend, which -# allows package dependencies to be installed automatically into a -# clean Emacs "sandbox" configuration without affecting the -# developer's personal configuration. This is especially helpful when +# The script can run Emacs with the developer's local Emacs +# configuration, or with a clean, "sandbox" configuration that can be +# optionally removed afterward. This is especially helpful when # upstream dependencies may have released new versions that differ -# from those installed in the developer's personal configuration. See -# . +# from those installed in the developer's personal configuration. # * License: @@ -63,18 +61,17 @@ Rules: test-buttercup Run Buttercup tests. test-ert Run ERT tests. - These are especially useful with --sandbox: - - batch Run Emacs in batch mode, loading project source and test files - automatically, with remaining args (after "--") passed to Emacs. - interactive Run Emacs interactively, loading project source and test files - automatically. + batch Run Emacs in batch mode, loading project source and test files + automatically, with remaining args (after "--") passed to Emacs. + interactive Run Emacs interactively, loading project source and test files + automatically. Options: -d, --debug Print debug info. -h, --help I need somebody! -v, --verbose Increase verbosity, up to -vv. - --debug-load-path Print load-path. + + --debug-load-path Print load-path from inside Emacs. -f FILE, --file FILE Check FILE in addition to discovered files. @@ -82,10 +79,7 @@ Options: -C, --no-compile Don't compile files automatically. Sandbox options: - These require emacs-sandbox.sh to be on your PATH. Find it at - . - - -s, --sandbox Run Emacs with emacs-sandbox.sh in a temporary + -s, --sandbox Run Emacs with an empty config in a temporary directory (removing directory on exit). -S, --sandbox-dir DIR Use DIR for the sandbox directory (leaving it on exit). Implies -s. @@ -93,10 +87,8 @@ Sandbox options: -i, --install PACKAGE Install PACKAGE before running rules. Source files are automatically discovered from git, or may be -specified with options. - -Package dependencies are discovered from "Package-Requires" headers in -source files and from a Cask file. +specified with options. Package dependencies are discovered from +"Package-Requires" headers in source files and from a Cask file. EOF } @@ -156,8 +148,8 @@ function elisp-package-initialize-file { (require 'package) (setq package-archives (list (cons "gnu" "https://elpa.gnu.org/packages/") (cons "melpa" "https://melpa.org/packages/") - (cons "melpa-stable" "https://stable.melpa.org/packages/") - (cons "org" "https://orgmode.org/elpa/"))) + (cons "melpa-stable" "https://stable.melpa.org/packages/"))) +$elisp_org_package_archive (package-initialize) (setq load-prefer-newer t) EOF @@ -167,30 +159,39 @@ EOF # ** Emacs function run_emacs { - debug "run_emacs: $emacs_command -Q $batch_arg --load=$package_initialize_file -L \"$load_path\" $@" - if [[ $debug_load_path ]] - then - debug $($emacs_command -Q $batch_arg \ - --load=$package_initialize_file \ - -L "$load_path" \ - --eval "(message \"LOAD-PATH: %s\" load-path)" \ - 2>&1) - fi + # NOTE: The sandbox args need to come before the package + # initialization so Emacs will use the sandbox's packages. + local emacs_command=( + "${emacs_command[@]}" + -Q + "${args_sandbox[@]}" + -l $package_initialize_file + $arg_batch + -L "$load_path" + ) - output_file=$(mktemp) - $emacs_command -Q $batch_arg \ - --load=$package_initialize_file \ - -L "$load_path" \ - "$@" \ - &>$output_file + # Show debug message with load-path from inside Emacs. + [[ $debug_load_path ]] \ + && debug $("${emacs_command[@]}" \ + --batch \ + --eval "(message \"LOAD-PATH: %s\" load-path)" \ + 2>&1) + # Set output file. + output_file=$(mktemp) || die "Unable to make output file." + paths_temp+=("$output_file") + + # Run Emacs. + debug "run_emacs: ${emacs_command[@]} $@ &>\"$output_file\"" + "${emacs_command[@]}" "$@" &>"$output_file" + + # Check exit code and output. exit=$? - [[ $exit != 0 ]] && debug "Emacs exited non-zero: $exit" - if [[ $verbose -gt 1 || $exit != 0 ]] - then - cat $output_file - fi - rm -f $output_file + [[ $exit != 0 ]] \ + && debug "Emacs exited non-zero: $exit" + + [[ $verbose -gt 1 || $exit != 0 ]] \ + && cat $output_file return $exit } @@ -210,27 +211,27 @@ function batch-byte-compile { # ** Files -function project-elisp-files { +function files-project-elisp { # Echo list of Elisp files in project. - git ls-files 2>/dev/null | egrep "\.el$" | exclude-files + git ls-files 2>/dev/null | egrep "\.el$" | filter-files-exclude } -function project-source-files { +function files-project-source { # Echo list of Elisp files that are not tests. - project-elisp-files | egrep -v "$test_files_regexp" | feature-files + files-project-elisp | egrep -v "$test_files_regexp" | filter-files-feature } -function project-test-files { +function files-project-test { # Echo list of Elisp test files. - project-elisp-files | egrep "$test_files_regexp" + files-project-elisp | egrep "$test_files_regexp" } -function exclude-files { +function filter-files-exclude { # Filter out paths (STDIN) which should be excluded by default. egrep -v "(/\.cask/|-autoloads.el|.dir-locals)" } -function feature-files { +function filter-files-feature { # Read paths on STDIN and echo ones that (provide 'a-feature). while read path do @@ -240,7 +241,7 @@ function feature-files { done } -function load-files-args { +function args-load-files { # For file in $@, echo "--load $file". for file in "$@" do @@ -248,17 +249,9 @@ function load-files-args { done } -function files_args { - # For file in STDIN, echo "$file". - while read file - do - printf -- '%q ' "$file" - done -} - function test-files-p { - # Return 0 if $project_test_files is non-empty. - [[ "${project_test_files[@]}" ]] + # Return 0 if $files_project_test is non-empty. + [[ "${files_project_test[@]}" ]] } function buttercup-tests-p { @@ -266,7 +259,7 @@ function buttercup-tests-p { test-files-p || die "No tests found." debug "Checking for Buttercup tests..." - grep "(require 'buttercup)" "${project_test_files[@]}" &>/dev/null + grep "(require 'buttercup)" "${files_project_test[@]}" &>/dev/null } function ert-tests-p { @@ -277,14 +270,14 @@ function ert-tests-p { # We check for this rather than "(require 'ert)", because ERT may # already be loaded in Emacs and might not be loaded with # "require" in a test file. - grep "(ert-deftest" "${project_test_files[@]}" &>/dev/null + grep "(ert-deftest" "${files_project_test[@]}" &>/dev/null } function dependencies { # Echo list of package dependencies. # Search package headers. - egrep '^;; Package-Requires: ' $(project-source-files) $(project-test-files) \ + egrep '^;; Package-Requires: ' $(files-project-source) $(files-project-test) \ | egrep -o '\([^([:space:]][^)]*\)' \ | egrep -o '^[^[:space:])]+' \ | sed -r 's/\(//g' \ @@ -298,12 +291,70 @@ function dependencies { fi } +# ** Sandbox + +function sandbox { + # Initialize sandbox. + + # *** Sandbox arguments + + # Check or make user-emacs-directory. + if [[ $sandbox_dir ]] + then + # Directory given as argument: ensure it exists. + [[ -d $sandbox_dir ]] || die "Directory doesn't exist: $sandbox_dir" + else + # Not given: make temp directory, and delete it on exit. + local sandbox_dir=$(mktemp -d) || die "Unable to make sandbox dir." + paths_temp+=("$sandbox_dir") + fi + + # Make argument to load init file if it exists. + init_file="$sandbox_dir/init.el" + [[ -r $init_file ]] \ + && local args_load_init_file=(--load "$init_file") + + # Set sandbox args. This is a global variable used by the run_emacs function. + args_sandbox=( + --eval "(setq user-emacs-directory (file-truename \"$sandbox_dir\"))" + --eval "(setq user-init-file (file-truename \"$init_file\"))" + "${args_load_init_file[@]}" + ) + + # Add package-install arguments for dependencies. + if [[ $auto_install ]] + then + local deps=($(dependencies)) + debug "Installing dependencies: ${deps[@]}" + + for package in "${deps[@]}" + do + args_sandbox_package_install+=(--eval "(package-install '$package)") + done + fi + + # *** Install packages into sandbox + + if [[ ${args_sandbox_package_install[@]} ]] + then + # Initialize the sandbox (installs packages once rather than for every rule). + debug "Initializing sandbox..." + + run_emacs \ + --eval "(package-refresh-contents)" \ + "${args_sandbox_package_install[@]}" \ + || die "Unable to initialize sandbox." + fi + + debug "Sandbox initialized." +} + # ** Utility function cleanup { - # Remove temporary paths (${temp_paths[@]}). + # Remove temporary paths (${paths_temp[@]}). - for path in "${temp_paths[@]}" + for path in "${paths_temp[@]}" do if [[ $debug ]] then @@ -398,28 +449,28 @@ function compile { unset compile # Only compile once. verbose 1 "Compiling..." - debug "Byte-compile files: ${project_byte_compile_files[@]}" + debug "Byte-compile files: ${files_project_byte_compile[@]}" - batch-byte-compile "${project_byte_compile_files[@]}" \ + batch-byte-compile "${files_project_byte_compile[@]}" \ && success "Compiling finished without errors." \ || error "Compilation failed." } function batch { - # Run Emacs with $batch_args and with project source and test files loaded. - verbose 1 "Executing Emacs with arguments: ${batch_args[@]}" + # Run Emacs with $args_batch and with project source and test files loaded. + verbose 1 "Executing Emacs with arguments: ${args_batch[@]}" run_emacs \ - $(load-files-args "${project_source_files[@]}" "${project_test_files[@]}") \ - "${batch_args[@]}" + $(args-load-files "${files_project_source[@]}" "${files_project_test[@]}") \ + "${args_batch[@]}" } function interactive { # Run Emacs interactively. Most useful with --sandbox and --auto-install. - unset batch_arg + unset arg_batch run_emacs \ - $(load-files-args "${project_source_files[@]}" "${project_test_files[@]}") - batch_arg="--batch" + $(args-load-files "${files_project_source[@]}" "${files_project_test[@]}") + arg_batch="--batch" } function lint { @@ -434,11 +485,11 @@ function lint-checkdoc { verbose 1 "Linting checkdoc..." local checkdoc_file="$(elisp-checkdoc-file)" - temp_paths+=("$checkdoc_file") + paths_temp+=("$checkdoc_file") run_emacs \ --load="$checkdoc_file" \ - "${project_source_files[@]}" \ + "${files_project_source[@]}" \ && success "Linting checkdoc finished without errors." \ || error "Linting checkdoc failed." } @@ -447,7 +498,7 @@ function lint-compile { verbose 1 "Linting compilation..." compile_error_on_warn=true - batch-byte-compile "${project_byte_compile_files[@]}" \ + batch-byte-compile "${files_project_byte_compile[@]}" \ && success "Linting compilation finished without errors." \ || error "Linting compilation failed." unset compile_error_on_warn @@ -459,7 +510,7 @@ function lint-package { run_emacs \ --load package-lint \ --funcall package-lint-batch-and-exit \ - "${project_source_files[@]}" \ + "${files_project_source[@]}" \ && success "Linting package finished without errors." \ || error "Linting package failed." } @@ -478,7 +529,7 @@ function test-buttercup { verbose 1 "Running Buttercup tests..." local buttercup_file="$(elisp-buttercup-file)" - temp_paths+=("$buttercup_file") + paths_temp+=("$buttercup_file") run_emacs \ --load buttercup \ @@ -493,10 +544,10 @@ function test-ert { compile || die verbose 1 "Running ERT tests..." - debug "Test files: ${project_test_files[@]}" + debug "Test files: ${files_project_test[@]}" run_emacs \ - $(load-files-args "${project_test_files[@]}") \ + $(args-load-files "${files_project_test[@]}") \ -f ert-run-tests-batch-and-exit \ && success "ERT tests finished without errors." \ || error "ERT tests failed." @@ -505,11 +556,12 @@ function test-ert { # * Defaults test_files_regexp='^(tests?|t)/' -emacs_command="emacs" + +emacs_command=("emacs") errors=0 verbose=0 compile=true -batch_arg="--batch" +arg_batch="--batch" # MAYBE: Disable color if not outputting to a terminal. (OTOH, the # colorized output is helpful in CI logs, and I don't know if, @@ -549,22 +601,36 @@ COLOR_purple='\e[0;35m' COLOR_cyan='\e[0;36m' COLOR_white='\e[0;37m' +# ** Package system args + +args_package_archives=( + --eval "(add-to-list 'package-archives '(\"gnu\" . \"https://elpa.gnu.org/packages/\") t)" + --eval "(add-to-list 'package-archives '(\"melpa\" . \"https://melpa.org/packages/\") t)" +) + +args_org_package_archives=( + --eval "(add-to-list 'package-archives '(\"org\" . \"https://orgmode.org/elpa/\") t)" +) + +args_package_init=( + --eval "(package-initialize)" +) + +elisp_org_package_archive="(add-to-list 'package-archives '(\"org\" . \"https://orgmode.org/elpa/\") t)" + # * Project files # MAYBE: Option to not byte-compile test files. (OTOH, byte-compiling reveals many # errors that would otherwise go unnoticed, so it's worth it to fix the warnings.) -project_source_files=($(project-source-files)) -project_test_files=($(project-test-files)) -project_byte_compile_files=("${project_source_files[@]}" "${project_test_files[@]}") - -package_initialize_file="$(elisp-package-initialize-file)" -temp_paths+=("$package_initialize_file") +files_project_source=($(files-project-source)) +files_project_test=($(files-project-test)) +files_project_byte_compile=("${files_project_source[@]}" "${files_project_test[@]}") # * Args args=$(getopt -n "$0" \ - -o dhi:sS:vf:C \ - -l auto-install,debug,debug-load-path,help,install:,verbose,file:,no-color,no-compile,sandbox,sandbox-dir: \ + -o dhi:sS:vf:CO \ + -l auto-install,debug,debug-load-path,help,install:,verbose,file:,no-color,no-compile,no-org-repo,sandbox,sandbox-dir: \ -- "$@") \ || { usage; exit 1; } eval set -- "$args" @@ -588,7 +654,7 @@ do ;; -i|--install) shift - sandbox_install_packages_args+=(--install "$1") + args_sandbox_package_install+=(--eval "(package-install '$1)") ;; -s|--sandbox) sandbox=true @@ -606,6 +672,9 @@ do project_source_files+=("$1") project_byte_compile_files+=("$1") ;; + -O|--no-org-repo) + unset elisp_org_package_archive + ;; --no-color) unset color ;; @@ -626,60 +695,22 @@ done debug "ARGS: $args" debug "Remaining args: ${rest[@]}" +# Set package elisp (which depends on --no-org-repo arg). +package_initialize_file="$(elisp-package-initialize-file)" +paths_temp+=("$package_initialize_file") + # * Main trap cleanup EXIT INT TERM -if ! [[ ${project_source_files[@]} ]] +if ! [[ ${files_project_source[@]} ]] then error "No files specified and not in a git repo." exit 1 fi -if [[ $sandbox ]] -then - # Setup sandbox. - type emacs-sandbox.sh &>/dev/null || die "emacs-sandbox.sh not found." - - if ! [[ $sandbox_dir ]] - then - # No sandbox dir specified: make temp dir and remove it on exit. - sandbox_dir=$(mktemp -d) || die "Unable to make temp dir." - temp_paths+=("$sandbox_dir") - fi - - sandbox_basic_args=( - -d "$sandbox_dir" - ) - [[ $debug ]] && sandbox_basic_args+=(--debug) - - if [[ $auto_install ]] - then - # Add dependencies to package install list. - deps=($(dependencies)) - debug "Installing dependencies: ${deps[@]}" - - for package in "${deps[@]}" - do - sandbox_install_packages_args+=(--install $package) - done - fi - - if [[ ${sandbox_install_packages_args[@]} ]] - then - # Initialize the sandbox (installs packages once rather than for every rule). - emacs_command="emacs-sandbox.sh ${sandbox_basic_args[@]} ${sandbox_install_packages_args[@]} -- " - debug "Initializing sandbox..." - - run_emacs || die "Unable to initialize sandbox." - fi - - # After the sandbox is initialized and packages are installed, set the command - # to prevent the package lists from being refreshed on each invocation. - emacs_command="emacs-sandbox.sh ${sandbox_basic_args[@]} --no-refresh-packages -- " - - debug "Sandbox initialized." -fi +# Initialize sandbox. +[[ $sandbox ]] && sandbox # Run rules. for rule in "${rest[@]}" @@ -687,13 +718,13 @@ do if [[ $batch ]] then debug "Adding batch argument: $rule" - batch_args+=("$rule") + args_batch+=("$rule") elif [[ $rule = batch ]] then # Remaining arguments are passed to Emacs. batch=true - elif type "$rule" 2>/dev/null | grep "$rule is a function" &>/dev/null + elif type -t "$rule" 2>/dev/null | grep function &>/dev/null then $rule elif [[ $rule = test ]] From c4f9a58fd66c375b54befec4d6159be4135df7e6 Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Fri, 10 Jan 2020 10:21:55 -0600 Subject: [PATCH 121/615] Docs: Improve ToCs --- README.org | 71 +++++++++++++++++++---------------- org-ql.info | 106 ++++++++++++++++++++++++++-------------------------- 2 files changed, 92 insertions(+), 85 deletions(-) diff --git a/README.org b/README.org index e16f59c..1438e84 100644 --- a/README.org +++ b/README.org @@ -14,14 +14,17 @@ It includes three libraries: The =org-ql= library is flexible and may be used as :PROPERTIES: :TOC: this :END: - - [[#screenshots][Screenshots]] - - [[#installation][Installation]] - - [[#usage][Usage]] - - [[#commands][Commands]] - - [[#queries][Queries]] - - [[#functions--macros][Functions / Macros]] - - [[#changelog][Changelog]] - - [[#notes][Notes]] +- [[#screenshots][Screenshots]] +- [[#installation][Installation]] +- [[#usage][Usage]] + - [[#commands][Commands]] + - [[#queries][Queries]] + - [[#non-sexp-query-syntax][Non-sexp query syntax]] + - [[#predicates][Predicates]] + - [[#datetime-predicates][Date/time predicates]] + - [[#functions--macros][Functions / Macros]] +- [[#changelog][Changelog]] +- [[#notes][Notes]] * Screenshots @@ -57,22 +60,13 @@ Installing with [[https://framagit.org/steckerhalter/quelpa][Quelpa]] is easy: #+END_SRC * Usage +:CONTENTS: +- [[#commands][Commands]] +- [[#queries][Queries]] +- [[#functions--macros][Functions / Macros]] +:END: -These commands and functions are included: - -+ *Showing an agenda-like view:* - - ~org-ql-search~ (command) - - ~org-ql-view~ (command) - - ~org-ql-view-sidebar~ (command) - - ~org-ql-block~ (agenda block function) -+ *Showing a tree in a buffer:* - - ~org-ql-sparse-tree~ (command) -+ *Showing results with Helm*: - - ~helm-org-ql~ (command) -+ *Returning a list of matches or acting on them:* - - ~org-ql~ (macro) - - ~org-ql-select~ (function) - - ~org-ql-query~ (function) +# These links work on GitHub's Org renderer but not in Org. Feedback on these APIs is welcome. Eventually, after being tested and polished, they will be considered stable. @@ -84,6 +78,16 @@ Lisp code examples are in [[examples.org]]. :TOC: ignore-children :END: ++ *Showing an agenda-like view:* + - [[#org-ql-search][org-ql-search]] (command) + - [[#org-ql-view][org-ql-view]] (command) + - [[#org-ql-view-sidebar][org-ql-view-sidebar]] (command) + - [[#org-ql-view-recent-items][org-ql-view-recent-items]] (command) ++ *Showing a tree in a buffer:* + - [[#org-ql-sparse-tree][org-ql-sparse-tree]] (command) ++ *Showing results with Helm*: + - [[#helm-org-ql][helm-org-ql]] (command) + *** org-ql-search /Note: This command supports both sexp queries and [[#non-sexp-query-syntax][non-sexp queries]]./ @@ -139,6 +143,11 @@ Show a sparse tree for ~QUERY~ in ~BUFFER~ and return number of results. The tr ~QUERY~ is an ~org-ql~ query sexp (quoted, since this is a function). ~BUFFER~ defaults to the current buffer. When ~KEEP-PREVIOUS~ is non-nil (interactively, with prefix), the outline is not reset to the overview state before finding matches, which allows stacking calls to this command. Runs ~org-occur-hook~ after making the sparse tree. ** Queries +:CONTENTS: +- [[#non-sexp-query-syntax][Non-sexp query syntax]] +- [[#predicates][Predicates]] +- [[#datetime-predicates][Date/time predicates]] +:END: An =org-ql= query is a lisp form which may contain arbitrary lisp forms, as well as certain built-in predicates. It is byte-compiled into a predicate function which is tested with point on each heading in an Org buffer; when it returns non-nil, the heading matches the query. @@ -147,9 +156,6 @@ An =org-ql= query is a lisp form which may contain arbitrary lisp forms, as well + Standard numeric comparator function symbols (~<~, ~<=~, ~>~, ~>=~, ~=~ ) need not be quoted when passed as an argument to predicates which accept them. The resemblance to infix notation is coincidental. *** Non-sexp query syntax -:PROPERTIES: -:TOC: ignore -:END: The command =org-ql-search= also accepts, and the command =helm-org-ql= only accepts, an alternative, non-sexp query syntax. The syntax is simple, and a few examples of queries in both syntaxes should suffice. By default, when multiple predicates are used, they are combined with boolean =and=. @@ -170,9 +176,6 @@ The command =org-ql-search= also accepts, and the command =helm-org-ql= only acc Note that the =priority= predicate does not support comparators in the non-sexp syntax, so multiple priorities should be passed instead, as seen in the last example. *** Predicates -:PROPERTIES: -:TOC: ignore -:END: Arguments are listed next to predicate names, where applicable. @@ -204,9 +207,6 @@ Arguments are listed next to predicate names, where applicable. + =todo (&optional keywords)= :: Return non-nil if current heading is a ~TODO~ item. With ~KEYWORDS~, return non-nil if its keyword is one of ~KEYWORDS~ (a list of strings). When called without arguments, only matches non-done tasks (i.e. does not match keywords in ~org-done-keywords~). *** Date/time predicates -:PROPERTIES: -:TOC: ignore -:END: All of these predicates take optional keyword arguments ~:from~, ~:to:~, and ~:on~: @@ -237,6 +237,13 @@ The following predicates, in addition to the keyword arguments, can also take a :TOC: ignore-children :END: +- [[#agenda-like-views][Agenda-like views]] + - [[#function-org-ql-block][Function: org-ql-block]] +- [[#listing--acting-on-results][Listing / acting-on results]] + - [[#function-org-ql-select][Function: org-ql-select]] + - [[#function-org-ql-query][Function: org-ql-query]] + - [[#macro-org-ql][Macro: org-ql]] + *** Agenda-like views **** Function: ~org-ql-block~ diff --git a/org-ql.info b/org-ql.info index 67b883b..43725a7 100644 --- a/org-ql.info +++ b/org-ql.info @@ -93,7 +93,8 @@ File: README.info, Node: Contents, Next: Screenshots, Prev: Top, Up: Top ********** • • • - • • • • • + • • + • • • • • •  File: README.info, Node: Screenshots, Next: Installation, Prev: Contents, Up: Top @@ -145,22 +146,7 @@ File: README.info, Node: Usage, Next: Changelog, Prev: Installation, Up: Top 4 Usage ******* -These commands and functions are included: - - • *Showing an agenda-like view:* - • ‘org-ql-search’ (command) - • ‘org-ql-view’ (command) - • ‘org-ql-view-sidebar’ (command) - • ‘org-ql-block’ (agenda block function) - • *Showing a tree in a buffer:* - • ‘org-ql-sparse-tree’ (command) - • *Showing results with Helm*: - • ‘helm-org-ql’ (command) - • *Returning a list of matches or acting on them:* - • ‘org-ql’ (macro) - • ‘org-ql-select’ (function) - • ‘org-ql-query’ (function) - + • • • Feedback on these APIs is welcome. Eventually, after being tested and polished, they will be considered stable. @@ -178,6 +164,16 @@ File: README.info, Node: Commands, Next: Queries, Up: Usage 4.1 Commands ============ + • *Showing an agenda-like view:* + • (command) + • (command) + • (command) + • (command) + • *Showing a tree in a buffer:* + • (command) + • *Showing results with Helm*: + • (command) + * Menu: * org-ql-search:: @@ -298,10 +294,11 @@ File: README.info, Node: Queries, Next: Functions / Macros, Prev: Commands, 4.2 Queries =========== -An org-ql query is a lisp form which may contain arbitrary lisp forms, -as well as certain built-in predicates. It is byte-compiled into a -predicate function which is tested with point on each heading in an Org -buffer; when it returns non-nil, the heading matches the query. + • • • + An org-ql query is a lisp form which may contain arbitrary lisp +forms, as well as certain built-in predicates. It is byte-compiled into +a predicate function which is tested with point on each heading in an +Org buffer; when it returns non-nil, the heading matches the query. *Notes:* • Bare strings like ‘"string"’ are automatically converted to @@ -511,6 +508,9 @@ File: README.info, Node: Functions / Macros, Prev: Queries, Up: Usage 4.3 Functions / Macros ====================== + • + • • + • • • * Menu: * Agenda-like views:: @@ -1006,38 +1006,38 @@ GPLv3 Tag Table: Node: Top225 Node: Contents1367 -Node: Screenshots1515 -Node: Installation1633 -Node: Quelpa2271 -Node: Usage2714 -Node: Commands3624 -Node: org-ql-search3853 -Node: helm-org-ql5501 -Node: org-ql-view5913 -Node: org-ql-view-sidebar6111 -Node: org-ql-view-recent-items6467 -Node: org-ql-sparse-tree6951 -Node: Queries7751 -Node: Non-sexp query syntax8593 -Node: Predicates10292 -Node: Date/time predicates15454 -Node: Functions / Macros18089 -Node: Agenda-like views18276 -Node: Listing / acting-on results19681 -Node: Changelog24283 -Node: 04-pre24820 -Node: 03226835 -Node: 03127216 -Node: 0327411 -Node: 02330384 -Node: 02230610 -Node: 02130876 -Node: 0231073 -Node: 0135106 -Node: Notes35205 -Node: Comparison with Org Agenda searches35367 -Node: org-sidebar36238 -Node: License36517 +Node: Screenshots1541 +Node: Installation1659 +Node: Quelpa2297 +Node: Usage2740 +Node: Commands3064 +Node: org-ql-search3537 +Node: helm-org-ql5185 +Node: org-ql-view5597 +Node: org-ql-view-sidebar5795 +Node: org-ql-view-recent-items6151 +Node: org-ql-sparse-tree6635 +Node: Queries7435 +Node: Non-sexp query syntax8296 +Node: Predicates9995 +Node: Date/time predicates15157 +Node: Functions / Macros17792 +Node: Agenda-like views18025 +Node: Listing / acting-on results19430 +Node: Changelog24032 +Node: 04-pre24569 +Node: 03226584 +Node: 03126965 +Node: 0327160 +Node: 02330133 +Node: 02230359 +Node: 02130625 +Node: 0230822 +Node: 0134855 +Node: Notes34954 +Node: Comparison with Org Agenda searches35116 +Node: org-sidebar35987 +Node: License36266  End Tag Table From fc536cafd6c09ba48acb99dd16b2a437ccd705f1 Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Mon, 13 Jan 2020 20:24:14 -0600 Subject: [PATCH 122/615] Tests: (org-ql-test-show-result) Fix symbol --- tests/test-org-ql.el | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/test-org-ql.el b/tests/test-org-ql.el index 06253e6..2d1e6ed 100644 --- a/tests/test-org-ql.el +++ b/tests/test-org-ql.el @@ -92,7 +92,7 @@ Set at runtime by test suite.") (if-let* ((sexp (elisp--preceding-sexp)) (sexp (pcase sexp (`(org-ql . ,_) (setf (car sexp) 'org-ql-agenda)) - (`(org-ql-expect ,ql-args . ,_) (setf sexp `(org-ql-select org-ql-test-buffer + (`(org-ql-expect ,ql-args . ,_) (setf sexp `(org-ql-search org-ql-test-buffer ',@ql-args))) (_ nil)))) From 22c0b37bbe72ae7fd368114658165ca27edb26b6 Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Thu, 16 Jan 2020 06:21:49 -0600 Subject: [PATCH 123/615] Notes: Add idea --- notes.org | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/notes.org b/notes.org index acc514b..58efcf3 100644 --- a/notes.org +++ b/notes.org @@ -6,6 +6,10 @@ Note that the built-in sorting only works on Org elements, which is the default ~:action~. So if a different action is used, sorting will not work. In that case, the action should be mapped across the Org element results from outside the ~org-ql~ form. +** TODO [#A] Org block to insert results of queries with links to entries + +[2020-01-16 Thu 06:20] This idea just came to me when I was thinking about using the search-based paradigm vs. outline-based. This would allow both, e.g. some kind of =#+BEGIN_QUERY= block that would update when =C-c C-c= is pressed on it. + ** TODO [#A] Outline path in buffers-files arg :PROPERTIES: :ID: 6935361a-9e1d-48ec-8d17-876a90b90f50 From f42bc4019d31a1475cceb50854271f42e5cc81c6 Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Thu, 16 Jan 2020 09:58:36 -0600 Subject: [PATCH 124/615] Notes: Add note about direx --- notes.org | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/notes.org b/notes.org index 58efcf3..61522a5 100644 --- a/notes.org +++ b/notes.org @@ -465,6 +465,14 @@ Another idea for it is to simply store the element from =org-element-headline-pa The code that powers the customization UI. Has collapsible and customizable widgets. Might be perfect. Might even enable editing items in the list, with functions to make the changes in the source buffers. +*** Prior art + +**** magit-section + +**** [[https://github.com/m2ym/direx-el][GitHub - m2ym/direx-el: Directory Explorer for GNU Emacs]] + +Appears to be another implementation of magit-section-like expandable sections. Not sure which came first. Its code seems like it may be helpful. + *** Code idea Inserting items into a view could look something like this: From 0a7e4f349ff40ee9befe903be04f04703363c4c0 Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Sat, 18 Jan 2020 20:34:13 -0600 Subject: [PATCH 125/615] Add: (org-ql-view-refresh) Message on refresh Closes #71. Thanks to @xeijin. Squashed commit of the following: commit edac9c696061aba2a429abb8d61238fa37e28418 Author: Adam Porter Date: Sat Jan 18 20:24:28 2020 -0600 Adjust message, indentation, add changelog entry commit 6a263e34ff1d1fac00b7061282fcec39f1d619b3 Author: xeijin Date: Fri Jan 3 19:08:10 2020 +0000 removing view title commit fc37e3f1460cefe0f396f3f8033372a9d40c6107 Author: xeijin Date: Mon Dec 9 22:47:00 2019 +0000 confirmation message for org-ql-view-refresh In keeping with the message displayed by `g` when refreshing an org-agenda buffer - if nothing has changed in an `org-ql` buffer it can sometimes be difficult to determine if the refresh took place at all. --- README.org | 1 + org-ql-view.el | 3 ++- org-ql.info | 26 ++++++++++++++------------ 3 files changed, 17 insertions(+), 13 deletions(-) diff --git a/README.org b/README.org index 1438e84..abb5489 100644 --- a/README.org +++ b/README.org @@ -397,6 +397,7 @@ Expands into a call to ~org-ql-select~ with the same arguments. For convenience - Alias =r= for =regexp= predicate. (Thanks to [[https://github.com/tumashu][Feng Shu]].) + Info manual. + Function ~helm-org-ql-source~, which returns a Helm source that searches given buffers/files with ~helm-org-ql~. It can be used for custom Helm commands that search certain files. ++ Display a message when views are refreshed. (Thanks to [[https://github.com/xeijin][xeijin]].) *Fixed* + Inherit file tags when =org-tag-inheritance= is enabled. (Fixes [[https://github.com/alphapapa/org-ql/issues/55][#55]]. Thanks to [[https://github.com/mskorzhinskiy][Mikhail Skorzhinskiy]].) diff --git a/org-ql-view.el b/org-ql-view.el index 72f44e8..42cf1fe 100644 --- a/org-ql-view.el +++ b/org-ql-view.el @@ -300,7 +300,8 @@ update search arguments." (goto-char (point-min)) (or (when (search-forward current-line nil t) (beginning-of-line)) - (goto-char old-pos)))) + (goto-char old-pos)) + (message "View refreshed"))) (defun org-ql-view-save () "Save current `org-ql-search' buffer to `org-ql-views'." diff --git a/org-ql.info b/org-ql.info index 43725a7..3254983 100644 --- a/org-ql.info +++ b/org-ql.info @@ -721,6 +721,8 @@ File: README.info, Node: 04-pre, Next: 032, Up: Changelog • Function ‘helm-org-ql-source’, which returns a Helm source that searches given buffers/files with ‘helm-org-ql’. It can be used for custom Helm commands that search certain files. + • Display a message when views are refreshed. (Thanks to xeijin + (https://github.com/xeijin).) *Fixed* • Inherit file tags when org-tag-inheritance is enabled. (Fixes #55 @@ -1026,18 +1028,18 @@ Node: Agenda-like views18025 Node: Listing / acting-on results19430 Node: Changelog24032 Node: 04-pre24569 -Node: 03226584 -Node: 03126965 -Node: 0327160 -Node: 02330133 -Node: 02230359 -Node: 02130625 -Node: 0230822 -Node: 0134855 -Node: Notes34954 -Node: Comparison with Org Agenda searches35116 -Node: org-sidebar35987 -Node: License36266 +Node: 03226689 +Node: 03127070 +Node: 0327265 +Node: 02330238 +Node: 02230464 +Node: 02130730 +Node: 0230927 +Node: 0134960 +Node: Notes35059 +Node: Comparison with Org Agenda searches35221 +Node: org-sidebar36092 +Node: License36371  End Tag Table From b3601cf0aec26d4fffc2454ecc72b557dce10082 Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Sat, 18 Jan 2020 22:20:52 -0600 Subject: [PATCH 126/615] Add: (org-ql-block) Respect Org Agenda restrictions Fixes #84. Thanks to Ihor Radchenko (@yantar92) for reporting. --- README.org | 1 + org-ql-search.el | 50 +++++++++++++++++++++++++++++++----------------- org-ql.info | 26 +++++++++++++------------ 3 files changed, 47 insertions(+), 30 deletions(-) diff --git a/README.org b/README.org index abb5489..aa482e0 100644 --- a/README.org +++ b/README.org @@ -398,6 +398,7 @@ Expands into a call to ~org-ql-select~ with the same arguments. For convenience + Info manual. + Function ~helm-org-ql-source~, which returns a Helm source that searches given buffers/files with ~helm-org-ql~. It can be used for custom Helm commands that search certain files. + Display a message when views are refreshed. (Thanks to [[https://github.com/xeijin][xeijin]].) ++ Respect Org Agenda restriction in =org-ql-block=. (Thanks to [[https://github.com/yantar92][Ihor Radchenko]] for reporting.) *Fixed* + Inherit file tags when =org-tag-inheritance= is enabled. (Fixes [[https://github.com/alphapapa/org-ql/issues/55][#55]]. Thanks to [[https://github.com/mskorzhinskiy][Mikhail Skorzhinskiy]].) diff --git a/org-ql-search.el b/org-ql-search.el index f79b254..fab0e95 100644 --- a/org-ql-search.el +++ b/org-ql-search.el @@ -231,24 +231,38 @@ function `org-agenda-files'. Inserts a newline after the block. If `org-ql-block-header' is non-nil, it is used as the header string for the block, otherwise a the header is formed automatically from the query." - (when-let* ((from (org-agenda-files nil 'ifmode)) - (items (org-ql-select from query - :action 'element-with-markers))) - ;; Not sure if calling the prepare function is necessary, but let's follow the pattern. - (org-agenda-prepare) - ;; FIXME: `org-agenda--insert-overriding-header' is from an Org version newer than - ;; I'm using. Should probably declare it as a minimum Org version after upgrading. - ;; (org-agenda--insert-overriding-header (or org-ql-block-header (org-ql-agenda--header-line-format from query))) - (insert (org-add-props (or org-ql-block-header (org-ql-view--header-line-format from query)) - nil 'face 'org-agenda-structure) "\n") - ;; Calling `org-agenda-finalize' should be unnecessary, because in a "series" agenda, - ;; `org-agenda-multi' is bound non-nil, in which case `org-agenda-finalize' does nothing. - ;; But we do call `org-agenda-finalize-entries', which allows `org-super-agenda' to work. - (->> items - (-map #'org-ql-view--format-element) - org-agenda-finalize-entries - insert) - (insert "\n"))) + (let (narrow-p old-beg old-end) + (when-let* ((from (pcase org-agenda-overriding-restriction + ('nil (org-agenda-files nil 'ifmode)) + ('file (get 'org-agenda-files 'org-restrict)) + ('subtree (prog1 org-agenda-restrict + (with-current-buffer org-agenda-restrict + ;; Narrow the buffer; remember to widen it later. + (setf old-beg (point-min) old-end (point-max) + narrow-p t) + (narrow-to-region org-agenda-restrict-begin org-agenda-restrict-end)))))) + (items (org-ql-select from query + :action 'element-with-markers + :narrow narrow-p))) + (when narrow-p + ;; Restore buffer's previous restrictions. + (with-current-buffer from + (narrow-to-region old-beg old-end))) + ;; Not sure if calling the prepare function is necessary, but let's follow the pattern. + (org-agenda-prepare) + ;; FIXME: `org-agenda--insert-overriding-header' is from an Org version newer than + ;; I'm using. Should probably declare it as a minimum Org version after upgrading. + ;; (org-agenda--insert-overriding-header (or org-ql-block-header (org-ql-agenda--header-line-format from query))) + (insert (org-add-props (or org-ql-block-header (org-ql-view--header-line-format from query)) + nil 'face 'org-agenda-structure) "\n") + ;; Calling `org-agenda-finalize' should be unnecessary, because in a "series" agenda, + ;; `org-agenda-multi' is bound non-nil, in which case `org-agenda-finalize' does nothing. + ;; But we do call `org-agenda-finalize-entries', which allows `org-super-agenda' to work. + (->> items + (-map #'org-ql-view--format-element) + org-agenda-finalize-entries + insert) + (insert "\n")))) ;;;###autoload (defalias 'org-ql-block 'org-ql-search-block) diff --git a/org-ql.info b/org-ql.info index 3254983..689d1e2 100644 --- a/org-ql.info +++ b/org-ql.info @@ -723,6 +723,8 @@ File: README.info, Node: 04-pre, Next: 032, Up: Changelog for custom Helm commands that search certain files. • Display a message when views are refreshed. (Thanks to xeijin (https://github.com/xeijin).) + • Respect Org Agenda restriction in org-ql-block. (Thanks to Ihor + Radchenko (https://github.com/yantar92) for reporting.) *Fixed* • Inherit file tags when org-tag-inheritance is enabled. (Fixes #55 @@ -1028,18 +1030,18 @@ Node: Agenda-like views18025 Node: Listing / acting-on results19430 Node: Changelog24032 Node: 04-pre24569 -Node: 03226689 -Node: 03127070 -Node: 0327265 -Node: 02330238 -Node: 02230464 -Node: 02130730 -Node: 0230927 -Node: 0134960 -Node: Notes35059 -Node: Comparison with Org Agenda searches35221 -Node: org-sidebar36092 -Node: License36371 +Node: 03226822 +Node: 03127203 +Node: 0327398 +Node: 02330371 +Node: 02230597 +Node: 02130863 +Node: 0231060 +Node: 0135093 +Node: Notes35192 +Node: Comparison with Org Agenda searches35354 +Node: org-sidebar36225 +Node: License36504  End Tag Table From b7a33170a104f71cf36088c7cabd10e145f78673 Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Sun, 19 Jan 2020 00:02:03 -0600 Subject: [PATCH 127/615] Fix: (org-ql-view--buffer) Set buffer-read-only Fixes #72. Thanks to @xeijin. --- README.org | 1 + org-ql-view.el | 3 ++- org-ql.info | 27 +++++++++++++++------------ 3 files changed, 18 insertions(+), 13 deletions(-) diff --git a/README.org b/README.org index aa482e0..31c820c 100644 --- a/README.org +++ b/README.org @@ -405,6 +405,7 @@ Expands into a call to ~org-ql-select~ with the same arguments. For convenience + Call =helm-make-source= directly instead of using =helm-build-sync-source= macro. (Fixes [[https://github.com/alphapapa/org-ql/issues/60][#60]]. Thanks to [[https://github.com/matthuszagh][Matt Huszagh]] for reporting.) + Search/view buffers now always end with a newline, which prevents side-scrolling of the window when calling =end-of-buffer=. + Face for done to-do keywords in =org-ql-view= buffers. (Thanks to [[https://github.com/dsdshcym][Yiming Chen]].) ++ Make view buffers read-only. (Fixes [[https://github.com/alphapapa/org-ql/issues/72][#72]]. Thanks to [[https://github.com/xeijin][xeijin]].) *Internal* + Added generic node data cache to speed up recursive, tree-based queries. diff --git a/org-ql-view.el b/org-ql-view.el index 42cf1fe..c0a8207 100644 --- a/org-ql-view.el +++ b/org-ql-view.el @@ -439,7 +439,8 @@ If NAME is non-nil, return buffer by that name instead of using default buffer." (with-current-buffer (get-buffer-create (or name (concat org-ql-view-buffer-name-prefix "*"))) (unless (eq major-mode 'org-agenda-mode) - (org-agenda-mode)) + (org-agenda-mode) + (setf buffer-read-only t)) (current-buffer))) (defun org-ql-view--format-relative-date (difference) diff --git a/org-ql.info b/org-ql.info index 689d1e2..fe8dacc 100644 --- a/org-ql.info +++ b/org-ql.info @@ -738,6 +738,9 @@ File: README.info, Node: 04-pre, Next: 032, Up: Changelog side-scrolling of the window when calling end-of-buffer. • Face for done to-do keywords in org-ql-view buffers. (Thanks to Yiming Chen (https://github.com/dsdshcym).) + • Make view buffers read-only. (Fixes #72 + (https://github.com/alphapapa/org-ql/issues/72). Thanks to xeijin + (https://github.com/xeijin).) *Internal* • Added generic node data cache to speed up recursive, tree-based @@ -1030,18 +1033,18 @@ Node: Agenda-like views18025 Node: Listing / acting-on results19430 Node: Changelog24032 Node: 04-pre24569 -Node: 03226822 -Node: 03127203 -Node: 0327398 -Node: 02330371 -Node: 02230597 -Node: 02130863 -Node: 0231060 -Node: 0135093 -Node: Notes35192 -Node: Comparison with Org Agenda searches35354 -Node: org-sidebar36225 -Node: License36504 +Node: 03226977 +Node: 03127358 +Node: 0327553 +Node: 02330526 +Node: 02230752 +Node: 02131018 +Node: 0231215 +Node: 0135248 +Node: Notes35347 +Node: Comparison with Org Agenda searches35509 +Node: org-sidebar36380 +Node: License36659  End Tag Table From 610b1179c67cc3e7d113492117f52e3ef19bae0a Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Wed, 22 Jan 2020 17:01:03 -0600 Subject: [PATCH 128/615] Add: (org-ql-view-sidebar-sort-views) --- README.org | 1 + org-ql-view.el | 8 +++++++- org-ql.info | 25 +++++++++++++------------ 3 files changed, 21 insertions(+), 13 deletions(-) diff --git a/README.org b/README.org index 31c820c..958ec15 100644 --- a/README.org +++ b/README.org @@ -399,6 +399,7 @@ Expands into a call to ~org-ql-select~ with the same arguments. For convenience + Function ~helm-org-ql-source~, which returns a Helm source that searches given buffers/files with ~helm-org-ql~. It can be used for custom Helm commands that search certain files. + Display a message when views are refreshed. (Thanks to [[https://github.com/xeijin][xeijin]].) + Respect Org Agenda restriction in =org-ql-block=. (Thanks to [[https://github.com/yantar92][Ihor Radchenko]] for reporting.) ++ Option =org-ql-view-sidebar-sort-views=. *Fixed* + Inherit file tags when =org-tag-inheritance= is enabled. (Fixes [[https://github.com/alphapapa/org-ql/issues/55][#55]]. Thanks to [[https://github.com/mskorzhinskiy][Mikhail Skorzhinskiy]].) diff --git a/org-ql-view.el b/org-ql-view.el index c0a8207..54cde9b 100644 --- a/org-ql-view.el +++ b/org-ql-view.el @@ -115,6 +115,10 @@ See info node `(elisp)Cyclic Window Ordering'." "Side-window slot for Org QL Views list buffer." :type 'integer) +(defcustom org-ql-view-sidebar-sort-views nil + "Sort `org-ql-views' in `org-ql-view-sidebar'." + :type 'boolean) + (defcustom org-ql-views (list (cons "Recent entries" #'org-ql-view-recent-items) (cons "Review (to-do keyword without timestamp in past 2 weeks)" @@ -338,7 +342,9 @@ update search arguments." (erase-buffer) (->> org-ql-views (-map #'car) - (-sort #'string<) + (-sort (if org-ql-view-sidebar-sort-views + #'string< + #'ignore)) (s-join "\n") insert)) (current-buffer))) diff --git a/org-ql.info b/org-ql.info index fe8dacc..0e6f41f 100644 --- a/org-ql.info +++ b/org-ql.info @@ -725,6 +725,7 @@ File: README.info, Node: 04-pre, Next: 032, Up: Changelog (https://github.com/xeijin).) • Respect Org Agenda restriction in org-ql-block. (Thanks to Ihor Radchenko (https://github.com/yantar92) for reporting.) + • Option org-ql-view-sidebar-sort-views. *Fixed* • Inherit file tags when org-tag-inheritance is enabled. (Fixes #55 @@ -1033,18 +1034,18 @@ Node: Agenda-like views18025 Node: Listing / acting-on results19430 Node: Changelog24032 Node: 04-pre24569 -Node: 03226977 -Node: 03127358 -Node: 0327553 -Node: 02330526 -Node: 02230752 -Node: 02131018 -Node: 0231215 -Node: 0135248 -Node: Notes35347 -Node: Comparison with Org Agenda searches35509 -Node: org-sidebar36380 -Node: License36659 +Node: 03227023 +Node: 03127404 +Node: 0327599 +Node: 02330572 +Node: 02230798 +Node: 02131064 +Node: 0231261 +Node: 0135294 +Node: Notes35393 +Node: Comparison with Org Agenda searches35555 +Node: org-sidebar36426 +Node: License36705  End Tag Table From 6beada491263c196410226500f4ebd6fbc2a6b07 Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Wed, 22 Jan 2020 17:02:44 -0600 Subject: [PATCH 129/615] Change: (org-ql-views) Mouseover text, view names --- README.org | 4 ++ org-ql-view.el | 127 +++++++++++++++++++++++++++---------------------- org-ql.info | 30 +++++++----- 3 files changed, 93 insertions(+), 68 deletions(-) diff --git a/README.org b/README.org index 958ec15..a201ab7 100644 --- a/README.org +++ b/README.org @@ -400,6 +400,10 @@ Expands into a call to ~org-ql-select~ with the same arguments. For convenience + Display a message when views are refreshed. (Thanks to [[https://github.com/xeijin][xeijin]].) + Respect Org Agenda restriction in =org-ql-block=. (Thanks to [[https://github.com/yantar92][Ihor Radchenko]] for reporting.) + Option =org-ql-view-sidebar-sort-views=. ++ Mouseover =help-echo= text for =org-ql-views= default view names. + +*Changed* ++ Rename some default =org-ql-views= views. (Users who have modified =org-ql-views= from the default will not see the new names unless they copy them into their config.) *Fixed* + Inherit file tags when =org-tag-inheritance= is enabled. (Fixes [[https://github.com/alphapapa/org-ql/issues/55][#55]]. Thanks to [[https://github.com/mskorzhinskiy][Mikhail Skorzhinskiy]].) diff --git a/org-ql-view.el b/org-ql-view.el index 54cde9b..07bbc87 100644 --- a/org-ql-view.el +++ b/org-ql-view.el @@ -120,67 +120,82 @@ See info node `(elisp)Cyclic Window Ordering'." :type 'boolean) (defcustom org-ql-views - (list (cons "Recent entries" #'org-ql-view-recent-items) - (cons "Review (to-do keyword without timestamp in past 2 weeks)" + (list (cons "Overview: Agenda-like" + (list :buffers-files #'org-agenda-files + :query '(and (not (done)) + (or (habit) + (deadline auto) + (scheduled :to today) + (ts-active :on today))) + :sort '(date priority todo) + :super-groups 'org-super-agenda-groups + :title "Agenda-like")) + (cons "Overview: NEXT tasks" + (list :buffers-files #'org-agenda-files + :query '(todo "NEXT") + :sort '(priority date) + :super-groups 'org-super-agenda-groups + :title "Overview: NEXT tasks")) + (cons "Calendar: Today" + (list :buffers-files #'org-agenda-files + :query '(ts-active :on today) + :title "Today" + :super-groups 'org-super-agenda-groups + :sort '(priority))) + (cons "Calendar: This week" + (lambda () + "Show items with an active timestamp during this calendar week." + (interactive) + (let* ((ts (ts-now)) + (beg-of-week (->> ts + (ts-adjust 'day (- (ts-dow (ts-now)))) + (ts-apply :hour 0 :minute 0 :second 0))) + (end-of-week (->> ts + (ts-adjust 'day (- 6 (ts-dow (ts-now)))) + (ts-apply :hour 23 :minute 59 :second 59)))) + (org-ql-search (org-agenda-files) + `(ts-active :from ,beg-of-week + :to ,end-of-week) + :title "This week" + :super-groups 'org-super-agenda-groups + :sort '(priority))))) + (cons "Calendar: Next week" + (lambda () + "Show items with an active timestamp during the next calendar week." + (interactive) + (let* ((ts (ts-adjust 'day 7 (ts-now))) + (beg-of-week (->> ts + (ts-adjust 'day (- (ts-dow (ts-now)))) + (ts-apply :hour 0 :minute 0 :second 0))) + (end-of-week (->> ts + (ts-adjust 'day (- 6 (ts-dow (ts-now)))) + (ts-apply :hour 23 :minute 59 :second 59)))) + (org-ql-search (org-agenda-files) + `(ts-active :from ,beg-of-week + :to ,end-of-week) + :title "Next week" + :super-groups 'org-super-agenda-groups + :sort '(priority))))) + (cons "Review: Recently timestamped" #'org-ql-view-recent-items) + (cons (propertize "Review: Stale tasks" + 'help-echo "Tasks without a timestamp in the past 2 weeks") (list :buffers-files #'org-agenda-files :query '(and (todo) (not (ts :from -14))) - :title "Review" + :title (propertize "Review: Stale tasks" + 'help-echo "Tasks without a timestamp in the past 2 weeks") :sort '(date priority todo) :super-groups '((:auto-parent t)))) - (cons "Stuck Projects" (list :buffers-files #'org-agenda-files - :query '(and (todo) - (children) - (not (children (todo "NEXT")))) - :title "Stuck Projects" - :sort '(priority date) - :super-groups 'org-super-agenda-groups)) - (cons "Agenda-like" (list :buffers-files #'org-agenda-files - :query '(and (not (done)) - (or (habit) - (deadline auto) - (scheduled :to today) - (ts-active :on today))) - :sort '(date priority todo) - :super-groups 'org-super-agenda-groups - :title "Agenda-like")) - (cons "Today" (list :buffers-files #'org-agenda-files - :query '(ts-active :on today) - :title "Today" - :super-groups 'org-super-agenda-groups - :sort '(priority))) - (cons "This week" (lambda () - "Show items with an active timestamp during this calendar week." - (interactive) - (let* ((ts (ts-now)) - (beg-of-week (->> ts - (ts-adjust 'day (- (ts-dow (ts-now)))) - (ts-apply :hour 0 :minute 0 :second 0))) - (end-of-week (->> ts - (ts-adjust 'day (- 6 (ts-dow (ts-now)))) - (ts-apply :hour 23 :minute 59 :second 59)))) - (org-ql-search (org-agenda-files) - `(ts-active :from ,beg-of-week - :to ,end-of-week) - :title "This week" - :super-groups 'org-super-agenda-groups - :sort '(priority))))) - (cons "Next week" (lambda () - "Show items with an active timestamp during the next calendar week." - (interactive) - (let* ((ts (ts-adjust 'day 7 (ts-now))) - (beg-of-week (->> ts - (ts-adjust 'day (- (ts-dow (ts-now)))) - (ts-apply :hour 0 :minute 0 :second 0))) - (end-of-week (->> ts - (ts-adjust 'day (- 6 (ts-dow (ts-now)))) - (ts-apply :hour 23 :minute 59 :second 59)))) - (org-ql-search (org-agenda-files) - `(ts-active :from ,beg-of-week - :to ,end-of-week) - :title "Next week" - :super-groups 'org-super-agenda-groups - :sort '(priority)))))) + (cons (propertize "Review: Stuck projects" + 'help-echo "Tasks with sub-tasks but no NEXT sub-tasks") + (list :buffers-files #'org-agenda-files + :query '(and (todo) + (children) + (not (children (todo "NEXT")))) + :title (propertize "Review: Stuck projects" + 'help-echo "Tasks with sub-tasks but no NEXT sub-tasks") + :sort '(priority date) + :super-groups 'org-super-agenda-groups))) "Alist of `org-ql-view' commands." :type '(alist diff --git a/org-ql.info b/org-ql.info index 0e6f41f..d9923f0 100644 --- a/org-ql.info +++ b/org-ql.info @@ -726,6 +726,12 @@ File: README.info, Node: 04-pre, Next: 032, Up: Changelog • Respect Org Agenda restriction in org-ql-block. (Thanks to Ihor Radchenko (https://github.com/yantar92) for reporting.) • Option org-ql-view-sidebar-sort-views. + • Mouseover help-echo text for org-ql-views default view names. + + *Changed* + • Rename some default org-ql-views views. (Users who have modified + org-ql-views from the default will not see the new names unless + they copy them into their config.) *Fixed* • Inherit file tags when org-tag-inheritance is enabled. (Fixes #55 @@ -1034,18 +1040,18 @@ Node: Agenda-like views18025 Node: Listing / acting-on results19430 Node: Changelog24032 Node: 04-pre24569 -Node: 03227023 -Node: 03127404 -Node: 0327599 -Node: 02330572 -Node: 02230798 -Node: 02131064 -Node: 0231261 -Node: 0135294 -Node: Notes35393 -Node: Comparison with Org Agenda searches35555 -Node: org-sidebar36426 -Node: License36705 +Node: 03227288 +Node: 03127669 +Node: 0327864 +Node: 02330837 +Node: 02231063 +Node: 02131329 +Node: 0231526 +Node: 0135559 +Node: Notes35658 +Node: Comparison with Org Agenda searches35820 +Node: org-sidebar36691 +Node: License36970  End Tag Table From 9bd1235e00439dad6390ac0a052b86559271694b Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Wed, 22 Jan 2020 17:05:16 -0600 Subject: [PATCH 130/615] Meta: Update makem.sh files --- .github/workflows/test.yml | 10 +-- Makefile | 9 ++- makem.sh | 125 ++++++++++++++++++++++++++++++++----- 3 files changed, 120 insertions(+), 24 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 9a9c29c..b3c22ed 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -28,8 +28,8 @@ on: pull_request: push: # Comment out this section to enable testing of all branches. - # branches: - # - master + branches: + - master jobs: build: @@ -51,13 +51,15 @@ jobs: run: | SANDBOX_DIR=$(mktemp -d) || exit 1 echo ::set-env name=SANDBOX_DIR::$SANDBOX_DIR - ./makem.sh -vv --sandbox-dir=$SANDBOX_DIR --auto-install --install package-lint + ./makem.sh -vv --sandbox-dir=$SANDBOX_DIR --install-deps --install-linters # The "all" rule is not used, because it treats compilation warnings # as failures, so linting and testing are run as separate steps. - name: Lint - continue-on-error: true + # NOTE: Uncomment this line to treat lint failures as passing + # so the job doesn't show failure. + # continue-on-error: true run: ./makem.sh -vv --sandbox-dir=$SANDBOX_DIR lint - name: Test diff --git a/Makefile b/Makefile index 58c5a06..1ca3da4 100644 --- a/Makefile +++ b/Makefile @@ -11,8 +11,11 @@ # conflict with Make's own arguments through Make to the script. # Using -- doesn't seem to do it. -ifdef auto-install - AUTO_INSTALL = "--auto-install" +ifdef install-deps + INSTALL_DEPS = "--install-deps" +endif +ifdef install-linters + INSTALL_LINTERS = "--install-linters" endif ifdef sandbox @@ -46,4 +49,4 @@ endif # directory by that name exists, which can confuse Make. %: - @./makem.sh $(DEBUG) $(VERBOSE) $(SANDBOX) $(SANDBOX_DIR) $(AUTO_INSTALL) $(@) + @./makem.sh $(DEBUG) $(VERBOSE) $(SANDBOX) $(SANDBOX_DIR) $(INSTALL_DEPS) $(INSTALL_LINTERS) $(@) diff --git a/makem.sh b/makem.sh index 4cdf914..9f3538c 100755 --- a/makem.sh +++ b/makem.sh @@ -48,16 +48,21 @@ function usage { cat </dev/null + then + if [[ $direct_p ]] + then + error "$package not available." + else + verbose 2 "$package not available." + fi + return 1 + fi +} + +function ensure-tests-available { + # If tests of type $1 (like "ERT") are available, return 0. Otherwise, if + # $2 is set, give an error and return 1; otherwise give verbose message. $1 + # should have a corresponding predicate command, like ert-tests-p for ERT. + local test_name=$1 + local test_command="${test_name,,}-tests-p" # Converts name to lowercase. + local direct_p=$2 + + if ! $test_command + then + if [[ $direct_p ]] + then + error "$test_name tests not found." + else + verbose 2 "$test_name tests not found." + fi + return 1 + fi +} + function echo_color { # This allows bold, italic, etc. without needing a function for # each variation. @@ -407,9 +459,9 @@ function log { echo "LOG ($(ts)): $@" >&2 } function log_color { - local color=$1 + local color_name=$1 shift - echo_color $color "LOG ($(ts)): $@" >&2 + echo_color $color_name "LOG ($(ts)): $@" >&2 } function success { if [[ $verbose -ge 2 ]] @@ -421,11 +473,11 @@ function verbose { # $1 is the verbosity level, rest are echoed when appropriate. if [[ $verbose -ge $1 ]] then - [[ $1 -eq 1 ]] && local color=blue - [[ $1 -ge 2 ]] && local color=cyan + [[ $1 -eq 1 ]] && local color_name=blue + [[ $1 -ge 2 ]] && local color_name=cyan shift - log_color $color "$@" >&2 + log_color $color_name "$@" >&2 fi } @@ -436,6 +488,9 @@ function ts { # * Rules # These functions are intended to be called as rules, like a Makefile. +# Some rules test $1 to determine whether the rule is being called +# directly or from a meta-rule; if directly, an error is given if the +# rule can't be run, otherwise it's skipped. function all { verbose 1 "Running all rules..." @@ -466,7 +521,7 @@ function batch { } function interactive { - # Run Emacs interactively. Most useful with --sandbox and --auto-install. + # Run Emacs interactively. Most useful with --sandbox and --install-deps. unset arg_batch run_emacs \ $(args-load-files "${files_project_source[@]}" "${files_project_test[@]}") @@ -478,6 +533,7 @@ function lint { lint-checkdoc lint-compile + lint-indent lint-package } @@ -504,7 +560,36 @@ function lint-compile { unset compile_error_on_warn } +function lint-indent { + ensure-package-available indent-lint $1 || return $(echo-unset-p $1) + + verbose 1 "Linting indentation..." + + # FIXME: indent-lint outputs a summary line like: + # Diff finished (has differences). Fri Jan 17 10:30:34 2020 + # which is unnecessary for our use and clutters output. + + # We load project source files as well, because they may contain + # macros with (declare (indent)) rules which must be loaded to set + # indentation. However... + + # FIXME: This doesn't appear to actually work: macros that set + # indentation and are correctly indented in the source files are + # reported as having wrong indentation. Not sure if bug in + # indent-lint or here. + + run_emacs \ + --load indent-lint \ + $(args-load-files "${files_project_source[@]}" "${files_project_test[@]}") \ + --funcall indent-lint-batch \ + "${files_project_source[@]}" "${files_project_test[@]}" \ + && success "Linting indentation finished without errors." \ + || error "Linting indentation failed." +} + function lint-package { + ensure-package-available package-lint $1 || return $(echo-unset-p $1) + verbose 1 "Linting package..." run_emacs \ @@ -523,7 +608,7 @@ function tests { } function test-buttercup { - buttercup-tests-p || return 0 + ensure-tests-available Buttercup $1 || return $(echo-unset-p $1) compile || die verbose 1 "Running Buttercup tests..." @@ -540,7 +625,7 @@ function test-buttercup { } function test-ert { - ert-tests-p || return 0 + ensure-tests-available ERT $1 || return $(echo-unset-p $1) compile || die verbose 1 "Running ERT tests..." @@ -555,7 +640,7 @@ function test-ert { # * Defaults -test_files_regexp='^(tests?|t)/' +test_files_regexp='^((tests?|t)/)|-test.el$|^test-' emacs_command=("emacs") errors=0 @@ -630,7 +715,7 @@ files_project_byte_compile=("${files_project_source[@]}" "${files_project_test[@ args=$(getopt -n "$0" \ -o dhi:sS:vf:CO \ - -l auto-install,debug,debug-load-path,help,install:,verbose,file:,no-color,no-compile,no-org-repo,sandbox,sandbox-dir: \ + -l install-deps,install-linters,debug,debug-load-path,help,install:,verbose,file:,no-color,no-compile,no-org-repo,sandbox,sandbox-dir: \ -- "$@") \ || { usage; exit 1; } eval set -- "$args" @@ -638,8 +723,12 @@ eval set -- "$args" while true do case "$1" in - --auto-install) - auto_install=true + --install-deps) + install_deps=true + ;; + --install-linters) + args_sandbox_package_install+=(--eval "(package-install 'indent-lint)" + --eval "(package-install 'package-lint)") ;; -d|--debug) debug=true @@ -726,7 +815,9 @@ do batch=true elif type -t "$rule" 2>/dev/null | grep function &>/dev/null then - $rule + # Pass called-directly as $1 to indicate that the rule is + # being called directly rather than from a meta-rule. + $rule called-directly elif [[ $rule = test ]] then # Allow the "tests" rule to be called as "test". Since "test" From 154d3bc9495ec4d8183616711d03f4b9f82c458a Mon Sep 17 00:00:00 2001 From: Jeff Filipovits Date: Tue, 7 Jan 2020 08:02:50 -0500 Subject: [PATCH 131/615] Fix: (org-ql-select) Sorting with single atom sorter Closes #90. Thanks to Jeff Filipovits (@legalnonsense). --- README.org | 1 + org-ql.el | 2 +- org-ql.info | 26 ++++++++++++++------------ 3 files changed, 16 insertions(+), 13 deletions(-) diff --git a/README.org b/README.org index a201ab7..3cf51fa 100644 --- a/README.org +++ b/README.org @@ -411,6 +411,7 @@ Expands into a call to ~org-ql-select~ with the same arguments. For convenience + Search/view buffers now always end with a newline, which prevents side-scrolling of the window when calling =end-of-buffer=. + Face for done to-do keywords in =org-ql-view= buffers. (Thanks to [[https://github.com/dsdshcym][Yiming Chen]].) + Make view buffers read-only. (Fixes [[https://github.com/alphapapa/org-ql/issues/72][#72]]. Thanks to [[https://github.com/xeijin][xeijin]].) ++ Sorting with single sorter specified as an atom. (Thanks to [[https://github.com/legalnonsense][Jeff Filipovits]].) *Internal* + Added generic node data cache to speed up recursive, tree-based queries. diff --git a/org-ql.el b/org-ql.el index 27ede79..7e7c0fb 100644 --- a/org-ql.el +++ b/org-ql.el @@ -242,7 +242,7 @@ returns nil or non-nil." (pcase sort (`nil items) ((or 'date 'deadline 'scheduled 'todo 'priority 'random - (guard (cl-loop for elem in sort + (guard (cl-loop for elem in (-list sort) always (memq elem '(date deadline scheduled todo priority random))))) ;; Default sorting functions (org-ql--sort-by items (-list sort))) diff --git a/org-ql.info b/org-ql.info index d9923f0..5618077 100644 --- a/org-ql.info +++ b/org-ql.info @@ -748,6 +748,8 @@ File: README.info, Node: 04-pre, Next: 032, Up: Changelog • Make view buffers read-only. (Fixes #72 (https://github.com/alphapapa/org-ql/issues/72). Thanks to xeijin (https://github.com/xeijin).) + • Sorting with single sorter specified as an atom. (Thanks to Jeff + Filipovits (https://github.com/legalnonsense).) *Internal* • Added generic node data cache to speed up recursive, tree-based @@ -1040,18 +1042,18 @@ Node: Agenda-like views18025 Node: Listing / acting-on results19430 Node: Changelog24032 Node: 04-pre24569 -Node: 03227288 -Node: 03127669 -Node: 0327864 -Node: 02330837 -Node: 02231063 -Node: 02131329 -Node: 0231526 -Node: 0135559 -Node: Notes35658 -Node: Comparison with Org Agenda searches35820 -Node: org-sidebar36691 -Node: License36970 +Node: 03227414 +Node: 03127795 +Node: 0327990 +Node: 02330963 +Node: 02231189 +Node: 02131455 +Node: 0231652 +Node: 0135685 +Node: Notes35784 +Node: Comparison with Org Agenda searches35946 +Node: org-sidebar36817 +Node: License37096  End Tag Table From 79d9bd59cf00f63f13e770f00c20baa6824d6271 Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Wed, 22 Jan 2020 17:23:00 -0600 Subject: [PATCH 132/615] Docs: Add note about 0.5 changes --- README.org | 2 ++ org-ql.info | 32 +++++++++++++++++++------------- 2 files changed, 21 insertions(+), 13 deletions(-) diff --git a/README.org b/README.org index 3cf51fa..1ca0ac1 100644 --- a/README.org +++ b/README.org @@ -384,6 +384,8 @@ Expands into a call to ~org-ql-select~ with the same arguments. For convenience ** 0.4-pre +/Note:/ The next release, 0.5, may include changes which will require minor updates to written queries (e.g. a few predicates may be renamed). Users who wish to avoid those changes happening unexpectedly in their configs should avoid upgrading =org-ql= automatically, as they will be pushed to the =master= branch when ready. + *Added* + *Commands* - ~helm-org-ql-views~, which shows one of ~org-ql-views~ selected with Helm. diff --git a/org-ql.info b/org-ql.info index 5618077..7eb5138 100644 --- a/org-ql.info +++ b/org-ql.info @@ -699,7 +699,13 @@ File: README.info, Node: 04-pre, Next: 032, Up: Changelog 5.1 0.4-pre =========== -*Added* +_Note:_ The next release, 0.5, may include changes which will require +minor updates to written queries (e.g. a few predicates may be +renamed). Users who wish to avoid those changes happening unexpectedly +in their configs should avoid upgrading org-ql automatically, as they +will be pushed to the master branch when ready. + + *Added* • *Commands* • ‘helm-org-ql-views’, which shows one of ‘org-ql-views’ selected with Helm. @@ -1042,18 +1048,18 @@ Node: Agenda-like views18025 Node: Listing / acting-on results19430 Node: Changelog24032 Node: 04-pre24569 -Node: 03227414 -Node: 03127795 -Node: 0327990 -Node: 02330963 -Node: 02231189 -Node: 02131455 -Node: 0231652 -Node: 0135685 -Node: Notes35784 -Node: Comparison with Org Agenda searches35946 -Node: org-sidebar36817 -Node: License37096 +Node: 03227742 +Node: 03128123 +Node: 0328318 +Node: 02331291 +Node: 02231517 +Node: 02131783 +Node: 0231980 +Node: 0136013 +Node: Notes36112 +Node: Comparison with Org Agenda searches36274 +Node: org-sidebar37145 +Node: License37424  End Tag Table From 2e0d38daae76af631d5d5ae438ca13b2e2948aea Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Wed, 22 Jan 2020 17:28:11 -0600 Subject: [PATCH 133/615] Tidy: (org-ql-select) Sorting pcase --- org-ql.el | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/org-ql.el b/org-ql.el index 7e7c0fb..effa411 100644 --- a/org-ql.el +++ b/org-ql.el @@ -241,9 +241,8 @@ returns nil or non-nil." ;; Sort items (pcase sort (`nil items) - ((or 'date 'deadline 'scheduled 'todo 'priority 'random - (guard (cl-loop for elem in (-list sort) - always (memq elem '(date deadline scheduled todo priority random))))) + ((guard (cl-loop for elem in (-list sort) + always (memq elem '(date deadline scheduled todo priority random)))) ;; Default sorting functions (org-ql--sort-by items (-list sort))) ;; Sort by user-given comparator. From b00949d9456a7763f3a999870d31ff6cde991aa1 Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Wed, 22 Jan 2020 17:37:28 -0600 Subject: [PATCH 134/615] Docs: (priority) Update docstring Fixes #81. Thanks to Ihor Radchenko (@yantar92). --- README.org | 2 +- org-ql.info | 52 +++++++++++++++++++++++++++------------------------- 2 files changed, 28 insertions(+), 26 deletions(-) diff --git a/README.org b/README.org index 1ca0ac1..40c16dd 100644 --- a/README.org +++ b/README.org @@ -192,7 +192,7 @@ Arguments are listed next to predicate names, where applicable. + =outline-path-segment (&rest strings)= :: Return non-nil if current node's outline path matches ~STRINGS~. Matches ~STRINGS~ as a contiguous segment of the outline path. Each string is compared as a substring. For example the path ~Food/Fruits/Grapes~ would match ~(olps "Fruit" "Grape")~ but not ~(olps "Food" "Grape")~. - Aliases: ~olps~. + =path (&rest regexps)= :: Return non-nil if current heading's buffer's filename path matches any of ~REGEXPS~ (regexp strings). Without arguments, return non-nil if buffer is file-backed. -+ =priority (&optional comparator-or-priority priority)= :: Return non-nil if current heading has a certain priority. ~COMPARATOR-OR-PRIORITY~ should be either a comparator function, like ~<=~, or a priority string, like "A" (in which case (~=~ will be the comparator). If ~COMPARATOR-OR-PRIORITY~ is a comparator, ~PRIORITY~ should be a priority string. If both arguments are nil, return non-nil if heading has any defined priority. ++ =priority (&rest args)= :: Return non-nil if current heading has a certain priority. ~ARGS~ may be either a list of one or more priority letters as strings, or a comparator function symbol followed by a priority letter string. For example: ~(priority "A") (priority "A" "B") (priority '>= "B")~ Note that items without a priority cookie never match this predicate (while Org itself considers items without a cookie to have the default priority, which, by default, is equal to priority ~B~). + =property (property &optional value)= :: Return non-nil if current entry has ~PROPERTY~ (a string), and optionally ~VALUE~ (a string). Note that property inheritance is currently /not/ enabled for this predicate. If you need to test with inheritance, you could use a custom predicate form, like ~(org-entry-get (point) "PROPERTY" 'inherit)~. + =regexp (&rest regexps)= :: Return non-nil if current entry matches all of ~REGEXPS~ (regexp strings). Matches against entire entry, from beginning of its heading to the next heading. - Aliases: =r=. diff --git a/org-ql.info b/org-ql.info index 7eb5138..9336d3b 100644 --- a/org-ql.info +++ b/org-ql.info @@ -395,13 +395,15 @@ Arguments are listed next to predicate names, where applicable. Return non-nil if current heading’s buffer’s filename path matches any of ‘REGEXPS’ (regexp strings). Without arguments, return non-nil if buffer is file-backed. -‘priority (&optional comparator-or-priority priority)’ - Return non-nil if current heading has a certain priority. - ‘COMPARATOR-OR-PRIORITY’ should be either a comparator function, - like ‘<=’, or a priority string, like "A" (in which case (‘=’ will - be the comparator). If ‘COMPARATOR-OR-PRIORITY’ is a comparator, - ‘PRIORITY’ should be a priority string. If both arguments are nil, - return non-nil if heading has any defined priority. +‘priority (&rest args)’ + Return non-nil if current heading has a certain priority. ‘ARGS’ + may be either a list of one or more priority letters as strings, or + a comparator function symbol followed by a priority letter string. + For example: ‘(priority "A") (priority "A" "B") (priority '>= "B")’ + Note that items without a priority cookie never match this + predicate (while Org itself considers items without a cookie to + have the default priority, which, by default, is equal to priority + ‘B’). ‘property (property &optional value)’ Return non-nil if current entry has ‘PROPERTY’ (a string), and optionally ‘VALUE’ (a string). Note that property inheritance is @@ -1042,24 +1044,24 @@ Node: org-ql-sparse-tree6635 Node: Queries7435 Node: Non-sexp query syntax8296 Node: Predicates9995 -Node: Date/time predicates15157 -Node: Functions / Macros17792 -Node: Agenda-like views18025 -Node: Listing / acting-on results19430 -Node: Changelog24032 -Node: 04-pre24569 -Node: 03227742 -Node: 03128123 -Node: 0328318 -Node: 02331291 -Node: 02231517 -Node: 02131783 -Node: 0231980 -Node: 0136013 -Node: Notes36112 -Node: Comparison with Org Agenda searches36274 -Node: org-sidebar37145 -Node: License37424 +Node: Date/time predicates15217 +Node: Functions / Macros17852 +Node: Agenda-like views18085 +Node: Listing / acting-on results19490 +Node: Changelog24092 +Node: 04-pre24629 +Node: 03227802 +Node: 03128183 +Node: 0328378 +Node: 02331351 +Node: 02231577 +Node: 02131843 +Node: 0232040 +Node: 0136073 +Node: Notes36172 +Node: Comparison with Org Agenda searches36334 +Node: org-sidebar37205 +Node: License37484  End Tag Table From dc26e938fa2e25628b3c3c1ddff8f2f97fb7f695 Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Wed, 22 Jan 2020 17:45:33 -0600 Subject: [PATCH 135/615] Fix: (org-ql-block) Autoloads Fixes #53. Thanks to reports from Gus Cantieni (@gcantieni), Karl Voit (@novoid), rieje (@rieje), and Jake | Junxuan (@jakejx). --- README.org | 1 + org-ql-search.el | 1 + org-ql.info | 29 +++++++++++++++++------------ 3 files changed, 19 insertions(+), 12 deletions(-) diff --git a/README.org b/README.org index 40c16dd..4a1ecbd 100644 --- a/README.org +++ b/README.org @@ -414,6 +414,7 @@ Expands into a call to ~org-ql-select~ with the same arguments. For convenience + Face for done to-do keywords in =org-ql-view= buffers. (Thanks to [[https://github.com/dsdshcym][Yiming Chen]].) + Make view buffers read-only. (Fixes [[https://github.com/alphapapa/org-ql/issues/72][#72]]. Thanks to [[https://github.com/xeijin][xeijin]].) + Sorting with single sorter specified as an atom. (Thanks to [[https://github.com/legalnonsense][Jeff Filipovits]].) ++ Autoload for =org-ql-block= agenda block. (Fixes [[https://github.com/alphapapa/org-ql/issues/53][#53]]. Thanks to reports from [[https://github.com/gcantieni][Gus Cantieni]], [[https://github.com/novoid][Karl Voit]], [[https://github.com/rieje][rieje]], and [[https://github.com/jakejx][Jake | Junxuan]].) *Internal* + Added generic node data cache to speed up recursive, tree-based queries. diff --git a/org-ql-search.el b/org-ql-search.el index fab0e95..d97d59e 100644 --- a/org-ql-search.el +++ b/org-ql-search.el @@ -219,6 +219,7 @@ necessary." (org-ql-view--display :buffer buffer :header header :string (s-join "\n" strings))))) +;;;###autoload (defun org-ql-search-block (query) "Insert items for QUERY into current buffer. QUERY should be an `org-ql' query form. Intended to be used as a diff --git a/org-ql.info b/org-ql.info index 9336d3b..6419125 100644 --- a/org-ql.info +++ b/org-ql.info @@ -758,6 +758,11 @@ will be pushed to the master branch when ready. (https://github.com/xeijin).) • Sorting with single sorter specified as an atom. (Thanks to Jeff Filipovits (https://github.com/legalnonsense).) + • Autoload for org-ql-block agenda block. (Fixes #53 + (https://github.com/alphapapa/org-ql/issues/53). Thanks to reports + from Gus Cantieni (https://github.com/gcantieni), Karl Voit + (https://github.com/novoid), rieje (https://github.com/rieje), and + Jake | Junxuan (https://github.com/jakejx).) *Internal* • Added generic node data cache to speed up recursive, tree-based @@ -1050,18 +1055,18 @@ Node: Agenda-like views18085 Node: Listing / acting-on results19490 Node: Changelog24092 Node: 04-pre24629 -Node: 03227802 -Node: 03128183 -Node: 0328378 -Node: 02331351 -Node: 02231577 -Node: 02131843 -Node: 0232040 -Node: 0136073 -Node: Notes36172 -Node: Comparison with Org Agenda searches36334 -Node: org-sidebar37205 -Node: License37484 +Node: 03228121 +Node: 03128502 +Node: 0328697 +Node: 02331670 +Node: 02231896 +Node: 02132162 +Node: 0232359 +Node: 0136392 +Node: Notes36491 +Node: Comparison with Org Agenda searches36653 +Node: org-sidebar37524 +Node: License37803  End Tag Table From 090debabc7aa5b15c825cb4ab061f451ec40939c Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Wed, 22 Jan 2020 21:14:08 -0600 Subject: [PATCH 136/615] Meta: Fix test.yml It's easy to overwrite these local changes, but easy to revert them as well. --- .github/workflows/test.yml | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index b3c22ed..6930896 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -28,8 +28,8 @@ on: pull_request: push: # Comment out this section to enable testing of all branches. - branches: - - master + # branches: + # - master jobs: build: @@ -57,9 +57,7 @@ jobs: # as failures, so linting and testing are run as separate steps. - name: Lint - # NOTE: Uncomment this line to treat lint failures as passing - # so the job doesn't show failure. - # continue-on-error: true + continue-on-error: true run: ./makem.sh -vv --sandbox-dir=$SANDBOX_DIR lint - name: Test From b8a4a539836a6f73bfe13bf5769ed679e19c2ac4 Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Wed, 22 Jan 2020 23:24:54 -0600 Subject: [PATCH 137/615] Change: (org-ql-views/Stuck projects) Use descendants, not children --- README.org | 4 +++- org-ql-view.el | 4 ++-- org-ql.info | 33 ++++++++++++++++++--------------- 3 files changed, 23 insertions(+), 18 deletions(-) diff --git a/README.org b/README.org index 4a1ecbd..4922e12 100644 --- a/README.org +++ b/README.org @@ -405,7 +405,9 @@ Expands into a call to ~org-ql-select~ with the same arguments. For convenience + Mouseover =help-echo= text for =org-ql-views= default view names. *Changed* -+ Rename some default =org-ql-views= views. (Users who have modified =org-ql-views= from the default will not see the new names unless they copy them into their config.) ++ Some default =org-ql-view= views (users who have modified =org-ql-views= from the default will not see the new views unless they copy them into their config): + - Rename some views. + - "Stuck projects" view (now uses =descendants= instead of =children=, which is more useful. *Fixed* + Inherit file tags when =org-tag-inheritance= is enabled. (Fixes [[https://github.com/alphapapa/org-ql/issues/55][#55]]. Thanks to [[https://github.com/mskorzhinskiy][Mikhail Skorzhinskiy]].) diff --git a/org-ql-view.el b/org-ql-view.el index 07bbc87..4ce6a37 100644 --- a/org-ql-view.el +++ b/org-ql-view.el @@ -190,8 +190,8 @@ See info node `(elisp)Cyclic Window Ordering'." 'help-echo "Tasks with sub-tasks but no NEXT sub-tasks") (list :buffers-files #'org-agenda-files :query '(and (todo) - (children) - (not (children (todo "NEXT")))) + (descendants (todo)) + (not (descendants (todo "NEXT")))) :title (propertize "Review: Stuck projects" 'help-echo "Tasks with sub-tasks but no NEXT sub-tasks") :sort '(priority date) diff --git a/org-ql.info b/org-ql.info index 6419125..5184668 100644 --- a/org-ql.info +++ b/org-ql.info @@ -737,9 +737,12 @@ will be pushed to the master branch when ready. • Mouseover help-echo text for org-ql-views default view names. *Changed* - • Rename some default org-ql-views views. (Users who have modified - org-ql-views from the default will not see the new names unless - they copy them into their config.) + • Some default org-ql-view views (users who have modified + org-ql-views from the default will not see the new views unless + they copy them into their config): + • Rename some views. + • "Stuck projects" view (now uses descendants instead of + children, which is more useful. *Fixed* • Inherit file tags when org-tag-inheritance is enabled. (Fixes #55 @@ -1055,18 +1058,18 @@ Node: Agenda-like views18085 Node: Listing / acting-on results19490 Node: Changelog24092 Node: 04-pre24629 -Node: 03228121 -Node: 03128502 -Node: 0328697 -Node: 02331670 -Node: 02231896 -Node: 02132162 -Node: 0232359 -Node: 0136392 -Node: Notes36491 -Node: Comparison with Org Agenda searches36653 -Node: org-sidebar37524 -Node: License37803 +Node: 03228251 +Node: 03128632 +Node: 0328827 +Node: 02331800 +Node: 02232026 +Node: 02132292 +Node: 0232489 +Node: 0136522 +Node: Notes36621 +Node: Comparison with Org Agenda searches36783 +Node: org-sidebar37654 +Node: License37933  End Tag Table From 65fb37c30d6c0764a5f9f2b17b7062439804740e Mon Sep 17 00:00:00 2001 From: Josh Moller-Mara Date: Wed, 18 Dec 2019 01:01:47 +0800 Subject: [PATCH 138/615] Add: parent and ancestors predicates These predicates are analogs to the existing "children" and "descendents" predicates. They may be useful for testing parents for specific todo states, or if they have non-inherited tags (i.e. tags from "org-tags-exclude-from-inheritance"). --- README.org | 3 +++ org-ql.el | 73 ++++++++++++++++++++++++++++++++---------------------- 2 files changed, 47 insertions(+), 29 deletions(-) diff --git a/README.org b/README.org index 4922e12..23f672f 100644 --- a/README.org +++ b/README.org @@ -181,7 +181,9 @@ Arguments are listed next to predicate names, where applicable. + =category (&optional categories)= :: Return non-nil if current heading is in one or more of ~CATEGORIES~ (a list of strings). + =children (&optional query)= :: Return non-nil if current heading has direct child headings. If ~QUERY~, test it against child headings. This selector may be nested, e.g. to match grandchild headings. ++ =parent (&optional query)= :: Return non-nil if current heading has a direct parent heading. If ~QUERY~, test it against the parent heading. This selector may be nested, e.g. to match grandparent headings. + =descendants (&optional query)= :: Return non-nil if current heading has descendant headings. If ~QUERY~, test it against descendant headings. This selector may be nested (if you can grok the nesting!). ++ =ancestors (&optional query)= :: Return non-nil if current heading has ancestor headings (which is true if it has a parent heading). With ~QUERY~, return non-nil if some ancestor heading matches it. This selector may also be nested. + =done= :: Return non-nil if entry's ~TODO~ keyword is in ~org-done-keywords~. + =habit= :: Return non-nil if entry is a habit. + =heading (&rest regexps)= :: Return non-nil if current entry's heading matches all ~REGEXPS~ (regexp strings). @@ -395,6 +397,7 @@ Expands into a call to ~org-ql-select~ with the same arguments. For convenience - Negation of terms in plain queries using ~!~. For example, ~tags:space !moon~ to exclude entries which contain ~moon~. - Predicates =outline-path= (alias =olp=) and =outline-path-segment= (alias =olps=). - Predicate ~src~, which matches Org Babel source blocks. + - Predicates =parent= and =ancestors=. - Alias =h= for =heading= predicate. - Alias =r= for =regexp= predicate. (Thanks to [[https://github.com/tumashu][Feng Shu]].) + Info manual. diff --git a/org-ql.el b/org-ql.el index effa411..e643ca5 100644 --- a/org-ql.el +++ b/org-ql.el @@ -548,6 +548,10 @@ Replaces bare strings with (regexp) selectors, and appropriate (`(children) '(children (lambda () t))) (`(descendants ,query) `(descendants ',query)) (`(descendants) '(descendants (lambda () t))) + (`(parent ,query) `(parent ,(org-ql--query-predicate (rec query)))) + (`(parent) `(parent ,(org-ql--query-predicate (rec '(lambda () t))))) + (`(ancestors ,query) `(ancestors ,(org-ql--query-predicate (rec query)))) + (`(ancestors) `(ancestors ,(org-ql--query-predicate (rec '(lambda () t))))) ;; Timestamp-based predicates. I think this is the way that makes the most sense: ;; set the limit to N days in the future, adjusted to 23:59:59 (since Org doesn't ;; support timestamps down to the second, anyway, there should be no need to adjust @@ -931,38 +935,49 @@ Arguments STRING, POS, FILL, and LEVEL are according to (org-ql--defpred children (query) "Return non-nil if current entry has children matching QUERY." - (save-excursion - (save-restriction - (org-narrow-to-subtree) - (when (org-goto-first-child) - ;; Lisp makes this easy and elegant: all we do is modify the query, - ;; nesting it inside an (and), and it doesn't descend into grandchildren. - (let* ((level (org-current-level)) - (query (cl-typecase query - (byte-code-function `(and (level ,level) - (funcall ,query))) - (t `(and (level ,level) - ,query))))) - (catch 'found - (org-ql-select (current-buffer) - query - :narrow t - :action (lambda () - (throw 'found t))))))))) + (org-with-wide-buffer + ;; Widening is needed if inside an "ancestors" query + (org-narrow-to-subtree) + (when (org-goto-first-child) + ;; Lisp makes this easy and elegant: all we do is modify the query, + ;; nesting it inside an (and), and it doesn't descend into grandchildren. + (let* ((level (org-current-level)) + (query (cl-typecase query + (byte-code-function `(and (level ,level) + (funcall ,query))) + (t `(and (level ,level) + ,query))))) + (catch 'found + (org-ql-select (current-buffer) + query + :narrow t + :action (lambda () + (throw 'found t)))))))) + +(org-ql--defpred parent (predicate) + "Return non-nil if the current entry's parent satisfies PREDICATE." + (org-with-wide-buffer + (when (org-up-heading-safe) + (org-ql--value-at (point) predicate)))) (org-ql--defpred descendants (query) "Return non-nil if current entry has descendants matching QUERY." - (save-excursion - (save-restriction - (org-narrow-to-subtree) - (when (org-goto-first-child) - (narrow-to-region (point) (point-max)) - (catch 'found - (org-ql-select (current-buffer) - query - :narrow t - :action (lambda () - (throw 'found t)))))))) + (org-with-wide-buffer + (org-narrow-to-subtree) + (when (org-goto-first-child) + (narrow-to-region (point) (point-max)) + (catch 'found + (org-ql-select (current-buffer) + query + :narrow t + :action (lambda () + (throw 'found t))))))) + +(org-ql--defpred ancestors (predicate) + "Return non-nil if any of current entry's ancestors satisfy PREDICATE." + (org-with-wide-buffer + (cl-loop while (org-up-heading-safe) + thereis (org-ql--value-at (point) predicate)))) (org-ql--defpred category (&rest categories) "Return non-nil if current heading is in one or more of CATEGORIES (a list of strings)." From e48cdf71437cb5030b23048486bb848afd569d9a Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Mon, 13 Jan 2020 20:22:53 -0600 Subject: [PATCH 139/615] Tests: Add ancestor/parent tests --- tests/test-org-ql.el | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/tests/test-org-ql.el b/tests/test-org-ql.el index 2d1e6ed..982e226 100644 --- a/tests/test-org-ql.el +++ b/tests/test-org-ql.el @@ -347,6 +347,24 @@ RESULTS should be a list of strings as returned by ;; TODO: Other predicates. + (describe "(ancestors)" + (org-ql-it "without sub-query" + (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"))) + '("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)) + '("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")))) + '("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" From 3003eb8ad490a89861ddce3ffb21df5f7bec0af4 Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Wed, 22 Jan 2020 18:42:20 -0600 Subject: [PATCH 140/615] Comment: Add tasks --- org-ql.el | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/org-ql.el b/org-ql.el index e643ca5..ec41546 100644 --- a/org-ql.el +++ b/org-ql.el @@ -941,6 +941,9 @@ Arguments STRING, POS, FILL, and LEVEL are according to (when (org-goto-first-child) ;; Lisp makes this easy and elegant: all we do is modify the query, ;; nesting it inside an (and), and it doesn't descend into grandchildren. + + ;; TODO: However, this could probably be rewritten like the `ancestors' predicate, + ;; which avoids calling `org-ql-select' recursively and its associated overhead. (let* ((level (org-current-level)) (query (cl-typecase query (byte-code-function `(and (level ,level) @@ -962,6 +965,8 @@ Arguments STRING, POS, FILL, and LEVEL are according to (org-ql--defpred descendants (query) "Return non-nil if current entry has descendants matching QUERY." + ;; TODO: This could probably be rewritten like the `ancestors' predicate, + ;; which avoids calling `org-ql-select' recursively and its associated overhead. (org-with-wide-buffer (org-narrow-to-subtree) (when (org-goto-first-child) From adc5447c7287082dec8cb16ec90ac634147b75bf Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Wed, 22 Jan 2020 22:45:16 -0600 Subject: [PATCH 141/615] Tidy/Comment: Ancestor/descendant predicates --- org-ql.el | 119 +++++++++++++++++++++++++++++++----------------------- 1 file changed, 68 insertions(+), 51 deletions(-) diff --git a/org-ql.el b/org-ql.el index ec41546..90f752f 100644 --- a/org-ql.el +++ b/org-ql.el @@ -933,57 +933,6 @@ Arguments STRING, POS, FILL, and LEVEL are according to ;;;;; Predicates -(org-ql--defpred children (query) - "Return non-nil if current entry has children matching QUERY." - (org-with-wide-buffer - ;; Widening is needed if inside an "ancestors" query - (org-narrow-to-subtree) - (when (org-goto-first-child) - ;; Lisp makes this easy and elegant: all we do is modify the query, - ;; nesting it inside an (and), and it doesn't descend into grandchildren. - - ;; TODO: However, this could probably be rewritten like the `ancestors' predicate, - ;; which avoids calling `org-ql-select' recursively and its associated overhead. - (let* ((level (org-current-level)) - (query (cl-typecase query - (byte-code-function `(and (level ,level) - (funcall ,query))) - (t `(and (level ,level) - ,query))))) - (catch 'found - (org-ql-select (current-buffer) - query - :narrow t - :action (lambda () - (throw 'found t)))))))) - -(org-ql--defpred parent (predicate) - "Return non-nil if the current entry's parent satisfies PREDICATE." - (org-with-wide-buffer - (when (org-up-heading-safe) - (org-ql--value-at (point) predicate)))) - -(org-ql--defpred descendants (query) - "Return non-nil if current entry has descendants matching QUERY." - ;; TODO: This could probably be rewritten like the `ancestors' predicate, - ;; which avoids calling `org-ql-select' recursively and its associated overhead. - (org-with-wide-buffer - (org-narrow-to-subtree) - (when (org-goto-first-child) - (narrow-to-region (point) (point-max)) - (catch 'found - (org-ql-select (current-buffer) - query - :narrow t - :action (lambda () - (throw 'found t))))))) - -(org-ql--defpred ancestors (predicate) - "Return non-nil if any of current entry's ancestors satisfy PREDICATE." - (org-with-wide-buffer - (cl-loop while (org-up-heading-safe) - thereis (org-ql--value-at (point) predicate)))) - (org-ql--defpred category (&rest categories) "Return non-nil if current heading is in one or more of CATEGORIES (a list of strings)." (when-let ((category (org-get-category (point)))) @@ -1213,6 +1162,74 @@ language." ;; No regexps to check: return non-nil. t)))))) +;;;;;; Ancestor/descendant + +;; These predicates search ancestor and descendant headings for sub-queries. + +;; Note that the implementations of the upward-searching, ancestor/parent predicates differ +;; from that of the downward-searching, descendants/children predicates in that the former +;; take a predicate function as their argument and test it on each heading (the predicate +;; being created by the `--query-pre-process' function, which see), while the latter take an +;; `org-ql' query form as their argument and execute another `org-ql-select' query inside of +;; the currently running query. This "split" implementation seems like the most generally +;; efficient one, because searching descendants searches potentially many more headings than +;; searching ancestors, so executing a full query in that case can be faster due to use of +;; the "preambles" provided by running a full query. However, see note below. + +(org-ql--defpred parent (predicate) + "Return non-nil if the current entry's parent satisfies PREDICATE." + (org-with-wide-buffer + (when (org-up-heading-safe) + (org-ql--value-at (point) predicate)))) + +(org-ql--defpred ancestors (predicate) + "Return non-nil if any of current entry's ancestors satisfy PREDICATE." + (org-with-wide-buffer + (cl-loop while (org-up-heading-safe) + thereis (org-ql--value-at (point) predicate)))) + +;; MAYBE: The `children' and `descendants' predicates could probably be rewritten like +;; the `ancestors' predicate, which avoids calling `org-ql-select' recursively and its +;; associated overhead. However, that would preclude the use of preambles, so depending +;; on the Org file being searched and the sub-query, performance could be better or +;; worse. It should be benchmarked extensively before so changing the implementation. + +(org-ql--defpred children (query) + "Return non-nil if current entry has children matching QUERY." + (org-with-wide-buffer + ;; Widening is needed if inside an "ancestors" query + (org-narrow-to-subtree) + (when (org-goto-first-child) + ;; Lisp makes this easy and elegant: all we do is modify the query, + ;; nesting it inside an (and), and it doesn't descend into grandchildren. + (let* ((level (org-current-level)) + (query (cl-typecase query + (byte-code-function `(and (level ,level) + (funcall ,query))) + (t `(and (level ,level) + ,query))))) + (catch 'found + (org-ql-select (current-buffer) + query + :narrow t + :action (lambda () + (throw 'found t)))))))) + +(org-ql--defpred descendants (query) + "Return non-nil if current entry has descendants matching QUERY." + ;; TODO: This could probably be rewritten like the `ancestors' predicate, + ;; which avoids calling `org-ql-select' recursively and its associated overhead. + (org-with-wide-buffer + (org-narrow-to-subtree) + (when (org-goto-first-child) + (narrow-to-region (point) (point-max)) + (catch 'found + (org-ql-select (current-buffer) + query + :narrow t + :action (lambda () + (throw 'found t))))))) + ;;;;;; Timestamps ;; TODO: Remove the _on vars from these arg lists. I think they're not From 0e1196fd6f6bb35d9027578590e3986461beb3a9 Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Wed, 22 Jan 2020 22:53:57 -0600 Subject: [PATCH 142/615] Tidy/Docs/Comment: Ancestor/descendant predicates --- README.org | 23 +++++++++++++++-------- org-ql.el | 16 ++++++++++------ 2 files changed, 25 insertions(+), 14 deletions(-) diff --git a/README.org b/README.org index 23f672f..dd58a61 100644 --- a/README.org +++ b/README.org @@ -143,10 +143,14 @@ Show a sparse tree for ~QUERY~ in ~BUFFER~ and return number of results. The tr ~QUERY~ is an ~org-ql~ query sexp (quoted, since this is a function). ~BUFFER~ defaults to the current buffer. When ~KEEP-PREVIOUS~ is non-nil (interactively, with prefix), the outline is not reset to the overview state before finding matches, which allows stacking calls to this command. Runs ~org-occur-hook~ after making the sparse tree. ** Queries +:PROPERTIES: +:TOC: :include descendants :depth 1 +:END: :CONTENTS: -- [[#non-sexp-query-syntax][Non-sexp query syntax]] -- [[#predicates][Predicates]] -- [[#datetime-predicates][Date/time predicates]] +- [[#non-sexp-query-syntax][Non-sexp query syntax]] +- [[#general-predicates][General predicates]] +- [[#ancestordescendant-predicates][Ancestor/descendant predicates]] +- [[#datetime-predicates][Date/time predicates]] :END: An =org-ql= query is a lisp form which may contain arbitrary lisp forms, as well as certain built-in predicates. It is byte-compiled into a predicate function which is tested with point on each heading in an Org buffer; when it returns non-nil, the heading matches the query. @@ -175,15 +179,11 @@ The command =org-ql-search= also accepts, and the command =helm-org-ql= only acc Note that the =priority= predicate does not support comparators in the non-sexp syntax, so multiple priorities should be passed instead, as seen in the last example. -*** Predicates +*** General predicates Arguments are listed next to predicate names, where applicable. + =category (&optional categories)= :: Return non-nil if current heading is in one or more of ~CATEGORIES~ (a list of strings). -+ =children (&optional query)= :: Return non-nil if current heading has direct child headings. If ~QUERY~, test it against child headings. This selector may be nested, e.g. to match grandchild headings. -+ =parent (&optional query)= :: Return non-nil if current heading has a direct parent heading. If ~QUERY~, test it against the parent heading. This selector may be nested, e.g. to match grandparent headings. -+ =descendants (&optional query)= :: Return non-nil if current heading has descendant headings. If ~QUERY~, test it against descendant headings. This selector may be nested (if you can grok the nesting!). -+ =ancestors (&optional query)= :: Return non-nil if current heading has ancestor headings (which is true if it has a parent heading). With ~QUERY~, return non-nil if some ancestor heading matches it. This selector may also be nested. + =done= :: Return non-nil if entry's ~TODO~ keyword is in ~org-done-keywords~. + =habit= :: Return non-nil if entry is a habit. + =heading (&rest regexps)= :: Return non-nil if current entry's heading matches all ~REGEXPS~ (regexp strings). @@ -208,6 +208,13 @@ Arguments are listed next to predicate names, where applicable. - Aliases: ~tags&~. + =todo (&optional keywords)= :: Return non-nil if current heading is a ~TODO~ item. With ~KEYWORDS~, return non-nil if its keyword is one of ~KEYWORDS~ (a list of strings). When called without arguments, only matches non-done tasks (i.e. does not match keywords in ~org-done-keywords~). +*** Ancestor/descendant predicates + ++ =ancestors (&optional query)= :: Return non-nil if current heading has ancestor headings. If ~QUERY~, return non-nil if an ancestor heading matches it. This selector may be nested. ++ =children (&optional query)= :: Return non-nil if current heading has direct child headings. If ~QUERY~, return non-nil if a child heading matches it. This selector may be nested, e.g. to match grandchild headings. ++ =descendants (&optional query)= :: Return non-nil if current heading has descendant headings. If ~QUERY~, return non-nil if a descendant heading matches it. This selector may be nested (if you can grok the nesting!). ++ =parent (&optional query)= :: Return non-nil if current heading has a direct parent heading. If ~QUERY~, return non-nil if the parent heading matches it. This selector may be nested, e.g. to match grandparent headings. + *** Date/time predicates All of these predicates take optional keyword arguments ~:from~, ~:to:~, and ~:on~: diff --git a/org-ql.el b/org-ql.el index 90f752f..279d747 100644 --- a/org-ql.el +++ b/org-ql.el @@ -1169,18 +1169,16 @@ language." ;; Note that the implementations of the upward-searching, ancestor/parent predicates differ ;; from that of the downward-searching, descendants/children predicates in that the former ;; take a predicate function as their argument and test it on each heading (the predicate -;; being created by the `--query-pre-process' function, which see), while the latter take an +;; being created by the `--pre-process-query' function, which see), while the latter take an ;; `org-ql' query form as their argument and execute another `org-ql-select' query inside of ;; the currently running query. This "split" implementation seems like the most generally ;; efficient one, because searching descendants searches potentially many more headings than ;; searching ancestors, so executing a full query in that case can be faster due to use of ;; the "preambles" provided by running a full query. However, see note below. -(org-ql--defpred parent (predicate) - "Return non-nil if the current entry's parent satisfies PREDICATE." - (org-with-wide-buffer - (when (org-up-heading-safe) - (org-ql--value-at (point) predicate)))) +;; NOTE: The ancestors and parent predicates' docstrings are developer-facing +;; rather than user-facing, since their arguments are predicates provided +;; automatically by `--pre-process-query'. (org-ql--defpred ancestors (predicate) "Return non-nil if any of current entry's ancestors satisfy PREDICATE." @@ -1188,6 +1186,12 @@ language." (cl-loop while (org-up-heading-safe) thereis (org-ql--value-at (point) predicate)))) +(org-ql--defpred parent (predicate) + "Return non-nil if the current entry's parent satisfies PREDICATE." + (org-with-wide-buffer + (when (org-up-heading-safe) + (org-ql--value-at (point) predicate)))) + ;; MAYBE: The `children' and `descendants' predicates could probably be rewritten like ;; the `ancestors' predicate, which avoids calling `org-ql-select' recursively and its ;; associated overhead. However, that would preclude the use of preambles, so depending From 18c6787244604064ed7c0bbd795c013401225e54 Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Wed, 22 Jan 2020 22:56:04 -0600 Subject: [PATCH 143/615] Tidy: (org-ql--pre-process-query) Calling of --query-predicate --- org-ql.el | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/org-ql.el b/org-ql.el index 279d747..70e7ea5 100644 --- a/org-ql.el +++ b/org-ql.el @@ -549,9 +549,9 @@ Replaces bare strings with (regexp) selectors, and appropriate (`(descendants ,query) `(descendants ',query)) (`(descendants) '(descendants (lambda () t))) (`(parent ,query) `(parent ,(org-ql--query-predicate (rec query)))) - (`(parent) `(parent ,(org-ql--query-predicate (rec '(lambda () t))))) + (`(parent) '(parent (lambda () t))) (`(ancestors ,query) `(ancestors ,(org-ql--query-predicate (rec query)))) - (`(ancestors) `(ancestors ,(org-ql--query-predicate (rec '(lambda () t))))) + (`(ancestors) '(ancestors (lambda () t))) ;; Timestamp-based predicates. I think this is the way that makes the most sense: ;; set the limit to N days in the future, adjusted to 23:59:59 (since Org doesn't ;; support timestamps down to the second, anyway, there should be no need to adjust From 22cacbd8fe46e549400c3164533cc4648f60dea8 Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Wed, 22 Jan 2020 22:59:13 -0600 Subject: [PATCH 144/615] Docs: Add credit --- README.org | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.org b/README.org index dd58a61..46ff63a 100644 --- a/README.org +++ b/README.org @@ -404,7 +404,7 @@ Expands into a call to ~org-ql-select~ with the same arguments. For convenience - Negation of terms in plain queries using ~!~. For example, ~tags:space !moon~ to exclude entries which contain ~moon~. - Predicates =outline-path= (alias =olp=) and =outline-path-segment= (alias =olps=). - Predicate ~src~, which matches Org Babel source blocks. - - Predicates =parent= and =ancestors=. + - Predicates =parent= and =ancestors=. (Thanks to [[https://github.com/mm--][Josh Moller-Mara]].) - Alias =h= for =heading= predicate. - Alias =r= for =regexp= predicate. (Thanks to [[https://github.com/tumashu][Feng Shu]].) + Info manual. From 8f2baa10a3573b1f487dbc176dc68adcd88d370d Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Wed, 22 Jan 2020 23:02:10 -0600 Subject: [PATCH 145/615] Docs: Fix ToC, info file --- README.org | 13 ++++-- org-ql.info | 123 ++++++++++++++++++++++++++++++---------------------- 2 files changed, 82 insertions(+), 54 deletions(-) diff --git a/README.org b/README.org index 46ff63a..0103630 100644 --- a/README.org +++ b/README.org @@ -60,10 +60,17 @@ Installing with [[https://framagit.org/steckerhalter/quelpa][Quelpa]] is easy: #+END_SRC * Usage +:PROPERTIES: +:TOC: :include descendants :depth 1 +:END: :CONTENTS: -- [[#commands][Commands]] -- [[#queries][Queries]] -- [[#functions--macros][Functions / Macros]] +- [[#commands][Commands]] +- [[#queries][Queries]] + - [[#non-sexp-query-syntax][Non-sexp query syntax]] + - [[#general-predicates][General predicates]] + - [[#ancestordescendant-predicates][Ancestor/descendant predicates]] + - [[#datetime-predicates][Date/time predicates]] +- [[#functions--macros][Functions / Macros]] :END: # These links work on GitHub's Org renderer but not in Org. diff --git a/org-ql.info b/org-ql.info index 5184668..08b38c5 100644 --- a/org-ql.info +++ b/org-ql.info @@ -50,7 +50,8 @@ Commands Queries * Non-sexp query syntax:: -* Predicates:: +* General predicates:: +* Ancestor/descendant predicates:: * Date/time predicates:: @@ -146,7 +147,8 @@ File: README.info, Node: Usage, Next: Changelog, Prev: Installation, Up: Top 4 Usage ******* - • • • + • • + • • • • • Feedback on these APIs is welcome. Eventually, after being tested and polished, they will be considered stable. @@ -294,7 +296,7 @@ File: README.info, Node: Queries, Next: Functions / Macros, Prev: Commands, 4.2 Queries =========== - • • • + • • • • An org-ql query is a lisp form which may contain arbitrary lisp forms, as well as certain built-in predicates. It is byte-compiled into a predicate function which is tested with point on each heading in an @@ -311,11 +313,12 @@ Org buffer; when it returns non-nil, the heading matches the query. * Menu: * Non-sexp query syntax:: -* Predicates:: +* General predicates:: +* Ancestor/descendant predicates:: * Date/time predicates::  -File: README.info, Node: Non-sexp query syntax, Next: Predicates, Up: Queries +File: README.info, Node: Non-sexp query syntax, Next: General predicates, Up: Queries 4.2.1 Non-sexp query syntax --------------------------- @@ -345,24 +348,16 @@ non-sexp syntax, so multiple priorities should be passed instead, as seen in the last example.  -File: README.info, Node: Predicates, Next: Date/time predicates, Prev: Non-sexp query syntax, Up: Queries +File: README.info, Node: General predicates, Next: Ancestor/descendant predicates, Prev: Non-sexp query syntax, Up: Queries -4.2.2 Predicates ----------------- +4.2.2 General predicates +------------------------ Arguments are listed next to predicate names, where applicable. ‘category (&optional categories)’ Return non-nil if current heading is in one or more of ‘CATEGORIES’ (a list of strings). -‘children (&optional query)’ - Return non-nil if current heading has direct child headings. If - ‘QUERY’, test it against child headings. This selector may be - nested, e.g. to match grandchild headings. -‘descendants (&optional query)’ - Return non-nil if current heading has descendant headings. If - ‘QUERY’, test it against descendant headings. This selector may be - nested (if you can grok the nesting!). ‘done’ Return non-nil if entry’s ‘TODO’ keyword is in ‘org-done-keywords’. ‘habit’ @@ -444,9 +439,32 @@ Arguments are listed next to predicate names, where applicable. ‘org-done-keywords’).  -File: README.info, Node: Date/time predicates, Prev: Predicates, Up: Queries +File: README.info, Node: Ancestor/descendant predicates, Next: Date/time predicates, Prev: General predicates, Up: Queries -4.2.3 Date/time predicates +4.2.3 Ancestor/descendant predicates +------------------------------------ + +‘ancestors (&optional query)’ + Return non-nil if current heading has ancestor headings. If + ‘QUERY’, return non-nil if an ancestor heading matches it. This + selector may be nested. +‘children (&optional query)’ + Return non-nil if current heading has direct child headings. If + ‘QUERY’, return non-nil if a child heading matches it. This + selector may be nested, e.g. to match grandchild headings. +‘descendants (&optional query)’ + Return non-nil if current heading has descendant headings. If + ‘QUERY’, return non-nil if a descendant heading matches it. This + selector may be nested (if you can grok the nesting!). +‘parent (&optional query)’ + Return non-nil if current heading has a direct parent heading. If + ‘QUERY’, return non-nil if the parent heading matches it. This + selector may be nested, e.g. to match grandparent headings. + + +File: README.info, Node: Date/time predicates, Prev: Ancestor/descendant predicates, Up: Queries + +4.2.4 Date/time predicates -------------------------- All of these predicates take optional keyword arguments ‘:from’, ‘:to:’, @@ -722,6 +740,8 @@ will be pushed to the master branch when ready. • Predicates outline-path (alias olp) and outline-path-segment (alias olps). • Predicate ‘src’, which matches Org Babel source blocks. + • Predicates parent and ancestors. (Thanks to Josh Moller-Mara + (https://github.com/mm--).) • Alias h for heading predicate. • Alias r for regexp predicate. (Thanks to Feng Shu (https://github.com/tumashu).) @@ -1037,39 +1057,40 @@ GPLv3  Tag Table: Node: Top225 -Node: Contents1367 -Node: Screenshots1541 -Node: Installation1659 -Node: Quelpa2297 -Node: Usage2740 -Node: Commands3064 -Node: org-ql-search3537 -Node: helm-org-ql5185 -Node: org-ql-view5597 -Node: org-ql-view-sidebar5795 -Node: org-ql-view-recent-items6151 -Node: org-ql-sparse-tree6635 -Node: Queries7435 -Node: Non-sexp query syntax8296 -Node: Predicates9995 -Node: Date/time predicates15217 -Node: Functions / Macros17852 -Node: Agenda-like views18085 -Node: Listing / acting-on results19490 -Node: Changelog24092 -Node: 04-pre24629 -Node: 03228251 -Node: 03128632 -Node: 0328827 -Node: 02331800 -Node: 02232026 -Node: 02132292 -Node: 0232489 -Node: 0136522 -Node: Notes36621 -Node: Comparison with Org Agenda searches36783 -Node: org-sidebar37654 -Node: License37933 +Node: Contents1410 +Node: Screenshots1584 +Node: Installation1702 +Node: Quelpa2340 +Node: Usage2783 +Node: Commands3132 +Node: org-ql-search3605 +Node: helm-org-ql5253 +Node: org-ql-view5665 +Node: org-ql-view-sidebar5863 +Node: org-ql-view-recent-items6219 +Node: org-ql-sparse-tree6703 +Node: Queries7503 +Node: Non-sexp query syntax8411 +Node: General predicates10118 +Node: Ancestor/descendant predicates14925 +Node: Date/time predicates16053 +Node: Functions / Macros18708 +Node: Agenda-like views18941 +Node: Listing / acting-on results20346 +Node: Changelog24948 +Node: 04-pre25485 +Node: 03229219 +Node: 03129600 +Node: 0329795 +Node: 02332768 +Node: 02232994 +Node: 02133260 +Node: 0233457 +Node: 0137490 +Node: Notes37589 +Node: Comparison with Org Agenda searches37751 +Node: org-sidebar38622 +Node: License38901  End Tag Table From 66f58b97f266b8e149418f72e6cd5513aff26fcd Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Wed, 22 Jan 2020 23:12:11 -0600 Subject: [PATCH 146/615] Docs: Add examples, update ToC --- examples.org | 83 +++++++++++++++++++++++++++++++++++++++++++++------- 1 file changed, 72 insertions(+), 11 deletions(-) diff --git a/examples.org b/examples.org index af84e17..4167330 100644 --- a/examples.org +++ b/examples.org @@ -2,17 +2,20 @@ * Contents :PROPERTIES: -:TOC: this +:TOC: :include siblings :ignore this +:END: +:CONTENTS: +- [[#agenda-like-view][Agenda-like view]] +- [[#entries-from-the-past-week][Entries from the past week]] +- [[#find-entries-matching-a-certain-custom_id][Find entries matching a certain CUSTOM_ID]] +- [[#listing-bills-coming-due][Listing bills coming due]] +- [[#music-database][Music database]] +- [[#return-org-elements][Return Org elements]] +- [[#set-tags-on-certain-entries][Set tags on certain entries]] +- [[#show-entries-with-recent-timestamps][Show entries with recent timestamps]] +- [[#stuck-projects-block-agenda][Stuck projects block agenda]] +- [[#subproject-and-subtask-queries][Subproject and subtask queries]] :END: - - [[#agenda-like-view][Agenda-like view]] - - [[#entries-from-the-past-week][Entries from the past week]] - - [[#find-entries-matching-a-certain-custom_id][Find entries matching a certain CUSTOM_ID]] - - [[#listing-bills-coming-due][Listing bills coming due]] - - [[#music-database][Music database]] - - [[#return-org-elements][Return Org elements]] - - [[#set-tags-on-certain-entries][Set tags on certain entries]] - - [[#show-entries-with-recent-timestamps][Show entries with recent timestamps]] - - [[#stuck-projects-block-agenda][Stuck projects block agenda]] * Agenda-like view @@ -173,9 +176,67 @@ With this =org-ql-block= agenda view, like: ((org-ql-block-header "Stuck Projects"))))))) #+END_SRC +* Subproject and subtask queries + +#+BEGIN_SRC elisp + ;; Search for subprojects. + (org-ql-search (org-agenda-files) + '(and (todo "PROJECT") + (ancestors (todo "PROJECT")))) + + ;; Search for all subtasks of projects, grouped by parent heading. + (org-ql-search (org-agenda-files) + '(and (todo) + (ancestors (todo "PROJECT"))) + :super-groups '((:auto-parent t))) + + ;; Search for direct top-level tasks of projects. + (org-ql-search (org-agenda-files) + '(and (todo) + (parent (todo "PROJECT"))) + :super-groups '((:auto-parent t))) +#+END_SRC + +Of course, all of those presume using a =PROJECT= keyword to define projects. If one defines a project as any task which has an ancestor task, one could use queries like: + +#+BEGIN_SRC elisp + ;; Search for all subtasks of top-level projects, grouped by parent heading. + (org-ql-search (org-agenda-files) + '(and (todo) + (ancestors + (and (todo) + (not (parent))))) + :super-groups '((:auto-parent t))) + + ;; Search for all subtasks of all projects, including subprojects, grouped by project. + (org-ql-search (org-agenda-files) + '(and (todo) + (ancestors (todo))) + :super-groups '((:auto-parent t))) +#+END_SRC + +Other interesting queries: + +#+BEGIN_SRC elisp + ;; Subtasks of upcoming deadline items. + (org-ql-search (org-agenda-files) + '(and (todo) + (ancestors + (and (not (done)) + (deadline auto)))) + :super-groups '((:auto-parent t))) + + ;; TODO items whose ancestor is already DONE, and should therefore be + ;; either marked DONE or CANCELLED. + (org-ql-search (org-agenda-files) + '(and (todo) + (ancestors (done))) + :super-groups '((:auto-parent t))) +#+END_SRC + * COMMENT Code :noexport: :PROPERTIES: -:TOC: ignore +:TOC: :ignore (this descendants) :END: ** File-local variables From 843564ad8c6f381e190d93ff9502b94f068bee95 Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Wed, 22 Jan 2020 23:15:00 -0600 Subject: [PATCH 147/615] Add: (org-ql-views) Dangling tasks view --- README.org | 1 + org-ql-view.el | 9 +++++++++ org-ql.info | 27 +++++++++++++++------------ 3 files changed, 25 insertions(+), 12 deletions(-) diff --git a/README.org b/README.org index 0103630..dadb623 100644 --- a/README.org +++ b/README.org @@ -420,6 +420,7 @@ Expands into a call to ~org-ql-select~ with the same arguments. For convenience + Respect Org Agenda restriction in =org-ql-block=. (Thanks to [[https://github.com/yantar92][Ihor Radchenko]] for reporting.) + Option =org-ql-view-sidebar-sort-views=. + Mouseover =help-echo= text for =org-ql-views= default view names. ++ "Dangling tasks" default view in =org-ql-views=. (Users who have modified =org-ql-views= from the default will not see the new view unless they copy it into their config.) *Changed* + Some default =org-ql-view= views (users who have modified =org-ql-views= from the default will not see the new views unless they copy them into their config): diff --git a/org-ql-view.el b/org-ql-view.el index 4ce6a37..f141270 100644 --- a/org-ql-view.el +++ b/org-ql-view.el @@ -177,6 +177,15 @@ See info node `(elisp)Cyclic Window Ordering'." :super-groups 'org-super-agenda-groups :sort '(priority))))) (cons "Review: Recently timestamped" #'org-ql-view-recent-items) + (cons (propertize "Review: Dangling tasks" + 'help-echo "Tasks whose ancestor is done") + (list :buffers-files #'org-agenda-files + :query '(and (todo) + (ancestors (done))) + :title (propertize "Review: Dangling tasks" + 'help-echo "Tasks whose ancestor is done") + :sort '(date priority todo) + :super-groups '((:auto-parent t)))) (cons (propertize "Review: Stale tasks" 'help-echo "Tasks without a timestamp in the past 2 weeks") (list :buffers-files #'org-agenda-files diff --git a/org-ql.info b/org-ql.info index 08b38c5..78c67b3 100644 --- a/org-ql.info +++ b/org-ql.info @@ -755,6 +755,9 @@ will be pushed to the master branch when ready. Radchenko (https://github.com/yantar92) for reporting.) • Option org-ql-view-sidebar-sort-views. • Mouseover help-echo text for org-ql-views default view names. + • "Dangling tasks" default view in org-ql-views. (Users who have + modified org-ql-views from the default will not see the new view + unless they copy it into their config.) *Changed* • Some default org-ql-view views (users who have modified @@ -1079,18 +1082,18 @@ Node: Agenda-like views18941 Node: Listing / acting-on results20346 Node: Changelog24948 Node: 04-pre25485 -Node: 03229219 -Node: 03129600 -Node: 0329795 -Node: 02332768 -Node: 02232994 -Node: 02133260 -Node: 0233457 -Node: 0137490 -Node: Notes37589 -Node: Comparison with Org Agenda searches37751 -Node: org-sidebar38622 -Node: License38901 +Node: 03229405 +Node: 03129786 +Node: 0329981 +Node: 02332954 +Node: 02233180 +Node: 02133446 +Node: 0233643 +Node: 0137676 +Node: Notes37775 +Node: Comparison with Org Agenda searches37937 +Node: org-sidebar38808 +Node: License39087  End Tag Table From 6e55723e270fea28fd403ce98e1c309d2a55a5a1 Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Wed, 22 Jan 2020 23:38:34 -0600 Subject: [PATCH 148/615] Docs: Clarify change notice --- README.org | 2 +- org-ql.info | 28 ++++++++++++++-------------- 2 files changed, 15 insertions(+), 15 deletions(-) diff --git a/README.org b/README.org index dadb623..35c1c3b 100644 --- a/README.org +++ b/README.org @@ -400,7 +400,7 @@ Expands into a call to ~org-ql-select~ with the same arguments. For convenience ** 0.4-pre -/Note:/ The next release, 0.5, may include changes which will require minor updates to written queries (e.g. a few predicates may be renamed). Users who wish to avoid those changes happening unexpectedly in their configs should avoid upgrading =org-ql= automatically, as they will be pushed to the =master= branch when ready. +/Note:/ The next release, 0.5, may include changes which will require minor updates to written queries (e.g. a few predicates may be renamed). Users who wish to avoid those changes happening unexpectedly in their configs should avoid upgrading =org-ql= beyond 0.4 automatically, as they will be pushed to the =master= branch when ready. *Added* + *Commands* diff --git a/org-ql.info b/org-ql.info index 78c67b3..59aabc9 100644 --- a/org-ql.info +++ b/org-ql.info @@ -722,8 +722,8 @@ File: README.info, Node: 04-pre, Next: 032, Up: Changelog _Note:_ The next release, 0.5, may include changes which will require minor updates to written queries (e.g. a few predicates may be renamed). Users who wish to avoid those changes happening unexpectedly -in their configs should avoid upgrading org-ql automatically, as they -will be pushed to the master branch when ready. +in their configs should avoid upgrading org-ql beyond 0.4 automatically, +as they will be pushed to the master branch when ready. *Added* • *Commands* @@ -1082,18 +1082,18 @@ Node: Agenda-like views18941 Node: Listing / acting-on results20346 Node: Changelog24948 Node: 04-pre25485 -Node: 03229405 -Node: 03129786 -Node: 0329981 -Node: 02332954 -Node: 02233180 -Node: 02133446 -Node: 0233643 -Node: 0137676 -Node: Notes37775 -Node: Comparison with Org Agenda searches37937 -Node: org-sidebar38808 -Node: License39087 +Node: 03229416 +Node: 03129797 +Node: 0329992 +Node: 02332965 +Node: 02233191 +Node: 02133457 +Node: 0233654 +Node: 0137687 +Node: Notes37786 +Node: Comparison with Org Agenda searches37948 +Node: org-sidebar38819 +Node: License39098  End Tag Table From 538373bb481cf82f3b373184da65cf051d6064e8 Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Wed, 22 Jan 2020 23:39:25 -0600 Subject: [PATCH 149/615] Release: 0.4 --- README.org | 2 +- org-ql.el | 2 +- org-ql.info | 80 ++++++++++++++++++++++++++--------------------------- 3 files changed, 42 insertions(+), 42 deletions(-) diff --git a/README.org b/README.org index 35c1c3b..eabd92a 100644 --- a/README.org +++ b/README.org @@ -398,7 +398,7 @@ Expands into a call to ~org-ql-select~ with the same arguments. For convenience /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.4-pre +** 0.4 /Note:/ The next release, 0.5, may include changes which will require minor updates to written queries (e.g. a few predicates may be renamed). Users who wish to avoid those changes happening unexpectedly in their configs should avoid upgrading =org-ql= beyond 0.4 automatically, as they will be pushed to the =master= branch when ready. diff --git a/org-ql.el b/org-ql.el index 70e7ea5..2eec565 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.4-pre +;; Version: 0.4 ;; Package-Requires: ((emacs "26.1") (dash "2.13") (dash-functional "1.2.0") (f "0.17.2") (org "9.0") (org-super-agenda "1.2-pre") (ov "1.0.6") (peg "0.6") (s "1.12.0") (ts "0.2-pre")) ;; Keywords: hypermedia, outlines, Org, agenda diff --git a/org-ql.info b/org-ql.info index 59aabc9..1915891 100644 --- a/org-ql.info +++ b/org-ql.info @@ -63,7 +63,7 @@ Functions / Macros Changelog -* 0.4-pre: 04-pre. +* 0.4: 04. * 0.3.2: 032. * 0.3.1: 031. * 0.3: 03. @@ -703,7 +703,7 @@ releases. * Menu: -* 0.4-pre: 04-pre. +* 0.4: 04. * 0.3.2: 032. * 0.3.1: 031. * 0.3: 03. @@ -714,10 +714,10 @@ releases. * 0.1: 01.  -File: README.info, Node: 04-pre, Next: 032, Up: Changelog +File: README.info, Node: 04, Next: 032, Up: Changelog -5.1 0.4-pre -=========== +5.1 0.4 +======= _Note:_ The next release, 0.5, may include changes which will require minor updates to written queries (e.g. a few predicates may be @@ -795,7 +795,7 @@ as they will be pushed to the master branch when ready. queries.  -File: README.info, Node: 032, Next: 031, Prev: 04-pre, Up: Changelog +File: README.info, Node: 032, Next: 031, Prev: 04, Up: Changelog 5.2 0.3.2 ========= @@ -1060,40 +1060,40 @@ GPLv3  Tag Table: Node: Top225 -Node: Contents1410 -Node: Screenshots1584 -Node: Installation1702 -Node: Quelpa2340 -Node: Usage2783 -Node: Commands3132 -Node: org-ql-search3605 -Node: helm-org-ql5253 -Node: org-ql-view5665 -Node: org-ql-view-sidebar5863 -Node: org-ql-view-recent-items6219 -Node: org-ql-sparse-tree6703 -Node: Queries7503 -Node: Non-sexp query syntax8411 -Node: General predicates10118 -Node: Ancestor/descendant predicates14925 -Node: Date/time predicates16053 -Node: Functions / Macros18708 -Node: Agenda-like views18941 -Node: Listing / acting-on results20346 -Node: Changelog24948 -Node: 04-pre25485 -Node: 03229416 -Node: 03129797 -Node: 0329992 -Node: 02332965 -Node: 02233191 -Node: 02133457 -Node: 0233654 -Node: 0137687 -Node: Notes37786 -Node: Comparison with Org Agenda searches37948 -Node: org-sidebar38819 -Node: License39098 +Node: Contents1402 +Node: Screenshots1576 +Node: Installation1694 +Node: Quelpa2332 +Node: Usage2775 +Node: Commands3124 +Node: org-ql-search3597 +Node: helm-org-ql5245 +Node: org-ql-view5657 +Node: org-ql-view-sidebar5855 +Node: org-ql-view-recent-items6211 +Node: org-ql-sparse-tree6695 +Node: Queries7495 +Node: Non-sexp query syntax8403 +Node: General predicates10110 +Node: Ancestor/descendant predicates14917 +Node: Date/time predicates16045 +Node: Functions / Macros18700 +Node: Agenda-like views18933 +Node: Listing / acting-on results20338 +Node: Changelog24940 +Node: 0425469 +Node: 03229388 +Node: 03129765 +Node: 0329960 +Node: 02332933 +Node: 02233159 +Node: 02133425 +Node: 0233622 +Node: 0137655 +Node: Notes37754 +Node: Comparison with Org Agenda searches37916 +Node: org-sidebar38787 +Node: License39066  End Tag Table From 035c20fc28e33ee48f51ec023b7cbd41c84ad177 Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Tue, 4 Feb 2020 02:47:53 -0600 Subject: [PATCH 150/615] Docs: Update comparison --- README.org | 8 +------- org-ql.info | 11 ++++------- 2 files changed, 5 insertions(+), 14 deletions(-) diff --git a/README.org b/README.org index eabd92a..47032a4 100644 --- a/README.org +++ b/README.org @@ -566,13 +566,7 @@ Of course, queries like these can already be written with Org Agenda searches, b +lisp +{^\*+\s-+TO-READ\s-} #+END_EXAMPLE -But with ~org-ql-agenda~, you would write: - -#+BEGIN_SRC elisp - (org-ql-agenda - (and (regexp "lisp") - (todo "TO-READ"))) -#+END_SRC +But with =org-ql-search=, you would write a query like =lisp todo:TO-READ=, or in Lisp syntax, ~(and "lisp" (todo "TO-READ"))~. ** org-sidebar diff --git a/org-ql.info b/org-ql.info index 1915891..b0e6fad 100644 --- a/org-ql.info +++ b/org-ql.info @@ -1032,11 +1032,8 @@ regular expression syntax, like this: +lisp +{^\*+\s-+TO-READ\s-} - But with ‘org-ql-agenda’, you would write: - - (org-ql-agenda - (and (regexp "lisp") - (todo "TO-READ"))) + But with org-ql-search, you would write a query like +lisp todo:TO-READ, or in Lisp syntax, ‘(and "lisp" (todo "TO-READ"))’.  File: README.info, Node: org-sidebar, Prev: Comparison with Org Agenda searches, Up: Notes @@ -1092,8 +1089,8 @@ Node: 0233622 Node: 0137655 Node: Notes37754 Node: Comparison with Org Agenda searches37916 -Node: org-sidebar38787 -Node: License39066 +Node: org-sidebar38788 +Node: License39067  End Tag Table From e23a026fe5cc2f7563743949bf08f98d72e017b9 Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Sun, 9 Feb 2020 12:42:07 -0600 Subject: [PATCH 151/615] Meta: Update makem.sh, Makefile, and pre-push Use local .sandbox sandbox. (Assumes it is initialized.) --- Makefile | 16 ++- hooks/pre-push | 2 +- makem.sh | 380 ++++++++++++++++++++++++++++++++++++++++--------- 3 files changed, 320 insertions(+), 78 deletions(-) diff --git a/Makefile b/Makefile index 1ca3da4..ce9cdd8 100644 --- a/Makefile +++ b/Makefile @@ -19,11 +19,11 @@ ifdef install-linters endif ifdef sandbox - SANDBOX = "--sandbox" -endif - -ifdef sandbox-dir - SANDBOX_DIR = "--sandbox-dir" "$(sandbox-dir)" + ifeq ($(sandbox), t) + SANDBOX = --sandbox + else + SANDBOX = --sandbox $(sandbox) + endif endif ifdef debug @@ -49,4 +49,8 @@ endif # directory by that name exists, which can confuse Make. %: - @./makem.sh $(DEBUG) $(VERBOSE) $(SANDBOX) $(SANDBOX_DIR) $(INSTALL_DEPS) $(INSTALL_LINTERS) $(@) + @./makem.sh $(DEBUG) $(VERBOSE) $(SANDBOX) $(INSTALL_DEPS) $(INSTALL_LINTERS) $(@) + +.DEFAULT: init +init: + @./makem.sh $(DEBUG) $(VERBOSE) $(SANDBOX) $(INSTALL_DEPS) $(INSTALL_LINTERS) diff --git a/hooks/pre-push b/hooks/pre-push index 34976fa..45ef92a 100755 --- a/hooks/pre-push +++ b/hooks/pre-push @@ -14,4 +14,4 @@ read local_ref local_sha remote_ref remote_sha # cause remote code to be downloaded and executed (i.e. what would # happen by installing packages). It can be done manually when needed. -make test +make sandbox=.sandbox test diff --git a/makem.sh b/makem.sh index 9f3538c..cab8458 100755 --- a/makem.sh +++ b/makem.sh @@ -1,4 +1,4 @@ -#!/bin/bash +#!/usr/bin/env bash # * makem.sh --- Script to aid building and testing Emacs Lisp packages @@ -59,17 +59,20 @@ Rules: lint Run all linters, ignoring unavailable ones. lint-checkdoc Run checkdoc. lint-compile Byte-compile source files with warnings as errors. - lint-indent Run indent-lint. + lint-declare Run check-declare. + lint-indent Lint indentation. lint-package Run package-lint. + lint-regexps Run relint. - test, tests Run all tests, ignoring missing test types. - test-buttercup Run Buttercup tests. - test-ert Run ERT tests. + test, tests Run all tests, ignoring missing test types. + test-buttercup Run Buttercup tests. + test-ert Run ERT tests. + test-ert-interactive Run ERT tests interactively. batch Run Emacs in batch mode, loading project source and test files automatically, with remaining args (after "--") passed to Emacs. interactive Run Emacs interactively, loading project source and test files - automatically. + automatically, with remaining args (after "--") passed to Emacs. Options: -d, --debug Print debug info. @@ -78,23 +81,33 @@ Options: --debug-load-path Print load-path from inside Emacs. - -f FILE, --file FILE Check FILE in addition to discovered files. + -E, --emacs PATH Run Emacs at PATH. + + -e, --exclude FILE Exclude FILE from linting and testing. + -f, --file FILE Check FILE in addition to discovered files. --no-color Disable color output. -C, --no-compile Don't compile files automatically. Sandbox options: - -s, --sandbox Run Emacs with an empty config in a temporary - directory (removing directory on exit). - -S, --sandbox-dir DIR Use DIR for the sandbox directory (leaving it - on exit). Implies -s. + -s, --sandbox [DIR] Run Emacs with an empty config in a sandbox DIR. + If DIR does not exist, make it. If DIR is not + specified, use a temporary sandbox directory and + delete it afterward, implying --install-deps and + --install-linters. --install-deps Automatically install package dependencies. --install-linters Automatically install linters. -i, --install PACKAGE Install PACKAGE before running rules. + An Emacs version-specific subdirectory is automatically made inside + the sandbox, allowing testing with multiple Emacs versions. When + specifying a sandbox directory, use options --install-deps and + --install-linters on first-run and omit them afterward to save time. + Source files are automatically discovered from git, or may be specified with options. Package dependencies are discovered from -"Package-Requires" headers in source files and from a Cask file. +"Package-Requires" headers in source files, from -pkg.el files, and +from a Cask file. EOF } @@ -142,11 +155,69 @@ function elisp-checkdoc-file { (when makem-checkdoc-errors-p (kill-emacs 1)))) +(setq checkdoc-spellcheck-documentation-flag t) (makem-checkdoc-files-and-exit) EOF echo $file } +function elisp-check-declare-file { + # Since check-declare doesn't have a batch function that exits + # non-zero when errors are found, we make one. + local file=$(mktemp) + + cat >$file <"$file" </dev/null | egrep "\.el$" | filter-files-exclude +function dirs-project { + # Echo list of directories to be used in load path. + files-project-feature | dirnames + files-project-test | dirnames } -function files-project-source { - # Echo list of Elisp files that are not tests. - files-project-elisp | egrep -v "$test_files_regexp" | filter-files-feature +function files-project-elisp { + # Echo list of Elisp files in project. + git ls-files 2>/dev/null \ + | egrep "\.el$" \ + | filter-files-exclude-default \ + | filter-files-exclude-args +} + +function files-project-feature { + # Echo list of Elisp files that are not tests and provide a feature. + files-project-elisp \ + | egrep -v "$test_files_regexp" \ + | filter-files-feature } function files-project-test { @@ -232,16 +315,42 @@ function files-project-test { files-project-elisp | egrep "$test_files_regexp" } -function filter-files-exclude { +function dirnames { + # Echo directory names for files on STDIN. + while read file + do + dirname "$file" + done +} + +function filter-files-exclude-default { # Filter out paths (STDIN) which should be excluded by default. egrep -v "(/\.cask/|-autoloads.el|.dir-locals)" } +function filter-files-exclude-args { + # Filter out paths (STDIN) which are excluded with --exclude. + if [[ ${files_exclude[@]} ]] + then + ( + # We use a subshell to set IFS temporarily so we can send + # the list of files to grep -F. This is ugly but more + # correct than replacing spaces with line breaks. Note + # that, for some reason, using IFS="\n" or IFS='\n' doesn't + # work, and a literal line break seems to be required. + IFS=" +" + grep -Fv "${files_exclude[*]}" + ) + else + cat + fi +} + function filter-files-feature { # Read paths on STDIN and echo ones that (provide 'a-feature). while read path do - debug "PATH: $path" egrep "^\\(provide '" "$path" &>/dev/null \ && echo "$path" done @@ -255,6 +364,14 @@ function args-load-files { done } +function args-load-path { + # Echo load-path arguments. + for path in $(dirs-project | sort -u) + do + printf -- '-L %q ' "$path" + done +} + function test-files-p { # Return 0 if $files_project_test is non-empty. [[ "${files_project_test[@]}" ]] @@ -283,7 +400,7 @@ function dependencies { # Echo list of package dependencies. # Search package headers. - egrep '^;; Package-Requires: ' $(files-project-source) $(files-project-test) \ + egrep '^;; Package-Requires: ' $(files-project-feature) $(files-project-test) \ | egrep -o '\([^([:space:]][^)]*\)' \ | egrep -o '^[^[:space:])]+' \ | sed -r 's/\(//g' \ @@ -295,6 +412,12 @@ function dependencies { egrep '\(depends-on "[^"]+"' Cask \ | sed -r -e 's/\(depends-on "([^"]+)".*/\1/g' fi + + # Search -pkg.el file. + if [[ $(git ls-files ./*-pkg.el 2>/dev/null) ]] + then + sed -nr 's/.*\(([-[:alnum:]]+)[[:blank:]]+"[.[:digit:]]+"\).*/\1/p' $(git ls-files ./*-pkg.el 2>/dev/null) + fi } # ** Sandbox @@ -308,7 +431,18 @@ function sandbox { if [[ $sandbox_dir ]] then # Directory given as argument: ensure it exists. - [[ -d $sandbox_dir ]] || die "Directory doesn't exist: $sandbox_dir" + if ! [[ -d $sandbox_dir ]] + then + debug "Making sandbox directory: $sandbox_dir" + mkdir -p "$sandbox_dir" || die "Unable to make sandbox dir." + fi + + # Add Emacs version-specific subdirectory, creating if necessary. + sandbox_dir="$sandbox_dir/$(emacs-version)" + if ! [[ -d $sandbox_dir ]] + then + mkdir "$sandbox_dir" || die "Unable to make sandbox subdir: $sandbox_dir" + fi else # Not given: make temp directory, and delete it on exit. local sandbox_dir=$(mktemp -d) || die "Unable to make sandbox dir." @@ -322,6 +456,7 @@ function sandbox { # Set sandbox args. This is a global variable used by the run_emacs function. args_sandbox=( + --title "makem.sh: $(basename $(pwd)) (sandbox: $sandbox_dir)" --eval "(setq user-emacs-directory (file-truename \"$sandbox_dir\"))" --eval "(setq user-init-file (file-truename \"$init_file\"))" "${args_load_init_file[@]}" @@ -339,6 +474,15 @@ function sandbox { done fi + # Add package-install arguments for linters. + if [[ $install_linters ]] + then + debug "Installing linters: package-lint relint" + + args_sandbox_package_install+=(--eval "(package-install 'package-lint)" + --eval "(package-install 'relint)") + fi + # *** Install packages into sandbox if [[ ${args_sandbox_package_install[@]} ]] @@ -485,6 +629,21 @@ function ts { date "+%Y-%m-%d %H:%M:%S" } +function emacs-version { + # Echo Emacs version number. + + # Don't use run_emacs function, which does more than we need. + "${emacs_command[@]}" -Q --batch --eval "(princ emacs-version)" \ + || die "Unable to get Emacs version." +} + +function rule-p { + # Return 0 if $1 is a rule. + [[ $1 =~ ^(lint-?|tests?)$ ]] \ + || [[ $1 =~ ^(batch|interactive)$ ]] \ + || [[ $(type -t "$2" 2>/dev/null) =~ function ]] +} + # * Rules # These functions are intended to be called as rules, like a Makefile. @@ -516,15 +675,16 @@ function batch { verbose 1 "Executing Emacs with arguments: ${args_batch[@]}" run_emacs \ - $(args-load-files "${files_project_source[@]}" "${files_project_test[@]}") \ - "${args_batch[@]}" + $(args-load-files "${files_project_feature[@]}" "${files_project_test[@]}") \ + "${args_batch_interactive[@]}" } function interactive { # Run Emacs interactively. Most useful with --sandbox and --install-deps. unset arg_batch run_emacs \ - $(args-load-files "${files_project_source[@]}" "${files_project_test[@]}") + $(args-load-files "${files_project_feature[@]}" "${files_project_test[@]}") \ + "${args_batch_interactive[@]}" arg_batch="--batch" } @@ -533,8 +693,10 @@ function lint { lint-checkdoc lint-compile + lint-declare lint-indent lint-package + lint-regexps } function lint-checkdoc { @@ -545,7 +707,7 @@ function lint-checkdoc { run_emacs \ --load="$checkdoc_file" \ - "${files_project_source[@]}" \ + "${files_project_feature[@]}" \ && success "Linting checkdoc finished without errors." \ || error "Linting checkdoc failed." } @@ -560,29 +722,32 @@ function lint-compile { unset compile_error_on_warn } +function lint-declare { + verbose 1 "Linting declarations..." + + local check_declare_file="$(elisp-check-declare-file)" + paths_temp+=("$check_declare_file") + + run_emacs \ + --load "$check_declare_file" \ + -f makem-check-declare-files-and-exit \ + "${files_project_feature[@]}" \ + && success "Linting declarations finished without errors." \ + || error "Linting declarations failed." +} + function lint-indent { - ensure-package-available indent-lint $1 || return $(echo-unset-p $1) - verbose 1 "Linting indentation..." - # FIXME: indent-lint outputs a summary line like: - # Diff finished (has differences). Fri Jan 17 10:30:34 2020 - # which is unnecessary for our use and clutters output. - # We load project source files as well, because they may contain # macros with (declare (indent)) rules which must be loaded to set - # indentation. However... - - # FIXME: This doesn't appear to actually work: macros that set - # indentation and are correctly indented in the source files are - # reported as having wrong indentation. Not sure if bug in - # indent-lint or here. + # indentation. run_emacs \ - --load indent-lint \ - $(args-load-files "${files_project_source[@]}" "${files_project_test[@]}") \ - --funcall indent-lint-batch \ - "${files_project_source[@]}" "${files_project_test[@]}" \ + --load "$(elisp-lint-indent-file)" \ + $(args-load-files "${files_project_feature[@]}" "${files_project_test[@]}") \ + --funcall makem-lint-indent-batch-and-exit \ + "${files_project_feature[@]}" "${files_project_test[@]}" \ && success "Linting indentation finished without errors." \ || error "Linting indentation failed." } @@ -595,11 +760,24 @@ function lint-package { run_emacs \ --load package-lint \ --funcall package-lint-batch-and-exit \ - "${files_project_source[@]}" \ + "${files_project_feature[@]}" \ && success "Linting package finished without errors." \ || error "Linting package failed." } +function lint-regexps { + ensure-package-available relint $1 || return $(echo-unset-p $1) + + verbose 1 "Linting regexps..." + + run_emacs \ + --load relint \ + --funcall relint-batch \ + "${files_project_source[@]}" \ + && success "Linting regexps finished without errors." \ + || error "Linting regexps failed." +} + function tests { verbose 1 "Running all tests..." @@ -607,6 +785,16 @@ function tests { test-buttercup } +function test-ert-interactive { + verbose 1 "Running ERT tests interactively..." + + unset arg_batch + run_emacs \ + $(args-load-files "${files_project_test[@]}") \ + --eval "(ert-run-tests-interactively t)" + arg_batch="--batch" +} + function test-buttercup { ensure-tests-available Buttercup $1 || return $(echo-unset-p $1) compile || die @@ -617,9 +805,8 @@ function test-buttercup { paths_temp+=("$buttercup_file") run_emacs \ - --load buttercup \ - --load "$buttercup_file" \ - -f buttercup-run-discover \ + $(args-load-files "${files_project_test[@]}") \ + -f buttercup-run \ && success "Buttercup tests finished without errors." \ || error "Buttercup tests failed." } @@ -672,7 +859,6 @@ color=true # something, which seems like getting too smart for our own good. # TODO: Emit a warning if .ELC files that don't match any .EL files are detected. -load_path="." # ** Colors @@ -703,19 +889,11 @@ args_package_init=( elisp_org_package_archive="(add-to-list 'package-archives '(\"org\" . \"https://orgmode.org/elpa/\") t)" -# * Project files - -# MAYBE: Option to not byte-compile test files. (OTOH, byte-compiling reveals many -# errors that would otherwise go unnoticed, so it's worth it to fix the warnings.) -files_project_source=($(files-project-source)) -files_project_test=($(files-project-test)) -files_project_byte_compile=("${files_project_source[@]}" "${files_project_test[@]}") - # * Args args=$(getopt -n "$0" \ - -o dhi:sS:vf:CO \ - -l install-deps,install-linters,debug,debug-load-path,help,install:,verbose,file:,no-color,no-compile,no-org-repo,sandbox,sandbox-dir: \ + -o dhe:E:i:s:vf:CO \ + -l exclude:,emacs:,install-deps,install-linters,debug,debug-load-path,help,install:,verbose,file:,no-color,no-compile,no-org-repo,sandbox: \ -- "$@") \ || { usage; exit 1; } eval set -- "$args" @@ -727,12 +905,13 @@ do install_deps=true ;; --install-linters) - args_sandbox_package_install+=(--eval "(package-install 'indent-lint)" - --eval "(package-install 'package-lint)") + install_linters=true ;; -d|--debug) debug=true verbose=2 + args_debug=(--eval "(setq init-file-debug t)" + --eval "(setq debug-on-error t)") ;; --debug-load-path) debug_load_path=true @@ -741,21 +920,52 @@ do usage exit ;; + -E|--emacs) + shift + emacs_command=($1) + ;; -i|--install) shift args_sandbox_package_install+=(--eval "(package-install '$1)") ;; -s|--sandbox) sandbox=true - ;; - -S|--sandbox-dir) - shift - sandbox=true - sandbox_dir="$1" + # Check whether next argument is an option, rule, or a sandbox directory. + if [[ $2 ]] && ! [[ $2 =~ ^-- ]] \ + && ! rule-p "$2" + then + debug "Sandbox dir: $1" + shift + sandbox_dir="$1" + else + debug "No sandbox dir: installing dependencies." + install_deps=true + # HACK: Next argument is another option, so prepend blank arg to the + # argument list so it will be processed by next loop iteration. getopts + # doesn't allow options to have optional arguments, so we do this manually. + if [[ $2 =~ ^- ]] + then + # Next argument is an option: process it next. + new_args=("" "$@") + else + # Next argument is not an option: put it on the end. + new_arg="$2" + shift + shift + new_args=("" "$@" "$new_arg") + fi + debug "Setting new args: ${new_args[@]}" + set -- "${new_args[@]}" + fi ;; -v|--verbose) ((verbose++)) ;; + -e|--exclude) + shift + debug "Excluding file: $1" + files_exclude+=("$1") + ;; -f|--file) shift project_source_files+=("$1") @@ -792,27 +1002,54 @@ paths_temp+=("$package_initialize_file") trap cleanup EXIT INT TERM -if ! [[ ${files_project_source[@]} ]] +# Discover project files. +files_project_feature=($(files-project-feature)) +files_project_test=($(files-project-test)) +files_project_byte_compile=("${files_project_feature[@]}" "${files_project_test[@]}") + +debug "EXCLUDING FILES: ${files_exclude[@]}" +debug "FEATURE FILES: ${files_project_feature[@]}" +debug "TEST FILES: ${files_project_test[@]}" +debug "BYTE-COMPILE FILES: ${files_project_byte_compile[@]}" + +if ! [[ ${files_project_feature[@]} ]] then error "No files specified and not in a git repo." exit 1 fi +# Set load path. +args_load_paths=($(args-load-path)) +debug "LOAD PATH ARGS: ${args_load_paths[@]}" + +# If rules include linters and sandbox-dir is unspecified, install +# linters automatically. +if [[ $sandbox && ! $sandbox_dir ]] && [[ "${rest[@]}" =~ lint ]] +then + debug "Installing linters automatically." + install_linters=true +fi + # Initialize sandbox. [[ $sandbox ]] && sandbox # Run rules. for rule in "${rest[@]}" do - if [[ $batch ]] + if [[ $batch || $interactive ]] then - debug "Adding batch argument: $rule" - args_batch+=("$rule") + debug "Adding batch/interactive argument: $rule" + args_batch_interactive+=("$rule") elif [[ $rule = batch ]] then # Remaining arguments are passed to Emacs. batch=true + elif [[ $rule = interactive ]] + then + # Remaining arguments are passed to Emacs. + interactive=true + elif type -t "$rule" 2>/dev/null | grep function &>/dev/null then # Pass called-directly as $1 to indicate that the rule is @@ -828,8 +1065,9 @@ do fi done -# The batch rule. +# Batch/interactive rules. [[ $batch ]] && batch +[[ $interactive ]] && interactive if [[ $errors -gt 0 ]] then From 8baeeea49e4f94d5e6d2c5c84b0f4b17eae9a450 Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Sun, 9 Feb 2020 13:56:40 -0600 Subject: [PATCH 152/615] Notes: Add idea --- notes.org | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/notes.org b/notes.org index 61522a5..d082ce3 100644 --- a/notes.org +++ b/notes.org @@ -598,6 +598,10 @@ This works okay (except the priority accessor needs to be fixed, because Org pri :action #'helm-org-goto-marker)))) #+END_SRC +** MAYBE Fancier plain query syntax for tags and properties + +e.g. something like [[https://200ok.ch/posts/2020-02-09_creating_org_mode_sparse_trees_in_emacs_and_organice.html][Organice has now]]. + ** MAYBE Overlay-based caching inspired by org-num-mode [2019-12-30 Mon 22:42] Newer versions of Org have =org-num-mode=, which uses =font-lock= and =after-change-functions= to update overlays in the buffer with outline numbering. Maybe a similar approach could be used to cache arbitrary values for headings in a buffer without having to discard the whole buffer's cache when the buffer changes. From ef0c5220c2cace1743ec82bd8656539b15d55c4e Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Tue, 28 Jan 2020 00:42:27 -0600 Subject: [PATCH 153/615] Meta: 0.5-pre --- README.org | 4 ++++ org-ql.el | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/README.org b/README.org index 47032a4..077ea04 100644 --- a/README.org +++ b/README.org @@ -398,6 +398,10 @@ Expands into a call to ~org-ql-select~ with the same arguments. For convenience /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 + +Nothing new yet. + ** 0.4 /Note:/ The next release, 0.5, may include changes which will require minor updates to written queries (e.g. a few predicates may be renamed). Users who wish to avoid those changes happening unexpectedly in their configs should avoid upgrading =org-ql= beyond 0.4 automatically, as they will be pushed to the =master= branch when ready. diff --git a/org-ql.el b/org-ql.el index 2eec565..c41abd3 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.4 +;; Version: 0.5-pre ;; Package-Requires: ((emacs "26.1") (dash "2.13") (dash-functional "1.2.0") (f "0.17.2") (org "9.0") (org-super-agenda "1.2-pre") (ov "1.0.6") (peg "0.6") (s "1.12.0") (ts "0.2-pre")) ;; Keywords: hypermedia, outlines, Org, agenda From 70f03b200f23f19e0254ba6d9c622b9d5e6b403f Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Tue, 28 Jan 2020 00:52:02 -0600 Subject: [PATCH 154/615] Docs: Move a screenshot to examples --- README.org | 1 - examples.org | 5 +++++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/README.org b/README.org index 077ea04..b199954 100644 --- a/README.org +++ b/README.org @@ -30,7 +30,6 @@ It includes three libraries: The =org-ql= library is flexible and may be used as [[images/org-ql-search.gif]] -[[images/org-ql-search-snippet.png]] [[images/helm-org-ql.gif]] diff --git a/examples.org b/examples.org index 4167330..eb14f08 100644 --- a/examples.org +++ b/examples.org @@ -15,6 +15,7 @@ - [[#show-entries-with-recent-timestamps][Show entries with recent timestamps]] - [[#stuck-projects-block-agenda][Stuck projects block agenda]] - [[#subproject-and-subtask-queries][Subproject and subtask queries]] +- [[#task-list-for-files-in-subdirectories][Task list for files in subdirectories]] :END: * Agenda-like view @@ -234,6 +235,10 @@ Other interesting queries: :super-groups '((:auto-parent t))) #+END_SRC +* Task list for files in subdirectories + +[[images/org-ql-search-snippet.png]] + * COMMENT Code :noexport: :PROPERTIES: :TOC: :ignore (this descendants) From 68a1cf29b64f059569493b6ab808d85a71d64710 Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Tue, 28 Jan 2020 00:52:35 -0600 Subject: [PATCH 155/615] Docs: Update readme for new org-make-toc --- README.org | 28 ++++++++++++---------------- 1 file changed, 12 insertions(+), 16 deletions(-) diff --git a/README.org b/README.org index b199954..6152f2a 100644 --- a/README.org +++ b/README.org @@ -12,19 +12,15 @@ It includes three libraries: The =org-ql= library is flexible and may be used as * Contents :PROPERTIES: -:TOC: this +:TOC: :include siblings :depth 0 :ignore this :force depth :END: -- [[#screenshots][Screenshots]] -- [[#installation][Installation]] -- [[#usage][Usage]] - - [[#commands][Commands]] - - [[#queries][Queries]] - - [[#non-sexp-query-syntax][Non-sexp query syntax]] - - [[#predicates][Predicates]] - - [[#datetime-predicates][Date/time predicates]] - - [[#functions--macros][Functions / Macros]] -- [[#changelog][Changelog]] -- [[#notes][Notes]] +:CONTENTS: +- [[#screenshots][Screenshots]] +- [[#installation][Installation]] +- [[#usage][Usage]] +- [[#changelog][Changelog]] +:END: + * Screenshots @@ -558,7 +554,7 @@ First tagged release. * Notes :PROPERTIES: -:TOC: ignore-children +:TOC: :ignore this :END: ** Comparison with Org Agenda searches @@ -577,14 +573,14 @@ This package is used by [[https://github.com/alphapapa/org-sidebar][org-sidebar] * License :PROPERTIES: -:TOC: ignore +:TOC: :ignore this :END: GPLv3 * COMMENT Code :noexport: :PROPERTIES: -:TOC: ignore +:TOC: :ignore this :END: # The COMMENT keyword prevents GitHub's renderer from showing this entry. @@ -646,7 +642,7 @@ If ~org-ql~ is loaded byte-compiled, the argument lists are not named properly ( * COMMENT Export setup :noexport: :PROPERTIES: -:TOC: ignore +:TOC: :ignore this :END: # Copied from org-super-agenda's readme, in which much was borrowed from Org's =org-manual.org=. From 6e3c0d3c68055d26b24ca671bb34811b9a3a855e Mon Sep 17 00:00:00 2001 From: Adam Porter Date: Mon, 27 Jan 2020 19:26:08 -0600 Subject: [PATCH 156/615] Add: Transient view dispatcher --- README.org | 15 +- images/demo-org-ql-view-dispatch.sh | 166 ++++++++++++++++++++++ images/org-ql-view-dispatch.gif | Bin 0 -> 1884495 bytes org-ql-view.el | 207 +++++++++++++++++++++++++++- org-ql.info | 120 +++++++++------- 5 files changed, 451 insertions(+), 57 deletions(-) create mode 100755 images/demo-org-ql-view-dispatch.sh create mode 100644 images/org-ql-view-dispatch.gif diff --git a/README.org b/README.org index 6152f2a..719c7a1 100644 --- a/README.org +++ b/README.org @@ -26,6 +26,7 @@ It includes three libraries: The =org-ql= library is flexible and may be used as [[images/org-ql-search.gif]] +[[images/org-ql-view-dispatch.gif]] [[images/helm-org-ql.gif]] @@ -111,7 +112,8 @@ Read ~QUERY~ and search with ~org-ql~. Interactively, prompt for these variable ~SORT~: One or a list of ~org-ql~ sorting functions, like ~date~ or ~priority~. *Bindings:* Keys bound in results buffer. -+ =g=: Refresh results. With prefix, prompt to adjust search parameters. ++ =r=: Refresh results. With prefix, prompt to adjust search parameters. ++ =v=: Show =transient= view dispatcher (like Magit's popups). + =C-x C-s=: Save query to variable ~org-ql-views~ (accessible with command ~org-ql-view~). *Note:* The view buffer is currently put in ~org-agenda-mode~, which means that /some/ Org Agenda commands work, such as jumping to entries and changing item priorities (without necessarily updating the view). This feature is experimental and not guaranteed to work correctly with all commands. (It works to the extent it does because the appropriate text properties are placed on each item, imitating an Agenda buffer.) @@ -128,6 +130,11 @@ This command displays matches with Helm. *Note:* Helm is not a package dependen Choose and display a view stored in ~org-ql-views~. +*Bindings:* Keys bound in view buffer. ++ =r=: Refresh results. With prefix, prompt to adjust search parameters. ++ =v=: Show =transient= view dispatcher (like Magit's popups). ++ =C-x C-s=: Save query to variable ~org-ql-views~ (accessible with command ~org-ql-view~). + *** org-ql-view-sidebar Show a sidebar window listing views stored in =org-ql-views= for easy access. In the sidebar, press =RET= or =mouse-1= to show the view at point, and press =c= to customize the view at point. @@ -395,7 +402,11 @@ Expands into a call to ~org-ql-select~ with the same arguments. For convenience ** 0.5-pre -Nothing new yet. +*Added* ++ View dispatcher using =transient.el= (like Magit), bound to =v= in search/view buffers. + +*Changed* ++ Binding to refresh search/view buffers changed to =r=. ** 0.4 diff --git a/images/demo-org-ql-view-dispatch.sh b/images/demo-org-ql-view-dispatch.sh new file mode 100755 index 0000000..3e009b3 --- /dev/null +++ b/images/demo-org-ql-view-dispatch.sh @@ -0,0 +1,166 @@ +#!/bin/bash + +# NOTE: Run "setxkbmap us" before running. See https://github.com/jordansissel/xdotool/issues/49 + +# NOTE: should be bound to this function in the Emacs window, like this: + +# (global-set-key [f1] +# (defun gif-screencast-start-or-stop () +# (interactive) +# (if gif-screencast-mode +# (progn +# (gif-screencast-stop) +# (setq gc-cons-threshold gc-cons-threshold-original)) +# (setq gc-cons-threshold-original gc-cons-threshold) +# (setq gc-cons-threshold (* 1024 1024 500)) +# (gif-screencast)))) + +# * Functions + +function ensure_window_name { + if ! [[ $(xdotool getwindowfocus getwindowname) = $1 ]] + then + echo "Wrong window!" >&2 + exit 1 + fi +} + +function key { + xdotool key "$@" +} + +function input { + raw_input "$@" + + # Correct for Helm's input idle delay by sending extra commands to + # make the screenshots be taken. Not sure why two are necessary, + # but they seem to be. + key ctrl+p + sleep 0.26 + key ctrl+p +} + +function raw_input { + xdotool type --delay 200 "$@" +} + +function view-dispatch { + key v + sleep 2 +} +function view-refresh { + key r + sleep 2 +} + +function clear-input { + key ctrl+a ctrl+k + sleep 0.5 +} +function set-field { + key $1 + shift + sleep 1 + clear-input + raw_input "$@" + sleep 1 + key Return + sleep 1 +} + +function set-field-with-unique-completion { + # "$@" should be a unique completion. + key $1 + shift + sleep 0.5 + clear-input + key Tab + sleep 0.5 + raw_input "$@" + key Tab + sleep 0.75 + key Return + sleep 1 +} + +function complete-in-steps { + # Assumes input is clear. + key Tab + sleep 0.75 + key Tab + sleep 0.75 + + for s in "$@" + do + raw_input "$s" + key Tab + sleep 0.75 + done + sleep 1 +} + +# * Script + +# No matter what I try, xdotool is not working properly to focus/raise/select +# a window. And for some bizarre reason, the "xdotool selectwindow" command +# outputs a completely different window ID than "xdotool search" outputs. In +# fact, the window ID it outputs does not even appear in the output of +# "xprop" for that window. I have no idea where it's getting that ID. + +# So rather than cleanly selecting the proper window in the script, we have to +# do a hacky workaround by sleeping and checking the name of the active +# window. + +sleep 3 +ensure_window_name "data.org" + +# Start gif-screencast +key F1 +sleep 2 + +# M-x org-ql-view RET, TAB, Ov TAB, Ag TAB, RET +key alt+x +sleep 0.2 +raw_input "org-ql-view" +sleep 1 +key Return +sleep 1 + +complete-in-steps Ov Ag +key Return +sleep 2 + +# Edit view. +view-dispatch +set-field t "Space-related" +set-field q "tags:space,spaceship" +set-field-with-unique-completion g pri +view-refresh + +# Save query +view-dispatch +key ctrl+s +sleep 1 +key Return +sleep 2 + +# New query: Ambition +view-dispatch +set-field t Ambition +set-field q "category:ambition" +set-field s "priority" +set-field g "parent" +view-refresh + +view-dispatch +set-field t "Upcoming: ambition" +set-field g ts +view-refresh + +# Save view. +view-dispatch +key ctrl+s +sleep 0.75 +key Return + +key F1 diff --git a/images/org-ql-view-dispatch.gif b/images/org-ql-view-dispatch.gif new file mode 100644 index 0000000000000000000000000000000000000000..e76c5b7aa27f5d57a8b2cf91c3560cb03bbc3fc8 GIT binary patch literal 1884495 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

            • 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 {6e_p274KCr(kyd>WDot9%o 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