8 date 92.05.12.22.23.34; author jromine; state Exp;
13 date 90.04.05.15.13.03; author sources; state Exp;
18 date 90.03.22.11.31.17; author sources; state Exp;
23 date 90.03.20.19.41.55; author sources; state Exp;
28 date 90.03.20.17.36.11; author sources; state Exp;
33 date 90.03.20.17.20.55; author sources; state Exp;
44 @fixup for nroff problems
48 .\" @@(#)$Id: mh-hack.rf,v 1.5 1990/04/05 15:13:03 sources Exp jromine $
51 mh-hack \- how to hack MH
55 This is a description of how one can modify the \fIMH\fR system.
56 The \fIMH\fR distribution has a lot of complex inter\-relations,
57 so before you go modifying any code, you should read this and
58 understand what is going on.
62 \fBADDING A NEW PROGRAM\fR
64 Suppose you want to create a new \fIMH\fR command called
66 First, create and edit \*(lqpickle.c\*(rq in the \fBuip/\fR directory.
67 Next edit \fBconf/makefiles/uip\fR to include \*(lqpickle\*(rq.
68 This file has directions at the end of it which explain how it should
70 Next, update any documentation (described below).
71 At this point you can re\-configure \fIMH\fR.
72 See \fImh\-gen(8)\fR for instructions on how to do this
73 (basically, you want \*(lqmhconfig MH\*(rq).
76 \fBADDING A NEW SUBROUTINE\fR
78 Suppose you want to create a new \fIMH\fR routine called
80 First, create and edit \*(lqpickle.c\*(rq in the \fBsbr/\fR directory.
81 Next edit \fBconf/makefiles/sbr\fR to include \*(lqpickle\*(rq.
82 This file has directions at the end of it which explain how it should
84 You should modify \fBconfig/mh.h\fR to define \*(lqpickle ();\*(rq.
85 Similarly, \fBsbr/llib\-lsbr\fR should be modified for \fIlint\fR.
86 At this point you can re\-configure \fIMH\fR.
89 \fBUPDATING DOCUMENTATION\fR
91 Edit whatever files you want in \fBconf/doc/\fR.
92 When documenting a new program, such as \*(lqpickle\*(rq,
93 you should create a manual page with the name \*(lqpickle.rf\*(rq.
94 The file \fBconf/doc/template\fR has a manual page template that you
96 If you are documenting a new program, then you should also update three
98 The file \fBconf/doc/mh.rf\fR should be modified to include the
99 \*(lq\&.NA\*(rq section from \*(lqpickle.rf\*(rq.
100 The file \fBconf/doc/mh\-chart.rf\fR should be modified to include
101 the \*(lq\&.SY\*(rq section from \*(lqpickle.rf\*(rq.
102 Finally, the file \fBconf/doc/MH.rf\fR should be modified to include a
103 \*(lq\&.so pickle.me\*(rq.
104 Naturally, none of these changes will be reflected in the configuration
105 until you actually run \fImhconfig\fR.
108 Too numerous to mention. Honest.
112 Hacking is an art, but most programmers are butchers, not artists.
128 mh\-hack \- how to hack MH
134 @put things back, do .NA stuff another way
148 .TH MH\-HACK 8 @@(MHCENTERFOOT) @@(MHLEFTFOOT)
158 @fixup for makewhatis
163 .TH MH\-HACK 8 [mh.6] MH