如何使用函数`write-region`?

时间:2016-10-21 14:26:15

标签: file emacs

根据这个问题和答案,我尝试制作一个新文件:How to create an empty file by elisp?

我复制了代码

(write-region "" nil custom-file)

进入新的emacs文件并希望通过C-x C-e执行它。但我得到的只是

 Wrong type argument: stringp, nil

那我在这里做错了什么?我对emacs很新,并试图通过谷歌搜索找到解决方案,但没有成功。

1 个答案:

答案 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时,光标所在的位置也会有所不同。把它放在文档的末尾。