From 058b0118a52061ad57694c01fc8763b22b789c4d Mon Sep 17 00:00:00 2001 From: rsc Date: Mon, 3 Jan 2005 06:40:20 +0000 Subject: Some man pages. --- man/man1/9c.1 | 175 +++++++++++++ man/man1/9p.1 | 125 ++++++++++ man/man1/9term.1 | 6 +- man/man1/INDEX | 170 +++++++++++++ man/man1/acid.1 | 30 +-- man/man1/acme.1 | 44 ++-- man/man1/ascii.1 | 6 +- man/man1/astro.1 | 122 +++++++++ man/man1/bc.1 | 292 ++++++++++++++++++++++ man/man1/bundle.1 | 57 +++++ man/man1/cat.1 | 26 +- man/man1/cleanname.1 | 2 +- man/man1/colors.1 | 73 ++++++ man/man1/core.1 | 46 ++++ man/man1/crop.1 | 147 +++++++++++ man/man1/date.1 | 46 ++-- man/man1/db.1 | 5 +- man/man1/deroff.1 | 4 +- man/man1/dict.1 | 18 +- man/man1/doctype.1 | 56 +++++ man/man1/ed.1 | 4 +- man/man1/eqn.1 | 2 +- man/man1/freq.1 | 2 +- man/man1/fsize.1 | 22 ++ man/man1/grap.1 | 2 +- man/man1/graph.1 | 2 +- man/man1/grep.1 | 26 +- man/man1/gzip.1 | 160 ++++++++++++ man/man1/join.1 | 9 +- man/man1/jpg.1 | 243 ++++++++++++++++++ man/man1/kill.1 | 69 ++++++ man/man1/label.1 | 71 ++++++ man/man1/lex.1 | 81 ++++++ man/man1/look.1 | 86 +++++++ man/man1/ls.1 | 6 +- man/man1/man.1 | 105 ++++++++ man/man1/map.1 | 675 ++++++++++++++++++++++++++++++++++++++++++++++++++ man/man1/mc.1 | 12 +- man/man1/mk.1 | 682 +++++++++++++++++++++++++++++++++++++++++++++++++++ man/man1/namespace.1 | 14 ++ man/man1/news.1 | 63 +++++ man/man1/p.1 | 33 +++ man/man1/page.1 | 56 +++++ man/man1/pic.1 | 2 +- man/man1/plot.1 | 8 +- man/man1/plumb.1 | 4 +- man/man1/pr.1 | 110 +++++++++ man/man1/proof.1 | 134 ++++++++++ man/man1/ps.1 | 107 ++++++++ man/man1/psfonts.1 | 125 ++++++++++ man/man1/pwd.1 | 26 ++ man/man1/rc.1 | 36 +-- man/man1/rio.1 | 96 ++++++-- man/man1/rm.1 | 2 +- man/man1/sam.1 | 28 ++- man/man1/scat.1 | 12 +- man/man1/secstore.1 | 212 ++++++++++++++++ man/man1/sed.1 | 385 +++++++++++++++++++++++++++++ man/man1/seq.1 | 2 +- man/man1/sleep.1 | 2 +- man/man1/split.1 | 4 +- man/man1/src.1 | 83 +++++++ man/man1/tbl.1 | 2 +- man/man1/tcs.1 | 167 +++++++++++++ man/man1/touch.1 | 2 +- man/man1/tr2post.1 | 111 +++++++++ man/man1/troff.1 | 9 +- man/man1/tweak.1 | 167 +++++++++++++ man/man1/units.1 | 108 ++++++++ man/man1/vac.1 | 130 ++++++++++ man/man1/web.1 | 75 ++++++ man/man1/wintext.1 | 98 ++++++++ man/man1/yacc.1 | 4 +- 73 files changed, 5962 insertions(+), 164 deletions(-) create mode 100644 man/man1/9c.1 create mode 100644 man/man1/9p.1 create mode 100644 man/man1/INDEX create mode 100644 man/man1/astro.1 create mode 100644 man/man1/bc.1 create mode 100644 man/man1/bundle.1 create mode 100644 man/man1/colors.1 create mode 100644 man/man1/core.1 create mode 100644 man/man1/crop.1 create mode 100644 man/man1/doctype.1 create mode 100644 man/man1/fsize.1 create mode 100644 man/man1/gzip.1 create mode 100644 man/man1/jpg.1 create mode 100644 man/man1/kill.1 create mode 100644 man/man1/label.1 create mode 100644 man/man1/lex.1 create mode 100644 man/man1/look.1 create mode 100644 man/man1/man.1 create mode 100644 man/man1/map.1 create mode 100644 man/man1/mk.1 create mode 100644 man/man1/namespace.1 create mode 100644 man/man1/news.1 create mode 100644 man/man1/p.1 create mode 100644 man/man1/page.1 create mode 100644 man/man1/pr.1 create mode 100644 man/man1/proof.1 create mode 100644 man/man1/ps.1 create mode 100644 man/man1/psfonts.1 create mode 100644 man/man1/pwd.1 create mode 100644 man/man1/secstore.1 create mode 100644 man/man1/sed.1 create mode 100644 man/man1/src.1 create mode 100644 man/man1/tcs.1 create mode 100644 man/man1/tr2post.1 create mode 100644 man/man1/tweak.1 create mode 100644 man/man1/units.1 create mode 100644 man/man1/vac.1 create mode 100644 man/man1/web.1 create mode 100644 man/man1/wintext.1 (limited to 'man/man1') diff --git a/man/man1/9c.1 b/man/man1/9c.1 new file mode 100644 index 00000000..6745ae35 --- /dev/null +++ b/man/man1/9c.1 @@ -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 diff --git a/man/man1/9p.1 b/man/man1/9p.1 new file mode 100644 index 00000000..199c26b8 --- /dev/null +++ b/man/man1/9p.1 @@ -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) diff --git a/man/man1/9term.1 b/man/man1/9term.1 index 932a067e..ebb9bd70 100644 --- a/man/man1/9term.1 +++ b/man/man1/9term.1 @@ -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 diff --git a/man/man1/INDEX b/man/man1/INDEX new file mode 100644 index 00000000..de03a627 --- /dev/null +++ b/man/man1/INDEX @@ -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 diff --git a/man/man1/acid.1 b/man/man1/acid.1 index 2d1523af..1f7c2649 100644 --- a/man/man1/acid.1 +++ b/man/man1/acid.1 @@ -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 diff --git a/man/man1/acme.1 b/man/man1/acme.1 index 359799bb..6f162731 100644 --- a/man/man1/acme.1 +++ b/man/man1/acme.1 @@ -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 diff --git a/man/man1/ascii.1 b/man/man1/ascii.1 index 05cec0f8..20a4302f 100644 --- a/man/man1/ascii.1 +++ b/man/man1/ascii.1 @@ -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) diff --git a/man/man1/astro.1 b/man/man1/astro.1 new file mode 100644 index 00000000..e2502f95 --- /dev/null +++ b/man/man1/astro.1 @@ -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. diff --git a/man/man1/bc.1 b/man/man1/bc.1 new file mode 100644 index 00000000..9bb0f08e --- /dev/null +++ b/man/man1/bc.1 @@ -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. diff --git a/man/man1/bundle.1 b/man/man1/bundle.1 new file mode 100644 index 00000000..c56e9430 --- /dev/null +++ b/man/man1/bundle.1 @@ -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. diff --git a/man/man1/cat.1 b/man/man1/cat.1 index 3b24bdde..d2b8d5c0 100644 --- a/man/man1/cat.1 +++ b/man/man1/cat.1 @@ -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 diff --git a/man/man1/cleanname.1 b/man/man1/cleanname.1 index d017ce5b..d2191380 100644 --- a/man/man1/cleanname.1 +++ b/man/man1/cleanname.1 @@ -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). diff --git a/man/man1/colors.1 b/man/man1/colors.1 new file mode 100644 index 00000000..ea33e9a5 --- /dev/null +++ b/man/man1/colors.1 @@ -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) diff --git a/man/man1/core.1 b/man/man1/core.1 new file mode 100644 index 00000000..3c2c0d41 --- /dev/null +++ b/man/man1/core.1 @@ -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) diff --git a/man/man1/crop.1 b/man/man1/crop.1 new file mode 100644 index 00000000..2804ece0 --- /dev/null +++ b/man/man1/crop.1 @@ -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. diff --git a/man/man1/date.1 b/man/man1/date.1 index cdc02285..45440e63 100644 --- a/man/man1/date.1 +++ b/man/man1/date.1 @@ -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 diff --git a/man/man1/db.1 b/man/man1/db.1 index 10d38cb2..b8021001 100644 --- a/man/man1/db.1 +++ b/man/man1/db.1 @@ -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 diff --git a/man/man1/deroff.1 b/man/man1/deroff.1 index 2097a80d..18d62280 100644 --- a/man/man1/deroff.1 +++ b/man/man1/deroff.1 @@ -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), diff --git a/man/man1/dict.1 b/man/man1/dict.1 index 1665ea7c..3c01c71b 100644 --- a/man/man1/dict.1 +++ b/man/man1/dict.1 @@ -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. diff --git a/man/man1/doctype.1 b/man/man1/doctype.1 new file mode 100644 index 00000000..cb339ae6 --- /dev/null +++ b/man/man1/doctype.1 @@ -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. diff --git a/man/man1/ed.1 b/man/man1/ed.1 index 7b88f11d..b61972b2 100644 --- a/man/man1/ed.1 +++ b/man/man1/ed.1 @@ -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; diff --git a/man/man1/eqn.1 b/man/man1/eqn.1 index 7c917cdb..2d914495 100644 --- a/man/man1/eqn.1 +++ b/man/man1/eqn.1 @@ -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) diff --git a/man/man1/freq.1 b/man/man1/freq.1 index fd326a25..853e479d 100644 --- a/man/man1/freq.1 +++ b/man/man1/freq.1 @@ -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) diff --git a/man/man1/fsize.1 b/man/man1/fsize.1 new file mode 100644 index 00000000..cabe7f3d --- /dev/null +++ b/man/man1/fsize.1 @@ -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. diff --git a/man/man1/grap.1 b/man/man1/grap.1 index b098f822..8fbfaaaf 100644 --- a/man/man1/grap.1 +++ b/man/man1/grap.1 @@ -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) diff --git a/man/man1/graph.1 b/man/man1/graph.1 index 4cdc6b24..f105d87d 100644 --- a/man/man1/graph.1 +++ b/man/man1/graph.1 @@ -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) diff --git a/man/man1/grep.1 b/man/man1/grep.1 index e58d0d97..b8cb431c 100644 --- a/man/man1/grep.1 +++ b/man/man1/grep.1 @@ -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. diff --git a/man/man1/gzip.1 b/man/man1/gzip.1 new file mode 100644 index 00000000..58886891 --- /dev/null +++ b/man/man1/gzip.1 @@ -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. diff --git a/man/man1/join.1 b/man/man1/join.1 index 2cf079f2..841d077c 100644 --- a/man/man1/join.1 +++ b/man/man1/join.1 @@ -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 : ' ' temp +tr : ' ' 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. - diff --git a/man/man1/jpg.1 b/man/man1/jpg.1 new file mode 100644 index 00000000..b81490b2 --- /dev/null +++ b/man/man1/jpg.1 @@ -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. diff --git a/man/man1/kill.1 b/man/man1/kill.1 new file mode 100644 index 00000000..c7d5ff92 --- /dev/null +++ b/man/man1/kill.1 @@ -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) diff --git a/man/man1/label.1 b/man/man1/label.1 new file mode 100644 index 00000000..0caf8d5c --- /dev/null +++ b/man/man1/label.1 @@ -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. diff --git a/man/man1/lex.1 b/man/man1/lex.1 new file mode 100644 index 00000000..7021e8d7 --- /dev/null +++ b/man/man1/lex.1 @@ -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. diff --git a/man/man1/look.1 b/man/man1/look.1 new file mode 100644 index 00000000..e06e8420 --- /dev/null +++ b/man/man1/look.1 @@ -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. + diff --git a/man/man1/ls.1 b/man/man1/ls.1 index 35981ab2..4cea25bc 100644 --- a/man/man1/ls.1 +++ b/man/man1/ls.1 @@ -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) diff --git a/man/man1/man.1 b/man/man1/man.1 new file mode 100644 index 00000000..7b865842 --- /dev/null +++ b/man/man1/man.1 @@ -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 . diff --git a/man/man1/map.1 b/man/man1/map.1 new file mode 100644 index 00000000..cc73075e --- /dev/null +++ b/man/man1/map.1 @@ -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. diff --git a/man/man1/mc.1 b/man/man1/mc.1 index 1618befc..ac535204 100644 --- a/man/man1/mc.1 +++ b/man/man1/mc.1 @@ -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 diff --git a/man/man1/mk.1 b/man/man1/mk.1 new file mode 100644 index 00000000..59b1d0ea --- /dev/null +++ b/man/man1/mk.1 @@ -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 +[ 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 diff --git a/man/man1/rio.1 b/man/man1/rio.1 index 9af90e81..4e30e587 100644 --- a/man/man1/rio.1 +++ b/man/man1/rio.1 @@ -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) diff --git a/man/man1/rm.1 b/man/man1/rm.1 index 97893960..a2ab0d1c 100644 --- a/man/man1/rm.1 +++ b/man/man1/rm.1 @@ -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) diff --git a/man/man1/sam.1 b/man/man1/sam.1 index b4194b4b..e2085ad7 100644 --- a/man/man1/sam.1 +++ b/man/man1/sam.1 @@ -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''. diff --git a/man/man1/scat.1 b/man/man1/scat.1 index d9bf8db8..8840c1dc 100644 --- a/man/man1/scat.1 +++ b/man/man1/scat.1 @@ -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. diff --git a/man/man1/secstore.1 b/man/man1/secstore.1 new file mode 100644 index 00000000..862857da --- /dev/null +++ b/man/man1/secstore.1 @@ -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 ciphertext +.br +.B aescbc +-d +.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. diff --git a/man/man1/sed.1 b/man/man1/sed.1 new file mode 100644 index 00000000..4e9ac33f --- /dev/null +++ b/man/man1/sed.1 @@ -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. diff --git a/man/man1/seq.1 b/man/man1/seq.1 index 73796c26..5fda241e 100644 --- a/man/man1/seq.1 +++ b/man/man1/seq.1 @@ -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. diff --git a/man/man1/sleep.1 b/man/man1/sleep.1 index 6416bc1d..68c94a92 100644 --- a/man/man1/sleep.1 +++ b/man/man1/sleep.1 @@ -28,4 +28,4 @@ while (){ .SH SOURCE .B /usr/local/plan9/src/cmd/sleep.c .SH "SEE ALSO" -.IR sleep (2) +.IR sleep (3) diff --git a/man/man1/split.1 b/man/man1/split.1 index 6e7f7ebf..e00e3d01 100644 --- a/man/man1/split.1 +++ b/man/man1/split.1 @@ -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) diff --git a/man/man1/src.1 b/man/man1/src.1 new file mode 100644 index 00000000..4c03dd7c --- /dev/null +++ b/man/man1/src.1 @@ -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). diff --git a/man/man1/tbl.1 b/man/man1/tbl.1 index 921e9e85..0e986e9a 100644 --- a/man/man1/tbl.1 +++ b/man/man1/tbl.1 @@ -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), diff --git a/man/man1/tcs.1 b/man/man1/tcs.1 new file mode 100644 index 00000000..e1a410c3 --- /dev/null +++ b/man/man1/tcs.1 @@ -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). diff --git a/man/man1/touch.1 b/man/man1/touch.1 index 3b074896..551ea2ca 100644 --- a/man/man1/touch.1 +++ b/man/man1/touch.1 @@ -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 diff --git a/man/man1/tr2post.1 b/man/man1/tr2post.1 new file mode 100644 index 00000000..3c4597f3 --- /dev/null +++ b/man/man1/tr2post.1 @@ -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) diff --git a/man/man1/troff.1 b/man/man1/troff.1 index db5b9e6f..3f990ab7 100644 --- a/man/man1/troff.1 +++ b/man/man1/troff.1 @@ -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 diff --git a/man/man1/tweak.1 b/man/man1/tweak.1 new file mode 100644 index 00000000..511e1ce8 --- /dev/null +++ b/man/man1/tweak.1 @@ -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. diff --git a/man/man1/units.1 b/man/man1/units.1 new file mode 100644 index 00000000..23863569 --- /dev/null +++ b/man/man1/units.1 @@ -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 . diff --git a/man/man1/vac.1 b/man/man1/vac.1 new file mode 100644 index 00000000..4d3208d7 --- /dev/null +++ b/man/man1/vac.1 @@ -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) + diff --git a/man/man1/web.1 b/man/man1/web.1 new file mode 100644 index 00000000..0bcc9ca1 --- /dev/null +++ b/man/man1/web.1 @@ -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) diff --git a/man/man1/wintext.1 b/man/man1/wintext.1 new file mode 100644 index 00000000..7d3463d1 --- /dev/null +++ b/man/man1/wintext.1 @@ -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. diff --git a/man/man1/yacc.1 b/man/man1/yacc.1 index 08d51b79..91bc7d0d 100644 --- a/man/man1/yacc.1 +++ b/man/man1/yacc.1 @@ -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 -- cgit v1.2.3