Emacs では、一部の変数は、Mx カスタマイゼーションを介して設定した場合に特別な動作を持ち、同じ変数を を介して設定した場合にはトリガーされませんsetq
。ユーザーがカスタマイズによって変数を設定したかのように特別な動作がトリガーされるように、そのような変数を設定するプログラム的な方法はありますか?
また、プログラムで値をユーザーのカスタム ファイルに保存する機能はありますか? ユーザーが追加した要素を削除せずに、デフォルトの要素をリストに再度追加する機能を実装しようとしています。
Emacs では、一部の変数は、Mx カスタマイゼーションを介して設定した場合に特別な動作を持ち、同じ変数を を介して設定した場合にはトリガーされませんsetq
。ユーザーがカスタマイズによって変数を設定したかのように特別な動作がトリガーされるように、そのような変数を設定するプログラム的な方法はありますか?
また、プログラムで値をユーザーのカスタム ファイルに保存する機能はありますか? ユーザーが追加した要素を削除せずに、デフォルトの要素をリストに再度追加する機能を実装しようとしています。
customize-set-variable
あなたが望むものではありませんcustom-set-variables
(ここでは必要ありません)。
また、一般にdefcustom
、変数 (ユーザー オプション) を調べて、その:set
スロットが何をするかなどを確認することもお勧めします。必須ではありませんが、プログラムで値を設定する前に知っておくとよいでしょう。
質問に対するこの回答help-gnu-emacs@gnu.org
も役立つかもしれません:
http://lists.gnu.org/archive/html/help-gnu-emacs/2013-08/msg00544.html
アップデート:
後で質問を編集して、新しい値の保存についても尋ねました。そのためには、 を使用できますcustomize-save-variable
。新しい値を設定して保存します。