错误类型的参数:stringp,nil错误

9

我需要在一个小的el脚本中使用update-directory-autoloads函数。当我试图使用一个目录名称作为参数来调用此函数时,我收到此错误:

Wrong type argument: stringp, nil.

调用看起来像这样:(update-directory-autoloads "~/test")

2个回答

11

当你遇到Wrong type argument: foo, bar.的错误时,你需要M-: (setq debug-on-error t) RET并重现错误以获得回溯信息。实际上,你可以在你的.emacs文件中设置debug-on-error,这样Emacs通常仍然可以正常使用。


8
M-x toggle-debug-on-error 对于交互式情况来说会更加友好一些。 - phils
确实。或者在菜单中选择“选项=>错误时进入调试器”。 - Stefan

7
生成autoload文件的文档不够详细。你遇到了一个问题,因为你没有设置变量generated-autoload-file。请尝试以下操作:
(let ((generated-autoload-file "~/test/loaddefs.el"))
  (update-directory-autoloads "~/test"))

generated-autoloads-file绑定更新为您希望loaddefs.el文件存放的位置。


谢谢。问题实际上是在生成的自动加载文件未定义。 - Jaŭhien Piatlicki

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接