diff --git a/man/fonts b/man/fonts
new file mode 100755
index 0000000..238145d
--- /dev/null
+++ b/man/fonts
@@ -0,0 +1,10 @@
+# mkfile rules to get fonts in Lucida Sans.
+# if you want to use Times, change these next lines to
+# MAN=mantimes
+# FONTS=''
+MAN=man
+FONTS='.fp 1 R LucidaSans
+.fp 2 I LucidaSansI
+.fp 3 B LucidaSansB
+.fp 5 L LucidaCW
+'
diff --git a/man/man1/0intro.1 b/man/man1/0intro.1
new file mode 100644
index 0000000..610e791
--- /dev/null
+++ b/man/man1/0intro.1
@@ -0,0 +1,300 @@
+.TH INTRO 1
+.SH NAME
+intro \- introduction to Plan 9 from User Space
+.SH DESCRIPTION
+Plan 9 is a distributed computing environment built
+at Bell Labs starting in the late 1980s.
+The system can be obtained from Bell Labs at
+.B http://plan9.bell-labs.com/plan9
+and runs on PCs and a variety of other platforms.
+Plan 9 became a convenient platform for experimenting
+with new ideas, applications, and services.
+.PP
+Plan 9 from User Space provides many of the ideas,
+applications, and services from Plan 9
+on Unix-like systems.
+It runs on
+FreeBSD (x86),
+Linux (x86 and PowerPC),
+Mac OS X (PowerPC),
+OpenBSD (x86),
+and
+SunOS (Sparc).
+.SS Commands
+Plan 9 from User Space expects its own directory tree,
+conventionally
+.BR /usr/local/plan9 .
+When programs need to access files in the tree,
+they expect the
+.B $PLAN9
+environment variable 
+to contain the name of the root of the tree.
+See
+.IR install (8)
+for details about installation.
+.PP
+Many of the familiar Unix commands,
+for example
+.IR cat (1),
+.IR ls (1),
+and
+.IR wc (1),
+are present, but in their Plan 9 forms:
+.I cat
+takes no arguments,
+.I ls
+does not columnate its output when printing to a terminal,
+and
+.I wc
+counts UTF characters.
+In some cases, the differences are quite noticeable:
+.IR grep (1)
+and
+.IR sed (1)
+expect Plan 9 regular expressions
+(see
+.IR regexp (7)),
+which are closest to what Unix calls extended regular expressions.
+Because of these differences, it is not recommended to put 
+.B $PLAN9/bin
+before the usual system
+.B bin
+directories in your search path.
+Instead, put it at the end of your path and use the
+.IR 9 (1)
+script when you want to invoke the Plan 9 version of a
+traditional Unix command.
+.PP
+Occasionally the Plan 9 programs have been
+changed to adapt to Unix.
+.IR Mk (1)
+now allows mkfiles to choose their own shell,
+and
+.IR rc (1)
+has a
+.I ulimit
+builtin and manages
+.BR $PATH .
+.PP
+Many of the graphical programs from Plan 9 are present,
+including
+.IR sam (1)
+and
+.IR acme (1).
+An X11 window manager
+.IR rio (1)
+mimics Plan 9's window system, with command windows
+implemented by the external program
+.IR 9term (1).
+Following the style of X Windows, these programs run in new
+windows rather than the one in which they are invoked.
+They all take a
+.B -W
+option to specify the size and placement of the new window.
+The argument is one of
+\fIwidth\^\^\fLx\fI\^\^height\fR,
+\fIwidth\^\^\fLx\fI\^\^height\^\^\fL@\fI\^\^xmin\fL,\fIxmax\fR,
+\fL'\fIxmin ymin xmax ymax\fL'\fR,
+\fRor
+\fIxmin\fL,\fIymin\fL,\fIxmax\fL,\fIymax\fR.
+.PP
+The
+.IR plumber (4)
+helps to connect the various Plan 9 programs together,
+and fittings like
+.IR web (1)
+connect it to external programs such as web browsers;
+one can click on a URL in
+.I acme
+and see the page load in
+.IR Firefox .
+.SS User-level file servers
+In Plan 9, user-level file servers present file trees via the Plan 9 file protocol, 9P.
+Processes can mount arbitrary file servers and customize their own name spaces.
+These facilities are used to connect programs.  Clients interact
+with file servers by reading and writing files.
+.PP
+This cannot be done directly on Unix.
+Instead the servers listen for 9P connections on Unix domain sockets;
+clients connect to these sockets and speak 9P directly using the
+.IR 9pclient (3)
+library.
+.IR Intro (4)
+tells more of the story.
+The effect is not as clean as on Plan 9, but it gets the job done
+and still provides a uniform and easy-to-understand mechanism.
+The
+.IR 9p (1)
+client can be used in shell scripts or by hand to carry out
+simple interactions with servers.
+.SS Programming
+The shell scripts
+.I 9c
+and
+.I 9l
+(see
+.IR 9c (1))
+provide a simple interface to the underlying system compiler and linker,
+similar to the 
+.I 2c
+and
+.I 2l
+families on Plan 9.
+.I 9c
+compiles source files, and
+.I 9l
+links object files into executables.
+When using Plan 9 libraries,
+.I 9l
+infers the correct set of libraries from the object files,
+so that no
+.B -l
+options are needed.
+.PP
+The only way to write multithreaded programs is to use the
+.IR thread (3)
+library.
+.IR Rfork (3)
+exists but is not as capable as on Plan 9.
+There are many unfortunate by necessary preprocessor
+diversions to make Plan 9 and Unix libraries coexist.
+See
+.IR intro (3)
+for details.
+.PP
+The debuggers
+.IR acid (1)
+and
+.IR db (1)
+and the debugging library
+.IR mach (3)
+are works in progress.
+They are platform-independent, so that x86 Linux core dumps
+can be inspected on PowerPC Mac OS X machines,
+but they are also fairly incomplete.
+The x86 target is the most mature; initial PowerPC support
+exists; and other targets are unimplemented.
+The debuggers can only inspect, not manipulate, target processes.
+Support for operating system threads and for 64-bit architectures
+needs to be rethought.
+On x86 Linux systems,
+.I acid
+and
+.I db
+can be relied upon to produce reasonable stack traces
+(often in cases when GNU
+.I gdb
+cannot)
+and dump data structures,
+but that it is the extent to which they have been developed and exercised.
+.SS External databases
+Some programs rely on large databases that would be
+cumbersome to include in every release.
+Scripts are provided that download these databases separately.
+These databases can be downloaded separately.  
+See
+.B $PLAN9/dict/README
+and
+.BR $PLAN9/sky/README .
+.SS Porting programs
+The vast majority of the familiar Plan 9 programs 
+have been ported, including the Unicode-aware
+.IR troff (1).
+.PP
+Of the more recent additions to Plan 9,
+the
+.IR secstore (1)
+client has been ported, though
+.I secstored
+has not.
+.IR Vac (1)
+has been ported, though
+.I vacfs
+has not.
+.IR Factotum
+and
+.IR venti
+are in progress.
+.PP
+A backup system providing a dump file system built atop Venti
+is also in progress.
+.SS Porting to new systems
+Porting the tree to new operating systems or architectures
+should be straightforward, as system-specific code has been
+kept to a minimum.  
+The largest pieces of system-specific code are
+.BR <u.h> ,
+which must include the right system files and
+set up the right integer type definitions,
+and
+.IR libthread ,
+which must implement spin locks, operating system thread
+creation, and context switching routines.
+Portable implementations of these using 
+.B <pthread.h>
+and
+.B <ucontext.h>
+already exist.  If your system supports them, you may not
+need to write any system specific code at all.
+.PP
+There are other smaller system dependencies,
+such as the terminal handling code in
+.IR 9term (1)
+and the implementation of
+.IR getcallerpc (3),
+but these are usually simple and are not on the critical
+path for getting the system up and running.
+.SS SEE ALSO
+The system's documentation is these manual pages.
+Many of the man pages have been brought from Plan 9,
+but they have been updated, and others have been written from scratch.
+.PP
+The manual pages are in a Unix style tree, with names like
+.B $PLAN9/man/man1/cat.1
+instead of Plan 9's simpler
+.BR  $PLAN9/man/1/cat ,
+so that the Unix
+.IR man (1)
+utility can handle it.
+Some systems, for example Debian Linux,
+deduce the man page locations from the search path, so that
+adding 
+.B $PLAN9/bin
+to your path is sufficient to cause
+.B $PLAN9/man
+to be consulted for manual pages using the system
+.IR man .
+On other systems, or to look at manual pages with the
+same name as a system page,
+invoke the Plan 9
+.I man
+directly, as in
+.B 9
+.B man
+.BR cat .
+.PP
+The manual sections follow the Unix numbering conventions,
+not the Plan 9 ones.
+.PP
+Section (1) describes general publicly accessible commands.
+.PP
+Section (3) describes C library functions.
+.PP
+Section (4) describes user-level file servers.
+.PP
+Section (7) describes file formats and protocols.
+(On Unix, section (5) is technically for file formats but
+seems now to be used for describing specific files.)
+.PP
+Section (8) describes commands used for system administration.
+.PP
+Section (9p) describes the Plan 9 file protocol 9P.
+.SH DIAGNOSTICS
+In Plan 9, a program's exit status is an arbitrary text string,
+while on Unix it is an integer.
+Section (1) of this manual describes commands as though they
+exit with string statuses.  In fact, exiting with an empty status
+corresponds to exiting with status 0,
+and exiting with any non-empty string corresponds to exiting with status 1.
+See
+.IR exits (3).
diff --git a/man/man1/9c.1 b/man/man1/9c.1
index 4281b81..fb04a29 100644
--- a/man/man1/9c.1
+++ b/man/man1/9c.1
@@ -3,6 +3,14 @@
 9c, 9a, 9l, 9ar \- C compiler, assembler, linker, archiver
 .SH SYNOPSIS
 .B 9c
+[
+.B -I
+.I path
+]
+[
+.B -D
+.I name
+]
 .I file
 \&...
 .PP
@@ -26,7 +34,7 @@
 \&...
 ]
 [
-.BI -l library
+.BI -l name
 \&...
 ]
 .PP
@@ -49,12 +57,24 @@
 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
+The system C compiler is invoked with warnings enabled.
+The
+.B -I
+option adds
+.I path
+to the include path,
+and the
+.B -D
+option defines
+.I name
+in the C preprocessor.
+.I 9c
+always
+defines the symbol
 .B PLAN9PORT
-is defined in the C preprocessor, and with
+defined in the C preprocessor and adds
 .B $PLAN9/include
-on the include path.
+to the include path.
 .PP
 .I 9c
 also defines
@@ -74,7 +94,7 @@
 Each
 .B -l
 option specifies that a library named
-.BI lib library .a
+.BI lib name .a
 be found and linked.
 The
 .B -L
@@ -84,6 +104,30 @@
 .B $PLAN9/lib
 already on the library search path.
 .PP
+.I 9l
+searches the named objects and libraries for symbols of the form
+.BI __p9l_autolib_ name \fR,
+which it takes as indication that it should link
+.BI $PLAN9/lib/lib name .a
+as well.
+It also examines such libraries to find their own dependencies.
+A single
+.B -l
+option at the beginning of the command line disables this behavior.
+The symbol
+.BI __p9l_autolib_ name
+is added to an object file by the macro
+.B AUTOLIB( name )\fR,
+defined in
+.B <u.h>.
+Header files associated with libraries contain
+.B AUTOLIB
+annotations; ordinary programs need not use them.
+Due to shortcomings in the implementation, a source file may not
+contain the same
+.B AUTOLIB
+statement multiple times.
+.PP
 .I 9ar
 maintains object file archives called libraries.
 The exact set of valid command keys varies from system to system,
@@ -154,7 +198,7 @@
 the front of the library.
 The table of contents is
 rebuilt whenever the archive is modified.
-.SH EXAMPLE
+.SH EXAMPLES
 .TP
 .L
 9c file1.c file2.c file3.c
@@ -167,6 +211,7 @@
 .L
 9ar rvc lib.a file[12].o
 Archive the first two object files into a library.
+.TP
 .L
 9l -o prog file3.o file4.o lib.a
 Link the final two object files and any necessary objects from the library
diff --git a/man/man1/9p.1 b/man/man1/9p.1
index a90ac4d..017dc0e 100644
--- a/man/man1/9p.1
+++ b/man/man1/9p.1
@@ -110,9 +110,7 @@
 .PP
 To display the contents of the current
 .IR acme (4)
-window (specified by the environment variable
-.BR $winid )
-on standard output:
+window:
 .IP
 .EX
 9p read acme/$winid/body
diff --git a/man/man1/9term.1 b/man/man1/9term.1
index 9a8d0f7..9441dc8 100644
--- a/man/man1/9term.1
+++ b/man/man1/9term.1
@@ -1,6 +1,6 @@
 .TH 9TERM 1
 .SH NAME
-9term, label \- terminal windows
+9term \- terminal windows
 .SH SYNOPSIS
 .B 9term
 [
@@ -14,14 +14,11 @@
 .I cmd
 \&...
 ]
-.PP
-.B label
-.I name
 .SH DESCRIPTION
 .I 9term
 is a terminal window program for the X Window System,
 providing an interface similar to that used on Plan 9.
-.SS Commands
+.SS Command
 The
 .I 9term
 command starts a new window.
@@ -59,15 +56,6 @@
 runs the given command in the window, or 
 .B $SHELL
 if no command is given.
-.PP
-The
-.I label
-command changes a window's identifying name by
-echoing a special control code that both
-.I 9term
-and
-.IR xterm (1)
-understand.
 .SS Text windows
 Characters typed on the keyboard
 collect in the window to form
@@ -152,7 +140,7 @@
 that it is not delivered to a program when read.
 Thus on an empty line an EOT serves to deliver an end-of-file indication:
 the read will return zero characters.
-Like newlines, unread EOTs may be successfully edited out of the text.
+.\" Like newlines, unread EOTs may be successfully edited out of the text.
 The BS character (control-H) erases the character before the selected text.
 The ETB character (control-W) erases any nonalphanumeric characters, then
 the alphanumeric word just before the selected text.
@@ -202,6 +190,10 @@
 relies on the kernel's terminal processing to handle
 EOT and DEL, so the terminal must be set up with EOT
 as the ``eof'' character and DEL as the ``intr'' character.
+.I 9term
+runs
+.IR stty (1)
+to establish this when the terminal is created.
 .PP
 Normally, written output to a window blocks when
 the text reaches the end of the screen and the terminal
@@ -214,7 +206,7 @@
 Most programs run with echo enabled.
 In this mode,
 .I 9term
-display and allows editing of the input.
+displays and allows editing of the input.
 Some programs, typically those reading passwords,
 run with echo disabled.
 In this mode,
@@ -279,9 +271,23 @@
 containing the selection (typing cursor).
 A typical use of this feature is to tell the editor to find the source of an error
 by plumbing the file and line information in a compiler's diagnostic.
+.PP
+Each
+.I 9term
+listens for connections on a Unix socket.
+When a client connects, the 
+.I 9term
+writes the window contents to the client and then hangs up.
+.I 9term
+installs the name of this socket in the environment as
+.B $text9term
+before running
+.IR cmd .
 .SH SOURCE
 .B \*9/src/cmd/9term
 .SH BUGS
 There should be a program to toggle the current window's hold mode.
 .PP
 Unix makes everything harder.
