parent
0304a2c9dc
commit
1996969920
2 changed files with 17 additions and 20 deletions
|
|
@ -558,6 +558,7 @@ Simple links may also be written manually in either sexp or non-sexp form, like:
|
|||
|
||||
*Fixed*
|
||||
+ Predicate ~src~'s matching of begin/end block lines, normalization of arguments, and handling in non-sexp queries.
|
||||
+ Predicate ~src~'s behavior with various arguments.
|
||||
|
||||
*Internal*
|
||||
+ Certain query predicates, when called multiple times in an ~and~ sub-expression, are optimized to a single call.
|
||||
|
|
|
|||
36
org-ql.el
36
org-ql.el
|
|
@ -1925,26 +1925,22 @@ language. Matching is done case-insensitively."
|
|||
;; Always check contents with predicate.
|
||||
:query query)))
|
||||
:body
|
||||
(catch 'return
|
||||
(save-excursion
|
||||
(save-match-data
|
||||
(when (re-search-forward org-babel-src-block-regexp (org-entry-end-position) t)
|
||||
(when lang
|
||||
(unless (string= lang (match-string 2))
|
||||
(throw 'return nil)))
|
||||
(if regexps
|
||||
(let ((contents-beg (progn
|
||||
(goto-char (match-beginning 0))
|
||||
(forward-line 1)
|
||||
(point)))
|
||||
(contents-end (progn
|
||||
(goto-char (match-end 0))
|
||||
(point-at-bol))))
|
||||
(cl-loop for re in regexps
|
||||
do (goto-char contents-beg)
|
||||
always (re-search-forward re contents-end t)))
|
||||
;; No regexps to check: return non-nil.
|
||||
t))))))
|
||||
(save-excursion
|
||||
(save-match-data
|
||||
(cl-loop while (re-search-forward org-babel-src-block-regexp (org-entry-end-position) t)
|
||||
thereis (when (or (not lang) (equal lang (match-string 2)))
|
||||
(or (not regexps)
|
||||
(save-excursion
|
||||
(let ((contents-beg (progn
|
||||
(goto-char (match-beginning 0))
|
||||
(forward-line 1)
|
||||
(point)))
|
||||
(contents-end (progn
|
||||
(goto-char (match-end 0))
|
||||
(point-at-bol))))
|
||||
(cl-loop for re in regexps
|
||||
do (goto-char contents-beg)
|
||||
always (re-search-forward re contents-end t))))))))))
|
||||
|
||||
(org-ql-defpred (tags) (&rest tags)
|
||||
"Return non-nil if current heading has one or more of TAGS (a list of strings).
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue