Some man pages.

This commit is contained in:
rsc 2005-01-03 06:40:20 +00:00
parent 2600337aa7
commit 058b0118a5
214 changed files with 17112 additions and 1999 deletions

175
man/man1/9c.1 Normal file
View file

@ -0,0 +1,175 @@
.TH 9C 1
.SH NAME
9c, 9a, 9l, 9ar \- C compiler, assembler, linker, archiver
.SH SYNOPSIS
.B 9c
.I file
\&...
.PP
.B 9a
.I file
\&...
.PP
.B 9l
[
.I -o
.I target
]
.I object
\&...
[
.I library
\&...
]
[
.BI -L path
\&...
]
[
.BI -l library
\&...
]
.PP
.B 9ar
.I key
[
.I posname
]
.I afile
[
.I file
\&...
]
.SH DESCRIPTION
These programs are shell scripts that invoke the appropriate standard tools
for the current operating system and architecture.
One can use them to write portable recipes for mkfiles.
.PP
.I 9c
compiles the named C
.I files
into object files for the current system.
The system C compiler is invoked with warnings enabled,
with the symbol
.B PLAN9PORT
is defined in the C preprocessor, and with
.B $PLAN9/include
on the include path.
.PP
.I 9c
also defines
.B __sun__
on SunOS systems and
.B __Linux26__
on Linux systems with 2.6-series kernels.
.PP
.I 9a
assembles the named files into object files for the current system.
Unlike some system assemblers, it does
.I not
promise to run the C preprocessor on the source files.
.PP
.I 9l
links the named object files and libraries to create the target executable.
Each
.B -l
option specifies that a library named
.BI lib library .a
be found and linked.
The
.B -L
option adds directories to the library search path.
.I 9l
invokes the system linker with
.B $PLAN9/lib
already on the library search path.
.PP
.I 9ar
maintains object file archives called libraries.
The exact set of valid command keys varies from system to system,
but
.I 9ar
always provides the following key characters:
.TP
.B d
Delete
.I files
from the archive file.
.TP
.B r
Replace
.I files
in the archive file, or add them if missing.
.TP
.B t
List a table of contents of the archive.
If names are given, only those files are listed.
.TP
.B x
Extract the named files.
If no names are given, all files in the archive are
extracted.
In neither case does
.B x
alter the archive file.
.TP
.B v
Verbose.
Give a file-by-file
description of the making of a
new archive file from the old archive and the constituent files.
With
.BR t ,
give a long listing of all information about the files,
somewhat like a listing by
.IR ls (1),
showing
.br
.ns
.IP
.B
mode uid/gid size date name
.TP
.B c
Create.
Normally
.I 9ar
will create a new archive when
.I afile
does not exist, and give a warning.
Option
.B c
discards any old contents and suppresses the warning.
.PD
.PP
When a
.BR d ,
.BR r ,
or
.BR m
.I key
is specified,
.I 9ar
inserts a table of contents, required by the linker, at
the front of the library.
The table of contents is
rebuilt whenever the archive is modified.
.SH EXAMPLE
.TP
.L
9c file1.c file2.c file3.c
Compile three C source files.
.TP
.L
9a file4.s
Assemble one assembler source file.
.TP
.L
9ar rvc lib.a file[12].o
Archive the first two object files into a library.
.L
9l -o prog file3.o file4.o lib.a
Link the final two object files and any necessary objects from the library
into an executable.
.SH SOURCE
.B /usr/local/plan9/bin

125
man/man1/9p.1 Normal file
View file

@ -0,0 +1,125 @@
.TH 9P 1
.SH NAME
9p \- read and write files on a 9P server
.SH SYNOPSIS
.B 9p
[
.B -a
.I addr
]
.B read
.I path
.br
.B 9p
[
.B -a
.I addr
]
.B readfd
.I path
.PP
.B 9p
[
.B -a
.I addr
]
.B write
.I path
.br
.B 9p
[
.B -a
.I addr
]
.B writefd
.I path
.PP
.B 9p
[
.B -a
.I addr
]
.B stat
.I path
.SH DESCRIPTION
.I 9p
is a trivial 9P client that can access a single file on a 9P server.
It can be useful for manual interaction with a 9P server or for
accessing simple 9P services from within shell scripts.
.PP
The first argument is a command, one of:
.TP
.B read
print the contents of
.I path
to standard output
.TP
.B write
write data on standard input to
.I path
.TP
.BR readfd ", " writefd
like
.B read
and
.B write
but use
.IR openfd (9p)
instead of
.IR open ;
this masks errors and is mainly useful for debugging
the implementation of
.I openfd
.TP
.B stat
execute
.I stat (9p)
on
.I path
and print the result
.PD
.PP
.I 9p
dials
.I address
to connect to the 9P server.
If the
.B -a
option is not given,
.I 9p
requires the
.I path
to be of the form
.IB service / subpath \fR;
it connects to the Unix domain socket
.I service
in the name space directory
(see
.IR intro (4))
and then accesses
.IR subpath .
.SH EXAMPLE
To update
.IR plumber (4)'s
copy of your plumbing rules after editing
.BR $HOME/lib/plumbing :
.IP
.EX
cat $HOME/lib/plumbing | 9p write plumb/rules
.EE
.PP
To display the contents of the current
.IR acme (4)
window (specified by the environment variable
.BR $winid )
on standard output:
.IP
.EX
9p read acme/$winid/body
.EE
.SH SOURCE
.B /usr/local/plan9/src/cmd/9p.c
.SH SEE ALSO
.IR intro (4),
.IR intro (9p),
.IR 9pclient (3)

View file

@ -12,7 +12,7 @@
]
[
.I cmd
...
\&...
]
.PP
.B label
@ -272,7 +272,9 @@ to turn on hold mode first.
The
.B plumb
menu item sends the contents of the selection (not the snarf buffer) to the
.IR plumber (1).
.I plumber
(see
.IR plumb (1)).
If the selection is empty, it sends the white-space-delimited text
containing the selection (typing cursor).
A typical use of this feature is to tell the editor to find the source of an error

170
man/man1/INDEX Normal file
View file

@ -0,0 +1,170 @@
9a 9c.1
9ar 9c.1
9c 9c.1
9l 9c.1
9p 9p.1
9term 9term.1
label 9term.1
acid acid.1
acidtypes acid.1
acme acme.1
awd acme.1
win acme.1
ascii ascii.1
unicode ascii.1
astro astro.1
basename basename.1
bc bc.1
bundle bundle.1
cal cal.1
calendar calendar.1
cat cat.1
read cat.1
cleanname cleanname.1
cmp cmp.1
colors colors.1
getmap colors.1
comm comm.1
core core.1
crop crop.1
iconv crop.1
clock date.1
date date.1
db db.1
dc dc.1
delatex deroff.1
deroff deroff.1
dict dict.1
diff diff.1
doctype doctype.1
echo echo.1
ed ed.1
eqn eqn.1
factor factor.1
primes factor.1
fmt fmt.1
htmlfmt fmt.1
fortune fortune.1
freq freq.1
fsize fsize.1
mtime fsize.1
grap grap.1
graph graph.1
g grep.1
grep grep.1
gview gview.1
bunzip2 gzip.1
bzip2 gzip.1
gunzip gzip.1
gzip gzip.1
unzip gzip.1
zip gzip.1
hoc hoc.1
idiff idiff.1
join join.1
bmp jpg.1
gif jpg.1
ico jpg.1
jpg jpg.1
png jpg.1
ppm jpg.1
togif jpg.1
toico jpg.1
topng jpg.1
toppm jpg.1
yuv jpg.1
kill kill.1
slay kill.1
start kill.1
stop kill.1
awd label.1
label label.1
lex lex.1
look look.1
lc ls.1
ls ls.1
lookman man.1
man man.1
map map.1
mapdemo map.1
mc mc.1
membername mk.1
mk mk.1
mkdir mkdir.1
namespace namespace.1
news news.1
p p.1
img page.1
page page.1
psv page.1
pic pic.1
tpic pic.1
plot plot.1
plumb plumb.1
pr pr.1
proof proof.1
ps ps.1
psu ps.1
pbd pwd.1
pwd pwd.1
. rc.1
cd rc.1
eval rc.1
exec rc.1
exit rc.1
flag rc.1
rc rc.1
rfork rc.1
shift rc.1
wait rc.1
whatis rc.1
~ rc.1
rio rio.1
rm rm.1
B sam.1
E sam.1
sam sam.1
sam.save sam.1
samsave sam.1
samterm sam.1
scat scat.1
aescbc secstore.1
ipso secstore.1
secstore secstore.1
9sed sed.1
sed sed.1
seq seq.1
sleep sleep.1
sort sort.1
spell spell.1
sprog spell.1
split split.1
src src.1
stats stats.1
strings strings.1
md5sum sum.1
sha1sum sum.1
sum sum.1
tail tail.1
tbl tbl.1
tcs tcs.1
tee tee.1
test test.1
time time.1
touch touch.1
tr tr.1
nroff troff.1
troff troff.1
tweak tweak.1
uniq uniq.1
units units.1
vac vac.1
wc wc.1
web web.1
wmail web.1
" wintext.1
"" wintext.1
wintext wintext.1
xd xd.1
yacc yacc.1

View file

@ -26,7 +26,7 @@ acid, acidtypes \- debugger
.I prefix
]
.I file
...
\&...
.\" .PP
.\" .B acid
.\" .B -l
@ -69,17 +69,9 @@ at startup; see below.
.TP
.BI -m " machine
Assume instructions are for the given CPU type
(one of
.BR 3210 ,
.BR 386 ,
etc., as listed in
.IR 2c (1),
or
.B sunsparc
or
.B mipsco
for the manufacturer-defined instruction notation for those processors)
instead of using the magic number to select
(see
.IR mach (3))
instead of using the executable header to select
the CPU type.
.TP
.BI -k
@ -100,9 +92,17 @@ Definitions in any file may override previously defined functions.
If the function
.IR acidinit ()
is defined, it will be invoked after all modules have been loaded.
See
.IR 2c (1)
for information about creating
Then the function
.IR acidmap ()
will be invoked if defined.
.B /usr/local/plan9/acid/port
provides a definition of
.I acidmap
that attaches all the shared libraries being used by the target process
and then runs
.I acidtypes
.RI ( q.v. )
to create
.I acid
functions for examining data structures.
.SS Language

View file

@ -345,7 +345,7 @@ With no arguments,
prints the supplementary list.
This command is largely superseded by plumbing
(see
.IR plumb (6)).
.IR plumb (7)).
.TP
.B Kill
Send a
@ -355,20 +355,30 @@ note to
commands named as arguments.
.TP
.B Local
When prefixed to a command
run the
command in the same file name space and environment variable group as
.IR acme .
The environment of the command
is restricted but is sufficient to run
.IR bind (1),
.IR 9fs
(see
.IR srv (4)),
.IR import (4),
etc.,
and to set environment variables such as
.BR $objtype .
In the Plan 9
.IR acme ,
this prefix causes a command to be run in
.IR acme 's own
file name space and environment variable group.
On Unix this is impossible.
.B Local
is recognized as a prefix, but has no effect on the command being executed.
.\" .TP
.\" .B Local
.\" When prefixed to a command
.\" run the
.\" command in the same file name space and environment variable group as
.\" .IR acme .
.\" The environment of the command
.\" is restricted but is sufficient to run
.\" .IR bind (1),
.\" .IR 9fs
.\" (see
.\" .IR srv (4)),
.\" .IR import (4),
.\" etc.,
.\" and to set environment variables such as
.\" .BR $objtype .
.TP
.B Load
Restore the state of
@ -662,9 +672,9 @@ MIPS-specific binaries for applications
.SH SOURCE
.B /usr/local/plan9/src/cmd/acme
.br
.B /acme/bin/source/win
.B /usr/local/plan9/src/cmd/9term/win.c
.br
.B /usr/local/plan9/src/cmd/awd.c
.B /usr/local/plan9/bin/awd
.SH SEE ALSO
.IR acme (4)
.br

View file

