use macro for /usr/local/plan9
diff --git a/man/man3/9p.3 b/man/man3/9p.3
index 9d8967e..1e153bf 100644
--- a/man/man3/9p.3
+++ b/man/man3/9p.3
@@ -717,7 +717,7 @@
 option to increment
 .BR chatty9p .
 .SH EXAMPLES
-/usr/local/plan9/src/lib9p/ramfs.c
+\*9/src/lib9p/ramfs.c
 is an example of simple single-threaded file servers.
 On Plan 9, see
 .IR archfs ,
@@ -742,7 +742,7 @@
 .IR nntpfs )
 or is maintained elsewhere.
 .SH SOURCE
-.B /usr/local/plan9/src/lib9p
+.B \*9/src/lib9p
 .SH SEE ALSO
 .IR 9pfid (3),
 .IR 9pfile (3),
diff --git a/man/man3/9pclient.3 b/man/man3/9pclient.3
index 1c7e76a..b21676a 100644
--- a/man/man3/9pclient.3
+++ b/man/man3/9pclient.3
@@ -319,7 +319,7 @@
 .B CFsys
 is unmounted.
 .SH SOURCE
-.B /usr/local/plan9/src/lib9pclient
+.B \*9/src/lib9pclient
 .SH SEE ALSO
 .IR intro (4),
 .IR intro (9p)
diff --git a/man/man3/9pcmdbuf.3 b/man/man3/9pcmdbuf.3
index e961422..cd1c731 100644
--- a/man/man3/9pcmdbuf.3
+++ b/man/man3/9pcmdbuf.3
@@ -110,9 +110,9 @@
 This interface is not used in any distributed 9P servers.
 It was lifted from the Plan 9 kernel.
 Almost any kernel driver
-.RB ( /usr/local/plan9/src/9/*/dev*.c )
+.RB ( \*9/src/9/*/dev*.c )
 is a good example.
 .SH SOURCE
-.B /usr/local/plan9/src/lib9p/parse.c
+.B \*9/src/lib9p/parse.c
 .SH SEE ALSO
 .IR 9p (3)
diff --git a/man/man3/9pfid.3 b/man/man3/9pfid.3
index 2852baf..6225143 100644
--- a/man/man3/9pfid.3
+++ b/man/man3/9pfid.3
@@ -198,7 +198,7 @@
 .B Req
 structures.
 .SH SOURCE
-.B /usr/local/plan9/src/lib9p
+.B \*9/src/lib9p
 .SH SEE ALSO
 .IR 9p (3),
 .IR 9pfile (3)
diff --git a/man/man3/9pfile.3 b/man/man3/9pfile.3
index 1bb3038..cf03eb2 100644
--- a/man/man3/9pfile.3
+++ b/man/man3/9pfile.3
@@ -216,7 +216,7 @@
 return nf;
 .EE
 .SH SOURCE
-.B /usr/local/plan9/src/lib9p/file.c
+.B \*9/src/lib9p/file.c
 .SH SEE ALSO
 .IR 9p (3)
 .SH BUGS
diff --git a/man/man3/addpt.3 b/man/man3/addpt.3
index e249c08..c00a1de 100644
--- a/man/man3/addpt.3
+++ b/man/man3/addpt.3
@@ -183,6 +183,6 @@
 give the width (Δx) and height (Δy) of a Rectangle.
 They are implemented as macros.
 .SH SOURCE
-.B /usr/local/plan9/src/libdraw
+.B \*9/src/libdraw
 .SH SEE ALSO
 .IR graphics (3)
diff --git a/man/man3/aes.3 b/man/man3/aes.3
index df8ff29..06f42de 100644
--- a/man/man3/aes.3
+++ b/man/man3/aes.3
@@ -37,7 +37,7 @@
 bytes should random enough to be unlikely to be reused but does not need to be
 cryptographically strongly unpredictable.
 .SH SOURCE
-.B /usr/local/plan9/src/libsec
+.B \*9/src/libsec
 .SH SEE ALSO
 .IR mp (3),
 .IR blowfish (3),
diff --git a/man/man3/allocimage.3 b/man/man3/allocimage.3
index e9da53a..8bfd323 100644
--- a/man/man3/allocimage.3
+++ b/man/man3/allocimage.3
@@ -331,7 +331,7 @@
 	red = allocimage(display, Rect(0, 0, 1, 1), RGB24, 1, DRed);
 .EE
 .SH SOURCE
-.B /usr/local/plan9/src/libdraw
+.B \*9/src/libdraw
 .SH "SEE ALSO"
 .IR graphics (3),
 .IR draw (3),
diff --git a/man/man3/arg.3 b/man/man3/arg.3
index 6f7bb92..3124930 100644
--- a/man/man3/arg.3
+++ b/man/man3/arg.3
@@ -121,4 +121,4 @@
 prog -b -f(file1) badflag('r') -f(file2) 2 args: 'arg1' 'arg2'
 .PP
 .SH SOURCE
-.B /usr/local/plan9/include/libc.h
+.B \*9/include/libc.h
diff --git a/man/man3/arith3.3 b/man/man3/arith3.3
index faba4aa..1e764c7 100644
--- a/man/man3/arith3.3
+++ b/man/man3/arith3.3
@@ -264,6 +264,6 @@
 sub4
 Subtract the coordinates of two points.
 .SH SOURCE
-.B /usr/local/plan9/src/libgeometry
+.B \*9/src/libgeometry
 .SH "SEE ALSO
 .IR matrix (3)
diff --git a/man/man3/atof.3 b/man/man3/atof.3
index f8d7c60..f6da685 100644
--- a/man/man3/atof.3
+++ b/man/man3/atof.3
@@ -127,7 +127,7 @@
 after calling
 .IR charstod .
 .SH SOURCE
-.B /usr/local/plan9/src/lib9
+.B \*9/src/lib9
 .SH SEE ALSO
 .IR fscanf (3)
 .SH DIAGNOSTICS
diff --git a/man/man3/bin.3 b/man/man3/bin.3
index 1d1e320..7606202 100644
--- a/man/man3/bin.3
+++ b/man/man3/bin.3
@@ -89,7 +89,7 @@
 upon a call to
 .IR binfree .
 .SH SOURCE
-.B /usr/local/plan9/src/libbin
+.B \*9/src/libbin
 .SH SEE ALSO
 .IR malloc (3)
 .SH DIAGNOSTICS
diff --git a/man/man3/bio.3 b/man/man3/bio.3
index 8228dad..8260cc2 100644
--- a/man/man3/bio.3
+++ b/man/man3/bio.3
@@ -321,7 +321,7 @@
 read on the file; when writing, it is the number of bytes ready to be
 written.
 .SH SOURCE
-.B /usr/local/plan9/src/libbio
+.B \*9/src/libbio
 .SH SEE ALSO
 .IR open (3),
 .IR print (3),
diff --git a/man/man3/blowfish.3 b/man/man3/blowfish.3
index 5938e35..20d43f6 100644
--- a/man/man3/blowfish.3
+++ b/man/man3/blowfish.3
@@ -38,7 +38,7 @@
 functions take a BFstate structure, a data buffer, and a length, which
 must be a multiple of eight bytes as padding is currently unsupported.
 .SH SOURCE
-.B /usr/local/plan9/src/libsec
+.B \*9/src/libsec
 .SH SEE ALSO
 .IR mp (3),
 .IR aes (3),
