http://blog.kiftwi.net/2011/12/13/emacs%E3%81%AEjs2-mode%E3%81%AE%E3%82%A4%E3%83%B3%E3%83%87%E3%83%B3%E3%83%88%E3%82%92%E6%AD%A3%E3%81%99/
これのインデントの関数の再設定を見て疑問に思ったのですが例えば
(add-hook 'text-mode-hook
(lambda ()
(setq indent-line-function (lambda () (insert "  ")))))
このように書くのと、
(add-hook 'text-mode-hook
(lambda ()
(set (make-local-variable 'indent-line-function) (lambda () (insert "  ")))))
と書くのでは、一つ目の方ではtext-mode-hook以外にも適用されてしまうと
理解しているのですが、これでいいでしょうか

それと、add-hook で他のモードに影響させないバッファローカルな関数を定義することは可能でしょうか
(add-hook 'input-method-activate-hook
(lambda() (set-cursor-color "yellow")))
この設定をelispモードのバッファにのみ適用させたいです