+.SH SEE ALSO
+.IR wintext (1)
diff --git a/man/man1/INDEX b/man/man1/INDEX
index 0f75165..fcd708c 100644
--- a/man/man1/INDEX
+++ b/man/man1/INDEX
@@ -1,10 +1,12 @@
+0intro 0intro.1
+intro 0intro.1
+9 9.1
 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
@@ -27,13 +29,12 @@
 auxclog clog.1
 clog clog.1
 cmp cmp.1
+cmapcube colors.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
@@ -93,6 +94,7 @@
 ls ls.1
 lookman man.1
 man man.1
+sig man.1
 map map.1
 mapd map.1
 mapdemo map.1
@@ -142,7 +144,6 @@
 aescbc secstore.1
 ipso secstore.1
 secstore secstore.1
-9sed sed.1
 sed sed.1
 seq seq.1
 sleep sleep.1
diff --git a/man/man1/acid.1 b/man/man1/acid.1
index b1f2cd0..e76aeb2 100644
--- a/man/man1/acid.1
+++ b/man/man1/acid.1
@@ -4,7 +4,7 @@
 .SH SYNOPSIS
 .B acid
 [
-.BI -l " libfile
+.BI -l " library
 ]
 [
 .B -wq
@@ -49,7 +49,7 @@
 A program to be debugged may be specified by the process id of
 a running or defunct process,
 or by the name of the program's text file 
-.RB ( 8.out
+.RB ( a.out
 by default).
 At the prompt,
 .I acid
@@ -514,13 +514,13 @@
 .SH BUGS
 There is no way to redirect the standard input and standard output
 of a new process.
-.br
+.PP
 Source line selection near the beginning of a file may pick
 an adjacent file.
-.br
+.PP
 With the extant stepping commands, one cannot step through instructions
 outside the text segment and it is hard to debug across process forks.
-.br
+.PP
 Breakpoints do not work yet.
 Therefore, commands such as
 .BR step ,
diff --git a/man/man1/acme.1 b/man/man1/acme.1
index 56a6dfd..df01fca 100644
--- a/man/man1/acme.1
+++ b/man/man1/acme.1
@@ -71,7 +71,7 @@
 .RB ( -F )
 option sets the main font, usually variable-pitch (alternate, usually fixed-pitch);
 the default is
-.B /lib/font/bit/lucidasans/euro.8.font
+.B /usr/local/plan9/font/lucidasans/euro.8.font
 .RB ( \&.../lucm/unicode.9.font ).
 Tab intervals are set to the width of 4 (or the value of
 .BR $tabstop )
@@ -140,7 +140,7 @@
 if any of them needs attention.)
 The layout box in a window is normally white; when it is black in the center,
 it records that the file is `dirty':
-.I Acme
+.I acme
 believes it is modified from its original
 contents.
 .PP
@@ -455,26 +455,31 @@
 the directory from which the command was run, which will be created if
 necessary.
 For example, in a window
-.B /adm/users
+.B /etc/passwd
 executing
 .B pwd
 will produce the output
-.B /adm
+.B /etc
 in a (possibly newly-created) window labeled
-.BR /adm/+Errors ;
+.BR /etc/+Errors ;
 in a window containing
-.B \*9/src/cmd/sam/sam.c
+.B /home/rob/sam/sam.c
 executing
 .B mk
 will run
 .IR mk (1)
 in
-.BR \*9/src/cmd/sam ,
+.BR /home/rob/sam ,
 producing output in a window labeled
-.BR \*9/src/cmd/sam/+Errors .
+.BR /home/rob/sam/+Errors .
 The environment of such commands contains the variable
 .B $%
-with value set to the filename of the window in which the command is run.
+with value set to the filename of the window in which the command is run,
+and
+.B $winid
+set to the window's id number
+(see
+.IR acme (4)).
 .SS "Mouse button 3
 Pointing at text with button 3 instructs
 .I acme
@@ -586,7 +591,7 @@
 window and runs a
 .I command
 (default
-.BR /bin/rc )
+.BR $SHELL )
 in it, turning the window into something analogous to an
 .IR rio (1)
 window.
diff --git a/man/man1/acmeevent.1 b/man/man1/acmeevent.1
index 31103d6..d5ff083 100644
--- a/man/man1/acmeevent.1
+++ b/man/man1/acmeevent.1
@@ -132,32 +132,92 @@
 a button 2 action in the tag
 .RB ( x ).
 .TP
-.I q0
-
+.I q0\fR, \fPq1
+The character addresses of the action.
 .TP
+.I eq0\fR, \fPq1
+The expanded character addresses of the action.
+If the text indicated by
+.IR q0 ,
 .I q1
-
-.TP
-.I eq0
-
-.TP
+is a null string that has a non-null expansion,
+.IR eq0 ,
 .I eq1
-
+are the addresses of the expansion.
+Otherwise they are the same as
+.IR q0 ,
+.IR q1 .
 .TP
 .I flag
-
+.I Flag
+is a bitwise OR (reported decimally) of the following:
+1 if the text indicated is recognized as an
+.I acme
+built-in command;
+2 if the text indicated is a null string that has a non-null expansion
+(see
+.IR eq0 ,
+.I eq1
+above);
+8 if the command has an extra (chorded) argument
+(see
+.I chordarg
+below).
+.I Flag
+remains from the
+.IR acme (4)
+event format.
+Because
+.IR eq0 ,
+.IR eq1 ,
+and
+.I chordarg
+are explicit in each event
+(unlike in
+.IR acme (4)
+events),
+.I flag
+can usually be ignored.
 .TP
 .I textlen
-
+The length of the action text (or its expansion) for button 2 and button 3 events in characters.
 .TP
 .I text
-
+If
+.I textlen
+is less than 256 chracters,
+.I text
+is the action text itself.
+Otherwise it is an empty string and must be read from the
+.B data
+file.
 .TP
 .I chordarg
-
+The chorded argument for an action.
 .TP
 .I chordorigin
-
+If the chord argument is in the body of a named window,
+.I chordorigin
+specifies the full address of the argument,
+as in
+.BR /etc/group:#123,#234 .
+.PD
+.PP
+To experiment with
+.IR acmeevent ,
+create an empty window in
+.I acme
+(using
+.IR New ), type
+.IP
+.EX
+9p read acme/$winid/event | acmeevent
+.EE
+.LP
+inside it, and execute it.
+Actions performed on the window will be printed as events in the
+.B +Errors
+window.
 .PP
 .I Acme.rc
 is a library of
diff --git a/man/man1/ascii.1 b/man/man1/ascii.1
index d145e04..0857805 100644
--- a/man/man1/ascii.1
+++ b/man/man1/ascii.1
@@ -39,7 +39,7 @@
 .PP
 .B look
 .I hex
-.B /lib/unicode
+.B \*9/lib/unicode
 .SH DESCRIPTION
 .I Ascii
 prints the
@@ -122,7 +122,7 @@
 may be unhelpful if the characters printed are not available in the current font.
 .PP
 The file
-.B /lib/unicode
+.B \*9/lib/unicode
 contains a
 table of characters and descriptions, sorted in hexadecimal order,
 suitable for
@@ -143,19 +143,18 @@
 .B "unicode 2200-22f1"
 Print a table of miscellaneous mathematical symbols.
 .TP
-.B "look 039 /lib/unicode"
+.B "look 039 \*9/lib/unicode"
 See the start of the Greek alphabet's encoding in the Unicode Standard.
 .SH FILES
-.TF /lib/unicode
 .TP
-.B /lib/unicode
+.B \*9/lib/unicode
 table of characters and descriptions.
 .SH SOURCE
 .B \*9/src/cmd/ascii.c
 .br
 .B \*9/src/cmd/unicode.c
 .SH "SEE ALSO"
-.IR look (1)
+.IR look (1),
 .IR tcs (1),
 .IR utf (7),
 .IR font (7)
diff --git a/man/man1/astro.1 b/man/man1/astro.1
index be6241d..af5e7af 100644
--- a/man/man1/astro.1
+++ b/man/man1/astro.1
@@ -35,7 +35,7 @@
 If
 .B l
 is missing, the initial position is read from the file
-.BR /lib/sky/here .
+.BR \*9/sky/here .
 .TP
 .B c
 Report for
@@ -105,12 +105,11 @@
 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
+.B \*9/sky/estartab
 ecliptic star data
 .TP
-.B /lib/sky/here
+.B \*9/sky/here
 default latitude (N), longitude (W), and elevation (meters)
 .SH SOURCE
 .B \*9/src/cmd/astro
diff --git a/man/man1/bc.1 b/man/man1/bc.1
index bd180a5..5719434 100644
--- a/man/man1/bc.1
+++ b/man/man1/bc.1
@@ -267,7 +267,7 @@
 for(i=1; i<=10; i++) print e(i)
 .EE
 .SH FILES
-.B /sys/lib/bclib
+.B \*9/lib/bclib
 mathematical library
 .SH SOURCE
 .B \*9/src/cmd/bc.y
@@ -281,12 +281,12 @@
 or
 .L !
 operators.
-.br
+.PP
 A
 .L for
 statement must have all three
 .LR E s.
-.br
+.PP
 A
 .L quit
 is interpreted when read, not when executed.
diff --git a/man/man1/bundle.1 b/man/man1/bundle.1
index 977ea4c..36bcd8d 100644
--- a/man/man1/bundle.1
+++ b/man/man1/bundle.1
@@ -41,7 +41,7 @@
 then do
 .TP
 .L
-cd gift; rc horse; mk
+cd gift; sh horse; mk
 .SH SOURCE
 .B \*9/bin/bundle
 .SH SEE ALSO
@@ -53,5 +53,5 @@
 .SH BUGS
 .I Bundle
 will not create directories and is unsatisfactory for non-text files.
-.br
+.PP
 Beware of gift horses.
diff --git a/man/man1/cal.1 b/man/man1/cal.1
index 0709a5d..2ccb24f 100644
--- a/man/man1/cal.1
+++ b/man/man1/cal.1
@@ -39,7 +39,7 @@
 .SH BUGS
 The year is always considered to start in January even though this
 is historically naive.
-.br
+.PP
 Beware that
 .L "cal 90"
 refers to the early Christian era,
diff --git a/man/man1/calendar.1 b/man/man1/calendar.1
index 9a9e20e..14c6f91 100644
--- a/man/man1/calendar.1
+++ b/man/man1/calendar.1
@@ -15,7 +15,7 @@
 .SH DESCRIPTION
 .I Calendar
 reads the named files, default
-.BR /usr/$user/lib/calendar ,
+.BR $HOME/lib/calendar ,
 and writes to standard output any lines
 containing today's or tomorrow's date.
 Examples of recognized date formats are 
@@ -45,9 +45,9 @@
 To have your calendar mailed to you every day, use
 .IR cron (8).
 .SH FILES
-.TF /usr/$user/lib/calendar
+.TF $HOME/lib/calendar
 .TP
-.B /usr/$user/lib/calendar
+.B $HOME/lib/calendar
 personal calendar
 .SH SOURCE
 .B \*9/src/cmd/calendar.c
diff --git a/man/man1/cat.1 b/man/man1/cat.1
index f758beb..0738206 100644
--- a/man/man1/cat.1
+++ b/man/man1/cat.1
@@ -17,7 +17,7 @@
 .I file ...
 ]
 .br
-nobs
+.B nobs
 [
 .I file ...
 ]
diff --git a/man/man1/colors.1 b/man/man1/colors.1
index d72b5bf..9e85062 100644
--- a/man/man1/colors.1
+++ b/man/man1/colors.1
@@ -1,6 +1,6 @@
 .TH COLORS 1
 .SH NAME
-getmap, colors \- display color map
+colors, cmapcube \- display color map
 .SH SYNOPSIS
 .PP
 .B colors
@@ -9,16 +9,13 @@
 .B -x
 ]
 .PP
-.B getmap
+.B cmapcube
 [
-.I colormap
+.B -nbw
 ]
 .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
+presents a grid showing the colors in the RGBV color map
 (see
 .IR color (7)).
 .PP
@@ -37,36 +34,22 @@
 .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
+.I Cmapcube
+presents the same colors but in a 3-dimensional cube.
+Dragging with button 1 rotates the cube.
+Clicking on a color with button 2
+displays the map index for that color.
+Clicking button 3 exits.
+.PP
+The
+.B -n
+option disables drawing of the color squares.
+The
+.B -b
 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
+.B -w
+options set the background (default grey)
+to black or white.
 .SH SOURCE
 .B \*9/src/cmd/draw/colors.c
 .SH SEE ALSO
diff --git a/man/man1/core.1 b/man/man1/core.1
index c051386..df56c92 100644
--- a/man/man1/core.1
+++ b/man/man1/core.1
@@ -44,3 +44,6 @@
 .IR acid (1),
 .IR db (1),
 .IR core (5)
+.SH BUGS
+.I Core
+has not been written.
diff --git a/man/man1/date.1 b/man/man1/date.1
index 1936e42..1ce96f3 100644
--- a/man/man1/date.1
+++ b/man/man1/date.1
@@ -1,6 +1,6 @@
 .TH DATE 1
 .SH NAME
-date, clock \- date and time
+date \- date and time
 .SH SYNOPSIS
 .B date
 [
diff --git a/man/man1/db.1 b/man/man1/db.1
index fafa719..38c8fc1 100644
--- a/man/man1/db.1
+++ b/man/man1/db.1
@@ -912,14 +912,6 @@
 .B write()
 in extant process 27:
 .IP
-.de EX
-.RS
-.ft B
-.nf
-..
-.de EE
-.RE
-..
 .EX
 % db 27
 :h
diff --git a/man/man1/dc.1 b/man/man1/dc.1
index d6bc35c..5394580 100644
--- a/man/man1/dc.1
+++ b/man/man1/dc.1
@@ -223,15 +223,15 @@
 \fLv\fR	max(\fIs,sa\fR)
 .fi
 .SH EXAMPLES
+.LP
+Print the first ten values of
+.IR n !
+.IP
 .EX
 [la1+dsa*pla10>y]sy
 0sa1
 lyx
 .EE
-.ns
-.IP
-Print the first ten values of
-.IR n !
 .SH SOURCE
 .B \*9/src/cmd/dc.c
 .SH "SEE ALSO"
diff --git a/man/man1/deroff.1 b/man/man1/deroff.1
index 8911601..9d159f9 100644
--- a/man/man1/deroff.1
+++ b/man/man1/deroff.1
@@ -112,6 +112,6 @@
 delimiters for
 .I eqn
 are in effect. 
-.br
+.PP
 Text inside macros is emitted at place of
 definition, not place of call.
diff --git a/man/man1/dict.1 b/man/man1/dict.1
index de987d9..0c26f38 100644
--- a/man/man1/dict.1
+++ b/man/man1/dict.1
@@ -182,12 +182,10 @@
 .BI /adict/ dict /
 window.
 .SH FILES
-.B /lib/dict/oed2
-.br
-.B /lib/dict/oed2index
-.br
-Other files in
-.BR /lib .
+.TP
+.B \*9/dict
+dictionaries
+.PD
 .SH "SEE ALSO"
 .IR regexp (7)
 .SH SOURCE
diff --git a/man/man1/diff.1 b/man/man1/diff.1
index 8d3289e..237fc57 100644
--- a/man/man1/diff.1
+++ b/man/man1/diff.1
@@ -148,7 +148,7 @@
 .BR -e " or"
 .BR -f " option are naive about"
 creating lines consisting of a single `\fB.\fR'.
-.br
+.PP
 When running
 .I diff
 on directories, the notion of what is a text
diff --git a/man/man1/doctype.1 b/man/man1/doctype.1
index 02a3601..da33653 100644
--- a/man/man1/doctype.1
+++ b/man/man1/doctype.1
@@ -4,8 +4,13 @@
 .SH SYNOPSIS
 .B doctype
 [
-.I option ...
-] [
+.B -n
+]
+[
+.B -T
+.I dev
+]
+[
 .I file
 ]
 \&...
@@ -32,7 +37,9 @@
 .I nroff
 instead of
 .IR troff .
-Other options are passed to
+The
+.B -T
+option is passed to
 .IR troff .
 .SH EXAMPLES
 .TP
diff --git a/man/man1/ed.1 b/man/man1/ed.1
index d218d65..00eb095 100644
--- a/man/man1/ed.1
+++ b/man/man1/ed.1
@@ -49,7 +49,7 @@
 If no 
 .I file
 is given, make
-.B /fd/1
+.B /dev/stdout
 the remembered file; see the
 .L e
 command below.
diff --git a/man/man1/fortune.1 b/man/man1/fortune.1
index 8c9c562..96c64b1 100644
--- a/man/man1/fortune.1
+++ b/man/man1/fortune.1
@@ -13,11 +13,11 @@
 .I file
 is specified, the saying is taken from that file;
 otherwise it is selected from
-.BR /sys/games/lib/fortunes .
+.BR \*9/lib/fortunes .
 .SH FILES
-.B /sys/games/lib/fortunes
+.B \*9/lib/fortunes
 .br
-.B /sys/games/lib/fortunes.index
+.B \*9/lib/fortunes.index
 \ \ fast lookup table, maintained automatically
 .SH SOURCE
 .B \*9/src/cmd/fortune.c
diff --git a/man/man1/grap.1 b/man/man1/grap.1
index d9dae3f..beda727 100644
--- a/man/man1/grap.1
+++ b/man/man1/grap.1
@@ -254,7 +254,7 @@
 .BR star ,
 .BR plus ,
 etc., in
-.BR /sys/lib/grap.defines ,
+.BR \*9/lib/grap.defines ,
 which is included if it exists.
 .PP
 .I var
@@ -399,9 +399,9 @@
 .vs
 .EE
 .SH FILES
-.TF /sys/lib/grap.defines
+.TF \*9/lib/grap.defines
 .TP
-.B /sys/lib/grap.defines
+.B \*9/lib/grap.defines
 definitions of standard plotting characters, e.g., bullet
 .SH SOURCE
 .B \*9/src/cmd/grap
diff --git a/man/man1/grep.1 b/man/man1/grep.1
index 7ae84a9..52550b0 100644
--- a/man/man1/grep.1
+++ b/man/man1/grep.1
@@ -10,6 +10,7 @@
 [
 .I file ...
 ]
+.PP
 .B g
 [
 .I option ...
diff --git a/man/man1/idiff.1 b/man/man1/idiff.1
index fda8458..e8d3761 100644
--- a/man/man1/idiff.1
+++ b/man/man1/idiff.1
@@ -14,7 +14,8 @@
 merges 
 .I file1
 and 
-.IR file2 .
+.I file2
+onto standard output.
 Wherever
 .I file1
 and
@@ -23,7 +24,8 @@
 .I idiff
 displays the differences in the style of
 .RB `` diff
-.RB -n ''
+.BR -n ''
+on standard error
 and prompts the user to select a chunk.
 Valid responses are:
 .TP
@@ -54,9 +56,10 @@
 .B -b
 and
 .B -w
-flags
-are simply
-passed through to
+flags,
+if passed,
+are
+passed to
 .IR diff .
 .SH FILES
 .B /tmp/idiff.*
@@ -68,5 +71,3 @@
 Kernighan and Pike,
 .IR "The Unix Programming Environment" ,
 Prentice-Hall, 1984.
-.SH BUGS
-This is a poorly-written manual page.
diff --git a/man/man1/join.1 b/man/man1/join.1
index 6b0eeee..1c0ec9f 100644
--- a/man/man1/join.1
+++ b/man/man1/join.1
@@ -143,5 +143,5 @@
 the sequence is that of
 .BI "sort -t" x
 .BI -k y , y\f1.
-.br
+.PP
 One of the files must be randomly accessible.
diff --git a/man/man1/kill.1 b/man/man1/kill.1
index 5719f16..5b61d8a 100644
--- a/man/man1/kill.1
+++ b/man/man1/kill.1
@@ -13,11 +13,6 @@
 .PP
 .B stop
 .I name ...
-.PP
-.B broke
-[
-.I user
-]
 .SH DESCRIPTION
 .I Kill
 prints commands that will cause all processes with 
@@ -67,3 +62,8 @@
 .SH "SEE ALSO"
 .IR ps (1),
 .IR notify (3)
+.SH BUGS
+.I Stop
+and
+.I start
+should limit themselves to currently running or stopped processes.
diff --git a/man/man1/lex.1 b/man/man1/lex.1
index c0f43e3..6955e79 100644
--- a/man/man1/lex.1
+++ b/man/man1/lex.1
@@ -77,5 +77,5 @@
 .SH BUGS
 Cannot handle
 .SM UTF.
-.br
+.PP
 The asteroid to kill this dinosaur is still in orbit.
diff --git a/man/man1/look.1 b/man/man1/look.1
index ddd50af..02d2cb4 100644
--- a/man/man1/look.1
+++ b/man/man1/look.1
@@ -77,10 +77,9 @@
 .IR grep (1)
 .SH DIAGNOSTICS
 The exit status is
-.B \&"not found"
+.RB `` "not found" ''
 if no match is found, and
-.B \&"no dictionary"
+.RB `` "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 96877b8..e4c950c 100644
--- a/man/man1/ls.1
+++ b/man/man1/ls.1
@@ -157,6 +157,5 @@
 .br
 .B \*9/bin/lc
 .SH SEE ALSO
-.IR stat (3)
+.IR stat (3),
 .IR mc (1)
-
diff --git a/man/man1/man.1 b/man/man1/man.1
index 8b83e97..f2ecb7d 100644
--- a/man/man1/man.1
+++ b/man/man1/man.1
@@ -1,6 +1,6 @@
 .TH MAN 1
 .SH NAME
-man, lookman \- print or find pages of this manual
+man, lookman, sig \- print or find pages of this manual
 .SH SYNOPSIS
 .B man
 [
@@ -88,17 +88,20 @@
 index for
 .I lookman
 .SH SOURCE
-.B \*9/bin/9man
+.B \*9/bin/man
 .br
 .B \*9/bin/lookman
 .SH "SEE ALSO"
+.IR page (1),
 .IR proof (1)
 .SH BUGS
 The manual was intended to be typeset; some detail is sacrificed on text terminals.
 .PP
 There is no automatic mechanism to keep the indices up to date.
 .PP
-Except for special cases, it doesn't recognize things that should be run through
+Except for special cases,
+.I man
+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
index a2d0985..c032002 100644
--- a/man/man1/map.1
+++ b/man/man1/map.1
@@ -634,7 +634,7 @@
 .B /lib/map/*.x
 map indexes
 .TP
-.B /bin/aux/mapd
+.B mapd
 Map driver program
 .SH SOURCE
 .B \*9/src/cmd/map
diff --git a/man/man1/mk.1 b/man/man1/mk.1
index 59b1d0e..caa2d17 100644
--- a/man/man1/mk.1
+++ b/man/man1/mk.1
@@ -1,21 +1,4 @@
 .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
@@ -313,6 +296,7 @@
 .IR mk .
 A variable assignment argument overrides the first (but not any subsequent)
 assignment to that variable.
+.PP
 The variable
 .B MKFLAGS
 contains all the option arguments (arguments starting with
@@ -324,6 +308,45 @@
 contains all the targets in the call to
 .IR mk .
 .PP
+The variable
+.B MKSHELL
+contains the shell command line
+.I mk
+uses to run recipes.
+If the first word of the command ends in
+.B rc
+or
+.BR rcsh ,
+.I mk
+uses
+.IR rc (1)'s
+quoting rules; otherwise it uses
+.IR sh (1)'s.
+The
+.B MKSHELL
+variable is consulted when the mkfile is read, not when it is executed,
+so that different shells can be used within a single mkfile:
+.IP
+.EX
+MKSHELL=$PLAN9/bin/rc
+use-rc:V:
+	for(i in a b c) echo $i
+
+MKSHELL=sh
+use-sh:V:
+	for i in a b c; do echo $i; done
+.EE
+.LP
+Mkfiles included via
+.B <
+or
+.B <|
+.RI ( q.v. )
+see their own private copy of
+.BR MKSHELL ,
+which always starts set to
+.B sh .
+.PP
 Dynamic information may be included in the mkfile by using a line of the form
 .IP
 \fR<|\fIcommand\fR \fIargs\fR
@@ -510,6 +533,7 @@
 .I Membername
 echoes just the member names of a list of aggregate names.
 It is useful in recipes like:
+.IP
 .EX
 OFILES=a.o b.o
 libc.a(%):N: %
@@ -647,7 +671,7 @@
 .EE
 .SH SEE ALSO
 .IR sh (1),
-.IR regexp9 (7)
+.IR regexp (7)
 .PP
 A. Hume,
 ``Mk: a Successor to Make''
@@ -664,19 +688,18 @@
 This software is a port of the Plan 9 version back to Unix.
 .SH BUGS
 Identical recipes for regular expression meta-rules only have one target.
-.br
+.PP
 Seemingly appropriate input like
 .B CFLAGS=-DHZ=60
 is parsed as an erroneous attribute; correct it by inserting
 a space after the first 
 .LR = .
-.br
+.PP
 The recipes printed by
 .I mk
 before being passed to
-.I sh
+the shell
 for execution are sometimes erroneously expanded
 for printing.  Don't trust what's printed; rely
-on what
-.I sh
+on what the shell
 does.
diff --git a/man/man1/namespace.1 b/man/man1/namespace.1
index 763d9e1..e02a650 100644
--- a/man/man1/namespace.1
+++ b/man/man1/namespace.1
@@ -11,4 +11,5 @@
 .SH SOURCE
 .B \*9/src/cmd/namespace.c
 .SH SEE ALSO
-.IR getns (3)
+.IR getns (3),
+.IR intro (4)
diff --git a/man/man1/news.1 b/man/man1/news.1
index bd9faf2..f3c2aa4 100644
--- a/man/man1/news.1
+++ b/man/man1/news.1
@@ -35,13 +35,13 @@
 select particular news items.
 .PP
 To post a news item, create a file in
-.BR  /lib/news .
-.PP
-You may arrange to receive news automatically by 
-registering your mail address in
-.BR /sys/lib/subscribers .
-A daemon mails recent news
-to all addresses on the list.
+.BR  \*9/news .
+.\" .PP
+.\" You may arrange to receive news automatically by 
+.\" registering your mail address in
+.\" .BR /sys/lib/subscribers .
+.\" A daemon mails recent news
+.\" to all addresses on the list.
 .PP
 Empty news items, and news items named
 .B core
@@ -49,15 +49,14 @@
 .B dead.letter
 are ignored.
 .SH FILES
-.TF /sys/lib/subscribers
 .TP
-.B /lib/news/*
+.B \*9/news/*
 articles
 .TP
 .B $HOME/lib/newstime
 modify time is time news was last read
-.TP
-.B /sys/lib/subscribers
+.\" .TP
+.\" .B /sys/lib/subscribers
 who gets news mailed to them
 .SH SOURCE
 .B \*9/src/cmd/news.c
diff --git a/man/man1/page.1 b/man/man1/page.1
index 609cd07..d320802 100644
--- a/man/man1/page.1
+++ b/man/man1/page.1
@@ -49,7 +49,7 @@
 .IR proof (1).
 .SH "SEE ALSO
 .IR gs (1),
-.IR gv (1)
+.IR gv (1),
 .IR jpg (1),
 .IR proof (1),
 .IR tex (1),
@@ -64,3 +64,11 @@
 leaves temporary files in
 .BR /var/tmp ,
 since it has no way to know when the viewer has exited.
+.PP
+.I Page
+does not handle
+Plan 9 
+.IR image (7)
+files; use
+.I img
+explicitly.
diff --git a/man/man1/plumb.1 b/man/man1/plumb.1
index 4885b90..3fa1625 100644
--- a/man/man1/plumb.1
+++ b/man/man1/plumb.1
@@ -76,14 +76,10 @@
 .B action=showdata
 attribute to the message.
 .SH FILES
-.TF /usr/$user/lib/plumbing
+.TF $HOME/lib/plumbing
 .TP
-.B /usr/$user/lib/plumbing
+.B $HOME/lib/plumbing
 default rules file
-.TP
-.B /mnt/plumb
-mount point for
-.IR plumber (4).
 .SH SOURCE
 .B \*9/src/cmd/plumb
 .SH "SEE ALSO"
diff --git a/man/man1/proof.1 b/man/man1/proof.1
index 27662d0..2a1de08 100644
--- a/man/man1/proof.1
+++ b/man/man1/proof.1
@@ -115,12 +115,11 @@
 .B d
 commands are also available as command line options.
 .SH FILES
-.TF /lib/font/bit/MAP
 .TP
-.B /lib/font/bit/*
+.B \*9/font/*
 fonts
 .TP
-.B /lib/font/bit/MAP
+.B \*9/font/MAP
 how to convert troff output fonts and character names
 into screen fonts and character numbers
 .SH SOURCE
diff --git a/man/man1/ps.1 b/man/man1/ps.1
index 7c23c18..bb655d1 100644
--- a/man/man1/ps.1
+++ b/man/man1/ps.1
@@ -81,7 +81,7 @@
 waiting for more of a critical
 .IR resource .
 .TP
-.BI wchan
+.I wchan
 waiting on the named wait channel
 (on a Unix kernel).
 .PD
diff --git a/man/man1/rc.1 b/man/man1/rc.1
index f89b8f3..e35d625 100644
--- a/man/man1/rc.1
+++ b/man/man1/rc.1
@@ -765,8 +765,7 @@
 .B =
 and its value.
 If the value has more than one component, these
-are separated by SOH
-.RB ( '\e001' )
+are separated by SOH (001)
 characters.
 The string for a function is just the
 .I rc
diff --git a/man/man1/sam.1 b/man/man1/sam.1
index be66d04..b9d46d8 100644
--- a/man/man1/sam.1
+++ b/man/man1/sam.1
@@ -19,6 +19,9 @@
 .B B
 .IB file \fR[\fP: line \fR]
 \&...
+.PP
+.B E
+.I file
 .SH DESCRIPTION
 .I Sam
 is a multi-file editor.
@@ -845,7 +848,7 @@
 .I B
 on
 .I file
-and then waits to exit until
+and then does not exit until
 .I file
 is changed, which is taken as a signal that
 .I file
@@ -858,22 +861,22 @@
 command (by hangup, deleting its window, etc.), modified
 files are saved in an
 executable file,
-.BR $home/sam.save .
+.BR $HOME/sam.save .
 This program, when executed, asks whether to write
 each file back to a external file.
 The answer
 .L y
 causes writing; anything else skips the file.
 .SH FILES
-.TF \*9/src/cmd/samterm
+.TF $HOME/sam.save
 .TP
-.B $home/sam.save
+.B $HOME/sam.save
 .TP
-.B $home/sam.err
+.B $HOME/sam.err
 .TP
 .B \*9/bin/samsave
 the program called to unpack
-.BR $home/sam.save .
+.BR $HOME/sam.save .
 .SH SOURCE
 .TF \*9/src/cmd/samterm
 .TP
@@ -886,6 +889,8 @@
 source for the separate terminal part
 .TP
 .B \*9/bin/B
+.TP
+.B \*9/bin/E
 .SH SEE ALSO
 .IR ed (1),
 .IR sed (1),
diff --git a/man/man1/scat.1 b/man/man1/scat.1
index f5ee897..57369ab 100644
--- a/man/man1/scat.1
+++ b/man/man1/scat.1
@@ -124,7 +124,7 @@
 for the moon and sun, as shown by
 .BR astro .
 The positions are current at the start of
-.I scat 's
+.IR scat 's
 execution; see the
 .B astro
 command in the next section for more information.
@@ -313,20 +313,20 @@
 	expand 1
 	plot
 .EE
-.PP
-Show a pretty galaxy.
-.EX
-	ngc1300
-	plate 10'
-.EE
+.\" .PP
+.\" Show a pretty galaxy.
+.\" .EX
+.\" 	ngc1300
+.\" 	plate 10'
+.\" .EE
 .SH FILES
-.B /lib/sky/*.scat
+.B \*9/sky/*.scat
 .SH SOURCE
 .B \*9/src/cmd/scat
 .SH SEE ALSO
 .IR astro (1)
 .br
-.B /lib/sky/constelnames\ \ 
+.B \*9/sky/constelnames\ \ 
 the three-letter abbreviations of the constellation names.
 .PP
 The data was provided by the Astronomical Data Center at the NASA Goddard
diff --git a/man/man1/secstore.1 b/man/man1/secstore.1
index b50fc32..fb4bcd3 100644
--- a/man/man1/secstore.1
+++ b/man/man1/secstore.1
@@ -127,70 +127,70 @@
 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
+.\" 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
@@ -205,8 +205,8 @@
 .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.
+.\" .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
index b176e43..a2e2b54 100644
--- a/man/man1/sed.1
+++ b/man/man1/sed.1
@@ -1,8 +1,8 @@
 .TH SED 1
 .SH NAME
-9sed \- stream editor
+sed \- stream editor
 .SH SYNOPSIS
-.B 9sed
+.B sed
 [
 .B -n
 ]
@@ -366,7 +366,7 @@
 Delete all but one of each group of empty lines from a
 formatted manuscript.
 .SH SOURCE
-.B \*9/src/cmd/9sed.c
+.B \*9/src/cmd/sed.c
 .SH SEE ALSO
 .IR ed (1), 
 .IR grep (1), 
diff --git a/man/man1/sort.1 b/man/man1/sort.1
index eb0d7f4..e68a53f 100644
--- a/man/man1/sort.1
+++ b/man/man1/sort.1
@@ -19,6 +19,8 @@
 .I ,pos2
 ]
 ] ...
+.br
+\h'0.5in'
 [
 .B -o
 .I output
@@ -210,7 +212,7 @@
 Put temporary files in
 .I dir
 rather than in
-.BR /tmp .
+.BR /var/tmp .
 .ne 4
 .SH EXAMPLES
 .TP
@@ -236,7 +238,7 @@
 A stable sort: input lines that compare equal will 
 come out in their original order.
 .SH FILES
-.BI /tmp/sort. <pid>.<ordinal>
+.BI /var/tmp/sort. <pid>.<ordinal>
 .SH SOURCE
 .B \*9/src/cmd/sort.c
 .SH SEE ALSO
diff --git a/man/man1/spell.1 b/man/man1/spell.1
index 44a1a0e..5d27609 100644
--- a/man/man1/spell.1
+++ b/man/man1/spell.1
@@ -67,7 +67,7 @@
 .B \*9/lib/brspell
 British spelling list
 .TP
-.B /bin/aux/sprog
+.B \*9/bin/sprog
 The actual spelling checker.
 It expects one word per line on standard input,
 and takes the same arguments as
@@ -87,7 +87,7 @@
 The heuristics of
 .IR deroff (1)
 used to excise formatting information are imperfect.
-.br
+.PP
 The spelling list's coverage is uneven;
 in particular biology, medicine, and chemistry, and
 perforce proper names,
diff --git a/man/man1/stats.1 b/man/man1/stats.1
index 85256bd..a6f5ba4 100644
--- a/man/man1/stats.1
+++ b/man/man1/stats.1
@@ -167,13 +167,21 @@
 .PD
 .SH EXAMPLE
 Show the load, memory, interrupts, system calls, context switches,
-and ethernet packets for the local machine, a remote Linux machine 
-.BR tux ,
-and a remote BSD machine
-.BR daemon .
+and ethernet packets for the local machine,
+a remote BSD machine
+.IR daemon ,
+and
+a remote Linux machine 
+.IR tux .
+.I Auxstats
+is not in
+.IR tux 's
+path, so the full path must be given.
 .IP
-.B
-stats -lmisce `hostname` tux:\*9/bin/auxstats daemon
+.EX
+stats -lmisce `hostname` daemon \e
+    tux:\*9/bin/auxstats
+.EE
 .SH SOURCE
 .B \*9/src/cmd/draw/stats.c
 .PP
diff --git a/man/man1/tail.1 b/man/man1/tail.1
index 3681dd3..7b218ce 100644
--- a/man/man1/tail.1
+++ b/man/man1/tail.1
@@ -77,11 +77,11 @@
 Tails relative to the end of the file
 are treasured up in a buffer, and thus
 are limited in length.
-.br
+.PP
 According to custom, option
 .BI + number
 counts lines from 1, and counts
 blocks and bytes from 0.
-.br
+.PP
 .I Tail
 is ignorant of UTF.
diff --git a/man/man1/troff.1 b/man/man1/troff.1
index 5923084..7af3f3c 100644
--- a/man/man1/troff.1
+++ b/man/man1/troff.1
@@ -158,19 +158,19 @@
 Tab settings are assumed to be every
 8 nominal character widths.
 .SH FILES
-.TF /sys/lib/troff/term/*
+.TF \*9/troff/term/*
 .TP
 .B /tmp/trtmp*
 temporary file
 .TP
-.B /sys/lib/tmac/tmac.*
+.B \*9/tmac/tmac.*
 standard macro files
 .TP
-.B /sys/lib/troff/term/*
+.B \*9/troff/term/*
 terminal driving tables for
 .I nroff
 .TP
-.B /sys/lib/troff/font/*
+.B \*9/troff/font/*
 font width tables for
 .I troff
 .SH SOURCE
diff --git a/man/man1/units.1 b/man/man1/units.1
index fff68a2..054a37f 100644
--- a/man/man1/units.1
+++ b/man/man1/units.1
@@ -73,13 +73,13 @@
 etc.
 .PP
 The complete list of units can be found in
-.BR /lib/units .
+.BR \*9/lib/units .
 A
 .I file
 argument to
 .I units
 specifies a file to be used instead of
-.BR /lib/units.
+.BR \*9/lib/units.
 The
 .B -v
 flag causes
@@ -93,7 +93,7 @@
     / .97973
 .EE
 .SH FILES
-.B /lib/units
+.B \*9/lib/units
 .SH SOURCE
 .B \*9/src/cmd/units.y
 .SH BUGS
@@ -102,7 +102,6 @@
 does only multiplicative scale changes,
 it can convert Kelvin to Rankine but not Centigrade to
 Fahrenheit.
-.br
+.PP
 Currency conversions are only as accurate as the last time someone
-updated
-.BR /lib/units .
+updated the database.
diff --git a/man/man1/vac.1 b/man/man1/vac.1
index d8c512e..2997242 100644
--- a/man/man1/vac.1
+++ b/man/man1/vac.1
@@ -127,4 +127,3 @@
 .B \*9/src/cmd/vac
 .SH "SEE ALSO"
 Plan 9's \fIvacfs\fR(4) and \fIventi\fR(8)
-
diff --git a/man/man1/wc.1 b/man/man1/wc.1
index f0df4a4..45bc426 100644
--- a/man/man1/wc.1
+++ b/man/man1/wc.1
@@ -43,7 +43,7 @@
 looks for only
 .SM ASCII
 space, tab and newline.
-.br
+.PP
 .I Wc
 should have options to count suboptimal
 .SM UTF
diff --git a/man/man1/web.1 b/man/man1/web.1
index cf0b691..0910747 100644
--- a/man/man1/web.1
+++ b/man/man1/web.1
@@ -31,6 +31,8 @@
 .B $BROWSER
 environment variable, which should be the name of
 the executable for your choice of web browser.
+The default is
+.BR firefox .
 Since the various browsers all use different syntaxes
 in their
 .B -remote
@@ -41,6 +43,23 @@
 .I web
 opens each URL in a new tab rather than a new window.
 .PP
+When run under Mac OS X,
+.B $BROWSER
+should be set to the string
+.B safari
+or
+.BR firefox .
+.I Web
+uses AppleScript to talk to the browser.
+If 
+.B $BROWSER
+is not set,
+.I web
+looks for Firefox in
+.BR /Applications/Firefox.app
+and uses it if found;
+otherwise it uses Safari.
+.PP
 .I Wmail
 starts the composition of a new mail message to
 .IR address .
@@ -49,7 +68,8 @@
 .B $MAILER
 environment variable.
 The supported mailers are:
-.TP browser
+.TP
+.B browser
 invoke the mailer via a
 .B mailto://
 URL passed to
diff --git a/man/man1/wintext.1 b/man/man1/wintext.1
index 413b3d2..12859f2 100644
--- a/man/man1/wintext.1
+++ b/man/man1/wintext.1
@@ -1,15 +1,19 @@
 .TH WINTEXT 1
 .SH NAME
 wintext, ", "" \- access text in current window
+.ds x \C'"'
+.ds xx \C'"'\^\^\^\^\C'"'
+.ds y \*x\ 
+.ds yy \*(xx\ 
 .SH SYNOPSIS
 .B wintext
 .br
-.B \C'"'\ 
+.B \*x\ 
 [
 .I prefix
 ]
 .br
-.B \C'"'\C'"'\ 
+.B \*(xx\ 
 [
 .I prefix
 ]
@@ -23,7 +27,7 @@
 .IR 9term (1)
 window to standard output.
 .PP
-.I \C'"'
+.I \*y
 searches the window text for commands typed with a particular prefix
 and prints them, indented, to standard output.
 .I Prefix
@@ -31,18 +35,18 @@
 If
 .I prefix
 is omitted,
-.I \C'"'
+.I \*y
 prints the last command executed.
-.I \C'"'\C'"'
+.I \*(yy
 prints the last command that
-.I \C'"'
+.I \*y
 would print and then executes it by piping it into 
 .IR rc (1).
 .PP
 Both
-.I \C'"'
+.I \*y
 and
-.I \C'"'\C'"'
+.I \*(yy
 identify commands in the window text by looking for lines
 beginning with a shell prompt.
 Prompts are assumed to be an unindented sequence of
@@ -62,7 +66,7 @@
 .IP
 .EX
 .ta +4n
-% \C'"' 'l[sc]'
+% \*x 'l[sc]'
 	% ls -l /tmp/qq*
 	# ls -lrt /etc
 	% lc r*
@@ -75,7 +79,7 @@
 .IP
 .EX
 .ta +4n
-% \C'"'\C'"' lc
+% \*(xx lc
 	% lc r*
 ramfs   rc      read    rio     rm
 % 
@@ -86,13 +90,9 @@
 .SH SOURCE
 .B \*9/bin
 .SH BUGS
-.I \C'"'
+.I \*y
 and
-.I \C'"'\C'"'
+.I \*(yy
 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 362d506..75d4d47 100644
--- a/man/man1/yacc.1
+++ b/man/man1/yacc.1
@@ -145,7 +145,7 @@
 .B \*9/lib/yaccpars
 parser prototype using stdio
 .SH SOURCE
-.B \*9/src/cmd/9yacc.c
+.B \*9/src/cmd/yacc.c
 .SH "SEE ALSO"
 .IR lex (1)
 .br
diff --git a/man/man3/0intro.3 b/man/man3/0intro.3
new file mode 100644
index 0000000..e544cc8
--- /dev/null
+++ b/man/man3/0intro.3
@@ -0,0 +1,395 @@
+.TH INTRO 3
+.SH NAME
+intro \- introduction to library functions
+.SH SYNOPSIS
+.nf
+.B #include <u.h>
+.PP
+.B #include \fIany Unix headers\fR
+.PP
+.B #include <libc.h>
+.PP
+.B #include <auth.h>
+.PP
+.B #include <bio.h>
+.PP
+.B #include <draw.h>
+.PP
+.B #include <fcall.h>
+.PP
+.B #include <frame.h>
+.PP
+.B #include <mach.h>
+.PP
+.B #include <regexp.h>
+.PP
+.B #include <thread.h>
+.fi
+.SH DESCRIPTION
+This section describes functions
+in various libraries.
+For the most part, each library is defined by a single C include
+file, such as those listed above, and a single archive file containing
+the library proper.  The name of the archive is
+.BI \*9/lib/lib x .a \f1,
+where
+.I x
+is the base of the include file name, stripped of a leading
+.B lib
+if present.
+For example,
+.B <draw.h>
+defines the contents of library
+.BR \*9/lib/libdraw.a ,
+which may be abbreviated when named to the loader as
+.BR -ldraw .
+In practice, each include file contains a magic pragma
+that directs the loader to pick up the associated archive
+automatically, so it is rarely necessary to tell the loader
+which
+libraries a program needs;
+see
+.IR 9c (1).
+.PP
+The library to which a function belongs is defined by the
+header file that defines its interface.
+The `C library',
+.IR libc ,
+contains most of the basic subroutines such
+as
+.IR strlen .
+Declarations for all of these functions are
+in
+.BR <libc.h> ,
+which must be preceded by
+.RI ( needs )
+an include of
+.BR <u.h> .
+The graphics library,
+.IR draw ,
+is defined by
+.BR <draw.h> ,
+which needs
+.B <libc.h>
+and
+.BR <u.h> .
+The Buffered I/O library,
+.IR libbio ,
+is defined by
+.BR <bio.h> ,
+which needs
+.B <libc.h>
+and
+.BR <u.h> .
+The ANSI C Standard I/O library,
+.IR libstdio ,
+is defined by
+.BR <stdio.h> ,
+which needs
+.BR <u.h> .
+There are a few other, less commonly used libraries defined on
+individual pages of this section.
+.PP
+The include file
+.BR <u.h> ,
+a prerequisite of several other include files,
+declares the architecture-dependent and -independent types, including:
+.IR uchar ,
+.IR ushort ,
+and
+.IR ulong ,
+the unsigned integer types;
+.IR schar ,
+the signed char type;
+.I vlong
+and
+.IR uvlong ,
+the signed and unsigned very long integral types;
+.IR Rune ,
+the Unicode character type;
+.IR u8int ,
+.IR u16int ,
+.IR u32int ,
+and
+.IR u64int ,
+the unsigned integral types with specific widths;
+.IR jmp_buf ,
+the type of the argument to
+.I setjmp
+and 
+.IR longjmp ,
+plus macros that define the layout of
+.IR jmp_buf
+(see
+.IR setjmp (3));
+.\" definitions of the bits in the floating-point control register
+.\" as used by
+.\" .IR getfcr (2);
+and
+the macros
+.B va_arg
+and friends for accessing arguments of variadic functions (identical to the
+macros defined in
+.B <stdarg.h>
+in ANSI C).
+.PP
+Plan 9 and Unix use many similarly-named functions for different purposes:
+for example, Plan 9's
+.I dup
+is closer to (but not exactly) Unix's
+.IR dup2 .
+To avoid name conflicts,
+.B <libc.h>
+defines many of these names as preprocessor macros to add a
+.I p9
+prefix,
+so that
+.I dup
+becomes
+.IR p9dup .
+To disable this renaming,
+.B #define
+.B NOPLAN9DEFINES
+before including
+.BR <libc.h> .
+If Unix headers must be included in a program,
+they should be included after
+.BR <u.h> ,
+which sets important preprocessor directives
+(for example, to enable 64-bit file offsets),
+but before
+.BR <libc.h> ,
+to avoid renaming problems.
+.SS "Name space
+Files are collected into a hierarchical organization called a
+.I "file tree
+starting in a
+.I directory
+called the
+.IR root .
+File names, also called
+.IR paths ,
+consist of a number of
+.BR / -separated
+.I "path elements"
+with the slashes corresponding to directories.
+A path element must contain only printable
+characters (those outside the control spaces of
+.SM ASCII
+and Latin-1).
+A path element cannot contain a slash.
+.PP
+When a process presents a file name to Plan 9, it is
+.I evaluated
+by the following algorithm.
+Start with a directory that depends on the first
+character of the path:
+.L /
+means the root of the main hierarchy,
+and anything else means the process's current working directory.
+Then for each path element, look up the element
+in the directory, advance to that directory,
+do a possible translation (see below), and repeat.
+The last step may yield a directory or regular file.
+.SS "File I/O"
+Files are opened for input or output
+by
+.I open
+or
+.I create
+(see
+.IR open (3)).
+These calls return an integer called a
+.IR "file descriptor"
+which identifies the file
+to subsequent I/O calls,
+notably
+.IR read (3)
+and
+.IR write .
+The system allocates the numbers by selecting the lowest unused descriptor.
+They are allocated dynamically; there is no visible limit to the number of file
+descriptors a process may have open.
+They may be reassigned using
+.IR dup (3).
+File descriptors are indices into a
+kernel resident
+.IR "file descriptor table" .
+Each process has an associated file descriptor table.
+In threaded programs
+(see
+.IR thread (3)),
+the file descriptor table is shared by all the procs.
+.PP
+By convention,
+file descriptor 0 is the standard input,
+1 is the standard output,
+and 2 is the standard error output.
+With one exception, the operating system is unaware of these conventions;
+it is permissible to close file 0,
+or even to replace it by a file open only for writing,
+but many programs will be confused by such chicanery.
+The exception is that the system prints messages about broken processes
+to file descriptor 2.
+.PP
+Files are normally read or written in sequential order.
+The I/O position in the file is called the
+.IR "file offset"
+and may be set arbitrarily using the
+.IR seek (3)
+system call.
+.PP
+Directories may be opened like regular files.
+Instead of reading them with
+.IR read (3),
+use the
+.B Dir
+structure-based
+routines described in
+.IR dirread (3).
+The entry
+corresponding to an arbitrary file can be retrieved by
+.IR dirstat
+(see
+.IR stat (3))
+or
+.IR dirfstat ;
+.I dirwstat
+and
+.I dirfwstat
+write back entries, thus changing the properties of a file.
+.PP
+New files are made with
+.I create
+(see
+.IR open (3))
+and deleted with
+.IR remove (3).
+Directories may not directly be written;
+.IR create ,
+.IR remove ,
+.IR wstat ,
+and
+.I fwstat
+alter them.
+.PP
+.IR Pipe (3)
+creates a connected pair of file descriptors,
+useful for bidirectional local communication.
+.SS "Process execution and control"
+A new process is created
+when an existing one calls
+.IR fork (2).
+The new (child) process starts out with
+copies of the address space and most other attributes
+of the old (parent) process.
+In particular,
+the child starts out running
+the same program as the parent;
+.IR exec (3)
+will bring in a different one.
+.PP
+Each process has a unique integer process id;
+a set of open files, indexed by file descriptor;
+and a current working directory
+(changed by
+.IR chdir (2)).
+.PP
+Each process has a set of attributes \(em memory, open files,
+name space, etc. \(em that may be shared or unique.
+Flags to
+.IR rfork
+control the sharing of these attributes.
+.PP
+A process terminates by calling
+.IR exits (3).
+A parent process may call
+.IR wait (3)
+to wait for some child to terminate.
+A bit of status information
+may be passed from
+.I exits
+to
+.IR wait .
+On Plan 9, the status information is an arbitrary text string,
+but on Unix it is a single integer.
+The Plan 9 interface persists here, although the functionality does not.
+Instead, empty strings are converted to exit status 0 and non-empty strings to 1.
+.PP
+A process can go to sleep for a specified time by calling
+.IR sleep (3).
+.PP
+There is a
+.I notification
+mechanism for telling a process about events such as address faults,
+floating point faults, and messages from other processes.
+A process uses
+.IR notify (3)
+to register the function to be called (the
+.IR "notification handler" )
+when such events occur.
+.SS Multithreading
+Where possible according to the ANSI C standard,
+the main C library works properly in multiprocess programs;
+.IR malloc ,
+.IR print ,
+and the other routines use locks (see
+.IR lock (3))
+to synchronize access to their data structures.
+The graphics library defined in
+.B <draw.h>
+is also multi-process capable; details are in
+.IR graphics (3).
+In general, though, multiprocess programs should use some form of synchronization
+to protect shared data.
+.PP
+The thread library, defined in
+.BR <thread.h> ,
+provides support for multiprocess programs.
+It includes a data structure called a
+.B Channel
+that can be used to send messages between processes,
+and coroutine-like
+.IR threads ,
+which enable multiple threads of control within a single process.
+The threads within a process are scheduled by the library, but there is
+no pre-emptive scheduling within a process; thread switching occurs
+only at communication or synchronization points.
+.PP
+Most programs using the thread library
+comprise multiple processes
+communicating over channels, and within some processes,
+multiple threads.  Since I/O calls may block, a system
+call may block all the threads in a process.
+Therefore, a program that shouldn't block unexpectedly will use a process
+to serve the I/O request, passing the result to the main processes
+over a channel when the request completes.
+For examples of this design, see
+.IR ioproc (3)
+or
+.IR mouse (3).
+.SH SEE ALSO
+.IR nm (1), 
+.IR 9c (1)
+.SH DIAGNOSTICS
+Math functions in
+.I libc
+return
+special values when the function is undefined for the
+given arguments or when the value is not representable
+(see
+.IR nan (3)).
+.PP
+Some of the functions in
+.I libc
+are system calls and many others employ system calls in their implementation.
+All system calls return integers,
+with \-1 indicating that an error occurred;
+.IR errstr (3)
+recovers a string describing the error.
+Some user-level library functions also use the
+.I errstr
+mechanism to report errors.
+Functions that may affect the value of the error string are said to ``set
+.IR errstr '';
+it is understood that the error string is altered only if an error occurs.
diff --git a/man/man3/9p.3 b/man/man3/9p.3
index 1e153bf..109c452 100644
--- a/man/man3/9p.3
+++ b/man/man3/9p.3
@@ -109,13 +109,13 @@
 .B Fid
 structures are allocated one-to-one with uncompleted
 requests and active fids, and are described in
-.IR 9pfid (3).
+.IR 9p-fid (3).
 .PP
 The behavior of
 .I srv
 depends on whether there is a file tree
 (see
-.IR 9pfile (3))
+.IR 9p-file (3))
 associated with the server, that is,
 whether the
 .B tree
@@ -717,8 +717,8 @@
 option to increment
 .BR chatty9p .
 .SH EXAMPLES
-\*9/src/lib9p/ramfs.c
-is an example of simple single-threaded file servers.
+.B \*9/src/lib9p/ramfs.c
+is an example of a simple single-threaded file server.
 On Plan 9, see
 .IR archfs ,
 .IR cdfs ,
@@ -744,6 +744,6 @@
 .SH SOURCE
 .B \*9/src/lib9p
 .SH SEE ALSO
-.IR 9pfid (3),
-.IR 9pfile (3),
+.IR 9p-fid (3),
+.IR 9p-file (3),
 .IR intro (9p)
diff --git a/man/man3/9pclient.3 b/man/man3/9pclient.3
index b21676a..cb2725a 100644
--- a/man/man3/9pclient.3
+++ b/man/man3/9pclient.3
@@ -9,8 +9,8 @@
 .B #include <fcall.h>
 .PP
 .B #include <9pclient.h>
+.ta +\w'\fLCFsys* 'u
 .PP
-.ta +'\fLCFsys* 'u
 .B
 CFsys*	fsmount(int fd, char *aname)
 .PP
@@ -214,7 +214,7 @@
 as on Unix and Plan 9.
 Elements that are empty or
 dot
-.B ( . )
+.RB ( . )
 are ignored.
 .PP
 Once opened, these fids can be read and written using
diff --git a/man/man3/INDEX b/man/man3/INDEX
index 9c067d0..4739b17 100644
--- a/man/man3/INDEX
+++ b/man/man3/INDEX
@@ -1,3 +1,48 @@
+0intro 0intro.3
+intro 0intro.3
+9p-cmdbuf 9p-cmdbuf.3
+Cmdbuf 9p-cmdbuf.3
+lookupcmd 9p-cmdbuf.3
+parsecmd 9p-cmdbuf.3
+respondcmderror 9p-cmdbuf.3
+9p-fid 9p-fid.3
+Fid 9p-fid.3
+Fidpool 9p-fid.3
+Req 9p-fid.3
+Reqpool 9p-fid.3
+allocfid 9p-fid.3
+allocfidpool 9p-fid.3
+allocreq 9p-fid.3
+allocreqpool 9p-fid.3
+closefid 9p-fid.3
+closereq 9p-fid.3
+freefidpool 9p-fid.3
+freereqpool 9p-fid.3
+lookupfid 9p-fid.3
+lookupreq 9p-fid.3
+removefid 9p-fid.3
+removereq 9p-fid.3
+9p-file 9p-file.3
+File 9p-file.3
+Tree 9p-file.3
+alloctree 9p-file.3
+closedirfile 9p-file.3
+closefile 9p-file.3
+createfile 9p-file.3
+freetree 9p-file.3
+hasperm 9p-file.3
+opendirfile 9p-file.3
+readdirfile 9p-file.3
+removefile 9p-file.3
+walkfile 9p-file.3
+9p-intmap 9p-intmap.3
+Intmap 9p-intmap.3
+allocmap 9p-intmap.3
+caninsertkey 9p-intmap.3
+deletekey 9p-intmap.3
+freemap 9p-intmap.3
+insertkey 9p-intmap.3
+lookupkey 9p-intmap.3
 9p 9p.3
 Srv 9p.3
 dirread9p 9p.3
@@ -39,41 +84,6 @@
 fsversion 9pclient.3
 fswrite 9pclient.3
 nsmount 9pclient.3
-9pcmdbuf 9pcmdbuf.3
-Cmdbuf 9pcmdbuf.3
-lookupcmd 9pcmdbuf.3
-parsecmd 9pcmdbuf.3
-respondcmderror 9pcmdbuf.3
-9pfid 9pfid.3
-Fid 9pfid.3
-Fidpool 9pfid.3
-Req 9pfid.3
-Reqpool 9pfid.3
-allocfid 9pfid.3
-allocfidpool 9pfid.3
-allocreq 9pfid.3
-allocreqpool 9pfid.3
-closefid 9pfid.3
-closereq 9pfid.3
-freefidpool 9pfid.3
-freereqpool 9pfid.3
-lookupfid 9pfid.3
-lookupreq 9pfid.3
-removefid 9pfid.3
-removereq 9pfid.3
-9pfile 9pfile.3
-File 9pfile.3
-Tree 9pfile.3
-alloctree 9pfile.3
-closedirfile 9pfile.3
-closefile 9pfile.3
-createfile 9pfile.3
-freetree 9pfile.3
-hasperm 9pfile.3
-opendirfile 9pfile.3
-readdirfile 9pfile.3
-removefile 9pfile.3
-walkfile 9pfile.3
 Dx addpt.3
 Dy addpt.3
 Pt addpt.3
@@ -233,15 +243,11 @@
 announce dial.3
 dial dial.3
 dialparse dial.3
-hangup dial.3
 listen dial.3
 netmkaddr dial.3
 reject dial.3
 dirread dirread.3
 dirreadall dirread.3
-Disk disk.3
-disk disk.3
-opendisk disk.3
 ARROW draw.3
 Image draw.3
 _string draw.3
@@ -473,14 +479,6 @@
 targetname html.3
 toStr html.3
 validitems html.3
-Intmap intmap.3
-allocmap intmap.3
-caninsertkey intmap.3
-deletekey intmap.3
-freemap intmap.3
-insertkey intmap.3
-intmap intmap.3
-lookupkey intmap.3
 closeioproc ioproc.3
 iocall ioproc.3
 ioclose ioproc.3
@@ -927,9 +925,6 @@
 read read.3
 readn read.3
 write read.3
-RGB readcolmap.3
-readcolmap readcolmap.3
-writecolmap readcolmap.3
 regcomp regexp.3
 regcomplit regexp.3
 regcompnl regexp.3
@@ -939,15 +934,6 @@
 regsub regexp.3
 rregexec regexp.3
 rregsub regexp.3
-regcomp regexp9.3
-regcomplit regexp9.3
-regcompnl regexp9.3
-regerror regexp9.3
-regexec regexp9.3
-regexp9 regexp9.3
-regsub regexp9.3
-rregexec regexp9.3
-rregsub regexp9.3
 rfork rfork.3
 
 X509dump rsa.3
@@ -993,11 +979,6 @@
 runestrncpy runestrcat.3
 runestrrchr runestrcat.3
 runestrstr runestrcat.3
-openscsi scsi.3
-scsi scsi.3
-scsicmd scsi.3
-scsierror scsi.3
-scsiready scsi.3
 hmac_md5 sechash.3
 hmac_sha1 sechash.3
 md4 sechash.3
@@ -1125,7 +1106,6 @@
 threadintgrp thread.3
 threadkill thread.3
 threadkillgrp thread.3
-threadlinklibrary thread.3
 threadmain thread.3
 threadnotify thread.3
 threadpid thread.3
diff --git a/man/man3/atof.3 b/man/man3/atof.3
index f6da685..0da2237 100644
--- a/man/man3/atof.3
+++ b/man/man3/atof.3
@@ -144,3 +144,35 @@
 .I atol
 accept octal and hexadecimal numbers in the style of C,
 contrary to the ANSI specification.
+.PP
+.IR Atof ,
+.IR strtod ,
+.IR strtol ,
+.IR strtoul ,
+.IR strtoll ,
+and
+.IR strtoull
+are not provided:
+they are expected to be provided by the underlying system.
+.PP
+Because they are implemented in the fmt library,
+.I charstod
+and
+.I strtod
+are preprocessor macros defined as
+.I fmtcharstod
+and
+.IR fmtstrtod .
+.PP
+To avoid name conflicts with the underlying system,
+.IR atoi ,
+.IR atol ,
+and
+.I atoll
+are preprocessor macros defined as
+.IR p9atoi ,
+.IR p9atol ,
+and
+.IR p9atoll ;
+see
+.IR intro (3).
diff --git a/man/man3/bin.3 b/man/man3/bin.3
index 7606202..c888193 100644
--- a/man/man3/bin.3
+++ b/man/man3/bin.3
@@ -20,7 +20,7 @@
 void	*bingrow(Bin **bp, void *op, ulong osize,
 .br
 .B
-	ulong size, int clr);
+	    ulong size, int clr);
 .PP
 .B
 void	binfree(Bin **bp);
diff --git a/man/man3/bio.3 b/man/man3/bio.3
index 8260cc2..02f36ae 100644
--- a/man/man3/bio.3
+++ b/man/man3/bio.3
@@ -2,7 +2,7 @@
 .SH NAME
 Bopen, Bfdopen, Binit, Binits, Brdline, Brdstr, Bgetc, Bgetrune, Bgetd, Bungetc, Bungetrune, Bread, Bseek, Boffset, Bfildes, Blinelen, Bputc, Bputrune, Bprint, Bvprint, Bwrite, Bflush, Bterm, Bbuffered \- buffered input/output
 .SH SYNOPSIS
-.ta \w'Biobuf* 'u
+.ta \w'\fLBiobuf* 'u
 .B #include <u.h>
 .br
 .B #include <libc.h>
diff --git a/man/man3/complete.3 b/man/man3/complete.3
index 6ccf9da..52702ac 100644
--- a/man/man3/complete.3
+++ b/man/man3/complete.3
@@ -13,12 +13,12 @@
 .ta \w'    'u +\w'    'u +\w'    'u +\w'    'u +\w'    'u
 typedef struct Completion	Completion;
 struct Completion{
-	uchar advance;		/* whether forward progress has been made */
-	uchar complete;	/* whether the completion now represents a file or directory */
-	char *string;		/* the string to advance, suffixed " " or "/" for file or directory */
-	int nmatch;		/* number of files that matched */
-	int nfile;			/* number of files returned */
-	char **filename;	/* their names */
+	uchar advance;
+	uchar complete;
+	char *string;
+	int nmatch;
+	int nfile;
+	char **filename;
 };
 
 .fi
diff --git a/man/man3/ctime.3 b/man/man3/ctime.3
index 8b2f041..65ab1d4 100644
--- a/man/man3/ctime.3
+++ b/man/man3/ctime.3
@@ -90,9 +90,26 @@
 .SH BUGS
 The return values point to static data
 whose content is overwritten by each call.
-.br
+.PP
 Daylight Savings Time is ``normal'' in the Southern hemisphere.
-.br
+.PP
 These routines are not equipped to handle non-\c
 .SM ASCII
 text, and are provincial anyway.
+.PP
+To avoid name conflicts with the underlying system,
+.IR ctime ,
+.IR localtime ,
+.IR gmtime ,
+.IR asctime ,
+and
+.I tm2sec
+are preprocessor macros defined as
+.IR p9ctime ,
+.IR p9localtime ,
+.IR p9gmtime ,
+.IR p9asctime ,
+and
+.IR p9tm2sec ;
+see
+.IR intro (3).
diff --git a/man/man3/dial.3 b/man/man3/dial.3
index 36364f3..0c8c96a 100644
--- a/man/man3/dial.3
+++ b/man/man3/dial.3
@@ -1,6 +1,6 @@
 .TH DIAL 3
 .SH NAME
-dial, hangup, announce, listen, accept, reject, netmkaddr, dialparse \- make and break network connections
+dial, announce, listen, accept, reject, netmkaddr, dialparse \- make and break network connections
 .SH SYNOPSIS
 .B #include <u.h>
 .br
@@ -34,7 +34,10 @@
 .\" void freenetconninfo(NetConnINfo*)
 .PP
 .B
-int	dialparse(char *addr, char **net, char **unix, u32int *host, int *port)
+int   dialparse(char *addr, char **net, char **unix,
+.br
+.B
+          u32int *host, int *port)
 .SH DESCRIPTION
 For these routines,
 .I addr
@@ -310,3 +313,17 @@
 and
 .I listen
 return \-1 if they fail.
+.SH BUGS
+To avoid name conflicts with the underlying system,
+.IR dial ,
+.IR announce ,
+.IR listen ,
+.IR netmkaddr ,
+and
+.I reject
+are preprocessor macros defined as
+.IR p9dial ,
+.IR p9announce ,
+and so on;
+see
+.IR intro (3).
diff --git a/man/man3/dup.3 b/man/man3/dup.3
index a9378dc..392e6fe 100644
--- a/man/man3/dup.3
+++ b/man/man3/dup.3
@@ -31,8 +31,9 @@
 Sets
 .IR errstr .
 .SH BUGS
-.I Dup
-is a macro for
-.I p9dup
-to avoid name conflicts with the Unix function; see
+To avoid name conflicts with the underlying system,
+.I dup
+is a preprocessor macro defined as
+.IR p9dup ;
+see
 .IR intro (3).
diff --git a/man/man3/event.3 b/man/man3/event.3
index 5991a17..1a36538 100644
--- a/man/man3/event.3
+++ b/man/man3/event.3
@@ -382,3 +382,8 @@
 .IR plumb (3),
 .\" .IR cons (3),
 .IR draw (3)
+.SH BUGS
+.I Etimer
+and
+.I estart
+are unimplemented.
diff --git a/man/man3/exec.3 b/man/man3/exec.3
index 2c5b166..1a0a8a8 100644
--- a/man/man3/exec.3
+++ b/man/man3/exec.3
@@ -128,3 +128,14 @@
 This is a clumsy way to deal with Unix's lack of
 a union directory for
 .BR /bin .
+.PP
+To avoid name conflicts with the underlying system,
+.I exec
+and
+.I execl
+are preprocessor macros defined as
+.I p9exec
+and
+.IR p9execl ;
+see
+.IR intro (3).
diff --git a/man/man3/exits.3 b/man/man3/exits.3
index 62ea8d3..62c9e56 100644
--- a/man/man3/exits.3
+++ b/man/man3/exits.3
@@ -93,3 +93,14 @@
 Exit codes 97 through 99 are used by the thread library to signal
 internal synchronization errors between the main program
 and a proxy process that implements backgrounding.
+.PP
+To avoid name conflicts with the underlying system,
+.I atexit
+and
+.I atexitdont
+are preprocessor macros defined as
+.I p9atexit
+and
+.IR p9atexitdont ;
+see
+.IR intro (3).
diff --git a/man/man3/flate.3 b/man/man3/flate.3
index e7594b3..b7b1a19 100644
--- a/man/man3/flate.3
+++ b/man/man3/flate.3
@@ -8,7 +8,7 @@
 .br
 .B #include <flate.h>
 .PP
-.ta \w'ulongmm'u
+.ta \w'\fLulongmm'u +\w'\fL  'u
 .PP
 .B
 int	deflateinit(void)
@@ -17,37 +17,37 @@
 int	deflate(void *wr, int (*w)(void*,void*,int),
 .br
 .B
-	void *rr, int (*r)(void*,void*,int),
+		void *rr, int (*r)(void*,void*,int),
 .br
 .B
-	int level, int debug)
+		int level, int debug)
 .PP
 .B
 int	deflatezlib(void *wr, int (*w)(void*,void*,int),
 .br
 .B
-	void *rr, int (*r)(void*,void*,int),
+		void *rr, int (*r)(void*,void*,int),
 .br
 .B
-	int level, int debug)
+		int level, int debug)
 .PP
 .B
 int	deflateblock(uchar *dst, int dsize,
 .br
 .B
-	uchar *src, int ssize,
+		uchar *src, int ssize,
 .br
 .B
-	int level, int debug)
+		int level, int debug)
 .PP
 .B
 int	deflatezlibblock(uchar *dst, int dsize,
 .br
 .B
-	uchar *src, int ssize,
+		uchar *src, int ssize,
 .br
 .B
-	int level, int debug)
+		int level, int debug)
 .PP
 .B
 int	inflateinit(void)
