kill-matching-buffer 奇怪的问题

我想写个函数删除所有的Dap-mode 的output and stderr buffer,下面这个只能删除 out*的buffer

(defun +my/dap-delete-output-and-stderr-buffers ()
  (kill-matching-buffers " \\(stderr\\|out\\)\\*")
)

但是string-match是有结果的,而且如果C-x C-e的执行kill-matching-buffers这行是可以删除stderr* buffers,不清楚为什么绑定+my/dap-delete-output-and-stderr-buffers到快捷键就不行了。

(string-match " \\(stderr\\|out\\)\\*" "*Sample1 Unittest Debug stderr*") =>> 23

求教!

我记得绑定快捷键需要是命令?就是包含 (interactive) ,不知道跟这个有没有关系。

手动 eval 这个函数符合预期吗?

试过interactive了,不行