diff --git a/man/man3/cachechars.3 b/man/man3/cachechars.3
index bb7a475..b0c7abf 100644
--- a/man/man3/cachechars.3
+++ b/man/man3/cachechars.3
@@ -300,7 +300,7 @@
 Thus, characters or subfonts with small ages are the best candidates
 for replacement when the cache is full.
 .SH SOURCE
-.B /usr/local/plan9/src/libdraw
+.B \*9/src/libdraw
 .SH SEE ALSO
 .IR graphics (3),
 .IR allocimage (3),
diff --git a/man/man3/cleanname.3 b/man/man3/cleanname.3
index 5568880..efb7d82 100644
--- a/man/man3/cleanname.3
+++ b/man/man3/cleanname.3
@@ -29,6 +29,6 @@
 .I filename
 must contain room for at least two bytes.
 .SH SOURCE
-.B /usr/local/plan9/src/lib9/cleanname.c
+.B \*9/src/lib9/cleanname.c
 .SH SEE ALSO
 .IR cleanname (1)
diff --git a/man/man3/color.3 b/man/man3/color.3
index aac61bd..5428337 100644
--- a/man/man3/color.3
+++ b/man/man3/color.3
@@ -47,7 +47,7 @@
 library routines that
 take colors as arguments.
 .SH SOURCE
-.B /usr/local/plan9/src/libdraw
+.B \*9/src/libdraw
 .SH SEE ALSO
 .IR graphics (3),
 .IR allocimage (3),
diff --git a/man/man3/complete.3 b/man/man3/complete.3
index dc74050..6ccf9da 100644
--- a/man/man3/complete.3
+++ b/man/man3/complete.3
@@ -91,7 +91,7 @@
 .IR acme (1),
 file name completion is triggered by a control-F character or an Insert character.
 .SH SOURCE
-.B /usr/local/plan9/src/libcomplete
+.B \*9/src/libcomplete
 .SH SEE ALSO
 .IR rio (1),
 .IR acme (1)
diff --git a/man/man3/cputime.3 b/man/man3/cputime.3
index c88340d..78a93fa 100644
--- a/man/man3/cputime.3
+++ b/man/man3/cputime.3
@@ -25,4 +25,4 @@
 .I Times
 returns the elapsed real time, in milliseconds, that the process has been running.
 .SH SOURCE
-.B /usr/local/plan9/src/lib9/time.c
+.B \*9/src/lib9/time.c
diff --git a/man/man3/ctime.3 b/man/man3/ctime.3
index ef3ae11..8b2f041 100644
--- a/man/man3/ctime.3
+++ b/man/man3/ctime.3
@@ -81,9 +81,9 @@
 is not
 .BR GMT .
 .SH SOURCE
-.B /usr/local/plan9/src/lib9/date.c
+.B \*9/src/lib9/date.c
 .br
-.B /usr/local/plan9/src/lib9/ctime.c
+.B \*9/src/lib9/ctime.c
 .SH "SEE ALSO"
 .IR date (1),
 .IR time (3)
diff --git a/man/man3/des.3 b/man/man3/des.3
index 5d4d133..3c3cd20 100644
--- a/man/man3/des.3
+++ b/man/man3/des.3
@@ -130,7 +130,7 @@
 .IR key_setup .
 .PP
 .SH SOURCE
-.B /usr/local/plan9/src/libsec
+.B \*9/src/libsec
 .SH SEE ALSO
 .IR mp (3),
 .IR aes (3),
diff --git a/man/man3/dial.3 b/man/man3/dial.3
index 5110227..36364f3 100644
--- a/man/man3/dial.3
+++ b/man/man3/dial.3
@@ -299,11 +299,11 @@
 }
 .EE
 .SH SOURCE
-.B /usr/local/plan9/src/lib9/dial.c
+.B \*9/src/lib9/dial.c
 .br
-.B /usr/local/plan9/src/lib9/announce.c
+.B \*9/src/lib9/announce.c
 .br
-.B /usr/local/plan9/src/lib9/_p9dialparse.c
+.B \*9/src/lib9/_p9dialparse.c
 .SH DIAGNOSTICS
 .IR Dial ,
 .IR announce ,
diff --git a/man/man3/dirread.3 b/man/man3/dirread.3
index ac83edf..2522e9a 100644
--- a/man/man3/dirread.3
+++ b/man/man3/dirread.3
@@ -83,7 +83,7 @@
 .BR buf .
 The file offset is advanced by the number of bytes actually read.
 .SH SOURCE
-.B /usr/local/plan9/src/lib9/dirread.c
+.B \*9/src/lib9/dirread.c
 .SH SEE ALSO
 .IR intro (3),
 .IR open (3),
diff --git a/man/man3/disk.3 b/man/man3/disk.3
index 30e4440..bec50f2 100644
--- a/man/man3/disk.3
+++ b/man/man3/disk.3
@@ -163,7 +163,7 @@
 systems; the numbers bear little or no resemblance
 to reality.
 .SH SOURCE
-.B /usr/local/plan9/src/libdisk/disk.c
+.B \*9/src/libdisk/disk.c
 .SH SEE ALSO
 Plan 9's
 \fIfloppy\fR(3) and \fIsd\fR(3)
diff --git a/man/man3/draw.3 b/man/man3/draw.3
index be5e6c6..39f2b81 100644
--- a/man/man3/draw.3
+++ b/man/man3/draw.3
@@ -805,7 +805,7 @@
 .I on
 is non-zero.
 .SH SOURCE
-.B /usr/local/plan9/src/libdraw
+.B \*9/src/libdraw
 .SH SEE ALSO
 .IR graphics (3),
 .IR stringsize (3),
diff --git a/man/man3/dsa.3 b/man/man3/dsa.3
index f95ca77..c29d287 100644
--- a/man/man3/dsa.3
+++ b/man/man3/dsa.3
@@ -121,7 +121,7 @@
 .I dsasigfree
 are provided to manage signature storage.
 .SH SOURCE
-.B /usr/local/plan9/src/libsec
+.B \*9/src/libsec
 .SH SEE ALSO
 .IR mp (3),
 .IR aes (3),
diff --git a/man/man3/dup.3 b/man/man3/dup.3
index 3c7312d..a9378dc 100644
--- a/man/man3/dup.3
+++ b/man/man3/dup.3
@@ -26,7 +26,7 @@
 (closing any old file associated with
 .IR newfd ).
 .SH SOURCE
-.B /usr/local/plan9/src/lib9/dup.c
+.B \*9/src/lib9/dup.c
 .SH DIAGNOSTICS
 Sets
 .IR errstr .
diff --git a/man/man3/elgamal.3 b/man/man3/elgamal.3
index 204b85e..2fc75ac 100644
--- a/man/man3/elgamal.3
+++ b/man/man3/elgamal.3
@@ -111,7 +111,7 @@
 .I egsigfree
 are provided to manage signature storage.
 .SH SOURCE
-.B /usr/local/plan9/src/libsec
+.B \*9/src/libsec
 .SH SEE ALSO
 .IR mp (3),
 .IR aes (3),
diff --git a/man/man3/encode.3 b/man/man3/encode.3
index 44c6afd..fde8296 100644
--- a/man/man3/encode.3
+++ b/man/man3/encode.3
@@ -80,6 +80,6 @@
 
 .EE
 .SH SOURCE
