続々くらい? dabbrev-ignored-buffer-regexps

昨日? 書いた件ですが,foo.el<2> とかのバッファ名に対応するように,追加しました。
簡単な動作確認もしました。
でも,これ,ずーっと続けるのしんどいね。


dabbrev.el に手を入れて,何かの変数がセットされていたら,
そのバッファだけを対象にするようにする。っちゅうような
変更を加えた方がいい気がするなぁ。
誰かやってくれないかなぁ。もしくは,誰か既にやっているとか。
もしくは,他の方法がある?


ちなみに,下の方法は,`<>' 内に入る数字は1文字と仮定しています。
間違っているとかの突っ込み大歓迎です。

(defun emacs-lisp-mode-hook-func ()
  (interactive)
  (setq imenu-create-index-function 'imenu-default-create-index-function)
  (local-set-key "\M-I" 'imenu)
  (make-local-variable 'indent-tabs-mode)
  (setq indent-tabs-mode nil)  
  (make-local-variable 'dabbrev-ignored-buffer-regexps)
  (setq dabbrev-ignored-buffer-regexps '("^[^.]\\{1,\\}$"
                                         "\\.\\(e[^l]\\|[^e].\\)$"
                                         "\\..\\{1\\}$"
                                         "\\.\\(e\\(l\\(<\\([:digit:][^>]\\|[^[:digit:]].\\)\\|[^<].\\{2\\}\\)\\|[^l].\\{3\\}\\)\\|[^e].\\{4\\}\\)$"
                                         "\\..\\{3,4\\}$"
                                         "\\..\\{6,\\}$"))
  (when (require 'auto-complete nil t)
    (make-local-variable 'ac-sources)
    (setq ac-auto-start 3)
    (setq ac-sources '(ac-source-words-in-buffer
                       ac-source-gtags
                       ac-source-dabbrev
                       ac-source-abbrev))))

(add-hook 'emacs-lisp-mode-hook 'emacs-lisp-mode-hook-func)