.TH CMT-UCMT 1carl CARL
.SH NAME
cmt \-ucmt \- comment / uncomment text
.SH SYNOPSIS
\fBcmt\fP < text > commented_text
.sp
\fBucmt\fP < commented_text > text
.SH CMT
.nf
/*
 * \fBcmt\fP reads text on its standard input and 
 * puts C style comments around it, like this.
 */
.fi
.PP
If the text already has comments, (as for example when the previous
paragraph is sent through \fBcmt\fP) \fBcmt\fP interposes 
a digit between the slash/star pair, as for instance:
.nf
.RS
/*
 * /1*
 *  * \fBcmt\fP reads text on its standard input and 
 *  * puts C style comments around it, like this.
 *  *1/
 */
.RE
.fi
.PP
Each application of \fBcmt\fP to code thusly commented
increments the digit by one, showing that
this can be repeated recursively to a considerable depth.
.SH UCMT
\fBucmt\fP reverses the effect of \fBcmt\fP, stripping
off the outer layer of comments, and diminishing the digit between
any slash/star pairs.
.PP
The format of comment that \fBucmt\fP is able to recognize is limited to
that generated by \fBcmt\fP, and consists of this:
.sp
.RS
.nf
<slash><star><newline>
<blank><star><blank> anything
 .  .  .
<star><slash><newline>
.fi
.RE
.SH FAVORITE HACKS
The author's personal motivation for creating these programs is to be able
to do the following in \fIvi(1)\fP:
.RS
.nf
(discover need to edit verbose comment)
:m,n!ucmt
(modify text of verbose comment)
:m,n!cmt
.fi
.RE
.SH AUTHOR
Gareth Loy
