unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
* bug#74735: 31.0.50; Commit 986621ae1ff4d3cfad31adb20216f1f71ce0747c broke org-ql
@ 2024-12-08 11:09 Visuwesh
  2024-12-13 22:21 ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
  0 siblings, 1 reply; 3+ messages in thread
From: Visuwesh @ 2024-12-08 11:09 UTC (permalink / raw)
  To: 74735; +Cc: Stefan Monnier

[-- Attachment #1: Type: text/plain, Size: 1819 bytes --]

Hi Stefan,

The recent change you made in

    commit 986621ae1ff4d3cfad31adb20216f1f71ce0747c
    Author: Stefan Monnier <monnier@iro.umontreal.ca>
    Date:   Tue Nov 12 23:12:07 2024 -0500

        (with-peg-rules): Build proper `peg-function`s

        * lisp/progmodes/peg.el (with-peg-rules): Use the new (FUNC EXP)
        feature in `cl-labels`.

broke org-ql's PEG parser.  I tried to reproduce it with the number
parser example given in the Elisp Info manual but failed.  With the
above change, I get an assertion error when I try to use org-ql-find:

Debugger entered--Lisp error: (cl-assertion-failed (lexical-binding nil))
  cl--assertion-failed(lexical-binding)
  #f(compiled-function (type bindings mutables args &rest body) "Low level construction of an OClosure object.\nTYPE should be a form returning an OClosure type (a symbol).\nBINDINGS should list all the slots expected by this type, in the proper order.\nMUTABLE is a list of symbols indicating which of the BINDINGS\nshould be mutable.\nNo checking is performed." #<bytecode -0x68065554c87e1d8>)('peg-function ((pexs temp1848)) nil nil (or (and (or (progn (while (let (... ...) (if ... ... ... nil))) t) (peg--record-failure '(* (set nil nil ...)))) (or (and (or (and (or ... ...) (or ... ...)) (peg--record-failure '...)) (or (progn (while ...) t) (peg--record-failure '...))) (peg--record-failure '(and (and ... ...) (* ...))))) (peg--record-failure '(and (* (set nil nil (blank))) (and (and (call 
 term) (* ...)) (* (and ... ...)))))))
...

[ The full backtrace is attached in backtrace.txt.  ]

I attached the function that uses with-peg-rules in query-fn.el.
Reverting said change makes the error go away.  Unfortunately, all of
this stuff is beyond me so I cannot tell if the problem is with peg.el
or if org-ql is messing up somehow.


