list-packages过滤功能,无论关键字是什么,过滤结果均为空?

list-packages -> 点击f
无论输入什么关键字,结果都是空

不知为何,会有一个错误信息

error in process filter: Invalid escape character syntax 

我不知应如何调试或修复,所以只能将整个.emacs.d连同init.el全部转移。虽然报错没有了,但筛选结果依然为空。

版本:GNU Emacs 25.3.1 (x86_64-w64-mingw32)
系统:Windows 10 家庭中文版 64-bit (10.0, Build 17134)

现学现卖,勉强对 package-menu-filter 进行了追踪

Debugger entered--entering a function:
* package-menu-filter(("2048"))
  funcall-interactively(package-menu-filter ("2048"))
  call-interactively(package-menu-filter nil nil)
  command-execute(package-menu-filter)

我理解自上而下应该是依次调用的顺序吧,所以 call-interactively 时参数没有传过去?
要如何才能进一步追踪呢?

升级到26就好了

尝试了,依旧没有变化 。。

C-h v package-archives 回车

package-archives is a variable defined in ‘package.el’.
Its value is
(("popkit" . "https://elpa.popkit.org/packages/")
 ("gnuelpa" . "https://elpa.emacs-china.org/gnu/")
 ("org" . "https://orgmode.org/elpa/"))
Original value was 
(("gnu" . "https://elpa.gnu.org/packages/"))

  This variable may be risky if used as a file-local variable.

Documentation:
An alist of archives from which to fetch.
The default value points to the GNU Emacs package repository.

Each element has the form (ID . LOCATION).
 ID is an archive name, as a string.
 LOCATION specifies the base location for the archive.
  If it starts with "http(s):", it is treated as an HTTP(S) URL;
  otherwise it should be an absolute directory name.
  (Other types of URL are currently not supported.)

Only add locations that you trust, since fetching and installing
a package can run arbitrary code.

You can customize this variable.

This variable was introduced, or its default value was changed, in
version 26.1 of Emacs.

你换个变量试试

记得先 m-x package-init

Screenshot_2019-08-29_19-02-22

keywords 是这边的 这个不是 fuzzy search 应该是

查了下 https://www.gnu.org/software/emacs/manual/html_node/emacs/Package-Keywords.html

非常感谢。
为便于查阅,我来总结一下吧。每个package都有一个或多个【标签】,标注自己的功能类型,这才是filter合法的keyword。

C-h p (finder-by-keyword) 可查看当前存在的【标签】
C-h P (describe-package) 可查看某个某个包的【标签】

1赞