@@ -56,25 +56,25 @@
 int	inflate(void *wr, int (*w)(void*, void*, int),
 .br
 .B
-	void *getr, int (*get)(void*))
+		void *getr, int (*get)(void*))
 .PP
 .B
 int	inflatezlib(void *wr, int (*w)(void*, void*, int),
 .br
 .B
-	void *getr, int (*get)(void*))
+		void *getr, int (*get)(void*))
 .PP
 .B
 int	inflateblock(uchar *dst, int dsize,
 .br
 .B
-	uchar *src, int ssize)
+		uchar *src, int ssize)
 .PP
 .B
 int	inflatezlibblock(uchar *dst, int dsize,
 .br
 .B
-	uchar *src, int ssize)
+		uchar *src, int ssize)
 .PP
 .B
 char	*flateerr(int error)
diff --git a/man/man3/fmtinstall.3 b/man/man3/fmtinstall.3
index d279bc8..da766d7 100644
--- a/man/man3/fmtinstall.3
+++ b/man/man3/fmtinstall.3
@@ -370,4 +370,3 @@
 .SH DIAGNOSTICS
 These routines return negative numbers or nil for errors and set
 .IR errstr .
-.SH BUGS
diff --git a/man/man3/frame.3 b/man/man3/frame.3
index 7dc9bc1..1e06380 100644
--- a/man/man3/frame.3
+++ b/man/man3/frame.3
@@ -75,7 +75,7 @@
 of editable text in a single font on raster displays, such as in
 .IR sam (1)
 and
