何かひとつをちゃんと知るということは、やっぱり大変なことだなぁと再認識した。
* Emacsのパッケージング事情
** ヘッダ等の慣習
*** Conventional Headers for Emacs Libraries
- http://www.gnu.org/software/emacs/manual/html_node/elisp/Library-Headers.html#Library-Headers
- GNU Emacs Lisp Referenceの一部。
- Elispファイルを書くときの慣習。
- ライブラリのメタデータ(著者等)をコメントとして
記述するための慣習。
- ライブラリの中身をコメントで構造化するための慣習。
- 例:メタデータ
;;; lisp-mnt.el --- minor mode for Emacs Lisp maintainers
;; Copyright (C) 1992 Free Software Foundation, Inc.
;; Author: Eric S. Raymond <esr@snark.thyrsus.com>
;; Maintainer: Eric S. Raymond <esr@snark.thyrsus.com>
;; Created: 14 Jul 1992
;; Version: 1.2
;; Keywords: docs
;; This file is part of GNU Emacs.
...
;; along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
ここに本体コード。
;;; filename --- description
- 例:構造化コメント
;;; Commentary:
;;; Documentation:
;;; Change Log:
;;; Code:
;;; filename ends here
*** Elisp Area Conventions
- http://www.emacswiki.org/cgi-bin/wiki/ElispAreaConventions
- EmacsWikiのElisp Areaに置くelispのかきぶりの慣
習の説明。
- GNU Emacs Lispの慣習をベースにして、詳細化や拡
張を実施している。
** ヘッダツール
*** Automatic File Headers
- http://www.emacswiki.org/emacs/AutomaticFileHeaders
**** auto insert mode
- ユーザが定義したテンプレートにしたがって、ファイ
ル作成時にヘッダを自動的に挿入する。
auto-insert-alistでファイル名パターンとテンレプー
トを紐付ける。
**** header2.el
- Elisp Area Conventionsに対応したヘッダを自動挿入
や自動更新するelisp。
- そのライブラリが必要とするfeaturesを記述する欄を
設けている。(これは他のConventionsでは定義されて
いない)
- ;; Features that might be required by this library:
**** lib-requires.el
- ライブラリの依存情報を調査して、木構造をつくる
elisp。
**** elisp-depend.el
- elispファイルをparseして、そのelispで依存してい
るライブラリを探索し、それぞれについて、それが
providedならば、require式を出力し、そうでなけれ
ばautoload式を出力する。
**** checkdoc
- http://www.emacswiki.org/emacs/CheckDoc
- elispファイルのヘッダをチェックする。GNU慣習と
EmacsArea慣習の双方に対応している。
** パッケージ管理機構
*** Emacs Lisp List
- http://www.damtp.cam.ac.uk/user/sje30/emacs/ell.html
- http://www.damtp.cam.ac.uk/user/sje30/emacs/ell.xml
- http://www.damtp.cam.ac.uk/user/sje30/emacs/ell.el
- パッケージ一覧ファイル(ell.xml)とそれを参照する
ローダ(ell.el)を提供。
- ell.elではavltreeをつかってパッケージのキャッシュ
を作成し管理している。興味深い。
*** Auto Install
- http://www.emacswiki.org/emacs/AutoInstall
- フルセットのパッケージ管理が可能。
- パッケージの取得先はEmacsWiki他、いくつか指定可
能。
- パッケージの依存関係の管理などがどうなっている
のかは要調査。
*** ELPA
- http://tromey.com/elpa/
- パッケージアーカイブとそれを参照するローダを提
供。
- Web上の説明が簡素なため、理解するためには使って
みる必要がありそう。
- パッケージアーカイブの仕様を調べてみたい。
*** Install Lisp
- http://www.emacswiki.org/emacs/InstallElisp
- Auto Installの前身と考えてよさそう。
*** XEmacs package system
- http://www.xemacs.org/Documentation/packageGuide.html
- XEmacsはパッケージ管理機構を組み込みでもってい
る。専用のパッケージアーカイブも存在する。
- debian-emacs-policyとはどういう関係になるのだろ
う。
- 詳細は要調査。
こつこつ。
0 件のコメント:
コメントを投稿