#navi_header|Emacs| メジャーモードのEmacsLispなどでは、Infoモードで閲覧可能なinfoファイルが添付されている場合があります。以下では、後からインストールしたEmacsLispのinfoファイルを"M-x info"から閲覧可能にする為の原理や手順をまとめてみました。 * 基本的な原理 M-x infoのinfoモードでは、Infoファイル(foo.info等)の存在するディレクトリのリストを次の順で生成します。 + Info-default-directory-list + "M-x info" 時に Info-directory-list 最初に 1. が読み込まれ、Infoモードの起動時にそれをもとにInfo-directory-listが構築されます。 では実際にM-x infoで表示される一連の「メニュー」はどこに記述されているのか。それは、Infoディレクトリリストに登録されているディレクトリ中の「dir」ファイルです。 例えば「/usr/share/info」ディレクトリが登録されていたとすると、「/usr/share/info/dir」ファイルに件のメニューがInfoモード特有のフォーマットで記述されています。 このフォーマットは次のように記述されます。 ^_ File: dir Node: Top This is the top of the INFO tree * Menu: Texinfo documentation system User Install Documents * Mew: (mew). Mail Client On Emacs. * Mew(Japanese): (mew.jis). Mail Clinet On Emacs(Japanese Ver). 最初の「^_」から「Texinfo ... system」までは、"M-x info" で表示するための「おまじない」と考えて下さい。 「User Install ...」からが、本論です。最初の「User...」の部分はカテゴリーとして認識される部分で、M-x info なら下線+太字表示されている部分です。 続いて「* Mew:」。ここで、いわゆる「Infoファイルへのリンク」が設定されます。 アスタリスク 半角空白 表題 コロン 半角空白 です。 次の「(mew)」が、「使用するInfoファイルの指定」です。末尾の".info"は省略可能なようです。 この例だと、実際は「mew.info」ファイルが参照されるようになっています。 半角括弧始まり Infoファイル名から.infoを省いたもの 半角括弧終わり ピリオド がフォーマットです。最後のピリオドを忘れないで下さい。 ファイル名の部分は、パス指定も可能です。 最後のフィールドは説明文になります。 以上のような内容のdirファイルを、Info-default-directory-listに登録されているディレクトリ中に配置します。最終的にそれらのdirファイルはマージされ、M-x infoで表示される形式に整えられます。 * 実際にInfoディレクトリを追加してみる.emacs.el設定 ;; Emacs and Other Info files (require 'info) (setq Info-default-directory-list (cons (expand-file-name "/home/foobar/external/info/") Info-default-directory-list)) 添付ファイルは、/home/foobar/external/info/dirファイルです。 同ディレクトリ中にDDDやMewのinfoファイルが存在するイメージです。 #navi_footer|Emacs|