【Emacs】モードローカルな変数の設定方法


Meadow 3 を使ってます。

http://www.bookshelf.jp/cgi-bin/goto.cgi?file=meadow&node=meadow%20time-stamp
を参考に、モードごとに自動タイムスタンプ挿入したいと思っています。

しかしながら、現状ではどのモードでもruby-mode用の設定が効いてしまいます。
モード毎にtime-stamp-start変数を設定するにはどうすれば良いのでしょうか?

.emacs ----------
;; global
(setq time-stamp-start "\$LAST_MODIFIED *= *['\"]")
(setq time-stamp-end "['\"]")
(setq tab-width 4) ; test用
(setq v "GLOBAL") ; test用

;; ruby-mode
(add-hook 'ruby-mode-hook
'(lambda ()
(setq time-stamp-start "::Version *= *['\"]")
(setq tab-width 20) ; test用
(setq v "local") ; test用
))
-----------------

ruby-modeバッファでdescribe-variable --------
time-stamp-start ... Its value is "::Version *= *['\"]"

tab-width ... Its value is 20
Local in buffer t.rb; global value is 4
Automatically becomes buffer-local when set in any fashion.

v's value is "local"
--------------------

*scratch*バッファでdescribe-variable ------------
time-stamp-start ... Its value is "::Version *= *['\"]"

tab-width ... Its value is 20

v's value is "local"
--------------------

tab-widthだけが正しい...

回答の条件
  • 1人2回まで
  • 登録:
  • 終了:2010/06/19 23:24:14
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

ベストアンサー

id:mulukhiyya No.1

回答回数14ベストアンサー獲得回数1

ポイント100pt

「make-local-variable」「バッファローカル(buffer-local)」がキーワードですね。

(set (make-local-variable '変数名) 値)

と書く流儀があるみたいです。(今調べたばかりですへっへっへ)

id:nannde

ありがとうございます!

ちょっとサッカー終わってから試してみます(^^;

完璧でした!!

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

2010/06/19 23:23:35

コメントはまだありません

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

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

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

回答リクエストを送信したユーザーはいません