./usr/man/man1/md5.1 minix-sys
./usr/man/man1/menuc.1 minix-sys
./usr/man/man1/mesg.1 minix-sys
+./usr/man/man1/mined.1 minix-sys
./usr/man/man1/ministat.1 minix-sys
./usr/man/man1/mixer.1 minix-sys
./usr/man/man1/mkdep.1 minix-sys
./usr/man/man1/zless.1 minix-sys
./usr/man/man1/zmore.1 minix-sys
./usr/man/man1/znew.1 minix-sys
-./usr/man/man1x minix-sys
-./usr/man/man1x/awk.1x minix-sys
-./usr/man/man1x/kermit.1x minix-sys
-./usr/man/man1x/macros.1x minix-sys
-./usr/man/man1x/mined.1x minix-sys
+./usr/man/man1x minix-sys obsolete
+./usr/man/man1x/awk.1x minix-sys obsolete
+./usr/man/man1x/kermit.1x minix-sys obsolete
+./usr/man/man1x/macros.1x minix-sys obsolete
+./usr/man/man1x/mined.1x minix-sys obsolete
./usr/man/man2 minix-sys
./usr/man/man2/accept.2 minix-sys
./usr/man/man2/access.2 minix-sys
./usr/log
./usr/man
./usr/man/man1
-./usr/man/man1x
./usr/man/man2
./usr/man/man3
./usr/man/man4
PROG= mined
SRCS= mined1.c mined2.c
-MAN=
.include <bsd.prog.mk>
--- /dev/null
+.Dd March 25, 2015
+.Dt MINED 1
+.Os
+.Sh NAME
+.Nm mined
+.Nd text editor
+.Sh SYNOPSIS
+.Nm
+.Op file
+.Sh DESCRIPTION
+.Nm
+is a simple screen editor.
+At any instant, a window of 24 lines is visible on the screen.
+The current position in the file is shown by the cursor.
+Ordinary characters typed in are inserted at the cursor.
+Control characters and keys on the numeric keypad (at the right-hand side
+of the keyboard) are used to move the cursor and perform other functions.
+.Pp
+Commands exist to move forward and backward a word, and delete words
+either in front of the cursor or behind it.
+A word in this context is a sequence of characters delimited on both ends by
+white space (space, tab, line feed, start of file, or end of file).
+The commands for deleting characters and words also work on line feeds, making
+it possible to join two consecutive lines by deleting the line feed between them.
+.Pp
+The editor maintains one save buffer (not displayed).
+Commands are present to move text from the file to the buffer, from the buffer
+to the file, and to write the buffer onto a new file.
+If the edited text cannot be written out due to a full disk, it may still
+be possible to copy the whole text to the save buffer and then write it to a
+different file on a different disk with CTRL-Q.
+It may also be possible to escape from the editor with CTRL-S and remove
+some files.
+.Pp
+Some of the commands prompt for arguments (file names, search patterns, etc.).
+All commands that might result in loss of the file being edited prompt to ask
+for confirmation.
+.Pp
+A key (command or ordinary character) can be repeated
+.Em n
+times by typing
+.Em "ESC n key"
+where
+.Em ESC
+is the
+.Em escape
+key.
+.Pp
+Forward and backward searching requires a regular expression as the search
+pattern.
+Regular expressions follow the same rules as in the
+.Ux
+editor,
+.Xr ed 1 .
+These rules can be stated as:
+.Bl -tag -compact -offset indent -width "012345679"
+.It Em c
+Any displayable character matches itself
+.It Em \&.
+(period) matches any character except line feed
+.It Em \&^
+(circumflex) matches the start of the line
+.It Em \&$
+(dollar sign) matches the end of the line
+.It Em \ec
+matches the character \fIc\fR (including period, circumflex, etc)
+.It Em [string]
+matches any of the characters in the string
+.It Em [^string]
+matches any of the characters except those in the string
+.It Em [x-y]
+matches any characters between
+.Em x
+and
+.Em y
+(e.g.,
+.Em [a-z]
+).
+.It Pattern*
+matches any number of occurrences of
+.Em pattern
+.El
+.Pp
+Some examples of regular expressions are:
+.Bl -tag -compact -offset indent -width "012345679"
+.It Em The boy
+matches the string
+.Em The boy
+.It Em ^$
+matches any empty line.
+.It Em ^.$
+matches any line containing exactly 1 character
+.It ^A.*\e.$
+matches any line starting with an
+.Em A
+, ending with a period.
+.It ^[A\(enZ]*$
+matches any line containing only capital letters (or empty).
+.It [A-Z0-9]
+matches any line containing either a capital letter or a digit.
+.It \&.*X$
+matches any line ending in
+.Em X.
+.It A.*B
+matches any line containing an
+.Em A
+and then a
+.Em B
+.El
+.Pp
+Control characters cannot be entered into a file simply by typing them because
+all of them are editor commands.
+To enter a control character, depress the ALT key, and then while holding it
+down, hit the ESC key.
+Release both ALT and ESC and type the control character.
+Control characters are displayed in reverse video.
+.Pp
+The
+.Nm
+commands are as follows.
+.Ss CURSOR MOTION
+.Bl -tag -width "0123456789" -compact
+.It Em arrows
+Move the cursor in the indicated direction
+.It Em CTRL-A
+Move cursor to start of current line
+.It Em CTRL-Z
+Move cursor to end of current line
+.It Em CTRL-^
+Move cursor to top of screen
+.It Em CTRL-_
+Move cursor to end of screen
+.It Em CTRL-F
+Move cursor forward to start of next word
+.It Em CTRL-B
+Move cursor backward to start of previous word
+.El
+.Ss SCREEN MOTION
+.Bl -tag -width "0123456789" -compact
+.It Em Home key
+Move to first character of the file
+.It Em End key
+Move to last character of the file
+.It Em PgUp key
+Scroll window up 23 lines (closer to start of the file)
+.It Em PgDn Key
+Scroll window down 23 lines (closer to end of the file)
+.It Em CTRL-U
+Scroll window up 1 line
+.It Em CTRL-D
+Scroll window down 1 line
+.El
+.Ss MODIFYING TEXT
+.Bl -tag -width "0123456789" -compact
+.It Em Del key
+Delete the character under the cursor
+.It Em Backspace
+Delete the character to left of the cursor
+.It Em CTRL-N
+Delete the next word
+.It Em CTRL-P
+Delete the previous word
+.It Em CTRL-T
+Delete tail of line (all characters from cursor to end of line)
+.It Em CTRL-O
+Open up the line (insert line feed and back up)
+.It Em CTRL-G
+Get and insert a file at the cursor position
+.El
+.Ss BUFFER OPERATIONS
+.Bl -tag -width "0123456789" -compact
+.It Em CTRL-@
+Set mark at current position for use with CTRL-C and CTRL-K
+.It Em CTRL-C
+Copy the text between the mark and the cursor into the buffer
+.It Em CTRL-K
+Delete text between mark and cursor; also copy it to the buffer
+.It Em CTRL-Y
+Yank contents of the buffer out and insert it at the cursor
+.It Em CTRL-Q
+Write the contents of the buffer onto a file
+.El
+.Ss MISCELLANEOUS
+.Bl -tag -width "0123456789" -compact
+.It Em numeric +
+Search forward (prompts for regular expression)
+.It Em numeric -
+Search backward (prompts for regular expression)
+.It Em numeric 5
+Display the file status
+.It Em CTRL-]
+Go to specific line
+.It Em CTRL-R
+Global replace
+.Em pattern
+with
+.Em string
+(from cursor to end)
+.It Em CTRL-L
+Line replace
+.Em pattern
+with
+.Em string
+.It Em CTRL-W
+Write the edited file back to the disk
+.It Em CTRL-X
+Exit the editor
+.It Em CTRL-S
+Fork off a shell (use CTRL-D to get back to the editor)
+.It Em CTRL-\e
+Abort whatever the editor was doing and wait for command
+.It Em CTRL-E
+Erase screen and redraw it
+.It Em CTRL-V
+Visit (edit) a new file
+.El
+.Sh SEE ALSO
+.Xr vi 1 ,
+.Xr ed 1
+.Sh HISTORY
+.Nm
+first appeared in Minix 1.1.
+.Sh AUTHORS
+.Nm
+was designed by
+.An "Andy Tanenbaum"
+and written by
+.An "Michiel Huisjes".
+.\" .Sh BUGS
.include <bsd.own.mk>
-SUBDIR= man1 man1x man2 man4 man5 man7 man8 man9
+SUBDIR= man1 man2 man4 man5 man7 man8 man9
WHATISDBDIR?= /usr/man
+++ /dev/null
-MAN= awk.1x kermit.1x \
- macros.1x mined.1x
-
-.include <bsd.man.mk>
+++ /dev/null
-.so mnx.mac
-.TH AWK 1x
-.CD "awk \(en pattern matching language"
-.SX "awk \fIrules\fR [\fIfile\fR] ...
-.FL "\fR(none)"
-.EX "awk rules input" "Process \fIinput\fR according to \fIrules\fR"
-.EX "awk rules \(en >out" "Input from terminal, output to \fIout\fR"
-.PP
-AWK is a programming language devised by Aho, Weinberger, and Kernighan
-at Bell Labs (hence the name).
-\fIAwk\fR programs search files for
-specific patterns and performs \*(OQactions\*(CQ for every occurrence
-of these patterns. The patterns can be \*(OQregular expressions\*(CQ
-as used in the \fIed\fR editor. The actions are expressed
-using a subset of the C language.
-.PP
-The patterns and actions are usually placed in a \*(OQrules\*(CQ file
-whose name must be the first argument in the command line,
-preceded by the flag \fB\(enf\fR. Otherwise, the first argument on the
-command line is taken to be a string containing the rules
-themselves. All other arguments are taken to be the names of text
-files on which the rules are to be applied, with \fB\(en\fR being the
-standard input. To take rules from the standard input, use \fB\(enf \(en\fR.
-.PP
-The command:
-.HS
-.Cx "awk rules prog.\d\s+2*\s0\u"
-.HS
-would read the patterns and actions rules from the file \fIrules\fR
-and apply them to all the arguments.
-.PP
-The general format of a rules file is:
-.HS
-~~~<pattern> { <action> }
-~~~<pattern> { <action> }
-~~~...
-.HS
-There may be any number of these <pattern> { <action> }
-sequences in the rules file. \fIAwk\fR reads a line of input from
-the current input file and applies every <pattern> { <action> }
-in sequence to the line.
-.PP
-If the <pattern> corresponding to any { <action> } is missing,
-the action is applied to every line of input. The default
-{ <action> } is to print the matched input line.
-.SS "Patterns"
-.PP
-The <pattern>s may consist of any valid C expression. If the
-<pattern> consists of two expressions separated by a comma, it
-is taken to be a range and the <action> is performed on all
-lines of input that match the range. <pattern>s may contain
-\*(OQregular expressions\*(CQ delimited by an @ symbol. Regular
-expressions can be thought of as a generalized \*(OQwildcard\*(CQ
-string matching mechanism, similar to that used by many
-operating systems to specify file names. Regular expressions
-may contain any of the following characters:
-.HS
-.in +0.75i
-.ta +0.5i
-.ti -0.5i
-x An ordinary character
-.ti -0.5i
-\\ The backslash quotes any character
-.ti -0.5i
-^ A circumflex at the beginning of an expr matches the beginning of a line.
-.ti -0.5i
-$ A dollar-sign at the end of an expression matches the end of a line.
-.ti -0.5i
-\&. A period matches any single character except newline.
-.ti -0.5i
-* An expression followed by an asterisk matches zero or more occurrences
-of that expression: \*(OQfo*\*(CQ matches \*(OQf\*(CQ, \*(OQfo\*(CQ, \*(OQfoo\*(CQ, \*(OQfooo\*(CQ, etc.
-.ti -0.5i
-+ An expression followed by a plus sign matches one or more occurrences
-of that expression: \*(OQfo+\*(CQ matches \*(OQfo\*(CQ, \*(OQfoo\*(CQ, \*(OQfooo\*(CQ, etc.
-.ti -0.5i
-[] A string enclosed in square brackets matches any single character in that
-string, but no others. If the first character in the string is a circumflex, the
-expression matches any character except newline and the characters in the
-string. For example, \*(OQ[xyz]\*(CQ matches \*(OQxx\*(CQ and \*(OQzyx\*(CQ, while
-\*(OQ[^xyz]\*(CQ matches \*(OQabc\*(CQ but not \*(OQaxb\*(CQ. A range of characters may be
-specified by two characters separated by \*(OQ-\*(CQ.
-.in -0.75i
-.SS "Actions"
-.PP
-Actions are expressed as a subset of the C language. All
-variables are global and default to int's if not formally
-declared.
-Only char's and int's and pointers and arrays of
-char and int are allowed. \fIAwk\fR allows only decimal integer
-constants to be used\(emno hex (0xnn) or octal (0nn). String
-and character constants may contain all of the special C
-escapes (\\n, \\r, etc.).
-.PP
-\fIAwk\fR supports the \*(OQif\*(CQ, \*(OQelse\*(CQ,
-\*(OQwhile\*(CQ and \*(OQbreak\*(CQ flow of
-control constructs, which behave exactly as in C.
-.PP
-Also supported are the following unary and binary operators,
-listed in order from highest to lowest precedence:
-.HS
-.ta 0.25i 1.75i 3.0i
-.nf
-\fB Operator Type Associativity\fR
- () [] unary left to right
-.tr ~~
- ! ~ ++ \(en\(en \(en * & unary right to left
-.tr ~
- * / % binary left to right
- + \(en binary left to right
- << >> binary left to right
- < <= > >= binary left to right
- == != binary left to right
- & binary left to right
- ^ binary left to right
- | binary left to right
- && binary left to right
- || binary left to right
- = binary right to left
-.fi
-.HS
-Comments are introduced by a '#' symbol and are terminated by
-the first newline character. The standard \*(OQ/*\*(CQ and \*(OQ*/\*(CQ
-comment delimiters are not supported and will result in a
-syntax error.
-.SP 0.5
-.SS "Fields"
-.SP 0.5
-.PP
-When \fIawk\fR reads a line from the current input file, the
-record is automatically separated into \*(OQfields.\*(CQ A field is
-simply a string of consecutive characters delimited by either
-the beginning or end of line, or a \*(OQfield separator\*(CQ character.
-Initially, the field separators are the space and tab character.
-The special unary operator '$' is used to reference one of the
-fields in the current input record (line). The fields are
-numbered sequentially starting at 1. The expression \*(OQ$0\*(CQ
-references the entire input line.
-.PP
-Similarly, the \*(OQrecord separator\*(CQ is used to determine the end
-of an input \*(OQline,\*(CQ initially the newline character. The field
-and record separators may be changed programatically by one of
-the actions and will remain in effect until changed again.
-.PP
-Multiple (up to 10) field separators are allowed at a time, but
-only one record separator.
-.PP
-Fields behave exactly like strings; and can be used in the same
-context as a character array. These \*(OQarrays\*(CQ can be considered
-to have been declared as:
-.SP 0.15
-.HS
-~~~~~char ($n)[ 128 ];
-.HS
-.SP 0.15
-In other words, they are 128 bytes long. Notice that the
-parentheses are necessary because the operators [] and $
-associate from right to left; without them, the statement
-would have parsed as:
-.HS
-.SP 0.15
-~~~~~char $(1[ 128 ]);
-.HS
-.SP 0.15
-which is obviously ridiculous.
-.PP
-If the contents of one of these field arrays is altered, the
-\*(OQ$0\*(CQ field will reflect this change. For example, this
-expression:
-.HS
-.SP 0.15
-~~~~~*$4 = 'A';
-.HS
-.SP 0.15
-will change the first character of the fourth field to an upper-
-case letter 'A'. Then, when the following input line:
-.HS
-.SP 0.15
-~~~~~120 PRINT "Name address Zip"
-.SP 0.15
-.HS
-is processed, it would be printed as:
-.HS
-.SP 0.15
-~~~~~120 PRINT "Name Address Zip"
-.HS
-.SP 0.15
-Fields may also be modified with the strcpy() function (see
-below). For example, the expression:
-.HS
-~~~~~strcpy( $4, "Addr." );
-.HS
-applied to the same line above would yield:
-.HS
-~~~~~120 PRINT "Name Addr. Zip"
-.HS
-.SS "Predefined Variables"
-.PP
-The following variables are pre-defined:
-.HS
-.in +1.5i
-.ta +1.25i
-.ti -1.25i
-FS Field separator (see below).
-.ti -1.25i
-RS Record separator (see below also).
-.ti -1.25i
-NF Number of fields in current input record (line).
-.ti -1.25i
-NR Number of records processed thus far.
-.ti -1.25i
-FILENAME Name of current input file.
-.ti -1.25i
-BEGIN A special <pattern> that matches the beginning of input text.
-.ti -1.25i
-END A special <pattern> that matches the end of input text.
-.in -1.5i
-.HS
-\fIAwk\fR also provides some useful built-in functions for string
-manipulation and printing:
-.HS
-.in +1.5i
-.ta +1.25i
-.ti -1.25i
-print(arg) Simple printing of strings only, terminated by '\\n'.
-.ti -1.25i
-printf(arg...) Exactly the printf() function from C.
-.ti -1.25i
-getline() Reads the next record and returns 0 on end of file.
-.ti -1.25i
-nextfile() Closes the current input file and begins processing the next file
-.ti -1.25i
-strlen(s) Returns the length of its string argument.
-.ti -1.25i
-strcpy(s,t) Copies the string \*(OQt\*(CQ to the string \*(OQs\*(CQ.
-.ti -1.25i
-strcmp(s,t) Compares the \*(OQs\*(CQ to \*(OQt\*(CQ and returns 0 if they match.
-.ti -1.25i
-toupper(c) Returns its character argument converted to upper-case.
-.ti -1.25i
-tolower(c) Returns its character argument converted to lower-case.
-.ti -1.25i
-match(s,@re@) Compares the string \*(OQs\*(CQ to the regular expression \*(OQre\*(CQ and
-returns the number of matches found (zero if none).
-.in -1.5i
-.SS "Authors"
-.PP
-\fIAwk\fR was written by Saeko Hirabauashi and Kouichi Hirabayashi.
+++ /dev/null
-.so mnx.mac
-.TH KERMIT 1x
-.CD "kermit \(en transfer a file using the kermit protocol"
-.SX "kermit"
-.FL "\fR(many)"
-.EY "kermit" "Start kermit"
-.PP
-This is a slightly lobotomized \fIkermit\fR.
-The help command, the script facility, and the automatic dial support
-have been removed.
-The ? and ESC commands still work, so there is still reasonable built-in help.
-The only V7 \fIkermit\fR feature that does not work is the ability to see
-whether there are input characters waiting. This means that you will not
-be able to ask for status during a file transfer (though
-this is not critical, because \fIkermit\fR prints a dot every so often and
-other special characters whenever there is an error or timeout).
-.PP
-Start \fIkermit\fR, and then type the following to open a 2400 baud session,
-for example:
-.HS
-.nf
-.Cx "set line /dev/tty1"
-.Cx "set speed 2400"
-.Cx "connect"
-.HS
-.fi
-(It is more convenient if you put these commands in \fI.kermrc\fR in your
-home directory, so that they get done automatically whenever you
-run \fIkermit\fR.) This will connect you to the modem or whatever on
-the serial port. Now log into the other system.
-.PP
-When you want to transfer files, run \fIkermit\fR on the other system.
-To it, type
-.HS
-.Cx "server"
-.HS
-This puts its \fIkermit\fR into a sort of \*(OQslave mode\*(CQ where it expects
-commands from the \fIkermit\fR running on your \s-2MINIX\s0 system. Now come back
-to the command level on \s-2MINIX\s0 \fIkermit\fR, by typing the escape character
-followed by \fIc\fR. (\fIKermit\fR will tell you
-the current escape character when
-you do the connect command.) At this point you can issue various
-commands.
-Your \fIkermit\fR will coordinate things with \fIkermit\fR on the other
-machine so that you only have to type commands at one end. Common
-commands are
-.HS
-.Cx "get \fI\s+2filename\fP\s0"
-.br
-.Cx "put \fI\s+2filename\fP\s0"
-.br
-.Cx "remote \fI\s+2dir\fP\s0"
-.HS
-\fRFilenames can include wildcards. By default, \fIkermit\fR works in a
-system-independent, text mode. (In effect it assumes that the
-whole world is \s-2MS-DOS\s0 and converts end of line and file names
-accordingly.) To send binary files, you will want to type
-.HS
-.Cx "set file type bin"
-.HS
-on both ends before starting any transfers. This disables
-CR LF to newline conversion. If both of your systems are some
-flavor of \s-2UNIX\s0, you might as well put this in \fI.kermrc\fR on both
-ends and run in binary mode all the time. Also, if both systems
-are \s-2UNIX\s0 it is recommended that you use
-.HS
-.Cx "set file name lit"
-.HS
-on both ends. This causes it to keep file names unchanged,
-rather than mapping to legal \s-2MS-DOS\s0 names.
-.PP
-Here is a typical \fI.kermrc\fR for use on
-.MX :
-.HS
-.nf
-.Cx "set line /dev/tty1"
-.Cx "set speed 1200"
-.Cx "set esc 29"
-.Cx "set file type bin"
-.Cx "set file name lit"
-.Cx "set retry 90"
-.Cx "set prompt MINIX kermit>"
-.Cx "connect"
-.fi
-.PP
-On the other end of the line, for example, the host at your local computer
-center to which you want to transfer files, a typical profile might be:
-.HS
-.nf
-.Cx "set rec packet 1000"
-.Cx "set fil name lit"
-.Cx "set fil type bin"
-.Cx "server"
-.fi
-.HS
-.PP
-\fIKermit\fR has many other options and features. For a pleasant and
-highly readable description of it, see the following book:
-.HS
-.in +0.25i
-.nf
-Title: Kermit: A File Transfer Protocol
-Author: Frank da Cruz
-Publisher: Digital Press
-Date: 1987
-ISBN: 0-932376-88
-.fi
-.in -0.25i
-.HS
-.PP
-For information about recent \fIkermit\fR developments, versions for other
-systems, and so forth, please contact:
-.nf
-.HS
-.in +0.25i
-Christine M. Gianone
-Manager, Kermit Development and Distribution
-University Center for Computing Activities
-Columbia University
-612 West 115th Street
-New York, N.Y. 10025
-.in -0.25i
-.HS
-.fi
-Over 400 versions of \fIkermit\fR are available, so it is likely there is one
-for any computer your
-.MX
-system might want to talk to.
-Columbia University also publishes a newsletter about \fIkermit\fR that can be
-requested from the above address.
+++ /dev/null
-.so mnx.mac
-.TH MACROS 1x
-.\" Macro package for producing books (based on -ms)
-.nr PS 12
-.nr PZ 12
-.\" RT - reset everything to normal state
-.de RT
-.if !\\n(1T .BG
-.ce 0
-.if !\\n(IK .if !\\n(IF .if !\\n(IX .if !\\n(BE .di
-.ul 0
-.if \\n(QP \{\
-. ll +\\n(QIu
-. in -\\n(QIu
-. nr QP -1\}
-.if \\n(NX<=1 .if \\n(AJ=0 .ll \\n(LLu
-.if \\n(IF=0 \{\
-. ps \\n(PS
-. if \\n(VS>=41 .vs \\n(VSu
-. if \\n(VS<=40 .vs \\n(VSp\}
-.if \\n(IP .in -\\n(I\\n(IRu
-.if \\n(IP=0 .nr I0 \\n(PIu
-.if \\n(IP .nr IP -1
-.ft 1
-.bd 1
-.ta 5n 10n 15n 20n 25n 30n 35n 40n 45n 50n 55n 60n 65n 70n 75n 80n
-.fi
-..
-. \"IZ - initialization
-.de IZ
-.nr TN 0
-.em EM
-.if n .ds [. [
-.if t .ds [. \s-2\v'-.4m'\f1
-.if n .ds .] ]
-.if t .ds .] \v'.4m'\s+2\fP
-.if n .ds [o ""
-.if n .ds [c ""
-.if t .ds [o ``
-.if t .ds [c ''
-.ch FO \\n(YYu
-.if \\n(FM=0 .nr FM 1i
-.nr YY -\\n(FMu
-.nr XX 0 1
-.nr IP 0
-.nr PI 5n
-.nr QI 5n
-.nr I0 \\n(PIu
-.nr PZ 12
-.nr VZ 13.8p
-.nr PS \n(PZ
-.nr VS \\n(VZu
-.if !\\n(PD .if n .nr PD 1v
-.if !\\n(PD .if t .nr PD 0.3v
-.nr ML 3v
-.ps \\n(PS
-.if \\n(VS>=41 .vs \\n(VSu
-.if \\n(VS<=40 .vs \\n(VSp
-.nr IR 0
-.nr TB 0
-.nr SJ \\n(.j
-.nr LL 6i
-.ll \\n(LLu
-.nr LT \\n(.l
-.lt \\n(LTu
-.ev 1
-.nr FL \\n(LLu*11u/12u
-.ll \\n(FLu
-.ps 10
-.vs 12p
-.ev
-.if \a\\*(CH\a\a .ds CH "\(hy \\\\n(PN \(hy
-.wh 0 NP
-.wh -\\n(FMu FO
-.ch FO 16i
-.wh -\\n(FMu FX
-.ch FO -\\n(FMu
-.if t .wh -\\n(FMu/2u BT
-.if n .wh -\\n(FMu/2u-1v BT
-..
-. \"KS keep - for keep release features. As in IFM
-.de KS
-.nr KN \\n(.u
-.if \\n(IK=0 .if \\n(IF=0 .KQ
-.nr IK +1
-..
-. \"KQ - real keep processor
-.de KQ
-.br
-.nr KI \\n(.i
-.ev 2
-.br
-.in \\n(KIu
-.ps \\n(PS
-.if \\n(VS>40 .vs \\n(VSu
-.if \\n(VS<=39 .vs \\n(VSp
-.ll \\n(LLu
-.lt \\n(LTu
-.if \\n(NX>1 .ll \\n(CWu
-.if \\n(NX>1 .lt \\n(CWu
-.di KK
-.nr TB 0
-.nr KV 0
-..
-. \"KF - floating keep
-.de KF
-.nr KN \\n(.u
-.if !\\n(IK .FQ
-.nr IK +1
-..
-. \"FQ real floating keep processor
-.de FQ
-.nr KI \\n(.i
-.ev 2
-.br
-.in \\n(KIu
-.ps \\n(PS
-.if \\n(VS>40 .vs \\n(VSu
-.if \\n(VS<=39 .vs \\n(VSp
-.ll \\n(LLu
-.lt \\n(LTu
-.if \\n(NX>1 .ll \\n(CWu
-.if \\n(NX>1 .lt \\n(CWu
-.di KK
-.nr TB 1
-.nr KV 0
-..
-. \"KP - keep full page
-.de KP
-.nr KV 1
-..
-. \"KE release - everything between keep and release is together
-.de KE
-.if \\n(IK .if !\\n(IK-1 .if \\n(IF=0 .RQ
-.if \\n(IK .nr IK -1
-..
-. \"RQ real release
-.de RQ
-.br
-.di
-.nr NF 0
-.if \\n(dn-\\n(.t .nr NF 1
-.if \\n(TC .nr NF 1
-.if \\n(KV .nr NF 1 \" if KV on full page needed, doesn't fit
-.if \\n(NF .if !\\n(TB .sp 11i
-.if !\\n(NF .if \\n(TB .nr TB 0
-.nf
-.rs
-.nr TC 5
-.in 0
-.ls 1
-.if \\n(TB=0 .ev
-.if \\n(TB=0 .br
-.if \\n(TB=0 .ev 2
-.if \\n(TB=0 .KK
-.ls
-.ce 0
-.if \\n(TB=0 .rm KK
-.if \\n(TB .da KJ
-.if \\n(TB \!.KD \\n(dn \\n(KV
-.if \\n(TB .KK
-.if \\n(TB .di
-.nr TC \\n(TB
-.if \\n(KN .fi
-.in
-.ev
-..
-.de EQ \"equation, breakout and display
-.nr EF \\n(.u
-.rm EE
-.nr LE 1 \" 1 is center
-.ds EL \\$1
-.if "\\$1"L" .ds EL \\$2
-.if "\\$1"L" .nr LE 0
-.if "\\$1"C" .ds EL \\$2
-.if "\\$1"I" .nr LE 0
-.if "\\$1"I" .ds EE \\h'|10n'
-.if "\\$1"I" .if !"\\$3"" .ds EE \\h'\\$3'
-.if "\\$1"I" .ds EL \\$2
-.if \\n(YE>0 .nf
-.di EZ
-..
-.de EN \" end of a displayed equation
-.br
-.di
-.rm EZ
-.nr ZN \\n(dn
-.if \\n(ZN>0 .if \\n(YE=0 .LP
-.if \\n(ZN=0 .if !"\\*(EL"" .nr ZN 1
-.if "\\n(.z"" .if \\n(ZN>0 .if !\\n(nl=\\n(PE .if t .sp .5
-.if "\\n(.z"" .if \\n(ZN>0 .if !\\n(nl=\\n(PE .if n .sp 1
-.if !"\\n(.z"" .if \\n(ZN>0 .if !\\n(.d=\\n(PE .if t .sp .5
-.if !"\\n(.z"" .if \\n(ZN>0 .if !\\n(.d=\\n(PE .if n .sp 1
-'pc
-.if \\n(BD>0 .nr LE 0 \" can't mean centering in this case.
-.if \\n(MK>0 .if \\n(LE=1 .ds EE \\h'|10n'
-.if \\n(MK>0 .nr LE 0 \" don't center if mark/lineup
-'lt \\n(.lu
-.if \\n(EP=0 .if \\n(ZN>0 .if \\n(LE>0 .tl \(ts\(ts\\*(10\(ts\\*(EL\(ts
-.if \\n(EP=0 .if \\n(ZN>0 .if \\n(LE=0 .if \\n(BD=0 .tl \(ts\\*(EE\\*(10\(ts\(ts\\*(EL\(ts
-.if \\n(EP=0 .if \\n(ZN>0 .if \\n(LE=0 .if \\n(BD>0 .if \\n(BD<\\w\(ts\\*(10\(ts .nr BD \\w\(ts\\*(10\(ts
-.if \\n(EP=0 .if \\n(ZN>0 .if \\n(LE=0 .if \\n(BD>0 \!\\*(10\\t\\*(EL
-.if \\n(EP>0 .if \\n(ZN>0 .if \\n(LE>0 .tl \(ts\\*(EL\(ts\\*(10\(ts\(ts
-.if \\n(EP>0 .if \\n(ZN>0 .if \\n(LE=0 .if \\n(BD=0 .tl \(ts\\*(EL\\*(EE\\*(10\(ts\(ts\(ts
-.if \\n(EP>0 .if \\n(ZN>0 .if \\n(LE=0 .if \\n(BD>0 .if \\n(BD<\\w\(ts\\*(10\(ts .nr BD \\w\(ts\\*(10\(ts
-.if \\n(EP>0 .if \\n(ZN>0 .if \\n(LE=0 .if \\n(BD>0 \!\\h'-\\\\n(.iu'\\*(EL\\h'|0'\\*(10
-.\".di EZ \" GCOS patch
-.\"\\*(10 \" GCOS patch
-.\".br \" GCOS patch
-.\".di \" GCOS patch
-.\".rm EZ \" GCOS patch
-'lt \\n(LLu
-'pc %
-.if \\n(YE>0 .if \\n(EF>0 .fi
-.rm EL 10 11 12 13 14 15 16 17 18 19 20 21 22 23
-.rr 10 11 12 13 14 15 16 17 18 19 20 21 22 23
-.if \\n(ZN>0 .if t .sp .5
-.if \\n(ZN>0 .if n .sp
-.if "\\n(.z"" .nr PE \\n(nl
-.if !"\\n(.z"" .nr PE \\n(.d
-.nr z 72-((\\n(nl-\\n(HM)%72)
-.if \\n(nl<\\n(HM .nr z 0
-.if \\nz>0 .if \\nz<60 .sp \\nzu \"force post equation text to whole line
-.if \\nz>59 .if \\nz<72 .sp \\nzu-72u \"move backwards a fraction of a pica
-..
-.de ME
-.nr SJ \\n(.j
-.if \\n(LL>0 .nr LT \\n(LL
-.nr YE 1
-.if \\n(PO=0 .nr PO \\n(.o
-.if \\n(mo-0 .ds MO January
-.if \\n(mo-1 .ds MO February
-.if \\n(mo-2 .ds MO March
-.if \\n(mo-3 .ds MO April
-.if \\n(mo-4 .ds MO May
-.if \\n(mo-5 .ds MO June
-.if \\n(mo-6 .ds MO July
-.if \\n(mo-7 .ds MO August
-.if \\n(mo-8 .ds MO September
-.if \\n(mo-9 .ds MO October
-.if \\n(mo-10 .ds MO November
-.if \\n(mo-11 .ds MO December
-.if \\n(dw-0 .ds DW Sunday
-.if \\n(dw-1 .ds DW Monday
-.if \\n(dw-2 .ds DW Tuesday
-.if \\n(dw-3 .ds DW Wednesday
-.if \\n(dw-4 .ds DW Thursday
-.if \\n(dw-5 .ds DW Friday
-.if \\n(dw-6 .ds DW Saturday
-.if "\\*(DY"" .ds DY \\*(MO \\n(dy, 19\\n(yr
-.if "\\*(CF"" .if n .ds CF "\\*(DY
-..
-. \"EM end up macro - process left over keep-release
-.de EM
-.br
-.if \\n(TB=0 .if t .wh -1p CM
-.if \\n(TB \&\c
-.if \\n(TB 'bp
-.if \\n(TB .NP
-.if \\n(TB .ch CM 160
-..
-. \"NP new page
-.de NP
-.if \\n(FM+\\n(HM>=\\n(.p .tm Margins bigger than page length.
-.if \\n(FM+\\n(HM>=\\n(.p .ab
-.if \\n(FM+\\n(HM>=\\n(.p .ex
-.nr PX \\n(.s
-.nr PF \\n(.f
-.nr PV \\n(.v
-.if t .CM
-.if \\n(HM=0 .nr HM 1i
-'sp \\n(HMu/2u
-.lt \\n(LTu
-.ps \\n(PS
-.vs \\n(PS+2
-.ft 1
-.if \\n(PO>0 .po \\n(POu
-.PT
-.ps \\n(PX
-.vs \\n(PVu
-.ft \\n(PF
-'sp |\\n(HMu
-.nr XX 0 1
-.nr YY 0-\\n(FMu
-.ch FO 16i
-.ch FX 17i
-.ch FO \\n(.pu-\\n(FMu
-.ch FX \\n(.pu-\\n(FMu
-.if \\n(MF .FV
-.nr MF 0
-.mk
-.os
-.ev 1
-.if \\n(TD=0 .if \\n(TC<5 .XK
-.nr TC 0
-.ns
-.ev
-.nr TQ \\n(.i
-.nr TK \\n(.u
-.if \\n(IT>0 \{\
-. in 0
-. nf
-. TT
-. in \\n(TQu
-. if \\n(TK .fi\
-\}
-.mk #T
-.if t .if \\n(.o+\\n(LL>7.75i .tm Offset (\\n(.o) + line length (\\n(LL) exceeds 7.75 inches, too wide
-..
-.de XK
-.nr TD 1
-.nf
-.ls 1
-.in 0
-.rn KJ KL
-.KL
-.rm KL
-.if "\\n(.z"KJ" .di
-.nr TB 0
-.if "\\n(.z"KJ" .nr TB 1
-.br
-.in
-.ls
-.fi
-.if (\\n(nl+1v)>(\\n(.p-\\n(FM) .if \\n(NX>1 .RC
-.if (\\n(nl+1v)>(\\n(.p-\\n(FM) .if \\n(NX<1 .bp
-.nr TD 0
-..
-.de KD
-.nr KM 0
-.if "\\n(.z"" .if \\$2>0 .if \\n(nl>\\n(HM .if (\\n(nl+1v)<(\\n(.p-\\n(FM) .di KJ
-.if "\\n(.z"" .if \\n(nl>\\n(HM .if \\$2>0 .sp 15i \" full page figure must have new page
-.if "\\n(.z"" .if \\n(nl>\\n(HM .if \\$2=0 .if (\\n(nl+1v)>(\\n(.p-\\n(FM) .sp 15i
-.if "\\n(.z"KJ" .nr KM 1 \" KM is 1 if in a rediversion of keeps
-.if \\n(KM>0 \!.KD \\$1 \\$2
-.nr KR \\n(.t
-.if \\n(nl<=\\n(HM .nr KR 32767
-.if \\n(KM=0 .if \\n(KR<\\$1 .di KJ
-.if \\n(KM=0 .if \\n(KR<\\$1 .nr KM 1
-.if \\n(KM=0 .if \\$2>0 .if (\\n(nl+1v)>(\\n(.p-\\n(FM) .sp 15i
-.rs
-.if \\n(KM=0 .if \\$2>0 .sp \\n(.tu-\\$1u
-..
-.de PT
-.lt \\n(LLu
-.pc %
-.nr PN \\n%
-....if \\n%-1 .tl '\\*(LH'\\*(CH'\\*(RH'
-.lt \\n(.lu
-..
-. \"FO - footer of page
-.de FO
-.rn FO FZ
-.if \\n(K1>0 .tm This memo has a multi-page cover sheet. You are
-.if \\n(K1>0 .tm rebuked in the name of the Committee on Technical Memoranda.
-.if \\n(IT>0 .nr T. 1
-.if \\n(IT>0 .if \\n(FC=0 .T# 1
-.if \\n(IT>0 .br
-.nr FC +1
-.if \\n(NX<2 .nr WF 0
-.nr dn 0
-.if \\n(FC<=1 .if \\n(XX .XF
-.rn FZ FO
-.nr MF 0
-.if \\n(dn .nr MF 1
-.if !\\n(WF .nr YY 0-\\n(FMu
-.if !\\n(WF .ch FO \\n(YYu
-.if !\\n(dn .nr WF 0
-.if \\n(FC<=1 .if \\n(XX=0 .if \\n(NX>1 .RC
-.nr x 7176u-\\n(.d
-.if \nL=1 .if \\n(FC<=1 .if \\n(XX=0 .if \\n(NX<1 'tm Chap=\\na page=\\n% short=\\nx
-.if \\n(FC<=1 .if \\n(XX=0 .if \\n(NX<1 'bp
-.nr FC -1
-.if \\n(ML>0 .ne \\n(MLu
-..
-. \"2C - begin double column
-.de 2C
-.MC \" default MC is double column
-..
-.de MC \" multiple columns- arg is line length
-.nr L1 \\n(LL*7/15
-.if \\n(.$>0 .nr L1 \\$1n
-.nr GW 0-1
-.if \\n(.$>1 .nr GW \\$1n
-.nr NQ \\n(LL/\\n(L1
-.if \\n(NQ<1 .nr NQ 1
-.if \\n(NQ>2 .if (\\n(LL%\\n(L1)=0 .nr NQ -1
-.if \\n(1T=0 \{\
-. BG
-. if n .sp 4
-. if t .sp 2\}
-.if \\n(NX=0 .nr NX 1
-.if !\\n(NX=\\n(NQ \{\
-. RT
-. if \\n(NX>1 .bp
-. mk
-. nr NC 1
-. po \\n(POu\}
-.if \\n(NQ>1 .hy 14
-.nr NX \\n(NQ
-.nr CW \\n(L1
-.ll \\n(CWu
-.nr FL \\n(CWu*11u/12u
-.if \\n(NX>1 .nr GW (\\n(LL-(\\n(NX*\\n(CW))/(\\n(NX-1)
-.nr RO \\n(CW+\\n(GW
-.ns
-..
-.de RC
-.ie \\n(NC>=\\n(NX .C2
-.el .C1
-..
-.de C1
-.rt
-.po +\\n(ROu
-.nr NC +1
-.if \\n(NC>\\n(NX .nr NC 1
-.nr XX 0 1
-.if \\n(MF .FV
-.ch FX \\n(.pu-\\n(FMu
-.ev 1
-.if \\n(TB .XK
-.nr TC 0
-.ev
-.nr TQ \\n(.i
-.if \\n(IT>0 .in 0
-.if \\n(IT>0 .TT
-.if \\n(IT>0 .in \\n(TQu
-.mk #T
-.ns
-..
-.de C2
-.po \\n(POu
-.nr NC +1
-.if \\n(NC>\\n(NX .nr NC 1
-'bp
-..
-. \"1C - return to single column format
-.de 1C
-.MC \\n(LLu
-.hy 14
-..
-. \".de R3
-. \".pl 102
-. \".nr LT \\n(.l
-. \"..
-.de BT
-.nr PX \\n(.s
-.nr PF \\n(.f
-.ft 1
-.ps \\n(PS
-'lt \\n(LTu
-.po \\n(POu
-.if \\n%>0 .tl '\\*(LF'\\*(CF'\\*(RF'
-.ft \\n(PF
-.ps \\n(PX
-..
-. \"PP - paragraph
-.de PP
-.RT
-.if \\n(1T .sp \\n(PDu
-.ti +\\n(PIu
-..
-. \"SH - (unnumbered) section heading
-.de SH
-.ti \\n(.iu
-.RT
-.if \\n(1T .sp 1
-.if !\\n(1T .BG
-.RT
-.ne 4
-.ft 3
-..
-. \"NH - numbered heading
-.de NH
-.RT
-.if \\n(1T .sp 1
-.if !\\n(1T .BG
-.RT
-.ne 4
-.ft 3
-.nr NS \\$1
-.if !\\n(.$ .nr NS 1
-.if !\\n(NS .nr NS 1
-.nr H\\n(NS +1
-.if !\\n(NS-4 .nr H5 0
-.if !\\n(NS-3 .nr H4 0
-.if !\\n(NS-2 .nr H3 0
-.if !\\n(NS-1 .nr H2 0
-.if !\\$1 .if \\n(.$ .nr H1 1
-.ds SN \\n(H1.
-.if \\na=0 .ds SN \\*(CN.
-.ti \\n(.iu
-.if \\n(NS-1 .as SN \\n(H2.
-.if \\n(NS-2 .as SN \\n(H3.
-.if \\n(NS-3 .as SN \\n(H4.
-.if \\n(NS-4 .as SN \\n(H5.
-\\*(SN
-..
-. \"BG - begin, execute at first PP
-.de BG
-.br
-.ME
-.rm ME
-.di
-.ce 0
-.nr KI 0
-.hy 14
-.nr 1T 1
-.S\\n(ST
-.rm S0
-.rm S1
-.rm S2
-.rm S3
-.rm OD
-.rm OK
-.rm TX
-.rm AX
-.rm WT
-.rm CS
-.rm TM
-.rm IM
-.rm MF
-.rm MR
-.rm RP
-.rm I1
-.rm I2
-.rm I3
-.rm I4
-.rm I5
-.rm CB
-.rm E1
-.rm E2
-.de TL
-.ft 3
-.sp
-.if n .ul 100
-.ce 100
-.ps +2
-\\..
-.de AU
-.ft 2
-.if n .ul 0
-.ce 100
-.sp
-.NL
-\\..
-.de AI
-.ft 1
-.ce 100
-.if n .ul 0
-.if n .sp
-.if t .sp .5
-.NL
-\\..
-.RA
-.rm RA
-.rn FJ FS
-.rn FK FE
-.nf
-.ev 1
-.ps \\n(PS-2
-.vs \\n(.s+2p
-.ev
-.if \\n(KG=0 .nr FP 0
-.if \\n(GA>1 .if \\n(KG=0 .nr GA 0 \" next UNIX must be flagged.
-.nr KG 0
-.if \\n(FP>0 .FS
-.if \\n(FP>0 .FG
-.if \\n(FP>0 .FE
-.br
-.if \\n(TV>0 .if n .sp 2
-.if \\n(TV>0 .if t .sp 1
-.fi
-.ll \\n(LLu
-..
-.de RA \"redefine abstract macros
-.de AB
-.br
-.if !\\n(1T .BG
-.ce 1
-.sp 1
-.if \\n(.$=0 ABSTRACT
-.if \\n(.$>0 .if !"\\$1"-" .if !"\\$1"no" \\$1
-.if \\n(.$=0 .sp
-.if \\n(.$>0 .if !"\\$1"-" .if !"\\$1"no" .sp
-.sp 1
-.nr AJ 1
-.in +\\n(.lu/12u
-.ll -\\n(.lu/12u
-.RT
-\\..
-.de AE
-.nr AJ 0
-.br
-.in 0
-.ll \\n(LLu
-.if \\n(VS>=41 .vs \\n(VSu
-.if \\n(VS<=40 .vs \\n(VSp
-\\..
-..
-. \"IP - indented paragraph
-.de IP
-.RT
-.if !\\n(IP .nr IP +1
-.sp \\n(PDu
-.if \\n(.$-1 .nr I\\n(IR \\$2n
-.in +\\n(I\\n(IRu
-.nr TY \\n(TZ-\\n(.i
-.ta \\n(I\\n(IRu \\n(TYuR
-.if \\n(.$>0 \{\
-.ti -\\n(I\\n(IRu
-\&\\$1\t\c\}
-..
-. \"LP - left aligned (block) paragraph
-.de LP
-.ti \\n(.iu
-.RT
-.if \\n(1T .sp \\n(PDu
-..
-.de QP
-.ti \\n(.iu
-.RT
-.if \\n(1T .sp \\n(PDu
-.ne 1.1
-.nr QP 1
-.in +\\n(QIu
-.ll -\\n(QIu
-.ti \\n(.iu
-..
-. \"IE - synonym for .LP
-.de IE
-.LP
-..
-. \"LB - label paragraph
-.de LB
-.in +\\n(I\\n(IRu
-.ta \\n(I\\n(IRu
-.if \\n(.$ .ti -\\n(I\\n(IRu
-.if \\n(.$ \&\\$1\t\c
-..
-.de XP
-.RT
-.if !\\n(IP .nr IP +1
-.sp \\n(PDu
-.ne 3
-.if \\n(.$=3 .nr I\\n(IR \\$3n
-.if \\n(.$=4 .nr I\\n(IR \\$4n
-.nr J\\n(IR \\n(IRu/2u
-.if \\n(.$=4 .nr J\\n(IR \\$3n
-.in +\\n(I\\n(IRu
-.ta \\n(J\\n(IRu \\n(I\\n(IRu
-.ti -\\n(I\\n(IRu
-\0\\$1\t\\$2\t\c
-..
-. \"RS - prepare for double indenting
-.de RS
-.nr IS \\n(IP
-.RT
-.nr IP \\n(IS
-.if \\n(IP>0 .in +\\n(I\\n(IRu
-.nr IR +1
-.nr I\\n(IR \\n(PIu
-.in +\\n(I\\n(IRu
-.nr TY \\n(TZ-\\n(.i
-.ta \\n(TYuR
-..
-. \"RE - retreat to the left
-.de RE
-.nr IS \\n(IP
-.RT
-.nr IP \\n(IS
-.if \\n(IR>0 .nr IR -1
-.if \\n(IP<=0 .in -\\n(I\\n(IRu
-..
-.de TC
-.nr TZ \\n(.lu
-.if \\n(.$ .nr TZ \\$1n
-.ta \\n(TZuR
-..
-.de TD
-.LP
-.nr TZ 0
-..
-. \"CM - cut mark
-.de CM
-.po 0
-.lt 7.6i
-.ft 1
-.ps 10
-.vs 4p
-.po
-.vs
-.lt
-.ps
-.ft
-..
-. \"B - bold font
-.de B
-.nr PQ \\n(.f
-.if t .ft 3
-.if "\\$1"" .if n .ul 1000
-.if !"\\$1"" .if n .ul 1
-.if t .if !"\\$1"" \&\\$1\\f\\n(PQ\\$2
-.if n .if \\n(.$=1 \&\\$1
-.if n .if \\n(.$>1 \&\\$1\\c
-.if n .if \\n(.$>1 \\&\\$2
-..
-. \"R - Roman font
-.de R
-.if n .ul 0
-.ft 1
-..
-. \"I - italic font
-.de I
-.nr PQ \\n(.f
-.if t .ft 2
-.if "\\$1"" .if n .ul 1000
-.if !"\\$1"" .if n .ul 1
-.if t .if !"\\$1"" \&\\$1\\f\\n(PQ\\$2
-.if n .if \\n(.$=1 \&\\$1
-.if n .if \\n(.$>1 \&\\$1\\c
-.if n .if \\n(.$>1 \\&\\$2
-..
-. \"TA - tabs set in ens or chars
-.de TA
-.ta \\$1n \\$2n \\$3n \\$4n \\$5n \\$6n \\$7n \\$8n \\$9n
-..
-. \"SM - make smaller size
-.de SM
-.if \\n(.$>0 \&\\$3\s-2\\$1\s0\\$2
-.if \\n(.$=0 .ps -2
-..
-. \"LG - make larger size
-.de LG
-.ps +2
-..
-. \"NL - return to normal size
-.de NL
-.ps \\n(PS
-..
-. \"DA - force date; ND - no date or new date.
-.de DA
-.if \\n(.$ .ds DY \\$1 \\$2 \\$3 \\$4
-.ds CF \\*(DY
-..
-.de ND
-.ME
-.rm ME
-.ds DY \\$1 \\$2 \\$3 \\$4
-.rm CF
-..
-.de FN
-.FS
-..
-. \"FS - begin footnote
-.de FJ
-'ce 0
-.di
-.ev1
-.ll \\n(FLu
-.da FF
-.br
-.if \\n(IF>0 .tm Footnote within footnote-illegal.
-.nr IF 1
-.if !\\n+(XX-1 .FA
-..
-. \"FE - footnote end
-.de FK
-.br
-.in 0
-.nr IF 0
-.di
-.ev
-.if !\\n(XX-1 .nr dn +\\n(.v
-.nr YY -\\n(dn
-.if \\n(NX=0 .nr WF 1
-.if \\n(dl>\\n(CW .nr WF 1
-.if (\\n(nl+\\n(.v)<=(\\n(.p+\\n(YY) .ch FO \\n(YYu
-.if (\\n(nl+\\n(.v)>(\\n(.p+\\n(YY) .if \\n(nl>(\\n(HM+1.5v) .ch FO \\n(nlu+\\n(.vu
-.if (\\n(nl+\\n(.v)>(\\n(.p+\\n(YY) .if \\n(nl+\\n(FM+1v>\\n(.p .ch FX \\n(.pu-\\n(FMu+2v
-.if (\\n(nl+\\n(.v)>(\\n(.p+\\n(YY) .if \\n(nl<=(\\n(HM+1.5v) .ch FO \\n(HMu+(4u*\\n(.vu)
-..
-.\" First page footer.
-.de FS
-.ev1
-.br
-.ll \\n(FLu
-.da FG
-..
-.de FE
-.br
-.di
-.nr FP \\n(dn
-.if \\n(1T=0 .nr KG 1 \"not in abstract repeat next page.
-.if "\\n(.z"OD" .nr KG 0 \" if in OK, don't repeat.
-.ev
-..
-.de FA
-.if n __________________________
-.if t \l'1i'
-.br
-..
-.de FV
-.FS
-.nf
-.ls 1
-.FY
-.ls
-.fi
-.FE
-..
-.de FX
-.if \\n(XX>0 .di FY
-.if \\n(XX>0 .ns
-..
-.de XF
-.if \\n(nlu+1v>(\\n(.pu-\\n(FMu) .ch FX \\n(nlu+1.9v
-.ev1
-.nf
-.ls 1
-.FF
-.rm FF
-.nr XX 0 1
-.br
-.ls
-.di
-.fi
-.ev
-..
-.de FL
-.ev1
-.nr FL \\$1n
-.ll \\$1
-.ev
-..
-.de UL \" underline argument, don't italicize
-.if t \\$1\l'|0\(ul'\\$2
-.if n .I \\$1 \\$2
-..
-.de UX
-UNIX
-..
-.de US
-the
-.UX
-operating system
-..
-.de QS
-.br
-.LP
-.in +\\n(QIu
-.ll -\\n(QIu
-..
-.de QE
-.br
-.ll +\\n(QIu
-.in -\\n(QIu
-.LP
-..
-.de B1 \" begin boxed stuff
-.br
-.di BB
-.nr BC 0
-.if "\\$1"C" .nr BC 1
-.nr BE 1
-..
-.de B2 \" end boxed stuff
-.br
-.nr BI 1n
-.if \\n(.$>0 .nr BI \\$1n
-.di
-.nr BE 0
-.nr BW \\n(dl
-.nr BH \\n(dn
-.ne \\n(BHu+\\n(.Vu
-.nr BQ \\n(.j
-.nf
-.ti 0
-.if \\n(BC>0 .in +(\\n(.lu-\\n(BWu)/2u
-.in +\\n(BIu
-.BB
-.in -\\n(BIu
-.nr BW +2*\\n(BI
-.sp -1
-\l'\\n(BWu\(ul'\L'-\\n(BHu'\l'|0\(ul'\h'|0'\L'\\n(BHu'
-.if \\n(BC>0 .in -(\\n(.lu-\\n(BWu)/2u
-.if \\n(BQ .fi
-.br
-..
-.de AT
-.nf
-.sp
-.ne 2
-Attached:
-..
-.de CT
-.nf
-.sp
-.ne 2
-.ie \\n(.$ Copy to \\$1:
-.el Copy to:
-..
-.de BX
-.if t \(br\|\\$1\|\(br\l'|0\(rn'\l'|0\(ul'
-.if n \(br\\kA\|\\$1\|\\kB\(br\v'-1v'\h'|\\nBu'\l'|\\nAu'\v'1v'\l'|\\nAu'
-..
-.IZ
-.rm IZ
-.\" ------------------- VARIABLES ------------------------------
-.\" \na - Current chapter
-.\" \nb - Current section
-.\" \nc - Current subsection
-.\" \nd - Set to 0 initially, 1 by PT, 2 by .PB Used to control running head
-.\" \ne - Current equation number
-.\" \ng - Used to count items in numbered lists
-.\" \nh - Counts number of times CP has been invoked
-.\" \nj - Set to 1 iff footer page number needed
-.\" \nk - Last figure number used
-.\" \nL - 1 if depth printed for each page
-.\" \nl - 1 old Agfa length to be used
-.\" \np - Numbers end-of-chapter problems
-.\" \nq - 1 for double spaced text, smaller vert. margins
-.\" \ns - initial page number
-.\" \nt - Variable part of spacing inside .BI macro
-.\" \nv - Scratch register in lower case roman numerals
-.\" \nx - Scratch register
-.\" ------------------- GENERAL PARAMETERS ---------------------
-.nr BO 43 \" number of lines of text per page
-.nr PO 1.3i
-.po \n(PO
-.if \nq=1 .ls 2 \" -rq1 invokes double spacing
-.nr LL 5.67i
-.if t \{
-.nr PL 29.73c
-.nr PI 0.25i\}
-.if n \{
-.nr LL 80m
-.nr PL 11.0i
-.nr PI 3m\}
-.pl \n(PLu
-.nr HM (\n(PLu-(\n(BOu*\n(VSu))/2u
-.nr FM \n(PLu-(\n(HMu+((\n(BOu-1u)*\n(VSu)+1u)
-.nr xx \n(HMu%\n(VZu
-.nr HM \n(HMu-\n(xxu
-.nr FM \n(FMu+\n(xxu
-.nr t 0 0
-.\" ------------------- INITIALIZATION -------------------------
-.nr d 0 0
-.nr e 0 1
-.nr h 0 1
-.nr j 1 0
-.nr t 0 0
-.tr ~
-.ds CT "~ \"initially empty
-.ND \"suppress date on bottom of page
-.af v i \"register v is in lower case roman
-.ch FO -\n(FMu
-.ch BT -\n(FMu+0.5P
-.\" ------------------- ALIGN TEXT TO A WHOLE NUMBER OF PICAS ----
-.de AL
-'nr xx \\n(.du%\\n(VZu
-'nr xy \\n(VZu-\\n(xx
-'if \\n(xy=\\n(VZu .nr xy 0
-'sp \\n(xyu
-..
-.\" ------------------- DIVISION OF TEXT INTO LOGICAL UNITS ----
-.\" Define chapter number
-.de CP
-.ds CN \\$1
-.ds CX CHAP.
-.if '\\$1'A' .ds CX APPENDIX
-.if '\\$1'B' .ds CX APPENDIX
-.if '\\$1'C' .ds CX APPENDIX
-.if '\\$1'D' .ds CX APPENDIX
-.if '\\$1'E' .ds CX APPENDIX
-.if '\\$1'F' .ds CX APPENDIX
-.if '\\$1'A' .nr a 0 0
-.if '\\$1'B' .nr a 0 0
-.if '\\$1'C' .nr a 0 0
-.if '\\$1'D' .nr a 0 0
-.if '\\$1'E' .nr a 0 0
-.if '\\$1'F' .nr a 0 0
-.nr H1 \\$1 0
-.nr H2 0 1
-.nr a \\$1 0
-.nr b 0 1
-.nr c 0 1
-.nr d 1 1
-.nr e 0 1
-.nr k 0 1
-.nr s \\n%
-.if \\nq=1 .PH 6
-.ll \\n(LLu
-.nr LT \\n(LLu
-.lt \\n(LLu
-.ll \\n(LLu
-.pl \n(PLu
-.po \n(POu
-.in 0
-.nr PS \\n(PZ
-.nr VS \\n(VZu
-.nr PD 0i
-.ds ST
-.ds CT \\$2
-.if !'\\$3'' .as CT " \\$3
-.if \\nh .bp
-.rs
-.sp 16P
-.B
-.ps 30
-.vs 32
-.ce 1
-\\$1
-.sp 4P
-.ps 18
-.vs 20
-.ce 1
-\\$2
-.sp 0.25i
-.if !'\\$3'' .ce 1
-.if !'\\$3'' \\$3
-.ps 10
-.vs 12
-.R
-.nr x \\n(.pu/2u
-.sp |\\nxu
-.nr h +1 1
-.tr _\\(ru
-.AL
-..
-.de SP
-.sp \\$1 \"used for temporary (page balancing ) fill
-..
-.de HS
-.sp 0.5
-..
-.\" Major section (numbered)
-.de SE
-.nr b +1 1
-.nr c 0 1
-.ds ST \\$1
-.sp 1
-.NH 2
-\\$1
-.sp 1
-..
-.\" Subsection (numbered)
-.de SS
-.nr c +1 1
-.NH 3
-\\$1
-.sp 1
-..
-.de UU
-.SH
-\\$1
-.sp 1
-..
-.\"-------------------- PAGE TRANSITION MACROS USED BY -MS ------
-.de PH \"select special running heads
-.nr d \\$1
-.if \\$1=4 .nr j 1
-.ds CT \\$2
-..
-.de PT
-.AL
-.pc %
-.PN \\n%
-'sp |\\n(HMu-0.35i
-.ps 10
-.\"
-.\" nd = 0 means no running head this time, normal next time
-.if \\nd=0 \{\
-.tl '''' \" no running head on initial page transition
-.nr j 1 0\}
-.\"
-.\" nd = 1 is normal case: chapter heading even (left) and section odd(right)
-.if \\nd=1\{\
-.if e .tl '\fB\s+2%\s-2\fR'\\*(CT'\\*(CX~ \\*(CN' \"normal case even page
-.if o .if \\nb>0 .tl 'SEC.~ \\*(CN.\\nb'\\*(ST'\fB\s+2%\s-2\fR'
-.if o .if \\nb=0 .tl '''\fB\s+2%\s-2\fR'\}
-.if o .if \\nb=-999 .tl '\\*(CX~ \\*(CN'\\*(CT'\fB\s+2%\s-2\fR'\}
-.\"
-.\" nd = 2 is for PROBLEMS; even normal, odd CHAP. ... PROBLEMS %
-.if \\nd=2\{\
-.if e .tl '\fB\s+2%\s-2\fR'\\*(CT'\\*(CX~ \\*(CN' \"even page PROBLEMS
-.if o .if \\nd=2 .tl '\\*(CX~ \\*(CN'PROBLEMS'\fB\s+2%\s-2\fR' \}
-.\"
-.\" nd = 3 is for index, problem solutions & other cases with same odd even hd
-.if \\nd=3\{\
-.if e .tl '\fB\s+2%\s-2\fR'\\*(CT''
-.if o .tl ''\\*(CT'\fB\s+2%\s-2\fR'\}
-.\"
-.\" nd = 4 is like nd = 3, except page numbers are lower case roman
-.if \\nd=4\{\
-.nr v \\n%
-.if e .tl '\fB\s+2\\nv\s-2\fR'\\*(CT''
-.if o .tl ''\\*(CT'\fB\s+2\\nv\s-2\fR'\}
-.\"
-.\" nd = 5 suppresses running heads like nd=0, only it keeps them suppressed
-.if \\nd=5 .tl ''''
-.\" nd = 6 gives page number in right-hand corner only
-.if \\nd=6 .tl '''%'
-.if \\nd=0 .nr d 1 0 \" henceforth normal running heads
-..
-.de BT
-.if \\n%=\\ns\{\
-.nr x \\n(HMu+(\\n(BO*\\n(VSu)+2P
-'sp |\\nxu
-.nr v \\n%
-.ie \\nd=4 .tl ''\fB\s-1\\nv\s0\fP''
-.el .tl ''\fB\s-1\\n%\s0\fP''\}
-.nr j 0 0
-.if \\nd=0 .nr d 1 0
-..
-.\"--------------- CHECK FOR INITIAL PAGE NUMBER ---------------
-.de PC
-.if \n%<\\$1\{
-.tm You forgot to set the page number. Run aborted. Use troff -n
-.ex\}
-.if \n%>\\$2\{
-.tm You forgot to set the page number. Run aborted. Use troff -n
-.ex\}
-..
-.\"-------------------- LISTS OF THINGS ------------------------
-.\" Start list
-.de LI
-.nr g 0 1
-.in +0.25i
-.nr LL -0.25i
-.ll -0.25i
-.ne 3v
-.HS
-..
-.\" End list
-.de LX
-.sp 1
-.in -0.25i
-.nr LL +0.25i
-.ll +0.25i
-.LP
-..
-.\" List item
-.de IT
-.HS
-.nr g \\ng+1 1
-.ie \\ng<10 .IP \0\\ng. 4
-.el .IP \\ng. 4
-..
-.\"Short unnumbered lines
-.de UN
-.HS
-..
-.\"-------------------- END OF CHAPTER EXERCISES ---------------
-.de PB
-.nr d 2 0
-.if \\nq=1 .PH 6
-.ne 1.5i
-.sp 0.5i
-.ce 1
-.B PROBLEMS
-.sp 1
-.nr p 0 1
-..
-.de PR
-.ps 11
-.vs 13
-.nr PS 11
-.nr VS 13.01p
-.HS
-.nr p +1 1
-.in \w'00. 'u
-.ti -\w'00. 'u
-.if \\np>9 \fB\\np.\fR~~\c
-.if \\np<10 \fB\0\\np.\fR~~\c
-..
-.de AA
-.sp 3
-.if n .nr LL 84m
-.nr PS \\n(PZ
-.nr VS \\n(VZu
-.nr a \\$1 1
-.nr b 0 0
-.nr p 0 1
-.ce 1
-.nr x 1
-.if '\\$1'A' .nr x 0
-.if '\\$1'B' .nr x 0
-.if '\\$1'C' .nr x 0
-.if \\nq=1 .PH 6
-.if \\nx\fBSOLUTIONS TO CHAPTER \\$1 PROBLEMS\fR
-.if !\\nx\fBSOLUTIONS TO APPENDIX \\$1 PROBLEMS\fR
-.sp 1v
-..
-.de AN
-.HS
-.ps \\n(PZ
-.vs \\n(VSu
-.nr PS \\n(PZ
-.nr VS \\n(VZu
-.nr p +1 1
-.in \w'00. 'u
-.ti -\w'00. 'u
-.if \\np>9 \fB\\np.\fR~~\c
-.if \\np<10 \fB\0\\np.\fR~~\c
-..
-.\"-------------------- BIBLIOGRAPHY ---------------------------
-.de BB
-.sp 2
-.in 0.25i
-..
-.de BI
-.ps 10
-.vs 12
-.sp \\ntu
-.HS
-.if n .HS
-.ti -0.30i
-.R
-..
-.\"-------------------- QUOTES ---------------------------------
-.ds OQ `\h'-1p'`
-.ds CQ '\h'-1p''
-.\"-------------------- FIGS.-----------------------------------
-.de FC
-'sp 1v
-.ps 10
-.vs 12
-.in +0.5i
-.ll -0.5i
-.B
-.if '\\$1'C' .ce 1
-Fig.\|\|\|\\*(CN-\\n+k.~\c
-.R
-..
-.de BF
-.KF
-'sp 1v
-.nr TP \\n(.s
-.nr TV \\n(.v
-.nr TF \\n(.f
-.nr r 0 0
-.if \\nq=0 .if "\\$1"PAGE" .KP
-.if \\nq=0 .if "\\$1"PAGE" .nr r 1 0
-.if \\nq=0 .if !"\\$1"PAGE" .sp \\$1
-.if \\nq=1 .sp 0.5i
-.FC \\$2
-..
-.de EF
-.in -0.5i
-.ll +0.5i
-.ps \\n(TP
-.vs \\n(TV
-.ft \\n(TF
-'if \\nr==0 'sp 30u
-'AL
-.KE
-..
-.de NF
-.nr x \\nk+1
-.ie !'\\$1'X' Fig.~\\*(CN-\\nx\\$1
-.el Figure \\*(CN-\\nx\\$2
-..
-.de PF
-.ie !'\\$1'X' Fig.~\\*(CN-\\nk\\$1
-.el Figure \\*(CN-\\nk\\$2
-..
-.\"-------------------- MULTIPLE BLANK PAGES -------------------
-.de MP
-.if \\$1 \{\
-.KF
-.KP
-.KE
-.MP \\$1-1
-.if \\$1<2 .nr k +1 1
-\}
-..
-.\"-------------------- TABLE OF CONTENTS ----------------------
-.de XT
-.if t .ta 0.4i 0.8i 0.9i \\n(LLuR
-.if n .ta 0.3i 1.0i 1.1i 5.0iR
-.ps 11
-.vs 13
-.nr a \\$1 0
-.nr b 0 1
-.nr c 0 1
-.sp 0.40i
-.ne 0.3i
-.B
-\\s18\\$1\\s12 \\$2 \\$3\\fR\\s11
-.br
-.if !'\\$4'' \\fB\\$4\\fR
-.R
-.sp 0.5v
-..
-.de XE
-.nr b +1 1
-.nr c 0 1
-.HS
- \\na.\\nb \\$1 \\$2
-..
-.de XS
-.nr c +1 1
- \\na.\\nb.\\nc \\$1 \\$2
-..
-.\"------------------- INDEX -----------------------------------
-.de IL
-.nr PS \\n(PZ-2
-.nr VS 12.01p
-.LP
-.nf
-.na
-.sp 2v
-.ne 2
-\fB\s+4\\$1\\s0\fR
-.sp 1v
-..
-.\"------------------- NEW .B MACRO ----------------------------
-.rm B
-.de B
-.nr PQ \\n(.f
-.ft 3
-.if !"\\$1"" \&\\$1\\f\\n(PQ\\$2
-..
-.\"--------------------- FIXES NEEDED TO -MS -------------------
-.\" Remove .if n .ul 1000 from .NH
-.\" Remove .if n .ul 1000 from .SH
-.\" Fix to allow letters as chapter "numbers"
-.\"
-.\" Here is the b3mac file
-.nr Cs 10
-.fp 5 H
-.ds fm \(fm
-.ds em \(em
-.de F
-\\fI\\$1\\fR\\$2
-..
-.de CC
-.HS
-~~~~~\\s\\n(Cs\\f5\\$1\\fP\\s0
-.HS
-.LP
-..
-.de Cx
-~~~~~\\s\\n(Cs\\f5\\$1\\fP\\s0\\$2
-..
-.de Cb
-.in +0.25i
-\\s\\n(Cs
-.HS
-\\f5
-..
-.de Ce
-.HS
-\\fR
-.nr PS \\n(PZ
-.nr VS \\n(VZ
-.LP
-.in -0.25i
-..
-.de SY
-\\$3\s-2\\$1\s+2\\$2
-..
-.de SM
-\\$3\s-1\\$1\s+1\\$2
-..
-.de FN
-\&\\fI\\$1\\fR\\$2
-..
-.de DI
-\&\\fI\\$1\\fR\\$2
-..
-.de FI
-\&\\fI\\$1\\fR\\$2
-..
-.de LN
-.nr x \\$1+\\$2
-\\$4line
-.L4 \\nx \\$3
-..
-.de LS
-.nr x \\$1+\\$2
-.nr y \\$1+\\$3
-.nr z \\nx+1
-\\$5lines
-.L4 \\nx
-.ie \\ny=\\nz and
-.el to
-.L4 \\ny \\$4
-..
-.ds SQ \(fm\h'-0.05c'\(fm
-.de L4
-.ie \\$1<10 000\\$1\\$2
-.el .ie \\$1<100 00\\$1\\$2
-.el .ie \\$1<1000 0\\$1\\$2
-.el \\$1\\$2
-..
-.de KW
-\f5\\$1\\$2\fR
-..
-.ds M0 MINIX
-.ds M1 \\s-1MINIX\\s+1
-.ds M2 \\s-2MINIX\\s+2
-.ds M9 \\s-1MINIX\\s+1
-.ds m0 minix
-.de MX
-\s-1MINIX 3\s-1\\$1
-..
-.de Ux
-\s-2UNIX\s+2\\$1
-..
-.tr _\(ru
-.de UX
-\s-2UNIX\s+2\\$1
-..
-.ds Mx \\s-1MINIX\\s0
-.ds Mp \\s-1MINIX-PC\\s0
-.ds Ms \\s-1MINIX-ST\\s0
-.de CW
-\f5
-..
-.de Bu
-.HS
-.IP "\0\(bu" 4
-..
-.de CD
-.ne 2
-.if t .ta 0.9i 1.15i 2.75i 3.25i 3.75i
-.if n .ta 11m 15m 40m
-.nr x 0 0
-.nr y 0 0
-.nr z 0 0
-.if n #\\$1
-.if n .br
-\\fBCommand:\& \\$1\\fR
-.br
-..
-.de SX
-.if \\nx<=0 \\fBSyntax:\& \\$1
-.if \\nx>0 \& \\fB\\$1
-.nr x 1 1
-.br
-..
-.de FL
-.if \\ny<=0 \\fBFlags:\& \\fB\\$1 \\fR\\$2
-.if \\ny>0 \& \\fB\\$1 \\fR\\$2
-.nr y 1 1
-.br
-..
-.de EX
-.br
-.nf
-.if \\nz<=0 \\fB\&Examples: \\fR\\$1 \\fR# \\$2
-.if \\nz>0 \& \\fR\\$1 \\fR# \\$2
-.nr z 1 1
-.br
-..
-.de EY
-.br
-.nf
-.if \\nz<=0 \\fB\&Example: \\fR\\$1 \\fR# \\$2
-.if \\nz>0 \& \\fR\\$1 \\fR# \\$2
-.nr z 1 1
-.br
-..
+++ /dev/null
-.so mnx.mac
-.TH MINED 1x
-.CD "mined \(en \*(M2 editor"
-.SX "mined\fR [\fIfile\fR]
-.FL "\fR(none)"
-.TP 20
-.B mined /user/ast/book.3
-# Edit an existing file
-.TP 20
-.B mined
-# Call editor to create a new file
-.TP 20
-.B ls \(enl | mined
-# Use \fImined\fR as a pager to inspect listing
-.PP
-\fIMined\fR is a simple screen editor.
-At any instant, a window of 24 lines is visible on the screen.
-The current position in the file is shown by the cursor.
-Ordinary characters typed in are inserted at the cursor.
-Control characters and keys on the numeric keypad (at the right-hand side
-of the keyboard) are used to move the cursor and perform other functions.
-.PP
-Commands exist to move forward and backward a word, and delete words
-either in front of the cursor or behind it.
-A word in this context is a sequence of characters delimited on both ends by
-white space (space, tab, line feed, start of file, or end of file).
-The commands for deleting characters and words also work on line feeds, making
-it possible to join two consecutive lines by deleting the line feed between them.
-.PP
-The editor maintains one save buffer (not displayed).
-Commands are present to move text from the file to the buffer, from the buffer
-to the file, and to write the buffer onto a new file.
-If the edited text cannot be written out due to a full disk, it may still
-be possible to copy the whole text to the save buffer and then write it to a
-different file on a different disk with CTRL-Q.
-It may also be possible to escape from the editor with CTRL-S and remove
-some files.
-.PP
-Some of the commands prompt for arguments (file names, search patterns, etc.).
-All commands that might result in loss of the file being edited prompt to ask
-for confirmation.
-.PP
-A key (command or ordinary character) can be repeated
-.I n
-times by typing
-.I "ESC n key"
-where
-.I ESC
-is the \*(OQescape\*(CQ key.
-.PP
-Forward and backward searching requires a regular expression as the search
-pattern.
-Regular expressions follow the same rules as in the
-.Ux
-editor,
-.I ed .
-These rules can be stated as:
-.LI
-.IT
-Any displayable character matches itself.
-.IT
-\&. (period) matches any character except line feed.
-.IT
-\&^ (circumflex) matches the start of the line.
-.IT
-\&$ (dollar sign) matches the end of the line.
-.IT
-\&\\c matches the character \fIc\fR (including period, circumflex, etc).
-.IT
-[\fIstring\fR] matches any of the characters in the string.
-.IT
-[^string] matches any of the characters except those in the string.
-.IT
-[\fIx\(eny\fR] matches any characters between \fIx\fR and \fIy\fR (e.g., [\fIa\(enz\fR]).
-.IT
-Pattern\(** matches any number of occurrences of \fIpattern\fR.
-.LX
-Some examples of regular expressions are:
-.HS
-.in +1.25i
-.ta +1.0i
-.ti -1.0i
-The boy matches the string \*(OQThe boy\*(CQ
-.ti -1.0i
-^$ matches any empty line.
-.ti -1.0i
-^.$ matches any line containing exactly 1 character
-.ti -1.0i
-^A.*\\.$ matches any line starting with an \fIA\fR, ending with a period.
-.ti -1.0i
-^[A\(enZ]*$ matches any line containing only capital letters (or empty).
-.ti -1.0i
-[A\(enZ0\(en9] matches any line containing either a capital letter or a digit.
-.ti -1.0i
-\&.*X$ matches any line ending in \*(OQX\*(CQ
-.ti -1.0i
-A.*B matches any line containing an \*(OQA\*(CQ and then a \*(OQB\*(CQ
-.in -1.25i
-.sp
-.PP
-Control characters cannot be entered into a file simply by typing them because
-all of them are editor commands.
-To enter a control character, depress the ALT key, and then while holding it
-down, hit the ESC key.
-Release both ALT and ESC and type the control character.
-Control characters are displayed in reverse video.
-.PP
-The
-.I mined
-commands are as follows.
-.sp
-.in +1.25i
-.ta +1.0i
-.ti -1.25i
-\fBCURSOR MOTION\fR
-.ti -1.0i
-\fBarrows\fR Move the cursor in the indicated direction
-.ti -1.0i
-\fBCTRL-A\fR Move cursor to start of current line
-.ti -1.0i
-\fBCTRL-Z\fR Move cursor to end of current line
-.ti -1.0i
-\fBCTRL-^\fR Move cursor to top of screen
-.ti -1.0i
-\fBCTRL-_\fR Move cursor to end of screen
-.ti -1.0i
-\fBCTRL-F\fR Move cursor forward to start of next word
-.ti -1.0i
-\fBCTRL-B\fR Move cursor backward to start of previous word
-
-.ti -1.25i
-\fBSCREEN MOTION\fR
-.ti -1.0i
-\fBHome key\fR Move to first character of the file
-.ti -1.0i
-\fBEnd key\fR Move to last character of the file
-.ti -1.0i
-\fBPgUp key\fR Scroll window up 23 lines (closer to start of the file)
-.ti -1.0i
-\fBPgDn key\fR Scroll window down 23 lines (closer to end of the file)
-.ti -1.0i
-\fBCTRL-U\fR Scroll window up 1 line
-.ti -1.0i
-\fBCTRL-D\fR Scroll window down 1 line
-
-.ti -1.25i
-\fBMODIFYING TEXT\fR
-.ti -1.0i
-\fBDel key\fR Delete the character under the cursor
-.ti -1.0i
-\fBBackspace\fR Delete the character to left of the cursor
-.ti -1.0i
-\fBCTRL-N\fR Delete the next word
-.ti -1.0i
-\fBCTRL-P\fR Delete the previous word
-.ti -1.0i
-\fBCTRL-T\fR Delete tail of line (all characters from cursor to end of line)
-.ti -1.0i
-\fBCTRL-O\fR Open up the line (insert line feed and back up)
-.ti -1.0i
-\fBCTRL-G\fR Get and insert a file at the cursor position
-
-.ti -1.25i
-\fBBUFFER OPERATIONS\fR
-.ti -1.0i
-\fBCTRL-@\fR Set mark at current position for use with CTRL-C and CTRL-K
-.ti -1.0i
-\fBCTRL-C\fR Copy the text between the mark and the cursor into the buffer
-.ti -1.0i
-\fBCTRL-K\fR Delete text between mark and cursor; also copy it to the buffer
-.ti -1.0i
-\fBCTRL-Y\fR Yank contents of the buffer out and insert it at the cursor
-.ti -1.0i
-\fBCTRL-Q\fR Write the contents of the buffer onto a file
-
-.ti -1.25i
-\fBMISCELLANEOUS\fR
-.ti -1.0i
-\fBnumeric +\fR Search forward (prompts for regular expression)
-.ti -1.0i
-\fBnumeric \(mi\fR Search backward (prompts for regular expression)
-.ti -1.0i
-\fBnumeric 5\fR Display the file status
-.ti -1.0i
-\fBCTRL-]\fR Go to specific line
-.ti -1.0i
-\fBCTRL-R\fR Global replace \fIpattern\fR with \fIstring\fR (from cursor to end)
-.ti -1.0i
-\fBCTRL-L\fR Line replace \fIpattern\fR with \fIstring\fR
-.ti -1.0i
-\fBCTRL-W\fR Write the edited file back to the disk
-.ti -1.0i
-\fBCTRL-X\fR Exit the editor
-.ti -1.0i
-\fBCTRL-S\fR Fork off a shell (use CTRL-D to get back to the editor)
-.ti -1.0i
-\fBCTRL-\\\fR Abort whatever the editor was doing and wait for command
-.ti -1.0i
-\fBCTRL-E\fR Erase screen and redraw it
-.ti -1.0i
-\fBCTRL-V\fR Visit (edit) a new file
-.in -1.25i
-
-.SS "Author"
-.PP
-\fIMined\fR was designed by Andy Tanenbaum and written by Michiel Huisjes.