(defun consult--grep (prompt builder dir initial)
"Run grep in DIR.
BUILDER is the command builder.
PROMPT is the prompt string.
INITIAL is inital input."
(let* ((prompt-dir (consult--directory-prompt prompt dir))
(default-directory (cdr prompt-dir)))
(consult--read
(consult--async-command builder
(consult--grep-format builder)
:file-handler t) ;; allow tramp
:prompt (car prompt-dir)
:lookup #'consult--lookup-member
:state (consult--grep-state)
:initial (consult--async-split-initial initial)
:add-history (consult--async-split-thingatpt 'symbol)
:require-match t
:category 'consult-grep
:group #'consult--grep-group
:history '(:input consult--grep-history)
:sort nil)))
执行到倒数第三行 :group #'consult--grep-group
, 之后显示 consult–grep-group, 这很正常, 但再按一次 s, 就报错 wrong argument, overlayp, nil. 这个错误不能是由 :group, :history 导致的, 它们被 quote , 没有执行什么. 所以说是 consult–async-command 导致的么? 但我在 consult–async-command处用 eval-fun 打断点, 根本没停下来.