From fc850d580cb4a71848a512b47da1c54bc995858d Mon Sep 17 00:00:00 2001 From: Thomas Cort Date: Tue, 24 Mar 2015 16:24:39 -0400 Subject: [PATCH] man: clean-out man1x category. Removes the following man pages: * awk.1x -- for a version of awk we no longer have * kermit.1x -- seems gone altogether * macros.1x -- not useful for anyone anymore Moves the following man pages: * mined.1x -- Moved to minix/commands/mined/mined.1 and reformatted to use the mdoc macros instead of the Minix macros so that it displays properly. Removes /usr/man/man1x from the directory tree. closes #44 Change-Id: I59b8bd54cf5cba6d188e51e99a92b36e90c275c1 --- distrib/sets/lists/minix/mi | 11 +- etc/mtree/NetBSD.dist.base | 1 - minix/commands/mined/Makefile | 1 - minix/commands/mined/mined.1 | 229 ++++++ minix/man/Makefile | 2 +- minix/man/man1x/Makefile | 4 - minix/man/man1x/awk.1x | 248 ------ minix/man/man1x/kermit.1x | 130 --- minix/man/man1x/macros.1x | 1465 --------------------------------- minix/man/man1x/mined.1x | 206 ----- 10 files changed, 236 insertions(+), 2061 deletions(-) create mode 100644 minix/commands/mined/mined.1 delete mode 100644 minix/man/man1x/Makefile delete mode 100644 minix/man/man1x/awk.1x delete mode 100644 minix/man/man1x/kermit.1x delete mode 100644 minix/man/man1x/macros.1x delete mode 100644 minix/man/man1x/mined.1x diff --git a/distrib/sets/lists/minix/mi b/distrib/sets/lists/minix/mi index cb0db7c71..5c848b3c1 100644 --- a/distrib/sets/lists/minix/mi +++ b/distrib/sets/lists/minix/mi @@ -2520,6 +2520,7 @@ ./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 @@ -2687,11 +2688,11 @@ ./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 diff --git a/etc/mtree/NetBSD.dist.base b/etc/mtree/NetBSD.dist.base index f99527388..a7274e74e 100644 --- a/etc/mtree/NetBSD.dist.base +++ b/etc/mtree/NetBSD.dist.base @@ -110,7 +110,6 @@ ./usr/log ./usr/man ./usr/man/man1 -./usr/man/man1x ./usr/man/man2 ./usr/man/man3 ./usr/man/man4 diff --git a/minix/commands/mined/Makefile b/minix/commands/mined/Makefile index 891b60b58..d20eebd0b 100644 --- a/minix/commands/mined/Makefile +++ b/minix/commands/mined/Makefile @@ -2,6 +2,5 @@ PROG= mined SRCS= mined1.c mined2.c -MAN= .include diff --git a/minix/commands/mined/mined.1 b/minix/commands/mined/mined.1 new file mode 100644 index 000000000..bd6a27a50 --- /dev/null +++ b/minix/commands/mined/mined.1 @@ -0,0 +1,229 @@ +.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 diff --git a/minix/man/Makefile b/minix/man/Makefile index ff1726c89..6da640c9c 100644 --- a/minix/man/Makefile +++ b/minix/man/Makefile @@ -1,6 +1,6 @@ .include -SUBDIR= man1 man1x man2 man4 man5 man7 man8 man9 +SUBDIR= man1 man2 man4 man5 man7 man8 man9 WHATISDBDIR?= /usr/man diff --git a/minix/man/man1x/Makefile b/minix/man/man1x/Makefile deleted file mode 100644 index 4ee74995e..000000000 --- a/minix/man/man1x/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -MAN= awk.1x kermit.1x \ - macros.1x mined.1x - -.include diff --git a/minix/man/man1x/awk.1x b/minix/man/man1x/awk.1x deleted file mode 100644 index 4b05117c4..000000000 --- a/minix/man/man1x/awk.1x +++ /dev/null @@ -1,248 +0,0 @@ -.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 -~~~ { } -~~~ { } -~~~... -.HS -There may be any number of these { } -sequences in the rules file. \fIAwk\fR reads a line of input from -the current input file and applies every { } -in sequence to the line. -.PP -If the corresponding to any { } is missing, -the action is applied to every line of input. The default -{ } is to print the matched input line. -.SS "Patterns" -.PP -The s may consist of any valid C expression. If the - consists of two expressions separated by a comma, it -is taken to be a range and the is performed on all -lines of input that match the range. 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 that matches the beginning of input text. -.ti -1.25i -END A special 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. diff --git a/minix/man/man1x/kermit.1x b/minix/man/man1x/kermit.1x deleted file mode 100644 index 16c2c2402..000000000 --- a/minix/man/man1x/kermit.1x +++ /dev/null @@ -1,130 +0,0 @@ -.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. diff --git a/minix/man/man1x/macros.1x b/minix/man/man1x/macros.1x deleted file mode 100644 index e870f9452..000000000 --- a/minix/man/man1x/macros.1x +++ /dev/null @@ -1,1465 +0,0 @@ -.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 \\*(CH .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 -.. diff --git a/minix/man/man1x/mined.1x b/minix/man/man1x/mined.1x deleted file mode 100644 index 368e536fb..000000000 --- a/minix/man/man1x/mined.1x +++ /dev/null @@ -1,206 +0,0 @@ -.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. -- 2.44.0