-.B /usr/local/plan9/src/lib9/u32.c
+.B \*9/src/lib9/u32.c
 .br
-.B /usr/local/plan9/src/lib9/u64.c
+.B \*9/src/lib9/u64.c
diff --git a/man/man3/errstr.3 b/man/man3/errstr.3
index a0e6d3f..3964d8d 100644
--- a/man/man3/errstr.3
+++ b/man/man3/errstr.3
@@ -87,7 +87,7 @@
 will reset
 .IR errno .
 .SH SOURCE
-.B /usr/local/plan9/src/lib9/errstr.c
+.B \*9/src/lib9/errstr.c
 .SH DIAGNOSTICS
 .I Errstr
 always returns 0.
diff --git a/man/man3/event.3 b/man/man3/event.3
index e029981..5991a17 100644
--- a/man/man3/event.3
+++ b/man/man3/event.3
@@ -375,7 +375,7 @@
 .B c
 is nil, it restores the image to the default arrow.
 .SH SOURCE
-.B /usr/local/plan9/src/libdraw
+.B \*9/src/libdraw
 .SH "SEE ALSO"
 .IR rio (1),
 .IR graphics (3),
diff --git a/man/man3/exec.3 b/man/man3/exec.3
index 285af11..2c5b166 100644
--- a/man/man3/exec.3
+++ b/man/man3/exec.3
@@ -103,9 +103,9 @@
 (see
 .IR notify (3)).
 .SH SOURCE
-.B /usr/local/plan9/src/lib9/exec.c
+.B \*9/src/lib9/exec.c
 .br
-.B /usr/local/plan9/src/lib9/execl.c
+.B \*9/src/lib9/execl.c
 .SH SEE ALSO
 .IR prof (1),
 .IR intro (3),
diff --git a/man/man3/exits.3 b/man/man3/exits.3
index 95e2b93..62ea8d3 100644
--- a/man/man3/exits.3
+++ b/man/man3/exits.3
@@ -78,9 +78,9 @@
 .I Atexitdont
 cancels a previous registration of an exit function.
 .SH SOURCE
-.B /usr/local/plan9/src/lib9/atexit.c
+.B \*9/src/lib9/atexit.c
 .br
-.B /usr/local/plan9/src/lib9/_exits.c
+.B \*9/src/lib9/_exits.c
 .SH "SEE ALSO"
 .IR fork (2),
 .IR wait (3)
diff --git a/man/man3/fcall.3 b/man/man3/fcall.3
index 1143217..fe696a4 100644
--- a/man/man3/fcall.3
+++ b/man/man3/fcall.3
@@ -349,7 +349,7 @@
 The return value is 0 for end of file, or -1 for error; it does not return
 partial messages.
 .SH SOURCE
-.B /usr/local/plan9/src/lib9
+.B \*9/src/lib9
 .SH SEE ALSO
 .IR intro (3),
 .IR 9p (3),
diff --git a/man/man3/flate.3 b/man/man3/flate.3
index 8383539..e7594b3 100644
--- a/man/man3/flate.3
+++ b/man/man3/flate.3
@@ -204,4 +204,4 @@
 .I adler
 (that is, its value after seeing zero bytes) should be 1.
 .SH SOURCE
-.B /usr/local/plan9/src/libflate
+.B \*9/src/libflate
diff --git a/man/man3/fmtinstall.3 b/man/man3/fmtinstall.3
index 8a437f1..d279bc8 100644
--- a/man/man3/fmtinstall.3
+++ b/man/man3/fmtinstall.3
@@ -362,7 +362,7 @@
 }
 .EE
 .SH SOURCE
-.B /usr/local/plan9/src/lib9/fmt
+.B \*9/src/lib9/fmt
 .SH SEE ALSO
 .IR print (3),
 .IR utf (7),
diff --git a/man/man3/frame.3 b/man/man3/frame.3
index db004df..7dc9bc1 100644
--- a/man/man3/frame.3
+++ b/man/man3/frame.3
@@ -355,7 +355,7 @@
 and
 .IR p1 .
 .SH SOURCE
-.B /usr/local/plan9/src/libframe
+.B \*9/src/libframe
 .SH SEE ALSO
 .IR graphics (3),
 .IR draw (3),
diff --git a/man/man3/genrandom.3 b/man/man3/genrandom.3
index 761df86..bb6118c 100644
--- a/man/man3/genrandom.3
+++ b/man/man3/genrandom.3
@@ -38,6 +38,6 @@
 (see
 .IR mp (3)).
 .SH SOURCE
-.B /usr/local/plan9/src/libsec
+.B \*9/src/libsec
 .SH SEE ALSO
 .IR mp (3)
diff --git a/man/man3/get9root.3 b/man/man3/get9root.3
index 134f305..9c9ed26 100644
--- a/man/man3/get9root.3
+++ b/man/man3/get9root.3
@@ -13,7 +13,7 @@
 char*	unsharp(char *path)
 .SH DESCRIPTION
 This tree of Plan 9 software is conventionally installed in
-.B /usr/local/plan9
+.B \*9
 but may be installed in other places (for example, users without
 the ability to write to
 .B /usr/local
@@ -25,7 +25,7 @@
 returns a static pointer to the pathname of root, first checking
 .B $PLAN9
 and defaulting to
-.BR /usr/local/plan9 .
+.BR \*9 .
 .PP
 The lack of a fixed location for the Plan 9 tree
 makes it difficult to hard-code paths
@@ -65,7 +65,7 @@
 fd = open(unsharp(buf), OREAD);
 .EE
 .SH SOURCE
-.B /usr/local/plan9/src/lib9/getns.c
+.B \*9/src/lib9/getns.c
 .SH SEE ALSO
 .IR intro (4)
 .SH BUGS
diff --git a/man/man3/getcallerpc.3 b/man/man3/getcallerpc.3
index 8ad95a3..4815bc9 100644
--- a/man/man3/getcallerpc.3
+++ b/man/man3/getcallerpc.3
@@ -31,7 +31,7 @@
 }
 .EE
 .SH SOURCE
-.B /usr/local/plan9/src/lib9/
+.B \*9/src/lib9/
 .SH BUGS
 The 
 .I firstarg
diff --git a/man/man3/getenv.3 b/man/man3/getenv.3
index 4be92ec..a6d5795 100644
--- a/man/man3/getenv.3
+++ b/man/man3/getenv.3
@@ -30,7 +30,7 @@
 to
 .IR val .
 .SH SOURCE
-.B /usr/local/plan9/src/lib9/getenv.c
+.B \*9/src/lib9/getenv.c
 .SH DIAGNOSTICS
 Sets
 .IR errstr .
diff --git a/man/man3/getfields.3 b/man/man3/getfields.3
index 7805290..feaf10d 100644
--- a/man/man3/getfields.3
+++ b/man/man3/getfields.3
@@ -87,7 +87,7 @@
 .I delims
 set to \f5"\et\er\en "\fP.
 .SH SOURCE
-.B /usr/local/plan9/src/lib9/tokenize.c
+.B \*9/src/lib9/tokenize.c
 .SH SEE ALSO
 .I strtok
 in
diff --git a/man/man3/getns.3 b/man/man3/getns.3
index cc76f2b..b2e03f9 100644
--- a/man/man3/getns.3
+++ b/man/man3/getns.3
@@ -17,6 +17,6 @@
 .IR intro (4)
 for details.
 .SH SOURCE
