branch: externals/consult commit 3c0f87ebd20b25f03568fb9ef8fd36b5a2a6eb84 Author: Daniel Mendler <m...@daniel-mendler.de> Commit: Daniel Mendler <m...@daniel-mendler.de>
Fix shell quoting for consult-completion-in-region (Fix #810) --- consult.el | 22 ++++++++++++++-------- 1 file changed, 14 insertions(+), 8 deletions(-) diff --git a/consult.el b/consult.el index cca641cd27..f86eee13b7 100644 --- a/consult.el +++ b/consult.el @@ -574,14 +574,20 @@ We use invalid characters outside the Unicode range.") (if (functionp table) (consult--in-buffer (lambda (str pred action) - (if (eq action 'metadata) - (mapcar - (lambda (x) - (if (and (string-suffix-p (symbol-name (car-safe x)) "-function") (cdr x)) - (cons (car x) (consult--in-buffer (cdr x))) - x)) - (funcall table str pred action)) - (funcall table str pred action))) + (let ((result (funcall table str pred action))) + (pcase action + ('metadata + (setq result + (mapcar + (lambda (x) + (if (and (string-suffix-p (symbol-name (car-safe x)) "-function") (cdr x)) + (cons (car x) (consult--in-buffer (cdr x))) + x)) + result))) + ((and 'completion--unquote (guard (functionp (cadr result)))) + (cl-callf consult--in-buffer (cadr result) buffer) + (cl-callf consult--in-buffer (cadddr result) buffer))) + result)) buffer) table))