1

新しいWindowsラップトップを手に入れ、emacs23をインストールしました。

私の以前のコンピューターは、どのくらいの期間かわからないため、emacs 22 を使用していました。

私は、さまざまなサイド elisp ライブラリをロードする長い emacs.el を持っています。emacs 22で、すべてをセットアップしました。

この emacs.el を他のすべての elisp モジュールと一緒に新しい PC に持ち込みました。emacs を開始しました。すべて問題ないようです。1つだけ奇妙な問題があります。

emacs.el の上部近くで、次のようにします。

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; basic, default colors

(set-face-foreground 'default "white")
(set-face-background 'default "black")

これにより、背景が黒になり、前景が白 (黒地に白) になります。これは、Windows に emacs をデフォルトでインストールした場合とは逆です。

emacs.el の残りの部分がロードされている間、これらの色が有効になっていることがわかります。それは単なる空白のウィンドウであり、スクラッチ バッファも表示されません。ウィンドウの下部に、読み込みの進行状況を更新するメッセージが表示されるだけです。(なんらかの理由で読み込みがかなり遅くなります - コンパイルされていない .el ライブラリがいくつかあると思います - それについては個別に調査する必要があります)。それにしても黒い窓です。(emacs.el にこれらのステートメントがないと、ウィンドウは白のままです。) とにかく、すべてがロードされ、画面は黒地に白ではなく、白地に黒に戻ります。

奇妙な部分は、私が設定した他のすべてのフォントで、「固執」しているようです。cc モードのコメント フォント、文字列フォント、関数名などのフォントはすべて残ります。デフォルトのフォアグラウンドとバックグラウンドのフォントだけが「固着」しません。

おそらく、elisp モジュールのスタック内の何かがこれらのフォントをリセットしているのではないかと推測しました。そのため、emacs.el ファイルの最後にある (上記の) 2 つのステートメントを複製しました。それでも、フォントは元に戻されます。

すべてがロードされた後にスクラッチ バッファでこれらのステートメントを評価すると、フォントは期待どおりに表示されます (黒地に白)。

emacs23 がデフォルトのフォントを作成する方法に違いはありますか?
なぜ元に戻るのですか?
emacs.el から評価したときに、これらの設定を「固定」できないのはなぜですか?

皆様のご協力に感謝いたします。

4

1 に答える 1

2

それを見つけた。私はemacs.elにもこのコードを持っていました:

(setq default-frame-alist
  '((top . 10) (left . 860)
    (width . 100) (height . 28)
    (cursor-color . "Blue")
    (cursor-type . box)
    (foreground-color . "White")
    (background-color . "Black")
    (mouse-color . "sienna3")
    (font . "-*-Lucida Console-normal-r-*-*-11-82-96-96-c-*-iso8859-1")
    )
  )

…ということと矛盾していましたset-face-foreground

そこで foreground-color と background-color の行をコメントアウトすると、思い通りに起動しました。

于 2010-11-13T22:21:01.550 に答える