-.B /usr/local/plan9/src/lib9/getns.c
+.B \*9/src/lib9/getns.c
 .SH SEE ALSO
 .IR intro (4)
diff --git a/man/man3/getsnarf.3 b/man/man3/getsnarf.3
index a90d595..1745634 100644
--- a/man/man3/getsnarf.3
+++ b/man/man3/getsnarf.3
@@ -34,4 +34,4 @@
 .I putsnarf
 will convert as necessary.
 .SH SOURCE
-.B /usr/local/plan9/src/libdraw/x11-itrans.c
+.B \*9/src/libdraw/x11-itrans.c
diff --git a/man/man3/getuser.3 b/man/man3/getuser.3
index a7ada46..41e78e3 100644
--- a/man/man3/getuser.3
+++ b/man/man3/getuser.3
@@ -47,6 +47,6 @@
 .I sysname
 caches the string, deriving the host name only once.
 .SH SOURCE
-.B /usr/local/plan9/src/lib9/getuser.c
+.B \*9/src/lib9/getuser.c
 .br
-.B /usr/local/plan9/src/lib9/sysname.c
+.B \*9/src/lib9/sysname.c
diff --git a/man/man3/getwd.3 b/man/man3/getwd.3
index d9aa02b..b68eea4 100644
--- a/man/man3/getwd.3
+++ b/man/man3/getwd.3
@@ -21,7 +21,7 @@
 .I size
 bytes in the buffer provided.
 .SH SOURCE
-.B /usr/local/plan9/src/lib9/getwd.c
+.B \*9/src/lib9/getwd.c
 .SH "SEE ALSO"
 .IR pwd (1),
 .SH DIAGNOSTICS
diff --git a/man/man3/graphics.3 b/man/man3/graphics.3
index 971303e..7e3a70b 100644
--- a/man/man3/graphics.3
+++ b/man/man3/graphics.3
@@ -617,7 +617,7 @@
 .SH FILES
 .BR /lib/font/bit "    directory of fonts
 .SH SOURCE
-.B /usr/local/plan9/src/libdraw
+.B \*9/src/libdraw
 .SH "SEE ALSO"
 .IR rio (1),
 .IR addpt (3),
diff --git a/man/man3/html.3 b/man/man3/html.3
index be239f7..7dc486a 100644
--- a/man/man3/html.3
+++ b/man/man3/html.3
@@ -1409,7 +1409,7 @@
 .B FRvscrollauto
 (the frame gets a vertical scrollbar only if required).
 .SH SOURCE
-.B /usr/local/plan9/src/libhtml
+.B \*9/src/libhtml
 .SH SEE ALSO
 .IR fmt (1)
 .PP
diff --git a/man/man3/intmap.3 b/man/man3/intmap.3
index 443f4e4..d0d3a82 100644
--- a/man/man3/intmap.3
+++ b/man/man3/intmap.3
@@ -120,7 +120,7 @@
 and
 .BR Reqpool s.
 .SH SOURCE
-.B /usr/local/plan9/src/lib9p/intmap.c
+.B \*9/src/lib9p/intmap.c
 .SH SEE ALSO
 .IR 9p (3),
 .IR 9pfid (3).
diff --git a/man/man3/ioproc.3 b/man/man3/ioproc.3
index 5c3ebda..2d5bbd7 100644
--- a/man/man3/ioproc.3
+++ b/man/man3/ioproc.3
@@ -185,7 +185,7 @@
 }
 .EE
 .SH SOURCE
-.B /usr/local/plan9/src/libthread
+.B \*9/src/libthread
 .SH SEE ALSO
 .IR dial (3),
 .IR open (3),
diff --git a/man/man3/ip.3 b/man/man3/ip.3
index c31c294..2d9e828 100644
--- a/man/man3/ip.3
+++ b/man/man3/ip.3
@@ -338,6 +338,6 @@
 the remote address if the network is
 point to point.
 .SH SOURCE
-.B /usr/local/plan9/src/libip
+.B \*9/src/libip
 .SH SEE ALSO
 .IR print (3)
diff --git a/man/man3/isalpharune.3 b/man/man3/isalpharune.3
index 78bc4e6..7b5cf30 100644
--- a/man/man3/isalpharune.3
+++ b/man/man3/isalpharune.3
@@ -45,7 +45,7 @@
 .PP
 The case-conversion routines return the character unchanged if it has no case.
 .SH SOURCE
-.B /usr/local/plan9/src/lib9/utf/runetype.c
+.B \*9/src/lib9/utf/runetype.c
 .SH "SEE ALSO
 .IR isalpha (3) ,
 .IR "The Unicode Standard" .
diff --git a/man/man3/keyboard.3 b/man/man3/keyboard.3
index f341e50..4641b86 100644
--- a/man/man3/keyboard.3
+++ b/man/man3/keyboard.3
@@ -84,7 +84,7 @@
 structure.
 .PP
 .SH SOURCE
-.B /usr/local/plan9/src/libdraw
+.B \*9/src/libdraw
 .SH SEE ALSO
 .IR graphics (3),
 .IR draw (3),
diff --git a/man/man3/lock.3 b/man/man3/lock.3
index 9034229..4308e36 100644
--- a/man/man3/lock.3
+++ b/man/man3/lock.3
@@ -193,9 +193,9 @@
 .B Ref
 and returns zero if the resulting value is zero, non-zero otherwise.
 .SH SOURCE
-.B /usr/local/plan9/src/lib9/qlock.c
+.B \*9/src/lib9/qlock.c
 .br
-.B /usr/local/plan9/src/libthread
+.B \*9/src/libthread
 .SH BUGS
 .B Locks
 are not always spin locks.
diff --git a/man/man3/mach-cmd.3 b/man/man3/mach-cmd.3
index 202ca39..ac6b3bb 100644
--- a/man/man3/mach-cmd.3
+++ b/man/man3/mach-cmd.3
@@ -131,7 +131,7 @@
 .I attachargs
 fills them in as best it can.
 .SH SOURCE
-.B /usr/local/plan9/src/libmach
+.B \*9/src/libmach
 .SH "SEE ALSO
 .IR mach (3),
 .IR mach-file (3),
diff --git a/man/man3/mach-file.3 b/man/man3/mach-file.3
index 17911ec..19a10b8 100644
--- a/man/man3/mach-file.3
+++ b/man/man3/mach-file.3
@@ -164,7 +164,7 @@
 .IR malloc (3))
 when no longer needed.
 .SH SOURCE
-.B /usr/local/plan9/src/libmach
+.B \*9/src/libmach
 .SH "SEE ALSO"
 .IR mach (3),
 .IR mach-map (3)
diff --git a/man/man3/mach-map.3 b/man/man3/mach-map.3
index 2fc8cc7..45f48e7 100644
--- a/man/man3/mach-map.3
+++ b/man/man3/mach-map.3
@@ -395,7 +395,7 @@
 .I rput
 function families as necessary.
 .SH SOURCE
-.B /usr/local/plan9/src/libmach
+.B \*9/src/libmach
 .SH "SEE ALSO"
 .IR mach (3),
 .IR mach-file (3)
diff --git a/man/man3/mach-stack.3 b/man/man3/mach-stack.3
index caae6bf..d75f641 100644
--- a/man/man3/mach-stack.3
+++ b/man/man3/mach-stack.3
@@ -178,7 +178,7 @@
 		print("no stack frame\n");
 .RE
 .SH SOURCE
