求助, 我的emacs不能查询替换字符串了

如题, emacs的版本是 26.1, 系统是 windows, 配置使用的是 spacemacs。

使用 replace-string 的时候替换字符串没有问题, 但是使用 query-replace 的时候就会报错, 错误信息如下:

perform-replace: Args out of range: #<buffer test.py>, 0, 0
Debugger entered--Lisp error: (args-out-of-range #<buffer test.py> 0 0)
  buffer-substring-no-properties(0 0)
  perform-replace("im" "import" t nil nil nil nil nil nil nil nil)
  query-replace("im" "import" nil nil nil nil nil)
  funcall-interactively(query-replace "im" "import" nil nil nil nil nil)
  call-interactively(query-replace record nil)
  command-execute(query-replace record)
  #f(compiled-function (cmd) #<bytecode 0x3eb712d>)("query-replace")
  ivy-call()
  ivy-read("M-x " ("query-replace" "replace-string" "query-replace-regexp"  ........)
  counsel-M-x()
  funcall-interactively(counsel-M-x)
  call-interactively(counsel-M-x nil nil)
  command-execute(counsel-M-x)

问题补充:

test.py 的内容只有两个字符:

im

runemacs -q 的条件下测试时, 字符替换没有问题。

配置为:

System Info :computer:

  • OS: windows-nt
  • Emacs: 26.1
  • Spacemacs: 0.300.0
  • Spacemacs branch: develop (rev. f58cf2e09)
  • Graphic display: t
  • Distribution: spacemacs
  • Editing style: hybrid
  • Completion: ivy
  • Layers:
(ivy auto-completion better-defaults graphviz yaml emacs-lisp markdown org sql html latex plantuml
     (python :variables python-backend 'anaconda))

楼主 能不能把你的配置和测试文本贴出来 这样做的目的是:

  • 确定不是你的配置错误 i.e. 你配置中是否有关于replace-string 的改动和扩展 和 你的配置中的其他设置是不是影响到了它
  • 提供实例中发生错误的文本 也就是你的 “test.py” , 以便能够在origin-raw状态下检查是否是配置问题。

Emacs 99% 的错误可以用二分法解决。。。

问题解决了, issue 链接: #10938

(setq frame-title-format nil)