C-. でバッファ切り替えしたいのに etags がでしゃばってきて困る

隣接するバッファに瞬時に移動する - gan2 の Ruby 勉強日記にある
C-.でバッファ切り替えがruby-modeのときに動作しなくて困っている。
C-.を入力すると、ミニバッファに以下のメッセージが表示される。

No tags table loaded; try M-x visit-tags-table

make-command-summaryを使って調べてみたら、
C-.がcomplete-tagにバインドされていることが分かった。
他のモードを使っているときは大丈夫なので、
ruby-modeを使っているときだけ、
etagsの設定が優先されるようになっている?みたい。
これをどうにかして解除したいのだけど、その方法が分からない・・・(´・ω・`)


しょうがないので、1つ思いついた別の方法を試してみた。
ruby-modeのときにC-.をフックするというものだ。
でもetagsの設定の方が優先されちゃうみたいでうまくいかなかった。
そもそもetagsのためにわざわざフックするのはおかしい気がする。
やっぱりetagsの設定を解除するようにしたいよー。

追記

http://www.pqrs.org/~tekezo/emacs/doc/keyjack-mode/index.html
で紹介されている方法で無事解決することができました。
この情報はコメントから教えて頂きました。
どうもありがとうございますm(_ _)m
具体的には、隣接するバッファに瞬時に移動する - gan2 の Ruby 勉強日記
のコードのすぐ下に以下のコードを付け足すことで解決しました。

;;; あらゆるモードで有効なキーバインドの設定
;; http://www.pqrs.org/~tekezo/emacs/doc/keyjack-mode/index.html
;; C-.がetagsなどに邪魔されずにいつでも使えるようにする
(setq my-keyjack-mode-map (make-sparse-keymap))

(mapcar (lambda (x)
          (define-key my-keyjack-mode-map (car x) (cdr x))
          (global-set-key (car x) (cdr x)))
        '(([?\C-,] . (lambda () (interactive) (my-operate-buffer 1)))
	  ([?\C-.] . (lambda () (interactive) (my-operate-buffer 2)))
          ))

(easy-mmode-define-minor-mode my-keyjack-mode "Grab keys"
                              t " Keyjack" my-keyjack-mode-map)

今回はとりあえずC-.とC-,の設定だけしましたが、
global-set-keyで設定しているキーバインドは、
全部この方法でまとめてしまうのがよさそうです。
僕もその内やろうと思っています。
あー、意図した通りにキーバインドが使えるっていいなぁ(´ ▽`)