-.IR rio (1).
+.IR 9term (1).
 Frames may hold any character except NUL (0).
 Long lines are folded and tabs are at fixed intervals.
 .PP
diff --git a/man/man3/genrandom.3 b/man/man3/genrandom.3
index bb6118c..ddf481e 100644
--- a/man/man3/genrandom.3
+++ b/man/man3/genrandom.3
@@ -22,8 +22,10 @@
 .I Genrandom
 fills a buffer with bytes from the X9.17 pseudo-random
 number generator.  The X9.17 generator is seeded by 24
-truly random bytes read from
-.BR /dev/random .
+truly random bytes read via
+.I truerand
+(see
+.IR rand (3)).
 .PP
 .I Prng
 uses the native
diff --git a/man/man3/getenv.3 b/man/man3/getenv.3
index a6d5795..a817b6e 100644
--- a/man/man3/getenv.3
+++ b/man/man3/getenv.3
@@ -35,8 +35,13 @@
 Sets
 .IR errstr .
 .SH BUGS
-Defined as macros for
+To avoid name conflicts with the underlying system,
+.I getenv
+and
+.I putenv
+are preprocessor macros defined as
 .I p9getenv
 and
-.I p9putenv
-to avoid name conflicts with Unix library calls.
+.IR p9putenv ;
+see
+.IR intro (3).
diff --git a/man/man3/getwd.3 b/man/man3/getwd.3
index b68eea4..245914f 100644
--- a/man/man3/getwd.3
+++ b/man/man3/getwd.3
@@ -23,8 +23,15 @@
 .SH SOURCE
 .B \*9/src/lib9/getwd.c
 .SH "SEE ALSO"
