web-dev-qa-db-ja.com

Aquamacsは私のcustom-set-facesオプションを上書きします

MacにAquamacsをインストールしました。

自宅に.emacsファイルがあり、すべてのカスタマイズが含まれています。これらの中で、私は持っています:

(custom-set-faces
 '(default ((t (:stipple nil :background "black" :foreground "grey70" :inverse-video nil :box nil :strike-through nil :overline nil :underline nil :slant normal :weight normal :height 140 :width normal :foundry "Apple" :family "Monaco"))))
 '(font-lock-builtin-face ((t (:foreground "grey50"))))
 '(font-lock-comment-face ((t (:foreground "darkgreen"))))
 '(font-lock-constant-face ((t (:foreground "grey50"))))
 '(font-lock-doc-face ((t (:foreground "grey50"))))
 '(font-lock-doc-string-face ((t (:foreground "yellow2"))))
 '(font-lock-function-name-face ((t (:foreground "SteelBlue"))))
 '(font-lock-keyword-face ((t (:foreground "red"))))
 '(font-lock-preprocessor-face ((t (:foreground "SteelBlue"))))
 '(font-lock-reference-face ((t (:foreground "LightSkyBlue"))))
 '(font-lock-string-face ((t (:foreground "yellow2"))))
 '(font-lock-type-face ((t (:foreground "Violet"))))
 '(font-lock-variable-name-face ((t (:foreground "orange"))))
 '(font-lock-warning-face ((t (:foreground "grey50"))))
 '(isearch ((t (:background "yellow4" :foreground "black"))))
 '(mode-line ((t (:background "grey90" :foreground "black"))))
 '(text-mode-default ((t nil)))
 '(zmacs-region ((t (:background "grey70" :foreground "black")))))

このブロックは自動的に適用されないようです。

.emacsから行を選択して手動で評価すると、すべて正常に機能します。私の推測では、これらのオプションは他の場所で上書きされています。

どうすればこれをデバッグできますか?カスタムフェイスはどこに設定すればよいですか?

更新:

this によると、プリファレンスは次の順序でロードする必要があります。

 ~/.emacs  (deprecated -- meaning 'should not be used
 for new installations, but will continue to be supported' -- in Aquamacs on OS X)
 customizations saved by request or automatically by Aquamacs in customizations.el
 /Library/Preferences/Emacs/Preferences.el
 /Library/Preferences/Aquamacs Emacs/Preferences.el
 ~/Library/Preferences/Emacs/Preferences.el
 ~/Library/Preferences/Aquamacs Emacs/Preferences.el

ぼくの ~/Library/Preferences/Aquamacs Emacs/Preferences.elは次のようになります(デフォルト):

 (load "~/.emacs")

だから、これは私には本当に意味がありません...

5
Roberto Aloi

大丈夫。これが私が最後にしたことです。主に、次のようにして、Aquamacsのカスタマイズに顔を「インポート」しました。

  • いつものようにAquamacsを始めました
  • 顔が.emacsで定義されていても、Aquamacsでは無視されます
  • バッファリングされた.emacsを開きました
  • 顔の部分を手動で選択して評価
  • オプション->外観->自動面->自動面(有効)
  • オプション->外観->自動顔->いくつかのモードの顔を適用->テキスト
  • オプション->外観->自動面->面とフレームのパラメータを面のデフォルトとして採用
  • オプション->オプションの保存
  • .emacsから顔を削除します

Aquamacsの再起動後はすべて正常に動作します。うめき声。

ここの誰かに感謝します。

3
Roberto Aloi

ポイントの色を設定するのと同じ問題がありました。次に、customizations.elファイルを見つけ、そこにあるポイントの色を設定する線を変更すると、すべてが正常に機能しました。あなたのファイルが同じ場所にあるかどうかはわかりませんが、私のものはここで見つかりました:

/ Users/viviannevilar/Library/Preferences/Aquamacs Emacs/customizations.el

3
Vivi

ニックはソフトウェアを嫌う:Aquamacs "Emacs" で、ニックはcustom-set-facesがEmacsで機能するが、Aquamacsでは機能しないことを発見しました。

Nickが行ったように、LISPインタラクションウィンドウでcustom-set-facesコードを試して、彼の^ J問題(これはLISPの専門知識のレベルを超えています)に注意することもできます。

フォント名を使用している場合は、emacs -fn fontnameを使用して、Aquamacsがフォント名を理解していることを確認できます。エラーが発生した場合、custom-set-facesは失敗し、Emacsはそれ以外の場合に使用していたフォントを使用し続けます。

2
harrymc

完全なEmacs起動シーケンスは Emacs LISPマニュアルの起動概要セクション に記載されています。このマニュアルでは、Aquamacs固有の拡張機能については説明していません。

コメントで、term-setup-hook' still doesn't work. So what overrides them is either inwindow-setup-hook 'から、またはAquamacs固有のステップでカスタマイズを行うと述べています。

Aquamacsには、標準のEmacsメカニズムを介して行われたカスタマイズを上書きする可能性のある顔の特定のカスタマイズがあります。 (aquamacs-autoface-mode 0).emacsを含めるか、メニューの[オプション/外観/自動面/自動面]を使用して、 オフ にすることができます。

Emacs wikiには、 Aquamacsを他のEmacsenのように動作させる に関する情報があります。

.emacsファイルとトラブルシューティングについては、こちらをご覧ください emacswiki.orgの記事

競合の可能性については、この記事 Initファイル、〜/ .emacs も参照してください。

From なぜこの[ターミナルまたはウィンドウシステムのセットアップ]コードは私の `.emacs 'ファイルで機能しないのですが、Emacsの起動後は問題なく機能します

起動時に、Emacsは指定されたコード/ファイルの順序に従って自身を初期化します。 `.emacs 'ファイルで実行されたコードの一部を、ターミナルまたはウィンドウシステムの初期セットアップコードが実行されるまで延期する必要があるが、実行されない場合、この問題が発生します(このコード/ファイルの実行順序は強制されません)起動後)。

Emacs LISPコードの実行をターミナルまたはウィンドウシステムのセットアップが完了するまで延期するには、コードをラムダリストとして扱い、term-setup-hookまたはwindow-setup-hook変数のいずれかの値をこのラムダ関数に設定します。例えば、

(add-hook 'term-setup-hook
          (lambda ()
           (when (string-match "\\`vt220" (or (getenv "TERM") ""))
             ;; Make vt220's "Do" key behave like M-x:
             (global-set-key [do] 'execute-extended-command))))
1
harrymc