-.B /usr/local/plan9/src/libmach
+.B \*9/src/libmach
 .SH SEE ALSO
 .IR mach (3)
 .SH BUGS
diff --git a/man/man3/mach-swap.3 b/man/man3/mach-swap.3
index 50271f6..eb6091f 100644
--- a/man/man3/mach-swap.3
+++ b/man/man3/mach-swap.3
@@ -112,6 +112,6 @@
 and low 32-bits are in
 .IR lo .
 .SH SOURCE
-.B /usr/local/plan9/src/libmach
+.B \*9/src/libmach
 .SH "SEE ALSO"
 .IR mach (3)
diff --git a/man/man3/mach-symbol.3 b/man/man3/mach-symbol.3
index c74ae8e..e14a7b2 100644
--- a/man/man3/mach-symbol.3
+++ b/man/man3/mach-symbol.3
@@ -369,7 +369,7 @@
 in the system error buffer where it is available via
 .IR errstr .
 .SH SOURCE
-.B /usr/local/plan9/src/libmach
+.B \*9/src/libmach
 .SH "SEE ALSO"
 .IR mach (3),
 .IR mach-file (3),
diff --git a/man/man3/mach.3 b/man/man3/mach.3
index 1814789..9c065d0 100644
--- a/man/man3/mach.3
+++ b/man/man3/mach.3
@@ -87,7 +87,7 @@
 .IR Mach-symbol (3)
 describes the interface to debugging symbol information.
 .SH SOURCE
-.B /usr/local/plan9/src/libmach
+.B \*9/src/libmach
 .SH "SEE ALSO
 .IR mach-file (3),
 .IR mach-map (3),
diff --git a/man/man3/malloc.3 b/man/man3/malloc.3
index 01493c7..8b79247 100644
--- a/man/man3/malloc.3
+++ b/man/man3/malloc.3
@@ -126,9 +126,9 @@
 to provide more useful information about
 the source of allocation.
 .SH SOURCE
-.B /usr/local/plan9/src/lib9/malloc.c
+.B \*9/src/lib9/malloc.c
 .br
-.B /usr/local/plan9/src/lib9/malloctag.c
+.B \*9/src/lib9/malloctag.c
 .SH SEE ALSO
 .I trump
 (in
diff --git a/man/man3/matrix.3 b/man/man3/matrix.3
index 87ba34c..7291725 100644
--- a/man/man3/matrix.3
+++ b/man/man3/matrix.3
@@ -345,6 +345,6 @@
 .I z
 coordinates.
 .SH SOURCE
-.B /usr/local/plan9/src/libgeometry/matrix.c
+.B \*9/src/libgeometry/matrix.c
 .SH "SEE ALSO
 .IR arith3 (3)
diff --git a/man/man3/memdraw.3 b/man/man3/memdraw.3
index 4b59428..969fee0 100644
--- a/man/man3/memdraw.3
+++ b/man/man3/memdraw.3
@@ -433,7 +433,7 @@
 .I iprint
 prints to a serial line rather than the screen, for obvious reasons.
 .SH SOURCE
-.B /usr/local/plan9/src/libdraw
+.B \*9/src/libdraw
 .SH SEE ALSO
 .IR addpt (3),
 .IR color (3),
diff --git a/man/man3/memlayer.3 b/man/man3/memlayer.3
index 90e63e5..57ab8af 100644
--- a/man/man3/memlayer.3
+++ b/man/man3/memlayer.3
@@ -296,7 +296,7 @@
 (see
 .IR image (7)).
 .SH SOURCE
-.B /usr/local/plan9/src/libdraw
+.B \*9/src/libdraw
 .SH SEE ALSO
 .IR graphics (3),
 .IR memdraw (3),
diff --git a/man/man3/memory.3 b/man/man3/memory.3
index 746dc7d..51e5447 100644
--- a/man/man3/memory.3
+++ b/man/man3/memory.3
@@ -105,9 +105,9 @@
 .IR s .
 .SH SOURCE
 All these routines have portable C implementations in
-.BR /usr/local/plan9/src/lib9 .
+.BR \*9/src/lib9 .
 .\" Most also have machine-dependent assembly language implementations in
-.\" .BR /usr/local/plan9/lib9/$objtype .
+.\" .BR \*9/lib9/$objtype .
 .SH SEE ALSO
 .IR strcat (3)
 .SH BUGS
diff --git a/man/man3/mouse.3 b/man/man3/mouse.3
index 8d2eca2..216c72b 100644
--- a/man/man3/mouse.3
+++ b/man/man3/mouse.3
@@ -240,7 +240,7 @@
 restoring the display when the menu is removed.
 .PP
 .SH SOURCE
-.B /usr/local/plan9/src/libdraw
+.B \*9/src/libdraw
 .SH SEE ALSO
 .IR graphics (3),
 .IR draw (3),
diff --git a/man/man3/mousescrollsize.3 b/man/man3/mousescrollsize.3
index 915a6bb..9814735 100644
--- a/man/man3/mousescrollsize.3
+++ b/man/man3/mousescrollsize.3
@@ -33,7 +33,7 @@
 .IR acme (1)
 to set their scrolling behavior.
 .SH SOURCE
-.B /usr/local/plan9/src/libdraw/scroll.c
+.B \*9/src/libdraw/scroll.c
 .SH SEE ALSO
 .IR 9term (1),
 .IR acme (1)
diff --git a/man/man3/mp.3 b/man/man3/mp.3
index 9a4ed84..c4ecb37 100644
--- a/man/man3/mp.3
+++ b/man/man3/mp.3
@@ -580,4 +580,4 @@
 returns the factorial of
 .IR n .
 .SH SOURCE
-.B /usr/local/plan9/src/libmp
+.B \*9/src/libmp
diff --git a/man/man3/mux.3 b/man/man3/mux.3
index cc8de4d..e36763d 100644
--- a/man/man3/mux.3
+++ b/man/man3/mux.3
@@ -131,7 +131,7 @@
 that need to remain active.
 .SH EXAMPLE
 See
-.B /usr/local/plan9/src/lib9pclient/fs.c
+.B \*9/src/lib9pclient/fs.c
 for an example of using 
 .I libmux
 with
@@ -139,7 +139,7 @@
 (see
 .IR intro (9p)).
 .SH SOURCE
-.B /usr/local/plan9/src/libmux
+.B \*9/src/libmux
 .SH SEE ALSO
 .IR thread (3),
 .IR intro (9p)
diff --git a/man/man3/nan.3 b/man/man3/nan.3
index 69777e5..9590579 100644
--- a/man/man3/nan.3
+++ b/man/man3/nan.3
@@ -41,4 +41,4 @@
 returns true if its first argument is infinity
 with the same sign as the second argument.
 .SH SOURCE
-.B /usr/local/plan9/src/lib9/nan.c
+.B \*9/src/lib9/nan.c
diff --git a/man/man3/needstack.3 b/man/man3/needstack.3
index 31588f6..cf13809 100644
--- a/man/man3/needstack.3
+++ b/man/man3/needstack.3
@@ -50,7 +50,7 @@
 The X Window library implementation of
 .I XLookupString
 allocates some very large buffers on the stack, so
-.B /usr/local/plan9/src/libdraw/x11-itrans.c
+.B \*9/src/libdraw/x11-itrans.c
 calls
 .B needstack(20*1024)
 before making calls to
@@ -62,8 +62,8 @@
 does not allocate a large enough stack, the problem is diagnosed
 immediately rather than left to corrupt memory.
 .SH SOURCE
-.B /usr/local/plan9/src/lib9/needstack.c
+.B \*9/src/lib9/needstack.c
 .br
-.B /usr/local/plan9/src/libthread
+.B \*9/src/libthread
 .SH SEE ALSO
 .IR thread (3)
diff --git a/man/man3/notify.3 b/man/man3/notify.3
index 41b8452..616c655 100644
--- a/man/man3/notify.3
+++ b/man/man3/notify.3
@@ -221,7 +221,7 @@
 .RE
 .PP
 See
-.B /usr/local/plan9/src/lib9/await.c
+.B \*9/src/lib9/await.c
 (sic)
 for the full list.
 .PP
@@ -229,9 +229,9 @@
 .B sys:
 are usually generated by the operating system.
 .SH SOURCE
-.B /usr/local/plan9/src/lib9/notify.c
+.B \*9/src/lib9/notify.c
 .br
-.B /usr/local/plan9/src/lib9/atnotify.c
+.B \*9/src/lib9/atnotify.c
 .SH SEE ALSO
 .IR intro (3),
 .I notejmp
diff --git a/man/man3/open.3 b/man/man3/open.3
index b964cc9..51ff2cd 100644
--- a/man/man3/open.3
+++ b/man/man3/open.3
@@ -138,7 +138,7 @@
 .I close
 allows the file descriptor to be reused.
 .SH SOURCE
-.B /usr/local/plan9/src/lib9
+.B \*9/src/lib9
 .SH SEE ALSO
 .IR intro (3),
 .IR stat (3)
diff --git a/man/man3/opentemp.3 b/man/man3/opentemp.3
index 23e77d3..6177b44 100644
--- a/man/man3/opentemp.3
+++ b/man/man3/opentemp.3
@@ -41,7 +41,7 @@
 .I opentemp
 will never return the same name.
 .SH SOURCE
-.B /usr/local/plan9/src/lib9/opentemp.c
+.B \*9/src/lib9/opentemp.c
 .SH "SEE ALSO
 .I create
 in
diff --git a/man/man3/pipe.3 b/man/man3/pipe.3
index 993e33a..10decb6 100644
--- a/man/man3/pipe.3
+++ b/man/man3/pipe.3
@@ -57,7 +57,7 @@
 will return 0 bytes.  Writes to a pipe with no reader will generate a note
 .BR "sys: write on closed pipe" .
 .SH SOURCE
-.B /usr/local/plan9/src/lib9/pipe.c
+.B \*9/src/lib9/pipe.c
 .SH SEE ALSO
 .IR intro (3),
 .IR read (3)
diff --git a/man/man3/plumb.3 b/man/man3/plumb.3
index c988bba..970919a 100644
--- a/man/man3/plumb.3
+++ b/man/man3/plumb.3
@@ -259,7 +259,7 @@
 .I lib9pclient
 that preserves the exact error details.
 .SH SOURCE
-.B /usr/local/plan9/src/libplumb
+.B \*9/src/libplumb
 .SH SEE ALSO
 .IR plumb (1),
 .IR event (3),
diff --git a/man/man3/post9pservice.3 b/man/man3/post9pservice.3
index 74404c1..9ea6945 100644
--- a/man/man3/post9pservice.3
+++ b/man/man3/post9pservice.3
@@ -26,4 +26,4 @@
 .IR intro (4),
 .IR 9pserve (4)
 .SH SOURCE
-.B /usr/local/plan9/src/lib9/post9p.c
+.B \*9/src/lib9/post9p.c
diff --git a/man/man3/postnote.3 b/man/man3/postnote.3
index 535c7e6..1bf10ee 100644
--- a/man/man3/postnote.3
+++ b/man/man3/postnote.3
@@ -38,7 +38,7 @@
 If the write is successful, zero is returned.
 Otherwise \-1 is returned.
 .SH SOURCE
-.B /usr/local/plan9/src/lib9/postnote.c
+.B \*9/src/lib9/postnote.c
 .SH "SEE ALSO"
 .IR notify (3),
 .IR intro (3)
diff --git a/man/man3/prime.3 b/man/man3/prime.3
index 9a59573..01a308e 100644
--- a/man/man3/prime.3
+++ b/man/man3/prime.3
@@ -91,7 +91,7 @@
 can later confirm the computation.  Be patient; this is a
 slow algorithm.
 .SH SOURCE
-.B /usr/local/plan9/src/libsec
+.B \*9/src/libsec
 .SH SEE ALSO
 .IR aes (3)
 .IR blowfish (3),
diff --git a/man/man3/proto.3 b/man/man3/proto.3
index ab8d304..fcd3904 100644
--- a/man/man3/proto.3
+++ b/man/man3/proto.3
@@ -125,7 +125,7 @@
 .B /sys/lib/sysconfig/proto/portproto
 generic prototype file.
 .SH SOURCE
-.B /usr/local/plan9/src/libdisk/proto.c
+.B \*9/src/libdisk/proto.c
 .SH SEE ALSO
 .IR mk9660 (8),
 Plan 9's \fImkfs\fR(8)
diff --git a/man/man3/pushtls.3 b/man/man3/pushtls.3
index b92dcb6..5af31d7 100644
--- a/man/man3/pushtls.3
+++ b/man/man3/pushtls.3
@@ -173,7 +173,7 @@
 .SH SOURCE
 .\" .B /sys/src/libc/9sys/pushtls.c
 .\" .br
-.B /usr/local/plan9/src/libsec/port
+.B \*9/src/libsec/port
 .SH "SEE ALSO"
 .IR dial (3),
 .IR thumbprint (7);
diff --git a/man/man3/qball.3 b/man/man3/qball.3
index 8d27f21..5929ece 100644
--- a/man/man3/qball.3
+++ b/man/man3/qball.3
@@ -66,7 +66,7 @@
 the nearest point also on the plane through the sphere's center
 and normal to the axis.
 .SH SOURCE
-.B /usr/local/plan9/src/libgeometry/qball.c
+.B \*9/src/libgeometry/qball.c
 .SH SEE ALSO
 .IR quaternion (3)
 .br
diff --git a/man/man3/quaternion.3 b/man/man3/quaternion.3
index 31f4ab5..941df24 100644
--- a/man/man3/quaternion.3
+++ b/man/man3/quaternion.3
@@ -146,7 +146,7 @@
 This is just a rotation about the same axis by half the angle.
 .PD
 .SH SOURCE
-.B /usr/local/plan9/src/libgeometry/quaternion.c
+.B \*9/src/libgeometry/quaternion.c
 .SH SEE ALSO
 .IR matrix (3),
 .IR qball (3)
diff --git a/man/man3/quote.3 b/man/man3/quote.3
index 5a4c8d1..7e547c0 100644
--- a/man/man3/quote.3
+++ b/man/man3/quote.3
@@ -157,9 +157,9 @@
 .IR print (3)
 format strings.
 .SH SOURCE
-.B /usr/local/plan9/src/lib9/quote.c
+.B \*9/src/lib9/quote.c
 .br
-.B /usr/local/plan9/src/lib9/fmt/fmtquote.c
+.B \*9/src/lib9/fmt/fmtquote.c
 .SH "SEE ALSO
 .IR rc (1),
 .IR malloc (3),
diff --git a/man/man3/rand.3 b/man/man3/rand.3
index 25ea8a4..d6032d8 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 /usr/local/plan9/src/lib9/
+.B \*9/src/lib9/
 .br
-.B /usr/local/plan9/src/libsec/port/
+.B \*9/src/libsec/port/
 .SH "SEE ALSO
 .\" .IR cons (3),
 .IR mp (3)
diff --git a/man/man3/rc4.3 b/man/man3/rc4.3
index ba848d9..026c835 100644
--- a/man/man3/rc4.3
+++ b/man/man3/rc4.3
@@ -41,7 +41,7 @@
 .I RC4state
 structure keeps track of the algorithm.
 .SH SOURCE
-.B /usr/local/plan9/src/libsec
+.B \*9/src/libsec
 .SH SEE ALSO
 .IR mp (3),
 .IR aes (3),
diff --git a/man/man3/read.3 b/man/man3/read.3
index 34e65c6..cd4dbf3 100644
--- a/man/man3/read.3
+++ b/man/man3/read.3
@@ -81,7 +81,7 @@
 read and write operations on the same file descriptor
 without interference.
 .SH SOURCE
-.B /usr/local/plan9/src/lib9/readn.c
+.B \*9/src/lib9/readn.c
 .SH SEE ALSO
 .IR intro (3),
 .IR open (3), 
diff --git a/man/man3/readcolmap.3 b/man/man3/readcolmap.3
index 51753c5..82ccdcfd 100644
--- a/man/man3/readcolmap.3
+++ b/man/man3/readcolmap.3
@@ -69,7 +69,7 @@
 which is described in 
 .IR color (7).
 .SH SOURCE
-.B /usr/local/plan9/src/libdraw
+.B \*9/src/libdraw
 .SH "SEE ALSO"
 .IR graphics (3),
 .IR draw (3),
diff --git a/man/man3/regexp.3 b/man/man3/regexp.3
index 2d3c1a2..06733aa 100644
--- a/man/man3/regexp.3
+++ b/man/man3/regexp.3
@@ -194,7 +194,7 @@
 .I match
 array elements should be used.
 .SH SOURCE
-.B /usr/local/plan9/src/libregexp
+.B \*9/src/libregexp
 .SH "SEE ALSO"
 .IR grep (1)
 .SH DIAGNOSTICS
diff --git a/man/man3/regexp9.3 b/man/man3/regexp9.3
index dc5e434..12e9b71 100644
--- a/man/man3/regexp9.3
+++ b/man/man3/regexp9.3
@@ -194,7 +194,7 @@
 .I match
 array elements should be used.
 .SH SOURCE
-.B /usr/local/plan9/src/libregexp
+.B \*9/src/libregexp
 .SH "SEE ALSO"
 .IR grep (1)
 .SH DIAGNOSTICS
diff --git a/man/man3/rfork.3 b/man/man3/rfork.3
index 12cedda..d1d383c 100644
--- a/man/man3/rfork.3
+++ b/man/man3/rfork.3
@@ -156,7 +156,7 @@
 is equivalent to calling
 .IR fork (2).
 .SH SOURCE
-.B /usr/local/plan9/src/lib9/rfork.c
+.B \*9/src/lib9/rfork.c
 .SH DIAGNOSTICS
 .I Rfork
 sets
diff --git a/man/man3/rsa.3 b/man/man3/rsa.3
index c0b0fe9..0c1396a 100644
--- a/man/man3/rsa.3
+++ b/man/man3/rsa.3
@@ -239,7 +239,7 @@
 };
 .EE
 .SH SOURCE
