好吧,标题已经包含了一切;)。当然,我可以创建一个新的缓冲区,将insert-file-contents
放入其中,然后将其放入一个变量中,终止缓冲区并返回该变量——但这似乎有点过头了。有没有更好的办法?
NB。我的用例是smtpmail-auth-credentials
的.emacs
声明-我在一些文件中有我的密码,并且不想再把它放在.emacs
中。
我相信没有一种简单的方法可以在不涉及缓冲区的情况下做你想做的事情。我将使用这样的临时缓冲区:
(defun file-contents (filename)
(interactive "fFind file: ")
(with-temp-buffer
(insert-file-contents filename)
(buffer-substring-no-properties (point-min) (point-max))))
虽然你可能想使用insert-file-contents-literally
,如果你不想格式解码,自动解压缩等