続 imenu の件 解決編第1部

おーざーっす。
昨夜はさすがにきつくて,
風邪薬とかキューピーちゃんとかマルチビタミンとか飲んで
冷えピタ張って寝たら,
久しぶりにぐっすり寝られました。おかげさまで,気分はよくなりました。
が,風邪の時に出る痰がでまくる。なので,もっかい風邪薬飲んでおいた。

帰ってこい谷沢

こりずに,どれ,imenu の件をさぐってみるかとやりはじめて10分。
解決してもうたがな。

ググって色々探したのですが,結局公式のページからリンクされている,
A Gentle introduction to Cedet
http://alexott.net/en/writings/emacs-devenv/EmacsCedet.html
に書いてあったことを試しただけ。
てーかーよー,この文書,以前によんだはずなんだが。。。
まるで成長していない。誰か谷沢に基礎を教える人はいるのか?
帰ってこい谷沢。

当日記はスラムダンクを応援しています。
当日記は喧嘩商売を応援しています。
当日記はトリコを応援しています。
そろそろ漫喫行くかな。未読の単行本もたまっているでしょう。

何をしたか?

まず,上記リンク先の文書から引用します。

Integration with imenu

The Semantic package can be integrated with the imenu package. 
This enables the display of a menu with a list of functions, variables, and other tags. 
To enable this feature you can either use semantic-load-enable-code-helpers, or, 
you need to add following code into your initialization file:

(defun my-semantic-hook ()
  (imenu-add-to-menubar "TAGS"))
(add-hook 'semantic-init-hooks 'my-semantic-hook)

適当に訳します。

Semantic パッケージは imenu パッケージと合体させることができるさー。
そすると,関数,変数,その他のタグのリストを,メニューで表示させることが出来るさー。
この機能を有効にするためには,semantic-load-enable-code-helpers を使うか,
下記のコードをあんたの初期化用ファイルに追加する必要があるさー。

(defun my-semantic-hook ()
  (imenu-add-to-menubar "TAGS"))
(add-hook 'semantic-init-hooks 'my-semantic-hook)


ワタシがやったのは,M-x semantic-load-enable-code-helpers の方。
ほいで,M-x imenu したら,あらあら。
なんじゃこりゃー!!
できてもうたがな。


もひとつ使い方がわからんが,しばらくこれでいってみる。

ヘルプ見てみた。

semantic-load-enable-code-helpers 関数をヘルプで見てみます。

semantic-load-enable-code-helpers is an interactive compiled Lisp function in `semantic-load.el'.
(semantic-load-enable-code-helpers)

Enable some semantic features that provide basic coding assistance.
This includes `semantic-load-enable-minimum-features' plus:
  `imenu' - Lists Semantic generated tags in the menubar. <== はい。ここに注目!!
  `semantic-idle-summary-mode' - Show a summary for the tag indicated by
                                 code under point.  (intellisense)
  `senator-minor-mode' - Semantic Navigator, and global menu for all
                         features Semantic.
  `semantic-mru-bookmark-mode' - Provides a `switch-to-buffer' like
                       keybinding for tag names.

ふむ。もろに書いてある感じ?
ちゅうわけで,.emacs に以下を追加してみます。
よくわからんが,色々 require してみました。

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; Semantic
(when (and (require 'semantic)
           (require 'semantic-ia)
           (require 'semantic-imenu)
           (require 'semantic-load))
  (semantic-load-enable-code-helpers))

というか,cedet 入れておいて,よくいままで何も書いてなかったよなぁ。
まるで成長していない。帰ってこい谷沢。
もうええっちゅうねん。
semanticdb やらなんやらで,若干タイムラグが発生する?
つまり,一発目に M-x imenu してもdbからの読み込み?が完了してなければ,
怒られるね。
てか,semanticdb の設定も調べてやる必要がありそうだ。
でも,完全解決に向かって今,一歩を踏み出した感じがするのでよしとしよう。