-.B /usr/local/plan9/src/libsec
+.B \*9/src/libsec
 .SH SEE ALSO
 .IR mp (3),
 .IR aes (3),
diff --git a/man/man3/rune.3 b/man/man3/rune.3
index bc3dbe8..62c89dd 100644
--- a/man/man3/rune.3
+++ b/man/man3/rune.3
@@ -182,9 +182,9 @@
 returns
 .IR s1 .
 .SH SOURCE
-.B /usr/local/plan9/src/lib9/utf/rune.c
+.B \*9/src/lib9/utf/rune.c
 .br
-.B /usr/local/plan9/src/lib9/utf/utfrune.c
+.B \*9/src/lib9/utf/utfrune.c
 .SH SEE ALSO
 .IR utf (7),
 .IR tcs (1)
diff --git a/man/man3/runestrcat.3 b/man/man3/runestrcat.3
index dadcbcd..347c721 100644
--- a/man/man3/runestrcat.3
+++ b/man/man3/runestrcat.3
@@ -58,7 +58,7 @@
 the corresponding functions in 
 .IR strcat (3).
 .SH SOURCE
-.B /usr/local/plan9/src/lib9
+.B \*9/src/lib9
 .SH SEE ALSO
 .IR memory (3),
 .IR rune (3),
diff --git a/man/man3/scsi.3 b/man/man3/scsi.3
index 5b6f24c..d4f0d04 100644
--- a/man/man3/scsi.3
+++ b/man/man3/scsi.3
@@ -178,7 +178,7 @@
 consulted by
 .BR scsierror .
 .SH SOURCE
-.B /usr/local/plan9/src/libdisk/scsi.c
+.B \*9/src/libdisk/scsi.c
 .SH SEE ALSO
 Plan 9's
 \fIsd\fR(3) and
diff --git a/man/man3/sechash.3 b/man/man3/sechash.3
index 9f9f58e..a6f2c0e 100644
--- a/man/man3/sechash.3
+++ b/man/man3/sechash.3
@@ -140,7 +140,7 @@
 .IR malloc (3)'d
 object.
 .SH SOURCE
-.B /usr/local/plan9/src/libsec
+.B \*9/src/libsec
 .SH SEE ALSO
 .IR aes (3),
 .IR blowfish (3),
diff --git a/man/man3/seek.3 b/man/man3/seek.3
index 2ce4cff..e6435f4 100644
--- a/man/man3/seek.3
+++ b/man/man3/seek.3
@@ -37,7 +37,7 @@
 Seeking in a directory is not allowed.
 Seeking in a pipe is a no-op.
 .SH SOURCE
-.B /usr/local/plan9/src/lib9/seek.c
+.B \*9/src/lib9/seek.c
 .SH SEE ALSO
 .IR intro (3),
 .IR open (3)
diff --git a/man/man3/sendfd.3 b/man/man3/sendfd.3
index 8090dfc..771bd9a 100644
--- a/man/man3/sendfd.3
+++ b/man/man3/sendfd.3
@@ -49,7 +49,7 @@
 between processes, but the kernel structure it represents
 will not.
 .SH SOURCE
-.B /usr/local/plan9/src/lib9/sendfd.c
+.B \*9/src/lib9/sendfd.c
 .SH SEE ALSO
 .IR socketpair (2),
 .I sendmsg
diff --git a/man/man3/setjmp.3 b/man/man3/setjmp.3
index 0ed7845..e2af559 100644
--- a/man/man3/setjmp.3
+++ b/man/man3/setjmp.3
@@ -86,7 +86,7 @@
 }
 .EE
 .SH SOURCE
-.B /usr/local/plan9/src/lib9/jmp.c
+.B \*9/src/lib9/jmp.c
 .SH SEE ALSO
 .IR notify (3)
 .SH BUGS
diff --git a/man/man3/sleep.3 b/man/man3/sleep.3
index da2e695..7df6c33 100644
--- a/man/man3/sleep.3
+++ b/man/man3/sleep.3
@@ -37,7 +37,7 @@
 The return value is the amount of time previously remaining in
 the alarm clock.
 .SH SOURCE
-.B /usr/local/plan9/src/lib9/sleep.c
+.B \*9/src/lib9/sleep.c
 .SH SEE ALSO
 .IR intro (3)
 .SH DIAGNOSTICS
diff --git a/man/man3/stat.3 b/man/man3/stat.3
index 03f3abe..ff2ac25 100644
--- a/man/man3/stat.3
+++ b/man/man3/stat.3
@@ -277,7 +277,7 @@
 .I stat
 to retrieve the initial values first.
 .SH SOURCE
-.B /usr/local/plan9/src/lib9/dirstat.c
+.B \*9/src/lib9/dirstat.c
 .SH SEE ALSO
 .IR intro (3),
 .IR fcall (3),
diff --git a/man/man3/strcat.3 b/man/man3/strcat.3
index 8fcf2ca..2baa909 100644
--- a/man/man3/strcat.3
+++ b/man/man3/strcat.3
@@ -242,7 +242,7 @@
 .I Cistrstr
 operates analogously, but ignores ASCII case differences when comparing strings.
 .SH SOURCE
-.B /usr/local/plan9/src/lib9
+.B \*9/src/lib9
 .SH SEE ALSO
 .IR memory (3),
 .IR rune (3),
diff --git a/man/man3/string.3 b/man/man3/string.3
index 0b39d5c..e17906b 100644
--- a/man/man3/string.3
+++ b/man/man3/string.3
@@ -266,6 +266,6 @@
 has been read.
 The input stack has a maximum depth of 32 nested include files.
 .SH SOURCE
-.B /usr/local/plan9/src/libString
+.B \*9/src/libString
 .SH SEE ALSO
 .IR bio (3)
diff --git a/man/man3/stringsize.3 b/man/man3/stringsize.3
index 448df99..cbf1545 100644
--- a/man/man3/stringsize.3
+++ b/man/man3/stringsize.3
@@ -55,7 +55,7 @@
 .SH FILES
 .BR /lib/font/bit "    directory of fonts
 .SH SOURCE
-.B /usr/local/plan9/src/libdraw
+.B \*9/src/libdraw
 .SH "SEE ALSO"
 .IR addpt (3),
 .IR cachechars (3),
diff --git a/man/man3/subfont.3 b/man/man3/subfont.3
index 4933c0d..b3ca89c 100644
--- a/man/man3/subfont.3
+++ b/man/man3/subfont.3
@@ -222,7 +222,7 @@
 .B /lib/font/bit
 bitmap font file tree
 .SH SOURCE
-.B /usr/local/plan9/src/libdraw
+.B \*9/src/libdraw
 .SH SEE ALSO
 .IR graphics (3),
 .IR allocimage (3),
diff --git a/man/man3/sysfatal.3 b/man/man3/sysfatal.3
index ea1a3df..615e39f 100644
--- a/man/man3/sysfatal.3
+++ b/man/man3/sysfatal.3
@@ -29,7 +29,7 @@
 .B argv0
 is null, it is ignored and the following colon and space are suppressed.
 .SH SOURCE
-.B /usr/local/plan9/src/lib9/sysfatal.c
+.B \*9/src/lib9/sysfatal.c
 .SH "SEE ALSO"
 .IR intro (3),
 .IR errstr (3),
diff --git a/man/man3/thread.3 b/man/man3/thread.3
index 05c1902..50bcb4e 100644
--- a/man/man3/thread.3
+++ b/man/man3/thread.3
@@ -643,15 +643,15 @@
 .\" group with
 .\" .IR rfork .
 .SH FILES
-.B /usr/local/plan9/acid/thread
+.B \*9/acid/thread
 contains useful
 .IR acid (1)
 functions for debugging threaded programs.
 .PP
-.B /usr/local/plan9/src/libthread/test
+.B \*9/src/libthread/test
 contains some example programs.
 .SH SOURCE
-.B /usr/local/plan9/src/libthread
+.B \*9/src/libthread
 .SH SEE ALSO
 .IR intro (3),
 .IR ioproc (3)
@@ -661,8 +661,8 @@
 to link the thread library, resulting in the unintelligible error:
 .IP
 .EX
-/usr/local/plan9/lib/lib9.a(main.o)(.text+0x17): In function `main':
-/usr/local/plan9/src/lib9/main.c:10: undefined reference to `p9main'
+\*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,
diff --git a/man/man3/time.3 b/man/man3/time.3
index 6f3cbcd..9bf2db3 100644
--- a/man/man3/time.3
+++ b/man/man3/time.3
@@ -27,7 +27,7 @@
 .BI * tp
 is also set to the answer.
 .SH SOURCE
-.B /usr/local/plan9/src/lib9/time.c
+.B \*9/src/lib9/time.c
 .SH DIAGNOSTICS
 These functions set
 .IR errstr .
diff --git a/man/man3/udpread.3 b/man/man3/udpread.3
index 3a0a7ea..1141259 100644
--- a/man/man3/udpread.3
+++ b/man/man3/udpread.3
@@ -63,6 +63,6 @@
 .I udpwrite
 to send a response back to the sender of the original packet.
 .SH SOURCE
-.B /usr/local/plan9/src/lib9/udp.c
+.B \*9/src/lib9/udp.c
 .SH SEE ALSO
 .IR ip (3)
diff --git a/man/man3/wait.3 b/man/man3/wait.3
index 03b55bf..445f29c 100644
--- a/man/man3/wait.3
+++ b/man/man3/wait.3
@@ -135,9 +135,9 @@
 returns
 .BR -1 .
 .SH SOURCE
-.B /usr/local/plan9/src/lib9/wait.c
+.B \*9/src/lib9/wait.c
 .PP
-.B /usr/local/plan9/src/lib9/await.c
+.B \*9/src/lib9/await.c
 .SH "SEE ALSO"
 .IR rfork (3),
 .IR exits (3),
diff --git a/man/man3/wctl.3 b/man/man3/wctl.3
index dfed6fc..9addaeb 100644
--- a/man/man3/wctl.3
+++ b/man/man3/wctl.3
@@ -34,6 +34,6 @@
 requests that the program's window be moved
 above all other windows and given the input focus.
 .SH SOURCE
-.B /usr/local/plan9/src/libdraw/x11-init.c
+.B \*9/src/libdraw/x11-init.c
 .br
-.B /usr/local/plan9/src/libdraw/x11-wsys.c
+.B \*9/src/libdraw/x11-wsys.c
diff --git a/man/man3/window.3 b/man/man3/window.3
index 6f14060..5825044 100644
--- a/man/man3/window.3
+++ b/man/man3/window.3
@@ -232,7 +232,7 @@
 is translated to the origin and there will be no way to discover the
 actual screen position of the window unless it is recorded separately.
 .SH SOURCE
-.B /usr/local/plan9/src/libdraw
+.B \*9/src/libdraw
 .SH SEE ALSO
 .IR graphics (3),
 .IR draw (3),