emacs shell mode の history の数

どうも保存されるhistoryの数が少なすぎるように思った.comint.el を見ると,comint-input-ring-size というので指定されていて,既定値は32になっている.これは少ない.ということで,comint-mode-hook に
(setq comint-input-ring-size 512)
と書いてみたのだけれど,動作は変わらない.トップレベルで
(setq comint-input-ring-size 512)
と書くと,期待した動作になる..... なぜだろう?