-.IR pwd (1),
+.IR pwd (1)
 .SH DIAGNOSTICS
 On error, zero is returned.
 .IR Errstr (3)
 may be consulted for more information.
+.SH BUGS
+To avoid name conflicts with the underlying system,
+.I getwd
+is a preprocessor macro defined as
+.IR p9getwd ;
+see
+.IR intro (3).
diff --git a/man/man3/graphics.3 b/man/man3/graphics.3
index 7e3a70b..4b39332 100644
--- a/man/man3/graphics.3
+++ b/man/man3/graphics.3
@@ -615,7 +615,7 @@
 \&...
 .EE
 .SH FILES
-.BR /lib/font/bit "    directory of fonts
+.BR \*9/font/bit "    directory of fonts
 .SH SOURCE
 .B \*9/src/libdraw
 .SH "SEE ALSO"
@@ -649,3 +649,7 @@
 .B white
 and
 .BR black .
+.PP
+These manual pages contain many references to
+the now-fictitious
+.BR /dev/draw .
diff --git a/man/man3/malloc.3 b/man/man3/malloc.3
index 8b79247..1cdff57 100644
--- a/man/man3/malloc.3
+++ b/man/man3/malloc.3
@@ -168,3 +168,18 @@
 and
 .I free
 detect such corruption, they abort.
