1. Carbon EmacsでC-x 5 2で新規ウィンドウを開いた場合、何故か.emacsの設定がうまく読み込まれないのですが(特に色など)、何故か分かれば教えて下さい。


2. 更に.emacsでeval-bufferをした場合.emacsに(tool-bar-mode nil)と設定しているにも関わらず、メニューバーが表示されてしまいます。通常起動で.emacsを読み込んで起動した場合は表示されません。(tool-bar-mode nil)の行でC-eを実行するとまた消えるのですが。

上記2点ご回答お願いします。

回答の条件
  • 1人2回まで
  • 登録:2008/02/09 15:00:18
  • 終了:2008/02/09 20:56:41

ベストアンサー

id:i_kumagoro No.1

i_kumagoro回答回数170ベストアンサー獲得回数582008/02/09 18:34:58

ポイント100pt

1. color-themeは使っていませんが、コードをざっと見た限りでは、

(color-theme-dark-laptop) 実行時に変数 color-theme-is-global が nil でなければ (デフォルトでは t です) ならば希望通りの動作をするはずです。変数color-theme-is-globalの値を確認してみてください。

color-theme-is-global が nil でないとすれば、after-make-frame-functions 等が設定されていないか確認してください。

2.

(tool-bar-mode nil)

は、ツールバーの表示のon・offを切り替えますので正しく動作していると思います。意図する動作は

(tool-bar-mode -1)

ではないでしょうか。

id:tomoyuki28jp

素晴らしいご回答をどうもありがとうございます!

2点とも解決しました!!

すごすぎます。。


1は色設定をした後にframe-alistの設定をしていたのが原因のようで、

順序を入れ替えたら解決しました。

2は頂いた情報そのままで解決しました。

どうもありがとうございました m(_ _)m

今後とも宜しくお願いします。

2008/02/09 20:56:28
  • id:i_kumagoro
    ,emacsで、色などをどのように設定していますか?
  • id:tomoyuki28jp
    i_kumagoroさん

    コメントどうもありがとうございます!

    色の設定は下記の通りです。
    (autoload 'ansi-color-for-comint-mode-on "ansi-color"
    "Set `ansi-color-for-comint-mode' to t." t)
    (add-hook 'shell-mode-hook 'ansi-color-for-comint-mode-on)
    (require 'color-theme)
    (color-theme-initialize)
    (color-theme-dark-laptop)

    いま確認してみたところ、色の設定以外は全て正常に設定
    ファイルの内容が反映されているようです。
    色指定の仕方が良くないのでしょうか?
  • id:i_kumagoro
    default-frame-alistを上書きしていた場合は、最初のframeからcolor-themeの設定が反映されない筈なので回答では言及しなかったのですが、質問された時点で、最初のframeにはcolor-themeで設定した色は反映されていたのでしょうか?
    後学のために教えて頂ければと思います。
  • id:tomoyuki28jp
    i_kumagoroさん

    ウィンドウの設定は当方下記のようにしております。
    (if window-system (progn
    (setq initial-frame-alist '((width . 117) (height . 66) (top . 22) (left . -1)))
    (setq default-frame-alist (append (list '(alpha . (85 80)))))))

    上記のウィンドウ設定をcolor-themeの後に記述した場合は
    メインウィンドウのみ色設定が反映され、
    color-themeの前に移動しあところ新規ウィンドウにも反映
    されるようになりました。

    ご参考までに。
  • id:i_kumagoro
    ありがとうございます。color-theme.elをもう一度見直してやっと分かりました。(color-theme-dark-laptop)の時点で現在のフレームのパラメータと、default-frame-alistの値を変更するので、その後にdefault-frame-alistの値を変更すると確かに最初のフレームのみcolor-themeによる設定が反映されます。
    回避するにはtomoyuki28jpさんがされた様に順番を変えるか
    (setq default-frame-alist (append (list '(alpha . (85 80)))))

    (setq default-frame-alist (cons '(alpha . (85 80)) default-frame-alist))
    等のようにしてdefault-frame-alistの変更を、他の要素を保持しながら行うようにすればよさそうです。
  • id:tomoyuki28jp
    i_kumagoroさん

    コメントありがとうございます!

    i_kumagoroさん凄いですね。。
    自分もEmacsとEmacs Lispを勉強中なので、早くi_kumagoroさんのようにEmacs(Emacs Lisp)を使いこなせるようになりたいと思います。

    今後とも宜しくお願いします。

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません