view conf/doc/ja-mh-hack.rf @ 0:bce86c4163a3

Initial revision
author kono
date Mon, 18 Apr 2005 23:46:02 +0900
parents
children
line wrap: on
line source

.\"	@(MHWARNING)
.\"		written by MH-plus project
.SC MH-HACK 8
.NA
mh-hack \- MH をハックする方法
.SY
big hack attack
.DE
これは、\fIMH\fR システムをどのように変更できるかを書いたものです。
\fIMH\fR は非常に複雑な相互関係があるので、コードに手を加える前に、
これを読んで何がどうなるかを理解すべきでしょう。

.in +.5i
.ti -.5i
新しいプログラムの追加
.br
例えば、\*(lqpickle\*(rq という新しい \fIMH\fR command を作りたいとします。
まず最初に、\fBuip/\fR ディレクトリに \*(lqpickle.c\*(rq を作り、編集します。
次に、\fBconf/makefiles/uip\fR を \*(lqpickle\*(rq が含まれるように編集します。
どのように修正すれば良いかについて、このファイル内に指示があります。
次に、ドキュメントを更新します(詳細は下に)。
この時点で、 \fIMH\fR の再コンフィグが出来ます。
どのようにやるかの説明については、\fImh\-gen(8)\fR を参照して下さい
(基本的に、 \*(lqmhconfig MH\*(rq することになるでしょう)。

.ti -.5i
新しいサブルーチンの追加
.br
例えば、\*(lqpickle\*(rq という新しい \fIMH\fR ルーチンを作りたいとします。
まず最初に、\fBsbr/\fR ディレクトリに \*(lqpickle.c\*(rq を作り、編集します。
次に、 \fBconf/makefiles/sbr\fR が \*(lqpickle\*(rq を含むように編集します。
どのように修正すれば良いかについて、このファイル内に指示があります。
\*(lqpickle ();\*(rq の定義のために、\fBconfig/mh.h\fR を修正しなくては
なりません。また同様に \fIlint\fR のために、\fBsbr/llib\-lsbr\fR を修正
しなくてはなりません。
この時点で、 \fIMH\fR の再コンフィグが出来ます。

.ti -.5i
ドキュメントの更新
.br
\fBconf/doc/\fR の中の希望するファイルを編集して下さい。
新しいプログラムを文書化する時、例えば \*(lqpickle\*(rq であるとすると、
\*(lqpickle.rf\*(rq という名前でマニュアルページを作成しなくてはなりません。
\fBconf/doc/template\fR というファイルは、マニュアルページのテンプレートです。
新しいプログラムを文書化しているなら、他の三つのファイルも更新すべきです:
\fBconf/doc/mh.rf\fR というファイルが、\*(lqpickle.rf\*(rq から
\*(lq\&.NA\*(rq セクションを含むように修正すべきです。
\fBconf/doc/mh\-chart.rf\fR というファイルが、\*(lqpickle.rf\*(rq から
\*(lq\&.SY\*(rq セクションを含むように修正すべきです。
最後に、 \fBconf/doc/MH.rf\fR ファイルが、\*(lq\&.so pickle.me\*(rq を
含むように修正するべきです。

もちろん、実際に \fImhconfig\fR を走らせるまでは、コンフィグレーション中の
どのような変更も反映されません。
.in -.5i
.Fi
言及すべきことが多過ぎます。本当。
.Sa
mh\-gen(8)
.Bu
ハッキングはアートです。
でも多くのプログラマーはヘボで、アーチストではありません。
.En