Emacsで日々コードと戦っている諸氏は、当然 GNU Global のタグファイルを作ってEmacsから便利に使っていることかと思います。まだの人は急げ http://d.hatena.ne.jp/aduka/20090308/1236493524
そのような諸氏におかれましては、下記のような emacs lisp を .emacs などに書いておくことで、現在編集しているプロジェクトのタグファイルをファイル保存時に自動で更新するようにできます。
.emacs.el
(defun my-c-mode-update-gtags ()
(let* ((file (buffer-file-name (current-buffer)))
(dir (directory-file-name (file-name-directory file))))
(when (executable-find "global")
(start-process "gtags-update" nil
"global" "-uv"))))
(add-hook 'after-save-hook
'my-c-mode-update-gtags)
中身の説明
global -uv
を実行すると、カレントディレクトリからルートにさかのぼって GTAGS などのタグファイルを検索し、見つかったらタグファイルを更新してくれます。このコマンドを、ファイル保存のフックから起動しているだけです。