[-- Attachment #2: backtrace.txt --]
[-- Type: text/plain, Size: 50398 bytes --]

Debugger entered--Lisp error: (cl-assertion-failed (lexical-binding nil))
  cl--assertion-failed(lexical-binding)
  #f(compiled-function (type bindings mutables args &rest body) "Low level construction of an OClosure object.\nTYPE should be a form returning an OClosure type (a symbol).\nBINDINGS should list all the slots expected by this type, in the proper order.\nMUTABLE is a list of symbols indicating which of the BINDINGS\nshould be mutable.\nNo checking is performed." #<bytecode -0x68065554c87e1d8>)('peg-function ((pexs temp1924)) nil nil (or (and (or (progn (while (let (... ...) (if ... ... ... nil))) t) (peg--record-failure '(* (set nil nil ...)))) (or (and (or (and (or ... ...) (or ... ...)) (peg--record-failure '...)) (or (progn (while ...) t) (peg--record-failure '...))) (peg--record-failure '(and (and ... ...) (* ...))))) (peg--record-failure '(and (* (set nil nil (blank))) (and (and (call term) (* ...)) (* (and ... ...)))))))
  apply(#f(compiled-function (type bindings mutables args &rest body) "Low level construction of an OClosure object.\nTYPE should be a form returning an OClosure type (a symbol).\nBINDINGS should list all the slots expected by this type, in the proper order.\nMUTABLE is a list of symbols indicating which of the BINDINGS\nshould be mutable.\nNo checking is performed." #<bytecode -0x68065554c87e1d8>) ('peg-function ((pexs temp1924)) nil nil (or (and (or (progn (while (let ... ...)) t) (peg--record-failure '(* ...))) (or (and (or (and ... ...) (peg--record-failure ...)) (or (progn ... t) (peg--record-failure ...))) (peg--record-failure '(and ... ...)))) (peg--record-failure '(and (* (set nil nil ...)) (and (and ... ...) (* ...)))))))
  macroexpand-1((oclosure--lambda 'peg-function ((pexs temp1924)) nil nil (or (and (or (progn (while (let ... ...)) t) (peg--record-failure '(* ...))) (or (and (or (and ... ...) (peg--record-failure ...)) (or (progn ... t) (peg--record-failure ...))) (peg--record-failure '(and ... ...)))) (peg--record-failure '(and (* (set nil nil ...)) (and (and ... ...) (* ...)))))) ((function . cl--labels-convert) (peg-rule\ separator . #f(compiled-function (&rest args) #<bytecode 0xd972224b8ab349b>)) (peg-rule\ negation . #f(compiled-function (&rest args) #<bytecode 0xd972224b862349b>)) (peg-rule\ empty-quote . #f(compiled-function (&rest args) #<bytecode 0xd972224b86d349b>)) (peg-rule\ unquoted-arg . #f(compiled-function (&rest args) #<bytecode 0xd972224b84f349b>)) (peg-rule\ quoted-arg . #f(compiled-function (&rest args) #<bytecode 0xd972e3c58d8349b>)) (peg-rule\ keyword . #f(compiled-function (&rest args) #<bytecode 0xd972e3c58c3349b>)) (peg-rule\ keyword-arg . #f(compiled-function (&rest args) #<bytecode 0xd972e3c58fa349b>)) (peg-rule\ args . #f(compiled-function (&rest args) #<bytecode 0xd972e3c58f5349b>)) (peg-rule\ predicate . #f(compiled-function (&rest args) #<bytecode 0xd972e3c58e4349b>)) (peg-rule\ predicate-without-args . #f(compiled-function (&rest args) #<bytecode 0xd972e3c5827349b>)) (peg-rule\ predicate-with-args . #f(compiled-function (&rest args) #<bytecode 0xd972e3c5836349b>)) (peg-rule\ plain-string . #f(compiled-function (&rest args) #<bytecode 0xd972e3c5839349b>)) (peg-rule\ positive-term . #f(compiled-function (&rest args) #<bytecode 0xd972e3c5800349b>)) (peg-rule\ term . #f(compiled-function (&rest args) #<bytecode 0xd972e3c581b349b>)) (peg-rule\ query . #f(compiled-function (&rest args) #<bytecode 0xd972ea5646c349b>)) (:peg-rules (query and (* (set nil nil (blank))) (and (and (call term) (* (set nil nil ...))) (* (and (call term) (* ...))))) (term or (and (call negation) (and (and (action ...) (and ... ...)) (action (let ... ...)))) (or (call positive-term) (call empty-quote))) (positive-term or (and (call predicate-with-args) (action (let (... ...) (push ... peg--stack)))) (or (and (call predicate-without-args) (action (let ... ...))) (and (call plain-string) (action (let ... ...))))) (plain-string or (call quoted-arg) (call unquoted-arg)) (predicate-with-args and (and (action (let nil (push ... peg--stack))) (and (call predicate) (action (let ... ...)))) (and (char 58) (call args))) (predicate-without-args and (and (action (let nil (push ... peg--stack))) (and (call predicate) (action (let ... ...)))) (char 58)) (predicate or (str "outline-path-segment") (or (str "org-back-to-heading") (or (str "deadline-warning") (or (str "heading-regexp") (or ... ...))))) (args and (action (let nil (push 'magic-marker peg--stack))) (and (and (and (or ... ...) (or ... ...)) (* (and ... ...))) (action (let nil (push ... peg--stack))))) (keyword-arg and (call keyword) (and (char 61) (action (let (...) (push ... peg--stack))))) (keyword and (action (let nil (push (point) peg--stack))) (and (and (and (not ...) (any)) (* (and ... ...))) (action (let (...) (push ... peg--stack))))) (quoted-arg and (char 34) (and (and (action (let nil ...)) (and (and ... ...) (action ...))) (char 34))) (unquoted-arg and (action (let nil (push (point) peg--stack))) (and (and (and (not ...) (any)) (* (and ... ...))) (action (let (...) (push ... peg--stack))))) (empty-quote str "\"\"") (negation char 33) (separator char 44))))
  macroexp-macroexpand((oclosure--lambda 'peg-function ((pexs temp1924)) nil nil (or (and (or (progn (while (let ... ...)) t) (peg--record-failure '(* ...))) (or (and (or (and ... ...) (peg--record-failure ...)) (or (progn ... t) (peg--record-failure ...))) (peg--record-failure '(and ... ...)))) (peg--record-failure '(and (* (set nil nil ...)) (and (and ... ...) (* ...)))))) ((function . cl--labels-convert) (peg-rule\ separator . #f(compiled-function (&rest args) #<bytecode 0xd972224b8ab349b>)) (peg-rule\ negation . #f(compiled-function (&rest args) #<bytecode 0xd972224b862349b>)) (peg-rule\ empty-quote . #f(compiled-function (&rest args) #<bytecode 0xd972224b86d349b>)) (peg-rule\ unquoted-arg . #f(compiled-function (&rest args) #<bytecode 0xd972224b84f349b>)) (peg-rule\ quoted-arg . #f(compiled-function (&rest args) #<bytecode 0xd972e3c58d8349b>)) (peg-rule\ keyword . #f(compiled-function (&rest args) #<bytecode 0xd972e3c58c3349b>)) (peg-rule\ keyword-arg . #f(compiled-function (&rest args) #<bytecode 0xd972e3c58fa349b>)) (peg-rule\ args . #f(compiled-function (&rest args) #<bytecode 0xd972e3c58f5349b>)) (peg-rule\ predicate . #f(compiled-function (&rest args) #<bytecode 0xd972e3c58e4349b>)) (peg-rule\ predicate-without-args . #f(compiled-function (&rest args) #<bytecode 0xd972e3c5827349b>)) (peg-rule\ predicate-with-args . #f(compiled-function (&rest args) #<bytecode 0xd972e3c5836349b>)) (peg-rule\ plain-string . #f(compiled-function (&rest args) #<bytecode 0xd972e3c5839349b>)) (peg-rule\ positive-term . #f(compiled-function (&rest args) #<bytecode 0xd972e3c5800349b>)) (peg-rule\ term . #f(compiled-function (&rest args) #<bytecode 0xd972e3c581b349b>)) (peg-rule\ query . #f(compiled-function (&rest args) #<bytecode 0xd972ea5646c349b>)) (:peg-rules (query and (* (set nil nil (blank))) (and (and (call term) (* (set nil nil ...))) (* (and (call term) (* ...))))) (term or (and (call negation) (and (and (action ...) (and ... ...)) (action (let ... ...)))) (or (call positive-term) (call empty-quote))) (positive-term or (and (call predicate-with-args) (action (let (... ...) (push ... peg--stack)))) (or (and (call predicate-without-args) (action (let ... ...))) (and (call plain-string) (action (let ... ...))))) (plain-string or (call quoted-arg) (call unquoted-arg)) (predicate-with-args and (and (action (let nil (push ... peg--stack))) (and (call predicate) (action (let ... ...)))) (and (char 58) (call args))) (predicate-without-args and (and (action (let nil (push ... peg--stack))) (and (call predicate) (action (let ... ...)))) (char 58)) (predicate or (str "outline-path-segment") (or (str "org-back-to-heading") (or (str "deadline-warning") (or (str "heading-regexp") (or ... ...))))) (args and (action (let nil (push 'magic-marker peg--stack))) (and (and (and (or ... ...) (or ... ...)) (* (and ... ...))) (action (let nil (push ... peg--stack))))) (keyword-arg and (call keyword) (and (char 61) (action (let (...) (push ... peg--stack))))) (keyword and (action (let nil (push (point) peg--stack))) (and (and (and (not ...) (any)) (* (and ... ...))) (action (let (...) (push ... peg--stack))))) (quoted-arg and (char 34) (and (and (action (let nil ...)) (and (and ... ...) (action ...))) (char 34))) (unquoted-arg and (action (let nil (push (point) peg--stack))) (and (and (and (not ...) (any)) (* (and ... ...))) (action (let (...) (push ... peg--stack))))) (empty-quote str "\"\"") (negation char 33) (separator char 44))))
  macroexp--expand-all((oclosure--lambda 'peg-function ((pexs temp1924)) nil nil (or (and (or (progn (while (let ... ...)) t) (peg--record-failure '(* ...))) (or (and (or (and ... ...) (peg--record-failure ...)) (or (progn ... t) (peg--record-failure ...))) (peg--record-failure '(and ... ...)))) (peg--record-failure '(and (* (set nil nil ...)) (and (and ... ...) (* ...)))))))
  macroexp--all-forms(((oclosure--lambda 'peg-function ((pexs temp1924)) nil nil (or (and (or (progn (while ...) t) (peg--record-failure '...)) (or (and (or ... ...) (or ... ...)) (peg--record-failure '...))) (peg--record-failure '(and (* ...) (and ... ...)))))))
  macroexp--expand-all((peg--lambda '(and (* (set nil nil (blank))) (and (and (call term) (* (set nil nil ...))) (* (and (call term) (* ...))))) nil (or (and (or (progn (while (let ... ...)) t) (peg--record-failure '(* ...))) (or (and (or (and ... ...) (peg--record-failure ...)) (or (progn ... t) (peg--record-failure ...))) (peg--record-failure '(and ... ...)))) (peg--record-failure '(and (* (set nil nil ...)) (and (and ... ...) (* ...)))))))
  macroexpand-all((peg--lambda '(and (* (set nil nil (blank))) (and (and (call term) (* (set nil nil ...))) (* (and (call term) (* ...))))) nil (or (and (or (progn (while (let ... ...)) t) (peg--record-failure '(* ...))) (or (and (or (and ... ...) (peg--record-failure ...)) (or (progn ... t) (peg--record-failure ...))) (peg--record-failure '(and ... ...)))) (peg--record-failure '(and (* (set nil nil ...)) (and (and ... ...) (* ...)))))) ((function . cl--labels-convert) (peg-rule\ separator . #f(compiled-function (&rest args) #<bytecode 0xd972224b8ab349b>)) (peg-rule\ negation . #f(compiled-function (&rest args) #<bytecode 0xd972224b862349b>)) (peg-rule\ empty-quote . #f(compiled-function (&rest args) #<bytecode 0xd972224b86d349b>)) (peg-rule\ unquoted-arg . #f(compiled-function (&rest args) #<bytecode 0xd972224b84f349b>)) (peg-rule\ quoted-arg . #f(compiled-function (&rest args) #<bytecode 0xd972e3c58d8349b>)) (peg-rule\ keyword . #f(compiled-function (&rest args) #<bytecode 0xd972e3c58c3349b>)) (peg-rule\ keyword-arg . #f(compiled-function (&rest args) #<bytecode 0xd972e3c58fa349b>)) (peg-rule\ args . #f(compiled-function (&rest args) #<bytecode 0xd972e3c58f5349b>)) (peg-rule\ predicate . #f(compiled-function (&rest args) #<bytecode 0xd972e3c58e4349b>)) (peg-rule\ predicate-without-args . #f(compiled-function (&rest args) #<bytecode 0xd972e3c5827349b>)) (peg-rule\ predicate-with-args . #f(compiled-function (&rest args) #<bytecode 0xd972e3c5836349b>)) (peg-rule\ plain-string . #f(compiled-function (&rest args) #<bytecode 0xd972e3c5839349b>)) (peg-rule\ positive-term . #f(compiled-function (&rest args) #<bytecode 0xd972e3c5800349b>)) (peg-rule\ term . #f(compiled-function (&rest args) #<bytecode 0xd972e3c581b349b>)) (peg-rule\ query . #f(compiled-function (&rest args) #<bytecode 0xd972ea5646c349b>)) (:peg-rules (query and (* (set nil nil (blank))) (and (and (call term) (* (set nil nil ...))) (* (and (call term) (* ...))))) (term or (and (call negation) (and (and (action ...) (and ... ...)) (action (let ... ...)))) (or (call positive-term) (call empty-quote))) (positive-term or (and (call predicate-with-args) (action (let (... ...) (push ... peg--stack)))) (or (and (call predicate-without-args) (action (let ... ...))) (and (call plain-string) (action (let ... ...))))) (plain-string or (call quoted-arg) (call unquoted-arg)) (predicate-with-args and (and (action (let nil (push ... peg--stack))) (and (call predicate) (action (let ... ...)))) (and (char 58) (call args))) (predicate-without-args and (and (action (let nil (push ... peg--stack))) (and (call predicate) (action (let ... ...)))) (char 58)) (predicate or (str "outline-path-segment") (or (str "org-back-to-heading") (or (str "deadline-warning") (or (str "heading-regexp") (or ... ...))))) (args and (action (let nil (push 'magic-marker peg--stack))) (and (and (and (or ... ...) (or ... ...)) (* (and ... ...))) (action (let nil (push ... peg--stack))))) (keyword-arg and (call keyword) (and (char 61) (action (let (...) (push ... peg--stack))))) (keyword and (action (let nil (push (point) peg--stack))) (and (and (and (not ...) (any)) (* (and ... ...))) (action (let (...) (push ... peg--stack))))) (quoted-arg and (char 34) (and (and (action (let nil ...)) (and (and ... ...) (action ...))) (char 34))) (unquoted-arg and (action (let nil (push (point) peg--stack))) (and (and (and (not ...) (any)) (* (and ... ...))) (action (let (...) (push ... peg--stack))))) (empty-quote str "\"\"") (negation char 33) (separator char 44))))
  #f(compiled-function (bind) #<bytecode -0x1181ad914dd6a979>)((--cl-peg-rule\ query-- (peg--lambda '(and (* (set nil nil (blank))) (and (and (call term) (* ...)) (* (and ... ...)))) nil (or (and (or (progn (while ...) t) (peg--record-failure '...)) (or (and (or ... ...) (or ... ...)) (peg--record-failure '...))) (peg--record-failure '(and (* ...) (and ... ...)))))))
  mapcar(#f(compiled-function (bind) #<bytecode -0x1181ad914dd6a979>) ((--cl-peg-rule\ query-- (peg--lambda '(and (* (set nil nil ...)) (and (and ... ...) (* ...))) nil (or (and (or (progn ... t) (peg--record-failure ...)) (or (and ... ...) (peg--record-failure ...))) (peg--record-failure '(and ... ...))))) (--cl-peg-rule\ term-- (peg--lambda '(or (and (call negation) (and ... ...)) (or (call positive-term) (call empty-quote))) nil (or (let ((point ...) (actions peg--actions)) (or (or ... ...) (progn ... ... ...))) (peg--record-failure '(or ... ...))))) (--cl-peg-rule\ positive-term-- (peg--lambda '(or (and (call predicate-with-args) (action ...)) (or (and ... ...) (and ... ...))) nil (or (let ((point ...) (actions peg--actions)) (or (or ... ...) (progn ... ... ...))) (peg--record-failure '(or ... ...))))) (--cl-peg-rule\ plain-string-- (peg--lambda '(or (call quoted-arg) (call unquoted-arg)) nil (or (let ((point ...) (actions peg--actions)) (or (or ... ...) (progn ... ... ...))) (peg--record-failure '(or ... ...))))) (--cl-peg-rule\ predicate-with-args-- (peg--lambda '(and (and (action ...) (and ... ...)) (and (char 58) (call args))) nil (or (and (or (and ... ...) (peg--record-failure ...)) (or (and ... ...) (peg--record-failure ...))) (peg--record-failure '(and ... ...))))) (--cl-peg-rule\ predicate-without-args-- (peg--lambda '(and (and (action ...) (and ... ...)) (char 58)) nil (or (and (or (and ... ...) (peg--record-failure ...)) (or (when ... ... t) (peg--record-failure ...))) (peg--record-failure '(and ... ...))))) (--cl-peg-rule\ predicate-- (peg--lambda '(or (str "outline-path-segment") (or (str "org-back-to-heading") (or ... ...))) nil (or (let ((point ...) (actions peg--actions)) (or (or ... ...) (progn ... ... ...))) (peg--record-failure '(or ... ...))))) (--cl-peg-rule\ args-- (peg--lambda '(and (action (let nil ...)) (and (and ... ...) (action ...))) nil (or (and (or (progn ... t) (peg--record-failure ...)) (or (and ... ...) (peg--record-failure ...))) (peg--record-failure '(and ... ...))))) (--cl-peg-rule\ keyword-arg-- (peg--lambda '(and (call keyword) (and (char 61) (action ...))) nil (or (and (or (peg-rule\ keyword) (peg--record-failure ...)) (or (and ... ...) (peg--record-failure ...))) (peg--record-failure '(and ... ...))))) (--cl-peg-rule\ keyword-- (peg--lambda '(and (action (let nil ...)) (and (and ... ...) (action ...))) nil (or (and (or (progn ... t) (peg--record-failure ...)) (or (and ... ...) (peg--record-failure ...))) (peg--record-failure '(and ... ...))))) (--cl-peg-rule\ quoted-arg-- (peg--lambda '(and (char 34) (and (and ... ...) (char 34))) nil (or (and (or (when ... ... t) (peg--record-failure ...)) (or (and ... ...) (peg--record-failure ...))) (peg--record-failure '(and ... ...))))) (--cl-peg-rule\ unquoted-arg-- (peg--lambda '(and (action (let nil ...)) (and (and ... ...) (action ...))) nil (or (and (or (progn ... t) (peg--record-failure ...)) (or (and ... ...) (peg--record-failure ...))) (peg--record-failure '(and ... ...))))) (--cl-peg-rule\ empty-quote-- (peg--lambda '(str "\"\"") nil (or (when (looking-at '"\"\"") (goto-char (match-end 0)) t) (peg--record-failure '(str "\"\""))))) (--cl-peg-rule\ negation-- (peg--lambda '(char 33) nil (or (when (eq (char-after) '33) (forward-char) t) (peg--record-failure '(char 33))))) (--cl-peg-rule\ separator-- (peg--lambda '(char 44) nil (or (when (eq (char-after) '44) (forward-char) t) (peg--record-failure '(char 44)))))))
  #f(compiled-function (arg1 &rest rest) "Make local (recursive) function definitions.\nBINDINGS is a list of definitions of the form either (FUNC EXP)\nwhere EXP is a form that should return the function to bind to the\nfunction name FUNC, or (FUNC ARGLIST BODY...) where\nFUNC is the function name, ARGLIST its arguments, and BODY the\nforms of the function body.  FUNC is in scope in any BODY or EXP, as well\nas FORM, so you can write recursive and mutually recursive\nfunction definitions, with the caveat that EXPs are evaluated in sequence\nand you cannot call a FUNC before its EXP has been evaluated.\nSee info node `(cl) Function Bindings' for details." #<bytecode -0x76eec3e4897a71c>)(((peg-rule\ query (peg--lambda '(and (* (set nil nil ...)) (and (and ... ...) (* ...))) nil (or (and (or (progn ... t) (peg--record-failure ...)) (or (and ... ...) (peg--record-failure ...))) (peg--record-failure '(and ... ...))))) (peg-rule\ term (peg--lambda '(or (and (call negation) (and ... ...)) (or (call positive-term) (call empty-quote))) nil (or (let ((point ...) (actions peg--actions)) (or (or ... ...) (progn ... ... ...))) (peg--record-failure '(or ... ...))))) (peg-rule\ positive-term (peg--lambda '(or (and (call predicate-with-args) (action ...)) (or (and ... ...) (and ... ...))) nil (or (let ((point ...) (actions peg--actions)) (or (or ... ...) (progn ... ... ...))) (peg--record-failure '(or ... ...))))) (peg-rule\ plain-string (peg--lambda '(or (call quoted-arg) (call unquoted-arg)) nil (or (let ((point ...) (actions peg--actions)) (or (or ... ...) (progn ... ... ...))) (peg--record-failure '(or ... ...))))) (peg-rule\ predicate-with-args (peg--lambda '(and (and (action ...) (and ... ...)) (and (char 58) (call args))) nil (or (and (or (and ... ...) (peg--record-failure ...)) (or (and ... ...) (peg--record-failure ...))) (peg--record-failure '(and ... ...))))) (peg-rule\ predicate-without-args (peg--lambda '(and (and (action ...) (and ... ...)) (char 58)) nil (or (and (or (and ... ...) (peg--record-failure ...)) (or (when ... ... t) (peg--record-failure ...))) (peg--record-failure '(and ... ...))))) (peg-rule\ predicate (peg--lambda '(or (str "outline-path-segment") (or (str "org-back-to-heading") (or ... ...))) nil (or (let ((point ...) (actions peg--actions)) (or (or ... ...) (progn ... ... ...))) (peg--record-failure '(or ... ...))))) (peg-rule\ args (peg--lambda '(and (action (let nil ...)) (and (and ... ...) (action ...))) nil (or (and (or (progn ... t) (peg--record-failure ...)) (or (and ... ...) (peg--record-failure ...))) (peg--record-failure '(and ... ...))))) (peg-rule\ keyword-arg (peg--lambda '(and (call keyword) (and (char 61) (action ...))) nil (or (and (or (peg-rule\ keyword) (peg--record-failure ...)) (or (and ... ...) (peg--record-failure ...))) (peg--record-failure '(and ... ...))))) (peg-rule\ keyword (peg--lambda '(and (action (let nil ...)) (and (and ... ...) (action ...))) nil (or (and (or (progn ... t) (peg--record-failure ...)) (or (and ... ...) (peg--record-failure ...))) (peg--record-failure '(and ... ...))))) (peg-rule\ quoted-arg (peg--lambda '(and (char 34) (and (and ... ...) (char 34))) nil (or (and (or (when ... ... t) (peg--record-failure ...)) (or (and ... ...) (peg--record-failure ...))) (peg--record-failure '(and ... ...))))) (peg-rule\ unquoted-arg (peg--lambda '(and (action (let nil ...)) (and (and ... ...) (action ...))) nil (or (and (or (progn ... t) (peg--record-failure ...)) (or (and ... ...) (peg--record-failure ...))) (peg--record-failure '(and ... ...))))) (peg-rule\ empty-quote (peg--lambda '(str "\"\"") nil (or (when (looking-at '"\"\"") (goto-char (match-end 0)) t) (peg--record-failure '(str "\"\""))))) (peg-rule\ negation (peg--lambda '(char 33) nil (or (when (eq (char-after) '33) (forward-char) t) (peg--record-failure '(char 33))))) (peg-rule\ separator (peg--lambda '(char 44) nil (or (when (eq (char-after) '44) (forward-char) t) (peg--record-failure '(char 44)))))) (peg-run (peg query) (lambda (failures) (when org-ql-signal-peg-failure (peg-signal-failure failures)))))
  apply(#f(compiled-function (arg1 &rest rest) "Make local (recursive) function definitions.\nBINDINGS is a list of definitions of the form either (FUNC EXP)\nwhere EXP is a form that should return the function to bind to the\nfunction name FUNC, or (FUNC ARGLIST BODY...) where\nFUNC is the function name, ARGLIST its arguments, and BODY the\nforms of the function body.  FUNC is in scope in any BODY or EXP, as well\nas FORM, so you can write recursive and mutually recursive\nfunction definitions, with the caveat that EXPs are evaluated in sequence\nand you cannot call a FUNC before its EXP has been evaluated.\nSee info node `(cl) Function Bindings' for details." #<bytecode -0x76eec3e4897a71c>) (((peg-rule\ query (peg--lambda '(and (* ...) (and ... ...)) nil (or (and (or ... ...) (or ... ...)) (peg--record-failure '...)))) (peg-rule\ term (peg--lambda '(or (and ... ...) (or ... ...)) nil (or (let (... ...) (or ... ...)) (peg--record-failure '...)))) (peg-rule\ positive-term (peg--lambda '(or (and ... ...) (or ... ...)) nil (or (let (... ...) (or ... ...)) (peg--record-failure '...)))) (peg-rule\ plain-string (peg--lambda '(or (call quoted-arg) (call unquoted-arg)) nil (or (let (... ...) (or ... ...)) (peg--record-failure '...)))) (peg-rule\ predicate-with-args (peg--lambda '(and (and ... ...) (and ... ...)) nil (or (and (or ... ...) (or ... ...)) (peg--record-failure '...)))) (peg-rule\ predicate-without-args (peg--lambda '(and (and ... ...) (char 58)) nil (or (and (or ... ...) (or ... ...)) (peg--record-failure '...)))) (peg-rule\ predicate (peg--lambda '(or (str "outline-path-segment") (or ... ...)) nil (or (let (... ...) (or ... ...)) (peg--record-failure '...)))) (peg-rule\ args (peg--lambda '(and (action ...) (and ... ...)) nil (or (and (or ... ...) (or ... ...)) (peg--record-failure '...)))) (peg-rule\ keyword-arg (peg--lambda '(and (call keyword) (and ... ...)) nil (or (and (or ... ...) (or ... ...)) (peg--record-failure '...)))) (peg-rule\ keyword (peg--lambda '(and (action ...) (and ... ...)) nil (or (and (or ... ...) (or ... ...)) (peg--record-failure '...)))) (peg-rule\ quoted-arg (peg--lambda '(and (char 34) (and ... ...)) nil (or (and (or ... ...) (or ... ...)) (peg--record-failure '...)))) (peg-rule\ unquoted-arg (peg--lambda '(and (action ...) (and ... ...)) nil (or (and (or ... ...) (or ... ...)) (peg--record-failure '...)))) (peg-rule\ empty-quote (peg--lambda '(str "\"\"") nil (or (when (looking-at ...) (goto-char ...) t) (peg--record-failure '...)))) (peg-rule\ negation (peg--lambda '(char 33) nil (or (when (eq ... ...) (forward-char) t) (peg--record-failure '...)))) (peg-rule\ separator (peg--lambda '(char 44) nil (or (when (eq ... ...) (forward-char) t) (peg--record-failure '...))))) (peg-run (peg query) (lambda (failures) (when org-ql-signal-peg-failure (peg-signal-failure failures))))))
  macroexpand-1((cl-labels ((peg-rule\ query (peg--lambda '(and (* ...) (and ... ...)) nil (or (and (or ... ...) (or ... ...)) (peg--record-failure '...)))) (peg-rule\ term (peg--lambda '(or (and ... ...) (or ... ...)) nil (or (let (... ...) (or ... ...)) (peg--record-failure '...)))) (peg-rule\ positive-term (peg--lambda '(or (and ... ...) (or ... ...)) nil (or (let (... ...) (or ... ...)) (peg--record-failure '...)))) (peg-rule\ plain-string (peg--lambda '(or (call quoted-arg) (call unquoted-arg)) nil (or (let (... ...) (or ... ...)) (peg--record-failure '...)))) (peg-rule\ predicate-with-args (peg--lambda '(and (and ... ...) (and ... ...)) nil (or (and (or ... ...) (or ... ...)) (peg--record-failure '...)))) (peg-rule\ predicate-without-args (peg--lambda '(and (and ... ...) (char 58)) nil (or (and (or ... ...) (or ... ...)) (peg--record-failure '...)))) (peg-rule\ predicate (peg--lambda '(or (str "outline-path-segment") (or ... ...)) nil (or (let (... ...) (or ... ...)) (peg--record-failure '...)))) (peg-rule\ args (peg--lambda '(and (action ...) (and ... ...)) nil (or (and (or ... ...) (or ... ...)) (peg--record-failure '...)))) (peg-rule\ keyword-arg (peg--lambda '(and (call keyword) (and ... ...)) nil (or (and (or ... ...) (or ... ...)) (peg--record-failure '...)))) (peg-rule\ keyword (peg--lambda '(and (action ...) (and ... ...)) nil (or (and (or ... ...) (or ... ...)) (peg--record-failure '...)))) (peg-rule\ quoted-arg (peg--lambda '(and (char 34) (and ... ...)) nil (or (and (or ... ...) (or ... ...)) (peg--record-failure '...)))) (peg-rule\ unquoted-arg (peg--lambda '(and (action ...) (and ... ...)) nil (or (and (or ... ...) (or ... ...)) (peg--record-failure '...)))) (peg-rule\ empty-quote (peg--lambda '(str "\"\"") nil (or (when (looking-at ...) (goto-char ...) t) (peg--record-failure '...)))) (peg-rule\ negation (peg--lambda '(char 33) nil (or (when (eq ... ...) (forward-char) t) (peg--record-failure '...)))) (peg-rule\ separator (peg--lambda '(char 44) nil (or (when (eq ... ...) (forward-char) t) (peg--record-failure '...))))) (peg-run (peg query) (lambda (failures) (when org-ql-signal-peg-failure (peg-signal-failure failures))))) ((:peg-rules (query and (* (set nil nil (blank))) (and (and (call term) (* (set nil nil ...))) (* (and (call term) (* ...))))) (term or (and (call negation) (and (and (action ...) (and ... ...)) (action (let ... ...)))) (or (call positive-term) (call empty-quote))) (positive-term or (and (call predicate-with-args) (action (let (... ...) (push ... peg--stack)))) (or (and (call predicate-without-args) (action (let ... ...))) (and (call plain-string) (action (let ... ...))))) (plain-string or (call quoted-arg) (call unquoted-arg)) (predicate-with-args and (and (action (let nil (push ... peg--stack))) (and (call predicate) (action (let ... ...)))) (and (char 58) (call args))) (predicate-without-args and (and (action (let nil (push ... peg--stack))) (and (call predicate) (action (let ... ...)))) (char 58)) (predicate or (str "outline-path-segment") (or (str "org-back-to-heading") (or (str "deadline-warning") (or (str "heading-regexp") (or ... ...))))) (args and (action (let nil (push 'magic-marker peg--stack))) (and (and (and (or ... ...) (or ... ...)) (* (and ... ...))) (action (let nil (push ... peg--stack))))) (keyword-arg and (call keyword) (and (char 61) (action (let (...) (push ... peg--stack))))) (keyword and (action (let nil (push (point) peg--stack))) (and (and (and (not ...) (any)) (* (and ... ...))) (action (let (...) (push ... peg--stack))))) (quoted-arg and (char 34) (and (and (action (let nil ...)) (and (and ... ...) (action ...))) (char 34))) (unquoted-arg and (action (let nil (push (point) peg--stack))) (and (and (and (not ...) (any)) (* (and ... ...))) (action (let (...) (push ... peg--stack))))) (empty-quote str "\"\"") (negation char 33) (separator char 44))))
  macroexp-macroexpand((cl-labels ((peg-rule\ query (peg--lambda '(and (* ...) (and ... ...)) nil (or (and (or ... ...) (or ... ...)) (peg--record-failure '...)))) (peg-rule\ term (peg--lambda '(or (and ... ...) (or ... ...)) nil (or (let (... ...) (or ... ...)) (peg--record-failure '...)))) (peg-rule\ positive-term (peg--lambda '(or (and ... ...) (or ... ...)) nil (or (let (... ...) (or ... ...)) (peg--record-failure '...)))) (peg-rule\ plain-string (peg--lambda '(or (call quoted-arg) (call unquoted-arg)) nil (or (let (... ...) (or ... ...)) (peg--record-failure '...)))) (peg-rule\ predicate-with-args (peg--lambda '(and (and ... ...) (and ... ...)) nil (or (and (or ... ...) (or ... ...)) (peg--record-failure '...)))) (peg-rule\ predicate-without-args (peg--lambda '(and (and ... ...) (char 58)) nil (or (and (or ... ...) (or ... ...)) (peg--record-failure '...)))) (peg-rule\ predicate (peg--lambda '(or (str "outline-path-segment") (or ... ...)) nil (or (let (... ...) (or ... ...)) (peg--record-failure '...)))) (peg-rule\ args (peg--lambda '(and (action ...) (and ... ...)) nil (or (and (or ... ...) (or ... ...)) (peg--record-failure '...)))) (peg-rule\ keyword-arg (peg--lambda '(and (call keyword) (and ... ...)) nil (or (and (or ... ...) (or ... ...)) (peg--record-failure '...)))) (peg-rule\ keyword (peg--lambda '(and (action ...) (and ... ...)) nil (or (and (or ... ...) (or ... ...)) (peg--record-failure '...)))) (peg-rule\ quoted-arg (peg--lambda '(and (char 34) (and ... ...)) nil (or (and (or ... ...) (or ... ...)) (peg--record-failure '...)))) (peg-rule\ unquoted-arg (peg--lambda '(and (action ...) (and ... ...)) nil (or (and (or ... ...) (or ... ...)) (peg--record-failure '...)))) (peg-rule\ empty-quote (peg--lambda '(str "\"\"") nil (or (when (looking-at ...) (goto-char ...) t) (peg--record-failure '...)))) (peg-rule\ negation (peg--lambda '(char 33) nil (or (when (eq ... ...) (forward-char) t) (peg--record-failure '...)))) (peg-rule\ separator (peg--lambda '(char 44) nil (or (when (eq ... ...) (forward-char) t) (peg--record-failure '...))))) (peg-run (peg query) (lambda (failures) (when org-ql-signal-peg-failure (peg-signal-failure failures))))) ((:peg-rules (query and (* (set nil nil (blank))) (and (and (call term) (* (set nil nil ...))) (* (and (call term) (* ...))))) (term or (and (call negation) (and (and (action ...) (and ... ...)) (action (let ... ...)))) (or (call positive-term) (call empty-quote))) (positive-term or (and (call predicate-with-args) (action (let (... ...) (push ... peg--stack)))) (or (and (call predicate-without-args) (action (let ... ...))) (and (call plain-string) (action (let ... ...))))) (plain-string or (call quoted-arg) (call unquoted-arg)) (predicate-with-args and (and (action (let nil (push ... peg--stack))) (and (call predicate) (action (let ... ...)))) (and (char 58) (call args))) (predicate-without-args and (and (action (let nil (push ... peg--stack))) (and (call predicate) (action (let ... ...)))) (char 58)) (predicate or (str "outline-path-segment") (or (str "org-back-to-heading") (or (str "deadline-warning") (or (str "heading-regexp") (or ... ...))))) (args and (action (let nil (push 'magic-marker peg--stack))) (and (and (and (or ... ...) (or ... ...)) (* (and ... ...))) (action (let nil (push ... peg--stack))))) (keyword-arg and (call keyword) (and (char 61) (action (let (...) (push ... peg--stack))))) (keyword and (action (let nil (push (point) peg--stack))) (and (and (and (not ...) (any)) (* (and ... ...))) (action (let (...) (push ... peg--stack))))) (quoted-arg and (char 34) (and (and (action (let nil ...)) (and (and ... ...) (action ...))) (char 34))) (unquoted-arg and (action (let nil (push (point) peg--stack))) (and (and (and (not ...) (any)) (* (and ... ...))) (action (let (...) (push ... peg--stack))))) (empty-quote str "\"\"") (negation char 33) (separator char 44))))
  macroexp--expand-all((cl-labels ((peg-rule\ query (peg--lambda '(and (* ...) (and ... ...)) nil (or (and (or ... ...) (or ... ...)) (peg--record-failure '...)))) (peg-rule\ term (peg--lambda '(or (and ... ...) (or ... ...)) nil (or (let (... ...) (or ... ...)) (peg--record-failure '...)))) (peg-rule\ positive-term (peg--lambda '(or (and ... ...) (or ... ...)) nil (or (let (... ...) (or ... ...)) (peg--record-failure '...)))) (peg-rule\ plain-string (peg--lambda '(or (call quoted-arg) (call unquoted-arg)) nil (or (let (... ...) (or ... ...)) (peg--record-failure '...)))) (peg-rule\ predicate-with-args (peg--lambda '(and (and ... ...) (and ... ...)) nil (or (and (or ... ...) (or ... ...)) (peg--record-failure '...)))) (peg-rule\ predicate-without-args (peg--lambda '(and (and ... ...) (char 58)) nil (or (and (or ... ...) (or ... ...)) (peg--record-failure '...)))) (peg-rule\ predicate (peg--lambda '(or (str "outline-path-segment") (or ... ...)) nil (or (let (... ...) (or ... ...)) (peg--record-failure '...)))) (peg-rule\ args (peg--lambda '(and (action ...) (and ... ...)) nil (or (and (or ... ...) (or ... ...)) (peg--record-failure '...)))) (peg-rule\ keyword-arg (peg--lambda '(and (call keyword) (and ... ...)) nil (or (and (or ... ...) (or ... ...)) (peg--record-failure '...)))) (peg-rule\ keyword (peg--lambda '(and (action ...) (and ... ...)) nil (or (and (or ... ...) (or ... ...)) (peg--record-failure '...)))) (peg-rule\ quoted-arg (peg--lambda '(and (char 34) (and ... ...)) nil (or (and (or ... ...) (or ... ...)) (peg--record-failure '...)))) (peg-rule\ unquoted-arg (peg--lambda '(and (action ...) (and ... ...)) nil (or (and (or ... ...) (or ... ...)) (peg--record-failure '...)))) (peg-rule\ empty-quote (peg--lambda '(str "\"\"") nil (or (when (looking-at ...) (goto-char ...) t) (peg--record-failure '...)))) (peg-rule\ negation (peg--lambda '(char 33) nil (or (when (eq ... ...) (forward-char) t) (peg--record-failure '...)))) (peg-rule\ separator (peg--lambda '(char 44) nil (or (when (eq ... ...) (forward-char) t) (peg--record-failure '...))))) (peg-run (peg query) (lambda (failures) (when org-ql-signal-peg-failure (peg-signal-failure failures))))))
  macroexpand-all((cl-labels ((peg-rule\ query (peg--lambda '(and (* ...) (and ... ...)) nil (or (and (or ... ...) (or ... ...)) (peg--record-failure '...)))) (peg-rule\ term (peg--lambda '(or (and ... ...) (or ... ...)) nil (or (let (... ...) (or ... ...)) (peg--record-failure '...)))) (peg-rule\ positive-term (peg--lambda '(or (and ... ...) (or ... ...)) nil (or (let (... ...) (or ... ...)) (peg--record-failure '...)))) (peg-rule\ plain-string (peg--lambda '(or (call quoted-arg) (call unquoted-arg)) nil (or (let (... ...) (or ... ...)) (peg--record-failure '...)))) (peg-rule\ predicate-with-args (peg--lambda '(and (and ... ...) (and ... ...)) nil (or (and (or ... ...) (or ... ...)) (peg--record-failure '...)))) (peg-rule\ predicate-without-args (peg--lambda '(and (and ... ...) (char 58)) nil (or (and (or ... ...) (or ... ...)) (peg--record-failure '...)))) (peg-rule\ predicate (peg--lambda '(or (str "outline-path-segment") (or ... ...)) nil (or (let (... ...) (or ... ...)) (peg--record-failure '...)))) (peg-rule\ args (peg--lambda '(and (action ...) (and ... ...)) nil (or (and (or ... ...) (or ... ...)) (peg--record-failure '...)))) (peg-rule\ keyword-arg (peg--lambda '(and (call keyword) (and ... ...)) nil (or (and (or ... ...) (or ... ...)) (peg--record-failure '...)))) (peg-rule\ keyword (peg--lambda '(and (action ...) (and ... ...)) nil (or (and (or ... ...) (or ... ...)) (peg--record-failure '...)))) (peg-rule\ quoted-arg (peg--lambda '(and (char 34) (and ... ...)) nil (or (and (or ... ...) (or ... ...)) (peg--record-failure '...)))) (peg-rule\ unquoted-arg (peg--lambda '(and (action ...) (and ... ...)) nil (or (and (or ... ...) (or ... ...)) (peg--record-failure '...)))) (peg-rule\ empty-quote (peg--lambda '(str "\"\"") nil (or (when (looking-at ...) (goto-char ...) t) (peg--record-failure '...)))) (peg-rule\ negation (peg--lambda '(char 33) nil (or (when (eq ... ...) (forward-char) t) (peg--record-failure '...)))) (peg-rule\ separator (peg--lambda '(char 44) nil (or (when (eq ... ...) (forward-char) t) (peg--record-failure '...))))) (peg-run (peg query) (lambda (failures) (when org-ql-signal-peg-failure (peg-signal-failure failures))))) ((:peg-rules (query and (* (set nil nil (blank))) (and (and (call term) (* (set nil nil ...))) (* (and (call term) (* ...))))) (term or (and (call negation) (and (and (action ...) (and ... ...)) (action (let ... ...)))) (or (call positive-term) (call empty-quote))) (positive-term or (and (call predicate-with-args) (action (let (... ...) (push ... peg--stack)))) (or (and (call predicate-without-args) (action (let ... ...))) (and (call plain-string) (action (let ... ...))))) (plain-string or (call quoted-arg) (call unquoted-arg)) (predicate-with-args and (and (action (let nil (push ... peg--stack))) (and (call predicate) (action (let ... ...)))) (and (char 58) (call args))) (predicate-without-args and (and (action (let nil (push ... peg--stack))) (and (call predicate) (action (let ... ...)))) (char 58)) (predicate or (str "outline-path-segment") (or (str "org-back-to-heading") (or (str "deadline-warning") (or (str "heading-regexp") (or ... ...))))) (args and (action (let nil (push 'magic-marker peg--stack))) (and (and (and (or ... ...) (or ... ...)) (* (and ... ...))) (action (let nil (push ... peg--stack))))) (keyword-arg and (call keyword) (and (char 61) (action (let (...) (push ... peg--stack))))) (keyword and (action (let nil (push (point) peg--stack))) (and (and (and (not ...) (any)) (* (and ... ...))) (action (let (...) (push ... peg--stack))))) (quoted-arg and (char 34) (and (and (action (let nil ...)) (and (and ... ...) (action ...))) (char 34))) (unquoted-arg and (action (let nil (push (point) peg--stack))) (and (and (and (not ...) (any)) (* (and ... ...))) (action (let (...) (push ... peg--stack))))) (empty-quote str "\"\"") (negation char 33) (separator char 44))))
  (let* ((rulesets nil) (rules (delq nil (mapcar #'(lambda (rule) (if ... ... ...)) rules))) (ctx (assq :peg-rules macroexpand-all-environment)) (body (macroexpand-all (cons 'cl-labels (cons (mapcar #'... rules) body)) (cons (cons ':peg-rules (append rules (cdr ctx))) macroexpand-all-environment)))) (if (null rulesets) body (list 'cl-flet (mapcan #'(lambda (ruleset) (let (...) (if aliases nil ...) (copy-sequence aliases))) rulesets) body)))
  #f(lambda (rules &rest body) [t] "Make PEG rules RULES available within the scope of BODY.\nRULES is a list of rules of the form (NAME . PEXS), where PEXS is a sequence\nof PEG expressions, implicitly combined with `and'.\nRULES can also contain symbols in which case these must name\nrulesets defined previously with `define-peg-ruleset'." (let* ((rulesets nil) (rules (delq nil (mapcar #'(lambda (rule) (if (symbolp rule) (progn (setq rulesets (cons rule rulesets)) nil) (cons (car rule) (peg-normalize (cons 'and (cdr rule)))))) rules))) (ctx (assq :peg-rules macroexpand-all-environment)) (body (macroexpand-all (cons 'cl-labels (cons (mapcar #'(lambda (rule) (list (peg--rule-id (car rule)) (list 'peg--lambda (list 'quote (cdr rule)) nil (peg--translate-rule-body (car rule) (cdr rule))))) rules) body)) (cons (cons ':peg-rules (append rules (cdr ctx))) macroexpand-all-environment)))) (if (null rulesets) body (list 'cl-flet (mapcan #'(lambda (ruleset) (let ((aliases (get ruleset 'peg--rules))) (if aliases nil (message "Unknown PEG ruleset: %S" ruleset)) (copy-sequence aliases))) rulesets) body))))(((query (and (* [blank]) (+ (and term (* [blank]))))) (term (or (and negation (list positive-term) `(pred -- (list ... ...))) positive-term empty-quote)) (positive-term (or (and predicate-with-args `(pred args -- (cons ... args))) (and predicate-without-args `(pred -- (list ...))) (and plain-string `(s -- (list org-ql-default-predicate s))))) (plain-string (or quoted-arg unquoted-arg)) (predicate-with-args (substring predicate) ":" args) (predicate-without-args (substring predicate) ":") (predicate (or "outline-path-segment" "org-back-to-heading" "deadline-warning" "heading-regexp" "tags-inherited" "inherited-tags" "outline-path" "tags-regexp" "descendants" "ts-inactive" "tags-local" "local-tags" "ancestors" "scheduled" "ts-active" "category" "priority" "property" "tags-all" "children" "deadline" "planning" "blocked" "heading" "clocked" "effort" "regexp" "parent" "closed" "buffer" "tags-i" "tags-l" "habit" "level" "rifle" "smart" "tags&" "itags" "ltags" "tags*" "done" "link" "path" "tags" "todo" "prop" "olps" "ts-a" "ts-i" ...)) (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)))) (empty-quote "\"\"") (negation "!") (separator ",")) (peg-run (peg query) (lambda (failures) (when org-ql-signal-peg-failure (peg-signal-failure failures)))))
  (with-peg-rules ((query (and (* [blank]) (+ (and term (* [blank]))))) (term (or (and negation (list positive-term) `(pred -- (list ... ...))) positive-term empty-quote)) (positive-term (or (and predicate-with-args `(pred args -- (cons ... args))) (and predicate-without-args `(pred -- (list ...))) (and plain-string `(s -- (list org-ql-default-predicate s))))) (plain-string (or quoted-arg unquoted-arg)) (predicate-with-args (substring predicate) ":" args) (predicate-without-args (substring predicate) ":") (predicate (or "outline-path-segment" "org-back-to-heading" "deadline-warning" "heading-regexp" "tags-inherited" "inherited-tags" "outline-path" "tags-regexp" "descendants" "ts-inactive" "tags-local" "local-tags" "ancestors" "scheduled" "ts-active" "category" "priority" "property" "tags-all" "children" "deadline" "planning" "blocked" "heading" "clocked" "effort" "regexp" "parent" "closed" "buffer" "tags-i" "tags-l" "habit" "level" "rifle" "smart" "tags&" "itags" "ltags" "tags*" "done" "link" "path" "tags" "todo" "prop" "olps" "ts-a" "ts-i" ...)) (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)))) (empty-quote "\"\"") (negation "!") (separator ",")) (peg-run (peg query) (lambda (failures) (when org-ql-signal-peg-failure (peg-signal-failure failures)))))
  eval((with-peg-rules ((query (and (* [blank]) (+ (and term (* ...))))) (term (or (and negation (list positive-term) `(pred -- ...)) positive-term empty-quote)) (positive-term (or (and predicate-with-args `(pred args -- ...)) (and predicate-without-args `(pred -- ...)) (and plain-string `(s -- ...)))) (plain-string (or quoted-arg unquoted-arg)) (predicate-with-args (substring predicate) ":" args) (predicate-without-args (substring predicate) ":") (predicate (or "outline-path-segment" "org-back-to-heading" "deadline-warning" "heading-regexp" "tags-inherited" "inherited-tags" "outline-path" "tags-regexp" "descendants" "ts-inactive" "tags-local" "local-tags" "ancestors" "scheduled" "ts-active" "category" "priority" "property" "tags-all" "children" "deadline" "planning" "blocked" "heading" "clocked" "effort" "regexp" "parent" "closed" "buffer" "tags-i" "tags-l" "habit" "level" "rifle" "smart" "tags&" "itags" "ltags" "tags*" "done" "link" "path" "tags" "todo" "prop" "olps" "ts-a" "ts-i" ...)) (args (list (+ (and (or keyword-arg quoted-arg unquoted-arg) (opt separator))))) (keyword-arg (and keyword "=" `(kw -- (intern ...)))) (keyword (substring (+ (not (or separator "=" "\"" ...)) (any)))) (quoted-arg "\"" (substring (+ (not (or separator "\"")) (any))) "\"") (unquoted-arg (substring (+ (not (or separator "\"" ...)) (any)))) (empty-quote "\"\"") (negation "!") (separator ",")) (peg-run (peg query) (lambda (failures) (when org-ql-signal-peg-failure (peg-signal-failure failures))))))
  (progn (insert input) (goto-char (point-min)) (eval (list 'with-peg-rules pexs (cons 'peg-run (cons (list 'peg (car (car pexs))) '((lambda ... ...)))))))
  (unwind-protect (progn (insert input) (goto-char (point-min)) (eval (list 'with-peg-rules pexs (cons 'peg-run (cons (list 'peg (car ...)) '(...)))))) (and (buffer-name temp-buffer) (kill-buffer temp-buffer)))
  (save-current-buffer (set-buffer temp-buffer) (unwind-protect (progn (insert input) (goto-char (point-min)) (eval (list 'with-peg-rules pexs (cons 'peg-run (cons (list ... ...) '...))))) (and (buffer-name temp-buffer) (kill-buffer temp-buffer))))
  (let ((temp-buffer (generate-new-buffer " *temp*" t))) (save-current-buffer (set-buffer temp-buffer) (unwind-protect (progn (insert input) (goto-char (point-min)) (eval (list 'with-peg-rules pexs (cons 'peg-run (cons ... ...))))) (and (buffer-name temp-buffer) (kill-buffer temp-buffer)))))
  (let* ((boolean (or boolean 'and)) (parsed-sexp (let ((temp-buffer (generate-new-buffer " *temp*" t))) (save-current-buffer (set-buffer temp-buffer) (unwind-protect (progn (insert input) (goto-char ...) (eval ...)) (and (buffer-name temp-buffer) (kill-buffer temp-buffer))))))) (if (consp parsed-sexp) (let* ((x1790 (car-safe parsed-sexp)) (x1791 (cdr-safe parsed-sexp))) (if (null x1791) (let ((one-predicate x1790)) one-predicate) (let nil (cons boolean (reverse parsed-sexp))))) 'nil))
  (if (s-blank-str? input) nil (let* ((boolean (or boolean 'and)) (parsed-sexp (let ((temp-buffer (generate-new-buffer " *temp*" t))) (save-current-buffer (set-buffer temp-buffer) (unwind-protect (progn ... ... ...) (and ... ...)))))) (if (consp parsed-sexp) (let* ((x1790 (car-safe parsed-sexp)) (x1791 (cdr-safe parsed-sexp))) (if (null x1791) (let ((one-predicate x1790)) one-predicate) (let nil (cons boolean (reverse parsed-sexp))))) 'nil)))
  org-ql--query-string-to-sexp("index")
  #f(compiled-function (arg1) #<bytecode 0xbb4a1e9e068e263>)("index")
  #f(compiled-function (arg1 arg2 arg3) #<bytecode -0x1658611893bd01b4>)("index" nil lambda)
  test-completion("index" #f(compiled-function (arg1 arg2 arg3) #<bytecode -0x1658611893bd01b4>) nil)
  completion--do-completion(13 18)
  completion--in-region-1(13 18)
  #f(compiled-function (start end collection predicate) #<bytecode -0x1cbba53999599137>)(13 18 #f(compiled-function (arg1 arg2 arg3) #<bytecode -0x1658611893bd01b4>) nil)
  apply(#f(compiled-function (start end collection predicate) #<bytecode -0x1cbba53999599137>) (13 18 #f(compiled-function (arg1 arg2 arg3) #<bytecode -0x1658611893bd01b4>) nil))
  #f(compiled-function (funs global args) #<bytecode 0x4c3e5e72475da80>)(nil nil (13 18 #f(compiled-function (arg1 arg2 arg3) #<bytecode -0x1658611893bd01b4>) nil))
  completion--in-region(13 18 #f(compiled-function (arg1 arg2 arg3) #<bytecode -0x1658611893bd01b4>) nil)
  completion-in-region(13 18 #f(compiled-function (arg1 arg2 arg3) #<bytecode -0x1658611893bd01b4>) nil)
  minibuffer-complete()
  funcall-interactively(minibuffer-complete)
  call-interactively(minibuffer-complete nil nil)
  command-execute(minibuffer-complete)
  read-from-minibuffer("Find entry: " nil (keymap (10 . minibuffer-complete-and-exit) (13 . minibuffer-complete-and-exit) keymap (menu-bar keymap (minibuf "Minibuf" keymap (tab menu-item "Complete" minibuffer-complete :help "Complete as far as possible") (space menu-item "Complete Word" minibuffer-complete-word :help "Complete at most one word") (63 menu-item "List Completions" minibuffer-completion-help :help "Display all possible completions") "Minibuf")) (M-down . minibuffer-next-completion) (M-up . minibuffer-previous-completion) (27 keymap (13 . minibuffer-choose-completion) (103 keymap (27 keymap (99 . switch-to-completions))) (118 . switch-to-completions)) (prior . switch-to-completions) (63 . minibuffer-completion-help) (32 . minibuffer-complete-word) (backtab . minibuffer-complete) (9 . minibuffer-complete) keymap (67108903 . vz/minibuffer-avy-completions) (8388727 . vz/minibuffer-yank-symbol) (remap keymap (previous-buffer . vz/minibuffer-previous-buffer) (next-buffer . vz/minibuffer-next-buffer)) (s-tab . file-cache-minibuffer-complete) (menu-bar keymap (minibuf "Minibuf" keymap (previous menu-item "Previous History Item" previous-history-element :help "Put previous minibuffer history element in the minibuffer") (next menu-item "Next History Item" next-history-element :help "Put next minibuffer history element in the minibuffer") (isearch-backward menu-item "Isearch History Backward" isearch-backward :help "Incrementally search minibuffer history backward") (isearch-forward menu-item "Isearch History Forward" isearch-forward :help "Incrementally search minibuffer history forward") (return menu-item "Enter" exit-minibuffer :key-sequence "\15" :help "Terminate input and exit minibuffer") (quit menu-item "Quit" abort-recursive-edit :help "Abort input and exit minibuffer") "Minibuf")) (24 keymap (down) (up)) (13 . exit-minibuffer) (10 . exit-minibuffer) (7 . minibuffer-keyboard-quit) (C-tab) (9 . self-insert-command) (XF86Back . previous-history-element) (up . previous-line-or-history-element) (prior . previous-history-element) (XF86Forward . next-history-element) (down . next-line-or-history-element) (next . next-history-element) (27 keymap (60 . minibuffer-beginning-of-buffer) (114) (115) (112 . previous-history-element) (110 . next-history-element))) nil nil nil nil)
  completing-read-default("Find entry: " #f(compiled-function (arg1 arg2 arg3) #<bytecode -0x1658611893bd01b4>) nil t nil nil nil nil)
  completing-read("Find entry: " #f(compiled-function (arg1 arg2 arg3) #<bytecode -0x1658611893bd01b4>) nil t)
  org-ql-completing-read(#<buffer annotations.org> :query-prefix nil :query-filter nil :prompt "Find entry: ")
  org-ql-find(#<buffer annotations.org>)
  funcall-interactively(org-ql-find #<buffer annotations.org>)
  call-interactively(org-ql-find record nil)
  command-execute(org-ql-find record)
  execute-extended-command(nil "org-ql-find" nil)
  funcall-interactively(execute-extended-command nil "org-ql-find" nil)
  call-interactively(execute-extended-command nil nil)
  command-execute(execute-extended-command)

[-- Attachment #3: query-fn.el --]
[-- Type: application/emacs-lisp, Size: 33349 bytes --]

[-- Attachment #4: Type: text/plain, Size: 21540 bytes --]



In GNU Emacs 31.0.50 (build 27, x86_64-pc-linux-gnu, X toolkit, cairo
 version 1.18.2, Xaw scroll bars) of 2024-12-07 built on astatine
Repository revision: 9ddec89e422d0dd6e9069731b8f2dd2c90aa5607
Repository branch: master
Windowing system distributor 'The X.Org Foundation', version 11.0.12101014
System Description: Debian GNU/Linux trixie/sid

Configured using:
 'configure --with-sound=alsa --with-x-toolkit=lucid --without-xaw3d
 --without-gconf --without-libsystemd --with-cairo CFLAGS=-g3'
Configured features:
ACL CAIRO DBUS FREETYPE GIF GLIB GMP GNUTLS GPM GSETTINGS HARFBUZZ JPEG
LCMS2 LIBOTF LIBSELINUX LIBXML2 MODULES NOTIFY INOTIFY PDUMPER PNG RSVG
SECCOMP SOUND SQLITE3 THREADS TIFF TOOLKIT_SCROLL_BARS WEBP X11 XDBE XIM
XINPUT2 XPM LUCID ZLIB
Important settings:
  value of $LC_MONETARY: ta_IN.UTF-8
  value of $LC_NUMERIC: ta_IN.UTF-8
  value of $LANG: en_GB.UTF-8
  locale-coding-system: utf-8-unix

Major mode: ELisp/l

Minor modes in effect:
  TeX-PDF-mode: t
  recentf-mode: t
  server-mode: t
  paredit-mode: t
  eros-mode: t
  flymake-mode: t
  pdf-occur-global-minor-mode: t
  minibuffer-depth-indicate-mode: t
  repeat-mode: t
  display-time-mode: t
  display-battery-mode: t
  delete-selection-mode: t
  xterm-mouse-mode: t
  vz/winkey-minor-mode: t
  straight-use-package-mode: t
  straight-package-neutering-mode: t
  tooltip-mode: t
  global-eldoc-mode: t
  eldoc-mode: t
  show-paren-mode: t
  electric-indent-mode: t
  mouse-wheel-mode: t
  use-hard-newlines: t
  tab-bar-history-mode: t
  tab-bar-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  undelete-frame-mode: t
  minibuffer-regexp-mode: t
  transient-mark-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  abbrev-mode: t

Load-path shadows:
/home/viz/lib/emacs/straight/build/transient/transient hides /home/viz/lib/ports/emacs/lisp/transient
/home/viz/lib/emacs/straight/build/org/ob-awk hides /home/viz/lib/ports/emacs/lisp/org/ob-awk
/home/viz/lib/emacs/straight/build/org/org-capture hides /home/viz/lib/ports/emacs/lisp/org/org-capture
/home/viz/lib/emacs/straight/build/org/ob-sql hides /home/viz/lib/ports/emacs/lisp/org/ob-sql
/home/viz/lib/emacs/straight/build/org/ol-doi hides /home/viz/lib/ports/emacs/lisp/org/ol-doi
/home/viz/lib/emacs/straight/build/org/org-plot hides /home/viz/lib/ports/emacs/lisp/org/org-plot
/home/viz/lib/emacs/straight/build/org/ob-dot hides /home/viz/lib/ports/emacs/lisp/org/ob-dot
/home/viz/lib/emacs/straight/build/org/ol-eshell hides /home/viz/lib/ports/emacs/lisp/org/ol-eshell
/home/viz/lib/emacs/straight/build/org/ob-C hides /home/viz/lib/ports/emacs/lisp/org/ob-C
/home/viz/lib/emacs/straight/build/org/ob-ref hides /home/viz/lib/ports/emacs/lisp/org/ob-ref
/home/viz/lib/emacs/straight/build/org/org-list hides /home/viz/lib/ports/emacs/lisp/org/org-list
/home/viz/lib/emacs/straight/build/org/org-mouse hides /home/viz/lib/ports/emacs/lisp/org/org-mouse
/home/viz/lib/emacs/straight/build/org/ob-haskell hides /home/viz/lib/ports/emacs/lisp/org/ob-haskell
/home/viz/lib/emacs/straight/build/org/ob-plantuml hides /home/viz/lib/ports/emacs/lisp/org/ob-plantuml
/home/viz/lib/emacs/straight/build/org/org-keys hides /home/viz/lib/ports/emacs/lisp/org/org-keys
/home/viz/lib/emacs/straight/build/org/org-clock hides /home/viz/lib/ports/emacs/lisp/org/org-clock
/home/viz/lib/emacs/straight/build/org/ox-html hides /home/viz/lib/ports/emacs/lisp/org/ox-html
/home/viz/lib/emacs/straight/build/org/oc-biblatex hides /home/viz/lib/ports/emacs/lisp/org/oc-biblatex
/home/viz/lib/emacs/straight/build/org/ob-table hides /home/viz/lib/ports/emacs/lisp/org/ob-table
/home/viz/lib/emacs/straight/build/org/ob hides /home/viz/lib/ports/emacs/lisp/org/ob
/home/viz/lib/emacs/straight/build/org/ol-w3m hides /home/viz/lib/ports/emacs/lisp/org/ol-w3m
/home/viz/lib/emacs/straight/build/org/ob-groovy hides /home/viz/lib/ports/emacs/lisp/org/ob-groovy
/home/viz/lib/emacs/straight/build/org/org-footnote hides /home/viz/lib/ports/emacs/lisp/org/org-footnote
/home/viz/lib/emacs/straight/build/org/org-entities hides /home/viz/lib/ports/emacs/lisp/org/org-entities
/home/viz/lib/emacs/straight/build/org/ob-org hides /home/viz/lib/ports/emacs/lisp/org/ob-org
/home/viz/lib/emacs/straight/build/org/org-macs hides /home/viz/lib/ports/emacs/lisp/org/org-macs
/home/viz/lib/emacs/straight/build/org/ob-shell hides /home/viz/lib/ports/emacs/lisp/org/ob-shell
/home/viz/lib/emacs/straight/build/org/ob-R hides /home/viz/lib/ports/emacs/lisp/org/ob-R
/home/viz/lib/emacs/straight/build/org/ob-lisp hides /home/viz/lib/ports/emacs/lisp/org/ob-lisp
/home/viz/lib/emacs/straight/build/org/ob-js hides /home/viz/lib/ports/emacs/lisp/org/ob-js
/home/viz/lib/emacs/straight/build/org/ob-maxima hides /home/viz/lib/ports/emacs/lisp/org/ob-maxima
/home/viz/lib/emacs/straight/build/org/org-element-ast hides /home/viz/lib/ports/emacs/lisp/org/org-element-ast
/home/viz/lib/emacs/straight/build/org/ox-ascii hides /home/viz/lib/ports/emacs/lisp/org/ox-ascii
/home/viz/lib/emacs/straight/build/org/org-persist hides /home/viz/lib/ports/emacs/lisp/org/org-persist
/home/viz/lib/emacs/straight/build/org/ox-md hides /home/viz/lib/ports/emacs/lisp/org/ox-md
/home/viz/lib/emacs/straight/build/org/org-duration hides /home/viz/lib/ports/emacs/lisp/org/org-duration
/home/viz/lib/emacs/straight/build/org/ob-lilypond hides /home/viz/lib/ports/emacs/lisp/org/ob-lilypond
/home/viz/lib/emacs/straight/build/org/ob-ruby hides /home/viz/lib/ports/emacs/lisp/org/ob-ruby
/home/viz/lib/emacs/straight/build/org/ob-core hides /home/viz/lib/ports/emacs/lisp/org/ob-core
/home/viz/lib/emacs/straight/build/org/ol-mhe hides /home/viz/lib/ports/emacs/lisp/org/ol-mhe
/home/viz/lib/emacs/straight/build/org/ob-ditaa hides /home/viz/lib/ports/emacs/lisp/org/ob-ditaa
/home/viz/lib/emacs/straight/build/org/ol-irc hides /home/viz/lib/ports/emacs/lisp/org/ol-irc
/home/viz/lib/emacs/straight/build/org/ob-fortran hides /home/viz/lib/ports/emacs/lisp/org/ob-fortran
/home/viz/lib/emacs/straight/build/org/org-feed hides /home/viz/lib/ports/emacs/lisp/org/org-feed
/home/viz/lib/emacs/straight/build/org/ob-java hides /home/viz/lib/ports/emacs/lisp/org/ob-java
/home/viz/lib/emacs/straight/build/org/ox hides /home/viz/lib/ports/emacs/lisp/org/ox
/home/viz/lib/emacs/straight/build/org/oc-csl hides /home/viz/lib/ports/emacs/lisp/org/oc-csl
/home/viz/lib/emacs/straight/build/org/ob-exp hides /home/viz/lib/ports/emacs/lisp/org/ob-exp
/home/viz/lib/emacs/straight/build/org/org-loaddefs hides /home/viz/lib/ports/emacs/lisp/org/org-loaddefs
/home/viz/lib/emacs/straight/build/org/ob-scheme hides /home/viz/lib/ports/emacs/lisp/org/ob-scheme
/home/viz/lib/emacs/straight/build/org/ob-tangle hides /home/viz/lib/ports/emacs/lisp/org/ob-tangle
/home/viz/lib/emacs/straight/build/org/ox-koma-letter hides /home/viz/lib/ports/emacs/lisp/org/ox-koma-letter
/home/viz/lib/emacs/straight/build/org/ob-gnuplot hides /home/viz/lib/ports/emacs/lisp/org/ob-gnuplot
/home/viz/lib/emacs/straight/build/org/org-crypt hides /home/viz/lib/ports/emacs/lisp/org/org-crypt
/home/viz/lib/emacs/straight/build/org/org-datetree hides /home/viz/lib/ports/emacs/lisp/org/org-datetree
/home/viz/lib/emacs/straight/build/org/org-attach hides /home/viz/lib/ports/emacs/lisp/org/org-attach
/home/viz/lib/emacs/straight/build/org/ob-julia hides /home/viz/lib/ports/emacs/lisp/org/ob-julia
/home/viz/lib/emacs/straight/build/org/ob-sqlite hides /home/viz/lib/ports/emacs/lisp/org/ob-sqlite
/home/viz/lib/emacs/straight/build/org/org-cycle hides /home/viz/lib/ports/emacs/lisp/org/org-cycle
/home/viz/lib/emacs/straight/build/org/org-faces hides /home/viz/lib/ports/emacs/lisp/org/org-faces
/home/viz/lib/emacs/straight/build/org/org-mobile hides /home/viz/lib/ports/emacs/lisp/org/org-mobile
/home/viz/lib/emacs/straight/build/org/org-ctags hides /home/viz/lib/ports/emacs/lisp/org/org-ctags
/home/viz/lib/emacs/straight/build/org/ob-latex hides /home/viz/lib/ports/emacs/lisp/org/ob-latex
/home/viz/lib/emacs/straight/build/org/ob-matlab hides /home/viz/lib/ports/emacs/lisp/org/ob-matlab
/home/viz/lib/emacs/straight/build/org/ob-sed hides /home/viz/lib/ports/emacs/lisp/org/ob-sed
/home/viz/lib/emacs/straight/build/org/org-attach-git hides /home/viz/lib/ports/emacs/lisp/org/org-attach-git
/home/viz/lib/emacs/straight/build/org/ob-python hides /home/viz/lib/ports/emacs/lisp/org/ob-python
/home/viz/lib/emacs/straight/build/org/ox-icalendar hides /home/viz/lib/ports/emacs/lisp/org/ox-icalendar
/home/viz/lib/emacs/straight/build/org/org-tempo hides /home/viz/lib/ports/emacs/lisp/org/org-tempo
/home/viz/lib/emacs/straight/build/org/ob-screen hides /home/viz/lib/ports/emacs/lisp/org/ob-screen
/home/viz/lib/emacs/straight/build/org/org-num hides /home/viz/lib/ports/emacs/lisp/org/org-num
/home/viz/lib/emacs/straight/build/org/ob-forth hides /home/viz/lib/ports/emacs/lisp/org/ob-forth
/home/viz/lib/emacs/straight/build/org/ox-odt hides /home/viz/lib/ports/emacs/lisp/org/ox-odt
/home/viz/lib/emacs/straight/build/org/ol-bbdb hides /home/viz/lib/ports/emacs/lisp/org/ol-bbdb
/home/viz/lib/emacs/straight/build/org/org-table hides /home/viz/lib/ports/emacs/lisp/org/org-table
/home/viz/lib/emacs/straight/build/org/ox-man hides /home/viz/lib/ports/emacs/lisp/org/ox-man
/home/viz/lib/emacs/straight/build/org/ox-org hides /home/viz/lib/ports/emacs/lisp/org/ox-org
/home/viz/lib/emacs/straight/build/org/ob-comint hides /home/viz/lib/ports/emacs/lisp/org/ob-comint
/home/viz/lib/emacs/straight/build/org/ob-clojure hides /home/viz/lib/ports/emacs/lisp/org/ob-clojure
/home/viz/lib/emacs/straight/build/org/org-id hides /home/viz/lib/ports/emacs/lisp/org/org-id
/home/viz/lib/emacs/straight/build/org/oc-natbib hides /home/viz/lib/ports/emacs/lisp/org/oc-natbib
/home/viz/lib/emacs/straight/build/org/ox-texinfo hides /home/viz/lib/ports/emacs/lisp/org/ox-texinfo
/home/viz/lib/emacs/straight/build/org/org-agenda hides /home/viz/lib/ports/emacs/lisp/org/org-agenda
/home/viz/lib/emacs/straight/build/org/org-src hides /home/viz/lib/ports/emacs/lisp/org/org-src
/home/viz/lib/emacs/straight/build/org/ob-emacs-lisp hides /home/viz/lib/ports/emacs/lisp/org/ob-emacs-lisp
/home/viz/lib/emacs/straight/build/org/ob-css hides /home/viz/lib/ports/emacs/lisp/org/ob-css
/home/viz/lib/emacs/straight/build/org/ox-latex hides /home/viz/lib/ports/emacs/lisp/org/ox-latex
/home/viz/lib/emacs/straight/build/org/oc hides /home/viz/lib/ports/emacs/lisp/org/oc
/home/viz/lib/emacs/straight/build/org/ol hides /home/viz/lib/ports/emacs/lisp/org/ol
/home/viz/lib/emacs/straight/build/org/org-element hides /home/viz/lib/ports/emacs/lisp/org/org-element
/home/viz/lib/emacs/straight/build/org/org hides /home/viz/lib/ports/emacs/lisp/org/org
/home/viz/lib/emacs/straight/build/org/org-goto hides /home/viz/lib/ports/emacs/lisp/org/org-goto
/home/viz/lib/emacs/straight/build/org/ob-eval hides /home/viz/lib/ports/emacs/lisp/org/ob-eval
/home/viz/lib/emacs/straight/build/org/org-habit hides /home/viz/lib/ports/emacs/lisp/org/org-habit
/home/viz/lib/emacs/straight/build/org/org-pcomplete hides /home/viz/lib/ports/emacs/lisp/org/org-pcomplete
/home/viz/lib/emacs/straight/build/org/ol-eww hides /home/viz/lib/ports/emacs/lisp/org/ol-eww
/home/viz/lib/emacs/straight/build/org/ob-processing hides /home/viz/lib/ports/emacs/lisp/org/ob-processing
/home/viz/lib/emacs/straight/build/org/org-timer hides /home/viz/lib/ports/emacs/lisp/org/org-timer
/home/viz/lib/emacs/straight/build/org/org-inlinetask hides /home/viz/lib/ports/emacs/lisp/org/org-inlinetask
/home/viz/lib/emacs/straight/build/org/ol-bibtex hides /home/viz/lib/ports/emacs/lisp/org/ol-bibtex
/home/viz/lib/emacs/straight/build/org/org-fold-core hides /home/viz/lib/ports/emacs/lisp/org/org-fold-core
/home/viz/lib/emacs/straight/build/org/oc-basic hides /home/viz/lib/ports/emacs/lisp/org/oc-basic
/home/viz/lib/emacs/straight/build/org/ox-publish hides /home/viz/lib/ports/emacs/lisp/org/ox-publish
/home/viz/lib/emacs/straight/build/org/oc-bibtex hides /home/viz/lib/ports/emacs/lisp/org/oc-bibtex
/home/viz/lib/emacs/straight/build/org/org-macro hides /home/viz/lib/ports/emacs/lisp/org/org-macro
/home/viz/lib/emacs/straight/build/org/ol-docview hides /home/viz/lib/ports/emacs/lisp/org/ol-docview
/home/viz/lib/emacs/straight/build/org/org-fold hides /home/viz/lib/ports/emacs/lisp/org/org-fold
/home/viz/lib/emacs/straight/build/org/org-lint hides /home/viz/lib/ports/emacs/lisp/org/org-lint
/home/viz/lib/emacs/straight/build/org/org-version hides /home/viz/lib/ports/emacs/lisp/org/org-version
/home/viz/lib/emacs/straight/build/org/ob-ocaml hides /home/viz/lib/ports/emacs/lisp/org/ob-ocaml
/home/viz/lib/emacs/straight/build/org/ob-sass hides /home/viz/lib/ports/emacs/lisp/org/ob-sass
/home/viz/lib/emacs/straight/build/org/ob-perl hides /home/viz/lib/ports/emacs/lisp/org/ob-perl
/home/viz/lib/emacs/straight/build/org/ol-rmail hides /home/viz/lib/ports/emacs/lisp/org/ol-rmail
/home/viz/lib/emacs/straight/build/org/org-protocol hides /home/viz/lib/ports/emacs/lisp/org/org-protocol
/home/viz/lib/emacs/straight/build/org/ol-info hides /home/viz/lib/ports/emacs/lisp/org/ol-info
/home/viz/lib/emacs/straight/build/org/ob-eshell hides /home/viz/lib/ports/emacs/lisp/org/ob-eshell
/home/viz/lib/emacs/straight/build/org/org-refile hides /home/viz/lib/ports/emacs/lisp/org/org-refile
/home/viz/lib/emacs/straight/build/org/ob-octave hides /home/viz/lib/ports/emacs/lisp/org/ob-octave
/home/viz/lib/emacs/straight/build/org/ob-lua hides /home/viz/lib/ports/emacs/lisp/org/ob-lua
/home/viz/lib/emacs/straight/build/org/ol-gnus hides /home/viz/lib/ports/emacs/lisp/org/ol-gnus
/home/viz/lib/emacs/straight/build/org/ob-makefile hides /home/viz/lib/ports/emacs/lisp/org/ob-makefile
/home/viz/lib/emacs/straight/build/org/org-archive hides /home/viz/lib/ports/emacs/lisp/org/org-archive
/home/viz/lib/emacs/straight/build/org/ob-lob hides /home/viz/lib/ports/emacs/lisp/org/ob-lob
/home/viz/lib/emacs/straight/build/org/ol-man hides /home/viz/lib/ports/emacs/lisp/org/ol-man
/home/viz/lib/emacs/straight/build/org/org-compat hides /home/viz/lib/ports/emacs/lisp/org/org-compat
/home/viz/lib/emacs/straight/build/org/org-colview hides /home/viz/lib/ports/emacs/lisp/org/org-colview
/home/viz/lib/emacs/straight/build/org/org-indent hides /home/viz/lib/ports/emacs/lisp/org/org-indent
/home/viz/lib/emacs/straight/build/org/ox-beamer hides /home/viz/lib/ports/emacs/lisp/org/ox-beamer
/home/viz/lib/emacs/straight/build/org/ob-calc hides /home/viz/lib/ports/emacs/lisp/org/ob-calc

Features:
(shadow flyspell ecomplete emacsbug whitespace expand-region
text-mode-expansions cc-mode-expansions the-org-mode-expansions
python-el-fgallina-expansions latex-mode-expansions er-basic-expansions
expand-region-core expand-region-custom shortdoc comp-common inspector
edebug external-completion locate cl-print cus-start flow-fill cal-islam
holidays holiday-loaddefs cal-move help-fns descr-text ispell etags
fileloop imenu-xref tabify man gnus-dired network-stream nsm rcirc
reveal notifications qp gnus-cite mm-archive mail-extr textsec
uni-scripts idna-mapping ucs-normalize uni-confusable textsec-check
gnus-bcklg gnus-async sort gnus-ml nndraft nnmh nndoc nnmaildir nnagent
nnml nnnil gnus-agent gnus-srvr gnus-score score-mode nnvirtual gnus-msg
nntp gnus-cache bug-reference shell-command+ misearch multi-isearch
dabbrev misc xref pcmpl-unix pulse color dired-aux tramp-cmds avy latex
latex-flymake tex-ispell tex-style tex smerge-mode typo tramp-cache
time-stamp tramp-sh tramp trampver tramp-integration tramp-message
tramp-compat tramp-loaddefs recentf tree-widget vc-backup log-view
log-edit add-log pcvs-util vc diff vc-git diff-mode track-changes
vc-dispatcher cursor-sensor face-remap org-pdftools pdf-annot facemenu
org-noter latexenc oc-bibtex image-file image-converter oc-basic
org-ql-find org-ql-completing-read org-ql-search org-ql-view transient
ov crm org-super-agenda ht f s org-ql peg ts dash org-habit org-duration
embark-org ob-gnuplot ox-odt rng-loc rng-uri rng-parse rng-match rng-dt
rng-util rng-pttrn nxml-parse nxml-ns nxml-enc xmltok nxml-util
ox-icalendar org-agenda ox-html ox-mathml org-latex-preview ox-latex
table ox-ascii ox-publish ox org-element org-persist avl-tree generator
ob-fortran ob-python python ob-calc calc-store calc-trail calc-ext calc
calc-loaddefs rect calc-macs ob-C cc-mode cc-fonts cc-guess cc-menus
cc-cmds cc-styles cc-align cc-engine cc-vars cc-defs ob-shell shell
ob-racket cdlatex texmathp org-attach ol-eww eww xdg vtable mule-util
url-queue mm-url ol-rmail ol-mhe ol-irc ol-info ol-gnus nnselect
gnus-art mm-uu mml2015 mm-view mml-smime smime gnutls dig gnus-sum shr
pixel-fill kinsoku url-file svg gnus-group gnus-undo gnus-start
gnus-dbus gnus-cloud nnimap nnmail mail-source utf7 nnoo parse-time
gnus-spec gnus-int gnus-range message sendmail yank-media puny rfc822
mml mml-sec epa epg rfc6068 epg-config mm-decode mm-bodies mm-encode
mail-parse rfc2231 rfc2047 rfc2045 ietf-drums mailabbrev gmm-utils
mailheader gnus-win gnus nnheader gnus-util mail-utils range mm-util
mail-prsvr ol-docview doc-view ol-bibtex ol-bbdb ol-w3m ol-doi
org-link-doi org-tempo org-id org-refile org-element-ast inline ol-man
org ob ob-tangle ob-ref ob-lob ob-table ob-exp org-macro org-src
sh-script smie treesit executable ob-comint org-pcomplete pcomplete
org-list org-footnote org-faces org-entities noutline outline
ob-emacs-lisp ob-core ob-eval org-cycle org-table ol org-fold
org-fold-core org-keys oc org-loaddefs org-version org-compat org-macs
server paredit edmacro kmacro eros checkdoc flymake project
wordel-autoloads mines-autoloads sokoban-autoloads ement-autoloads
svg-lib-autoloads taxy-magit-section-autoloads magit-section-autoloads
taxy-autoloads persist-autoloads nov-autoloads esxml-autoloads
kv-autoloads transmission-autoloads csv-mode-autoloads
lua-mode-autoloads gnuplot-autoloads go-mode-autoloads
racket-mode-autoloads eros-autoloads comint-mime-autoloads
writegood-mode-autoloads embark ffap thingatpt compat embark-autoloads
xeft-autoloads siege-mode-autoloads paredit-autoloads puni-autoloads
expand-region-autoloads filladapt-autoloads compose org-ql-autoloads
transient-autoloads ov-autoloads org-super-agenda-autoloads ts-autoloads
ht-autoloads f-autoloads s-autoloads dash-autoloads
org-pdftools-autoloads org-noter-autoloads change-env-autoloads
math-delimiters-autoloads doct-autoloads emacs-ob-racket-autoloads
valign-autoloads cdlatex-autoloads tempo bibtex iso8601 time-date
auctex-autoloads tex-site pdf-occur ibuf-ext ibuffer ibuffer-loaddefs
tablist advice tablist-filter semantic/wisent/comp semantic/wisent
semantic/wisent/wisent semantic/util-modes semantic/util semantic
semantic/tag semantic/lex semantic/fw mode-local cedet pdf-isearch
let-alist pdf-misc imenu pdf-tools package browse-url url url-proxy
url-privacy url-expand url-methods url-history url-cookie url-domsuf
url-util mailcap url-handlers url-parse auth-source eieio eieio-core
json url-vars compile comint ansi-osc ansi-color ring cus-edit wid-edit
pdf-view password-cache jka-compr pdf-cache pdf-info tq pdf-util
pdf-macs image-mode dired-x dired dired-loaddefs exif
pdf-tools-autoloads tablist-autoloads typo-autoloads mb-depth repeat
visual-fill-autoloads olivetti-autoloads time format-spec battery
filenotify dom tamil99 quail disp-table lacarte-autoloads
shell-command-plus-autoloads delsel xt-mouse cus-load avy-autoloads
icalendar diary-lib diary-loaddefs cal-menu calendar cal-loaddefs plz
warnings icons dired-du-autoloads finder-inf filecache
imenu-xref-autoloads ert map ewoc debug backtrace find-func
qrencode-autoloads derived tochemfig-autoloads chemtable-autoloads
molar-mass-autoloads files-x vc-backup-autoloads skeleton
saveplace-pdf-view saveplace bookmark text-property-search pp
saveplace-pdf-view-autoloads dbus xml rx plz-autoloads
inspector-autoloads xr-autoloads straight-autoloads cl-extra help-mode
straight info loaddefs-gen generate-lisp-file lisp-mnt radix-tree
easy-mmode cl-seq subr-x byte-opt cl-macs gv cl-loaddefs cl-lib bytecomp
byte-compile pcase vz-nh-theme vz-options-theme rmc iso-transl tooltip
cconv eldoc paren electric uniquify ediff-hook vc-hooks lisp-float-type
elisp-mode mwheel term/x-win x-win term/common-win x-dnd touch-screen
tool-bar dnd fontset image regexp-opt fringe tabulated-list replace
newcomment text-mode lisp-mode prog-mode register page tab-bar menu-bar
rfn-eshadow isearch easymenu timer select scroll-bar mouse jit-lock
font-lock syntax font-core term/tty-colors frame minibuffer nadvice seq
simple cl-generic indonesian philippine cham georgian utf-8-lang
misc-lang vietnamese tibetan thai tai-viet lao korean japanese eucjp-ms
cp51932 hebrew greek romanian slovak czech european ethiopic indian
cyrillic chinese composite emoji-zwj charscript charprop case-table
epa-hook jka-cmpr-hook help abbrev obarray oclosure cl-preloaded button
loaddefs theme-loaddefs faces cus-face macroexp files window
text-properties overlay sha1 md5 base64 format env code-pages mule
custom widget keymap hashtable-print-readable backquote threads dbusbind
inotify lcms2 dynamic-setting system-font-setting font-render-setting
cairo x-toolkit xinput2 x multi-tty move-toolbar make-network-process
emacs)

Memory information:
((conses 16 2511330 503720) (symbols 48 73100 284)
 (strings 32 462377 56780) (string-bytes 1 19364946)
 (vectors 16 180048) (vector-slots 8 2665191 314532)
 (floats 8 12718 11263) (intervals 56 170014 3021) (buffers 984 141))

^ permalink raw reply	[flat|nested] 3+ messages in thread

* bug#74735: 31.0.50; Commit 986621ae1ff4d3cfad31adb20216f1f71ce0747c broke org-ql
  2024-12-08 11:09 bug#74735: 31.0.50; Commit 986621ae1ff4d3cfad31adb20216f1f71ce0747c broke org-ql Visuwesh
@ 2024-12-13 22:21 ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
  2024-12-14  1:43   ` Visuwesh
  0 siblings, 1 reply; 3+ messages in thread
From: Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2024-12-13 22:21 UTC (permalink / raw)
  To: Visuwesh; +Cc: 74735

[-- Attachment #1: Type: text/plain, Size: 938 bytes --]

> The recent change you made in
>
>     commit 986621ae1ff4d3cfad31adb20216f1f71ce0747c
>     Author: Stefan Monnier <monnier@iro.umontreal.ca>
>     Date:   Tue Nov 12 23:12:07 2024 -0500
>
>         (with-peg-rules): Build proper `peg-function`s
>
>         * lisp/progmodes/peg.el (with-peg-rules): Use the new (FUNC EXP)
>         feature in `cl-labels`.
>
> broke org-ql's PEG parser.  I tried to reproduce it with the number
> parser example given in the Elisp Info manual but failed.  With the
> above change, I get an assertion error when I try to use org-ql-find:
>
> Debugger entered--Lisp error: (cl-assertion-failed (lexical-binding nil))

Thanks.  Until this is fixed on `master`, the patch below will fix
`org-ql` to use lexical-binding for that code (like it already does for
all the rest of the code).

[ It also removes a NUL byte from the file which caused some tools to
  treat it as a binary file.  ]


        Stefan

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: org-ql.patch --]
[-- Type: text/x-diff, Size: 397 bytes --]

diff --git a/org-ql.el b/org-ql.el
index f3b7715..654da49 100644
--- a/org-ql.el
+++ b/org-ql.el
@@ -863,7 +863,7 @@ respectively."
                                       (zero-or-more (not (any "\n\":"))))
                                  (zero-or-more (not (any "\n\":")))))
                       (group (zero-or-more (not (any "\n")))) "\n"
-                      (63 (group (*\? (not (any "

^ permalink raw reply related	[flat|nested] 3+ messages in thread

* bug#74735: 31.0.50; Commit 986621ae1ff4d3cfad31adb20216f1f71ce0747c broke org-ql
  2024-12-13 22:21 ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2024-12-14  1:43   ` Visuwesh
  0 siblings, 0 replies; 3+ messages in thread
From: Visuwesh @ 2024-12-14  1:43 UTC (permalink / raw)
  To: Stefan Monnier; +Cc: 74735

[வெள்ளி டிசம்பர் 13, 2024] Stefan Monnier wrote:

>> The recent change you made in
>>
>>     commit 986621ae1ff4d3cfad31adb20216f1f71ce0747c
>>     Author: Stefan Monnier <monnier@iro.umontreal.ca>
>>     Date:   Tue Nov 12 23:12:07 2024 -0500
>>
>>         (with-peg-rules): Build proper `peg-function`s
>>
>>         * lisp/progmodes/peg.el (with-peg-rules): Use the new (FUNC EXP)
>>         feature in `cl-labels`.
>>
>> broke org-ql's PEG parser.  I tried to reproduce it with the number
>> parser example given in the Elisp Info manual but failed.  With the
>> above change, I get an assertion error when I try to use org-ql-find:
>>
>> Debugger entered--Lisp error: (cl-assertion-failed (lexical-binding nil))
>
> Thanks.  Until this is fixed on `master`, the patch below will fix
> `org-ql` to use lexical-binding for that code (like it already does for
> all the rest of the code).

Thanks!  I tried this exact change but it still erred.  Now, the error
went away.  I guess I did not re-eval the relevant functions properly.

> [ It also removes a NUL byte from the file which caused some tools to
>   treat it as a binary file.  ]

Thanks for catching this!  I always wondered why the modeline did not
say 'U' for the encoding.

> diff --git a/org-ql.el b/org-ql.el
> index f3b7715..654da49 100644
> --- a/org-ql.el
> +++ b/org-ql.el
> @@ -863,7 +863,7 @@ respectively."
>                                        (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"))
> +                      (63 (group (*\? (not (any "\0"))) "\n"))
>                        (zero-or-more (any "	 "))
>                        "#+end_src")
>                  t))
> @@ -1003,7 +1003,8 @@ value of `org-ql-predicates')."
>                                           (peg-run (peg ,(caar pexs))
>                                                    (lambda (failures)
>                                                      (when org-ql-signal-peg-failure
> -                                                      (peg-signal-failure failures)))))))))
> +                                                      (peg-signal-failure failures)))))
> +                                      t))))
>                          (pcase parsed-sexp
>                            (`(,one-predicate) one-predicate)
>                            (`(,_ . ,_) (cons boolean (reverse parsed-sexp)))

Shall I notify Adam of this change?





^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2024-12-14  1:43 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-12-08 11:09 bug#74735: 31.0.50; Commit 986621ae1ff4d3cfad31adb20216f1f71ce0747c broke org-ql Visuwesh
2024-12-13 22:21 ` Stefan Monnier via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-12-14  1:43   ` Visuwesh

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).