@ -91,7 +91,7 @@ control characters or insert newlines.
is similar; it converts between
.SM UTF
and character values from the Unicode Standard (see
.IR utf (6)).
.IR utf (7)).
If given a range of hexadecimal numbers,
.I unicode
prints a table of the specified Unicode characters \(em their values and
@ -157,5 +157,5 @@ table of characters and descriptions.
.SH "SEE ALSO"
.IR look (1)
.IR tcs (1),
.IR utf (6),
.IR font (6)
.IR utf (7),
.IR font (7)

122
man/man1/astro.1 Normal file
View file

@ -0,0 +1,122 @@
.TH ASTRO 1
.SH NAME
astro \- print astronomical information
.SH SYNOPSIS
.B astro
[
.B -dlpsatokm
]
[
.B -c
n
]
[
.B -C
d
]
[
.B -e
.I obj1
.I obj2
]
.SH DESCRIPTION
.I Astro
reports upcoming celestial events, by default for 24 hours starting now.
The options are:
.TP
.B d
Read the starting date.
A prompt gives the input
format.
.TP
.B l
Read the north latitude, west longitude, and elevation of the observation point.
A prompt gives the input format.
If
.B l
is missing, the initial position is read from the file
.BR /lib/sky/here .
.TP
.B c
Report for
.I n
(default 1) successive days.
.TP
.B C
Used with
.BR -c ,
set the interval to
.B d
days (or fractions of days).
.TP
.B e
Report distance between the centers of
objects, in arc seconds, during eclipses or occultations involving
.I obj1
and
.IR obj2 .
.TP
.B p
Print the positions of objects at the
given time rather than searching for interesting
conjunctions.
For each, the name is followed by
the right ascension (hours, minutes, seconds),
declination (degrees, minutes, seconds),
azimuth (degrees),
elevation (degrees),
and semidiameter (arc seconds).
For the sun and moon, the magnitude is also printed.
The first line of output presents the date and time,
sidereal time, and the latitude, longitude, and elevation.
.TP
.B s
Print output in English words suitable for speech synthesizers.
.TP
.B a
Include a list of artificial earth satellites for interesting events.
(There are no orbital elements for the satellites, so this option
is not usable.)
.TP
.B t
Read
ΔT
from standard input.
ΔT
is the difference between ephemeris and
universal time (seconds) due to the slowing of the earth's rotation.
ΔT
is normally calculated from an empirical formula.
This option is needed only for very accurate timing of
occultations, eclipses, etc.
.TP
.B o
Search for stellar occultations.
.TP
.B k
Print times in local time (`kitchen clock')
as described in the
.B timezone
environment variable.
.TP
.B m
Includes a single comet in the list of objects.
This is modified (in the source) to refer to an approaching comet
but in steady state
usually refers to the last interesting comet (currently Hale-Bopp, C/1995 O1).
.SH FILES
.TF /lib/sky/estartab
.TP
.B /lib/sky/estartab
ecliptic star data
.TP
.B /lib/sky/here
default latitude (N), longitude (W), and elevation (meters)
.SH SOURCE
.B /usr/local/plan9/src/cmd/astro
.SH SEE ALSO
.IR scat (1)
.SH BUGS
The
.B k
option reverts to GMT outside of 1970-2036.

292
man/man1/bc.1 Normal file
View file

@ -0,0 +1,292 @@
.TH BC 1
.SH NAME
bc \- arbitrary-precision arithmetic language
.SH SYNOPSIS
.B bc
[
.B -c
]
[
.B -l
]
[
.B -s
]
[
.I file ...
]
.SH DESCRIPTION
.I Bc
is an interactive processor for a language that resembles
C but provides arithmetic on numbers of arbitrary length with up
to 100 digits right of the decimal point.
It takes input from any files given, then reads
the standard input.
The
.B -l
argument stands for the name
of an arbitrary precision math library.
The
.B -s
argument suppresses the automatic display
of calculation results; all output is via the
.B print
command.
.PP
The following syntax for
.I bc
programs is like that of C;
.I L
means letter
.BR a - z ,
.I E
means expression,
.I S
means statement.
.TF length(E)
.TP
Lexical
.RS
.HP
comments are enclosed in
.B /* */
.HP
newlines end statements
.RE
.TP
Names
.IP
simple variables:
.I L
.br
array elements:
.IB L [ E ]
.br
The words
.BR ibase ,
.BR obase ,
and
.B scale
.TP
Other operands
.IP
arbitrarily long numbers with optional sign and decimal point.
.RS
.TP
.BI ( E )
.TP
.BI sqrt( E )
.TP
.BI length( E )
number of significant decimal digits
.TP
.BI scale( E )
number of digits right of decimal point
.TP
.IB L ( E , ... ,\fIE\fP)
function call
.RE
.TP
Operators
.RS
.HP
.B "+ - * / % ^\ "
.RB ( %
is remainder;
.B ^
is power)
.HP
.B "++ --\ "
.TP
.B "== <= >= != < >"
.TP
.B "= += -= *= /= %= ^="
.RE
.TP
Statements
.RS
.br
.I E
.br
.B {
.I S
.B ;
\&...
.B ;
.I S
.B }
.br
.B "print"
.I E
.br
.B "if ("
.I E
.B )
.I S
.br
.B "while ("
.I E
.B )
.I S
.br
.B "for ("
.I E
.B ;
.I E
.B ;
.I E
.B ")"
.I S
.br
null statement
.br
.B break
.br
.B quit
.br
\fL"\fRtext\fL"\fR
.RE
.TP
Function definitions
.RS
.br
.B define
.I L
.B (
.I L
.B ,
\&...
.B ,
.I L
.B ){
.PD0
.br
.B auto
.I L
.B ,
\&...
.B ,
.I L
.br
.I S
.B ;
\&...
.B ;
.I S
.br
.B return
.I E
.LP
.B }
.RE
.TP
Functions in
.B -l
math library
.RS
.TP
.BI s( x )
sine
.TP
.BI c( x )
cosine
.TP
.BI e( x )
exponential
.TP
.BI l( x )
log
.TP
.BI a( x )
arctangent
.TP
.BI j( "n, x" )
Bessel function
.RE
.PP
.DT
All function arguments are passed by value.
.PD
.PP
The value of an expression at the top level is printed
unless the main operator is an assignment or the
.B -s
command line argument is given.
Text in quotes, which may include newlines, is always printed.
Either semicolons or newlines may separate statements.
Assignment to
.B scale
influences the number of digits to be retained on arithmetic
operations in the manner of
.IR dc (1).
Assignments to
.B ibase
or
.B obase
set the input and output number radix respectively.
.PP
The same letter may be used as an array, a function,
and a simple variable simultaneously.
All variables are global to the program.
Automatic variables are pushed down during function calls.
In a declaration of an array as a function argument
or automatic variable
empty square brackets must follow the array name.
.PP
.I Bc
is actually a preprocessor for
.IR dc (1),
which it invokes automatically, unless the
.B -c
(compile only)
option is present.
In this case the
.I dc
input is sent to the standard output instead.
.SH EXAMPLE
Define a function to compute an approximate value of
the exponential.
Use it to print 10 values.
(The exponential function in the library gives better answers.)
.PP
.EX
scale = 20
define e(x) {
auto a, b, c, i, s
a = 1
b = 1
s = 1
for(i=1; 1; i++) {
a *= x
b *= i
c = a/b
if(c == 0) return s
s += c
}
}
for(i=1; i<=10; i++) print e(i)
.EE
.SH FILES
.B /sys/lib/bclib
mathematical library
.SH SOURCE
.B /usr/local/plan9/src/cmd/bc.y
.SH "SEE ALSO"
.IR dc (1),
.IR hoc (1)
.SH BUGS
No
.LR && ,
.LR || ,
or
.L !
operators.
.br
A
.L for
statement must have all three
.LR E s.
.br
A
.L quit
is interpreted when read, not when executed.

57
man/man1/bundle.1 Normal file
View file

@ -0,0 +1,57 @@
.TH BUNDLE 1
.SH NAME
bundle \- collect files for distribution
.SH SYNOPSIS
.B bundle
.I file ...
.SH DESCRIPTION
.I Bundle
writes on its standard output a shell script for
.IR rc (1)
or a Bourne shell
which, when executed,
will recreate the original
.IR files .
Its main use is for distributing small numbers of text files by
.IR mail (1).
.PP
Although less refined than standard archives from
.I 9ar
(see
.IR 9c (1))
or
.IR tar (1),
a
.IR bundle
file
is self-documenting and complete; little preparation is required on
the receiving machine.
.SH EXAMPLES
.TP
.L
bundle mkfile *.[ch] | mail kremvax!boris
Send a makefile to Boris together with related
.L .c
and
.L .h
files.
Upon receiving the mail, Boris may save the file sans postmark,
say in
.BR gift/horse ,
then do
.TP
.L
cd gift; rc horse; mk
.SH SOURCE
.B /usr/local/plan9/bin/bundle
.SH SEE ALSO
.I 9ar
(in
.IR 9c (1)),
.IR tar (1),
.IR mail (1)
.SH BUGS
.I Bundle
will not create directories and is unsatisfactory for non-text files.
.br
Beware of gift horses.

View file

@ -1,6 +1,6 @@
.TH CAT 1
.SH NAME
cat, read \- catenate files
cat, read, nobs \- catenate files
.SH SYNOPSIS
.B cat
[
@ -16,6 +16,11 @@ cat, read \- catenate files
] [
.I file ...
]
.br
nobs
[
.I file ...
]
.SH DESCRIPTION
.I Cat
reads each
@ -57,15 +62,32 @@ causes it to read no more than
.I nline
lines.
.PP
Read always executes a single
.I Read
always executes a single
.B write
for each line of input, which can be helpful when
preparing input to programs that expect line-at-a-time data.
It never reads any more data from the input than it prints to the output.
.PP
.I Nobs
copies the named files to
standard output except that it removes all backspace
characters and the characters that precede them.
It is useful to use as
.B $PAGER
with the Unix version of
.IR man (1)
when run inside a
.I win
(see
.IR acme (1))
window.
.SH SOURCE
.B /usr/local/plan9/src/cmd/cat.c
.br
.B /usr/local/plan9/src/cmd/read.c
.br
.B /usr/local/plan9/bin/nobs
.SH SEE ALSO
.IR cp (1)
.SH DIAGNOSTICS

View file

@ -29,4 +29,4 @@ before processing.
.SH SOURCE
.B /usr/local/plan9/src/cmd/cleanname.c
.SH SEE ALSO
.IR cleanname (2).
.IR cleanname (3).

73
man/man1/colors.1 Normal file
View file

@ -0,0 +1,73 @@
.TH COLORS 1
.SH NAME
getmap, colors \- display color map
.SH SYNOPSIS
.PP
.B colors
[
.B -r
.B -x
]
.PP
.B getmap
[
.I colormap
]
.SH DESCRIPTION
.I Colors
presents a grid showing the colors in the current color map.
If the display is true color,
.I colors
shows a grid of the RGBV color map
(see
.IR color (7)).
.PP
Clicking mouse button 1 over a color in the grid will display the map index for that color,
its
red, green, and blue components,
and the 32-bit hexadecimal color value as defined in
.IR allocimage (3).
If the
.B -x
option is specified, the components will also be listed in hexadecimal.
.PP
The
.B -r
option instead shows, in the same form, a grey-scale ramp.
.PP
A menu on mouse button 3 contains a single entry, to exit the program.
.PP
On 8-bit color-mapped displays,
.I getmap
loads the display's color map (default
.BR rgbv ).
The named
.I colormap
can be a file in the current directory or in the standard repository
.BR /lib/cmap .
It can also be a string of the form
.B gamma
or
.BI gamma N\f1 ,
where
.I N
is a floating point value for the gamma, defining the contrast for a monochrome map.
Similarly,
.B rgamma
and
.BI rgamma N
define a reverse-video monochrome map.
Finally, the names
.B screen
or
.B display
or
.B vga
are taken as synonyms for the current color map stored in the display hardware.
.SH FILES
.B /lib/cmap
directory of color map files
.SH SOURCE
.B /usr/local/plan9/src/cmd/draw/colors.c
.SH SEE ALSO
.IR color (7)

46
man/man1/core.1 Normal file
View file

@ -0,0 +1,46 @@
.TH CORE 1
.SH NAME
core \- print information about dead processes
.SH SYNOPSIS
.B core
[
.I dir
|
.I corefile
]...
.SH DESCRIPTION
.I Core
prints information about dead processes that have
been saved as core dumps.
.PP
Core reads its arguments in order.
If a directory is encountered,
.I core
reads every core file named
.B core.*
or
.B *.core
in that directory.
.PP
For each core file read,
.I core
prints the date and time the core was generated,
the command that generated it, and a short stack trace
at the time of the core dump.
.PP
If no arguments are given,
.I core
searches the directory
.B $COREDIR
for core files;
if
.B $COREDIR
is not set,
.I core
searches the current directory.
.SH SOURCE
.B /usr/local/plan9/src/cmd/core.c
.SH "SEE ALSO
.IR acid (1),
.IR db (1),
.IR core (5)

147
man/man1/crop.1 Normal file
View file

@ -0,0 +1,147 @@
.TH CROP 1
.SH NAME
crop, iconv \- frame, crop, and convert image
.SH SYNOPSIS
.B crop
[
.BI -c
.I red
.I green
.I blue
]
[
.B -i
.I n
|
.B -x
.I dx
|
.B -y
.I dy
|
.B -r
.I minx
.I miny
.I maxx
.I maxy
]
[
.B -t
.I tx
.I ty
]
[
.B -b
.I red
.I green
.I blue
]
[
.I file
]
.PP
.B iconv
[
.B -u
] [
.B -c
.I chandesc
]
[
.I file
]
.SH DESCRIPTION
.I Crop
reads an
.IR image (7)
file (default standard input), crops it, and writes it as a compressed
.IR image (7)
file to standard output.
There are two ways to specify a crop, by color value or by geometry.
They may be combined in a single run of
.IR crop ,
in which case the color value crop will be done first.
.PP
The
.B -c
option takes a red-green-blue triplet as described in
.IR color (3).
(For example, white
is
.B 255
.B 255
.BR 255 .)
The corresponding color is used as a value to be cut from the outer
edge of the picture; that is, the image is cropped to remove the maximal
outside rectangular strip in which every pixel has the specified color.
.PP
The
.B -i
option insets the image rectangle by a constant amount,
.IR n ,
which may be negative to generate extra space around the image.
The
.B -x
and
.B -y
options are similar, but apply only to the
.I x
or
.I y
coordinates of the image.
.PP
The
.B -r
option specifies an exact rectangle.
.PP
The
.B -t
option specifies that the image's coordinate system should
be translated by
.IR tx ,
.IR ty
as the last step of processing.
.PP
The
.B -b
option specifies a background color to be used to fill around the image
if the cropped image is larger than the original, such as if the
.B -i
option is given a negative argument.
This can be used to draw a monochrome frame around the image.
The default color is black.
.PP
.I Iconv
changes the format of pixels in the image
.I file
(default standard input) and writes the resulting image to standard output.
Pixels in the image are converted according to the channel descriptor
.IR chandesc ,
(see
.IR image (7)).
For example, to convert a 4-bit-per-pixel grey-scale image to an 8-bit-per-pixel
color-mapped image,
.I chandesc
should be
.BR m8 .
If
.I chandesc
is not given, the format is unchanged.
The output image is by default compressed; the
.B -u
option turns off the compression.
.SH EXAMPLE
To crop white edges off the picture and add a ten-pixel pink border,
.IP
.EX
crop -c 255 255 255 -i -10 -b 255 150 150 imagefile > cropped
.EE
.SH SOURCE
.B /usr/local/plan9/src/cmd/draw/crop.c
.SH SEE ALSO
.IR image (7),
.IR color (3)
.SH BUGS
.I Iconv
should be able to do Floyd-Steinberg error diffusion or dithering
when converting to small image depths.

View file

@ -8,8 +8,8 @@ date, clock \- date and time
] [
.I seconds
]
.br
.B clock
.\" .br
.\" .B clock
.SH DESCRIPTION
Print the date, in the format
.PP
@ -28,31 +28,31 @@ epoch, 00:00:00 GMT, January 1, 1970.
The conversion from Greenwich Mean Time to local time depends on the
.B $timezone
environment variable; see
.IR ctime (2).
.IR ctime (3).
.PP
If the optional argument
.I seconds
is present, it is used as the time to convert rather than
the real time.
.SH FILES
.TF /adm/timezone/local
.TP
.B /env/timezone
Current timezone name and adjustments.
.TP
.B /adm/timezone
A directory containing timezone tables.
.TP
.B /adm/timezone/local
Default timezone file, copied by
.IR init (8)
into
.BR /env/timezone .
.PD
.PP
.I Clock
draws a simple analog clock in its window.
.\" .SH FILES
.\" .TF /adm/timezone/local
.\" .TP
.\" .B /env/timezone
.\" Current timezone name and adjustments.
.\" .TP
.\" .B /adm/timezone
.\" A directory containing timezone tables.
.\" .TP
.\" .B /adm/timezone/local
.\" Default timezone file, copied by
.\" .IR init (8)
.\" into
.\" .BR /env/timezone .
.\" .PD
.\" .PP
.\" .I Clock
.\" draws a simple analog clock in its window.
.SH SOURCE
.B /usr/local/plan9/src/cmd/date.c
.br
.B /usr/local/plan9/src/cmd/clock.c
.\" .br
.\" .B /usr/local/plan9/src/cmd/draw/clock.c

View file

@ -33,9 +33,7 @@ specifies the memory image of a process.
A
.I pid
gives the id of an executing process to be accessed via
.IR ptrace (2)
or
.IR proc (5).
.IR ptrace (2).
A
.I corefile
specifies the name of a core dump (see
@ -949,7 +947,6 @@ is one the breakpoint will fire.
Beware that local variables may be stored in registers; see the
BUGS section.
.SH "SEE ALSO"
.IR 9nm (1),
.IR acid (1)
.SH SOURCE
.B /usr/local/plan9/src/cmd/db

View file

@ -67,7 +67,7 @@ requests.
Remove titles, attachments, etc., as well as ordinary
.IR troff
constructs, from
.IR ms (6)
.IR ms (7)
or
.I mm
documents.
@ -93,7 +93,7 @@ files.
.SH SOURCE
.B /usr/local/plan9/src/cmd/deroff.c
.br
.B /usr/local/plan9/src/cmd/tex/local/delatex.c
.B /usr/local/plan9/src/cmd/delatex.lx
.SH "SEE ALSO"
.IR troff (1),
.IR tex (1),

View file

@ -1,4 +1,4 @@
.TH DICT 7
.TH DICT 1
.SH NAME
dict \- dictionary browser
.SH SYNOPSIS
@ -46,7 +46,7 @@ Print a pronunciation key.
.PD
.PP
Patterns are regular expressions (see
.IR regexp (6)),
.IR regexp (7)),
with an implicit leading
.L ^
and trailing
@ -146,18 +146,22 @@ Otherwise, the default command is the previous command.
Other files in
.BR /lib .
.SH "SEE ALSO"
.IR regexp (6)
.IR regexp (7)
.SH SOURCE
.B /usr/local/plan9/src/cmd/dict
.SH BUGS
A font with wide coverage of the Unicode Standard
should be used for best results.
(Try
.BR /lib/font/bit/pelm/unicode.9.font .)
.br
.BR /usr/local/plan9/font/pelm/unicode.9.font .)
.PP
If the
.I pattern
doesn't begin with
a few literal characters, matching takes a long time.
.br
The dictionaries are not distributed outside Bell Labs.
.PP
The dictionaries are not distributed outside Bell Labs,
though see
.B /usr/local/plan9/dict/README
for information on using free dictionaries prepared
by Project Gutenberg.

56
man/man1/doctype.1 Normal file
View file

@ -0,0 +1,56 @@
.TH DOCTYPE 1
.SH NAME
doctype \- intuit command line for formatting a document
.SH SYNOPSIS
.B doctype
[
.I option ...
] [
.I file
]
\&...
.SH DESCRIPTION
.I Doctype
examines a
.IR troff (1)
input file to deduce the appropriate text formatting command
and prints it on standard output.
.I Doctype
recognizes input for
.IR troff (1),
related preprocessors like
.IR eqn (1),
and the
.IR ms (7)
and
.I mm
macro packages.
.PP
Option
.B -n
invokes
.I nroff
instead of
.IR troff .
Other options are passed to
.IR troff .
.SH EXAMPLES
.TP
.L
eval `{doctype chapter.?} | lp
Typeset files named
.BR chapter.0 ,
.BR chapter.1 ,
\&...
.SH SOURCE
.B /usr/local/plan9/bin/doctype
.SH SEE ALSO
.IR troff (1),
.IR eqn (1),
.IR tbl (1),
.IR pic (1),
.IR grap (1),
.IR ms (7),
.IR man (7)
.SH BUGS
In true A.I. style, its best guesses are inspired rather than accurate.

View file

@ -96,7 +96,7 @@ beginning of a line.
supports the
.I "regular expression"
notation described in
.IR regexp (6).
.IR regexp (7).
Regular expressions are used in addresses to specify
lines and in one command
(see
@ -673,7 +673,7 @@ and all characters after the last newline.
.SH "SEE ALSO"
.IR sam (1),
.IR sed (1),
.IR regexp (6)
.IR regexp (7)
.SH DIAGNOSTICS
.BI ? name
for inaccessible file;

View file

@ -316,7 +316,7 @@ when all else fails.
.B /sys/lib/troff/font/devutf
font descriptions for PostScript
.SH SOURCE
.B /sys/src/cmd/eqn
.B /usr/local/plan9/src/cmd/eqn
.SH "SEE ALSO"
.IR troff (1),
.IR tbl (1)

View file

@ -36,5 +36,5 @@ character, respectively.
.SH SOURCE
.B /usr/local/plan9/src/cmd/freq.c
.SH SEE ALSO
.IR utf (6),
.IR utf (7),
.IR wc (1)

22
man/man1/fsize.1 Normal file
View file

@ -0,0 +1,22 @@
.TH FSIZE 1
.SH NAME
fsize, mtime \- print file information
.SH SYNOPSIS
.B fsize
.I file ...
.PP
.B mtime
.I file ...
.SH DESCRIPTION
.I Fsize
prints the name and size of each of the files.
.PP
.I Mtime
prints the name and modification time (in seconds since the epoch)
of each of the files.
.SH SOURCE
.B /usr/local/plan9/src/cmd/fsize.c
.br
.B /usr/local/plan9/src/cmd/mtime.c
.SH BUGS
The output formats of the two programs are different.

View file

@ -404,7 +404,7 @@ copy thru / circle at $1,$2 /
.B /sys/lib/grap.defines
definitions of standard plotting characters, e.g., bullet
.SH SOURCE
.B /sys/src/cmd/grap
.B /usr/local/plan9/src/cmd/grap
.SH "SEE ALSO"
.IR pic (1),
.IR troff (1)

View file

@ -135,7 +135,7 @@ If a specified lower limit exceeds the upper limit,
the axis
is reversed.
.SH SOURCE
.B /sys/src/cmd/graph
.B /usr/local/plan9/src/cmd/graph
.SH "SEE ALSO"
.IR plot (1),
.IR grap (1)

View file

@ -1,6 +1,6 @@
.TH GREP 1
.SH NAME
grep \- search a file for a pattern
grep, g \- search a file for a pattern
.SH SYNOPSIS
.B grep
[
@ -10,6 +10,14 @@ grep \- search a file for a pattern
[
.I file ...
]
.B g
[
.I option ...
]
.I pattern
[
.I file ...
]
.SH DESCRIPTION
.I Grep\^
searches the input
@ -18,7 +26,7 @@ searches the input
for lines that match the
.IR pattern ,
a regular expression as defined in
.IR regexp (6)
.IR regexp (7)
with the addition of a newline character as an alternative
(substitute for
.BR | )
@ -90,14 +98,26 @@ in single quotes
An expression starting with '*'
will treat the rest of the expression
as literal characters.
.PP
.I G
invokes grep with
.B -n
and forces tagging of output lines by file name.
If no files are listed, it searches all files matching
.IP
.EX
*.C *.b *.c *.h *.m *.cc *.java *.py *.tex *.ms
.EE
.SH SOURCE
.B /usr/local/plan9/src/cmd/grep
.br
.B /usr/local/plan9/bin/g
.SH SEE ALSO
.IR ed (1),
.IR awk (1),
.IR sed (1),
.IR sam (1),
.IR regexp (6)
.IR regexp (7)
.SH DIAGNOSTICS
Exit status is null if any lines are selected,
or non-null when no lines are selected or an error occurs.

160
man/man1/gzip.1 Normal file
View file

@ -0,0 +1,160 @@
.TH GZIP 1
.SH NAME
gzip, gunzip, bzip2, bunzip2, zip, unzip, \- compress and expand data
.SH SYNOPSIS
.B gzip
.RB [ -cvD [ 1-9 ]]
.RI [ file
.BR ... ]
.PP
.B gunzip
.RB [ -ctTvD ]
.RI [ file
.BR ... ]
.PP
.B bzip2
.RB [ -cvD [ 1-9 ]]
.RI [ file
.BR ... ]
.PP
.B bunzip2
.RB [ -cvD ]
.RI [ file
.BR ... ]
.PP
.B zip
.RB [ -vD [ 1-9 ]]
.RB [ -f
.IR zipfile ]
.I file
.RB [ ... ]
.PP
.B unzip
.RB [ -cistTvD ]
.RB [ -f
.IR zipfile ]
.IR [ file
.BR ... ]
.SH DESCRIPTION
.PP
.I Gzip
encodes files with a hybrid Lempel-Ziv 1977 and Huffman compression algorithm
known as
.BR deflate .
Most of the time, the resulting file is smaller,
and will never be much bigger.
Output files are named by taking the last path element of each file argument
and appending
.BR .gz ;
if the resulting name ends with
.BR .tar.gz ,
it is converted to
.B .tgz
instead.
.I Gunzip
reverses the process.
Its output files are named by taking the last path element of each file argument,
converting
.B .tgz
to
.BR .tar.gz ,
and stripping any
.BR .gz ;
the resulting name must be different from the original name.
.PP
.I Bzip2
and
.I bunzip2
are similar in interface to
.I gzip
and
.IR gunzip ,
but use a modified Burrows-Wheeler block sorting
compression algorithm.
The default suffix for output files is
.BR .bz2 ,
with
.B .tar.bz2
becoming
.BR .tbz .
.I Bunzip2
recognizes the extension
.B .tbz2
as a synonym for
.BR .tbz .
.PP
.I Zip
encodes the named files and places the results into the archive
.IR zipfile ,
or the standard output if no file is given.
.I Unzip
extracts files from an archive created by
.IR zip .
If no files are named as arguments, all of files in the archive are extracted.
A directory's name implies all recursively contained files and subdirectories.
.PP
None of these programs removes the original files.
If the process fails, the faulty output files are removed.
.PP
The options are:
.TP 1i
.B -c
Write to standard output rather than creating an output file.
.TP
.B -i
Convert all archive file names to lower case.
.TP
.B -s
Streaming mode. Looks at the file data adjacent to each compressed file
rather than seeking in the central file directory.
This is the mode used by
.I unzip
if no
.I zipfile
is specified.
If
.B -s
is given,
.B -T
is ignored.
.TP
.B -t
List matching files in the archive rather than extracting them.
.TP
.B -T
Set the output time to that specified in the archive.
.TP
.BR -1 " .. " -9
Sets the compression level.
.B -1
is tuned for speed,
.B -9
for minimal output size.
The best compromise is
.BR -6 ,
the default.
.TP
.B -v
Produce more descriptive output.
With
.BR -t ,
adds the uncompressed size in bytes and the modification time to the output.
Without
.BR -t ,
prints the names of files on standard error as they are compressed or decompressed.
.TP
.B -D
Produce debugging output.
.SH SOURCE
.B /usr/local/plan9/src/cmd/gzip
.br
.B /usr/local/plan9/src/cmd/bzip2
.SH SEE ALSO
.IR tar (1),
.IR compress (1)
.SH BUGS
.I Unzip
can only extract files which are uncompressed or compressed
with the
.B deflate
compression scheme. Recent zip files fall into this category.

View file

@ -106,21 +106,21 @@ in a line is significant.
.SH EXAMPLES
.TP
.L
sort -t: +1 /adm/users | join -t: -1 2 -a 1 -e "" - bdays
sort /etc/passwd | join -t: -1 1 -a 1 -e "" - bdays
Add birthdays to the
.B /adm/users
.B /etc/passwd
file, leaving unknown
birthdays empty.
The layout of
.B /adm/users
is given in
.IR users (6);
.IR passwd (5);
.B bdays
contains sorted lines like
.LR "ken:Feb\ 4,\ 1953" .
.TP
.L
tr : ' ' </adm/users | sort -k 3 3 >temp
tr : ' ' </etc/passwd | sort -k 3 3 >temp
.br
.ns
.TP
@ -145,4 +145,3 @@ the sequence is that of
.BI -k y , y\f1.
.br
One of the files must be randomly accessible.

243
man/man1/jpg.1 Normal file
View file

@ -0,0 +1,243 @@
.TH JPG 1
.SH NAME
jpg, gif, png, ppm, bmp, yuv, ico, togif, toppm, topng, toico \- view and convert pictures
.SH SYNOPSIS
.B jpg
[
.B -39cdefFkJrtv
] [
.I file ...
]
.br
.B gif
[
.B -39cdektv
] [
.I file ...
]
.br
.B png
[
.B -39cdektv
] [
.I file ...
]
.br
.B ppm
[
.B -39cdektv
] [
.I file ...
]
.br
.B bmp
[
.I file
]
.br
.B yuv
[
.I file
]
.PP
.B togif
[
.B -c
.I comment
] [
.B -l
.I loopcount
] [
.B -d
.I msec
] [
.B -t
.I transindex
] [
.I file ...
[
.B -d
.I msec
]
.I file ...
]
.br
.B toppm
[
.B -c
.I comment
] [
.I file
]
.br
.B topng
[
.B -c
.I comment
] [
[
.B -g
.I gamma
] [
.I file
]
.PP
.B ico
[
.I file
]
.br
.B toico
[
.I file ...
]
.SH DESCRIPTION
These programs read, display, and write image files in public formats.
.IR Jpg ,
.IR gif ,
.IR png ,
.IR ppm ,
.IR bmp ,
and
.IR yuv .
read files in the corresponding formats and, by default, display
them in the current window; options cause them instead to convert the images
to Plan 9 image format and write them to standard output.
.IR Togif ,
.IR Toppm ,
and
.I topng
read Plan 9 images files, convert them to GIF, PPM, or PNG, and write them to standard output.
.PP
The default behavior of
.IR jpg ,
.IR gif ,
and
.IR ppm
is to display the
.IR file ,
or standard input if no file is named.
Once a file is displayed, typing a character causes the program to display the next image.
Typing a
.BR q ,
DEL, or control-D exits the program.
For a more user-friendly interface, use
.IR page (1),
which invokes these programs to convert the images to standard format,
displays them, and offers scrolling, panning, and menu-driven navigation among the files.
.PP
These programs share many options:
.TP
.B -e
Disable Floyd-Steinberg error diffusion, which is used to improve the appearance
of images on color-mapped displays, typically with 8 bits per pixel.
Primarily useful for debugging; if the display has true RGB color, the image
will be displayed in full glory.
.TP
.B -k
Convert and display the image as a black and white (really grey-scale) image.
.TP
.B -v
Convert the image to an RGBV color-mapped image, even if the
display has true RGB color.
.TP
.B -d
Suppress display of the image; this is set automatically by
any of the following options:
.TP
.B -c
Convert the image to a Plan 9 representation, as defined by
.IR image (7),
and write it to standard output.
.TP
.B -9
Like
.BR -c ,
but produce an uncompressed image.
This saves processing time, particularly when the output is
being piped to another program such as
.IR page (1),
since it avoids compression and decompression.
.TP
.B -t
Convert the image, if it is in color, to a true color RGB image.
.TP
.B -3
Like
.BR -t ,
but force the image to RGB even if it is originally grey-scale.
.PD
.PP
.I Jpg
has two extra options used to process the output of the LML
video card:
.TP
.B -f
Merge two adjacent images, which represent the two fields of a video picture,
into a single image.
.TP
.B -F
The input is a motion JPEG file, with multiple images representing frames of the movie. Sets
.BR -f .
.PD
.PP
The
.IR togif
and
.IR toppm
programs go the other way: they convert from Plan 9 images to GIF and PPM,
and have no display capability.
Both accept an option
.B -c
to set the comment field of the resulting file.
If there is only one input picture,
.I togif
converts the image to GIF format.
If there are many
.IR files ,
though, it will assemble them into an animated GIF file.
The options control this process:
.TP
.BI -l loopcount
By default, the animation will loop forever;
.I loopcount
specifies how many times to loop.
A value of zero means loop forever and a negative value means
to stop after playing the sequence once.
.TP
.BI -d msec
By default, the images are displayed as fast as they can be rendered.
This option specifies the time, in milliseconds, to pause while
displaying the next named
.IR file .
.PP
.I Gif
translates files that contain a `transparency' index by attaching
an alpha channel to the converted image.
.PP
.I Ico
displays a Windows icon (.ico) file. If no file is
specified,
.I ico
reads from standard input.
Icon files
contain sets of icons represeted by an image and a mask.
Clicking the right button pops up a menu that lets you
write any icon's image as a Plan 9 image (\fIwidth\fBx\fIheight\fB.image),
write any icon's mask as a Plan 9 image (\fIwidth\fBx\fIheight\fB.mask),
or exit. Selecting one of the write menu items yields a sight cursor.
Move the sight over the icon and right click again to write.
.PP
.I Toico
takes a list of Plan 9 image files (or standard input) and creates
a single icon file. The masks in the icon file will be the white
space in the image. The icon file is written to standard output.
.SH SOURCE
.B /usr/local/plan9/src/cmd/jpg
.SH "SEE ALSO"
.IR page (1),
.IR image (7).
.SH BUGS
Writing an animated GIF using
.I togif
is a clumsy undertaking.

69
man/man1/kill.1 Normal file
View file

@ -0,0 +1,69 @@
.TH KILL 1
.SH NAME
kill, slay, start, stop \- print commands to manipulate processes
.SH SYNOPSIS
.B kill
.I name ...
.PP
.B slay
.I name ...
.PP
.B start
.I name ...
.PP
.B stop
.I name ...
.PP
.B broke
[
.I user
]
.SH DESCRIPTION
.I Kill
prints commands that will cause all processes with
.I name
and owned by the current user to be terminated.
Each command is commented with an output line from
.IR ps (1)
describing the process that would be killed.
Use the
.B send
command of
.IR 9term (1),
or pipe the output of
.I kill
into
.IR rc (1)
or
.IR sh (1)
to execute the commands.
.PP
.I Kill
suggests sending a Unix
.B TERM
signal to the process;
sending a
.B KILL
signal is a surer, if heavy handed, kill,
but is necessary if the offending process is
ignoring signals.
The
.I slay
command prints commands to do this.
.PP
.I Stop
prints commands to pause execution of processes
by sending them the
.B STOP
signal.
.PP
.I Start
prints commands to restart stopped processes by sending them
the
.B CONT
signal.
.SH SOURCE
.B /usr/local/plan9/bin
.SH "SEE ALSO"
.IR ps (1),
.IR notify (3)

71
man/man1/label.1 Normal file
View file

@ -0,0 +1,71 @@
.TH LABEL 1
.SH NAME
label, awd \- set window label
.SH SYNOPSIS
.B label
.I string
.br
.B awd
.SH DESCRIPTION
.I Label
sets the label of the current
.I win
(see
.IR acme (1))
or X terminal window
.RI ( e.g.,
.IR 9term (1)
or
.IR xterm (1))
by echoing a special control sequence to standard output.
.PP
.I Acme
and
.I 9term
windows assume the label is a directory name.
When unrooted file names are plumbed in the window,
they are evaluated relative to the directory named in the label.
.SH EXAMPLE
One can use the following
.IR sh (1)
function to keep the label up-to-date in response to
.I cd
commands:
.IP
.EX
_cd () {
\ecd "$@" &&
case $- in
*i*)
awd
esac
}
alias cd=_cd
cd .
.EE
.PP
.IR Rc (1)
installs a similar
.B fn
.B cd
at startup if there is not already a function named
.BR cd :
.IP
.EX
fn cd {
builtin cd $1 && flag i && awd
}
.EE
.SH SOURCE
.B /usr/local/plan9/bin/label
.br
.B /usr/local/plan9/bin/awd
.SH BUGS
.I Awd
is also documented in
.IR acme (1).
.PP
.I Awd
does not append the
.BI - label
suffix that it does on Plan 9.

81
man/man1/lex.1 Normal file
View file

@ -0,0 +1,81 @@
.TH LEX 1
.SH NAME
lex \- generator of lexical analysis programs
.SH SYNOPSIS
.B lex
[
.B -tvn9
]
[
.I file ...
]
.SH DESCRIPTION
.I Lex
generates programs to be used in simple lexical analysis of text.
The input
.I files
(standard input default)
contain regular expressions
to be searched for and actions written in C to be executed when
expressions are found.
.PP
A C source program,
.B lex.yy.c
is generated.
This program, when run, copies unrecognized portions of
the input to the output,
and executes the associated
C action for each regular expression that is recognized.
.PP
The options have the following meanings.
.TP
.B -t
Place the result on the standard output instead of in file
.BR lex.yy.c .
.TP
.B -v
Print a one-line summary of statistics of the generated analyzer.
.TP
.B -n
Opposite of
.BR -v ;
.B -n
is default.
.TP
.B -9
Adds code to be able to compile through the native C compilers.
.SH EXAMPLES
This program converts upper case to lower,
removes blanks at the end of lines,
and replaces multiple blanks by single blanks.
.PP
.EX
%%
[A-Z] putchar(yytext[0]+\'a\'-\'A\');
[ ]+$
[ ]+ putchar(\' \');
.EE
.SH FILES
.TF /sys/lib/lex/ncform
.TP
.B lex.yy.c
output
.TP
.B /sys/lib/lex/ncform
template
.SH "SEE ALSO"
.IR yacc (1),
.IR sed (1)
.br
M. E. Lesk and E. Schmidt,
`LEX\(emLexical Analyzer Generator',
.I
Unix Research System Programmer's Manual,
Tenth Edition, Volume 2.
.SH SOURCE
.B /usr/local/plan9/src/cmd/lex
.SH BUGS
Cannot handle
.SM UTF.
.br
The asteroid to kill this dinosaur is still in orbit.

86
man/man1/look.1 Normal file
View file

@ -0,0 +1,86 @@
.TH LOOK 1
.SH NAME
look \- find lines in a sorted list
.SH SYNOPSIS
.B look
[
.BI -dfnixt c
]
[
.I string
]
[
.I file
]
.SH DESCRIPTION
.I Look
consults a sorted
.I file
and prints all lines that begin with
.IR string .
It uses binary search.
.PP
The following options are recognized.
Options
.B dfnt
affect comparisons as in
.IR sort (1).
.TP
.B -i
Interactive.
There is no
.I string
argument; instead
.I look
takes lines from the standard input as strings to be looked up.
.TP
.B -x
Exact.
Print only lines of the file whose key matches
.I string
exactly.
.TP
.B -d
`Directory' order:
only letters, digits,
tabs and blanks participate in comparisons.
.TP
.B -f
Fold.
Upper case letters compare equal to lower case.
.TP
.B -n
Numeric comparison with initial string of digits, optional minus sign,
and optional decimal point.
.TP
.BR -t [ \f2c\f1 ]
Character
.I c
terminates the sort key in the
.IR file .
By default, tab terminates the key. If
.I c
is missing the entire line comprises the key.
.PP
If no
.I file
is specified,
.B /lib/words
is assumed, with collating sequence
.BR df .
.SH FILES
.B /lib/words
.SH SOURCE
.B /usr/local/plan9/src/cmd/look.c
.SH "SEE ALSO"
.IR sort (1),
.IR grep (1)
.SH DIAGNOSTICS
The exit status is
.B \&"not found"
if no match is found, and
.B \&"no dictionary"
if
.I file
or the default dictionary cannot be opened.

View file

@ -10,7 +10,7 @@ ls, lc \- list contents of directory
.PP
.B lc
[
.B -dlmnqrstuFQ
.B -dlmnpqrstuFQ
]
.I name ...
.SH DESCRIPTION
@ -60,7 +60,7 @@ Print only the final path element of each file name.
List the
.I qid
(see
.IR stat (2))
.IR stat (3))
of each file; the printed fields are in the order
path, version, and type.
.TP
@ -157,6 +157,6 @@ if none of the above permissions is granted.
.br
.B /usr/local/plan9/bin/lc
.SH SEE ALSO
.IR stat (2)
.IR stat (3)
.IR mc (1)

105
man/man1/man.1 Normal file
View file

@ -0,0 +1,105 @@
.TH MAN 1
.SH NAME
man, lookman \- print or find pages of this manual
.SH SYNOPSIS
.B man
[
.I option ...
]
[
.I section ...
]
.I title ...
.PP
.B lookman
.I key ...
.PP
.B sig
.I function ...
.SH DESCRIPTION
.I Man
locates and prints pages of this manual named
.I title
in the specified
.IR sections .
.I Title
is given in lower case.
Each
.I section
is a number;
pages marked (2S), for example,
belong to chapter 2.
If no
.I section
is specified, pages
in all sections are printed.
Any name from the
.SM NAME
section at the top of the page will serve as a
.IR title .
.PP
The options are:
.TP
.B -p
Run
.IR proof (1)
on the specified man pages.
.TP
.B -P
Run
.IR page (1)
on the specified man pages.
.TP
.B -t
Run
.I troff
and send its output
to standard output.
.TP
.B -n
(Default)
Print the pages on the standard output using
.IR nroff .
.PP
.B Lookman
prints the names of all manual sections that contain
all of the
.I key
words given on the command line.
.PP
.B Sig
prints the signature (i.e. C definition) of the
.IR function 's
given on the command line.
.SH FILES
.TF /sys/lib/man/lookman/index
.TP
.B /sys/man/?/*
.I troff
source for manual; this page is
.B /sys/man/1/man
.TP
.B /sys/man/?/INDEX
indices searched to find pages corresponding to titles
.TP
.B /sys/lib/man/secindex
command to make an index for a given section
.TP
.B /sys/lib/man/lookman/index
index for
.I lookman
.SH SOURCE
.B /usr/local/plan9/bin/9man
.br
.B /usr/local/plan9/bin/lookman
.SH "SEE ALSO"
.IR proof (1)
.SH BUGS
The manual was intended to be typeset; some detail is sacrificed on text terminals.
.br
There is no automatic mechanism to keep the indices up to date.
.br
Except for special cases, it doesn't recognize things that should be run through
.I tbl
and/or
.IR eqn .

675
man/man1/map.1 Normal file
View file

@ -0,0 +1,675 @@
.TH MAP 1
.SH NAME
map, mapdemo \- draw maps on various projections
.SH SYNOPSIS
.B map
.I projection
[
.I option ...
]
.PP
.B mapdemo
.PP
.SH DESCRIPTION
.I Map
prepares on the standard output a
map suitable for display by any
plotting filter described in
.IR plot (1).
A menu of projections is produced in response to an unknown
.IR projection .
.I Mapdemo
is a short course in mapping.
.PP
The default data for
.I map
are world shorelines.
Option
.B -f
accesses more detailed data
classified by feature.
.TP
.BR -f " [ \fIfeature\fR ... ]"
Features are ranked 1 (default) to 4 from major to minor.
Higher-numbered ranks include all lower-numbered ones.
Features are
.RS
.TF country[1-3]
.TP
.BR shore [ 1 - 4 ]
seacoasts, lakes, and islands; option
.B -f
always shows
.B shore1
.TP
.BR ilake [ 1 - 2 ]
intermittent lakes
.TP
.BR river [ 1 - 4 ]
rivers
.TP
.BR iriver [ 1 - 3 ]
intermittent rivers
.TP
.BR canal [ 1 - 3 ]
.BR 3 =irrigation
canals
.TP
.BR glacier
.TP
.BR iceshelf [ 12 ]
.TP
.BR reef
.TP
.BR saltpan [ 12 ]
.TP
.BR country [ 1 - 3 ]
.BR 2 =disputed
boundaries,
.BR 3 =indefinite
boundaries
.TP
.BR state
states and provinces (US and Canada only)
.PD
.RE
.PP
In other options
coordinates are in degrees, with north latitude
and west longitude counted as positive.
.TP 0
.BI -l " S N E W"
Set the southern and northern latitude
and the eastern and western longitude limits.
Missing arguments are filled out from the list
\-90, 90, \-180, 180,
or lesser limits suitable to the
projection at hand.
.TP
.BI -k " S N E W
Set the scale as if for a map with limits
.B -l
.I "S N E W"\f1.
Do not consider any
.B -l
or
.B -w
option in setting scale.
.TP
.BI -o " lat lon rot"
Orient the map in a nonstandard position.
Imagine a transparent gridded sphere around the globe.
Turn the overlay about the North Pole
so that the Prime Meridian (longitude 0)
of the overlay coincides with meridian
.I lon
on the globe.
Then tilt the North Pole of the
overlay along its Prime Meridian to latitude
.I lat
on the globe.
Finally again turn the
overlay about its `North Pole' so
that its Prime Meridian coincides with the previous position
of meridian
.IR rot .
Project the map in
the standard form appropriate to the overlay, but presenting
information from the underlying globe.
Missing arguments are filled out from the list
90, 0, 0.
In the absence of
.BR - o ,
the orientation is 90, 0,
.IR m ,
where
.I m
is the middle of the longitude range.
.TP
.BI -w " S N E W"
Window the map by the specified latitudes
and longitudes in the tilted, rotated coordinate system.
Missing arguments are filled out from the list \-90, 90, \-180, 180.
(It is wise to give an encompassing
.B -l
option with
.BR -w .
Otherwise for small windows computing time
varies inversely with area!)
.TP
.BI -d " n"
For speed, plot only every
.IR n th
point.
.TP
.B -r
Reverse left and right
(good for star charts and inside-out views).
.ns
.TP
.B -v
Verso.
Switch to a normally suppressed sheet of the map, such as the
back side of the earth in orthographic projection.
.TP
.B -s1
.br
.ns
.TP
.B -s2
Superpose; outputs for a
.B -s1
map (no closing) and a
.B -s2
map (no opening) may be concatenated.
.TP
.BI -g " dlat dlon res"
Grid spacings are
.IR dlat ,
.IR dlon .
Zero spacing means no grid.
Missing
.I dlat
is taken to be zero.
Missing
.I dlon
is taken the same as
.IR dlat .
Grid lines are drawn to a resolution of
.I res
(2° or less by default).
In the absence of
.BR - g ,
grid spacing is 10°.
.TP
.BI -p " lat lon extent"
Position the point
.I lat, lon
at the center of the plotting area.
Scale the map so that the height (and width) of the
nominal plotting area is
.I extent
times the size of one degree of latitude
at the center.
By default maps are scaled and positioned
to fit within the plotting area.
An
.I extent
overrides option
.BR -k .
.TP
.BI -c " x y rot"
After all other positioning and scaling operations
have been performed, rotate the image
.I rot
degrees counterclockwise about the center
and move the center to position
.IR x ,
.IR y ,
where the nominal plotting area is
.RI \-1 x ≤1,
.RI \-1 y ≤1.
Missing arguments are taken to be 0.
.BR -x
Allow the map to extend outside the nominal plotting area.
.TP
.BR -m " [ \fIfile\fP ... ]"
Use
map data from named files.
If no files are named, omit map data.
Names that do not exist as pathnames are looked up in
a standard directory, which contains, in addition to the
data for
.BR -f ,
.RS
.LP
.TF counties
.TP
.B world
World Data Bank I (default)
.TP
.B states
US map from Census Bureau
.TP
.B counties
US map from Census Bureau
.PD
.RE
.IP
The environment variables
.B MAP
and
.B MAPDIR
change the default
map and default directory.
.TP
.BI -b " \fR[\fPlat0 lon0 lat1 lon1\fR... ]"
Suppress the drawing of the normal boundary
(defined by options
.BR -l
and
.BR -w ).
Coordinates, if present, define the vertices of a
polygon to which the map is clipped.
If only two vertices are given, they are taken to be the
diagonal of a rectangle.
To draw the polygon, give its vertices as a
.B -u
track.
.TP
.BI -t " file ..."
The
.I files
contain lists of points,
given as latitude-longitude pairs in degrees.
If the first file is named
.LR - ,
the standard input is taken instead.
The points of each list are plotted as connected `tracks'.
.IP
Points in a track file may be followed by label strings.
A label breaks the track.
A label may be prefixed by
\fL"\fR,
.LR : ,
or
.L !
and is terminated by a newline.
An unprefixed string or a string prefixed with
.L
"
is displayed at the designated point.
The first word of a
.L :
or
.L !
string names a special symbol (see option
.BR -y ).
An optional numerical second word is a scale factor
for the size of the symbol, 1 by default.
A
.L :
symbol is aligned with its top to the north; a
.L !
symbol is aligned vertically on the page.
.TP
.BI -u " file ..."
Same as
.BR -t ,
except the tracks are
unbroken lines.
.RB ( -t
tracks appear as dot-dashed lines if the plotting filter supports them.)
.TP
.BI -y " file
The
.I file
contains
.IR plot (7)-style
data for
.L :
or
.L !
labels in
.B -t
or
.B -u
files.
Each symbol is defined by a comment
.BI : name
then a sequence of
.L m
and
.L v
commands.
Coordinates (0,0) fall on the plotting point.
Default scaling is as if the nominal plotting range were
.LR "ra -1 -1 1 1" ;
.L ra
commands in
.I file
change the scaling.
.SS Projections
Equatorial projections centered on the Prime Meridian
(longitude 0).
Parallels are straight horizontal lines.
.PP
.PD 0
.TP 1.5i
.B mercator
equally spaced straight meridians, conformal,
straight compass courses
.TP
.B sinusoidal
equally spaced parallels,
equal-area, same as
.LR "bonne 0" .
.TP
.BI cylequalarea " lat0"
equally spaced straight meridians, equal-area,
true scale on
.I lat0
.TP
.B cylindrical
central projection on tangent cylinder
.TP
.BI rectangular " lat0"
equally spaced parallels, equally spaced straight meridians, true scale on
.I lat0
.TP
.BI gall " lat0"
parallels spaced stereographically on prime meridian, equally spaced straight
meridians, true scale on
.I lat0
.TP
.B mollweide
(homalographic) equal-area, hemisphere is a circle
.br
.B gilbert()
sphere conformally mapped on hemisphere and viewed orthographically
.TP
.B gilbert
globe mapped conformally on hemisphere, viewed orthographically
.PD
.PP
Azimuthal projections centered on the North Pole.
Parallels are concentric circles.
Meridians are equally spaced radial lines.
.PP
.PD 0
.TP 1.5i
.B azequidistant
equally spaced parallels,
true distances from pole
.TP
.B azequalarea
equal-area
.TP
.B gnomonic
central projection on tangent plane,
straight great circles
.TP
.BI perspective " dist"
viewed along earth's axis
.I dist
earth radii from center of earth
.TP
.B orthographic
viewed from infinity
.TP
.B stereographic
conformal, projected from opposite pole
.TP
.B laue
.IR radius " = tan(2\(mu" colatitude ),
used in X-ray crystallography
.TP
.BI fisheye " n"
stereographic seen from just inside medium with refractive index
.I n
.TP
.BI newyorker " r"
.IR radius " = log(" colatitude / r ):
.I New Yorker
map from viewing pedestal of radius
.I r
degrees
.PD
.PP
Polar conic projections symmetric about the Prime Meridian.
Parallels are segments of concentric circles.
Except in the Bonne projection,
meridians are equally spaced radial
lines orthogonal to the parallels.
.PP
.PD 0
.TP 1.5i
.BI conic " lat0"
central projection on cone tangent at
.I lat0
.TP
.BI simpleconic " lat0 lat1"
equally spaced parallels, true scale on
.I lat0
and
.I lat1
.TP
.BI lambert " lat0 lat1"
conformal, true scale on
.I lat0
and
.I lat1
.TP
.BI albers " lat0 lat1"
equal-area, true scale on
.I lat0
and
.I lat1
.TP
.BI bonne " lat0"
equally spaced parallels, equal-area,
parallel
.I lat0
developed from tangent cone
.PD
.PP
Projections with bilateral symmetry about
the Prime Meridian
and the equator.
.PP
.PD 0
.TP 1.5i
.B polyconic
parallels developed from tangent cones,
equally spaced along Prime Meridian
.TP
.B aitoff
equal-area projection of globe onto 2-to-1
ellipse, based on
.I azequalarea
.TP
.B lagrange
conformal, maps whole sphere into a circle
.TP
.BI bicentric " lon0"
points plotted at true azimuth from two
centers on the equator at longitudes
.IR ±lon0 ,
great circles are straight lines
(a stretched
.IR gnomonic
)
.TP
.BI elliptic " lon0"
points plotted at true distance from
two centers on the equator at longitudes
.I ±lon0
.TP
.B globular
hemisphere is circle,
circular arc meridians equally spaced on equator,
circular arc parallels equally spaced on 0- and 90-degree meridians
.TP
.B vandergrinten
sphere is circle,
meridians as in
.IR globular ,
circular arc parallels resemble
.I mercator
.PD
.PP
Doubly periodic conformal projections.
.PP
.TP 1.5i
.B guyou
W and E hemispheres are square
.PD 0
.TP
.B square
world is square with Poles
at diagonally opposite corners
.TP
.B tetra
map on tetrahedron with edge
tangent to Prime Meridian at S Pole,
unfolded into equilateral triangle
.TP
.B hex
world is hexagon centered
on N Pole, N and S hemispheres are equilateral
triangles
.PD
.PP
Miscellaneous projections.
.PP
.PD 0
.TP 1.5i
.BI harrison " dist angle"
oblique perspective from above the North Pole,
.I dist
earth radii from center of earth, looking
along the Date Line
.I angle
degrees off vertical
.TP
.BI trapezoidal " lat0 lat1"
equally spaced parallels,
straight meridians equally spaced along parallels,
true scale at
.I lat0
and
.I lat1
on Prime Meridian
.PD
.br
.B lune(lat,angle)
conformal, polar cap above latitude
.I lat
maps to convex lune with given
.I angle
at 90\(deE and 90\(deW
.PP
Retroazimuthal projections.
At every point the angle between vertical and a straight line to
`Mecca', latitude
.I lat0
on the prime meridian,
is the true bearing of Mecca.
.PP
.PD 0
.TP 1.5i
.BI mecca " lat0"
equally spaced vertical meridians
.TP
.BI homing " lat0"
distances to Mecca are true
.PD
.PP
Maps based on the spheroid.
Of geodetic quality, these projections do not make sense
for tilted orientations.
For descriptions, see corresponding maps above.
.PP
.PD 0
.TP 1.5i
.B sp_mercator
.TP
.BI sp_albers " lat0 lat1"
.SH EXAMPLES
.TP
.L
map perspective 1.025 -o 40.75 74
A view looking down on New York from 100 miles
(0.025 of the 4000-mile earth radius) up.
The job can be done faster by limiting the map so as not to `plot'
the invisible part of the world:
.LR "map perspective 1.025 -o 40.75 74 -l 20 60 30 100".
A circular border can be forced by adding option
.LR "-w 77.33" .
(Latitude 77.33° falls just inside a polar cap of
opening angle arccos(1/1.025) = 12.6804°.)
.TP
.L
map mercator -o 49.25 -106 180
An `equatorial' map of the earth
centered on New York.
The pole of the map is placed 90\(de away (40.75+49.25=90)
on the
other side of the earth.
A 180° twist around the pole of the map arranges that the
`Prime Meridian' of the map runs from the pole of the
map over the North Pole to New York
instead of down the back side of the earth.
The same effect can be had from
.L
map mercator -o 130.75 74
.TP
.L
map albers 28 45 -l 20 50 60 130 -m states
A customary curved-latitude map of the United States.
.TP
.L
map harrison 2 30 -l -90 90 120 240 -o 90 0 0
A fan view covering 60° on either
side of the Date Line, as seen from one earth radius
above the North Pole gazing at the
earth's limb, which is 30° off vertical.
The
.B -o
option overrides the default
.BR "-o 90 0 180" ,
which would rotate
the scene to behind the observer.
.SH FILES
.TF /lib/map/[1-4]??
.TP
.B /lib/map/[1-4]??
World Data Bank II, for
.B -f
.TP
.B /lib/map/*
maps for
.B -m
.TP
.B /lib/map/*.x
map indexes
.TP
.B /bin/aux/mapd
Map driver program
.SH SOURCE
.B /usr/local/plan9/src/cmd/map
.SH "SEE ALSO"
.IR map (7),
.IR plot (1)
.SH DIAGNOSTICS
`Map seems to be empty'\(ema coarse survey found
zero extent within the
.B -l
and
.BR -w
bounds; for maps of limited extent
the grid resolution,
.IR res ,
or the limits may have to be refined.
.SH BUGS
Windows (option
.BR -w )
cannot cross the Date Line.
No borders appear along edges arising from
visibility limits.
Segments that cross a border are dropped, not clipped.
Excessively large scale or
.B -d
setting may cause long line segments to be dropped.
.I Map
tries to draw grid lines dotted and
.B -t
tracks dot-dashed.
As very few plotting filters properly support
curved textured lines, these lines are likely to
appear solid.
The west-longitude-positive convention
betrays Yankee chauvinism.
.I Gilbert
should be a map from sphere to sphere, independent of
the mapping from sphere to plane.

View file

@ -18,7 +18,10 @@ splits the input into as many columns as will fit in
.I N
print positions.
If run in a
.IR rio (1)
.IR 9term (1),
.IR xterm (1),
or
.IR acme (1)
window, the default
.I N
is the number of blanks that will fit across the window;
@ -31,9 +34,12 @@ each input line ending in a colon
.L :
is printed separately.
.SH SOURCE
.B /usr/local/plan9/src/cmd/mc.c
.B /usr/local/plan9/src/cmd/draw/mc.c
.SH "SEE ALSO"
.IR rio (1),
.IR 9term (1),
.IR acme (1),
.IR acme (4),
.IR xterm (1),
.IR pr (1),
.I lc
in

682
man/man1/mk.1 Normal file
View file

@ -0,0 +1,682 @@
.TH MK 1
.de EX
.nf
.ft B
..
.de EE
.fi
.ft R
..
.de LR
.if t .BR \\$1 \\$2
.if n .RB ` \\$1 '\\$2
..
.de L
.nh
.if t .B \\$1
.if n .RB ` \\$1 '
..
.SH NAME
mk, membername \- maintain (make) related files
.SH SYNOPSIS
.B mk
[
.B -f
.I mkfile
] ...
[
.I option ...
]
[
.I target ...
]
.PP
.B membername
.IR lib ( object )
\&...
.SH DESCRIPTION
.I Mk
uses the dependency rules specified in
.I mkfile
to control the update (usually by compilation) of
.I targets
(usually files)
from the source files upon which they depend.
The
.I mkfile
(default
.LR mkfile )
contains a
.I rule
for each target that identifies the files and other
targets upon which it depends and an
.IR sh (1)
script, a
.IR recipe ,
to update the target.
The script is run if the target does not exist
or if it is older than any of the files it depends on.
.I Mkfile
may also contain
.I meta-rules
that define actions for updating implicit targets.
If no
.I target
is specified, the target of the first rule (not meta-rule) in
.I mkfile
is updated.
.PP
The environment variable
.B $NPROC
determines how many targets may be updated simultaneously;
Some operating systems, e.g., Plan 9, set
.B $NPROC
automatically to the number of CPUs on the current machine.
.PP
Options are:
.TP \w'\fL-d[egp]\ 'u
.B -a
Assume all targets to be out of date.
Thus, everything is updated.
.PD 0
.TP
.BR -d [ egp ]
Produce debugging output
.RB ( p
is for parsing,
.B g
for graph building,
.B e
for execution).
.TP
.B -e
Explain why each target is made.
.TP
.B -i
Force any missing intermediate targets to be made.
.TP
.B -k
Do as much work as possible in the face of errors.
.TP
.B -n
Print, but do not execute, the commands
needed to update the targets.
.TP
.B -s
Make the command line arguments sequentially rather than in parallel.
.TP
.B -t
Touch (update the modified date of) file targets, without
executing any recipes.
.TP
.BI -w target1 , target2,...
Pretend the modify time for each
.I target
is the current time; useful in conjunction with
.B -n
to learn what updates would be triggered by
modifying the
.IR targets .
.PD
.SS The \fLmkfile\fP
A
.I mkfile
consists of
.I assignments
(described under `Environment') and
.IR rules .
A rule contains
.I targets
and a
.IR tail .
A target is a literal string
and is normally a file name.
The tail contains zero or more
.I prerequisites
and an optional
.IR recipe ,
which is an
.B shell
script.
Each line of the recipe must begin with white space.
A rule takes the form
.IP
.EX
target: prereq1 prereq2
\f2recipe using\fP prereq1, prereq2 \f2to build\fP target
.EE
.PP
When the recipe is executed,
the first character on every line is elided.
.PP
After the colon on the target line, a rule may specify
.IR attributes ,
described below.
.PP
A
.I meta-rule
has a target of the form
.IB A % B
where
.I A
and
.I B
are (possibly empty) strings.
A meta-rule acts as a rule for any potential target whose
name matches
.IB A % B
with
.B %
replaced by an arbitrary string, called the
.IR stem .
In interpreting a meta-rule,
the stem is substituted for all occurrences of
.B %
in the prerequisite names.
In the recipe of a meta-rule, the environment variable
.B $stem
contains the string matched by the
.BR % .
For example, a meta-rule to compile a C program using
.IR 9c (1)
might be:
.IP
.EX
%: %.c
9c -c $stem.c
9l -o $stem $stem.o
.EE
.PP
Meta-rules may contain an ampersand
.B &
rather than a percent sign
.BR % .
A
.B %
matches a maximal length string of any characters;
an
.B &
matches a maximal length string of any characters except period
or slash.
.PP
The text of the
.I mkfile
is processed as follows.
Lines beginning with
.B <
followed by a file name are replaced by the contents of the named
file.
Lines beginning with
.B "<|"
followed by a file name are replaced by the output
of the execution of the named
file.
Blank lines and comments, which run from unquoted
.B #
characters to the following newline, are deleted.
The character sequence backslash-newline is deleted,
so long lines in
.I mkfile
may be folded.
Non-recipe lines are processed by substituting for
.BI `{ command }
the output of the
.I command
when run by
.IR sh .
References to variables are replaced by the variables' values.
Special characters may be quoted using single quotes
.BR \&''
as in
.IR sh (1).
.PP
Assignments and rules are distinguished by
the first unquoted occurrence of
.B :
(rule)
or
.B =
(assignment).
.PP
A later rule may modify or override an existing rule under the
following conditions:
.TP
\-
If the targets of the rules exactly match and one rule
contains only a prerequisite clause and no recipe, the
clause is added to the prerequisites of the other rule.
If either or both targets are virtual, the recipe is
always executed.
.TP
\-
If the targets of the rules match exactly and the
prerequisites do not match and both rules
contain recipes,
.I mk
reports an ``ambiguous recipe'' error.
.TP
\-
If the target and prerequisites of both rules match exactly,
the second rule overrides the first.
.SS Environment
Rules may make use of
shell
environment variables.
A legal reference of the form
.B $OBJ
or
.B ${name}
is expanded as in
.IR sh (1).
A reference of the form
.BI ${name: A % B = C\fL%\fID\fL}\fR,
where
.I A, B, C, D
are (possibly empty) strings,
has the value formed by expanding
.B $name
and substituting
.I C
for
.I A
and
.I D
for
.I B
in each word in
.B $name
that matches pattern
.IB A % B\f1.
.PP
Variables can be set by
assignments of the form
.I
var\fL=\fR[\fIattr\fL=\fR]\fIvalue\fR
.br
Blanks in the
.I value
break it into words.
Such variables are exported
to the environment of
recipes as they are executed, unless
.BR U ,
the only legal attribute
.IR attr ,
is present.
The initial value of a variable is
taken from (in increasing order of precedence)
the default values below,
.I mk's
environment, the
.IR mkfiles ,
and any command line assignment as an argument to
.IR mk .
A variable assignment argument overrides the first (but not any subsequent)
assignment to that variable.
The variable
.B MKFLAGS
contains all the option arguments (arguments starting with
.L -
or containing
.LR = )
and
.B MKARGS
contains all the targets in the call to
.IR mk .
.PP
Dynamic information may be included in the mkfile by using a line of the form
.IP
\fR<|\fIcommand\fR \fIargs\fR
.LP
This runs the command
.I command
with the given arguments
.I args
and pipes its standard output to
.I mk
to be included as part of the mkfile. For instance, the Inferno kernels
use this technique
to run a shell command with an awk script and a configuration
file as arguments in order for
the
.I awk
script to process the file and output a set of variables and their values.
.SS Execution
.PP
During execution,
.I mk
determines which targets must be updated, and in what order,
to build the
.I names
specified on the command line.
It then runs the associated recipes.
.PP
A target is considered up to date if it has no prerequisites or
if all its prerequisites are up to date and it is newer
than all its prerequisites.
Once the recipe for a target has executed, the target is
considered up to date.
.PP
The date stamp
used to determine if a target is up to date is computed
differently for different types of targets.
If a target is
.I virtual
(the target of a rule with the
.B V
attribute),
its date stamp is initially zero; when the target is
updated the date stamp is set to
the most recent date stamp of its prerequisites.
Otherwise, if a target does not exist as a file,
its date stamp is set to the most recent date stamp of its prerequisites,
or zero if it has no prerequisites.
Otherwise, the target is the name of a file and
the target's date stamp is always that file's modification date.
The date stamp is computed when the target is needed in
the execution of a rule; it is not a static value.
.PP
Nonexistent targets that have prerequisites
and are themselves prerequisites are treated specially.
Such a target
.I t
is given the date stamp of its most recent prerequisite
and if this causes all the targets which have
.I t
as a prerequisite to be up to date,
.I t
is considered up to date.
Otherwise,
.I t
is made in the normal fashion.
The
.B -i
flag overrides this special treatment.
.PP
Files may be made in any order that respects
the preceding restrictions.
.PP
A recipe is executed by supplying the recipe as standard input to
the command
.BR /bin/sh .
(Note that unlike
.IR make ,
.I mk
feeds the entire recipe to the shell rather than running each line
of the recipe separately.)
The environment is augmented by the following variables:
.TP 14
.B $alltarget
all the targets of this rule.
.TP
.B $newprereq
the prerequisites that caused this rule to execute.
.TP
.B $newmember
the prerequisites that are members of an aggregate
that caused this rule to execute.
When the prerequisites of a rule are members of an
aggregate,
.B $newprereq
contains the name of the aggregate and out of date
members, while
.B $newmember
contains only the name of the members.
.TP
.B $nproc
the process slot for this recipe.
It satisfies
.RB 0 $nproc < $NPROC .
.TP
.B $pid
the process id for the
.I mk
executing the recipe.
.TP
.B $prereq
all the prerequisites for this rule.
.TP
.B $stem
if this is a meta-rule,
.B $stem
is the string that matched
.B %
or
.BR & .
Otherwise, it is empty.
For regular expression meta-rules (see below), the variables
.LR stem0 ", ...,"
.L stem9
are set to the corresponding subexpressions.
.TP
.B $target
the targets for this rule that need to be remade.
.PP
These variables are available only during the execution of a recipe,
not while evaluating the
.IR mkfile .
.PP
Unless the rule has the
.B Q
attribute,
the recipe is printed prior to execution
with recognizable environment variables expanded.
Commands returning error status
cause
.I mk
to terminate.
.PP
Recipes and backquoted
.B rc
commands in places such as assignments
execute in a copy of
.I mk's
environment; changes they make to
environment variables are not visible from
.IR mk .
.PP
Variable substitution in a rule is done when
the rule is read; variable substitution in the recipe is done
when the recipe is executed. For example:
.IP
.EX
bar=a.c
foo: $bar
$CC -o foo $bar
bar=b.c
.EE
.PP
will compile
.B b.c
into
.BR foo ,
if
.B a.c
is newer than
.BR foo .
.SS Aggregates
Names of the form
.IR a ( b )
refer to member
.I b
of the aggregate
.IR a .
Currently, the only aggregates supported are
.I 9ar
(see
.IR 9c (1))
archives.
.PP
.I Membername
echoes just the member names of a list of aggregate names.
It is useful in recipes like:
.EX
OFILES=a.o b.o
libc.a(%):N: %
libc.a: ${OFILES:%=libc.a(%)}
9ar rvc libc.a `membername $newprereq`
.EE
which re-archives only the new object files.
.SS Attributes
The colon separating the target from the prerequisites
may be
immediately followed by
.I attributes
and another colon.
The attributes are:
.TP
.B D
If the recipe exits with a non-null status, the target is deleted.
.TP
.B E
Continue execution if the recipe draws errors.
.TP
.B N
If there is no recipe, the target has its time updated.
.TP
.B n
The rule is a meta-rule that cannot be a target of a virtual rule.
Only files match the pattern in the target.
.TP
.B P
The characters after the
.B P
until the terminating
.B :
are taken as a program name.
It will be invoked as
.B "sh -c prog 'arg1' 'arg2'"
and should return a zero exit status
if and only if arg1 is up to date with respect to arg2.
Date stamps are still propagated in the normal way.
.TP
.B Q
The recipe is not printed prior to execution.
.TP
.B R
The rule is a meta-rule using regular expressions.
In the rule,
.B %
has no special meaning.
The target is interpreted as a regular expression as defined in
.IR regexp (7).
The prerequisites may contain references
to subexpressions in form
.BI \e n\f1,
as in the substitute command of
.IR sed (1).
.TP
.B U
The targets are considered to have been updated
even if the recipe did not do so.
.TP
.B V
The targets of this rule are marked as virtual.
They are distinct from files of the same name.
.PD
.SH EXAMPLES
A simple mkfile to compile a program:
.IP
.EX
.ta 8n +8n +8n +8n +8n +8n +8n
</$objtype/mkfile
prog: a.$O b.$O c.$O
$LD $LDFLAGS -o $target $prereq
%.$O: %.c
$CC $CFLAGS $stem.c
.EE
.PP
Override flag settings in the mkfile:
.IP
.EX
% mk target 'CFLAGS=-S -w'
.EE
.PP
Maintain a library:
.IP
.EX
libc.a(%.$O):N: %.$O
libc.a: libc.a(abs.$O) libc.a(access.$O) libc.a(alarm.$O) ...
ar r libc.a $newmember
.EE
.PP
String expression variables to derive names from a master list:
.IP
.EX
NAMES=alloc arc bquote builtins expand main match mk var word
OBJ=${NAMES:%=%.$O}
.EE
.PP
Regular expression meta-rules:
.IP
.EX
([^/]*)/(.*)\e.$O:R: \e1/\e2.c
cd $stem1; $CC $CFLAGS $stem2.c
.EE
.PP
A correct way to deal with
.IR yacc (1)
grammars.
The file
.B lex.c
includes the file
.B x.tab.h
rather than
.B y.tab.h
in order to reflect changes in content, not just modification time.
.IP
.EX
lex.$O: x.tab.h
x.tab.h: y.tab.h
cmp -s x.tab.h y.tab.h || cp y.tab.h x.tab.h
y.tab.c y.tab.h: gram.y
$YACC -d gram.y
.EE
.PP
The above example could also use the
.B P
attribute for the
.B x.tab.h
rule:
.IP
.EX
x.tab.h:Pcmp -s: y.tab.h
cp y.tab.h x.tab.h
.EE
.SH SEE ALSO
.IR sh (1),
.IR regexp9 (7)
.PP
A. Hume,
``Mk: a Successor to Make''
(Tenth Edition Research Unix Manuals).
.PP
Andrew G. Hume and Bob Flandrena,
``Maintaining Files on Plan 9 with Mk''.
DOCPREFIX/doc/mk.pdf
.SH HISTORY
Andrew Hume wrote
.I mk
for Tenth Edition Research Unix.
It was later ported to Plan 9.
This software is a port of the Plan 9 version back to Unix.
.SH BUGS
Identical recipes for regular expression meta-rules only have one target.
.br
Seemingly appropriate input like
.B CFLAGS=-DHZ=60
is parsed as an erroneous attribute; correct it by inserting
a space after the first
.LR = .
.br
The recipes printed by
.I mk
before being passed to
.I sh
for execution are sometimes erroneously expanded
for printing. Don't trust what's printed; rely
on what
.I sh
does.

14
man/man1/namespace.1 Normal file
View file

@ -0,0 +1,14 @@
.TH NAMESPACE 1
.SH NAME
namespace \- print name space directory
.SH SYNOPSIS
.B namespace
.SH DESCRIPTION
.I Namespace
prints the directory representing the current name space.
See
.IR intro (4).
.SH SOURCE
.B /usr/local/plan9/src/cmd/namespace.c
.SH SEE ALSO
.IR getns (3)

63
man/man1/news.1 Normal file
View file

@ -0,0 +1,63 @@
.TH NEWS 1
.SH NAME
news \- print news items
.SH SYNOPSIS
.B news
[
.B -a
]
[
.B -n
]
[
.I item ...
]
.SH DESCRIPTION
When invoked without options,
this simple local news service
prints files that have appeared in
.BR /lib/news
since last reading, most recent first,
with each preceded by an appropriate header.
The time of reading is recorded.
The options are
.TP
.B -a
Print all items, regardless of currency.
The recorded time is not changed.
.TP
.B -n
Report the names of the current items without
printing their contents, and without changing
the recorded time.
.PP
Other arguments
select particular news items.
.PP
To post a news item, create a file in
.BR /lib/news .
.PP
You may arrange to receive news automatically by
registering your mail address in
.BR /sys/lib/subscribers .
A daemon mails recent news
to all addresses on the list.
.PP
Empty news items, and news items named
.B core
or
.B dead.letter
are ignored.
.SH FILES
.TF /sys/lib/subscribers
.TP
.B /lib/news/*
articles
.TP
.B $HOME/lib/newstime
modify time is time news was last read
.TP
.B /sys/lib/subscribers
who gets news mailed to them
.SH SOURCE
.B /usr/local/plan9/src/cmd/news.c

33
man/man1/p.1 Normal file
View file

@ -0,0 +1,33 @@
.TH P 1
.SH NAME
p \- paginate
.SH SYNOPSIS
.B p
[
.BI - number
]
[
.I file ...
]
.SH DESCRIPTION
.I P
copies its standard input, or the named files if given,
to its standard output,
stopping at the end of every 22nd line, and between files,
to wait for a newline from the user.
The option sets the
.I number
of lines on a page.
.PP
While waiting for a newline,
.I p
interprets the commands:
.TP
.B !
Pass the rest of the line to the shell as a command.
.TP
.B q
Quit.
.PP
.SH SOURCE
.B /usr/local/plan9/src/cmd/p.c

56
man/man1/page.1 Normal file
View file

@ -0,0 +1,56 @@
.TH PAGE 1
.SH NAME
img, psv \- view
FAX,
image, graphic, PostScript, PDF, and
typesetter output
files
.SH SYNOPSIS
.B page
[
.B -abirPRvVw
]
[
.B -p
.I ppi
]
[
.IR file ...
]
.PP
.B img
.I file.bit
.PP
.B psv
.I file.ps
.PP
.B psv
.I file.pdf
.SH DESCRIPTION
Plan 9's
.IR page (1)
is not ported.
.PP
.I Img
is a simple image viewer for Plan 9 images
(see
.IR image (7)).
.PP
.I Psv
is a PostScript and PDF viewer.
It is a streamlined interface to
.IR gv (1).
.PP
To view troff output, use
.IR proof (1).
.SH "SEE ALSO
.IR gs (1),
.IR gv (1)
.IR jpg (1),
.IR proof (1),
.IR tex (1),
.IR troff (1)
.SH SOURCE
.B /usr/local/plan9/src/cmd/draw/img.c
.br
.B /usr/local/plan9/bin/psv

View file

@ -331,7 +331,7 @@ A: ellipse
for i = 1 to 10 do { line from A.s+.025*i,.01*i down i/50 }
.PE
.SH SOURCE
.B /sys/src/cmd/pic
.B /usr/local/plan9/src/cmd/pic
.SH "SEE ALSO"
.IR grap (1),
.IR doctype (1),

View file

@ -9,7 +9,7 @@ plot \- graphics filter
.SH DESCRIPTION
.I Plot
interprets plotting instructions (see
.IR plot (6))
.IR plot (7))
from the
.I files
or standard input,
@ -31,7 +31,7 @@ Erase the screen.
.TP
.BI -c " col"
Set the foreground color (see
.IR plot (6)
.IR plot (7)
for color names).
.TP
.BI -f " fill"
@ -55,7 +55,7 @@ Specify the bounding rectangle of plot's window.
By default it uses a 512×512 window in the
middle of the screen.
.SH SOURCE
.B /sys/src/cmd/plot
.B /usr/local/plan9/src/cmd/plot
.SH "SEE ALSO"
.IR rio (1),
.IR plot (6)
.IR plot (7)

View file

@ -87,6 +87,6 @@ mount point for
.SH SOURCE
.B /usr/local/plan9/src/cmd/plumb
.SH "SEE ALSO"
.IR plumb (2),
.IR plumb (3),
.IR plumber (4),
.IR plumb (6)
.IR plumb (7)

110
man/man1/pr.1 Normal file
View file

@ -0,0 +1,110 @@
.TH PR 1
.SH NAME
pr \- print file
.SH SYNOPSIS
.B pr
[
.I option ...
]
[
.I file ...
]
.SH DESCRIPTION
.I Pr
produces a printed listing of one or more
.I files
on its standard output.
The output is separated into pages headed by a date,
the name of the file or a specified header, and the page number.
With no file arguments,
.I pr
prints its standard input.
.PP
Options apply to all following files but may be reset
between files:
.TP
.BI - n
Produce
.IR n -column
output.
.TP
.BI + n
Begin printing with page
.IR n .
.TP
.B -b
Balance columns on last page, in case of multi-column output.
.TP
.B -d
Double space.
.TP
.BI -e n
Set the tab stops for input text every
.I n
spaces.
.TP
.B -h
Take the next argument as a page header
.RI ( file
by default).
.TP
.BI -i n
Replace sequences of blanks in the output
by tabs, using tab stops set every
.I n
spaces.
.TP
.BI -f
Use form feeds to separate pages.
.TP
.BI -l n
Take the length of the page to be
.I n
lines instead of the default 66.
.TP
.B -m
Print all
.I files
simultaneously,
each in one column.
.TP
.BI -n m
Number the lines of each
.IR file .
The numeric argument
.IR m ,
default 5,
sets the width of the line-number field.
.TP
.BI -o n
Offset the left margin
.I n
character positions.
.TP
.BI -p
Pad each file printed to an odd number of pages.
For two-sided printers,
this will ensure each file will start a new page.
.TP
.BI -s c
Separate columns by the single character
.I c
instead of aligning them with white space.
A missing
.I c
is taken to be a tab.
.TP
.B -t
Do not print the 5-line header or the
5-line trailer normally supplied for each page.
.TP
.BI -w n
For multi-column output,
take the width of the page to be
.I n
characters instead of the default 72.
.SH SOURCE
.B /usr/local/plan9/src/cmd/pr.c
.SH "SEE ALSO"
.IR cat (1),
.IR lp (1)

134
man/man1/proof.1 Normal file
View file

@ -0,0 +1,134 @@
.TH PROOF 1
.SH NAME
proof \- troff output interpreter
.SH SYNOPSIS
.B proof
[
.BI -m mag
]
[
.BI -/ nview
]
[
.B -F
.I dir
]
[
.B -d
]
[
.I file
]
.SH DESCRIPTION
.I Proof
reads
.IR troff (1)
intermediate language from
.I file
or standard input
and simulates the resulting pages on the screen.
.PP
After a page of text is displayed,
.I proof
pauses for a command from the keyboard.
The typed commands are:
.TP \w'newline\ \ \ 'u
newline
Go on to next page of text.
.TP
.B -
Go back to the previous page.
.TP
.B q
Quit.
.TP
.BI p n
Print page
.IR n .
An out-of-bounds page number means the end nearer to that number;
a missing number means the current page;
a signed number means an offset to the current page.
.TP
.I n
Same as
.BI p n\f1.
.TP
.B c
Clear the screen, then wait for another command.
.TP
.BI m mag
Change the magnification at which the output is printed.
Normally it is printed with magnification .9;
.IR mag "=.5"
shrinks it to half size;
.IR mag "=2"
doubles the size.
.TP
.BI x val
Move everything
.I val
screen pixels to the right (left, if
.I val
is negative).
.TP
.BI y val
Move everything
.I val
screen pixels down (up, if
.I val
is negative).
.TP
.BI / nview
Split the window into
.I nview
pieces. The current page goes into the rightmost, bottommost piece,
and previous pages are shown in the other pieces.
.TP
.BI "-F " dir
Use
.I dir
for fonts instead of
.BR /lib/font/bit .
.TP
.B d
Toggle the debug flag.
.PD
.PP
These commands are also available, under slightly different form,
from a menu on button 3. The
.B pan
menu item allows arbitrary positioning of the page:
after selecting
.BR pan ,
press the mouse button again and hold it down while moving
the page to the desired location. The page will be redisplayed
in its entirety when the button is released.
Mouse button 1 also pans, without the need for selecting from a menu.
.PP
The
.BR m ,
.BR x ,
.BR y ,
.BR F ,
.BR / ,
and
.B d
commands are also available as command line options.
.SH FILES
.TF /lib/font/bit/MAP
.TP
.B /lib/font/bit/*
fonts
.TP
.B /lib/font/bit/MAP
how to convert troff output fonts and character names
into screen fonts and character numbers
.SH SOURCE
.B /usr/local/plan9/src/cmd/proof
.SH SEE ALSO
.IR lp (1),
.IR gs (1),
.IR page (1)
.br
J. F. Ossanna and B. W. Kernighan,
``Troff User's Manual''

107
man/man1/ps.1 Normal file
View file

@ -0,0 +1,107 @@
.TH PS 1
.SH NAME
ps, psu \- process status
.SH SYNOPSIS
.B ps
[
.B -pa
]
.PP
.B psu
[
.B -pa
]
[
.I user
]
.SH DESCRIPTION
.I Ps
prints information about processes.
.I Psu
prints only information about processes started by
.I user
(default
.BR $USER ).
.PP
For each process reported,
the user,
process id,
user time,
system time,
size,
state,
and command name are printed.
State is one of the following:
.TP \w'\fLno\ \fIresource\ \ \ 'u
.B Moribund
Process has exited and is about to have its
resources reclaimed.
.TP
.B Ready
on the queue of processes ready to be run.
.TP
.B Scheding
about to be run.
.TP
.B Running
running.
.TP
.B Queueing
waiting on a queue for a resource.
.TP
.B Wakeme
waiting for I/O or some other kernel event to wake it up.
.TP
.B Broken
dead of unnatural causes; lingering
so that it can be examined.
.TP
.B Stopped
stopped.
.TP
.B Stopwait
waiting for another process to stop.
.TP
.B Fault
servicing a page fault.
.TP
.B Idle
waiting for something to do (kernel processes only).
.TP
.B New
being created.
.TP
.B Pageout
paging out some other process.
.TP
.I Syscall
performing the named system call.
.TP
.BI no " resource
waiting for more of a critical
.IR resource .
.TP
.BI wchan
waiting on the named wait channel
(on a Unix kernel).
.PD
.PP
With the
.B -p
flag,
.I ps
also prints, after the system time, the baseline and current priorities of each process.
.PP
The
.B -a
flag causes
.I ps
to print the arguments for the process. Newlines in arguments will be translated to spaces for display.
.SH SOURCE
.B /usr/local/plan9/bin/ps
.br
.B /usr/local/plan9/bin/psu
.SH "SEE ALSO"
.IR acid (1),
.IR db (1),
.IR kill (1)

125
man/man1/psfonts.1 Normal file
View file

@ -0,0 +1,125 @@
.TH PSFONTS 1
.SH NAME
psfonts, psdownload \- add necessary fonts to PostScript document for printing
.SH SYNOPSIS
.B psfonts
[
.I files ...
]
.PP
.B psdownload
[
.B options
]
[
.I files ...
]
.SH DESCRIPTION
Plan 9's
.IR troff (1)
and
.IR tr2post (1)
use non-standard PostScript fonts
(found in
.BR /usr/local/plan9/postscript/font ).
Before sending PostScript output from
.I tr2post
to a standard printer, code implementing
the non-standard fonts must be added to the PostScript.
.PP
.I Psfonts
copies
.I files
(or standard input)
to standard output, adding necessary PostScript fonts.
.PP
.I Psdownload
is the more general program used to implement
.IR psfonts .
The options are:
.TP
.BI -c " comment
Expect the fonts used in the document to be listed in
a comment beginning with this string
(default
.BR %%DocumentFonts: ).
.TP
.BI -f " atend
Expect extra fonts comments at the end of the document,
so read the entire input before starting output
(by default this only happens if a
.B %%DocumentFonts:
.B (atend)
comment is encountered).
.TP
.BI -m " mapfile
Use
.I mapfile
to translate from PostScript font names to files.
Each line in the map has two white space-separated
fields: a font name and the corresponding file.
If
.I mapfile
is not a rooted path, it is evaluated relative to the
.I fontdir
(see
.B -H
below).
.TP
.BI -p " printer
Set the name of the printer.
This option is deprecated. Its only effect is to override the
.B -r
option, causing
.IB fontdir /printers/ printer
to be used as the resident fonts list.
.TP
.BI -r " residentfonts
Read a list of fonts assumed to be on the printer
(not necessary to re-download) from the file
.IR residentfonts .
If
.I residentfonts
is not a rooted path, it is evaluated relative to the
.I fontdir
(see
.B -H
below).
.TP
.BI -H " fontdir
Set the directory that is assumed to contain the PostScript fonts
and information about printers
(see
.BR -m ,
.BR -p ,
and
.B -r
above;
default
.BR /usr/local/plan9/postscript/font ).
.TP
.BI -T " tmpdir
Use
.I tmpdir
for storing temporary files
(default
.BR /var/tmp ).
.B
.TP
.BI -D
Produce copious amounts of debugging information on standard error.
.TP
.BI -I
Continue running even after fatal errors occur.
.PD
.SH EXAMPLE
See
.IR tr2post (1)
for an example.
.SH SOURCE
.B /usr/local/plan9/bin/psfonts
.br
.B /usr/local/plan9/src/cmd/postscript/download
.SH SEE ALSO
.IR troff (1),
.IR tr2post (1)

26
man/man1/pwd.1 Normal file
View file

@ -0,0 +1,26 @@
.TH PWD 1
.SH NAME
pwd, pbd \- working directory
.SH SYNOPSIS
.B pwd
.br
.B pbd
.SH DESCRIPTION
.I Pwd
prints the path name of the working (current) directory.
.PP
.I Pbd
prints the base name of the working (current) directory.
It prints no final newline and is intended for applications
such as constructing shell prompts.
.SH SOURCE
.B /usr/local/plan9/src/cmd/pbd.c
.SH SEE ALSO
.I cd
in
.IR rc (1),
.IR getwd (3)
.SH BUGS
.I Pwd
is not provided.
Unix already provides one.

View file

@ -50,7 +50,7 @@ exits or is terminated, the
variable
.B $status
gets the process's wait message (see
.IR wait (2));
.IR wait (3));
it will be the null string if the command was successful.
.PP
A long command line may be continued on subsequent lines by typing
@ -83,7 +83,7 @@ in a directory in
.B $path
is the program to be executed.
To be executable, the user must have execute permission (see
.IR stat (2))
.IR stat (3))
and the file must be either an executable binary
for the current machine's CPU type, or a shell script.
Shell scripts begin with a line containing the full path name of a shell
@ -349,7 +349,7 @@ or
is a previously opened file descriptor and
.I fd0
becomes a new copy (in the sense of
.IR dup (2))
.IR dup (3))
of it.
A file descriptor may be closed by writing
.BI >[ fd0 =]
@ -542,7 +542,7 @@ function definition.
A function with a special name will be called when
.I rc
receives a corresponding note; see
.IR notify (2).
.IR notify (3).
The valid note names (and corresponding notes) are
.B sighup
.RB ( hangup ),
@ -757,10 +757,7 @@ command is executed, so they need not be enclosed in quotation marks.
The
.I environment
is a list of strings made available to executing binaries by the
.B env
device
(see
.IR env (3)).
kernel.
.I Rc
creates an environment entry for each variable whose value is non-empty,
and for each function.
@ -768,7 +765,7 @@ The string for a variable entry has the variable's name followed by
.B =
and its value.
If the value has more than one component, these
are separated by ctrl-a
are separated by SOH
.RB ( '\e001' )
characters.
The string for a function is just the
@ -824,12 +821,23 @@ for the
.B .
command.
If not set in the environment, it is initialized by
parsing the
.B $PATH
variable
(as in
.IR sh (1))
or by
.BR "path=(.\ /bin)" .
Its use is discouraged; instead use
.IR bind (1)
to build a
.B /bin
containing what's needed.
The variables
.B $path
and
.B $PATH
are maintained together: changes to one will be reflected in the other.
.\" Its use is discouraged; instead use
.\" .IR bind (1)
.\" to build a
.\" .B /bin
.\" containing what's needed.
.TP
.B $pid
Set during initialization to

View file

@ -1,54 +1,101 @@
.if t .ds 85 8\(12
.if n .ds 85 8-1/2
.TH RIO 1
.SH NAME
rio \- rio-like Window Manager for X
.SH SYNOPSIS
.B rio
[
.B \-grey
] [
.B \-version
] [
.B \-font
.I fname
] [
.I fontname
]
[
.B \-grey
]
[
.B \-s
]
[
.B \-term
.I termprog
] [
.BR exit | restart
]
[
.B \-version
]
[
.B \-virtuals
.I num
]
[
.B exit
|
.B restart
]
.SH DESCRIPTION
.if t .ds 85 8\(12
.if n .ds 85 8-1/2
.I Rio
is a window manager for X which attempts to emulate the window management
policies of Plan 9's
.I rio
window manager.
Rio is derived from David Hogan's \*(85.
.PP
The
.B \-grey
option makes the background light grey, as does \*(85.
Use this option for maximum authenticity.
option makes the background stippled grey, the default X11 background,
instead of solid grey, the Plan 9 background.
.PP
The
.B \-font
.I fname
option
sets the font in
.IR rio 's
menu to
.IR fname ,
overriding the default.
Unlike the other programs in the Plan 9 ports, rio expects this
font to be an X11 font rather than a Plan 9 font.
.PP
The
.B \-term
.I termprog
option
specifies an alternative program to run when the
.I New
menu item is selected.
The default is to try
.IR 9term (1)
and then to fall back to
.IR xterm (1).
The
.B \-s
option causes
.I rio
to add
.B -s
to
.IR 9term 's
command-line, starting the window in scrolling mode.
.PP
The
.B \-version
option
prints the current version on standard error, then exits.
.PP
To make
The
.B \-virtuals
option sets the number of virtual screens (the default is 1,
and the maximum is 12).
.PP
If the argument
.B exit
or
.B restart
is given,
it is sent to an already-running
.IR rio ,
causing the extant
.I rio
exit, you have to run
.B "rio exit"
on the command line. There is no ``exit'' menu item.
to exit or restart.
.SS Using rio
.PP
One window is
.IR current ,
@ -130,7 +177,16 @@ Windows may also be arranged by dragging their borders.
Pressing button 1 or 2 over a window's border allows one to
move the corresponding edge or corner, while button 3
moves the whole window.
.PD
.PP
When the mouse cursor points to the background area
and
.I rio
has been started with multiple virtual screens using the
.B \-virtuals
option,
clicking button 2 brings up a menu to select a virtual screen to view.
Scrolling the mouse wheel while the cursor points at the background
will cycle through the virtual screens.
.SH BUGS
In
Plan 9's
@ -154,4 +210,4 @@ starts a particular program.)
There is a currently a compiled-in limit of 128 hidden windows.
.SH "SEE ALSO"
.IR 9term (1),
.IR xterm (1).
.IR xterm (1)

View file

@ -25,4 +25,4 @@ and the directory itself.
.SH SOURCE
.B /usr/local/plan9/src/cmd/rm.c
.SH "SEE ALSO"
.IR remove (2)
.IR remove (3)

View file

@ -1,7 +1,7 @@
.TH SAM 1
.ds a \fR*\ \fP
.SH NAME
sam, B, sam.save \- screen editor with structural regular expressions
sam, B, E, sam.save, samterm, samsave \- screen editor with structural regular expressions
.SH SYNOPSIS
.B sam
[
@ -17,10 +17,8 @@ sam, B, sam.save \- screen editor with structural regular expressions
.B sam.save
.PP
.B B
[
.BI -nnnn
]
.I file ...
.IB file \fR[\fP: line \fR]
\&...
.SH DESCRIPTION
.I Sam
is a multi-file editor.
@ -62,7 +60,7 @@ for debugging.
.PD
.SS Regular expressions
Regular expressions are as in
.IR regexp (6)
.IR regexp (7)
with the addition of
.BR \en
to represent newlines.
@ -791,7 +789,7 @@ the white-space-delimited block of text is sent as a plumb message
with a
.B click
attribute defining where the selection lies (see
.IR plumb (6)).
.IR plumb (7)).
.TP
.B look
Search forward for the next occurrence of the literal text in dot.
@ -838,6 +836,20 @@ If plumbing is not enabled,
the option allows a line number to be specified for
the initial position to display in the last named file
(plumbing provides a more general mechanism for this ability).
.PP
.I E
is a shell-level command that can be used as
.B $EDITOR
in a Unix environment.
It runs
.I B
on
.I file
and then waits to exit until
.I file
is changed, which is taken as a signal that
.I file
is done being edited.
.SS Abnormal termination
If
.I sam
@ -879,7 +891,7 @@ source for the separate terminal part
.IR sed (1),
.IR grep (1),
.IR rio (1),
.IR regexp (6).
.IR regexp (7).
.PP
Rob Pike,
``The text editor sam''.

View file

@ -1,4 +1,4 @@
.TH SCAT 7
.TH SCAT 1
.SH NAME
scat \- sky catalogue and Digitized Sky Survey
.SH SYNOPSIS
@ -10,7 +10,7 @@ outside the solar system
and implements database-like manipulations
on sets of such objects.
It also provides an interface to
.IR astro (7)
.IR astro (1)
to plot the locations of solar system objects.
Finally, it displays images from the
Space Telescope Science Institute's
@ -119,7 +119,7 @@ The names
and
.B comet
refer to the earth's penumbra at lunar distance and the comet installed in the current
.IR astro (7).
.IR astro (1).
The output is the planet's name, right ascension and declination, azimuth and altitude, and phase
for the moon and sun, as shown by
.BR astro .
@ -182,7 +182,7 @@ collects all objects in the patches that cover the current set.
.TP
.BI astro " option"
Run
.IR astro (7)
.IR astro (1)
with the specified
.I options
(to which will be appended
@ -322,9 +322,9 @@ Show a pretty galaxy.
.SH FILES
.B /lib/sky/*.scat
.SH SOURCE
.B /sys/src/cmd/scat
.B /usr/local/plan9/src/cmd/scat
.SH SEE ALSO
.IR astro (7)
.IR astro (1)
.br
.B /lib/sky/constelnames\ \
the three-letter abbreviations of the constellation names.

212
man/man1/secstore.1 Normal file
View file

@ -0,0 +1,212 @@
.TH SECSTORE 1
.SH NAME
aescbc, secstore, ipso \- secstore commands
.SH SYNOPSIS
.B secstore
[
.B -s
.I server
]
[
.B -(g|G)
.I getfile
]
[
.B -p
.I putfile
]
[
.B -r
.I rmfile
]
[
.B -c
]
[
.B -u
.I user
]
[
.B -v
]
[
.B -i
]
.PP
.B aescbc
-e
.I <cleartext
.I >ciphertext
.br
.B aescbc
-d
.I <ciphertext
.I >cleartext
.PP
.B ipso
[
.B -a -e -l -f -s
] [
.I file
\&...
]
.PP
.SH DESCRIPTION
.PP
.I Secstore
authenticates to the server
using a password and optionally a hardware token,
then saves or retrieves a file.
This is intended to be a credentials store (public/private keypairs,
passwords, and other secrets) for a factotum.
.PP
Option
.B -p
stores a file on the secstore.
.PP
Option
.B -g
retrieves a file to the local directory;
option
.B -G
writes it to standard output instead.
Specifying
.I getfile
of . will send to standard output
a list of remote files with dates, lengths and SHA1 hashes.
.PP
Option
.B -r
removes a file from the secstore.
.PP
Option
.B -c
prompts for a password change.
.PP
Option
.B -v
produces more verbose output, in particular providing a few
bits of feedback to help the user detect mistyping.
.PP
Option
.B -i
says that the password should be read from standard input
instead of from
.BR /dev/cons .
.PP
Option
.B -n
says that the password should be read from NVRAM
instead of from
.BR /dev/cons .
This option is unsupported.
.PP
The server is
.BR tcp!$auth!5356 ,
or the server specified by option
.BR -s .
.PP
For example, to add a secret to the file read by
.IR factotum (4)
at startup, open a new window, type
.sp
.EX
% ramfs -p; cd /tmp
% auth/secstore -g factotum
secstore password:
% echo 'key proto=apop dom=x.com user=ehg !password=hi' >> factotum
% auth/secstore -p factotum
secstore password:
% read -m factotum > /mnt/factotum/ctl
.EE
.PP
and delete the window.
The first line creates an ephemeral memory-resident workspace,
invisible to others and automatically removed when the window is deleted.
The next three commands fetch the persistent copy of the secrets,
append a new secret,
and save the updated file back to secstore.
The final command loads the new secret into the running factotum.
.PP
The
.I ipso
command packages this sequence into a convenient script to simplify editing of
.I files
stored on a secure store.
It copies the named
.I files
into a local
.IR ramfs (4)
and invokes
.IR acme (1)
on them. When the editor exits,
.I ipso
prompts the user to confirm copying modifed or newly created files back to
.I secstore.
If no
.I file
is mentioned,
.I ipso
grabs all the user's files from
.I secstore
for editing.
.PP
By default, ipso will edit the
.I secstore
files and, if
one of them is named
.BR factotum ,
flush your current keys from factotum and load
the new ones from the file.
If you supply any of the
.BR -e ,
.BR -f ,
or
.BR -l
options,
.I ipso
will just perform the operations you requested, i.e.,
edit, flush, and/or load.
.PP
The
.B -s
option of
.I ipso
invokes
.IR sam (1)
as the editor insted of
.BR acme ;
the
.B -a
option provides a similar service for files encrypted by
.I aescbc
.RI ( q.v. ).
With the
.B -a
option, the full rooted pathname of the
.I file
must be specified and all
.I files
must be encrypted with the same key.
Also with
.BR -a ,
newly created files are ignored.
.PP
.I Aescbc
encrypts and decrypts using AES (Rijndael) in cipher
block chaining (CBC) mode.
.SH SOURCE
.B /usr/local/plan9/src/cmd/secstore
.SH SEE ALSO
.IR factotum (4),
Plan 9's \fIsecstore\fR(8)
.SH BUGS
There is deliberately no backup of files on the secstore, so
.B -r
(or a disk crash) is irrevocable. You are advised to store
important secrets in a second location.
.PP
When using
.IR ipso ,
secrets will appear as plain text in the editor window,
so use the command in private.

385
man/man1/sed.1 Normal file
View file

@ -0,0 +1,385 @@
.TH SED 1
.SH NAME
9sed \- stream editor
.SH SYNOPSIS
.B 9sed
[
.B -n
]
[
.B -g
]
[
.B -e
.I script
]
[
.B -f
.I sfile
]
[
.I file ...
]
.SH DESCRIPTION
.I Sed
copies the named
.I files
(standard input default) to the standard output,
edited according to a script of commands.
The
.B -f
option causes the script to be taken from file
.IR sfile ;
these options accumulate.
If there is just one
.B -e
option and no
.BR -f 's,
the flag
.B -e
may be omitted.
The
.B -n
option suppresses the default output;
.B -g
causes all substitutions to be global, as if suffixed
.BR g .
.PP
A script consists of editing commands, one per line,
of the following form:
.IP
[\fIaddress\fR [\fL,\fI address\fR] ] \fIfunction\fR [\fIargument\fR ...]
.PP
In normal operation
.I sed
cyclically copies a line of input into a
.I pattern space
(unless there is something left after
a
.L D
command),
applies in sequence
all commands whose
.I addresses
select that pattern space,
and at the end of the script copies the pattern space
to the standard output (except under
.BR -n )
and deletes the pattern space.
.PP
An
.I address
is either a decimal number that counts
input lines cumulatively across files, a
.L $
that
addresses the last line of input, or a context address,
.BI / regular-expression / \f1,
in the style of
.IR regexp (7),
with the added convention that
.L \en
matches a
newline embedded in the pattern space.
.PP
A command line with no addresses selects every pattern space.
.PP
A command line with
one address selects each pattern space that matches the address.
.PP
A command line with
two addresses selects the inclusive range from the first
pattern space that matches the first address through
the next pattern space that matches
the second.
(If the second address is a number less than or equal
to the line number first selected, only one
line is selected.)
Thereafter the process is repeated, looking again for the
first address.
.PP
Editing commands can be applied to non-selected pattern
spaces by use of the negation function
.L !
(below).
.PP
An argument denoted
.I text
consists of one or more lines,
all but the last of which end with
.L \e
to hide the
newline.
Backslashes in text are treated like backslashes
in the replacement string of an
.L s
command,
and may be used to protect initial blanks and tabs
against the stripping that is done on
every script line.
.PP
An argument denoted
.I rfile
or
.I wfile
must terminate the command
line and must be preceded by exactly one blank.
Each
.I wfile
is created before processing begins.
There can be at most 120 distinct
.I wfile
arguments.
.TP \w'\fL!\ \fIfunction\fLXXX'u
.B a\e
.br
.ns
.TP
.I text
Append.
Place
.I text
on the output before
reading the next input line.
.TP
.BI b " label"
Branch to the
.B :
command bearing the
.IR label .
If
.I label
is empty, branch to the end of the script.
.TP
.B c\e
.br
.ns
.TP
.I text
Change.
Delete the pattern space.
With 0 or 1 address or at the end of a 2-address range, place
.I text
on the output.
Start the next cycle.
.TP
.B d
Delete the pattern space.
Start the next cycle.
.TP
.B D
Delete the initial segment of the
pattern space through the first newline.
Start the next cycle.
.TP
.B g
Replace the contents of the pattern space
by the contents of the hold space.
.TP
.B G
Append the contents of the hold space to the pattern space.
.TP
.B h
Replace the contents of the hold space by the contents of the pattern space.
.TP
.B H
Append the contents of the pattern space to the hold space.
.ne 3
.TP
.B i\e
.br
.ns
.TP
.I text
Insert.
Place
.I text
on the standard output.
.TP
.B n
Copy the pattern space to the standard output.
Replace the pattern space with the next line of input.
.TP
.B N
Append the next line of input to the pattern space
with an embedded newline.
(The current line number changes.)
.TP
.B p
Print.
Copy the pattern space to the standard output.
.TP
.B P
Copy the initial segment of the pattern space through
the first newline to the standard output.
.TP
.B q
Quit.
Branch to the end of the script.
Do not start a new cycle.
.TP
.BI r " rfile"
Read the contents of
.IR rfile .
Place them on the output before reading
the next input line.
.TP
.B s/\fIregular-expression\fP/\fIreplacement\fP/\fIflags
Substitute the
.I replacement
string for instances of the
.I regular-expression
in the pattern space.
Any character may be used instead of
.LR / .
For a fuller description see
.IR regexp (7).
.I Flags
is zero or more of
.RS
.TP
.B g
Global.
Substitute for all non-overlapping instances of the
.I regular expression
rather than just the
first one.
.TP
.B p
Print the pattern space if a replacement was made.
.TP
.BI w " wfile"
Write.
Append the pattern space to
.I wfile
if a replacement
was made.
.RE
.TP
.BI t " label"
Test.
Branch to the
.L :
command bearing the
.I label
if any
substitutions have been made since the most recent
reading of an input line or execution of a
.LR t .
If
.I label
is empty, branch to the end of the script.
.TP
.B w
.I wfile
.br
Write.
Append the pattern space to
.IR wfile .
.TP
.B x
Exchange the contents of the pattern and hold spaces.
.TP
.B y/\fIstring1\fP/\fIstring2\fP/
Transform.
Replace all occurrences of characters in
.I string1
with the corresponding character in
.IR string2 .
The lengths of
.I
string1
and
.I string2
must be equal.
.TP
.BI ! "function"
Don't.
Apply the
.I function
(or group, if
.I function
is
.LR { )
only to lines
.I not
selected by the address(es).
.TP
.BI : " label"
This command does nothing; it bears a
.I label
for
.B b
and
.B t
commands to branch to.
.TP
.B =
Place the current line number on the standard output as a line.
.TP
.B {
Execute the following commands through a matching
.L }
only when the pattern space is selected.
.TP
.B " "
An empty command is ignored.
.ne 4
.SH EXAMPLES
.TP
.B sed 10q file
Print the first 10 lines of the file.
.TP
.B sed '/^$/d'
Delete empty lines from standard input.
.TP
.B sed 's/UNIX/& system/g'
Replace every instance of
.L UNIX
by
.LR "UNIX system" .
.PP
.EX
sed 's/ *$// \fRdrop trailing blanks\fP
/^$/d \fRdrop empty lines\fP
s/ */\e \fRreplace blanks by newlines\fP
/g
/^$/d' chapter*
.EE
.ns
.IP
Print the files
.BR chapter1 ,
.BR chapter2 ,
etc. one word to a line.
.PP
.EX
nroff -ms manuscript | sed '
${
/^$/p \fRif last line of file is empty, print it\fP
}
//N \fRif current line is empty, append next line\fP
/^\en$/D' \fRif two lines are empty, delete the first\fP
.EE
.ns
.IP
Delete all but one of each group of empty lines from a
formatted manuscript.
.SH SOURCE
.B /usr/local/plan9/src/cmd/9sed.c
.SH SEE ALSO
.IR ed (1),
.IR grep (1),
.IR awk (1),
.IR lex (1),
.IR sam (1),
.IR regexp (7)
.br
L. E. McMahon,
`SED \(em A Non-interactive Text Editor',
Unix Research System Programmer's Manual, Volume 2.
.SH BUGS
If input is from a pipe, buffering may consume
characters beyond a line on which a
.L q
command is executed.

View file

@ -38,7 +38,7 @@ The options are
.TP "\w'\fL-f \fIformat\fLXX'u"
.BI -f format
Use the
.IR print (2)-style
.IR print (3)-style
.I format
.IR print
for printing each (floating point) number.

View file

@ -28,4 +28,4 @@ while (){
.SH SOURCE
.B /usr/local/plan9/src/cmd/sleep.c
.SH "SEE ALSO"
.IR sleep (2)
.IR sleep (3)

View file

@ -41,7 +41,7 @@ File divisions occur at each line
that matches a regular
.IR expression ;
see
.IR regexp (6).
.IR regexp (7).
Multiple
.B -e
options may appear.
@ -79,4 +79,4 @@ to lower case.
.IR sed (1),
.IR awk (1),
.IR grep (1),
.IR regexp (6)
.IR regexp (7)

83
man/man1/src.1 Normal file
View file

@ -0,0 +1,83 @@
.TH SRC 1
.SH NAME
src \- find source code for executable
.SH SYNOPSIS
.B src
[
.B -n
]
[
.B -s
.I symbol
]
.I file
.B ...
.SH DESCRIPTION
.I Src
examines the named
.I files
to find the corresponding source code, which is then sent to the editor using
.B B
(see
.IR sam (1)).
If
.I file
is an
.IR rc (1)
script, the source is the file itself.
If
.I file
is an executable, the source is defined to be the single file containing the
definition of
.B main
and
.I src
will point the editor at the line that begins the definition.
.I Src
uses
.IR db (1)
to extract the symbol table information that identifies the source.
.PP
.I Src
looks for each
.I file
in the current directory, in
.BR /bin ,
and in the subdirectories of
.BR /bin ,
in that order.
.PP
The
.B -n
flag causes
.B src
to print the file name but not send it to the editor.
The
.B -s
flag identifies a
.I symbol
other than
.B main
to locate.
.SH EXAMPLES
Find the source to the
.B main
routine in
.BR /bin/ed :
.IP
.EX
src ed
.EE
.PP
Find the source for
.BR strcmp :
.IP
.EX
src -s strcmp rc
.EE
.SH SOURCE
.B /usr/local/plan9/bin/src
.SH "SEE ALSO"
.IR db (1),
.IR plumb (1),
.IR sam (1).

View file

@ -272,7 +272,7 @@ Bernardsville 2018 3.30
.if t \{.sp3
.1C\}
.SH SOURCE
.B /sys/src/cmd/tbl
.B /usr/local/plan9/src/cmd/tbl
.SH SEE ALSO
.IR troff (1),
.IR eqn (1),

167
man/man1/tcs.1 Normal file
View file

@ -0,0 +1,167 @@
.TH TCS 1
.SH NAME
tcs \- translate character sets
.SH SYNOPSIS
.B tcs
[
.B -slcv
]
[
.B -f
.I ics
]
[
.B -t
.I ocs
]
[
.I file ...
]
.SH DESCRIPTION
.I Tcs
interprets the named
.I file(s)
(standard input default) as a stream of characters from the
.I ics
character set or format, converts them to runes,
and then converts them into a stream of characters from the
.I ocs
character set or format on the standard output.
The default value for
.I ics
and
.I ocs
is
.BR utf ,
the
.SM UTF
encoding described in
.IR utf (7).
The
.B -l
option lists the character sets known to
.IR tcs .
Processing continues in the face of conversion errors (the
.B -s
option prevents reporting of these errors).
The
.B -c
option forces the output to contain only correctly converted characters;
otherwise,
.B 0x80
characters will be substituted for
.SM UTF
encoding errors and
.B 0xFFFD
characters will substituted for unknown characters.
.PP
The
.B -v
option generates various diagnostic and summary information on standard error,
or makes the
.B -l
output more verbose.
.PP
.I Tcs
recognizes an ever changing list of character sets.
In particular, it supports a variety of Russian and Japanese encodings.
Some of the supported encodings are
.TF jis-kanji
.TP
.B utf
The Plan 9
.SM UTF
encoding, known by ISO as UTF-8
.TP
.B utf1
The deprecated original
.SM UTF
encoding from ISO 10646
.TP
.B ascii
7-bit ASCII
.TP
.B 8859-1
Latin-1 (Central European)
.TP
.B 8859-2
Latin-2 (Czech .. Slovak)
.TP
.B 8859-3
Latin-3 (Dutch .. Turkish)
.TP
.B 8859-4
Latin-4 (Scandinavian)
.TP
.B 8859-5
Part 5 (Cyrillic)
.TP
.B 8859-6
Part 6 (Arabic)
.TP
.B 8859-7
Part 7 (Greek)
.TP
.B 8859-8
Part 8 (Hebrew)
.TP
.B 8859-9
Latin-5 (Finnish .. Portuguese)
.TP
.B koi8
KOI-8 (GOST 19769-74)
.TP
.B jis-kanji
ISO 2022-JP
.TP
.B ujis
EUC-JX: JIS 0208
.TP
.B ms-kanji
Microsoft, or Shift-JIS
.TP
.B jis
(from only) guesses between ISO 2022-JP, EUC or Shift-Jis
.TP
.B gb
Chinese national standard (GB2312-80)
.TP
.B big5
Big 5 (HKU version)
.TP
.B unicode
Unicode Standard 1.0
.TP
.B tis
Thai character set plus
.SM ASCII
(TIS 620-1986)
.TP
.B msdos
IBM PC: CP 437
.TP
.B atari
Atari-ST character set
.SH EXAMPLES
.TP
.B tcs -f 8859-1
Convert 8859-1 (Latin-1) characters into
.SM UTF
format.
.TP
.B tcs -s -f jis
Convert characters encoded in one of several shift JIS encodings into
.SM UTF
format.
Unknown Kanji will be converted into
.B 0xFFFD
characters.
.TP
.B tcs -lv
Print an up to date list of the supported character sets.
.SH SOURCE
.B /usr/local/plan9/src/cmd/tcs
.SH SEE ALSO
.IR ascii (1),
.IR rune (3),
.IR utf (7).

View file

@ -28,7 +28,7 @@ is present.
.B /usr/local/plan9/src/cmd/touch.c
.SH SEE ALSO
.IR ls (1),
.IR stat (2),
.IR stat (3),
.IR chmod (1)
.SH BUGS
.I Touch

111
man/man1/tr2post.1 Normal file
View file

@ -0,0 +1,111 @@
.TH TR2POST 1
.SH NAME
tr2post \- convert troff intermediate to PostScript
.SH SYNOPSIS
.B tr2post
[
.B options
]
[
.I files ...
]
.SH DESCRIPTION
.I Tr2post
converts
.I files
(or standard input),
which should be the device-independent output of
.IR troff (1),
into the PostScript printer language.
.PP
The options are:
.TP
.BI -a " aspectratio
Set an aspect ratio
.RI ( y / x )
to stretch the PostScript output (default 1.0).
.TP
.BI -c " copies
Set a comment in the PostScript output
marking the number of copies that should be printed.
The comment is intended for ancient versions of the Unix
\fIlp\fR(1) and is not recognized by any current printer
or print spooler.
.TP
.BI -d
Emit volumes of debugging output on standard error.
.TP
.BI -m " magnification
Magnify the PostScript output (default 1.0).
.TP
.BI -n " formsperpage
Print the PostScript with
.I formsperpage
logical pages per physical page
(default 1).
Using this option emits PostScript with invalid document structuring
comments.
It will print fine but will not view correctly in
.IR gv (1)
or
.IR psv (1).
.TP
.BI -o " pagelist
Print only the pages in the
.IR pagelist ,
which is a comma-separated list of ranges.
Each range is of the form
.I p
(just page
.IR p ),
.IB p - q
(pages
.I p
through
.IR q ),
.BI - p
(pages 1 through
.IR p ),
or
.IB p -
(pages
.I p
through the end of the document).
.TP
.BI -p " " l
Print the document in landscape mode.
An argument that does not begin with
.L l
will print the document in portrait mode.
.TP
.BI -x " xoffset
Translate the page output by
.I xoffset
inches to the right.
(Negative offsets translate to the left.)
.TP
.BI -y " yoffset
Translate the page output by
.I yoffset
inches down.
(Negative offsets translate up.)
.TP
.BI -P " pscode
Emit the text
.I pscode
at the end of the usual PostScript header.
.PD
.SH EXAMPLE
Preview this manual page:
.IP
.EX
troff -man /usr/local/plan9/man/man1/tr2post.1 |
tr2post |
psfonts >/tmp/a.ps
psv /tmp/a.ps
.EE
.SH SOURCE
.B /usr/local/plan9/src/cmd/postscript/tr2post
.SH SEE ALSO
.IR troff (1),
.IR psfonts (1)

View file

@ -174,17 +174,18 @@ terminal driving tables for
font width tables for
.I troff
.SH SOURCE
.B /sys/src/cmd/troff
.B /usr/local/plan9/src/cmd/troff
.SH "SEE ALSO"
.IR lp (1),
.IR lpr (1),
.IR proof (1),
.IR tr2post (1),
.IR eqn (1),
.IR tbl (1),
.IR pic (1),
.IR grap (1),
.IR doctype (1),
.IR ms (6),
.IR image (6),
.IR ms (7),
.IR image (7),
.IR tex (1),
.IR deroff (1)
.br

167
man/man1/tweak.1 Normal file
View file

@ -0,0 +1,167 @@
.TH TWEAK 1
.CT 1 graphics
.SH NAME
tweak \- edit image files, subfont files, face files, etc.
.SH SYNOPSIS
.B tweak
[
.I file ...
]
.SH DESCRIPTION
.I Tweak
edits existing files holding various forms of images.
To create original images, start from an existing image, subfont, etc.
.PP
.I Tweak
reads its argument
.I files
and displays the resulting images in a vertical column.
If the image is too wide to fit across the display, it
is folded much like a long line of text in an
.IR rio
window.
Under each image is displayed one or two lines of text
presenting its parameters.
The first line shows the image's
.BR depth ,
the number
of bits per pixel;
.BR r ,
the rectangle covered by the image;
and the name of the
.B file
from which it was read.
If the file is a subfont, a second line presents a hexadecimal 16-bit
.B offset
to be applied to character values from the subfont
(typically as stored in a font file; see
.IR font (7));
and the subfont's
.BR n ,
.BR height ,
and
.B ascent
as defined in
.IR cachechars (3).
.PP
By means described below, magnified views of portions of the images
may be displayed.
The text associated with such a view includes
.BR mag ,
the magnification.
If the view is of a single character from a subfont, the second
line of text shows the character's value (including the subfont's offset)
in hexadecimal and as a character in
.I tweak's
default font; the character's
.BR x ,
.BR top ,
.BR bottom ,
.BR left ,
and
.BR width
as defined in
.IR cachechars (3);
and
.BR iwidth ,
the physical width of the image in the subfont's image.
.PP
There are two methods to obtain a magnified view of a character from a
subfont.
The first is to click mouse button 1 over the image of the character in
the subfont. The second is to select the
.B char
entry on the button 3 menu,
point the resulting gunsight cursor at the desired subfont and click button 3,
and then type at the text prompt at the bottom of the screen the
character value, either as a multi-digit hexadecimal number or as a single
rune representing the character.
.PP
To magnify a portion of other types of image files,
click button 1 over the unmagnified file.
The cursor will switch to a cross.
Still with button 1, sweep a rectangle, as in
.BR rio ,
that encloses the portion of the image to be magnified.
(If the file is 16×16 or smaller,
.I tweak
will just magnify the entire file; no sweeping is necessary.)
.PP
Pressing buttons 1 and 2 within magnified images changes pixel values.
By default, button 1 sets the pixel to all zeros and button 2 sets the pixel
to all ones.
.PP
Across the top of the screen is a textual display of global parameters.
These values, as well as many of the textual values associated with
the images, may be edited by clicking button 1 on the displayed
value and typing a new value.
The values along the top of the screen are:
.TP
.B mag
Default magnification.
.TP
.B val(hex)
The value used to modify pixels within magnified images.
The value must be in hexadecimal, optionally preceded by a
tilde for bitwise negation.
.TP
.B but1
.TP
.B but2
The pixel value written when the corresponding button is pressed over a pixel.
.TP
.B invert-on-copy
Whether the pixel values are inverted when a
.B copy
operation is performed.
.PP
Under button 3 is a menu holding a variety of functions.
Many of these functions prompt for the image upon which to act
by switching to a gunsight cursor; click button 3 over the
selection, or click a different button to cancel the action.
.TP
.B open
Read and display a file. The name of the file is typed to the prompt
on the bottom line.
.TP
.B read
Reread a file.
.TP
.B write
Write a file.
.TP
.B copy
Use the copy function, default
.BR S ,
to transfer a rectangle of pixels from one image to another.
The program prompts with a cross cursor; sweep out a rectangle in
one image or just click button 3 to select the whole image.
The program will leave that rectangle in place and
attach another one to the cursor. Move that rectangle to the desired
place in any image and click button 3, or another button to cancel the action.
.TP
.B char
As described above, open a magnified view of a character image in a subfont.
.TP
.B pixels
Report the coordinate and value of individual pixels indicated by pressing button 3.
This is a mode of operation canceled by pressing button 1 or 2.
.TP
.B close
Close the specified image.
If the image is the unmagnified file, also close any magnified views of that file.
.TP
.B exit
Quit
.IR tweak .
The program will complain once about modified but unwritten files.
.SH SOURCE
.B /usr/local/plan9/src/cmd/draw/tweak.c
.SH "SEE ALSO"
.IR cachechars (3),
.IR image (7),
.IR font (7)
.SH BUGS
For a program written to adjust width tables in fonts,
.I tweak
has been pushed unreasonably far.

108
man/man1/units.1 Normal file
View file

@ -0,0 +1,108 @@
.TH UNITS 1
.if n .ds / /
.SH NAME
units \- conversion program
.SH SYNOPSIS
.B units
[
.B -v
]
[
.I file
]
.SH DESCRIPTION
.I Units
converts quantities expressed
in various standard scales to
their equivalents in other scales.
It works interactively in this fashion:
.IP
.EX
you have: inch
you want: cm
* 2.54
/ 0.393701
.EE
.PP
A quantity is specified as a multiplicative combination
of units and floating point numbers.
Operators have the following precedence:
.IP
.EX
.ta \w'\fLXXXXXXXXXXXXXXX'u
\fL+\fP \fL-\fP \f1add and subtract
\fL*\fP \fL/\fP \fL×\fP \fL÷\fP \f1multiply and divide
catenation multiply
\fL²\fP \fL³\fP \fL^\fP \f1exponentiation
\fL|\fP \f1divide
\fL(\fP ... \fL)\fP \f1grouping
.EE
.PP
Most familiar units,
abbreviations, and metric prefixes are recognized,
together with a generous leavening of exotica
and a few constants of nature including:
.IP
.de fq
\fL\\$1\\fP \\$2 \\$3 \\$4 \\$5 \\$6
..
.ta \w'\fLwaterXXX'u
.nf
.fq pi,\f1π\fP ratio of circumference to diameter
.fq c speed of light
.fq e charge on an electron
.fq g acceleration of gravity
.fq force same as \fLg\fP
.fq mole Avogadro's number
.fq water "pressure head per unit height of water"
.fq au astronomical unit
.fi
.PP
The
.L pound
is a unit of
mass.
Compound names are run together, e.g.
.LR lightyear .
British units that differ from their US counterparts
are prefixed thus:
.LR brgallon .
Currency is denoted
.LR belgiumfranc ,
.LR britainpound ,
etc.
.PP
The complete list of units can be found in
.BR /lib/units .
A
.I file
argument to
.I units
specifies a file to be used instead of
.BR /lib/units.
The
.B -v
flag causes
.I units
to print its entire database.
.SH EXAMPLE
.EX
you have: 15 pounds force/in²
you want: atm
* 1.02069
/ .97973
.EE
.SH FILES
.B /lib/units
.SH SOURCE
.B /usr/local/plan9/src/cmd/units.y
.SH BUGS
Since
.I units
does only multiplicative scale changes,
it can convert Kelvin to Rankine but not Centigrade to
Fahrenheit.
.br
Currency conversions are only as accurate as the last time someone
updated
.BR /lib/units .

130
man/man1/vac.1 Normal file
View file

@ -0,0 +1,130 @@
.TH VAC 1
.SH NAME
vac \- create a vac archive on Venti
.SH SYNOPSIS
.B vac
[
.B -mqsv
] [
.B -b
.I blocksize
] [
.B -d
.I oldvacfile
] [
.B -e
.I exclude
] [
.B -f
.I vacfile
] [
.B -i
.I name
] [
.B -h
.I host
]
.I file ...
.SH DESCRIPTION
.I Vac
creates an archival copy of Plan 9 file trees on Venti. It can be used
to build a simple backup system. One of the unusual properties of Venti is
that duplicate blocks are detected and coalesced. When
.I vac
is used on a file tree that shares data with an existing archive, the consumption of
storage will be approximately equal to an incremental backup.
This reduction in storage consumption occurs transparently to the user.
.PP
As an optimization, the
.B -d
and
.B -q
options, described below, can be used to explicitly create an archive relative to an existing archive.
These options do not change the resulting archive generated by
.IR vac ,
but simply reduce the number of write operations to Venti.
.PP
The output of
.I vac
is the hexadecimal representation of the Sha1 fingerprint of the root of the archive, in this format:
.IP
.EX
vac:64daefaecc4df4b5cb48a368b361ef56012a4f46
.EE
.PP
Option to
.I vac
are:
.TP
.BI -b " blocksize
Specifies the block size that data will be broken into.
The units for the size can be specified by appending
.L k
to indicate kilobytes.
The default is 8k.
The size must be in the range
of 512 bytes to 52k.
.TP
.BI -d " oldvacfile
Reduce the number of blocks written to Venti by comparing the files to be stored with
the contents of an existing
.I vac
file tree given by
.IR oldvacfile .
.TP
.BI -e " exclude
Do not include the file or directory specified by
.IR exclude .
This option may be repeated multiple times.
.TP
.BI -f " vacfile
The results of
.I vac
are place in
.IR vacfile ,
or the standard output if no file is given.
.TP
.BI -i " name
Include standard input as one of the input files, storing it in the archive
with the specified
.IR name .
.TP
.BI -h " host
The network address of the Venti server.
The default is taken from the environment variable
.BR venti .
.\" If this variable does not exist, then the default is the
.\" metaname
.\" .BR $venti ,
.\" which can be configured via
.\" .IR ndb (6).
.TP
.B -m
Expand and merge any
.I vac
archives that are found while reading the input files. This option is
useful for building an archive from a collection of existing archives. Each archive is inserted
into the new archive as if it had been unpacked in the directory in which it was found. Multiple
archives can be unpacked in a single directory and the contents will be merged. To be detected, the
archives must end in
.LR .vac .
Note, an archive is inserted by simply copying the root fingerprint and does not require
the archive to be unpacked.
.TP
.B -q
Increase the performance of the
.B -d
option by detecting unchanged files based on a match of the files name and other meta data,
rather than examining the contents of the files.
.TP
.B -s
Print out various statistics on standard error.
.TP
.B -v
Produce more verbose output on standard error, including the name of the files added to the archive
and the vac archives that are expanded and merged.
.SH SOURCE
.B /usr/local/plan9/src/cmd/vac
.SH "SEE ALSO"
Plan 9's \fIvacfs\fR(4) and \fIventi\fR(8)

75
man/man1/web.1 Normal file
View file

@ -0,0 +1,75 @@
.TH WEB 1
.SH NAME
web, wmail \- handle web page, mail message for plumber
.SH SYNOPSIS
.B web
.I url
\&...
.br
.B wmail
.I address
.SH DESCRIPTION
.I Web
opens each of the named
.I urls
in a new web browser window.
Any of the
.I urls
may be relative paths to files in the file system;
they will be translated into
.B file://
URLs before being passed to the web browser.
.PP
.I Web
uses the
web browser's
.B -remote
option command-line option,
which requires an instance of the web browser
to be already running.
The choice of browser is determined by the
.B $BROWSER
environment variable, which should be the name of
the executable for your choice of web browser.
Since the various browsers all use different syntaxes
in their
.B -remote
options, the executable name is inspected to determine
the type of browser.
The supported browsers are Opera, Mozilla Firefox, Mozilla Firebird, and Mozilla.
When possible,
.I web
opens each URL in a new tab rather than a new window.
.PP
.I Wmail
starts the composition of a new mail message to
.IR address .
.PP
The choice of mailer is determined by the
.B $MAILER
environment variable.
The supported mailers are:
.TP browser
invoke the mailer via a
.B mailto://
URL passed to
.I web
.PD
.PP
.I Web
and
.I wmail
are invoked as start commands in the
.IR plumber (4)'s
rules for opening web pages and writing mail messages.
.SH FILES
.TP
.B /usr/local/plan9/plumb/basic
plumbing rules using
.I web
and
.I wmail
.SH SOURCE
.B /usr/local/plan9/bin
.SH SEE ALSO
.IR plumber (4)

98
man/man1/wintext.1 Normal file
View file

@ -0,0 +1,98 @@
.TH WINTEXT 1
.SH NAME
wintext, ", "" \- access text in current window
.SH SYNOPSIS
.B wintext
.br
.B \C'"'\
[
.I prefix
]
.br
.B \C'"'\C'"'\
[
.I prefix
]
.SH DESCRIPTION
.I Wintext
prints the text of the current
.I win
(see
.IR acme (1))
or
.IR 9term (1)
window to standard output.
.PP
.I \C'"'
searches the window text for commands typed with a particular prefix
and prints them, indented, to standard output.
.I Prefix
is a regular expression that is matched against the beginning of the command-line.
If
.I prefix
is omitted,
.I \C'"'
prints the last command executed.
.I \C'"'\C'"'
prints the last command that
.I \C'"'
would print and then executes it by piping it into
.IR rc (1).
.PP
Both
.I \C'"'
and
.I \C'"'\C'"'
identify commands in the window text by looking for lines
beginning with a shell prompt.
Prompts are assumed to be an unindented sequence of
non-whitespace characters followed by one of the
characters
.BR % ,
.BR ; ,
.BR $ ,
or
.BR # .
.SH EXAMPLES
Print the
.IR ls (1)
and
.I lc
commands executed in this window:
.IP
.EX
.ta +4n
% \C'"' 'l[sc]'
% ls -l /tmp/qq*
# ls -lrt /etc
% lc r*
%
.EE
.PP
Execute the most recent
.I lc
command again:
.IP
.EX
.ta +4n
% \C'"'\C'"' lc
% lc r*
ramfs rc read rio rm
%
.EE
.SH SEE ALSO
.IR 9term (1),
.IR acme (1)
.SH SOURCE
.B /usr/local/plan9/bin
.SH BUGS
.I \C'"'
and
.I \C'"'\C'"'
are hard to type in shells other than
.IR rc (1).
.\" and in troff!
.PP
Don't run
.I \C'"'\C'"'
twice in a row.

View file

@ -106,7 +106,7 @@ option reverses this.
The parser accepts
.SM UTF
input text (see
.IR utf (6)),
.IR utf (7)),
which has a couple of effects.
First, the return value of
.B yylex()
@ -145,7 +145,7 @@ parser prototype
.B /usr/local/plan9/lib/yaccpars
parser prototype using stdio
.SH SOURCE
.B /usr/local/plan9/src/cmd/yacc.c
.B /usr/local/plan9/src/cmd/9yacc.c
.SH "SEE ALSO"
.IR lex (1)
.br