Elisp 在将缓冲区写入文件时抑制 "Select coding system"
Elisp suppress "Select coding system" when write buffer to file
我写我的函数。在此函数中,我将一些数据插入缓冲区,然后将此缓冲区写入文件。这是我的代码片段:
(set-buffer my-buffer-name)
(set-language-environment "UTF-8")
(setq make-backup-files nil)
(write-file (expand-file-name my-file-name my-current-dir))
(kill-buffer)
但是每次尝试写入文件时,elisp提示:
Select 编码系统(默认原始文本)
如何设置编码系统(例如 utf-8)在 运行 我的函数时不每次都提示我?
谢谢
您应该设置 coding-system-for-write
,或 buffer-file-coding-system
而不是使用 set-language-environment
.
PS。一般来说,你应该使用尽可能低级的功能
您的代码(例如,next-line
的帮助明确建议使用
forward-line
在代码中代替)。
在你的情况下,你可能想使用 basic-save-buffer
甚至
write-region
相反。
PPS。您可能应该使用 with-current-buffer
而不是 set-buffer
。
我写我的函数。在此函数中,我将一些数据插入缓冲区,然后将此缓冲区写入文件。这是我的代码片段:
(set-buffer my-buffer-name)
(set-language-environment "UTF-8")
(setq make-backup-files nil)
(write-file (expand-file-name my-file-name my-current-dir))
(kill-buffer)
但是每次尝试写入文件时,elisp提示:
Select 编码系统(默认原始文本)
如何设置编码系统(例如 utf-8)在 运行 我的函数时不每次都提示我? 谢谢
您应该设置 coding-system-for-write
,或 buffer-file-coding-system
而不是使用 set-language-environment
.
PS。一般来说,你应该使用尽可能低级的功能
您的代码(例如,next-line
的帮助明确建议使用
forward-line
在代码中代替)。
在你的情况下,你可能想使用 basic-save-buffer
甚至
write-region
相反。
PPS。您可能应该使用 with-current-buffer
而不是 set-buffer
。