你看你这种情况,最后出错的是 expand-file-name 这个内置函数的参数是 nil,说明它的上一层传参出了问题。所以可以 C-h f rime--load-dynamic-module RET 找到 rime--load-dynamic-module 这个函数的说明,在 help buffer 里 rime.el 这个链接上回车跳转进去,可以看到它的定义和实现。然后你就会发现应该是 rime-share-data-dir 和 rime-user-data-dir 至少有一个是 nil。然后再 C-h v rime-share-data-dir RET 再看变量的帮助,同样转到定义,你可以看到它是用 case 根据 system-type 的值去设置默认值,但是 case 里没有 FreeBSD。这时候你就可以 C-h v system-type RET 看一下你的 FreeBSD 上 system-type 这个变量的值是什么,然后参照别的 case 加入新的 case,去设置你的 rime share data 存放的目录。最后,把你的改动发一个 PR 给 emacs-rime,一次轻松愉快的 Emacs debug 就完成了。