Emacsは常に起動時にカラーテーマを信頼するように求めます


10

私のEmacsは、選択したカラーテーマを信頼するべきかどうかを常に尋ねてきます。私はいつも答えるyy信頼し、私の選択を覚えています。色のテーマを手動でロードしています:

(load-theme 'my-favourite-theme)

これは、簡単なカスタマイズがカラーテーマの読み込みの下に配置されているためだと思います。それを修正する方法はありますか?または、簡単にカスタマイズできるように、カラーテーマの読み込みを委任する必要がありますか?


2
load-themeオプションの引数があります。 (load-theme THEME &optional NO-CONFIRM NO-ENABLE)- initファイルで直接使用する場合は、nil以外のNO-CONFIRM引数を指定して呼び出す必要があります。。。 言い換えれば、使用: (load-theme 'my-favourite-theme t)
lawlist

1
私は必要な(load-theme 'name t nil)だけか(load-theme 'name t)
Geradlus_RU 2015年

2
されているオプションの引数nil以降のオプションの引数が非である場合にのみ含まれる必要がありますnil。あなたがすべき最初のオプション引数たい場合たとえば、nilあること、およびオプションの2番目の引数をt、その後、nil最初の引数のために必要とされるであろう。2番目のオプションの引数はnil-省略または含めることができるため-違いはありません。特定の関数で可能なオプション引数の数を知るためにnil、後続の非nilオプション引数がないときにオプション引数に使用する場合があります。つまり、視覚的なリマインダです。
弁護士、2015年

@lawlistが示唆しているのは回避策であり、解決策ではありません。他の問題を引き起こす可能性があるため、この問題が発生する理由を理解することをお勧めします。実際、私はこの問題を何度も見てきたので、その理由を知りたいと思っています。
マラバルバ2015年

@Geradlus_RU NO-CONFIRM引数をに指定していない場合t、テーマパッケージが更新されるたびに(.elチェックサムが変更されるため)、emacsはその質問を繰り返し表示します。それは事実ですか?emacsを起動するたびにこれらのプロンプトが表示される場合(テーマ.elが更新されていない場合でも)、テーマのチェックサムがemacsによって保存され、起動時にemacsによっても読み取られることを確認してください。考えられるシナリオの1つは、custom.elを別のファイルとして保存した(emacsは安全なテーマをそれらに記憶している)が、そのファイルをinitにロードしていない場合です。
Kaushal Modi 2015

回答:


10

あなたのinit.elファイルは、おそらくこのようなスニペットが含まれています。

(custom-set-variables
 ;; custom-set-variables was added by Custom.
 ;; If you edit it by hand, you could mess it up, so be careful.
 ;; Your init file should contain only one such instance.
 ;; If there is more than one, they won't work right.
 ...)

他の多くのものの中で、このスニペットはcustom-safe-themes変数の保存と復元を担当します。したがって、これがinitファイルの最後にある場合(通常そうです)、おそらく(load-theme ...)その上に行を追加します。これは、Emacsが起動時に安全なテーマを認識しない理由を説明しています。

そのスニペットをinitファイルの先頭に移動するだけで、問題が解決するはずです。


4

私はmoe-themを使用しています

(require 'moe-theme)
(moe-dark)

error / warning / promptなしでテーマをロードしますがM-x load-themeEmacs内にいると、「テーマを安全に扱う」のようなプロンプトが表示され、その解決策が見つかりました:

(setq custom-safe-themes t)

これで問題が解決するかどうかはわかりませんが、試してみることができます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.