次: , 前: Create Tags Table, 上: Tags


20.13.3 タグテーブルの選択

Emacsでは、いつでも1つの選択されたタグテーブルがあり、 タグテーブルを使って動作するコマンドは選択されたタグテーブルを使用します。 タグテーブルを選択するには、M-x visit-tags-tableと打ちます。 すると、タグテーブルファイル名を聞いてきます。 デフォルトのファイル名は、デフォルトディレクトリのTAGSです。

このコマンドは、ファイル名を変数tags-file-nameに格納するだけです。 タグテーブルを使おうとしない限り、 Emacsは実際にはタグテーブルの内容を読み込みません。 visit-tags-tableを使わずに、 自分自身でこの変数にファイル名を設定してもかまいません。 この変数の初期値はnilです。 これは、タグテーブルを使うすべてのコマンドに、 使用するタグテーブルファイルを尋ねさせることになります。

すでにタグテーブルを読み込んであるときにvisit-tags-tableを使うと、 2つの選択肢があります。 現在のタグテーブルリストに新たにタグテーブルを追加するか、 タグテーブルリストを新規に始めるかです。 タグコマンドは、現在のリストにあるすべてのタグテーブルを使用します。 新たなタグテーブルリストを始めると、他のタグテーブルのかわりに 新たなタグテーブルが使われます。 現在のリストに新たなタグテーブルを追加すると、 他のタグテーブルとともに新たなものも使われます。 タグコマンドがタグテーブルリストを走査するときには、 つねにリストの先頭から始めるわけではありません。 現在のファイルを記録しているタグテーブルがあれば、 まずそれから始めてリストの末尾まで進みます。 そして、リストの先頭からリストに含まれる すべてのタグテーブルを調べ終るまで走査を続けます。

変数tags-table-listに文字列のリストを設定すれば、 タグテーブルの正確なリストをあらかじめ指定できます。 たとえば、つぎのようにします。

     (setq tags-table-list
           '("~/emacs" "/usr/local/lib/emacs/src"))

この設定例では、タグコマンドは、 個人の~/emacsディレクトリと /usr/local/lib/emacs/srcディレクトリの (2つの)TAGSファイルを見にいきます。 上で述べたように、タグファイルを使う順番は、 対象としているファイルやそのファイルを記述しているタグテーブルに依存します。

tags-file-nametags-table-listの両方に 値を設定してはいけません。