branch: externals/consult commit 24310db92e41f19827f9198a54ee718257ebeee1 Author: Daniel Mendler <m...@daniel-mendler.de> Commit: Daniel Mendler <m...@daniel-mendler.de>
Emacs 29: Support outline-search-function (Fix #684) --- CHANGELOG.org | 3 ++- consult.el | 7 +++++-- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.org b/CHANGELOG.org index 852aad49e1..5de0738ced 100644 --- a/CHANGELOG.org +++ b/CHANGELOG.org @@ -11,7 +11,8 @@ - Remove obsolete =consult-line-point-placement= - =consult-grep/find=: Always show directory in the prompt - Add variable =consult-yank-rotate=, =consult-yank-from-kill-ring= rotates kill ring -- =consult-register=: Support Emacs 29 =buffer= register type +- Emacs 29: =consult-register= supports =buffer= register type +- Emacs 29: Support =outline-search-function= * Version 0.20 (2022-10-16) diff --git a/consult.el b/consult.el index 513eae1207..0959f31de7 100644 --- a/consult.el +++ b/consult.el @@ -2833,10 +2833,13 @@ See `multi-occur' for the meaning of the arguments BUFS, REGEXP and NLINES." (- (match-end 0) (match-beginning 0)))))) (inhibit-field-text-motion t) (buffer (current-buffer)) - (candidates)) + candidates) (save-excursion (goto-char (point-min)) - (while (save-excursion (re-search-forward heading-regexp nil t)) + (while (save-excursion + (if-let (fun (bound-and-true-p outline-search-function)) + (funcall fun) + (re-search-forward heading-regexp nil t))) (setq line (+ line (consult--count-lines (match-beginning 0)))) (push (consult--location-candidate (consult--buffer-substring (line-beginning-position)