1 #!/usr/local/plan9/bin/rc
14 preproc=($preproc grap)
16 preproc=($preproc pic)
23 preproc=($preproc eqn)
25 preproc=($preproc tbl)
29 {echo -n $FONTS; cat $2< /dev/null} | troff $Nflag -$MAN
31 {echo -n $FONTS; cat $2< /dev/null} | $preproc | troff $Nflag -$MAN
33 {echo -n $FONTS; cat $2< /dev/null} | $preproc(1) | $preproc(2) | troff $Nflag -$MAN
35 {echo -n $FONTS; cat $2< /dev/null} | $preproc(1) | $preproc(2) | $preproc(3) | | troff $Nflag -$MAN
37 {echo -n $FONTS; cat $2< /dev/null} | $preproc(1) | $preproc(2) | $preproc(3) | | $preproc(4) | troff $Nflag -$MAN
42 fn dotroff { roff t $1 }
43 fn doproof { roff t $1 | proof }
44 fn dopage { roff t $1 | tr2post | psfonts | page }
57 b=`{echo $1 | sed 's/\.[0-9].*//'}
61 roff t $1 | troff2html >/tmp/man.$pid.$seq.html
62 web /tmp/man.$pid.$seq.html
63 seq=`{echo 1+$seq | hoc}
68 # parse flags and sections
70 fn usage { echo 'Usage: man [-hnpPtw] [-s sec] [0-9] [0-9] ... [--] name1 name2 ...' >[1=2] }
85 case -t ; cmd=dotroff ; shift
86 case -n ; cmd=donroff ; shift
87 case -p ; cmd=doproof ; shift
88 case -P ; cmd=dopage ; shift
89 case -w ; cmd=doecho ; shift
90 case -h ; cmd=dohtml ; shift
92 case -* ; usage ; exit 1
97 sec=`{ls -pd $S/man[0-9]* | sed 's/man//'}
108 for(i in $S/man$sec){
109 if(test -f $i/INDEX){
110 try=`{grep $regexp $i/INDEX | sed 's/^[^ ]* //'}
112 files=($files $i/$try)
116 for(i in $S/man$sec){
117 if(test -f $i/$word.[0-9]*)
118 files=($files $i/$word.[0-9]*)
122 echo 'man: no manual page' $word >[1=2]
125 allfiles=($allfiles $files)
129 # complicated sort order: want 9p.3, 9p-cmdbuf.3, 9pclient.3
130 allfiles=`{ls $allfiles | sed 's/[.\-]/ &/g;s/\./ &/g' | sort -u | tr -d ' '}