whitespace.elのlines-tailを使いたいのだけれど、モード毎に文字数は変えたい。
けれども以下のようにしても上手くいかないんですが、何故でしょうか?

(defun set-whitespace-line-column (mode column)
(let ((hook (intern (concat (symbol-name mode) "-hook"))))
(add-hook hook
(lambda ()
(setq whitespace-line-column column)))))

(let ((lis '((emacs-lisp-mode 100) (lisp-mode 150)))) ; デフォルトではfill-columnのままがいい
(mapcar (lambda (x) (apply set-whitespace-line-column x))
lis))

; (c-mode nil) とかするとc-modeでは無効とかなったりすると嬉しいけどやり方がわからない。。。