Fix: (link) Save excursion around regexp search

Fixes #279.  Thanks to Marc Fargas (@telenieko) for reporting.

Released as 0.6.2.
This commit is contained in:
Adam Porter 2022-05-27 02:01:00 -05:00
parent f666fe150f
commit 115500c8a0
3 changed files with 272 additions and 252 deletions

View file

@ -522,6 +522,11 @@ 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. /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.2
*Fixed*
+ ~link~ predicate when used in an ~or~'ed query. ([[https://github.com/alphapapa/org-ql/issues/279][#279]]. Thanks to [[https://github.com/telenieko][Marc Fargas]] for reporting.)
** 0.6.1 ** 0.6.1
*Fixed* *Fixed*

View file

@ -2,7 +2,7 @@
;; Author: Adam Porter <adam@alphapapa.net> ;; Author: Adam Porter <adam@alphapapa.net>
;; Url: https://github.com/alphapapa/org-ql ;; Url: https://github.com/alphapapa/org-ql
;; Version: 0.6.1 ;; Version: 0.6.2
;; Package-Requires: ((emacs "26.1") (dash "2.18.1") (f "0.17.2") (map "2.1") (org "9.0") (org-super-agenda "1.2") (ov "1.0.6") (peg "1.0") (s "1.12.0") (transient "0.1") (ts "0.2-pre")) ;; Package-Requires: ((emacs "26.1") (dash "2.18.1") (f "0.17.2") (map "2.1") (org "9.0") (org-super-agenda "1.2") (ov "1.0.6") (peg "1.0") (s "1.12.0") (transient "0.1") (ts "0.2-pre"))
;; Keywords: hypermedia, outlines, Org, agenda ;; Keywords: hypermedia, outlines, Org, agenda
@ -1461,7 +1461,8 @@ any link is found."
(setf description (regexp-quote description))) (setf description (regexp-quote description)))
(when target (when target
(setf target (regexp-quote target)))) (setf target (regexp-quote target))))
(when (re-search-forward org-ql-link-regexp (org-entry-end-position) t) (when (save-excursion
(re-search-forward org-ql-link-regexp (org-entry-end-position) t))
(pcase description-or-target (pcase description-or-target
('nil (and (or (null target) ('nil (and (or (null target)
(string-match-p target (match-string 1))) (string-match-p target (match-string 1)))

View file

@ -11,6 +11,14 @@ File: README.info, Node: Top, Next: Contents, Up: (dir)
org-ql org-ql
****** ******
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’ (a separate package) provide interactive search commands
and saved views.
* Menu: * Menu:
* Contents:: * Contents::
@ -23,15 +31,11 @@ org-ql
— The Detailed Node Listing — — The Detailed Node Listing —
Installation Installation
* Quelpa:: * Quelpa::
* Helm support:: * Helm support::
Usage Usage
* Commands:: * Commands::
@ -50,8 +54,6 @@ Commands
* org-ql-view-recent-items:: * org-ql-view-recent-items::
* org-ql-sparse-tree:: * org-ql-sparse-tree::
Queries Queries
* Non-sexp query syntax:: * Non-sexp query syntax::
@ -59,8 +61,6 @@ Queries
* Ancestor/descendant predicates:: * Ancestor/descendant predicates::
* Date/time predicates:: * Date/time predicates::
Functions / Macros Functions / Macros
* Agenda-like views:: * Agenda-like views::
@ -69,6 +69,7 @@ Functions / Macros
Changelog Changelog
* 0.6.2: 062.
* 0.6.1: 061. * 0.6.1: 061.
* 0.6: 06. * 0.6: 06.
* 0.5.2: 052. * 0.5.2: 052.
@ -93,20 +94,11 @@ Changelog
* 0.2: 02. * 0.2: 02.
* 0.1: 01. * 0.1: 01.
Notes Notes
* Comparison with Org Agenda searches:: * Comparison with Org Agenda searches::
* org-sidebar:: * 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 (a separate package) provide interactive search commands and
saved views.
 
File: README.info, Node: Contents, Next: Screenshots, Prev: Top, Up: Top File: README.info, Node: Contents, Next: Screenshots, Prev: Top, Up: Top
@ -127,13 +119,13 @@ File: README.info, Node: Installation, Next: Usage, Prev: Screenshots, Up: T
3 Installation 3 Installation
************** **************
The package org-ql may be installed directly from MELPA The package ‘org-ql’ may be installed directly from MELPA
(https://melpa.org/#/org-ql) or with other tools like Quelpa (https://melpa.org/#/org-ql) or with other tools like Quelpa
(https://framagit.org/steckerhalter/quelpa). (https://framagit.org/steckerhalter/quelpa).
After installation, you can use the commands without additional After installation, you can use the commands without additional
configuration. To use the functions and macros in your own Elisp code, configuration. To use the functions and macros in your own Elisp code,
use libraries org-ql and org-ql-view. use libraries ‘org-ql’ and ‘org-ql-view’.
* Menu: * Menu:
@ -164,8 +156,8 @@ File: README.info, Node: Helm support, Prev: Quelpa, Up: Installation
3.2 Helm support 3.2 Helm support
================ ================
The command helm-org-ql is available in the package helm-org-ql. It may The command ‘helm-org-ql’ is available in the package ‘helm-org-ql’. It
be installed from MELPA, or with Quelpa, like so: may be installed from MELPA, or with Quelpa, like so:
(use-package helm-org-ql (use-package helm-org-ql
:quelpa (helm-org-ql :fetcher github :repo "alphapapa/org-ql" :quelpa (helm-org-ql :fetcher github :repo "alphapapa/org-ql"
@ -248,10 +240,10 @@ Interactively, with prefix, leave narrowed.
‘priority’. ‘priority’.
*Bindings:* Keys bound in results buffer. *Bindings:* Keys bound in results buffer.
• r: Refresh results. With prefix, prompt to adjust search • ‘r’: Refresh results. With prefix, prompt to adjust search
parameters. parameters.
• v: Show transient view dispatcher (like Magit’s popups). • ‘v’: Show ‘transient’ view dispatcher (like Magit’s popups).
• C-x C-s: Save query to variable ‘org-ql-views’ (accessible with • ‘C-x C-s’: Save query to variable ‘org-ql-views’ (accessible with
command ‘org-ql-view’). command ‘org-ql-view’).
*Note:* The view buffer is currently put in ‘org-agenda-mode’, which *Note:* The view buffer is currently put in ‘org-agenda-mode’, which
@ -268,12 +260,12 @@ File: README.info, Node: helm-org-ql, Next: org-ql-view, Prev: org-ql-search,
----------------- -----------------
_Note: This command uses . It is available separately in the package _Note: This command uses . It is available separately in the package
helm-org-ql._ ‘helm-org-ql’._
This command displays matches with Helm. This command displays matches with Helm.
• Press C-x C-s in the Helm session to save the results to an • Press ‘C-x C-s’ in the Helm session to save the results to an
org-ql-search buffer. ‘org-ql-search’ buffer.
 
File: README.info, Node: org-ql-view, Next: org-ql-view-sidebar, Prev: helm-org-ql, Up: Commands File: README.info, Node: org-ql-view, Next: org-ql-view-sidebar, Prev: helm-org-ql, Up: Commands
@ -284,10 +276,10 @@ 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’. Choose and display a view stored in ‘org-ql-views’.
*Bindings:* Keys bound in view buffer. *Bindings:* Keys bound in view buffer.
• g, r: Refresh results. With prefix, prompt to adjust search • ‘g’, ‘r’: Refresh results. With prefix, prompt to adjust search
parameters. parameters.
• v: Show transient view dispatcher (like Magit’s popups). • ‘v’: Show ‘transient’ view dispatcher (like Magit’s popups).
• C-x C-s: Save query to variable ‘org-ql-views’ (accessible with • ‘C-x C-s’: Save query to variable ‘org-ql-views’ (accessible with
command ‘org-ql-view’). command ‘org-ql-view’).
 
@ -296,9 +288,9 @@ File: README.info, Node: org-ql-view-sidebar, Next: org-ql-view-recent-items,
4.1.4 org-ql-view-sidebar 4.1.4 org-ql-view-sidebar
------------------------- -------------------------
Show a sidebar window listing views stored in org-ql-views for easy 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, access. In the sidebar, press ‘RET’ or ‘mouse-1’ to show the view at
and press c to customize the view at point. 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 File: README.info, Node: org-ql-view-recent-items, Next: org-ql-sparse-tree, Prev: org-ql-view-sidebar, Up: Commands
@ -308,8 +300,8 @@ File: README.info, Node: org-ql-view-recent-items, Next: org-ql-sparse-tree,
Show items in ‘FILES’ from last ‘DAYS’ days with timestamps of ‘TYPE’. Show items in ‘FILES’ from last ‘DAYS’ days with timestamps of ‘TYPE’.
‘TYPE’ may be ‘ts’, ‘ts-active’, ‘ts-inactive’, ‘clocked’, ‘closed’, ‘TYPE’ may be ‘ts’, ‘ts-active’, ‘ts-inactive’, ‘clocked’, ‘closed’,
‘deadline’, ‘planning’, or ‘scheduled’. FILES defaults to those ‘deadline’, ‘planning’, or ‘scheduled’. ‘FILES’ defaults to those
returned by the function org-agenda-files. returned by the function ‘org-agenda-files’.
 
File: README.info, Node: org-ql-sparse-tree, Prev: org-ql-view-recent-items, Up: Commands File: README.info, Node: org-ql-sparse-tree, Prev: org-ql-view-recent-items, Up: Commands
@ -336,7 +328,7 @@ File: README.info, Node: Queries, Next: Functions / Macros, Prev: Commands,
=========== ===========
• • • • • • • •
An org-ql query is a Lisp expression which may contain arbitrary An ‘org-ql’ query is a Lisp expression which may contain arbitrary
expressions, as well as calling certain built-in predicates. It is expressions, as well as calling certain built-in predicates. It is
byte-compiled into a predicate function which is tested with point on 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 each heading in an Org buffer; when it returns non-nil, the heading
@ -365,11 +357,11 @@ File: README.info, Node: Non-sexp query syntax, Next: General predicates, Up:
4.2.1 Non-sexp query syntax 4.2.1 Non-sexp query syntax
--------------------------- ---------------------------
The command org-ql-search also accepts, and the command helm-org-ql only The command ‘org-ql-search’ also accepts, and the command ‘helm-org-ql’
accepts, an alternative, non-sexp query syntax. The syntax is simple, only accepts, an alternative, non-sexp query syntax. The syntax is
and a few examples of queries in both syntaxes should suffice. By simple, and a few examples of queries in both syntaxes should suffice.
default, when multiple predicates are used, they are combined with By default, when multiple predicates are used, they are combined with
boolean and. boolean ‘and’.
Sexp syntax Non-sexp syntax Sexp syntax Non-sexp syntax
------------------------------------------------------------------------------------------------------- -------------------------------------------------------------------------------------------------------
@ -385,9 +377,9 @@ Sexp syntax Non-sexp syntax
‘(and (tags "space") (not (regexp "moon")))’ ‘tags:space !moon’ ‘(and (tags "space") (not (regexp "moon")))’ ‘tags:space !moon’
‘(priority >= B)’ ‘priority:A,B’ ‘(priority >= B)’ ‘priority:A,B’
Note that the effort, level, and priority predicates do not support Note that the ‘effort’, ‘level’, and ‘priority’ predicates do not
comparators in the non-sexp syntax, so multiple arguments should be support comparators in the non-sexp syntax, so multiple arguments should
passed instead, as seen in the last example. be passed instead, as seen in the last example.
 
File: README.info, Node: General predicates, Next: Ancestor/descendant 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
@ -409,14 +401,14 @@ Arguments are listed next to predicate names, where applicable.
Matches if effort is between DURATIONs, inclusive. ‘(effort Matches if effort is between DURATIONs, inclusive. ‘(effort
COMPARATOR DURATION)’: Matches if effort compares to ‘DURATION’ COMPARATOR DURATION)’: Matches if effort compares to ‘DURATION’
with ‘COMPARATOR’. ‘COMPARATOR’ may be ‘<’, ‘<=’, ‘>’, or ‘>=’. with ‘COMPARATOR’. ‘COMPARATOR’ may be ‘<’, ‘<=’, ‘>’, or ‘>=’.
‘DURATION’ should be an Org effort string, like 5 or 0:05. ‘DURATION’ should be an Org effort string, like ‘5’ or ‘0:05’.
‘habit’ ‘habit’
Return non-nil if entry is a habit. Return non-nil if entry is a habit.
‘heading (&rest strings)’ ‘heading (&rest strings)’
Return non-nil if current entry’s heading matches all ‘STRINGS’. Return non-nil if current entry’s heading matches all ‘STRINGS’.
Matching is done case-insensitively. Matching is done case-insensitively.
• Aliases: h. • Aliases: ‘h’.
‘‘heading-regexp (&rest regexps)’’ ‘heading-regexp (&rest regexps)’
Return non-nil if current entry’s heading matches all ‘REGEXPS’ Return non-nil if current entry’s heading matches all ‘REGEXPS’
(regexp strings). Matching is done case-insensitively. (regexp strings). Matching is done case-insensitively.
• Aliases: ‘h*’. • Aliases: ‘h*’.
@ -436,8 +428,8 @@ Arguments are listed next to predicate names, where applicable.
‘outline-path (&rest strings)’ ‘outline-path (&rest strings)’
Return non-nil if current node’s outline path matches all of Return non-nil if current node’s outline path matches all of
‘STRINGS’. Each string may appear as a substring in any part 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 the node’s outline path. For example, the path
would match ‘(olp "Fruit" "Grape")’. ‘Food/Fruits/Grapes’ would match ‘(olp "Fruit" "Grape")’.
• Aliases: ‘olp’. • Aliases: ‘olp’.
‘outline-path-segment (&rest strings)’ ‘outline-path-segment (&rest strings)’
Return non-nil if current node’s outline path matches ‘STRINGS’. Return non-nil if current node’s outline path matches ‘STRINGS’.
@ -469,8 +461,8 @@ Arguments are listed next to predicate names, where applicable.
Return non-nil if current entry matches all of ‘REGEXPS’ (regexp Return non-nil if current entry matches all of ‘REGEXPS’ (regexp
strings). Matches against entire entry, from beginning of its strings). Matches against entire entry, from beginning of its
heading to the next heading. heading to the next heading.
• Aliases: r. • Aliases: ‘r’.
‘‘src (&key lang regexps)’’ ‘src (&key lang regexps)’
Return non-nil if current entry contains an Org Babel source block. Return non-nil if current entry contains an Org Babel source block.
If ‘LANG’ is non-nil, match blocks of that language. If ‘REGEXPS’ If ‘LANG’ is non-nil, match blocks of that language. If ‘REGEXPS’
is non-nil, require that block’s contents match all regexps. is non-nil, require that block’s contents match all regexps.
@ -552,10 +544,10 @@ to look forward, or negative to look backward), a string parseable by
Return non-nil if current entry has a timestamp in given Return non-nil if current entry has a timestamp in given
period. Without arguments, return non-nil if entry has a period. Without arguments, return non-nil if entry has a
timestamp. timestamp.
‘ts-active, ts-a’ ‘ts-active’, ‘ts-a’
Like ts, but only matches active timestamps. Like ‘ts’, but only matches active timestamps.
‘ts-inactive, ts-i’ ‘ts-inactive’, ‘ts-i’
Like ts, but only matches inactive timestamps. Like ‘ts’, but only matches inactive timestamps.
The following predicates, in addition to the keyword arguments, can The following predicates, in addition to the keyword arguments, can
also take a single argument, a number, which looks backward or forward a also take a single argument, a number, which looks backward or forward a
@ -583,8 +575,8 @@ searching for items planned in the next few days:
• *Forward-looking* • *Forward-looking*
‘deadline’ ‘deadline’
Return non-nil if current entry has deadline in given period. Return non-nil if current entry has deadline in given period.
If argument is auto, return non-nil if entry has deadline If argument is ‘auto’, return non-nil if entry has deadline
within org-deadline-warning-days. Without arguments, return within ‘org-deadline-warning-days’. Without arguments, return
non-nil if entry has any deadline. non-nil if entry has any deadline.
‘planning’ ‘planning’
Return non-nil if current entry has planning timestamp (i.e. Return non-nil if current entry has planning timestamp (i.e.
@ -622,7 +614,7 @@ File: README.info, Node: Agenda-like views, Next: Listing / acting-on results,
For use as a custom agenda block type in For use as a custom agenda block type in
‘org-agenda-custom-commands’. For example, you could define a ‘org-agenda-custom-commands’. For example, you could define a
custom series command like this, which would list all priority A custom series command like this, which would list all priority A
items tagged Emacs with to-do keyword SOMEDAY, followed by the items tagged ‘Emacs’ with to-do keyword ‘SOMEDAY’, followed by the
standard agenda view, in a single buffer: standard agenda view, in a single buffer:
(setq org-agenda-custom-commands (setq org-agenda-custom-commands
@ -642,8 +634,8 @@ File: README.info, Node: Agenda-like views, Next: Listing / acting-on results,
However, the ‘org-ql-block’ version runs in about 1/5th the time. 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 variable ‘org-ql-block-header’ may be bound to a string to use
the block header, otherwise the header is formed automatically. as the block header, otherwise the header is formed automatically.
 
File: README.info, Node: Listing / acting-on results, Next: Custom predicates, 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
@ -791,7 +783,7 @@ File: README.info, Node: Custom predicates, Prev: Listing / acting-on results,
• See: Custom predicate tutorial (examples/defpred.org) • See: Custom predicate tutorial (examples/defpred.org)
1. Macro: org-ql-defpred 1. Macro: ‘org-ql-defpred’
_Arguments:_ ‘(name args docstring &key body preambles _Arguments:_ ‘(name args docstring &key body preambles
normalizers)’ normalizers)’
@ -880,9 +872,9 @@ supported:
• Each column may also be specified as a list with the second • Each column may also be specified as a list with the second
element being a header string. For example, to abbreviate the 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 • For certain columns, like ‘property’, arguments may be passed
specifying the column type itself as a list. For example, to by specifying the column type itself as a list. For example,
display a column showing the values of a ‘property’ named to display a column showing the values of a ‘property’ named
‘milestone’, with the header being abbreviated to ‘M’: ‘milestone’, with the header being abbreviated to ‘M’:
‘((property "milestone") "M")’. ‘((property "milestone") "M")’.
• ‘:sort’ One or a list of Org QL sorting methods (see • ‘:sort’ One or a list of Org QL sorting methods (see
@ -897,7 +889,7 @@ in the following example).
For example, this dynamic block shows the first seven headings that 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, 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 certain columns (including the value of the ‘agenda-group’ property
with a custom header) and timestamp format: with a custom header) and timestamp format:
#+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" #+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"
@ -940,7 +932,7 @@ File: README.info, Node: Tips, Prev: Links, Up: Usage
======== ========
• Org QL View buffers can be bookmarked with Emacs bookmark commands, • Org QL View buffers can be bookmarked with Emacs bookmark commands,
e.g. C-x r m. This also integrates with org-sidebar e.g. ‘C-x r m’. This also integrates with org-sidebar
(https://github.com/alphapapa/org-sidebar) and Burly (https://github.com/alphapapa/org-sidebar) and Burly
(https://github.com/alphapapa/burly.el). (https://github.com/alphapapa/burly.el).
@ -958,6 +950,7 @@ releases.
* Menu: * Menu:
* 0.6.2: 062.
* 0.6.1: 061. * 0.6.1: 061.
* 0.6: 06. * 0.6: 06.
* 0.5.2: 052. * 0.5.2: 052.
@ -983,9 +976,20 @@ releases.
* 0.1: 01. * 0.1: 01.
 
File: README.info, Node: 061, Next: 06, Up: Changelog File: README.info, Node: 062, Next: 061, Up: Changelog
5.1 0.6.1 5.1 0.6.2
=========
*Fixed*
• ‘link’ predicate when used in an ‘or’’ed query. (#279
(https://github.com/alphapapa/org-ql/issues/279). Thanks to Marc
Fargas (https://github.com/telenieko) for reporting.)

File: README.info, Node: 061, Next: 06, Prev: 062, Up: Changelog
5.2 0.6.1
========= =========
*Fixed* *Fixed*
@ -1003,11 +1007,11 @@ File: README.info, Node: 061, Next: 06, Up: Changelog
 
File: README.info, Node: 06, Next: 052, Prev: 061, Up: Changelog File: README.info, Node: 06, Next: 052, Prev: 061, Up: Changelog
5.2 0.6 5.3 0.6
======= =======
*Added* *Added*
• Macro org-ql-defpred, used to define search predicates. (See • Macro ‘org-ql-defpred’, used to define search predicates. (See
tutorial (examples/defpred.org).) tutorial (examples/defpred.org).)
• Predicate ‘effort’. • Predicate ‘effort’.
• Predicate ‘heading-regexp’, which matches regular expressions • Predicate ‘heading-regexp’, which matches regular expressions
@ -1028,14 +1032,14 @@ File: README.info, Node: 06, Next: 052, Prev: 061, Up: Changelog
For example, ‘:sort '(todo priority date)’ now does what ‘:sort For example, ‘:sort '(todo priority date)’ now does what ‘:sort
'(date priority todo)’ did in earlier versions. (This change is '(date priority todo)’ did in earlier versions. (This change is
made to enable the new ‘reverse’ sorting method.) Users who have made to enable the new ‘reverse’ sorting method.) Users who have
customized org-ql-views will need to update the stored views’ customized ‘org-ql-views’ will need to update the stored views’
sorting methods to preserve the desired sort order. sorting methods to preserve the desired sort order.
• Helm support (including the command helm-org-ql) has been moved to • Helm support (including the command ‘helm-org-ql’) has been moved
a separate package, helm-org-ql. to a separate package, ‘helm-org-ql’.
• Predicate ‘heading’ now matches plain strings instead of regular • Predicate ‘heading’ now matches plain strings instead of regular
expressions. expressions.
• Update dash dependency, and remove dependency on obsolete • Update ‘dash’ dependency, and remove dependency on obsolete
dash-functional. (Fixes #179 ‘dash-functional’. (Fixes #179
(https://github.com/alphapapa/org-ql/issues/179), #209 (https://github.com/alphapapa/org-ql/issues/179), #209
(https://github.com/alphapapa/org-ql/issues/209). Thanks to Mark (https://github.com/alphapapa/org-ql/issues/209). Thanks to Mark
Hudnall (https://github.com/landakram), Akira Komamura Hudnall (https://github.com/landakram), Akira Komamura
@ -1057,7 +1061,7 @@ File: README.info, Node: 06, Next: 052, Prev: 061, Up: Changelog
*Internal* *Internal*
• Predicates are now defined more cleanly with a macro • Predicates are now defined more cleanly with a macro
(org-ql-defpred) that consolidates functionality related to each (‘org-ql-defpred’) that consolidates functionality related to each
predicate. This will also allow users to more easily define custom predicate. This will also allow users to more easily define custom
predicates. predicates.
• Version 1.0 of library ‘peg’ is now required. • Version 1.0 of library ‘peg’ is now required.
@ -1070,7 +1074,7 @@ File: README.info, Node: 06, Next: 052, Prev: 061, Up: Changelog
 
File: README.info, Node: 052, Next: 051, Prev: 06, Up: Changelog File: README.info, Node: 052, Next: 051, Prev: 06, Up: Changelog
5.3 0.5.2 5.4 0.5.2
========= =========
*Fixed* *Fixed*
@ -1081,12 +1085,12 @@ File: README.info, Node: 052, Next: 051, Prev: 06, Up: Changelog
 
File: README.info, Node: 051, Next: 05, Prev: 052, Up: Changelog File: README.info, Node: 051, Next: 05, Prev: 052, Up: Changelog
5.4 0.5.1 5.5 0.5.1
========= =========
*Fixed* *Fixed*
• Custom sorting functions could corrupt the cache, causing items to • Custom sorting functions could corrupt the cache, causing items to
disappear after refreshing an org-ql-search buffer. (#186 disappear after refreshing an ‘org-ql-search’ buffer. (#186
(https://github.com/alphapapa/org-ql/issues/186), #187 (https://github.com/alphapapa/org-ql/issues/186), #187
(https://github.com/alphapapa/org-ql/issues/187). Thanks to (https://github.com/alphapapa/org-ql/issues/187). Thanks to
Nathanael kinfe (https://github.com/natask).) Nathanael kinfe (https://github.com/natask).)
@ -1094,19 +1098,19 @@ File: README.info, Node: 051, Next: 05, Prev: 052, Up: Changelog
 
File: README.info, Node: 05, Next: 049, Prev: 051, Up: Changelog File: README.info, Node: 05, Next: 049, Prev: 051, Up: Changelog
5.5 0.5 5.6 0.5
======= =======
*Added* *Added*
• View dispatcher using transient.el (like Magit), bound to v in • View dispatcher using ‘transient.el’ (like Magit), bound to ‘v’ in
search/view buffers. search/view buffers.
• Predicate link, which matches descriptions and targets in Org • Predicate ‘link’, which matches descriptions and targets in Org
links. links.
• Predicate ‘tags-regexp’ (alias: ‘tags*’), which matches regexps • Predicate ‘tags-regexp’ (alias: ‘tags*’), which matches regexps
against entry tags (e.g, helpful when a tag might end in "s"). against entry tags (e.g, helpful when a tag might end in "s").
• Emacs bookmark support: Org QL View buffers can be bookmarked with, • 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 e.g. ‘C-x r m’ and shown with, e.g. ‘C-x r b’. (This also
view restoration with Burly enables view restoration with Burly
(https://github.com/alphapapa/burly.el).) (https://github.com/alphapapa/burly.el).)
• Dynamic block support. • Dynamic block support.
• Org link support (storing and opening links to Org QL View • Org link support (storing and opening links to Org QL View
@ -1114,7 +1118,7 @@ File: README.info, Node: 05, Next: 049, Prev: 051, Up: Changelog
• Mascot. • Mascot.
*Changed* *Changed*
• Binding to refresh search/view buffers changed to r. • Binding to refresh search/view buffers changed to ‘r’.
*Internal* *Internal*
• When formatting entries for Org QL View buffers, use internal • When formatting entries for Org QL View buffers, use internal
@ -1123,9 +1127,9 @@ File: README.info, Node: 05, Next: 049, Prev: 051, Up: Changelog
Org versions before 9.3. Org versions before 9.3.
*Deprecated* *Deprecated*
• Macro org-ql is marked obsolete. It will be removed in v0.7. • 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. Functions ‘org-ql-select’ and ‘org-ql-query’ should be used
(The macro serves only to confuse with regard to quoting instead. (The macro serves only to confuse with regard to quoting
arguments.) arguments.)
*Acknowledgments* *Acknowledgments*
@ -1135,18 +1139,18 @@ File: README.info, Node: 05, Next: 049, Prev: 051, Up: Changelog
 
File: README.info, Node: 049, Next: 048, Prev: 05, Up: Changelog File: README.info, Node: 049, Next: 048, Prev: 05, Up: Changelog
5.6 0.4.9 5.7 0.4.9
========= =========
*Fixed* *Fixed*
• Agenda restriction in org-ql-block. (Fixes #84 • Agenda restriction in ‘org-ql-block’. (Fixes #84
(https://github.com/alphapapa/org-ql/issues/84). Thanks to Ihor (https://github.com/alphapapa/org-ql/issues/84). Thanks to Ihor
Radchenko (https://github.com/yantar92).) Radchenko (https://github.com/yantar92).)
 
File: README.info, Node: 048, Next: 047, Prev: 049, Up: Changelog File: README.info, Node: 048, Next: 047, Prev: 049, Up: Changelog
5.7 0.4.8 5.8 0.4.8
========= =========
*Fixed* *Fixed*
@ -1158,12 +1162,12 @@ File: README.info, Node: 048, Next: 047, Prev: 049, Up: Changelog
 
File: README.info, Node: 047, Next: 046, Prev: 048, Up: Changelog File: README.info, Node: 047, Next: 046, Prev: 048, Up: Changelog
5.8 0.4.7 5.9 0.4.7
========= =========
*Fixed* *Fixed*
• Give a useful error if org-ql-search-directories-files is called • Give a useful error if ‘org-ql-search-directories-files’ is called
without a directories argument and org-directory doesn’t exist. without a directories argument and ‘org-directory’ doesn’t exist.
(Fixes #139 (https://github.com/alphapapa/org-ql/issues/139). (Fixes #139 (https://github.com/alphapapa/org-ql/issues/139).
Thanks to Matt Huszagh (https://github.com/matthuszagh) for Thanks to Matt Huszagh (https://github.com/matthuszagh) for
reporting.) reporting.)
@ -1171,12 +1175,12 @@ File: README.info, Node: 047, Next: 046, Prev: 048, Up: Changelog
 
File: README.info, Node: 046, Next: 045, Prev: 047, Up: Changelog File: README.info, Node: 046, Next: 045, Prev: 047, Up: Changelog
5.9 0.4.6 5.10 0.4.6
========= ==========
*Fixed* *Fixed*
• Compatibility with newer versions of the peg library, which removed • Compatibility with newer versions of the ‘peg’ library, which
a macro used by this package. (Fixes #75 removed a macro used by this package. (Fixes #75
(https://github.com/alphapapa/org-ql/issues/75). Thanks to Karl (https://github.com/alphapapa/org-ql/issues/75). Thanks to Karl
Voit (https://github.com/novoid) and @karlicoss Voit (https://github.com/novoid) and @karlicoss
(https://github.com/karlicoss) for reporting.) (https://github.com/karlicoss) for reporting.)
@ -1184,7 +1188,7 @@ File: README.info, Node: 046, Next: 045, Prev: 047, Up: Changelog
 
File: README.info, Node: 045, Next: 044, Prev: 046, Up: Changelog File: README.info, Node: 045, Next: 044, Prev: 046, Up: Changelog
5.10 0.4.5 5.11 0.4.5
========== ==========
*Fixed* *Fixed*
@ -1196,7 +1200,7 @@ File: README.info, Node: 045, Next: 044, Prev: 046, Up: Changelog
 
File: README.info, Node: 044, Next: 043, Prev: 045, Up: Changelog File: README.info, Node: 044, Next: 043, Prev: 045, Up: Changelog
5.11 0.4.4 5.12 0.4.4
========== ==========
*Fixed* *Fixed*
@ -1208,17 +1212,17 @@ File: README.info, Node: 044, Next: 043, Prev: 045, Up: Changelog
 
File: README.info, Node: 043, Next: 042, Prev: 044, Up: Changelog File: README.info, Node: 043, Next: 042, Prev: 044, Up: Changelog
5.12 0.4.3 5.13 0.4.3
========== ==========
*Fixed* *Fixed*
• When org-ql-view-refresh is called, ensure the buffer is an Org QL • When ‘org-ql-view-refresh’ is called, ensure the buffer is an Org
View buffer. QL View buffer.
 
File: README.info, Node: 042, Next: 041, Prev: 043, Up: Changelog File: README.info, Node: 042, Next: 041, Prev: 043, Up: Changelog
5.13 0.4.2 5.14 0.4.2
========== ==========
*Fixed* *Fixed*
@ -1227,24 +1231,24 @@ File: README.info, Node: 042, Next: 041, Prev: 043, Up: Changelog
 
File: README.info, Node: 041, Next: 04, Prev: 042, Up: Changelog File: README.info, Node: 041, Next: 04, Prev: 042, Up: Changelog
5.14 0.4.1 5.15 0.4.1
========== ==========
*Fixed* *Fixed*
• level predicate used with arguments in plain queries. (Thanks to • ‘level’ predicate used with arguments in plain queries. (Thanks to
Akira Komamura (https://github.com/akirak) for reporting.) Akira Komamura (https://github.com/akirak) for reporting.)
 
File: README.info, Node: 04, Next: 032, Prev: 041, Up: Changelog File: README.info, Node: 04, Next: 032, Prev: 041, Up: Changelog
5.15 0.4 5.16 0.4
======== ========
_Note:_ The next release, 0.5, may include changes which will require _Note:_ The next release, 0.5, may include changes which will require
minor updates to written queries (e.g. a few predicates may be minor updates to written queries (e.g. a few predicates may be
renamed). Users who wish to avoid those changes happening unexpectedly renamed). Users who wish to avoid those changes happening unexpectedly
in their configs should avoid upgrading org-ql beyond 0.4 automatically, in their configs should avoid upgrading ‘org-ql’ beyond 0.4
as they will be pushed to the master branch when ready. automatically, as they will be pushed to the ‘master’ branch when ready.
*Added* *Added*
• *Commands* • *Commands*
@ -1258,13 +1262,13 @@ as they will be pushed to the master branch when ready.
• *Queries* • *Queries*
• Negation of terms in plain queries using ‘!’. For example, • Negation of terms in plain queries using ‘!’. For example,
‘tags:space !moon’ to exclude entries which contain ‘moon’. ‘tags:space !moon’ to exclude entries which contain ‘moon’.
• Predicates outline-path (alias olp) and outline-path-segment • Predicates ‘outline-path’ (alias ‘olp’) and
(alias olps). ‘outline-path-segment’ (alias ‘olps’).
• Predicate ‘src’, which matches Org Babel source blocks. • Predicate ‘src’, which matches Org Babel source blocks.
• Predicates parent and ancestors. (Thanks to Josh Moller-Mara • Predicates ‘parent’ and ‘ancestors’. (Thanks to Josh
(https://github.com/mm--).) Moller-Mara (https://github.com/mm--).)
• Alias h for heading predicate. • Alias ‘h’ for ‘heading’ predicate.
• Alias r for regexp predicate. (Thanks to Feng Shu • Alias ‘r’ for ‘regexp’ predicate. (Thanks to Feng Shu
(https://github.com/tumashu).) (https://github.com/tumashu).)
• Info manual. • Info manual.
• Function ‘helm-org-ql-source’, which returns a Helm source that • Function ‘helm-org-ql-source’, which returns a Helm source that
@ -1272,40 +1276,40 @@ as they will be pushed to the master branch when ready.
for custom Helm commands that search certain files. for custom Helm commands that search certain files.
• Display a message when views are refreshed. (Thanks to xeijin • Display a message when views are refreshed. (Thanks to xeijin
(https://github.com/xeijin).) (https://github.com/xeijin).)
• Respect Org Agenda restriction in org-ql-block. (Thanks to Ihor • Respect Org Agenda restriction in ‘org-ql-block’. (Thanks to Ihor
Radchenko (https://github.com/yantar92) for reporting.) Radchenko (https://github.com/yantar92) for reporting.)
• Option org-ql-view-sidebar-sort-views. • Option ‘org-ql-view-sidebar-sort-views’.
• Mouseover help-echo text for org-ql-views default view names. • Mouseover ‘help-echo’ text for ‘org-ql-views’ default view names.
• "Dangling tasks" default view in org-ql-views. (Users who have • "Dangling tasks" default view in ‘org-ql-views’. (Users who have
modified org-ql-views from the default will not see the new view modified ‘org-ql-views’ from the default will not see the new view
unless they copy it into their config.) unless they copy it into their config.)
*Changed* *Changed*
• Some default org-ql-view views (users who have modified • Some default ‘org-ql-view’ views (users who have modified
org-ql-views from the default will not see the new views unless ‘org-ql-views’ from the default will not see the new views unless
they copy them into their config): they copy them into their config):
• Rename some views. • Rename some views.
• "Stuck projects" view (now uses descendants instead of • "Stuck projects" view (now uses ‘descendants’ instead of
children, which is more useful. ‘children’, which is more useful.
*Fixed* *Fixed*
• Inherit file tags when org-tag-inheritance is enabled. (Fixes #55 • Inherit file tags when ‘org-tag-inheritance’ is enabled. (Fixes
(https://github.com/alphapapa/org-ql/issues/55). Thanks to Mikhail #55 (https://github.com/alphapapa/org-ql/issues/55). Thanks to
Skorzhinskiy (https://github.com/mskorzhinskiy).) Mikhail Skorzhinskiy (https://github.com/mskorzhinskiy).)
• Call helm-make-source directly instead of using • Call ‘helm-make-source’ directly instead of using
helm-build-sync-source macro. (Fixes #60 ‘helm-build-sync-source’ macro. (Fixes #60
(https://github.com/alphapapa/org-ql/issues/60). Thanks to Matt (https://github.com/alphapapa/org-ql/issues/60). Thanks to Matt
Huszagh (https://github.com/matthuszagh) for reporting.) Huszagh (https://github.com/matthuszagh) for reporting.)
• Search/view buffers now always end with a newline, which prevents • Search/view buffers now always end with a newline, which prevents
side-scrolling of the window when calling end-of-buffer. side-scrolling of the window when calling ‘end-of-buffer’.
• Face for done to-do keywords in org-ql-view buffers. (Thanks to • Face for done to-do keywords in ‘org-ql-view’ buffers. (Thanks to
Yiming Chen (https://github.com/dsdshcym).) Yiming Chen (https://github.com/dsdshcym).)
• Make view buffers read-only. (Fixes #72 • Make view buffers read-only. (Fixes #72
(https://github.com/alphapapa/org-ql/issues/72). Thanks to xeijin (https://github.com/alphapapa/org-ql/issues/72). Thanks to xeijin
(https://github.com/xeijin).) (https://github.com/xeijin).)
• Sorting with single sorter specified as an atom. (Thanks to Jeff • Sorting with single sorter specified as an atom. (Thanks to Jeff
Filipovits (https://github.com/legalnonsense).) Filipovits (https://github.com/legalnonsense).)
• Autoload for org-ql-block agenda block. (Fixes #53 • Autoload for ‘org-ql-block’ agenda block. (Fixes #53
(https://github.com/alphapapa/org-ql/issues/53). Thanks to reports (https://github.com/alphapapa/org-ql/issues/53). Thanks to reports
from Gus Cantieni (https://github.com/gcantieni), Karl Voit from Gus Cantieni (https://github.com/gcantieni), Karl Voit
(https://github.com/novoid), rieje (https://github.com/rieje), and (https://github.com/novoid), rieje (https://github.com/rieje), and
@ -1318,20 +1322,20 @@ as they will be pushed to the master branch when ready.
 
File: README.info, Node: 032, Next: 031, Prev: 04, Up: Changelog File: README.info, Node: 032, Next: 031, Prev: 04, Up: Changelog
5.16 0.3.2 5.17 0.3.2
========== ==========
*Fixed* *Fixed*
• In org-ql-search, accept symbol as ‘:super-groups’ argument. • In ‘org-ql-search’, accept symbol as ‘:super-groups’ argument.
• In the This week and Next week default org-ql-views views, set • In the ‘This week’ and ‘Next week’ default ‘org-ql-views’ views,
timestamps for beginning-of-week to 00:00:00 and end-of-week to set timestamps for beginning-of-week to 00:00:00 and end-of-week to
23:59:59. 23:59:59.
• Plain quoted-phrases in non-sexp queries. • Plain quoted-phrases in non-sexp queries.
 
File: README.info, Node: 031, Next: 03, Prev: 032, Up: Changelog File: README.info, Node: 031, Next: 03, Prev: 032, Up: Changelog
5.17 0.3.1 5.18 0.3.1
========== ==========
*Fixed* *Fixed*
@ -1341,103 +1345,106 @@ File: README.info, Node: 031, Next: 03, Prev: 032, Up: Changelog
 
File: README.info, Node: 03, Next: 023, Prev: 031, Up: Changelog File: README.info, Node: 03, Next: 023, Prev: 031, Up: Changelog
5.18 0.3 5.19 0.3
======== ========
*Added* *Added*
• Alternative, non-sexp query syntax for commands org-ql-search and • Alternative, non-sexp query syntax for commands ‘org-ql-search’ and
helm-org-ql. See . ‘helm-org-ql’. See .
• Command helm-org-ql. • Command ‘helm-org-ql’.
• Command org-ql-sparse-tree, like org-sparse-tree for org-ql • Command ‘org-ql-sparse-tree’, like ‘org-sparse-tree’ for ‘org-ql’
queries. (Thanks to Akira Komamura (https://github.com/akirak).) queries. (Thanks to Akira Komamura (https://github.com/akirak).)
• Command org-ql-view-sidebar. • Command ‘org-ql-view-sidebar’.
• Per-buffer, per-heading tag caching, which increases the speed of • Per-buffer, per-heading tag caching, which increases the speed of
tags-related queries by 6-7x. tags-related queries by 6-7x.
• More tags-related predicates and aliases: • More tags-related predicates and aliases:
• For inherited tags: tags-inherited, inherited-tags, tags-i, • For inherited tags: ‘tags-inherited’, ‘inherited-tags’,
itags. ‘tags-i’, ‘itags’.
• For heading-local tags: tags-local, local-tags, tags-l, ltags. • For heading-local tags: ‘tags-local’, ‘local-tags’, ‘tags-l’,
• tags-all, tags&: Matches all given tags using boolean AND ‘ltags’.
(rather than boolean OR, which the tags predicate uses). • ‘tags-all’, ‘tags&’: Matches all given tags using boolean
• Variable org-ql-block-header, which overrides the default header in ‘AND’ (rather than boolean ‘OR’, which the ‘tags’ predicate
org-ql-block agenda blocks. uses).
• Predicate (path). • Variable ‘org-ql-block-header’, which overrides the default header
• Option org-ql-views may now be customized in a guided, structured in ‘org-ql-block’ agenda blocks.
way with the customization UI (e.g. • Predicate ‘(path)’.
M-x customize-option RET org-ql-views RET, or press c in the • Option ‘org-ql-views’ may now be customized in a guided, structured
org-ql-view-sidebar buffer). way with the customization UI (e.g. ‘M-x customize-option RET
• Enable more Org Agenda commands in org-ql-view buffers (e.g. 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 setting deadlines and scheduling). (Fixes #35
(https://github.com/alphapapa/org-ql/issues/35). Thanks to Milan (https://github.com/alphapapa/org-ql/issues/35). Thanks to Milan
Zamazal (https://github.com/mz-pdm) and Mikhail Skorzhinskii Zamazal (https://github.com/mz-pdm) and Mikhail Skorzhinskii
(https://github.com/mskorzhinskiy).) (https://github.com/mskorzhinskiy).)
• Function org-ql-select’s buffers-files argument can be a function • Function ‘org-ql-select’’s ‘buffers-files’ argument can be a
which returns a list of buffers and/or files. function which returns a list of buffers and/or files.
*Changed* *Changed*
• Predicate heading now accepts multiple regexps, which are matched • Predicate ‘heading’ now accepts multiple regexps, which are matched
with boolean AND. with boolean ‘AND’.
• Predicate regexp now matches its regexp arguments with boolean AND. • Predicate ‘regexp’ now matches its regexp arguments with boolean
• Package org-super-agenda is now a dependency. This removes the ‘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, need for awkward code to handle the case where it’s not installed,
and makes grouping features always available. Of course, the and makes grouping features always available. Of course, the
global minor mode org-super-agenda-mode is not activated by org-ql, global minor mode ‘org-super-agenda-mode’ is not activated by
so no behavior is changed in Org Agenda or org-ql; it only means ‘org-ql’, so no behavior is changed in Org Agenda or ‘org-ql’; it
that commands like org-ql-search will always provide grouping when only means that commands like ‘org-ql-search’ will always provide
called with the appropriate arguments. grouping when called with the appropriate arguments.
*Removed* *Removed*
• Macro org-ql-agenda. Instead, use function org-ql-search. See • Macro ‘org-ql-agenda’. Instead, use function ‘org-ql-search’. See
also command org-ql-view, etc. also command ‘org-ql-view’, etc.
*Fixed* *Fixed*
• Predicate heading now matches only against heading text, i.e. not • Predicate ‘heading’ now matches only against heading text, i.e.
including tags at the end of the line, to-do keyword, etc. not including tags at the end of the line, to-do keyword, etc.
• Predicate todo now matches case-sensitively, avoiding • Predicate ‘todo’ now matches case-sensitively, avoiding
non-todo-keyword matches (e.g. a heading which begins Waiting on non-todo-keyword matches (e.g. a heading which begins ‘Waiting on’
will no longer match for a todo keyword WAITING). will no longer match for a todo keyword ‘WAITING’).
• Interactive completion in org-ql-search. • Interactive completion in ‘org-ql-search’.
*Internal* *Internal*
• Refactored code from file org-ql-agenda.el into files • Refactored code from file ‘org-ql-agenda.el’ into files
org-ql-search.el and org-ql-view.el. Function and variable names ‘org-ql-search.el’ and ‘org-ql-view.el’. Function and variable
have been changed accordingly. names have been changed accordingly.
 
File: README.info, Node: 023, Next: 022, Prev: 03, Up: Changelog File: README.info, Node: 023, Next: 022, Prev: 03, Up: Changelog
5.19 0.2.3 5.20 0.2.3
========== ==========
*Fixed* *Fixed*
• Priority queries could fail to match headings whose to-do keywords • Priority queries could fail to match headings whose to-do keywords
had non-alphabetic characters, like TO-READ. had non-alphabetic characters, like ‘TO-READ’.
 
File: README.info, Node: 022, Next: 021, Prev: 023, Up: Changelog File: README.info, Node: 022, Next: 021, Prev: 023, Up: Changelog
5.20 0.2.2 5.21 0.2.2
========== ==========
*Fixed* *Fixed*
• (deadline auto) selector matched entries whose deadlines had a • ‘(deadline auto)’ selector matched entries whose deadlines had a
warning period that had not yet been entered warning period that had not yet been entered
(org-deadline-warning-days too soon). (‘org-deadline-warning-days’ too soon).
 
File: README.info, Node: 021, Next: 02, Prev: 022, Up: Changelog File: README.info, Node: 021, Next: 02, Prev: 022, Up: Changelog
5.21 0.2.1 5.22 0.2.1
========== ==========
*Fixed* *Fixed*
• (descendants) selector matched against parent heading instead of • ‘(descendants)’ selector matched against parent heading instead of
only descendants. only descendants.
 
File: README.info, Node: 02, Next: 01, Prev: 021, Up: Changelog File: README.info, Node: 02, Next: 01, Prev: 021, Up: Changelog
5.22 0.2 5.23 0.2
======== ========
*Added* *Added*
@ -1458,7 +1465,7 @@ File: README.info, Node: 02, Next: 01, Prev: 021, Up: Changelog
• Selectors ‘ts-a’ and ‘ts-i’, aliases for ‘ts-active’ and • Selectors ‘ts-a’ and ‘ts-i’, aliases for ‘ts-active’ and
‘ts-inactive’. ‘ts-inactive’.
• Selector ‘ts’ now accepts a ‘:type’ argument. • Selector ‘ts’ now accepts a ‘:type’ argument.
• Face org-ql-agenda-due-date. • Face ‘org-ql-agenda-due-date’.
• Selectors ‘(children)’ and ‘(descendants)’. • Selectors ‘(children)’ and ‘(descendants)’.
• Function ‘org-ql-search’ and macro ‘org-ql-agenda’ accept a • Function ‘org-ql-search’ and macro ‘org-ql-agenda’ accept a
‘:title’ argument, which is displayed in the header. ‘:title’ argument, which is displayed in the header.
@ -1467,11 +1474,11 @@ File: README.info, Node: 02, Next: 01, Prev: 021, Up: Changelog
• Customization group ‘org-ql’. • Customization group ‘org-ql’.
• Command ‘org-ql-view’, which displays views saved to variable • Command ‘org-ql-view’, which displays views saved to variable
‘org-ql-views’, which can be saved from ‘org-ql-search’ buffers ‘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 with command ‘org-ql-search-save’, which is bound to ‘C-x C-s’ in
view buffers. view buffers.
• Variable ‘org-ql-view-map’, active in view buffers displayed by • Variable ‘org-ql-view-map’, active in view buffers displayed by
‘org-ql-search’, ‘org-ql-agenda’, and ‘org-ql-view’. ‘org-ql-search’, ‘org-ql-agenda’, and ‘org-ql-view’.
• random sort method. • ‘random’ sort method.
• Save position when refreshing search buffers. • Save position when refreshing search buffers.
*Changed* *Changed*
@ -1493,11 +1500,11 @@ File: README.info, Node: 02, Next: 01, Prev: 021, Up: Changelog
Goodman (https://github.com/codygman), Samuel W. Flint Goodman (https://github.com/codygman), Samuel W. Flint
(https://github.com/swflint), and Vikas Rawal (https://github.com/swflint), and Vikas Rawal
(https://github.com/vikasrawal).) (https://github.com/vikasrawal).)
• Don’t overwrite bindings in org-agenda-mode-map. • Don’t overwrite bindings in ‘org-agenda-mode-map’.
• Don’t search buffers without headings, and show a message if the • Don’t search buffers without headings, and show a message if the
user attempts it. user attempts it.
• Don’t search hidden/special buffers. • Don’t search hidden/special buffers.
• Properly accept arbitrary sort functions in org-ql-select, etc. • Properly accept arbitrary sort functions in ‘org-ql-select’, etc.
(Fixes #37 (https://github.com/alphapapa/org-ql/issues/37). Thanks (Fixes #37 (https://github.com/alphapapa/org-ql/issues/37). Thanks
to Milan Zamazal (https://github.com/mz-pdm).) to Milan Zamazal (https://github.com/mz-pdm).)
• Planning-line-related predicates searched too far into entries. • Planning-line-related predicates searched too far into entries.
@ -1511,7 +1518,7 @@ File: README.info, Node: 02, Next: 01, Prev: 021, Up: Changelog
(https://github.com/dakra).) (https://github.com/dakra).)
*Internal* *Internal*
• Optimizations for some query selectors, e.g. regexp and todo. • Optimizations for some query selectors, e.g. ‘regexp’ and ‘todo’.
These can provide a significant improvement for some queries. See These can provide a significant improvement for some queries. See
benchmarks in notes.org (notes.org). benchmarks in notes.org (notes.org).
• Library ts (https://github.com/alphapapa/ts.el) is now used for • Library ts (https://github.com/alphapapa/ts.el) is now used for
@ -1520,7 +1527,7 @@ File: README.info, Node: 02, Next: 01, Prev: 021, Up: Changelog
 
File: README.info, Node: 01, Prev: 02, Up: Changelog File: README.info, Node: 01, Prev: 02, Up: Changelog
5.23 0.1 5.24 0.1
======== ========
First tagged release. First tagged release.
@ -1553,8 +1560,8 @@ regular expression syntax, like this:
+lisp +{^\*+\s-+TO-READ\s-} +lisp +{^\*+\s-+TO-READ\s-}
But with org-ql-search, you would write a query like But with ‘org-ql-search’, you would write a query like ‘lisp
lisp todo:TO-READ, or in Lisp syntax, ‘(and "lisp" (todo "TO-READ"))’. 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 File: README.info, Node: org-sidebar, Prev: Comparison with Org Agenda searches, Up: Notes
@ -1578,59 +1585,66 @@ GPLv3
 
Tag Table: Tag Table:
Node: Top225 Node: Top225
Node: Contents1704 Node: Contents1728
Node: Screenshots1827 Node: Screenshots1851
Node: Installation1945 Node: Installation1969
Node: Quelpa2441 Node: Quelpa2483
Node: Helm support2969 Node: Helm support3011
Node: Usage3360 Node: Usage3414
Node: Commands3758 Node: Commands3812
Node: org-ql-search4231 Node: org-ql-search4285
Node: helm-org-ql5881 Node: helm-org-ql5959
Node: org-ql-view6241 Node: org-ql-view6337
Node: org-ql-view-sidebar6741 Node: org-ql-view-sidebar6867
Node: org-ql-view-recent-items7097 Node: org-ql-view-recent-items7247
Node: org-ql-sparse-tree7581 Node: org-ql-sparse-tree7743
Node: Queries8381 Node: Queries8543
Node: Non-sexp query syntax9492 Node: Non-sexp query syntax9660
Node: General predicates11216 Node: General predicates11419
Node: Ancestor/descendant predicates17437 Node: Ancestor/descendant predicates17658
Node: Date/time predicates18565 Node: Date/time predicates18786
Node: Functions / Macros21653 Node: Functions / Macros21910
Node: Agenda-like views21951 Node: Agenda-like views22208
Node: Listing / acting-on results23356 Ref: Function ‘org-ql-block’22370
Node: Custom predicates28992 Node: Listing / acting-on results23631
Node: Dynamic block32651 Ref: Caching23839
Node: Links35363 Ref: Function ‘org-ql-select’24752
Node: Tips36050 Ref: Function ‘org-ql-query’27178
Node: Changelog36368 Ref: Macro ‘org-ql’ (deprecated)28952
Node: 06137101 Node: Custom predicates29267
Node: 0637657 Ref: Macro ‘org-ql-defpred’29491
Node: 05240668 Node: Dynamic block32932
Node: 05140968 Node: Links35656
Node: 0541385 Node: Tips36343
Node: 04942859 Node: Changelog36667
Node: 04843133 Node: 06237415
Node: 04743480 Node: 06137708
Node: 04643875 Node: 0638276
Node: 04544275 Node: 05241330
Node: 04444636 Node: 05141630
Node: 04344995 Node: 0542053
Node: 04245192 Node: 04943582
Node: 04145353 Node: 04843862
Node: 0445594 Node: 04744209
Node: 03249527 Node: 04644616
Node: 03149906 Node: 04545024
Node: 0350103 Node: 04445385
Node: 02353078 Node: 04345744
Node: 02253306 Node: 04245947
Node: 02153574 Node: 04146108
Node: 0253773 Node: 0446355
Node: 0157808 Node: 03250456
Node: Notes57909 Node: 03150859
Node: Comparison with Org Agenda searches58071 Node: 0351056
Node: org-sidebar58943 Node: 02354356
Node: License59222 Node: 02254590
Node: 02154870
Node: 0255075
Node: 0159153
Node: Notes59254
Node: Comparison with Org Agenda searches59416
Node: org-sidebar60305
Node: License60584
 
End Tag Table End Tag Table