+.PP
+To avoid name conflicts with the system versions of these functions,
+.IR malloc ,
+.IR realloc ,
+.IR calloc ,
+and
+.I free
+are preprocessor macros defined as
+.IR p9malloc ,
+.IR p9realloc ,
+.IR p9calloc ,
+and
+.IR p9free ;
+see
+.IR intro (3).
diff --git a/man/man3/memdraw.3 b/man/man3/memdraw.3
index 969fee0..ec299a2 100644
--- a/man/man3/memdraw.3
+++ b/man/man3/memdraw.3
@@ -449,7 +449,6 @@
 is unusual in using a subfont rather than a font,
 and in having no parameter to align the source.
 .PP
-.I Libmemdraw
-is archived into
+These functions are 
+archived into
 .IR libdraw .
-
diff --git a/man/man3/memlayer.3 b/man/man3/memlayer.3
index 57ab8af..da1d025 100644
--- a/man/man3/memlayer.3
+++ b/man/man3/memlayer.3
@@ -304,6 +304,6 @@
 .IR window (3),
 .IR draw (3)
 .SH BUGS
-.I Libmemlayer
-is archived into
+These functions
+are archived into
 .IR libdraw .
diff --git a/man/man3/mp.3 b/man/man3/mp.3
index c4ecb37..f0028c3 100644
--- a/man/man3/mp.3
+++ b/man/man3/mp.3
@@ -1,6 +1,6 @@
 .TH MP 3
 .SH NAME
