2016-12-20 6 views
0

私の機能を記述します。この関数では、いくつかのデータをバッファに挿入し、このバッファをファイルに書き込みます。ここに私のコードスニペット:Elispがファイルへの書き込みバッファを書き込むときに "コーディングシステムを選択"を抑制します。

  (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プロンプトを書くたびに:

はコーディングシステム(デフォルト生テキスト)私はコーディングを設定するにはどうすればよい

を選択私の機能を実行するたびに私にプロンプ​​トを出さないようにシステム(例えばutf-8)おかげさまで

+1

'save-buffer-coding-system'と' buffer-file-coding-system'とは何ですか? – sds

答えて

0

ではなく、coding-system-for-writeまたはbuffer-file-coding-system と設定する必要があります。

PS。一般的に言えば、 コードで可能な最低レベルの機能を使用する必要があります(たとえば、next-lineのヘルプでは、代わりにコードに forward-lineを使用することをおすすめします)。

あなたの場合、代わりにbasic-save-buffer、または write-regionを使用することもできます。

PPS。おそらくset-bufferの代わりにwith-current-bufferを使用してください。

+0

"コーディングシステムのための書き込み" - それは仕事です。ありがとう。 Qustion:ある機能が他の機能よりも最低レベルであることをどのように理解できますか? – Alexei

+0

'C-h f'はあなたに' * Help * 'バッファを与えます;ドキュメントを読んでから、ソースファイル名をクリックし、 'defun'を見てください。それは最初は威圧的かもしれませんが、あなたが学ぶにつれ、それはますます有益なものになります。 – sds

関連する問題