0707070000020031011006640001460001440000010167760356075024200000500000000003Size85 07070700000200306510066400014600014400000101674603560747176000006000000107551.cpr CCCCPPPPRRRR((((1111)))) UUUUNNNNIIIIXXXX 5555....0000 CCCCPPPPRRRR((((1111)))) NNNNAAAAMMMMEEEE cpr - C program lister SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS ccccpppprrrr [ options ] [ files ] DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN _C_p_r produces a listing of one or more C files, preceded by a table of contents. The standard input is read if no files are given, or if a dash (-) is encountered. The output is separated into pages with a header and footer. The table of contents header contains the directory name and date, and the program listing header contains the current file name and page number. The headers, footers, and function names are output in bold face; and comments in italics. Lines longer than the page width (minus the width of added line numbers, if any) are continued on the next line. These options may be given in any order: ----llll _n Take the length of the page to be _n lines instead of the default 66. ----eeee _t_a_b_w_i_d_t_h Set tab stops to every _t_a_b_w_i_d_t_h columns instead of the default of 8. ----wwww _n Take the width of the page to be _n columns instead of the default 132. ----iiii _f_i_l_e Read the list of C files from _f_i_l_e, or from _s_t_d_i_n if _f_i_l_e is a dash (-). ----mmmm _n When looking for functions ignore the first _n columns, with tabs expanded. This is useful when using _c_p_r for a file that had a margin included from a different program, such as _3_b_l_i_s_t(1) or _c_m_s_p_r(1). ----nnnn Print line numbers. ----oooo Print one function per page. ----ssss Sort the function list under each file in the table of contents. ----xxxx Output bold and italics control sequences suitable for _x_e_r_o_x(1). EEEEXXXXAAAAMMMMPPPPLLLLEEEESSSS PPPPaaaaggggeeee 1111 ((((pppprrrriiiinnnntttteeeedddd 11110000////22228888////88885555)))) CCCCPPPPRRRR((((1111)))) UUUUNNNNIIIIXXXX 5555....0000 CCCCPPPPRRRR((((1111)))) Local line printer output: cpr *.h *.c | lpr Ordinary output: cpr *.h *.c | opr With bold and italics: cpr -x -l 66 -w 132 *.h *.c | xerox -h 12 -v 5 -l 66 -s xerox | opr -r Letter orientation: cpr -x -l 72 -w 92 *.h *.c | xerox -h 10 -l 72 -s vint | opr -r Two-sided letter orientation: cpr -x -l 72 -w 92 *.h *.c | xerox -h 10 -l 72 -s vint -2 | opr -r -2 Using cpr on a _3_b_l_i_s_t(1) output file: cpr -m 8 -x -l 72 -w 92 file.bp | xerox -h 10 -l 72 -s vint -2 | opr -r -2 Using cpr on a _c_m_s_p_r(1) output file: cpr -m 16 -x -l 72 -w 92 file.bp | xerox -h 10 -l 72 -s vint -2 | opr -r -2 BBBBUUUUGGGGSSSS Unable to find function names that do not begin at the left margin, or have an argument list longer than one line. SSSSEEEEEEEE AAAALLLLSSSSOOOO _3_b_l_i_s_t(1), _c_m_s_p_r(1), _l_p_r(1), _o_p_r(1), and _x_e_r_o_x(1). AAAAUUUUTTTTHHHHOOOORRRRSSSS Paul Breslin, Human Computing Resources Corp. Lance E. Shepard, CCI & RIT Rick Wise, CALCULON Corp. Joe Steffen, AT&T Bell Labs Andrew J. Miller, AT&T Bell Labs Harold E. Bamford, AT&T Bell Labs PPPPRRRROOOOVVVVIIIIDDDDEEEERRRR Joe Steffen Page 2 (printed 10/28/85) 0707070000020031021006640001460001440000010167750356134746000000600000000141Files./Size ./1.cpr ./Files ./Install ./MAKEcpio ./MAKEflop ./Name ./Remove ./cpr ./cpr.1 ./lpr ./man 0707070000020031271007740001460001440000010170450356134737200001000000002052Installcat < to continue" message -i "Steffen's CPR installation is now complete.\nA manual page is available with the man(1) command or in Filecabinet/Man.cpr.\n\nTouch to continue." 0707070000020031041007740001460001440000010167740357352705200001100000000040MAKEcpiocat Files | cpio -ocBv > CPR+IN 0707070000020031121007740001460001440000010167730354115000500001100000000061MAKEflopcat Files | cpio -ocBv > /dev/rfp021 dismount -f 0707070000020002441006640001460001440000010033270357352676300000500000000053NameSteffens CPR for Unix PC - from THE STORE! 0707070000020031161006640001460001440000010170430356134742600000700000000220Removeecho "Removing Steffen's CPR for the Unix PC ..." rm -f /usr/bin/cpr message -i "Steffen's CPR has been removed.\n\nTouch to continue." 0707070000020030721007750001460001440000010167770356074707500000400000070604cprRa cF  .textcF .data h@.bss OQ./HJf/H# N,/Nc.0<N@NVB n # .NUn-@HnNNX @# ` ?g XgX eg\ ig lg mgd ng og sg wg xfp# `z y HH"| 1fN. N-@ l n ./< //< ,N&Pp-@. N\-@B`"y -R .찮m .S-@ .찮l"y T .Ѯ`-y ` y HH"| 1fN. N# ` y HH"| 1fN. N# `T y HH"| 1fNb. N# `"p# `p# `p# `N,. /. /.NP-@rf 9 W# 9 |.N @# . VN[ @# . i/NUX @# f$. /< k/< ,N&Pp.Nc..p/NRX @g$.Fp/NRX.Fp/NRXJg. /.NQXJf -| `D. /.NUX @-Hf*./9 /< /< ,N& p.Nc.A# `N. /< /.N)Prg.NW2` 9 2fr#  #  Nt`d. "n /1NQXJf#  #  N<` 9 2"n # NXR 2 9 2mN  gN"NN^NuNV. /< ,N&Xp.Nc.N^NuNV. 4/9 NUX @# f(. /9 /< 6/< ,N& N^NuN~. NW2  gJ f p.p/NaXr # Hn y ( HH/N_P . o. P/< ,N&X. z/< ,N&XN#  `VNV. NW2p./9 N`X-@rfd. /< /< ,N&Pp.Nc.`<.Hnp/NcPrf$. /< /< ,N&Pp.Nc..Hn/.N`P-@fN^NuNVJ g . Nbp.Nc.N^NuNVH. NN p# `>JgNdp .HnNQX @-HgCf. NXHnNX$` nBR 9 o . N$HnNX$ y Sm y "hRp `. p /NXX. NS nA.Nb`(R 9 o . NHnN:X$. /<HnN"P @ f. NLN^NuNVH$np./< / N`PJfp# # # J f.NJgNB.Nf @$H-JJ g.N:`J gr.N| @E`nHH "g 'g /g {g }fJ oS J f *;fR` }fB f-y J g@ 9 R ./< /9 N&PQ`B` y Smz y "hRp `vR `6p-@`,p# .Nv`4 **fp# J g./< NXTRR.N @$H`. p /NXXR ."n 1 fmP .S-@`S ."n 1 gn .谮fR .S-@`D y Sm y "hR n`. np/NXXR .찮m y Sm y "hRp\`. p\/NXX y Sm y "hRp `. p /NXXR 9 o . NlJ g0 y Sm y "hRp `. p /NXX n-H  fpѮ.N\Sn./< /9 N&P .LN^Nu \fJ*gRRJg 'fR`RNVH$ng< *f /fB J gA./< NXT J LN^NuA`NVH$n`&R`" "g  fB A LN^Nug \fJg`A`NVJ g. N S N^NuNV.N.NlR N^NuNV`" n"hRp `.p /NXXR 9 n nSm`.NJ mR N^NuNVH nSm n"hRp `.p /NXX. N\&J g. /< /.N&P`t` nSm n"hR y (`. y r0(/NXX nSm n"hRp`.p/NXX nSm n"hR y (`. y r0(/NXXRm\J oh jDD`$`, nSm n"hRp `.p /NXXR 9 jDD`Sm. /< `d jDD`$`, nSm n"hRp `.p /NXXR 9 jDD`Wm. /< /.N&Pp# J g"J g. `.  /.N&XL N^NuNVH $nJ f*J f B`4HH f p".j DD`ѮRR .హ lJf*HH"| 1HHr€f&| -J *fR _g HH"| 1HHr€g`HH"| 1HHr€f _gB.Tp/p//< /< N @ g`.R  g (g`JgR )fR  gJg ;f pL N^NuJ g. /<  HnN7PJ g0. /9 N&X$n`R (f./< N Xp`NVH$n .N\-@.N\$` Ю(SJl././ NQPLN^NuNVHNJ. N @$H 9 "y # 9 "y # R LN^NuNV 9 |f* | 9 |./9 NRX @# N^NuNVHN.N @&H 9 "y #. /<  9 "y /1N7P 9 "y .N\S$`".  9 "y /1N`XRp'm. /< HnN7PHn 9 "y /1N`PR J gp# LN^NuNVHJ gJ gNp<.p/NX @# f # $ p# . NR y PA./< 6N&Xt`& "y q  fj 9 Z o2. N" "y qA./< 9`LN^Nu "y ./< nf6 m,mf$ lHnNX @$HR J LN^NuNVH$n$. p:m0 *j DD`g <m` <nmԀ Ъr.N_" LN^NuNVH n.Q N_-@ n.Q NPh-@Jl QSp<. .N_# p<. .NPh&p<. N_# p<. NPh# .pr.N_# JmbvF`, j DD`g <m` <nR j DD`g <m` <n".l`:vF`0 SJj DD`g <m` <nѮSJm# $.# j DD`g <m` <n nfp# v` 刔R "| |lp#  R# # B | L N^NuNVH$| &| Jf n ("ЀЁ"| G$| R nI "ЀЁ"| G./ NX @$H $d./ N~X @$H $d./ NhX @$H $d./ NRX @$H n dm |2|0T n (d./ NX @$H | LN^NuNVH$nR m p . . NPhr .N_0` p . . N_0 J LN^NuNVH . NT @$H gJgt&y HHgHH`p Sf -fp`p-@gRt` Ѐ"ЁHHЁr0$ 0m 9oJg D$ "逐"逐# Jgp`p# xg &y tHHgHH`p SfL N^NuNVJ fp`Jf. N\ @-Hf p # `"B . ,/< (N$X @-Hf N^Nu./. /.N"P.N%p./.NQX @-H ( gp"` nB( n`NVH $nt&HH gX gN +g& -g` Ѐ"ЁHHЁr0$`RR 0m 9oJg DL N^NuR` `NVH  6fj 9 2l."n q -f 9 2"n qJ(f`R 2pLN^Nu. : 9 2"n /1NQXJg 9 2"n q 6HH$# p:g./.NQX @$H fJ .gJ. , n /N!X. ,/< =N!X. ,/N!lX. ,p /N!lXR 6 9 2"n q 6JfR 2`R :f 9 2"n q"9 6RAJg( 9 2R 2 q"9 6RA# `R 2 9 2mbJ .gJ. , n /N!X. ,/< RN!X. ,/N!lX. ,p /N!lXp# 6p?`P 9 2R 2"n # p# 6`4R 6 9 2"n q 6Jfp# 6ѹ 2B `NVH$n Sm jR. 0LN^Nu.p. /NXX`NVH$n t* HHrrf"Jg jf Jf* HHrD€f.NZJf`pg pLN^Nu* HH"| ,(q&j &n.NYhrf `.p//./ N': @-Hg S&תJlp` (* HH"| , 1l.N[ԃJg$* HHrD€g.NYhrgz `<׮`RNVH$. $n-nS` LN^NuJoJn".N3rf ng`SRl ` &.p //*/.N': @-Hg &׮תJlp` (* HH"| , 1l.N[Jf`Z nB n`@NVH . .NR-@.N\ @$H f L N^Nu&J .V"$`BSl J`NV.N^xN^NuNVHHnN&XJm n rf .` .$ n rf .` .&NR(fr n rfp`p-@.N_.N_.p//N%P.N_p././< /< |/< tNRtp.NRpf LN^Nu "| #.N_. /N&X @`NVH n( HH$.NW2.p/NRX @-H.p/NRX @-H.p/NRX @-HHnNbX& "| жgpfpf-@.p/NRX.p/NRX.p/NRX .L N^Nu0<>N@dNc$NuNVH $n NV @&H g4BB+ n 'H'HHH ag& rg wg* L N^Nu `p.p//.N`P *+f + + K`0<*N@dNc$ o BNuNVHA -H. //.N8.P$9 *g pLN^Nu `NVHA-H.//. N8.P$ n( g pLN^Nu ` /o("/ "o oSвWg fBNu Nu`NV# $# . . NR"nA./ NXN^NuNVH $9 `6. nA(/NX-n `./.NX nA(-H . -@䰂cL Ѐ. .NaJ. NR-@ n-H-H$n n &H`./ NX` L N^Nudf./ y $NX-@gJlH`@f.ծ././ NPծ$n`$ծ./.N~X`./ NrX`c"./. y $NX-@gJn`صf .". 찁m`././ N@P&n`0NVH -y $n&n SfL N^NuNVH-y $n&n (nHH-@SfLN^NuNVA -H././< N*4PN^NuNVA-H./. /.N*4PN^NuNVH$nA-H|-J J-H.N\-@|./. HnN*4PLN^NuNVH $n&n Bp$g | 0(gFSm jRp`.N3-@"| 1f./.NbXrg`p%f p$p%f>Sm jRp`.N3-@谂gn./.NbXrgt`vp*f Bp$`p-@B` .Ѐ"ЁЂr0-@p$ | 0(fJf-|-B rlg hfp$Jgp[f Hn/ NP @&H f pL N^Nu | 0(gpl-@  $pcgHp[gBSm jRp`.N3-@"| 1f./.NbXrgjpcg psgp[fHn/ Hn/.//.N>`Hn/ /././/.N:-@g .ѮJg Jf`Jg .`p`NVH $nGBBBBBB . d bZ@0; NJ.***JJJJJJJ2JJJJJ.JJ6Rv `v`vSm jRp`pL N^Nu.N3$  +g -f$RS` jRp`.N3$Sm | 0(fpfj0(g` | 0(gp0` | 0(gp7`pW"-A lJgJf. NRЮ-@R`zJgp.f .RJg^pegpEf^JgV .RJfH Sm jRp`.N3$ | 0(f p+gp-f Sm`JgJgJgrBHnN0X-@-AJg".@-@-A lf nrӐ P h !n`` .".NL$"nX"Q"i"`@Jg g .D-@ lg< hf2 nrӐ P h0./NbXrf nB .` nrӐ P h `NVH<$.&. (.$n&nJg nrӐ P h`(H-Lpcf fxSm kRp`.N3*pg0psf | 0Xfp[fJ2XfJg RSnpgJo./NbXrf nBf pLp.N\/NPTX`(. /9  .". NJdX-@-A ppbpNK./ .". NJd`p Ю l: 9 "9 `J. /9  .". NJdX-@-A pⴀep"DNK./ .". NHX`NVH$n . fp.N\/NPTXB. /9  .". NG0XJf .". LN^Nu. /9  .". NG0XJo* .". `,R. /9  .".NJdX` .". @-@-A. /9  .".NG0XJl. /9  .".NG0XJl$S./. .".NFX-@-A`. /9  .". NG0XJo .".` .".@` o /"Y@ H@Ҁ / o4/gSg&/gS Q f @SkQ /Nu`NVH-| n-H-H||A-HHn//. N8. $ nB LN^NuNVH<$n&nBB.G(J`RHH$gp%f -@"gtѮ "f&Sm kR`P.p/NXX`> + f."/ /+NPP @"'H`./."p// NO Jf+ f .L<N^Nup-@-@-@-@-@RHH$  g$ #g" +g -fR`R`R`R`p*f$pѮ n -hl .D-@RR`Bp0fRB` .Ѐ"Ё"0Ё-@RHH$ | 0(f .gJg .`p-@`VR *fpѮ n -hR`8B` .Ѐ"Ё"0Ё-@RHH$ | 0(fBHH hg lfRR-| "LAG-HHp-@-@HH$ Jgv Eg Gg XgT cg dgL eg fg gg og* sg ug xfp` p`p`p-@Jlp-@JfpdpѮ n -h>pdfBJ>l-| #L >g* .>D-@>`Jg -| %L`Jg-| 'LpXf | )` | :-H*I\*L`Dp>-@ .>-@>.N_ЀЮ"n*1. .>NPh-@>J>f Ю-@Jgȹg  Xg4 og xf-| KL` lp-@`-| NL`xJlp-@pѮ n -h6-h:Hn.Hn2 .Rrl .R`p//.:/.6NBr @(HJ.g -| QL`Jg -| SL`Jg-| ULKQJgHH`p0JfJg.-n`SJoJfIQ. /9  .6".:NG0XJg .2S-@"JlD`Jlp-@pѮ n -h6-h:Hn.Hn2 + f."/ /+NPP @"'H`./."p// NO SmVSm kRr0`.p0/NXX` kR"nHRH`. nHRHp/NXX nHJg$Sm` kRr `.p /NXXS .䰮&mSm`J"g@p . ."N_0rH"nHp . ."NPh-@"`pH nH0 nHCEbJ2n . /9  .6".:NG0XJfp+`p-rH"nH | 0(gpE`perH"nH`>NVp././././. /.N> @ N^NuNVp././././. /.N @ N^NuNVH<$n&| ( ."KI . fp.N\/NPTX. b/9 ^ .". NG0XJlp`p"n"g .". @-@-A B9 (B. j/9 f .". NG0XJgd*| nR. /9  .". NG0XJm,`>./ .". NHX-@-A -ђ`. /9  .". NG0XJm`-y -y ` -n-n./. 9 "9 NJdX-@-A. /.".NG0XJo`. /9  .". NG0XJln`8./ .". NJdX-@-A -` M o2./ .". NJdX. /9 NG0XJl`Jgҹ (eй vc(| v. /9  .". NG0XJg 9e0`T .". NL$ 0 NK./ .". NG0X./ 9 "9 NJdX-@-A e$&L 5m0 (f1 (RJgR`R`R0R# 9nB | ( L<N^Nu M o./ .". NG0XJm`./. .". NHXNL$ 0 NK./.NJdX./ .". NG0X-@-A R. /9  .".NG0XJo^. /9  .".NHX-@-A`ZH?L ` H?LN "LNuH? o "($/ &/$N " LNuH? o/NKX$/ &/$N//NLP LNuH?$& /"/ `H?$/&/ /$"/(Nj "LNuH? o$&( / "/$NF " LNuH? o/NKX$& / "/$N//NLP LNu@UUŰcBCEHNLJGf(g~JFf `0 FgrFDGQGmfJf` ^GkQJkցՀd RF Fm`LdFED@NM NMTM fBNuNM`(fFfJj$<B`$<B`H?$& /"/ `H?$/&/ /$"/(Nj "LNuH? o$&( / "/$NF " LNuH? o/NKX$& / "/$N//NLP LNu*BNb:G8<a,8<aᏄg$&<FNMJ`.HGODfJfJgRGSGgNu8<@ANBCFgDgNg Dg,NuNJk&Fg"Jg `Jk6g2$<`N LNu"`"/H8NVN0 LNu$<&HCĀ(f<Jg,<`&HBJ Bf4<`<Jg<`SB<B2Nu m `B>BFCNBNr, AKNux ,<.̂(ȃ⊄(΀ȁ∀NuJf F m F BJgk [ZNu<???-+ 0123456789ABCDEF0123456789abcdef0x0X-+ -+ Fn CAy7Aׄ@È@Y@$C@@$@$@$@$@$?@$@$ ((((( H $ ,  ( 40707070000020030521006440001460001440000010170360356074566500000600000005641cpr.1.ig EMACS_MODES: fill .. .de DS .PP .RS .nf .. .de DE .fi .RE .PP .. .TH CPR 1 .SH NAME cpr - C program lister .SH SYNOPSIS .B cpr [ options ] [ files ] .SH "DESCRIPTION" .I Cpr produces a listing of one or more C files, preceded by a table of contents. The standard input is read if no files are given, or if a dash (\-) is encountered. .PP The output is separated into pages with a header and footer. The table of contents header contains the directory name and date, and the program listing header contains the current file name and page number. The headers, footers, and function names are output in bold face; and comments in italics. Lines longer than the page width (minus the width of added line numbers, if any) are continued on the next line. .PP These options may be given in any order: .TP 9 .BI \-l " n\^" Take the length of the page to be .I n lines instead of the default 66. .TP .BI \-e " tabwidth\^" Set tab stops to every .I tabwidth columns instead of the default of 8. .TP .BI \-w " n\^" Take the width of the page to be .I n columns instead of the default 132. .TP .BI \-i " file\^" Read the list of C files from .IR file , or from .I stdin if .I file is a dash (-). .TP .BI \-m " n\^" When looking for functions ignore the first .IR n columns, with tabs expanded. This is useful when using .I cpr for a file that had a margin included from a different program, such as .IR 3blist (1) or .IR cmspr (1). .TP .B \-n Print line numbers. .TP .B \-o Print one function per page. .TP .B \-s Sort the function list under each file in the table of contents. .TP .B \-x Output bold and italics control sequences suitable for .IR xerox (1). .PP .SH  EXAMPLES Local line printer output: .DS I cpr *.h *.c | lpr .DE Ordinary output: .DS I cpr *.h *.c | opr .DE With bold and italics: .DS I cpr -x -l 66 -w 132 *.h *.c | xerox -h 12 -v 5 -l 66 -s xerox | opr -r .DE Letter orientation: .DS I cpr -x -l 72 -w 92 *.h *.c | xerox -h 10 -l 72 -s vint | opr -r .DE Two-sided letter orientation: .DS I cpr -x -l 72 -w 92 *.h *.c | xerox -h 10 -l 72 -s vint -2 | opr -r -2 .DE Using cpr on a .IR 3blist (1) output file: .DS cpr -m 8 -x -l 72 -w 92 file.bp | xerox -h 10 -l 72 -s vint -2 | opr -r -2 .DE Using cpr on a .IR cmspr (1) output file: .DS cpr -m 16 -x -l 72 -w 92 file.bp | xerox -h 10 -l 72 -s vint -2 | opr -r -2 .DE .SH BUGS Unable to find function names that do not begin at the left margin, or have an argument list longer than one line. .ig .P Another alternative to finding function names in .IR 3blist output would be to use the 5ESS(TM) Project command .IR printlist (1), which uses a modified version of .I cpr. .. .SH "SEE ALSO" .IR 3blist (1), .IR cmspr (1), .IR lpr (1), .IR opr (1), and .IR xerox (1). .SH AUTHORS .nf Paul Breslin, Human Computing Resources Corp. Lance E. Shepard, CCI & RIT Rick Wise, CALCULON Corp. Joe Steffen, AT&T Bell Labs Andrew J. Miller, AT&T Bell Labs Harold E. Bamford, AT&T Bell Labs .fi .SH PROVIDER Joe Steffen 0707070000020031231007750001460001440000010170410356074705700000400000001754lpr###################################################################### # lpr - detects xerox escape sequences and converts them to epson # equivalents. Then passes output (along with other options) to # lp for output queueing. Xerox escape sequences may be introduced # through the use of the '-x' option to cpr(1). # # options to lpr are the same as to lp. # # XEROX sequences: # ESC R -- go to roman font # ESC B -- go to bold font # ESC I -- go to italic font # # EPSON sequences: # ESC F -- turn off bold # ESC E -- turn on bold # ESC -0 -- turn off italic # ESC -1 -- turn on italic ###################################################################### export ARGLIST FILES ARGLIST= FILES= set -- `getopt cd:mn:o:st:wa: $*` for i in $* do case $i in -c|-m|-s|-w) ARGLIST="${ARGLIST} ${i}"; shift;; -d|-n|-o|-t) ARGLIST="${ARGLIST} $1 $2"; shift 2;; -a) ARGLIST="${ARGLIST} -aname"; shift 2;; --) shift; break;; esac done sed -e 's/R/F-0/g s/I/-1/g s/B/E/g' $* | lp ${ARGLIST} 0707070000020031261007750001460001440000010170420354114704300000400000000616manif [ $# -eq 1 ] then if [ -s /usr/man/1.$1 ] then cat /usr/man/1.$1 exit 0 else echo "$0: cannot find /usr/man/1.$1" >&2 exit 1 fi fi echo "Usage: $0 command_name Only one command name may be specified. This is not a full implementation of the man command as this machine does not have many manual pages. For a list of manual pages available, list the /usr/man directory" >&2 exit 2 0707070000020031261007750001460001440000010170420354114704300001300000000000TRAILER!!!30521006440001460001440000010170360356074566500000600000005641cpr.1.ig EMACS_MODES: fill .. .de DS .PP .RS .nf .. .de DE .fi .RE .PP .. .TH CPR 1 .SH NAME cpr - C program lister .SH SYNOPSIS .B cpr [ options ] [ files ] .SH "DESCRIPTION" .I Cpr produces a listing of one or more C files, preceded by a table of contents. The standard input is read if no files are given, or if a dash (\-) is encountered. .PP The output is s