-mpsetminbits, mpnew, mpfree, mpbits, mpnorm, mpcopy, mpassign, mprand, strtomp, mpfmt,mptoa, betomp, mptobe, letomp, mptole, mptoui, uitomp, mptoi, itomp, uvtomp, mptouv, vtomp, mptov, mpdigdiv, mpadd, mpsub, mpleft, mpright, mpmul, mpexp, mpmod, mpdiv, mpcmp, mpextendedgcd, mpinvert, mpsignif, mplowbits0, mpvecdigmuladd, mpvecdigmulsub, mpvecadd, mpvecsub, mpveccmp, mpvecmul, mpmagcmp, mpmagadd, mpmagsub, crtpre, crtin, crtout, crtprefree, crtresfree, mpfactorial \- extended precision arithmetic
+mpsetminbits, mpnew, mpfree, mpbits, mpnorm, mpcopy, mpassign, mprand, strtomp, mpfmt,mptoa, betomp, mptobe, letomp, mptole, mptoui, uitomp, mptoi, itomp, uvtomp, mptouv, vtomp, mptov, mpdigdiv, mpadd, mpsub, mpleft, mpright, mpmul, mpexp, mpmod, mpdiv, mpfactorial, mpcmp, mpextendedgcd, mpinvert, mpsignif, mplowbits0, mpvecdigmuladd, mpvecdigmulsub, mpvecadd, mpvecsub, mpveccmp, mpvecmul, mpmagcmp, mpmagadd, mpmagsub, crtpre, crtin, crtout, crtprefree, crtresfree \- extended precision arithmetic
 .SH SYNOPSIS
 .B #include <u.h>
 .br
@@ -108,6 +108,9 @@
 void	mpdiv(mpint *dividend, mpint *divisor,  mpint *quotient, mpint *remainder)
 .PP
 .B
+mpint*	mpfactorial(ulong n)
+.PP
+.B
 int	mpcmp(mpint *b1, mpint *b2)
 .PP
 .B
@@ -162,9 +165,6 @@
 void	crtresfree(CRTres *res)
 .PP
 .B
-mpint*	mpfactorial(ulong n)
-.PP
-.B
 mpint	*mpzero, *mpone, *mptwo
 .SH DESCRIPTION
 .PP
@@ -441,6 +441,10 @@
 .BR "quotient = dividend/divisor" .
 .BR "remainder = dividend % divisor" .
 .TP
+.I mpfactorial
+returns factorial of
+.IR n .
+.TP
 .I mpcmp
 returns -1, 0, or +1 as
 .I b1
@@ -575,9 +579,5 @@
 and
 .I CRTres
 structures respectively.
-.PP
-.I Mpfactorial
-returns the factorial of
-.IR n .
 .SH SOURCE
 .B \*9/src/libmp
diff --git a/man/man3/muldiv.3 b/man/man3/muldiv.3
index 3bc6dda..36eb7b9 100644
--- a/man/man3/muldiv.3
+++ b/man/man3/muldiv.3
@@ -7,7 +7,7 @@
 .B #include <libc.h>
 .PP
 .B
-long muldiv(long a, long b, long c)
+long  muldiv(long a, long b, long c)
 .PP
 .B
 ulong umuldiv(ulong a, ulong b, ulong c)
diff --git a/man/man3/mux.3 b/man/man3/mux.3
index e36763d..6c12542 100644
--- a/man/man3/mux.3
+++ b/man/man3/mux.3
@@ -7,6 +7,7 @@
 .nf
 .B
 .ta +4n
+.ft B
 struct Mux
 {
 	uint mintag;
diff --git a/man/man3/notify.3 b/man/man3/notify.3
index 616c655..63c182b 100644
--- a/man/man3/notify.3
+++ b/man/man3/notify.3
@@ -207,7 +207,7 @@
 .PP
 .RS 3n
 .nf
-.ta \w'\fLsys: write on closed pipe  \fP'u \w'system call address argument out of range   'u
+.ta \w'\fLsys: segmentation violation  \fP'u +\w'process requested to exit     'u
 \fINote\fP	\fIMeaning\fP	\fIUnix signal\fP
 \fLinterrupt\fP	user interrupt (DEL key)	SIGINTR
 \fLhangup\fP	I/O connection closed	SIGHUP
@@ -217,6 +217,8 @@
 \fLsys: kill\fP	process forced to exit	SIGKILL
 \fLsys: bus error\fP	bus error	SIGBUS
 \fLsys: segmentation violation\fP	segmentation violation	SIGSEGV
+\fLsys: write on closed pipe\fP	write on closed pipe	SIGPIPE
+\fLsys: child\fP	child wait status change	SIGCHLD
 .fi
 .RE
 .PP
diff --git a/man/man3/print.3 b/man/man3/print.3
index b1c8545..af3f752 100644
--- a/man/man3/print.3
+++ b/man/man3/print.3
@@ -1,18 +1,10 @@
 .TH PRINT 3
-.de EX
-.nf
-.ft B
-..
-.de EE
-.fi
-.ft R
-..
 .SH NAME
 print, fprint, sprint, snprint, seprint, smprint, runesprint, runesnprint, runeseprint, runesmprint, vfprint, vsnprint, vseprint, vsmprint, runevsnprint, runevseprint, runevsmprint \- print formatted output
 .SH SYNOPSIS
-.B #include <utf.h>
+.B #include <u.h>
 .PP
-.B #include <fmt.h>
+.B #include <libc.h>
 .PP
 .ta \w'\fLchar* 'u
 .B
@@ -72,7 +64,10 @@
 writes text to the standard output.
 .I Fprint
 writes to the named output
-file descriptor.
+file descriptor:
+a buffered form
+is described in
+.IR bio (3).
 .I Sprint
 places text
 followed by the NUL character
@@ -96,7 +91,7 @@
 bytes in
 .IR s .
 Its result is always NUL-terminated and holds the maximal
-number of characters that can fit.
+number of complete UTF-8 characters that can fit.
 .I Seprint
 is like
 .IR snprint ,
@@ -191,27 +186,26 @@
 .PP
 The numeric verbs
 .BR d ,
-.BR i ,
-.BR u ,
 .BR o ,
 .BR b ,
 .BR x ,
 and
 .B X
-format their arguments in decimal, decimal,
-unsigned decimal, octal, binary, hexadecimal, and upper case hexadecimal.
+format their arguments in decimal,
+octal, binary, hexadecimal, and upper case hexadecimal.
 Each interprets the flags
 .BR 0 ,
 .BR h ,
 .BR hh ,
 .BR l ,
+.BR u ,
 .BR + ,
 .BR - ,
 .BR , ,
 and
 .B #
 to mean pad with zeros,
-short, byte, long, always print a sign, left justified, commas every three digits,
+short, byte, long, unsigned, always print a sign, left justified, commas every three digits,
 and alternate format.
 Also, a space character in the flag
 position is like
@@ -221,12 +215,9 @@
 short nor long is specified,
 then the argument is an
 .BR int .
-If an unsigned verb is specified,
+If unsigned is specified,
 then the argument is interpreted as a
-positive number and no sign is output;
-space and
-.B +
-flags are ignored for unsigned verbs.
+positive number and no sign is output.
 If two
 .B l
 flags are given,
@@ -249,8 +240,8 @@
 .B o
 conversion, the number is preceded by a
 .B 0
-if it doesn't already begin with one.
-For non-zero numbers and
+if it doesn't already begin with one;
+for
 .B x
 conversion, the number is preceded by
 .BR 0x ;
@@ -345,7 +336,7 @@
 .PP
 The
 .B s
-verb copies a string
+verb copies a NUL-terminated string
 (pointer to
 .BR char )
 to the output.
@@ -397,9 +388,7 @@
 The
 .B r
 verb takes no arguments; it copies the error string returned by a call to
-.IR strerror (3)
-with an argument of
-.IR errno.
+.IR errstr (3).
 .PP
 Custom verbs may be installed using
 .IR fmtinstall (3).
@@ -414,12 +403,12 @@
 	char buf[1024], *out;
 	va_list arg;
 
-	out = vseprint(buf, buf+sizeof buf, "Fatal error: ");
+	out = seprint(buf, buf+sizeof buf, "Fatal error: ");
 	va_start(arg, msg);
 	out = vseprint(out, buf+sizeof buf, msg, arg);
 	va_end(arg);
 	write(2, buf, out-buf);
-	exit(1);
+	exits("fatal error");
 }
 .EE
 .SH SEE ALSO
@@ -438,9 +427,9 @@
 .B b
 and
 .B r
-are not in ANSI and some
-.B C9X
-verbs are missing.
+are not in ANSI and
+.B u
+is a flag here instead of a verb.
 Also, and distinctly not a bug,
 .I print
 and friends generate
@@ -449,8 +438,8 @@
 .SM ASCII.
 .PP
 There is no
-.BR runeprint ,
-.BR runefprint ,
+.IR runeprint ,
+.IR runefprint ,
 etc. because runes are byte-order dependent and should not be written directly to a file; use the
 UTF output of
 .I print
diff --git a/man/man3/pushtls.3 b/man/man3/pushtls.3
index 5af31d7..fa0a080 100644
--- a/man/man3/pushtls.3
+++ b/man/man3/pushtls.3
@@ -26,7 +26,7 @@
 uchar		*readcert(char *filename, int *pcertlen)
 .PP
 .B
-PEMchain	*readcertchain(char *filename)
+PEMchain		*readcertchain(char *filename)
 .PP
 .B
 Thumbprint*	initThumbprints(char *ok, char *crl)
diff --git a/man/man3/quote.3 b/man/man3/quote.3
index 7e547c0..ae6c6c2 100644
--- a/man/man3/quote.3
+++ b/man/man3/quote.3
@@ -165,3 +165,10 @@
 .IR malloc (3),
 .IR print (3),
 .IR strcat (3)
+.SH BUGS
+Because it is provided by the format library,
+.I doquote
+is a preprocessor macro defined as
+.IR fmtdoquote ;
+see
+.IR intro (3).
diff --git a/man/man3/rand.3 b/man/man3/rand.3
index d6032d8..7dcc606 100644
--- a/man/man3/rand.3
+++ b/man/man3/rand.3
@@ -156,9 +156,9 @@
 .IR x ,
 .RI 0≤ x < val ≤ 2\u\s732\s10\d-1.
 .SH SOURCE
-.B \*9/src/lib9/
+.B \*9/src/lib9
 .br
-.B \*9/src/libsec/port/
+.B \*9/src/libsec/port
 .SH "SEE ALSO
 .\" .IR cons (3),
 .IR mp (3)
@@ -167,3 +167,18 @@
 and
 .I ntruerand
 maintain a static file descriptor.
+.PP
+To avoid name conflicts with the underlying system,
+.IR rand ,
+.IR lrand ,
+.IR frand ,
+.IR nrand ,
+.IR lnrand ,
+and
+.I srand
+are preprocessor macros defined as
+.IR p9rand ,
+.IR p9lrand ,
+and so on;
+see
+.IR intro (3).
diff --git a/man/man3/regexp.3 b/man/man3/regexp.3
index 06733aa..069e1d2 100644
--- a/man/man3/regexp.3
+++ b/man/man3/regexp.3
@@ -113,22 +113,22 @@
 	union {
 	   char *sp;
 	   Rune *rsp;
-	};
+	} s;
 	union {
 	   char *ep;
 	   Rune *rep;
-	};
+	} e;
 } Resub;
 .EE
 .LP
 If
-.B match[0].sp
+.B match[0].s.sp
 is nonzero on entry,
 .I regexec
 starts matching at that point within
 .IR string .
 If
-.B match[0].ep
+.B match[0].e.ep
 is nonzero on entry,
 the last character matched is the one
 preceding that point.
diff --git a/man/man3/sechash.3 b/man/man3/sechash.3
index a6f2c0e..d8b1cd4 100644
--- a/man/man3/sechash.3
+++ b/man/man3/sechash.3
@@ -13,50 +13,51 @@
 .B
 DigestState*	md4(uchar *data, ulong dlen, uchar *digest,
 .B
-			 DigestState *state)
+			    DigestState *state)
 .PP
 .B
 DigestState*	md5(uchar *data, ulong dlen, uchar *digest,
 .B
-			 DigestState *state)
+			    DigestState *state)
 .PP
 .B
 char*		md5pickle(MD5state *state)
 .PP
 .B
-MD5state*	md5unpickle(char *p);
+MD5state*		md5unpickle(char *p);
 .PP
 .B
 DigestState*	sha1(uchar *data, ulong dlen, uchar *digest,
 .B
-			 DigestState *state)
+			    DigestState *state)
 .PP
 .B
 char*		sha1pickle(MD5state *state)
 .PP
 .B
-MD5state*	sha1unpickle(char *p);
+MD5state*		sha1unpickle(char *p);
 .PP
 .B
 DigestState*	hmac_md5(uchar *data, ulong dlen,
 .br
 .B
-			 uchar *key, ulong klen,
+			    uchar *key, ulong klen,
 .br
 .B
-			 uchar *digest, DigestState *state)
+			    uchar *digest, DigestState *state)
 .PP
 .B
 DigestState*	hmac_sha1(uchar *data, ulong dlen,
 .br
 .B
-			 uchar *key, ulong klen,
+			    uchar *key, ulong klen,
 .br
 .B
-			 uchar *digest, DigestState *state)
+			    uchar *digest, DigestState *state)
 .SH DESCRIPTION
 .PP
-We support several secure hash functions.  The output of the
+These functions implement
+the cryptographic hash functions MD4, MD5, and SHA1.  The output of the
 hash is called a
 .IR digest .
 A hash is secure if, given the hashed data and the digest,
diff --git a/man/man3/seek.3 b/man/man3/seek.3
index e6435f4..36c594c 100644
--- a/man/man3/seek.3
+++ b/man/man3/seek.3
@@ -44,3 +44,10 @@
 .SH DIAGNOSTICS
 Sets
 .IR errstr .
+.SH BUGS
+To avoid name conflicts with the underlying system,
+.I seek
+is a preprocessor macro defined as
+.IR p9seek ;
+see
+.IR intro (3).
diff --git a/man/man3/setjmp.3 b/man/man3/setjmp.3
index e2af559..1210c17 100644
--- a/man/man3/setjmp.3
+++ b/man/man3/setjmp.3
@@ -55,36 +55,6 @@
 and
 .I longjmp
 can also be used to switch stacks.
