根据这个问题和答案,我尝试制作一个新文件:How to create an empty file by elisp?
我复制了代码
(write-region "" nil custom-file)
进入新的emacs文件并希望通过C-x C-e执行它。但我得到的只是
Wrong type argument: stringp, nil
那我在这里做错了什么?我对emacs很新,并试图通过谷歌搜索找到解决方案,但没有成功。
答案 0 :(得分:2)
听起来custom-file
的值是nil
。它应该是一个字符串(命名文件)。
如果您将变量debug-on-error
设置为t
,那么您将获得一个回溯,该回溯将向您显示预期为字符串的哪个arg实际为nil
。
尝试在expand-file-name中包装您的(相对)文件名,如下所示:
(write-region "" nil (expand-file-name "new_file"))
现在它应该在当前default-directory
中创建文件。
执行C-x C-e
时,光标所在的位置也会有所不同。把它放在文档的末尾。