-Defined in
-.B </$objtype/u.h>
-are several macros that can be used to build
-.B jmp_bufs
-by hand.  The following code establishes a
-.B jmp_buf
-.i label
-that may be called by
-.I longjmp
-to begin execution in a function
-.BR f
-with 1024 bytes of stack:
-.IP
-.EX
-#include <u.h>
-#include <libc.h>
-
-jmp_buf label;
-#define NSTACK 1024
-char stack[NSTACK];
-
-void
-setlabel(void)
-{
-	label[JMPBUFPC] = ((ulong)f+JMPBUFDPC);
-	/* -2 leaves room for old pc and new pc in frame */
-	label[JMPBUFSP =
-	        (ulong)(&stack[NSTACK-2*sizeof(ulong*)]);
-}
-.EE
 .SH SOURCE
 .B \*9/src/lib9/jmp.c
 .SH SEE ALSO
@@ -94,3 +64,24 @@
 .I Notejmp
 cannot recover from an address trap or bus error (page fault) on the 680x0
 architectures.
+.PP
+To avoid name conflicts with the underlying system,
+.IR setjmp ,
+.IR longjmp ,
+.IR notejmp ,
+and
+.I jmp_buf
+are preprocessor macros defined as
+.IR p9setjmp ,
+.IR p9longjmp ,
+.IR p9notejmp ,
+and
+.IR p9jmp_buf ;
+see
+.IR intro (3).
+.PP
+.I P9setjmp
+is implemented as a preprocessor macro that calls
+.I sigsetjmp
+(see
+Unix's \fIsetjmp\fR(3)).
diff --git a/man/man3/sleep.3 b/man/man3/sleep.3
index 7df6c33..0afa71d 100644
--- a/man/man3/sleep.3
+++ b/man/man3/sleep.3
@@ -43,3 +43,14 @@
 .SH DIAGNOSTICS
 These functions set
 .IR errstr .
+.SH BUGS
+To avoid name conflicts with the underlying system,
+.I sleep
+and
+.I alarm
+are preprocessor macros defined as
+.I p9sleep
+and
+.IR p9alarm ;
+see
+.IR intro (3).
diff --git a/man/man3/string.3 b/man/man3/string.3
index e17906b..9b88e8d 100644
--- a/man/man3/string.3
+++ b/man/man3/string.3
@@ -117,7 +117,7 @@
 Using
 .B s->base
 directly is frowned upon since it exposes too much of the implementation.
-.SS "allocation and freeing
+.SS "Allocation and freeing
 .PP
 A string must be allocated before it can be used.
 One normally does this using
diff --git a/man/man3/subfont.3 b/man/man3/subfont.3
index b3ca89c..5e1b09a 100644
--- a/man/man3/subfont.3
+++ b/man/man3/subfont.3
@@ -104,7 +104,7 @@
 A number of subfonts are kept in external files.
 The convention for naming subfont files is:
 .IP
-.B /lib/font/bit/\fIname\fP/\fIclass\fP.\fIsize\fP.\fIdepth
+.B \*9/font/\fIname\fP/\fIclass\fP.\fIsize\fP.\fIdepth
 .PD
 .PP
 where
@@ -217,9 +217,9 @@
 to
 .IB min + s ->n-1\f1.
 .SH FILES
-.TF /lib/font/bit
+.TF \*9/font
 .TP
-.B /lib/font/bit
+.B \*9/font
 bitmap font file tree
 .SH SOURCE
 .B \*9/src/libdraw
diff --git a/man/man3/thread.3 b/man/man3/thread.3
index 50bcb4e..39fa53a 100644
--- a/man/man3/thread.3
+++ b/man/man3/thread.3
@@ -33,7 +33,6 @@
 threadintgrp,
 threadkill,
 threadkillgrp,
-threadlinklibrary,
 threadmain,
 threadnotify,
 threadid,
@@ -46,14 +45,6 @@
 yield \- thread and proc management
 .SH SYNOPSIS
 .PP
-.de EX
-.nf
-.ft B
-..
-.de EE
-.fi
-.ft R
-..
 .EX
 .ta 4n +4n +4n +4n +4n +4n +4n
 #include <u.h>
@@ -88,8 +79,6 @@
 void	threadmain(int argc, char *argv[])
 int	mainstacksize
 int	proccreate(void (*fn)(void*), void *arg, uint stacksize)
-int	procrfork(void (*fn)(void*), void *arg, uint stacksize,
-		int rforkflag)
 int	threadcreate(void (*fn)(void*), void *arg, uint stacksize)
 void	threadexits(char *status)
 void	threadexitsall(char *status)
@@ -393,6 +382,7 @@
 fd[1] = 1;
 fd[2] = 2;
 .EE
+.LP
 to use the current standard files.  The correct code is
 .IP
 .EX
@@ -656,20 +646,6 @@
 .IR intro (3),
 .IR ioproc (3)
 .SH BUGS
-A program that intends to use the thread library
-but does not call any of its functions will not cause Unix linkers
-to link the thread library, resulting in the unintelligible error:
-.IP
-.EX
-\*9/lib/lib9.a(main.o)(.text+0x17): In function `main':
-\*9/src/lib9/main.c:10: undefined reference to `p9main'
-.EE
-.LP
-or similar.  To force the thread library to be linked properly in such cases,
-insert a call to the no-op function
-.I threadlinklibrary
-somewhere in your program.
-.PP
 To avoid name conflicts,
 .IR alt ,
 .IR nbrecv ,
@@ -689,10 +665,11 @@
 .IR chanalt ,
 .IR channbrecv ,
 and so on.
-Similarly,
-.I yield
+.I Yield
 is defined as a macro that expands to
 .IR threadyield .
+See
+.IR intro (3).
 .PP
 The implementation of
 .I threadnotify
diff --git a/man/man3/time.3 b/man/man3/time.3
index 9bf2db3..dfcafaf 100644
--- a/man/man3/time.3
+++ b/man/man3/time.3
@@ -31,3 +31,14 @@
 .SH DIAGNOSTICS
 These functions set
 .IR errstr .
+.SH BUGS
+To avoid name conflicts with the underlying system,
+.I time
+and
+.I nsec
+are preprocessor macros defined as
+.I p9time
+and
+.IR p9nsec ;
+see
+.IR intro (3).
diff --git a/man/man3/wait.3 b/man/man3/wait.3
index 445f29c..28d5d73 100644
--- a/man/man3/wait.3
+++ b/man/man3/wait.3
@@ -144,3 +144,16 @@
 .SH DIAGNOSTICS
 These routines set
 .IR errstr .
+.SH BUGS
+To avoid name conflicts with the underlying system,
+.IR wait ,
+.IR waitpid ,
+and
+.I waitfor
+are preprocessor macros defined as
+.IR p9wait ,
+.IR p9waitpid ,
+and
+.IR p9waitfor ;
+see 
+.IR intro (3).
diff --git a/man/man4/INDEX b/man/man4/INDEX
index bd0f7bc..407b7b0 100644
--- a/man/man4/INDEX
+++ b/man/man4/INDEX
@@ -2,5 +2,6 @@
 intro 0intro.4
 9pserve 9pserve.4
 acme acme.4
+import import.4
 plumber plumber.4
 ramfs ramfs.4
diff --git a/man/man4/acme.4 b/man/man4/acme.4
index 7d5f248..40143a4 100644
--- a/man/man4/acme.4
+++ b/man/man4/acme.4
@@ -25,14 +25,10 @@
 itself.
 When a command is run under
 .IR acme ,
-a directory holding these files is mounted on
-.B /mnt/acme
-(also bound to
-.BR /mnt/wsys )
-and also
-.BR /dev ;
-the files mentioned here
-appear in both those directories.
+a directory holding these files is posted as the 9P service
+.B acme
+(using
+.IR 9pserve (4)).
 .PP
 Some of these files supply virtual versions of services available from the underlying
 environment, in particular the character terminal files in Plan 9's
diff --git a/man/man4/import.4 b/man/man4/import.4
new file mode 100644
index 0000000..04d8fbe
--- /dev/null
+++ b/man/man4/import.4
@@ -0,0 +1,106 @@
+.TH IMPORT 4
+.SH NAME
+import \- import 9P resources from another system
+.SH SYNOPSIS
+.B import
+[
+.B -df
+]
+[
+.B -n
+.I ns
+]
+[
+.B -p
+.I prog
+]
+[
+.B -s
+.I service
+]
+.I system
+.SH DESCRIPTION
+.I Import
+presents the 9P service
+.I service
+(default
+.BR plumb )
+running on
+.I system
+as a service on the local system,
+in the current name space.
+.PP
+The
+.B -n
+option sets the remote name space directory
+where
+.I import
+should expect to find
+.IR service .
+If it is not specified,
+.I import
+uses name of the local system's name space directory.
+(Since name space directories are conventionally inside
+.BR /tmp ,
+the path have different meanings on the two systems.)
+.PP
+.I Import
+connects to
+.I system
+using
+.IR ssh (1).
+It invokes
+.I import
+on the remote system to carry out the remote
+side of the protocol.
+The
+.B -p
+option specifies the path to
+.I import
+on the remote system, in case it is not in the system search path.
+.PP
+The
+.B -d
+option turns on debugging.
+The
+.B -f
+option keeps
+.I import
+from forking itself into the background, also useful for debugging.
+.SH EXAMPLE
+Suppose you run
+.B sam
+.B -r
+to the CPU server
+.IR anna .
+.I Sam
+wants to talk to a plumber on the local terminal,
+but the file names will refer to files on
+.IR anna .
+.PP
+To fix this problem, create a new name space directory
+and start a new plumber on
+.IR anna :
+.IP
+.EX
+remotens=/tmp/ns.`whoami`.on.`hostname`
+ssh anna mkdir $remotens
+ssh anna NAMESPACE=$remotens plumber
+.EE
+Now import that plumber to the local name space before starting
+.I sam
+and
+.IR 9term :
+.IP
+.EX
+NAMESPACE=/tmp/ns.anna
+mkdir $NAMESPACE
+import -n $remotens -s plumb anna
+sam &
+9term ssh anna &
+.EE
+.SH SOURCE
+.B \*9/src/cmd/import.c
+.SH SEE ALSO
+.IR 9pserve (4),
+.IR intro (4)
diff --git a/man/man4/plumber.4 b/man/man4/plumber.4
index 95259a0..0dfe68b 100644
--- a/man/man4/plumber.4
+++ b/man/man4/plumber.4
@@ -16,7 +16,7 @@
 Its behavior is programmed by a
 .I plumbing
 file (default
-.BR /usr/$user/lib/plumbing )
+.BR $HOME/lib/plumbing )
 in the format of
 .IR plumb (7).
 .PP
@@ -96,9 +96,9 @@
 include a port that was defined in earlier rules, that port will still exist (although
 no new messages will be delivered there).
 .SH FILES
-.TF /usr/$user/lib/plumbing
+.TF $HOME/lib/plumbing
 .TP
-.B /usr/$user/lib/plumbing
+.B $HOME/lib/plumbing
 default rules file
 .TP
 .B \*9/plumb
diff --git a/man/man7/INDEX b/man/man7/INDEX
index 7930266..f7c1bd2 100644
--- a/man/man7/INDEX
+++ b/man/man7/INDEX
@@ -9,7 +9,6 @@
 plot plot.7
 plumb plumb.7
 regexp regexp.7
-regexp9 regexp9.7
 thumbprint thumbprint.7
 ASCII utf.7
 UTF utf.7
diff --git a/man/man7/font.7 b/man/man7/font.7
index f651a58..4767ea1 100644
--- a/man/man7/font.7
+++ b/man/man7/font.7
@@ -76,9 +76,9 @@
 means that fonts should have, as their zeroth character,
 one with non-zero width.
 .SH FILES
-.TF /lib/font/bit/*
+.TF \*9/font/*
 .TP
-.B /lib/font/bit/*
+.B \*9/font/*
 font directories
 .SH "SEE ALSO"
 .IR graphics (3),
diff --git a/man/man7/man.7 b/man/man7/man.7
index b7522fd..0e2b52b 100644
--- a/man/man7/man.7
+++ b/man/man7/man.7
@@ -108,7 +108,9 @@
 .B \e*9
 The root directory of the Plan 9 installation.
 .SH FILES
-.B /sys/lib/tmac/tmac.an
+.B \*9/tmac/tmac.an
+.PP
+.B \*9/tmac/tmac.antimes
 .SH SEE ALSO
 .IR troff (1), 
 .IR man (1)
@@ -244,7 +246,7 @@
 .B \&"
 in font-alternation macros, such as
 .LR .BI .
-.br
+.PP
 There is no direct way to suppress column widows in 2-column
 output; the column lengths may be adjusted by inserting
 .L .sp
diff --git a/man/man7/ms.7 b/man/man7/ms.7
index b6c6788..83b9369 100644
--- a/man/man7/ms.7
+++ b/man/man7/ms.7
@@ -46,7 +46,7 @@
 preprocessors
 for equations, tables, pictures, and graphs is acceptable as input.
 .SH FILES
-.B /sys/lib/tmac/tmac.s
+.B \*9/tmac/tmac.s
 .SH "SEE ALSO"
 .br
 M. E. Lesk,
diff --git a/man/man7/plumb.7 b/man/man7/plumb.7
index 82c771b..fd30ee0 100644
--- a/man/man7/plumb.7
+++ b/man/man7/plumb.7
@@ -396,24 +396,24 @@
 include basic
 .EE
 .SH FILES
-.TF /usr/$user/lib/plumbing
+.TF $HOME/lib/plumbing
 .TP
-.B /usr/$user/lib/plumbing
+.B $HOME/lib/plumbing
 default rules file.
 .TP
-.B /mnt/plumb
-mount point for
+.B plumb
+service name for
 .IR plumber (4).
 .TP
-.B /sys/lib/plumb
+.B \*9/plumb
 directory for
 .B include
 files.
 .TP
-.B /sys/lib/plumb/fileaddr
+.B \*9/plumb/fileaddr
 public macro definitions.
 .TP
-.B /sys/lib/plumb/basic
+.B \*9/plumb/basic
 basic rule set.
 .SH "SEE ALSO"
 .IR plumb (1),
diff --git a/man/man7/regexp.7 b/man/man7/regexp.7
index 75640b9..91e73ad 100644
--- a/man/man7/regexp.7
+++ b/man/man7/regexp.7
@@ -1,21 +1,4 @@
 .TH REGEXP 7
-.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
 regexp \- Plan 9 regular expression notation
 .SH DESCRIPTION
diff --git a/man/man8/mk9660.8 b/man/man8/mk9660.8
index f2075f9..3339246 100644
--- a/man/man8/mk9660.8
+++ b/man/man8/mk9660.8
@@ -2,7 +2,7 @@
 .SH NAME
 dump9660, mk9660 \- create an ISO-9660 CD image
 .SH SYNOPSIS
-.B disk/mk9660
+.B mk9660
 [
 .B -:D
 ]
@@ -27,7 +27,7 @@
 ]
 .I image
 .PP
-.B disk/dump9660
+.B dump9660
 [
 .B -:D
 ]
@@ -63,7 +63,7 @@
 files named in
 .I proto
 (by default,
-.BR /sys/lib/sysconfig/proto/allproto )
+.BR \*9/proto/allproto )
 from the file tree
 .I src
 (by default,
@@ -218,8 +218,7 @@
 a Joliet directory tree.
 .IP
 .EX
-disk/mk9660 -9cj -s /n/bootes \e
-	-p /sys/lib/sysconfig/srcproto cdimage
+mk9660 -9cj -s /n/bootes -p srcproto cdimage
 .EE
 .SH SOURCE
 \*9/src/cmd/9660
diff --git a/man/secindex b/man/secindex
index 6dd0d51..4ffc83b 100755
--- a/man/secindex
+++ b/man/secindex
@@ -2,7 +2,7 @@
 builtin cd $1
 for (i in [a-z0-9:]*) {
 	b=`{echo $i | sed 's/\..*//'}
-	9sed -n '
+	9 sed -n '
 	/SH *NAM/,/SH/{
 		/SH/d
 		s/, *$//
@@ -34,4 +34,4 @@
 	q
 ' $i
 echo $b $i
-} |sort -u
+} |9 sort -u
