Merge branch '9fans:master' into master

This commit is contained in:
Peter Mikkelsen 2022-03-01 16:45:52 +01:00 committed by GitHub
commit eec0d7a370
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
476 changed files with 3001 additions and 6536 deletions

305
.gitignore vendored
View file

@ -1,25 +1,296 @@
plan9.log
plan9-reverse.log
state
state.old
state.journal
*.o
*.a
man/man?/*.html
src/**/o.*
y.tab.[ch]
src/cmd/rc/x.tab.h
unix/*.tgz
bin/
log/
dict/
postscript/font/
sky/here
sky/*.scat
*.o
*.orig
LOCAL.config
bin/"
bin/""
bin/9660srv
bin/9import
bin/9p
bin/9pfuse
bin/9pserve
bin/9term
bin/Mail
bin/Netfiles
bin/acid
bin/acidtypes
bin/acme
bin/acmeevent
bin/aescbc
bin/ascii
bin/asn12dsa
bin/asn12rsa
bin/astro
bin/auxclog
bin/auxstats
bin/awk
bin/basename
bin/bc
bin/bmp
bin/bunzip2
bin/bzip2
bin/cal
bin/calendar
bin/cat
bin/cb
bin/cleanname
bin/clock
bin/cmapcube
bin/cmp
bin/col
bin/colors
bin/comm
bin/compress
bin/core
bin/crop
bin/date
bin/db
bin/dc
bin/dd
bin/delatex
bin/deroff
bin/devdraw
bin/dial
bin/dict
bin/diff
bin/disk/mkext
bin/disk/mkfs
bin/disknfs
bin/dns
bin/dnsdebug
bin/dnsquery
bin/dnstcp
bin/dsa2pub
bin/dsa2ssh
bin/dsagen
bin/dsasign
bin/du
bin/dump9660
bin/echo
bin/ed
bin/eqn
bin/factor
bin/factotum
bin/file
bin/fmt
bin/fontsrv
bin/fortune
bin/fossil/conf
bin/fossil/flchk
bin/fossil/flfmt
bin/fossil/fossil
bin/fossil/last
bin/fossil/view
bin/freq
bin/fs/32vfs
bin/fs/cpiofs
bin/fs/tapfs
bin/fs/tarfs
bin/fs/tpfs
bin/fs/v10fs
bin/fs/v6fs
bin/fs/zipfs
bin/fsize
bin/getflags
bin/gif
bin/grap
bin/graph
bin/grep
bin/gunzip
bin/gview
bin/gzip
bin/hget
bin/hist
bin/hoc
bin/htmlfmt
bin/htmlroff
bin/ico
bin/iconv
bin/idiff
bin/img
bin/import
bin/join
bin/jpg
bin/lex
bin/listen1
bin/look
bin/ls
bin/macargv
bin/mapd
bin/mc
bin/md5sum
bin/mk
bin/mk9660
bin/mkdir
bin/mklatinkbd
bin/mtime
bin/namespace
bin/ndbipquery
bin/ndbmkdb
bin/ndbmkhash
bin/ndbmkhosts
bin/ndbquery
bin/netfileget
bin/netfilelib.rc
bin/netfileput
bin/netfilestat
bin/netkey
bin/news
bin/p
bin/page
bin/paint
bin/passwd
bin/pbd
bin/pemdecode
bin/pemencode
bin/pic
bin/plot
bin/plumb
bin/plumber
bin/png
bin/ppm
bin/pr
bin/primes
bin/proof
bin/psdownload
bin/ramfs
bin/rc
bin/read
bin/readcons
bin/resample
bin/rio
bin/rm
bin/rsa2csr
bin/rsa2pub
bin/rsa2ssh
bin/rsa2x509
bin/rsafill
bin/rsagen
bin/sam
bin/samterm
bin/scat
bin/secstore
bin/secstored
bin/secuser
bin/sed
bin/seq
bin/sftpcache
bin/sha1sum
bin/sleep
bin/sort
bin/split
bin/sprog
bin/srv
bin/ssh-agent
bin/stats
bin/statusbar
bin/strings
bin/sum
bin/svgpic
bin/tail
bin/tar
bin/tbl
bin/tcolors
bin/tcs
bin/tee
bin/test
bin/time
bin/togif
bin/toico
bin/topng
bin/toppm
bin/touch
bin/tpic
bin/tr
bin/tr2post
bin/troff
bin/troff2html
bin/tweak
bin/uncompress
bin/unicode
bin/uniq
bin/units
bin/unutf
bin/unvac
bin/unzip
bin/usage
bin/vac
bin/vacfs
bin/vbackup
bin/vcat
bin/venti/buildindex
bin/venti/checkarenas
bin/venti/checkindex
bin/venti/clumpstats
bin/venti/conf
bin/venti/copy
bin/venti/dump
bin/venti/findscore
bin/venti/fixarenas
bin/venti/fmtarenas
bin/venti/fmtbloom
bin/venti/fmtindex
bin/venti/fmtisect
bin/venti/mirrorarenas
bin/venti/printarena
bin/venti/printarenapart
bin/venti/rdarena
bin/venti/read
bin/venti/ro
bin/venti/sync
bin/venti/syncindex
bin/venti/venti
bin/venti/verifyarena
bin/venti/wrarena
bin/venti/write
bin/vmount0
bin/vnfs
bin/wc
bin/win
bin/winwatch
bin/xd
bin/xshove
bin/yacc
bin/yuv
bin/zcat
bin/zerotrunc
bin/zip
config
dict/
install.log
install.sum
last-change
lib/fortunes.index
log/
man/man?/*.html
plan9-reverse.log
plan9.log
postscript/font/
sky/*.scat
sky/here
src/**/o.*
src/cmd/awk/proctab.c
src/cmd/awk/y.output
src/cmd/bc.tab.c
src/cmd/bc.tab.h
src/cmd/delatex.c
src/cmd/devdraw/latin1.h
src/cmd/eqn/eqn.c
src/cmd/eqn/prevy.tab.h
src/cmd/grap/grap.c
src/cmd/grap/grapl.c
src/cmd/jpg/rgbv.h
src/cmd/jpg/ycbcr.h
src/cmd/pic/picl.c
src/cmd/pic/picy.c
src/cmd/rc/x.tab.h
src/cmd/svgpic/picl.c
src/cmd/svgpic/picy.c
src/cmd/tpic/picy.c
src/cmd/units.tab.c
src/cmd/units.tab.h
state
state.journal
state.old
unix/*.tgz
y.tab.[ch]

34
INSTALL
View file

@ -71,18 +71,15 @@ if [ `uname` = SunOS ]; then
echo "* Running on Solaris: checking architecture..."
case "$(isainfo -n)" in
*amd64*)
echo " x86-64 found."
echo "OBJTYPE=x86_64" >>$PLAN9/config
echo " x86-64 found; using gcc."
echo "CC9=gcc" >>$PLAN9/config # defaults to gcc on Solaris/amd64
;;
*i386*)
echo " i386 found."
echo "OBJTYPE=386" >>$PLAN9/config
echo " i386 found; using gcc."
echo "CC9=gcc" >>$PLAN9/config # defaults to gcc on Solaris/i386
;;
*sparc*)
echo " Sparc found."
echo "OBJTYPE=sparc" >>$PLAN9/config
;;
esac
fi
@ -90,28 +87,23 @@ fi
if [ `uname` = Darwin ]; then
export NPROC=$(sysctl hw.ncpu | sed 's/hw.ncpu: //')
# On Darwin, uname -m -p cannot be trusted.
echo "* Running on Darwin: checking architecture..."
echo "* Running on Darwin..."
rm -f ./a.out
if ! gcc lib/darwin-main.c >/dev/null 2>&1; then
echo "Cannot find gcc. You may need to install the command-line tools using Xcode." >&2
if ! xcrun --sdk macosx clang lib/darwin-main.c >/dev/null 2>&1; then
echo "Cannot find 'xcrun --sdk macosx clang'." >&2
echo "You may need to install the command-line tools using Xcode." >&2
echo "See http://swtch.com/go/xcodegcc for details." >&2
exit 1
fi
case "$(file ./a.out 2>/dev/null)" in
*x86_64*)
echo " x86-64 found."
echo "OBJTYPE=x86_64" >>$PLAN9/config
echo "CC9='xcrun --sdk macosx clang'" >>$PLAN9/config
;;
*i386*)
echo " i386 found."
echo "OBJTYPE=386" >>$PLAN9/config
;;
*ppc*)
echo " power found."
echo "OBJTYPE=power" >>$PLAN9/config
CC9="xcrun --sdk macosx clang"
case "$(uname -a)" in
*ARM64*)
CC9="$CC9 -arch arm64"
echo ' Forcing arm64 binaries with clang.'
;;
esac
echo "CC9='$CC9'" >>$PLAN9/config
rm -f ./a.out
fi

280
LICENSE
View file

@ -1,257 +1,49 @@
Copyright © 2000-2009 Lucent Technologies. All Rights Reserved.
Copyright © 2021 Plan 9 Foundation
Portions Copyright © 2001-2008 Russ Cox
Portions Copyright © 2008-2009 Google Inc.
===================================================================
Permission is hereby granted, free of charge, to any person obtaining
a copy of this software and associated documentation files (the
"Software"), to deal in the Software without restriction, including
without limitation the rights to use, copy, modify, merge, publish,
distribute, sublicense, and/or sell copies of the Software, and to
permit persons to whom the Software is furnished to do so, subject to
the following conditions:
The bulk of this software is derived from Plan 9 and is thus distributed
under the Lucent Public License, Version 1.02, reproduced below.
The above copyright notice and this permission notice shall be
included in all copies or substantial portions of the Software.
There are a few exceptions: libutf, libfmt, and libregexp are distributed
under simpler BSD-like boilerplates. See the LICENSE files in those
directories. There are other exceptions, also marked with LICENSE files
in their directories or marked at the top of the file.
The bitmap fonts in the font/luc, font/lucm, font/lucsans, and font/pelm
directory are copyright B&H Inc. and distributed under more restricted
terms under agreement with B&H. See the NOTICE file in those directories.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
===================================================================
Lucent Public License Version 1.02
This software is derived from Plan 9, originally copyright Lucent Technologies
and distributed under the Lucent Public License, Version 1.02.
Lucent was bought by Alcatel, which was bought by Nokia.
On March 23, 2021, Nokia announced the transfer of the Plan 9 copyrights to the
Plan 9 Foundation, which in turn relicensed Plan 9 under the the MIT license,
reproduced above.
THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS PUBLIC
LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF THE
PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT.
There are a few exceptions, noted with LICENSE files in their own directories:
1. DEFINITIONS
The bzip2 program uses the bzip2 license; see src/cmd/bzip2/LICENSE.
"Contribution" means:
The fonts from Bigelow and Holmes were licensed only for Plan 9 itself,
not for derivatives like Plan 9 from User Space.
a. in the case of Lucent Technologies Inc. ("LUCENT"), the Original
Program, and
b. in the case of each Contributor,
i. changes to the Program, and
ii. additions to the Program;
where such changes and/or additions to the Program were added to the
Program by such Contributor itself or anyone acting on such
Contributor's behalf, and the Contributor explicitly consents, in
accordance with Section 3C, to characterization of the changes and/or
additions as Contributions.
"Contributor" means LUCENT and any other entity that has Contributed a
Contribution to the Program.
"Distributor" means a Recipient that distributes the Program,
modifications to the Program, or any part thereof.
"Licensed Patents" mean patent claims licensable by a Contributor
which are necessarily infringed by the use or sale of its Contribution
alone or when combined with the Program.
"Original Program" means the original version of the software
accompanying this Agreement as released by LUCENT, including source
code, object code and documentation, if any.
"Program" means the Original Program and Contributions or any part
thereof
"Recipient" means anyone who receives the Program under this
Agreement, including all Contributors.
2. GRANT OF RIGHTS
a. Subject to the terms of this Agreement, each Contributor hereby
grants Recipient a non-exclusive, worldwide, royalty-free copyright
license to reproduce, prepare derivative works of, publicly display,
publicly perform, distribute and sublicense the Contribution of such
Contributor, if any, and such derivative works, in source code and
object code form.
b. Subject to the terms of this Agreement, each Contributor hereby
grants Recipient a non-exclusive, worldwide, royalty-free patent
license under Licensed Patents to make, use, sell, offer to sell,
import and otherwise transfer the Contribution of such Contributor, if
any, in source code and object code form. The patent license granted
by a Contributor shall also apply to the combination of the
Contribution of that Contributor and the Program if, at the time the
Contribution is added by the Contributor, such addition of the
Contribution causes such combination to be covered by the Licensed
Patents. The patent license granted by a Contributor shall not apply
to (i) any other combinations which include the Contribution, nor to
(ii) Contributions of other Contributors. No hardware per se is
licensed hereunder.
c. Recipient understands that although each Contributor grants the
licenses to its Contributions set forth herein, no assurances are
provided by any Contributor that the Program does not infringe the
patent or other intellectual property rights of any other entity. Each
Contributor disclaims any liability to Recipient for claims brought by
any other entity based on infringement of intellectual property rights
or otherwise. As a condition to exercising the rights and licenses
granted hereunder, each Recipient hereby assumes sole responsibility
to secure any other intellectual property rights needed, if any. For
example, if a third party patent license is required to allow
Recipient to distribute the Program, it is Recipient's responsibility
to acquire that license before distributing the Program.
d. Each Contributor represents that to its knowledge it has sufficient
copyright rights in its Contribution, if any, to grant the copyright
license set forth in this Agreement.
3. REQUIREMENTS
A. Distributor may choose to distribute the Program in any form under
this Agreement or under its own license agreement, provided that:
a. it complies with the terms and conditions of this Agreement;
b. if the Program is distributed in source code or other tangible
form, a copy of this Agreement or Distributor's own license agreement
is included with each copy of the Program; and
c. if distributed under Distributor's own license agreement, such
license agreement:
i. effectively disclaims on behalf of all Contributors all warranties
and conditions, express and implied, including warranties or
conditions of title and non-infringement, and implied warranties or
conditions of merchantability and fitness for a particular purpose;
ii. effectively excludes on behalf of all Contributors all liability
for damages, including direct, indirect, special, incidental and
consequential damages, such as lost profits; and
iii. states that any provisions which differ from this Agreement are
offered by that Contributor alone and not by any other party.
B. Each Distributor must include the following in a conspicuous
location in the Program:
Copyright (C) 2003, Lucent Technologies Inc. and others. All Rights
Reserved.
C. In addition, each Contributor must identify itself as the
originator of its Contribution in a manner that reasonably allows
subsequent Recipients to identify the originator of the Contribution.
Also, each Contributor must agree that the additions and/or changes
are intended to be a Contribution. Once a Contribution is contributed,
it may not thereafter be revoked.
4. COMMERCIAL DISTRIBUTION
Commercial distributors of software may accept certain
responsibilities with respect to end users, business partners and the
like. While this license is intended to facilitate the commercial use
of the Program, the Distributor who includes the Program in a
commercial product offering should do so in a manner which does not
create potential liability for Contributors. Therefore, if a
Distributor includes the Program in a commercial product offering,
such Distributor ("Commercial Distributor") hereby agrees to defend
and indemnify every Contributor ("Indemnified Contributor") against
any losses, damages and costs (collectively"Losses") arising from
claims, lawsuits and other legal actions brought by a third party
against the Indemnified Contributor to the extent caused by the acts
or omissions of such Commercial Distributor in connection with its
distribution of the Program in a commercial product offering. The
obligations in this section do not apply to any claims or Losses
relating to any actual or alleged intellectual property infringement.
In order to qualify, an Indemnified Contributor must: a) promptly
notify the Commercial Distributor in writing of such claim, and b)
allow the Commercial Distributor to control, and cooperate with the
Commercial Distributor in, the defense and any related settlement
negotiations. The Indemnified Contributor may participate in any such
claim at its own expense.
For example, a Distributor might include the Program in a commercial
product offering, Product X. That Distributor is then a Commercial
Distributor. If that Commercial Distributor then makes performance
claims, or offers warranties related to Product X, those performance
claims and warranties are such Commercial Distributor's responsibility
alone. Under this section, the Commercial Distributor would have to
defend claims against the Contributors related to those performance
claims and warranties, and if a court requires any Contributor to pay
any damages as a result, the Commercial Distributor must pay those
damages.
5. NO WARRANTY
EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS
PROVIDED ON AN"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY
WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY
OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is solely
responsible for determining the appropriateness of using and
distributing the Program and assumes all risks associated with its
exercise of rights under this Agreement, including but not limited to
the risks and costs of program errors, compliance with applicable
laws, damage to or loss of data, programs or equipment, and
unavailability or interruption of operations.
6. DISCLAIMER OF LIABILITY
EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT NOR
ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT,
INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING
WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY OF
LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR
DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED
HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
7. EXPORT CONTROL
Recipient agrees that Recipient alone is responsible for compliance
with the United States export administration regulations (and the
export control laws and regulation of any other countries).
8. GENERAL
If any provision of this Agreement is invalid or unenforceable under
applicable law, it shall not affect the validity or enforceability of
the remainder of the terms of this Agreement, and without further
action by the parties hereto, such provision shall be reformed to the
minimum extent necessary to make such provision valid and enforceable.
If Recipient institutes patent litigation against a Contributor with
respect to a patent applicable to software (including a cross-claim or
counterclaim in a lawsuit), then any patent licenses granted by that
Contributor to such Recipient under this Agreement shall terminate as
of the date such litigation is filed. In addition, if Recipient
institutes patent litigation against any entity (including a
cross-claim or counterclaim in a lawsuit) alleging that the Program
itself (excluding combinations of the Program with other software or
hardware) infringes such Recipient's patent(s), then such Recipient's
rights granted under Section 2(b) shall terminate as of the date such
litigation is filed.
All Recipient's rights under this Agreement shall terminate if it
fails to comply with any of the material terms or conditions of this
Agreement and does not cure such failure in a reasonable period of
time after becoming aware of such noncompliance. If all Recipient's
rights under this Agreement terminate, Recipient agrees to cease use
and distribution of the Program as soon as reasonably practicable.
However, Recipient's obligations under this Agreement and any licenses
granted by Recipient relating to the Program shall continue and
survive.
LUCENT may publish new versions (including revisions) of this
Agreement from time to time. Each new version of the Agreement will be
given a distinguishing version number. The Program (including
Contributions) may always be distributed subject to the version of the
Agreement under which it was received. In addition, after a new
version of the Agreement is published, Contributor may elect to
distribute the Program (including its Contributions) under the new
version. No one other than LUCENT has the right to modify this
Agreement. Except as expressly stated in Sections 2(a) and 2(b) above,
Recipient receives no rights or licenses to the intellectual property
of any Contributor under this Agreement, whether expressly, by
implication, estoppel or otherwise. All rights in the Program not
expressly granted under this Agreement are reserved.
This Agreement is governed by the laws of the State of New York and
the intellectual property laws of the United States of America. No
party to this Agreement will bring a legal action under this Agreement
more than one year after the cause of action arose. Each party waives
its rights to a jury trial in any resulting litigation.
Plan 9 from User Space arranged a separate agreement with B&H to include
the bitmap fonts in the font/luc, font/lucm, font/lucsans, and font/pelm
directories. Other bitmap fonts have other licenses. See font/LICENSE.
The Lucida Sans Unicode PostScript fonts were licensed from B&H only for Plan 9
itself, not derivatives like Plan 9 from User Space. In their place, Plan 9 from
User Space provides Luxi Sans, also by B&H but available under a more liberal
license, and Deja Vu, a Unicode extension of the Bitstream Vera family of fonts.
Luxi Sans is similar to Lucida Sans, but it has no Unicode support.
Deja Vu does have good Unicode support.

21
bin/9a
View file

@ -1,21 +0,0 @@
#!/bin/sh
if [ $# != 1 ]; then
echo 'usage: 9a file.s' 1>&2
exit 1
fi
test -f $PLAN9/config && . $PLAN9/config
aflags=""
case "`uname`-${OBJTYPE:-`uname -m`}" in
Darwin-*386*)
aflags="-arch i386"
;;
Darwin-*x86_64*)
aflags="-arch x86_64"
;;
esac
out=`echo $1 | sed 's/\.s$//;s/$/.o/'`
exec as $aflags -o $out $1

24
bin/9c
View file

@ -26,10 +26,6 @@ usegcc()
# that option only works with gcc3+ it seems
cflags="$cflags -ggdb"
cflags="$cflags $CC9FLAGS"
case "$cflags" in
*sanitize=address*)
cflags="$cflags -DPLAN9PORT_ASAN"
esac
}
quiet()
@ -83,14 +79,10 @@ useclang()
-Wno-unneeded-internal-declaration \
-fsigned-char \
-fno-caret-diagnostics \
-fcommon \
"
cflags="$cflags -g"
cflags="$cflags $CC9FLAGS"
case "$cflags" in
*sanitize=address*)
cflags="$cflags -DPLAN9PORT_ASAN"
esac
}
usexlc()
@ -98,7 +90,7 @@ usexlc()
cc=${CC9:-xlc_r}
cflags=" \
-c \
-O0 \
-O2 \
-qmaxmem=-1 \
-qsuppress=1506-236 \
-qsuppress=1506-358 \
@ -107,24 +99,18 @@ usexlc()
-qsuppress=1506-1300 \
-qsuppress=1506-342 \
"
cflags="$cflags -g -qfullpath"
cflags="$cflags -g -qdbxextra -qfullpath"
cflags="$cflags $CC9FLAGS"
}
tag="${SYSNAME:-`uname`}-${OBJTYPE:-`uname -m`}-${CC9:-cc}"
tag="${SYSNAME:-`uname`}-${CC9:-cc}"
case "$tag" in
*DragonFly*gcc*|*BSD*gcc*) usegcc ;;
*DragonFly*clang|*BSD*clang*) useclang ;;
*Darwin-x86_64*)
*Darwin*)
useclang
cflags="$cflags -g3 -m64"
;;
*Darwin*clang*)
useclang
cflags="$cflags -g3 -m32"
;;
*Darwin*) usegcc
cflags="$cflags -g3 -no-cpp-precomp -m32" ;;
*HP-UX*) cc=${CC9:-cc}; cflags="-g -O -c -Ae" ;;
*Linux*) usegcc
case "${CC9:-gcc}" in

11
bin/9l
View file

@ -9,7 +9,7 @@ verbose=false
nmflags=""
extralibs="-lm"
tag="${SYSNAME:-`uname`}-${OBJTYPE:-`uname -m`}"
tag="${SYSNAME:-`uname`}"
case "$tag" in
*DragonFly*|*BSD*)
ld="${CC9:-gcc} $CC9FLAGS"
@ -27,11 +27,8 @@ case "$tag" in
userpath=true
extralibs="$extralibs -lutil -lresolv -lpthread"
;;
*Darwin*x86_64*)
ld="${CC9:-gcc} -m64 $CC9FLAGS"
;;
*Darwin*)
ld="${CC9:-gcc} -m32 $CC9FLAGS"
ld="${CC9:-gcc} -m64 $CC9FLAGS"
;;
*SunOS*)
ld="${CC9:-cc} -g $CC9FLAGS"
@ -61,7 +58,7 @@ case "$tag" in
esac
;;
*AIX*)
ld="${CC9:-xlc_r} -g -O0 $CC9FLAGS"
ld="${CC9:-xlc_r} $CC9FLAGS"
nmflags="-A -B"
;;
*)
@ -252,7 +249,7 @@ then
fi
# Don't say -L with a non-existent directory: Xcode complains.
# x86_64 seems to put its 64-bit libraries in lib64.
if [ "${OBJTYPE:-`uname -m`}" = "x86_64" -a -d "$X11/lib64" ]
if [ "`uname -m`" = "x86_64" -a -d "$X11/lib64" ]
then
libsl="$libsl -L$X11/lib64"
fi

View file

@ -20,11 +20,14 @@ case FreeBSD
echo 'don''t know how to mount (no fuse)' >[1=2]
case Darwin
version=`{sw_vers -productVersion|cut -d. -f1,2}
major_version = `{echo $version|cut -d. -f1}
if(sysctl fuse.version >[2]/dev/null |9 grep -si 'fuse.version' ||
sysctl macfuse.version.number >[2]/dev/null |9 grep -si 'fuse.version' ||
sysctl osxfuse.version.number >[2]/dev/null |9 grep -si 'fuse.version' ||
test -d /System/Library/Extensions/fusefs.kext ||
test -d /Library/Filesystems/osxfuse.fs/Contents/Extensions/$version/osxfuse.kext ||
test -d /Library/Filesystems/macfuse.fs/Contents/Extensions/$version/macfuse.kext ||
test -d /Library/Filesystems/macfuse.fs/Contents/Extensions/$major_version/macfuse.kext ||
test -d /Library/Filesystems/osxfusefs.fs/Support/osxfusefs.kext ||
test -d /opt/local/Library/Filesystems/osxfuse.fs ||
test -d /Library/Filesystems/fusefs.fs/Support/fusefs.kext)

View file

@ -1,22 +1,17 @@
#!/bin/bash
#!/usr/local/plan9/bin/rc
case "$winid" in
[0-9]*)
if(~ $winid [0-9]*) {
9p read acme/$winid/body
exit 0
esac
case "$text9term" in
unix!*)
dial -e $text9term </dev/null
}
if(~ $text9term 'unix!'*) {
dial -e $text9term < /dev/null
exit 0
esac
case "$TMUX" in
?*)
}
if(~ $TMUX ?*) {
tmux capture-pane -p
exit 0
esac
}
echo 'no running window found' 2>&1
echo 'no running window found' >[2=1]
exit 1

2
dist/buildmk vendored
View file

@ -2,5 +2,5 @@
# run this in the src directory
. ../src/mkenv
export SYSNAME OBJTYPE INSTALL
export SYSNAME INSTALL
sh -x mkmk.sh

127
dist/unix.html vendored
View file

@ -23,7 +23,7 @@ Edit ./^$/,s/<Table/<table border=0 cellspacing=0 cellpadding=0 width=100%/g
UTF-8, formatted print, buffered I/O, and regular expression
libraries, along with mk, a simple replacement for make.
<p>
<table border=0 cellspacing=0 cellpadding=0 width=100%><tr height=20><td></table>
<b>supported systems</b>
<table border=0 cellspacing=0 cellpadding=0 width=100%>
@ -49,7 +49,7 @@ Edit ./^$/,s/<Table/<table border=0 cellspacing=0 cellpadding=0 width=100%/g
<font size=+1><tt>make PREFIX=/usr/elsewhere install</tt></font>.
<table border=0 cellspacing=0 cellpadding=0 width=100%><tr height=10><td></table>
On unsupported systems, you will need to create
<font size=+1><tt>Make.<i>YourOS</i>-<i>YourArch</i></tt></font>.
See the existing ones for examples. If you write one for a new system,
@ -62,27 +62,25 @@ Edit ./^$/,s/<Table/<table border=0 cellspacing=0 cellpadding=0 width=100%/g
<table border=0 cellspacing=0 cellpadding=0 width=100%>
<tr height=10><td width=20><td>
<tr><td><td>
Libutf is a port of Plan 9's support library for UTF-8 and Unicode.
<table border=0 cellspacing=0 cellpadding=0 width=100%><tr height=10><td></table>
<font size=-1>manual:</font>
<font size=-1>manual:</font>
<!-- [ 9 man -w `{nm /usr/local/lib/libutf.a | awk '$2=="T" {print $3}'} ]-->
<a href="man/isalpharune3.html"><i>isalpharune</i>(3)</a>,
<a href="man/rune3.html"><i>rune</i>(3)</a>,
<a href="man/runestrcat3.html"><i>runestrcat</i>(3)</a>,
<a href="man/utf7.html"><i>utf</i>(7)</a>
<table border=0 cellspacing=0 cellpadding=0 width=100%><tr height=10><td></table>
<font size=-1>download:</font> <a href="libutf.tgz">libutf.tgz</a> <font size=-1>(<a href="/cgi-bin/info.cgi?file=/plan9port/unix/libutf.tgz">checksums</a>)</font>
<table border=0 cellspacing=0 cellpadding=0 width=100%><tr height=10><td></table>
<font size=-1>license: original <a href="license-bl.txt">Bell Labs MIT-like</a>
or <a href="http://9p.io/plan9/license.html">Lucent Public License</a></font>
<font size=-1>download:</font> <a href="libutf.tgz">libutf.tgz</a>
<table border=0 cellspacing=0 cellpadding=0 width=100%><tr height=10><td></table>
<font size=-1>license: MIT</font>
</table>
@ -91,7 +89,7 @@ Edit ./^$/,s/<Table/<table border=0 cellspacing=0 cellpadding=0 width=100%/g
<table border=0 cellspacing=0 cellpadding=0 width=100%>
<tr height=10><td width=20><td>
<tr><td><td>
Libfmt is a port of Plan 9's formatted print library.
As a base it provides all the syntax of ANSI C's printf but adds
the ability for client programs to install new print verbs.
@ -99,108 +97,104 @@ Edit ./^$/,s/<Table/<table border=0 cellspacing=0 cellpadding=0 width=100%/g
the system error string.
Instead of <font size=+1><tt>perror("foo")</tt></font>, you can write
<font size=+1><tt>fprint(2, "foo: %r\n");</tt></font>.
This is especially nice when you write verbs to format the
This is especially nice when you write verbs to format the
data structures used by your particular programs.
Needs libutf.
<table border=0 cellspacing=0 cellpadding=0 width=100%><tr height=10><td></table>
<font size=-1>manual:</font>
<font size=-1>manual:</font>
<!-- [ 9 man -w `{nm /usr/local/lib/libfmt.a | awk '$2=="T" {print $3}'} ]-->
<a href="man/print3.html"><i>print</i>(3)</a>,
<a href="man/fmtinstall3.html"><i>fmtinstall</i>(3)</a>,
<a href="man/quote3.html"><i>quote</i>(3)</a>,
<a href="man/fmtstrtod3.html"><i>fmtstrtod</i>(3)</a>
<table border=0 cellspacing=0 cellpadding=0 width=100%><tr height=10><td></table>
<font size=-1>download:</font> <a href="libfmt.tgz">libfmt.tgz</a> <font size=-1>(<a href="/cgi-bin/info.cgi?file=/plan9port/unix/libfmt.tgz">checksums</a>)</font>
<font size=-1>download:</font> <a href="libfmt.tgz">libfmt.tgz</a>
<table border=0 cellspacing=0 cellpadding=0 width=100%><tr height=10><td></table>
<font size=-1>License: original <a href="license-bl.txt">Bell Labs MIT-like</a>
or <a href="http://9p.io/plan9/license.html">Lucent Public License</a></font>
<font size=-1>license: MIT</font>
</table>
<table border=0 cellspacing=0 cellpadding=0 width=100%><tr height=20><td></table>
<b>libbio</b>
<table border=0 cellspacing=0 cellpadding=0 width=100%>
<tr height=10><td width=20><td>
<tr><td><td>
Libbio is a port of Plan 9's buffered I/O library.
It provides most of the same functionality as stdio or sfio,
but with a simpler interface and smaller footprint.
Needs libutf and libfmt.
<table border=0 cellspacing=0 cellpadding=0 width=100%><tr height=10><td></table>
<font size=-1>manual:</font>
<font size=-1>manual:</font>
<a href="man/bio3.html"><i>bio</i>(3)</a>
<table border=0 cellspacing=0 cellpadding=0 width=100%><tr height=10><td></table>
<font size=-1>download:</font> <a href="libbio.tgz">libbio.tgz</a> <font size=-1>(<a href="/cgi-bin/info.cgi?file=/plan9port/unix/libbio.tgz">checksums</a>)</font>
<font size=-1>download:</font> <a href="libbio.tgz">libbio.tgz</a>
<table border=0 cellspacing=0 cellpadding=0 width=100%><tr height=10><td></table>
<font size=-1>License: <a href="license-vn.txt">Vita Nuova MIT-like</a>
or <a href="http://9p.io/plan9/license.html">Lucent Public License</a></font>
<font size=-1>license: MIT</font>
</table>
<table border=0 cellspacing=0 cellpadding=0 width=100%><tr height=20><td></table>
<b>libregexp9</b>
<table border=0 cellspacing=0 cellpadding=0 width=100%>
<tr height=10><td width=20><td>
<tr><td><td>
Libregexp9 is a port of Plan 9's Unicode-capable regular expression library.
It is small and simple and provides the traditional extended regular
expressions (without modern complications like
expressions (without modern complications like
<font size=+1><tt>{}</tt></font> and various <font size=+1><tt>\x</tt></font> character classes).
It supports Unicode via wide character or UTF-8 encoding.
Needs libutf and libfmt.
<table border=0 cellspacing=0 cellpadding=0 width=100%><tr height=10><td></table>
<font size=-1>manual:</font>
<font size=-1>manual:</font>
<a href="man/regexp93.html"><i>regexp9</i>(3)</a>,
<a href="man/regexp97.html"><i>regexp9</i>(7)</a>
<table border=0 cellspacing=0 cellpadding=0 width=100%><tr height=10><td></table>
<font size=-1>download:</font> <a href="libregexp9.tgz">libregexp9.tgz</a> <font size=-1>(<a href="/cgi-bin/info.cgi?file=/plan9port/unix/libregexp9.tgz">checksums</a>)</font>
<font size=-1>download:</font> <a href="libregexp9.tgz">libregexp9.tgz</a>
<table border=0 cellspacing=0 cellpadding=0 width=100%><tr height=10><td></table>
<font size=-1>License: original <a href="license-bl.txt">Bell Labs MIT-like</a>
or <a href="http://9p.io/plan9/license.html">Lucent Public License</a></font>
<font size=-1>license: MIT</font>
</table>
<table border=0 cellspacing=0 cellpadding=0 width=100%><tr height=20><td></table>
<b>mk</b>
<table border=0 cellspacing=0 cellpadding=0 width=100%>
<tr height=10><td width=20><td>
<tr><td><td>
Mk is a simple replacement for <i>make</i>.
Needs libutf, libfmt, libbio, and libregexp9.
<table border=0 cellspacing=0 cellpadding=0 width=100%><tr height=10><td></table>
<font size=-1>manual:</font>
<font size=-1>manual:</font>
<a href="man/mk1.html"><i>mk</i>(1)</a>
<table border=0 cellspacing=0 cellpadding=0 width=100%><tr height=10><td></table>
<font size=-1>download:</font> <a href="mk.tgz">mk.tgz</a> <font size=-1>(<a href="/cgi-bin/info.cgi?file=/plan9port/unix/mk.tgz">checksums</a>)</font>
<font size=-1>download:</font> <a href="mk.tgz">mk.tgz</a>
<table border=0 cellspacing=0 cellpadding=0 width=100%><tr height=10><td></table>
<font size=-1>License: <a href="license-vn.txt">Vita Nuova MIT-like</a>
or <a href="http://9p.io/plan9/license.html">Lucent Public License</a></font>
<font size=-1>license: MIT</font>
</table>
<table border=0 cellspacing=0 cellpadding=0 width=100%><tr height=20><td></table>
@ -208,12 +202,11 @@ Edit ./^$/,s/<Table/<table border=0 cellspacing=0 cellpadding=0 width=100%/g
<table border=0 cellspacing=0 cellpadding=0 width=100%>
<tr height=10><td width=20><td>
<tr><td><td>
Includes mk and all the libraries.
<table border=0 cellspacing=0 cellpadding=0 width=100%><tr height=10><td></table>
<font size=-1>download:</font> <a href="mk-with-libs.tgz">mk-with-libs.tgz</a> <font size=-1>(<a href="/cgi-bin/info.cgi?file=/plan9port/unix/mk-with-libs.tgz">checksums</a>)</font>
<font size=-1>download:</font> <a href="mk-with-libs.tgz">mk-with-libs.tgz</a>
</table>

View file

@ -1,5 +1,6 @@
Many of the fonts in this directory come from other sources
and are distributed under licenses other than the Lucent Public License.
and are distributed under licenses other than the MIT-style license
that governs the main distribution.
In particular, see:
@ -13,4 +14,4 @@ In particular, see:
naga10/README
pelm/NOTICE
shinonome/README

View file

@ -219,7 +219,6 @@ struct Srv {
};
void srv(Srv*);
void postmountsrv(Srv*, char*, char*, int);
int postfd(char*, int);
extern int chatty9p;
void respond(Req*, char*);

View file

@ -290,7 +290,7 @@ struct Cachefont
struct Cacheinfo
{
ushort x; /* left edge of bits */
int x; /* left edge of bits */
uchar width; /* width of baseline */
schar left; /* offset of baseline */
Rune value; /* value of character at this slot in cache */

View file

@ -473,10 +473,8 @@ extern _Thread *(*threadnow)(void);
typedef struct Lock Lock;
struct Lock
{
#ifdef PLAN9PORT_USING_PTHREADS
int init;
pthread_mutex_t mutex;
#endif
int held;
};

View file

@ -1,7 +1,7 @@
#ifndef _THREAD_H_
#define _THREAD_H_ 1
#if defined(__cplusplus)
extern "C" {
extern "C" {
#endif
AUTOLIB(thread)
@ -15,6 +15,7 @@ void threadexits(char *);
void threadexitsall(char *);
void threadsetname(char*, ...);
void threadsetstate(char*, ...);
void threadneedbackground(void);
char *threadgetname(void);
int threadyield(void);
int threadidle(void);
@ -60,6 +61,8 @@ void **threaddata(void);
void threadmain(int argc, char *argv[]);
extern int mainstacksize;
int threadmaybackground(void);
/*
* channel communication
*/
@ -180,7 +183,7 @@ int threadspawnl(int[3], char*, ...);
Channel* threadwaitchan(void);
/*
* alternate interface to threadwaitchan - don't use both!
* alternate interface to threadwaitchan - don't use both!
*/
Waitmsg* procwait(int pid);

View file

@ -67,7 +67,6 @@ typedef long p9jmp_buf[sizeof(sigjmp_buf)/sizeof(long)];
#if defined(__linux__)
# include <sys/types.h>
# include <pthread.h>
# define PLAN9PORT_USING_PTHREADS 1
# if defined(__USE_MISC)
# undef _NEEDUSHORT
# undef _NEEDUINT
@ -76,7 +75,6 @@ typedef long p9jmp_buf[sizeof(sigjmp_buf)/sizeof(long)];
#elif defined(__sun__)
# include <sys/types.h>
# include <pthread.h>
# define PLAN9PORT_USING_PTHREADS 1
# undef _NEEDUSHORT
# undef _NEEDUINT
# undef _NEEDULONG
@ -84,7 +82,6 @@ typedef long p9jmp_buf[sizeof(sigjmp_buf)/sizeof(long)];
#elif defined(__FreeBSD__)
# include <sys/types.h>
# include <osreldate.h>
# define PLAN9PORT_USING_PTHREADS 1
# include <pthread.h>
# if !defined(_POSIX_SOURCE)
# undef _NEEDUSHORT
@ -93,7 +90,6 @@ typedef long p9jmp_buf[sizeof(sigjmp_buf)/sizeof(long)];
#elif defined(__APPLE__)
# include <sys/types.h>
# include <pthread.h>
# define PLAN9PORT_USING_PTHREADS 1
# if __GNUC__ < 4
# undef _NEEDUSHORT
# undef _NEEDUINT
@ -108,20 +104,19 @@ typedef long p9jmp_buf[sizeof(sigjmp_buf)/sizeof(long)];
#elif defined(__NetBSD__)
# include <sched.h>
# include <sys/types.h>
# include <pthread.h>
# undef _NEEDUSHORT
# undef _NEEDUINT
# undef _NEEDULONG
#elif defined(__OpenBSD__)
# include <sys/types.h>
# include <pthread.h>
# define PLAN9PORT_USING_PTHREADS 1
# undef _NEEDUSHORT
# undef _NEEDUINT
# undef _NEEDULONG
#else
/* No idea what system this is -- try some defaults */
# include <pthread.h>
# define PLAN9PORT_USING_PTHREADS 1
#endif
#ifndef O_DIRECT

View file

@ -1,219 +1,102 @@
INTRO(1) INTRO(1)
INSTALL(1) INSTALL(1)
NAME
intro - introduction to Plan 9 from User Space
install - notes about Plan 9 from User Space installation
SYNOPSIS
cd /usr/local/plan9; ./INSTALL [ -b | -c ] [ -r path ]
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 http://9p.io/plan9 and runs
on PCs and a variety of other platforms. Plan 9 became a
convenient platform for experimenting with new ideas, appli-
cations, and services.
To obtain the Plan 9 tree, use Git (see git(1)) or download
a tar file from https://9fans.github.io/plan9port.
Plan 9 from User Space provides many of the ideas, applica-
tions, and services from Plan 9 on Unix-like systems. It
runs on FreeBSD (x86, x86-64), Linux (x86, x86-64, PowerPC
and ARM), Mac OS X (x86, x86-64, and PowerPC), NetBSD (x86
and PowerPC), OpenBSD (x86 and PowerPC), Dragonfly BSD
(x86-64), and SunOS (x86-64 and Sparc).
The tree can be unpacked anywhere, but the usual place is
/usr/local/plan9. In the root of the tree, run ./INSTALL.
This script builds the Plan 9 build program mk(1) if neces-
sary, cleans all previously built object files and libraries
out of the tree, rebuilds and installs everything, and then
cleans up.
Commands
Plan 9 from User Space expects its own directory tree, con-
ventionally /usr/local/plan9. When programs need to access
files in the tree, they expect the $PLAN9 environment vari-
able to contain the name of the root of the tree. See
install(1) for details about installation.
There are a few files in tree which have the root hard-coded
in them. After the build, INSTALL edits these files to
replace the string /usr/local/plan9 with the name of the
root of the current tree.
Many of the familiar Unix commands, for example cat(1),
ls(1), and wc(1), are present, but in their Plan 9 forms:
cat takes no options, ls does not columnate its output when
printing to a terminal, and wc counts UTF characters. In
some cases, the differences are quite noticeable: grep(1)
and sed(1) expect Plan 9 regular expressions (see
regexp(7)), which are closest to what Unix calls extended
regular expressions. Because of these differences, it is
not recommended to put $PLAN9/bin before the usual system
bin directories in your search path. Instead, put it at the
end of your path and use the 9(1) script when you want to
invoke the Plan 9 version of a traditional Unix command.
Finally, INSTALL builds an HTML version of the manual and
installs it in /usr/local/plan9/man.
Occasionally the Plan 9 programs have been changed to adapt
to Unix. Mk(1) now allows mkfiles to choose their own
shell, and rc(1) has a ulimit builtin and manages $PATH.
The installation can be thought of as two steps: build all
the binaries, and then edit files as necessary to fix the
references to the installation root. If necessary, these
can be run separately. Given the -b flag, INSTALL performs
only the first step. Given the -c flag, INSTALL performs
only the second step. The first step can be done with the
tree in a temporary work directory, but the second step must
be done once the tree is in its final location. If you want
to build the project in one location and then install into
another location, use -r path to specify the final location
of Plan9 tree. These flags are only necessary when trying
to conform to the expectations of certain package management
systems.
Many of the graphical programs from Plan 9 are present,
including sam(1) and acme(1). An X11 window manager rio(1)
mimics Plan 9's window system, with command windows imple-
mented by the external program 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 -W
option to specify the size and placement of the new window.
The argument is one of widthxheight, widthxheight@xmin,xmax,
At the end of the installation, INSTALL prints suggested
settings for the environment variables $PLAN9 and $PATH.
Page 1 Plan 9 (printed 12/1/14)
INSTALL writes various autodetected settings to
/usr/local/plan9/config. The file
/usr/local/plan9/LOCAL.config is appended to config after
this auto-detection and can be used to override the choices.
If LOCAL.config contains a line WSYSTYPE=nowsys then the
system is built without using X11. LOCAL.config may also
list settings for CC9 (the host C compiler) and CC9FLAGS
(any additional flags to pass to the compiler). Values more
INTRO(1) INTRO(1)
Page 1 Plan 9 (printed 4/9/21)
or xmin,ymin,xmax,ymax.
INSTALL(1) INSTALL(1)
The plumber(4) helps to connect the various Plan 9 programs
together, and fittings like web(1) connect it to external
programs such as web browsers; one can click on a URL in
acme and see the page load in Firefox.
complex than single words should be quoted with single
quotes.
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.
On most Linux systems, the X11 header packages need to be
installed to build using X11. On Debian. the required pack-
ages are libfontconfig1-dev, libx11-dev, libxext-dev, and
libxt-dev. On Ubuntu, it suffices to install xorg-dev.
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
9pclient(3) library. 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 9p(1) client can be used in shell scripts or
by hand to carry out simple interactions with servers.
Netfiles(1) is an experimental client for acme.
External databases
Some programs rely on large databases that would be cumber-
some to include in every release. Scripts are provided that
download these databases separately. These databases can be
downloaded separately. See $PLAN9/dict/README and
$PLAN9/sky/README.
Programming
The shell scripts 9c and 9l (see 9c(1)) provide a simple
interface to the underlying system compiler and linker, sim-
ilar to the 2c and 2l families on Plan 9. 9c compiles
source files, and 9l links object files into executables.
When using Plan 9 libraries, 9l infers the correct set of
libraries from the object files, so that no -l options are
needed.
The only way to write multithreaded programs is to use the
thread(3) library. Rfork(3) exists but is not as capable as
on Plan 9. There are many unfortunate by necessary prepro-
cessor diversions to make Plan 9 and Unix libraries coexist.
See intro(3) for details.
The debuggers acid(1) and db(1) and the debugging library
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 Pow-
erPC support exists; and other targets are unimplemented.
Page 2 Plan 9 (printed 12/1/14)
INTRO(1) INTRO(1)
The debuggers can only inspect, not manipulate, target pro-
cesses. Support for operating system threads and for 64-bit
architectures needs to be rethought. On x86 Linux systems,
acid and db can be relied upon to produce reasonable stack
traces (often in cases when GNU gdb cannot) and dump data
structures, but that it is the extent to which they have
been developed and exercised.
Porting programs
The vast majority of the familiar Plan 9 programs have been
ported, including the Unicode-aware troff(1).
Of the more recent additions to Plan 9, factotum(4),
secstore(1), and secstored(1), vac(1), vacfs(4), and
venti(8) are all ported.
A backup system providing a dump file system built atop
Venti is in progress; see vbackup(8).
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 <u.h>, which must include the right system files
and set up the right integer type definitions, and
libthread, which must implement spin locks, operating system
thread creation, and context switching routines. Portable
implementations of these using <pthread.h> and <ucontext.h>
already exist. If your system supports them, you may not
need to write any system specific code at all.
There are other smaller system dependencies, such as the
terminal handling code in 9term(1) and the implementation of
getcallerpc(3), but these are usually simple and are not on
the critical path for getting the system up and running.
SEE ALSO
The rest of this manual describes Plan 9 from User Space.
Many of the man pages have been brought from Plan 9, but
they have been updated, and others have been written from
INSTALL can safely be repeated to rebuild the system from
scratch.
The manual pages are in a Unix style tree, with names like
$PLAN9/man/man1/cat.1 instead of Plan 9's simpler
$PLAN9/man/1/cat, so that the Unix man(1) utility can handle
it. Some systems, for example Debian Linux, deduce the man
page locations from the search path, so that adding
$PLAN9/bin to your path is sufficient to cause $PLAN9/man to
be consulted for manual pages using the system man. On other
systems, or to look at manual pages with the same name as a
system page, invoke the Plan 9 man directly, as in 9 man
cat.
Once the system is built for the first time, it can be main-
tained and rebuilt using mk(1). To rebuild individual com-
mands or libraries, run mk install and mk clean in the
appropriate source directory (see src(1)).
Page 3 Plan 9 (printed 12/1/14)
FILES
/usr/local/plan9/lib/moveplan9.files
the list of files that need to have /usr/local/plan9
edited out of them
INTRO(1) INTRO(1)
/usr/local/plan9/lib/moveplan9.sh
the script that edits the files
The manual sections follow the Unix numbering conventions,
not the Plan 9 ones.
/usr/local/plan9/src/mkmk.sh
the shell script used to build mk(1)
Section (1) describes general publicly accessible commands.
/usr/local/plan9/dist/manweb
the shell script that builds the HTML manual
Section (3) describes C library functions.
/usr/local/plan9/man/index.html
the top-level page in the HTML version of the manual
Section (4) describes user-level file servers.
/usr/local/plan9/install.log
logged output from the last run of INSTALL
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.)
/usr/local/plan9/install.sum
a summary of install.log
Section (8) describes commands used for system administra-
tion.
SEE ALSO
intro(1), git(1)
Section (9p) describes the Plan 9 file protocol 9P.
These pages describe parts of the system that are new or
different from Plan 9 from Bell Labs:
9(1), 9c(1), 9p(1), 9term(1), acidtypes in acid(1),
dial(1), git(1), label(1), the MKSHELL variable in
mk(1), namespace(1), netfiles(1), page(1), psfonts(1),
rio(1), web(1), wintext(1)
intro(3), 9pclient(3), the unix network in dial(3),
exits(3), get9root(3), getns(3), notify(3),
post9pservice(3), rfork(3), searchpath(3), sendfd(3),
udpread(3), venti(3), wait(3), wctl(3)
intro(4), 9pserve(4), import(4),
vbackup(8)
openfd(9p)
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 exits(3).
Page 4 Plan 9 (printed 12/1/14)
Page 2 Plan 9 (printed 4/9/21)

View file

@ -34,6 +34,7 @@ bin/upas/unspambox
bin/venti/conf
bin/vmount
bin/vwhois
bin/wintext
bin/yesterday
dist/debian/mkpkg
dist/debian/mkrep

View file

@ -19153,7 +19153,6 @@ posted /usr/local/plan9/man/man4/plumber.4
posted /usr/local/plan9/man/man9/0intro.9p
postfd /usr/local/plan9/man/man3/9p.3
postmark /usr/local/plan9/man/man1/bundle.1
postmountsrv /usr/local/plan9/man/man3/9p.3
postnote /usr/local/plan9/man/man3/notify.3
postnote /usr/local/plan9/man/man3/postnote.3
postnote /usr/local/plan9/man/man3/rfork.3

View file

@ -32,15 +32,15 @@ they expect the
environment variable
to contain the name of the root of the tree.
See
.IR install (1)
.MR install (1)
for details about installation.
.PP
Many of the familiar Unix commands,
for example
.IR cat (1),
.IR ls (1),
.MR cat (1) ,
.MR ls (1) ,
and
.IR wc (1),
.MR wc (1) ,
are present, but in their Plan 9 forms:
.I cat
takes no options,
@ -50,12 +50,12 @@ and
.I wc
counts UTF characters.
In some cases, the differences are quite noticeable:
.IR grep (1)
.MR grep (1)
and
.IR sed (1)
.MR sed (1)
expect Plan 9 regular expressions
(see
.IR regexp (7)),
.MR 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
@ -63,16 +63,16 @@ 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)
.MR 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)
.MR Mk (1)
now allows mkfiles to choose their own shell,
and
.IR rc (1)
.MR rc (1)
has a
.I ulimit
builtin and manages
@ -80,14 +80,14 @@ builtin and manages
.PP
Many of the graphical programs from Plan 9 are present,
including
.IR sam (1)
.MR sam (1)
and
.IR acme (1).
.MR acme (1) .
An X11 window manager
.IR rio (1)
.MR rio (1)
mimics Plan 9's window system, with command windows
implemented by the external program
.IR 9term (1).
.MR 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
@ -101,10 +101,10 @@ The argument is one of
\fIxmin\fL,\fIymin\fL,\fIxmax\fL,\fIymax\fR.
.PP
The
.IR plumber (4)
.MR plumber (4)
helps to connect the various Plan 9 programs together,
and fittings like
.IR web (1)
.MR web (1)
connect it to external programs such as web browsers;
one can click on a URL in
.I acme
@ -119,17 +119,17 @@ with file servers by reading and writing files.
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)
.MR 9pclient (3)
library.
.IR Intro (4)
.MR 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)
.MR 9p (1)
client can be used in shell scripts or by hand to carry out
simple interactions with servers.
.IR Netfiles (1)
.MR Netfiles (1)
is an experimental client for acme.
.SS External databases
Some programs rely on large databases that would be
@ -146,7 +146,7 @@ The shell scripts
and
.I 9l
(see
.IR 9c (1))
.MR 9c (1) )
provide a simple interface to the underlying system compiler and linker,
similar to the
.I 2c
@ -165,22 +165,22 @@ so that no
options are needed.
.PP
The only way to write multithreaded programs is to use the
.IR thread (3)
.MR thread (3)
library.
.IR Rfork (3)
.MR 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)
.MR intro (3)
for details.
.PP
The debuggers
.IR acid (1)
.MR acid (1)
and
.IR db (1)
.MR db (1)
and the debugging library
.IR mach (3)
.MR 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,
@ -203,22 +203,22 @@ but that it is the extent to which they have been developed and exercised.
.SS Porting programs
The vast majority of the familiar Plan 9 programs
have been ported, including the Unicode-aware
.IR troff (1).
.MR troff (1) .
.PP
Of the more recent additions to Plan 9,
.IR factotum (4),
.IR secstore (1),
.MR factotum (4) ,
.MR secstore (1) ,
and
.IR secstored (1),
.IR vac (1),
.IR vacfs (4),
.MR secstored (1) ,
.MR vac (1) ,
.MR vacfs (4) ,
and
.IR venti (8)
.MR venti (8)
are all ported.
.PP
A backup system providing a dump file system built atop Venti
is in progress; see
.IR vbackup (8).
.MR vbackup (8) .
.SS Porting to new systems
Porting the tree to new operating systems or architectures
should be straightforward, as system-specific code has been
@ -240,9 +240,9 @@ 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)
.MR 9term (1)
and the implementation of
.IR getcallerpc (3),
.MR getcallerpc (3) ,
but these are usually simple and are not on the critical
path for getting the system up and running.
.SH SEE ALSO
@ -255,7 +255,7 @@ The manual pages are in a Unix style tree, with names like
instead of Plan 9's simpler
.BR $PLAN9/man/1/cat ,
so that the Unix
.IR man (1)
.MR man (1)
utility can handle it.
Some systems, for example Debian Linux,
deduce the man page locations from the search path, so that
@ -300,52 +300,52 @@ describes the Plan 9 file protocol 9P.
These pages describe parts of the system
that are new or different from Plan 9 from Bell Labs:
.IP
.IR 9 (1),
.IR 9c (1),
.IR 9p (1),
.IR 9term (1),
.MR 9 (1) ,
.MR 9c (1) ,
.MR 9p (1) ,
.MR 9term (1) ,
.I acidtypes
in
.IR acid (1),
.IR dial (1),
.IR git (1),
.IR label (1),
.MR acid (1) ,
.MR dial (1) ,
.MR git (1) ,
.MR label (1) ,
the
.B MKSHELL
variable in
.IR mk (1),
.IR namespace (1),
.IR netfiles (1),
.IR page (1),
.IR psfonts (1),
.IR rio (1),
.IR web (1),
.IR wintext (1)
.MR mk (1) ,
.MR namespace (1) ,
.MR netfiles (1) ,
.MR page (1) ,
.MR psfonts (1) ,
.MR rio (1) ,
.MR web (1) ,
.MR wintext (1)
.IP
.IR intro (3),
.IR 9pclient (3),
.MR intro (3) ,
.MR 9pclient (3) ,
the
.B unix
network in
.IR dial (3),
.IR exits (3),
.IR get9root (3),
.IR getns (3),
.IR notify (3),
.IR post9pservice (3),
.IR rfork (3),
.IR searchpath (3),
.IR sendfd (3),
.IR udpread (3),
.IR venti (3),
.IR wait (3),
.IR wctl (3)
.MR dial (3) ,
.MR exits (3) ,
.MR get9root (3) ,
.MR getns (3) ,
.MR notify (3) ,
.MR post9pservice (3) ,
.MR rfork (3) ,
.MR searchpath (3) ,
.MR sendfd (3) ,
.MR udpread (3) ,
.MR venti (3) ,
.MR wait (3) ,
.MR wctl (3)
.IP
.IR intro (4),
.IR 9pserve (4),
.IR import (4),
.MR intro (4) ,
.MR 9pserve (4) ,
.MR import (4) ,
.IP
.IR vbackup (8)
.MR vbackup (8)
.IP
.IR openfd (9p)
.SH DIAGNOSTICS
@ -356,4 +356,4 @@ 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).
.MR exits (3) .

View file

@ -12,7 +12,7 @@
.B .
.B 9
(from
.IR sh (1))
.MR sh (1) )
.PP
.B 9.rc
.I cmd
@ -24,7 +24,7 @@
.B .
.B 9.rc
(from
.IR rc (1))
.MR rc (1) )
.PP
.B u
.I cmd
@ -36,7 +36,7 @@
.B .
.B u
(from
.IR sh (1))
.MR sh (1) )
.PP
.B u.rc
.I cmd
@ -48,7 +48,7 @@
.B .
.B u.rc
(from
.IR rc (1))
.MR rc (1) )
.SH DESCRIPTION
Because Plan 9 supplies commands with the same name as but different
behavior than many basic Unix system commands
@ -86,7 +86,7 @@ in order to make the current shell start running in the Plan 9 environment.
is the same as
.I 9
but written for use by the shell
.IR rc (1).
.MR rc (1) .
.PP
.I U
and
@ -106,7 +106,7 @@ $ 9 grep '[α-ζ]' /etc/passwd
.EE
.PP
Start an
.IR rc (1)
.MR rc (1)
with the Plan 9 commands in the path before the system commands,
and then run the Unix
.IR ls :
@ -124,7 +124,7 @@ $ 9 rc
.br
.B \*9/bin/u.rc
.SH SEE ALSO
.IR intro (1)
.MR intro (1)
.SH BUGS
Some shell configurations
(notably, oh-my-zsh)

View file

@ -1,6 +1,6 @@
.TH 9C 1
.SH NAME
9c, 9a, 9l, 9ar \- C compiler, assembler, linker, archiver
9c, 9l, 9ar \- C compiler, assembler, linker, archiver
.SH SYNOPSIS
.B 9c
[
@ -14,10 +14,6 @@
.I file
\&...
.PP
.B 9a
.I file
\&...
.PP
.B 9l
[
.I -o
@ -81,12 +77,6 @@ also defines
.B __sun__
on SunOS systems.
.PP
.I 9a
assembles the named files into object files for the current system.
Unlike some system assemblers, it does
.I not
promise to run the C preprocessor on the source files.
.PP
.I 9l
links the named object files and libraries to create the target executable.
Each
@ -164,7 +154,7 @@ With
.BR t ,
give a long listing of all information about the files,
somewhat like a listing by
.IR ls (1),
.MR ls (1) ,
showing
.br
.ns
@ -203,10 +193,6 @@ rebuilt whenever the archive is modified.
Compile three C source files.
.TP
.L
9a file4.s
Assemble one assembler source file.
.TP
.L
9ar rvc lib.a file[12].o
Archive the first two object files into a library.
.TP

View file

@ -121,11 +121,11 @@ copy a line from standard input to the file.
Print errors, but don't give up.
.B Rdwr
is useful for interacting with servers like
.IR factotum (4).
.MR factotum (4) .
.TP
.B ls
Print a directory listing in the format of
.IR ls (1).
.MR ls (1) .
The
.B -d
and
@ -150,12 +150,12 @@ it connects to the Unix domain socket
.I service
in the name space directory
(see
.IR intro (4))
.MR intro (4) )
and then accesses
.IR subpath .
.SH EXAMPLE
To update
.IR plumber (4)'s
.MR plumber (4) 's
copy of your plumbing rules after editing
.BR $HOME/lib/plumbing :
.IP
@ -164,7 +164,7 @@ cat $HOME/lib/plumbing | 9p write plumb/rules
.EE
.PP
To display the contents of the current
.IR acme (4)
.MR acme (4)
window:
.IP
.EX
@ -173,6 +173,6 @@ window:
.SH SOURCE
.B \*9/src/cmd/9p.c
.SH SEE ALSO
.IR intro (4),
.MR intro (4) ,
.IR intro (9p),
.IR 9pclient (3)
.MR 9pclient (3)

View file

@ -58,7 +58,7 @@ uses the imported value of
.B $font
if set; otherwise it uses the graphics system default.
(See
.IR font (7)
.MR font (7)
for a full discussion of font syntaxes.)
.PP
.I 9term
@ -96,7 +96,7 @@ Characters typed on the keyboard replace the selected text;
if this text is not empty, it is placed in a
.I snarf buffer
common to all windows but distinct from that of
.IR sam (1).
.MR sam (1) .
.PP
Programs access the text in the window at a single point
maintained automatically by
@ -163,7 +163,7 @@ and erases the character before the word.
.PP
An ACK character (control-F) or Insert character triggers file name completion
for the preceding string (see
.IR complete (3)).
.MR complete (3) ).
.PP
Text may be moved vertically within the window.
A scroll bar on the left of the window shows in its clear portion what fragment of the
@ -201,7 +201,7 @@ EOT, so the terminal must be set up with EOT
as the ``eof'' character.
.I 9term
runs
.IR stty (1)
.MR stty (1)
to establish this when the terminal is created.
.PP
.I 9term
@ -231,13 +231,13 @@ are a few common ones where they fall short.
First, programs using the GNU readline library typically
disable terminal echo and perform echoing themselves.
The most common example is the shell
.IR bash (1).
.MR bash (1) .
Disabling the use of readline with
.RB `` "set +o emacs" ''
.RI [ sic ]
usually restores the desired behavior.
Second, remote terminal programs such as
.IR ssh (1)
.MR ssh (1)
typically run with echo disabled, relying on the
remote system to echo characters as desired.
Plan 9's
@ -279,7 +279,7 @@ The
menu item sends the contents of the selection (not the snarf buffer) to the
.I plumber
(see
.IR plumb (1)).
.MR plumb (1) ).
If the selection is empty, it sends the white-space-delimited text
containing the selection (typing cursor).
A typical use of this feature is to tell the editor to find the source of an error
@ -323,7 +323,7 @@ Not a
.IR 9term
bug:
when running
.IR bash (1)
.MR bash (1)
in
.RB `` "set +o emacs" ''
mode, its handling of interrupts is broken.
@ -334,4 +334,4 @@ character typed.
.PP
Unix makes everything harder.
.SH SEE ALSO
.IR wintext (1)
.MR wintext (1)

View file

@ -70,7 +70,7 @@ at startup; see below.
.BI -m " machine
Assume instructions are for the given CPU type
(see
.IR mach (3))
.MR mach (3) )
instead of using the executable header to select
the CPU type.
.TP
@ -145,7 +145,7 @@ subscripts counted from 0.
.BI delete " list", " subscript
.PP
Format codes are the same as in
.IR db (1).
.MR db (1) .
Formats may be attached to (unary) expressions with
.BR \e ,
e.g.
@ -230,7 +230,7 @@ Print 10 lines of source around the program address.
.BI Bsrc( address )
Get the source line for the program address
into a window of a running
.IR sam (1)
.MR sam (1)
and select it.
.TP
.BI line( address )
@ -323,7 +323,7 @@ Make the given process current.
.TP
.BI rc( string )
Escape to the shell,
.IR rc (1),
.MR rc (1) ,
to execute the command string.
.TP
.BI include( string )
@ -449,7 +449,7 @@ notation)
.BR *array .
.PP
Trace the system calls executed by
.IR ls (1)
.MR ls (1)
(neither does this one):
.IP
.EX
@ -503,8 +503,8 @@ acid: cont()
.SH SOURCE
.B \*9/src/cmd/acid
.SH "SEE ALSO"
.IR mk (1),
.IR db (1)
.MR mk (1) ,
.MR db (1)
.br
Phil Winterbottom,
``Acid Manual''.

View file

@ -45,7 +45,7 @@ The interactive interface uses the keyboard and mouse; external programs
use a set of files served by
.IR acme ;
these are discussed in
.IR acme (4).
.MR acme (4) .
.PP
Any named
.I files
@ -86,7 +86,7 @@ The
option instructs
.I acme
to use FUSE (see
.IR 9pfuse (4))
.MR 9pfuse (4) )
to mount itself at
.IR mtpt .
(Experimental.)
@ -98,10 +98,10 @@ windows are in two parts: a one-line
above a multi-line
.IR body .
The body typically contains an image of a file, as in
.IR sam (1),
.MR sam (1) ,
or the output of a
program, as in an
.IR rio (1)
.MR rio (1)
window.
The tag contains a number of
blank-separated words, followed by a vertical bar character, followed by anything.
@ -118,9 +118,9 @@ a slash.
.SS Scrolling
Each window has a scroll bar to the left of the body.
The scroll bar behaves much as in
.IR sam (1)
.MR sam (1)
or
.IR rio (1)
.MR rio (1)
except that scrolling occurs when the button is pressed, rather than released,
and continues
as long as the mouse button is held down in the scroll bar.
@ -131,7 +131,7 @@ down the scroll bar speeds up the rate of scrolling.
.B -r
reverses the scrolling behavior of buttons 1 and 3, to behave
more like
.IR xterm (1).)
.MR xterm (1) .)
.SS Layout
.I Acme
windows are arranged in columns. By default, it creates two columns when starting;
@ -164,7 +164,7 @@ pre-loads them with useful commands.
Also, the tag across the top maintains a list of executing long-running commands.
.SS Typing
The behavior of typed text is similar to that in
.IR rio (1)
.MR rio (1)
except that the characters are delivered to the tag or body under the mouse; there is no
`click to type'.
(The experimental option
@ -172,7 +172,7 @@ except that the characters are delivered to the tag or body under the mouse; the
causes typing to go to the most recently clicked-at or made window.)
The usual backspacing conventions apply.
As in
.IR sam (1)
.MR sam (1)
but not
.IR rio ,
the ESC key selects the text typed since the last mouse action,
@ -249,7 +249,7 @@ is identified by the context of the command.
These error windows are created when needed.
.SS "Mouse button 1
Mouse button 1 selects text just as in
.IR sam (1)
.MR sam (1)
or
.IR rio (1) ,
including the usual double-clicking conventions.
@ -305,7 +305,7 @@ by default.
.TP
.B Edit
Treat the argument as a text editing command in the style of
.IR sam (1).
.MR sam (1) .
The full
.B Sam
language is implemented except for the commands
@ -379,7 +379,7 @@ With no arguments,
prints the supplementary list.
This command is largely superseded by plumbing
(see
.IR plumb (7)).
.MR plumb (7) ).
.TP
.B Indent
Set the autoindent mode according to the argument:
@ -507,7 +507,7 @@ If the text indicated with button 2 is not a recognized built-in, it is executed
a shell command. For example, indicating
.B date
with button 2 runs
.IR date (1).
.MR date (1) .
The standard
and error outputs of commands are sent to the error window associated with
the directory from which the command was run, which will be created if
@ -525,7 +525,7 @@ in a window containing
executing
.B mk
will run
.IR mk (1)
.MR mk (1)
in
.BR /home/rob/sam ,
producing output in a window labeled
@ -539,12 +539,12 @@ and
.B $winid
set to the window's id number
(see
.IR acme (4)).
.MR acme (4) ).
.PP
The environment variable
.B $acmeshell
determines which shell is used to execute such commands; the
.IR rc (1)
.MR rc (1)
shell is used by default.
.SS "Mouse button 3
Pointing at text with button 3 instructs
@ -574,7 +574,7 @@ command adds directories to the standard list.)
.PP
If the text begins with a colon, it is taken to be an address, in
the style of
.IR sam (1),
.MR sam (1) ,
within the body of the window containing the text.
The address is evaluated, the resulting text highlighted, and the mouse moved to it.
Thus, in
@ -644,7 +644,7 @@ then execute
clicking button 1 while 2 is held down.
.PP
When an external command (e.g.
.IR echo (1))
.MR echo (1) )
is executed this way, the extra argument is passed as expected and an
environment variable
.B $acmeaddr
@ -677,7 +677,7 @@ window and runs a
(default
.BR $SHELL )
in it, turning the window into something analogous to an
.IR 9term (1)
.MR 9term (1)
window.
Executing text in a
.I win
@ -686,7 +686,7 @@ window with button
.BR Send .
.I Win
windows follow the same scrolling heuristic as in
.IR 9term (1):
.MR 9term (1) :
the window scrolls on output only if the window is displaying the end of the buffer.
.PP
.I Awd
@ -774,7 +774,7 @@ MIPS-specific binaries for applications
.br
.B \*9/bin/awd
.SH SEE ALSO
.IR acme (4)
.MR acme (4)
.br
Rob Pike,
.I

View file

@ -61,7 +61,7 @@ acmeevent, acme.rc \- shell script support for acme clients
and
.I acme.rc
make it easy to write simple
.IR acme (1)
.MR acme (1)
client programs as shell scripts.
.PP
.I Acme
@ -69,14 +69,14 @@ clients read the
.B event
files
(see
.IR acme (4))
.MR acme (4) )
for the windows they control, reacting to the events.
The events are presented in a format that is easy to read with C programs
but hard to read with shell scripts.
.PP
.I Acmeevent
reads an
.IR acme (4)
.MR acme (4)
event stream from standard input, printing a shell-friendly
version of the events, one per line, on standard output.
Each output line from
@ -165,7 +165,7 @@ above);
below).
.I Flag
remains from the
.IR acme (4)
.MR acme (4)
event format.
Because
.IR eq0 ,
@ -174,7 +174,7 @@ and
.I chordarg
are explicit in each event
(unlike in
.IR acme (4)
.MR acme (4)
events),
.I flag
can usually be ignored.
@ -221,7 +221,7 @@ window.
.PP
.I Acme.rc
is a library of
.IR rc (1)
.MR rc (1)
shell functions useful for writing acme clients.
.PP
.I Newwindow
@ -259,14 +259,14 @@ The most commonly-used command is
.BR clean ,
which marks the window as clean.
See
.IR acme (4)
.MR acme (4)
for a full list of commands.
.PP
.I Windump
sets the window's dump directory
and dump command
(see
.IR acme (4)).
.MR acme (4) ).
If either argument is omitted or is
.BR - ,
that argument is not set.
@ -381,9 +381,9 @@ for the full implementation.
.br
.B \*9/lib/acme.rc
.SH SEE ALSO
.IR acme (1),
.IR acme (4),
.IR rc (1)
.MR acme (1) ,
.MR acme (4) ,
.MR rc (1)
.SH BUGS
There is more that could be done to ease the writing
of complicated clients.

View file

@ -91,7 +91,7 @@ control characters or insert newlines.
is similar; it converts between
.SM UTF
and character values from the Unicode Standard (see
.IR utf (7)).
.MR utf (7) ).
If given a range of hexadecimal numbers,
.I unicode
prints a table of the specified Unicode characters \(em their values and
@ -126,7 +126,7 @@ The file
contains a
table of characters and descriptions, sorted in hexadecimal order,
suitable for
.IR look (1)
.MR look (1)
on the lower case
.I hex
values of characters.
@ -154,7 +154,7 @@ table of characters and descriptions.
.br
.B \*9/src/cmd/unicode.c
.SH "SEE ALSO"
.IR look (1),
.IR tcs (1),
.IR utf (7),
.IR font (7)
.MR look (1) ,
.MR tcs (1) ,
.MR utf (7) ,
.MR font (7)

View file

@ -114,7 +114,7 @@ default latitude (N), longitude (W), and elevation (meters)
.SH SOURCE
.B \*9/src/cmd/astro
.SH SEE ALSO
.IR scat (1)
.MR scat (1)
.SH BUGS
The
.B k

View file

@ -377,7 +377,7 @@ Patterns are arbitrary Boolean combinations
of regular expressions and
relational expressions.
Regular expressions are as in
.IR regexp (7).
.MR regexp (7) .
Isolated regular expressions
in a pattern apply to the entire line.
Regular expressions may also occur in
@ -534,8 +534,8 @@ BEGIN { # Simulate echo(1)
.SH SOURCE
.B \*9/src/cmd/awk
.SH SEE ALSO
.IR sed (1),
.IR regexp (7),
.MR sed (1) ,
.MR regexp (7) ,
.br
A. V. Aho, B. W. Kernighan, P. J. Weinberger,
.I

View file

@ -218,7 +218,7 @@ Assignment to
.B scale
influences the number of digits to be retained on arithmetic
operations in the manner of
.IR dc (1).
.MR dc (1) .
Assignments to
.B ibase
or
@ -235,7 +235,7 @@ empty square brackets must follow the array name.
.PP
.I Bc
is actually a preprocessor for
.IR dc (1),
.MR dc (1) ,
which it invokes automatically, unless the
.B -c
(compile only)
@ -273,7 +273,7 @@ mathematical library
.B \*9/src/cmd/bc.y
.SH "SEE ALSO"
.IR dc (1),
.IR hoc (1)
.MR hoc (1)
.SH BUGS
No
.LR && ,

View file

@ -7,20 +7,20 @@ bundle \- collect files for distribution
.SH DESCRIPTION
.I Bundle
writes on its standard output a shell script for
.IR rc (1)
.MR rc (1)
or a Bourne shell
which, when executed,
will recreate the original
.IR files .
Its main use is for distributing small numbers of text files by
.IR mail (1).
.MR mail (1) .
.PP
Although less refined than standard archives from
.I 9ar
(see
.IR 9c (1))
.MR 9c (1) )
or
.IR tar (1),
.MR tar (1) ,
a
.IR bundle
file
@ -49,7 +49,7 @@ cd gift; sh horse; mk
(in
.IR 9c (1)),
.IR tar (1),
.IR mail (1)
.MR mail (1)
.SH BUGS
.I Bundle
will not create directories and is unsatisfactory for non-text files.

View file

@ -43,7 +43,7 @@ processing at the end of the week.
On Friday and Saturday, events through Monday are printed.
.PP
To have your calendar mailed to you every day, use
.IR cron (8).
.MR cron (8) .
.SH FILES
.TF $HOME/lib/calendar
.TP

View file

@ -51,7 +51,7 @@ copies to standard output exactly one line from the named
.IR file ,
default standard input.
It is useful in interactive
.IR rc (1)
.MR rc (1)
scripts.
.PP
The
@ -76,11 +76,11 @@ characters and the characters that precede them.
It is useful to use as
.B $PAGER
with the Unix version of
.IR man (1)
.MR man (1)
when run inside a
.I win
(see
.IR acme (1))
.MR acme (1) )
window.
.SH SOURCE
.B \*9/src/cmd/cat.c
@ -89,7 +89,7 @@ window.
.br
.B \*9/bin/nobs
.SH SEE ALSO
.IR cp (1)
.MR cp (1)
.SH DIAGNOSTICS
.I Read
exits with status

View file

@ -29,4 +29,4 @@ before processing.
.SH SOURCE
.B \*9/src/cmd/cleanname.c
.SH SEE ALSO
.IR cleanname (3).
.MR cleanname (3) .

View file

@ -14,11 +14,11 @@ and half line feeds (ESC-9 and ESC-8)
as produced by
.I nroff
for .2C in
.IR ms (7)
.MR ms (7)
or
.IR man (7)
.MR man (7)
and for
.IR tbl (1).
.MR tbl (1) .
.I Col
is a pure filter.
It normally emits only full line feeds;
@ -47,7 +47,7 @@ paginate the output.
.SH SOURCE
.B \*9/src/cmd/col.c
.SH SEE ALSO
.IR pr (1)
.MR pr (1)
.SH BUGS
.I Col
can't back up more than 128 lines or

View file

@ -17,13 +17,13 @@ colors, cmapcube \- display color map
.I Colors
presents a grid showing the colors in the RGBV color map
(see
.IR color (7)).
.MR color (7) ).
.PP
Clicking mouse button 1 over a color in the grid will display the map index for that color,
its
red, green, and blue components,
and the 32-bit hexadecimal color value as defined in
.IR allocimage (3).
.MR allocimage (3) .
If the
.B -x
option is specified, the components will also be listed in hexadecimal.
@ -53,4 +53,4 @@ to black or white.
.SH SOURCE
.B \*9/src/cmd/draw/colors.c
.SH SEE ALSO
.IR color (7)
.MR color (7)

View file

@ -41,7 +41,7 @@ Print lines common to two sorted files.
.SH SOURCE
.B \*9/src/cmd/comm.c
.SH "SEE ALSO"
.IR sort (1),
.MR sort (1) ,
.IR cmp (1),
.IR diff (1),
.IR uniq (1)
.MR uniq (1)

View file

@ -35,7 +35,7 @@ The
command, if run, prints a stack trace of the
executing thread at the time of the core dump;
see
.IR db (1).
.MR db (1) .
.PP
If no arguments are given,
.I core
@ -50,6 +50,6 @@ searches the current directory.
.SH SOURCE
.B \*9/src/cmd/core.c
.SH "SEE ALSO
.IR acid (1),
.IR db (1),
.IR core (5)
.MR acid (1) ,
.MR db (1) ,
.MR core (5)

View file

@ -53,9 +53,9 @@ crop, iconv \- frame, crop, and convert image
.SH DESCRIPTION
.I Crop
reads an
.IR image (7)
.MR image (7)
file (default standard input), crops it, and writes it as a compressed
.IR image (7)
.MR image (7)
file to standard output.
There are two ways to specify a crop, by color value or by geometry.
They may be combined in a single run of
@ -65,7 +65,7 @@ in which case the color value crop will be done first.
The
.B -c
option takes a red-green-blue triplet as described in
.IR color (3).
.MR color (3) .
(For example, white
is
.B 255
@ -118,7 +118,7 @@ changes the format of pixels in the image
Pixels in the image are converted according to the channel descriptor
.IR chandesc ,
(see
.IR image (7)).
.MR image (7) ).
For example, to convert a 4-bit-per-pixel grey-scale image to an 8-bit-per-pixel
color-mapped image,
.I chandesc
@ -139,8 +139,8 @@ crop -c 255 255 255 -i -10 -b 255 150 150 imagefile > cropped
.SH SOURCE
.B \*9/src/cmd/draw/crop.c
.SH SEE ALSO
.IR image (7),
.IR color (3)
.MR image (7) ,
.MR color (3)
.SH BUGS
.I Iconv
should be able to do Floyd-Steinberg error diffusion or dithering

View file

@ -28,7 +28,7 @@ epoch, 00:00:00 GMT, January 1, 1970.
The conversion from Greenwich Mean Time to local time depends on the
.B $timezone
environment variable; see
.IR ctime (3).
.MR ctime (3) .
.PP
If the optional argument
.I seconds

View file

@ -45,11 +45,11 @@ specifies the memory image of a process.
A
.I pid
gives the id of an executing process to be accessed via
.IR ptrace (2).
.MR ptrace (2) .
A
.I corefile
specifies the name of a core dump (see
.IR core (5)
.MR core (5)
on your system of choice) containing the
memory image of a terminated process.
This manual refers to the memory image specified by
@ -628,7 +628,7 @@ Dot is assigned to the variable or register named.
.TP
.B !
The rest of the line is passed to
.IR rc (1)
.MR rc (1)
for execution.
.TP
.BI $ modifier
@ -969,8 +969,8 @@ is one the breakpoint will fire.
Beware that local variables may be stored in registers; see the
BUGS section.
.SH "SEE ALSO"
.IR acid (1),
.IR core (1)
.MR acid (1) ,
.MR core (1)
.SH SOURCE
.B \*9/src/cmd/db
.SH DIAGNOSTICS

View file

@ -235,8 +235,8 @@ lyx
.SH SOURCE
.B \*9/src/cmd/dc.c
.SH "SEE ALSO"
.IR bc (1),
.IR hoc (1)
.MR bc (1) ,
.MR hoc (1)
.SH DIAGNOSTICS
.I x
.LR "is unimplemented" ,

View file

@ -191,7 +191,7 @@ options become a simple file copy.
.SH SOURCE
.B \*9/src/cmd/dd.c
.SH "SEE ALSO"
.IR cp (1)
.MR cp (1)
.SH DIAGNOSTICS
.I Dd
reports the number of full + partial input and output

View file

@ -16,13 +16,13 @@ reads each file in sequence
and removes all
.I nroff
and
.IR troff (1)
.MR troff (1)
requests and non-text arguments, backslash constructions,
and constructs of preprocessors such as
.IR eqn (1),
.IR pic (1),
.MR eqn (1) ,
.MR pic (1) ,
and
.IR tbl (1).
.MR tbl (1) .
Remaining text is written on the standard output.
.I Deroff
follows files included by
@ -67,7 +67,7 @@ requests.
Remove titles, attachments, etc., as well as ordinary
.IR troff
constructs, from
.IR ms (7)
.MR ms (7)
or
.I mm
documents.
@ -84,7 +84,7 @@ does for
and
.I latex
(see
.IR tex (1))
.MR tex (1) )
files what
.B deroff -wi
does for
@ -96,8 +96,8 @@ files.
.B \*9/src/cmd/delatex.lx
.SH "SEE ALSO"
.IR troff (1),
.IR tex (1),
.IR spell (1)
.MR tex (1) ,
.MR spell (1)
.SH BUGS
These filters are not complete interpreters of
.I troff

View file

@ -5,7 +5,7 @@ devdraw \- draw device simulator
invoked via
.I initdraw
(see
.IR graphics (3))
.MR graphics (3) )
.SH DESCRIPTION
.I Devdraw
serves a custom graphics protocol and is the only program
@ -20,9 +20,9 @@ to use all available physical pixels on a retina display.
.SH SOURCE
.B \*9/src/cmd/devdraw
.SH "SEE ALSO
.IR draw (3),
.IR drawfcall (3),
.IR graphics (3)
.MR draw (3) ,
.MR drawfcall (3) ,
.MR graphics (3)
.SH BUGS
.I Devdraw
should probably present a standard 9P server

View file

@ -12,7 +12,7 @@ dial \- connect to a remote service
connects to the network address
.I addr
(see
.IR dial (3))
.MR dial (3) )
and then copies data from the connection to standard output,
and from standard input to the connection.
.PP
@ -27,4 +27,4 @@ to exit only in response to end of file on the network connection.
.SH SOURCE
.B \*9/src/cmd/dial.c
.SH SEE ALSO
.IR dial (3)
.MR dial (3)

View file

@ -53,7 +53,7 @@ Print a pronunciation key.
.PD
.PP
Patterns are regular expressions (see
.IR regexp (7)),
.MR regexp (7) ),
with an implicit leading
.L ^
and trailing
@ -154,7 +154,7 @@ searches for dictionaries in the directory named by
.PP
.I Adict
is a dictionary browser for
.IR acme (1).
.MR acme (1) .
When run with no arguments, it creates a new
.I acme
window named
@ -193,7 +193,7 @@ window.
dictionaries
.PD
.SH "SEE ALSO"
.IR regexp (7)
.MR regexp (7)
.SH SOURCE
.B \*9/src/cmd/dict
.br

View file

@ -19,7 +19,7 @@ two directories are compared by the method of
.I diff
for text
files and
.IR cmp (1)
.MR cmp (1)
otherwise.
If more than two file names are given, then each argument is compared
to the last argument as above.
@ -140,9 +140,9 @@ differences.
.SH SOURCE
.B \*9/src/cmd/diff
.SH "SEE ALSO"
.IR cmp (1),
.IR comm (1),
.IR ed (1)
.MR cmp (1) ,
.MR comm (1) ,
.MR ed (1)
.SH DIAGNOSTICS
Exit status is the empty string
for no differences,

View file

@ -17,16 +17,16 @@ doctype \- intuit command line for formatting a document
.SH DESCRIPTION
.I Doctype
examines a
.IR troff (1)
.MR troff (1)
input file to deduce the appropriate text formatting command
and prints it on standard output.
.I Doctype
recognizes input for
.IR troff (1),
.MR troff (1) ,
related preprocessors like
.IR eqn (1),
.MR eqn (1) ,
and the
.IR ms (7)
.MR ms (7)
and
.I mm
macro packages.
@ -56,8 +56,8 @@ Typeset files named
.IR eqn (1),
.IR tbl (1),
.IR pic (1),
.IR grap (1),
.IR ms (7),
.IR man (7)
.MR grap (1) ,
.MR ms (7) ,
.MR man (7)
.SH BUGS
In true A.I. style, its best guesses are inspired rather than accurate.

View file

@ -96,7 +96,7 @@ beginning of a line.
supports the
.I "regular expression"
notation described in
.IR regexp (7).
.MR regexp (7) .
Regular expressions are used in addresses to specify
lines and in one command
(see
@ -641,7 +641,7 @@ Dot is unchanged.
Send the remainder of the line after the
.L !
to
.IR rc (1)
.MR rc (1)
to be interpreted as a command.
Dot is unchanged.
.TP
@ -679,9 +679,9 @@ and all characters after the last newline.
.SH SOURCE
.B \*9/src/cmd/ed.c
.SH "SEE ALSO"
.IR sam (1),
.IR sed (1),
.IR regexp (7)
.MR sam (1) ,
.MR sed (1) ,
.MR regexp (7)
.SH DIAGNOSTICS
.BI ? name
for inaccessible file;

View file

@ -15,7 +15,7 @@ eqn \- typeset mathematics
.SH DESCRIPTION
.I Eqn
is a
.IR troff (1)
.MR troff (1)
preprocessor
for typesetting mathematics
on a typesetter.
@ -34,7 +34,7 @@ named in the
option (default
.BR -Tutf ;
see
.IR troff (1)).
.MR troff (1) ).
When run with other preprocessor filters,
.I eqn
usually comes last.
@ -299,7 +299,7 @@ Mathematical words like
.LR cos ,
.L log
are made Roman automatically.
.IR Troff (1)
.MR Troff (1)
four-character escapes like
.L \e(lh
(\(lh) can be used anywhere.
@ -319,7 +319,7 @@ font descriptions for PostScript
.B \*9/src/cmd/eqn
.SH "SEE ALSO"
.IR troff (1),
.IR tbl (1)
.MR tbl (1)
.br
J. F. Ossanna and B. W. Kernighan,
``Troff User's Manual''.

View file

@ -36,5 +36,5 @@ character, respectively.
.SH SOURCE
.B \*9/src/cmd/freq.c
.SH SEE ALSO
.IR utf (7),
.IR wc (1)
.MR utf (7) ,
.MR wc (1)

View file

@ -1,5 +1,5 @@
.TH GIT 1
.SH NAME
.SH NAME
git, hg, cvs, codereview \- introduction to using plan9port Git repository
.SH SYNOPSIS
.B git
@ -17,7 +17,7 @@ git, hg, cvs, codereview \- introduction to using plan9port Git repository
.I path ...
]
.PP
.B gitk
.B gitk
.PP
.B web
.B https://9fans.github.io/plan9port
@ -37,13 +37,13 @@ which it will create.
After
.B git
.BR clone ,
the other commands listed
the other commands listed
should be run within the
.B plan9
directory tree.
.PP
Git downloads the entire revision history
of Plan 9 from User Space
of Plan 9 from User Space
in addition to the current tree.
.PP
.I Git
@ -55,7 +55,7 @@ current file tree.
.I Git
.I diff
runs Unix's
.IR diff (1)
.MR diff (1)
to compare the files in the local tree with the corresponding
files in the revision history.
The special revision
@ -76,7 +76,7 @@ directory containing Git local repository
list of files and wildcards to exclude from Git operations
.SH SEE ALSO
Unix's
\fIgit\fR(1),
.IR git (1),
.HR http://git-scm.com/doc
.PP
.HR https://9fans.github.io/plan9port/

View file

@ -9,7 +9,7 @@ grap \- pic preprocessor for drawing graphs
.SH DESCRIPTION
.I Grap
is a
.IR pic (1)
.MR pic (1)
preprocessor for drawing graphs on a typesetter.
Graphs are surrounded by the
.I troff
@ -407,7 +407,7 @@ definitions of standard plotting characters, e.g., bullet
.B \*9/src/cmd/grap
.SH "SEE ALSO"
.IR pic (1),
.IR troff (1)
.MR troff (1)
.br
J. L. Bentley and B. W. Kernighan,
``GRAP\(emA Language for Typesetting Graphs'',

View file

@ -89,7 +89,7 @@ The next argument is
Next argument is one or more of the characters
.B bcgkmrwy,
choosing pen colors by their initial letter, as in
.IR plot (7).
.MR plot (7) .
Successive curves will cycle through the colors in the given order.
.TP
.B -s
@ -145,7 +145,7 @@ is reversed.
.B \*9/src/cmd/graph
.SH "SEE ALSO"
.IR plot (1),
.IR grap (1)
.MR grap (1)
.SH BUGS
Segments that run out of bounds are dropped, not windowed.
Logarithmic axes may not be reversed.

View file

@ -27,7 +27,7 @@ searches the input
for lines that match the
.IR pattern ,
a regular expression as defined in
.IR regexp (7)
.MR regexp (7)
with the addition of a newline character as an alternative
(substitute for
.BR | )
@ -114,11 +114,11 @@ If no files are listed, it searches all files matching
.br
.B \*9/bin/g
.SH SEE ALSO
.IR ed (1),
.IR awk (1),
.IR sed (1),
.IR sam (1),
.IR regexp (7)
.MR ed (1) ,
.MR awk (1) ,
.MR sed (1) ,
.MR sam (1) ,
.MR regexp (7)
.SH DIAGNOSTICS
Exit status is null if any lines are selected,
or non-null when no lines are selected or an error occurs.

View file

@ -144,7 +144,7 @@ awk 'BEGIN{for(x=.1;x<500;x+=.1)print x,sin(x)/x}' | gview
.SH SOURCE
.B \*9/src/cmd/draw/gview.c
.SH SEE ALSO
.IR awk (1)
.MR awk (1)
.SH BUGS
The user interface for the
.I slant

View file

@ -150,8 +150,8 @@ Produce debugging output.
.br
.B \*9/src/cmd/bzip2
.SH SEE ALSO
.IR tar (1),
.IR compress (1)
.MR tar (1) ,
.MR compress (1)
.SH BUGS
.I Unzip
can only extract files which are uncompressed or compressed

View file

@ -41,7 +41,7 @@ option enables verbose debugging printout.
The
.B -d
option causes
.IR diff (1)
.MR diff (1)
.B -c
to be run for each adjacent pair of dump files, while
.B -b
@ -73,11 +73,11 @@ by convention, root of dump file system
.SH SOURCE
.B \*9/src/cmd/hist.c
.SH SEE ALSO
.IR yesterday (1),
.IR vbackup (8)
.MR yesterday (1) ,
.MR vbackup (8)
.SH BUGS
Should be called
.IR history ,
but
that name is taken by
.IR sh (1).
.MR sh (1) .

View file

@ -133,8 +133,8 @@ for(i=1; i<12; i++) print gcd(i,12)
.SH SOURCE
.B \*9/src/cmd/hoc
.SH "SEE ALSO"
.IR bc (1),
.IR dc (1)
.MR bc (1) ,
.MR dc (1)
.br
B. W. Kernighan and R. Pike,
.I

View file

@ -21,7 +21,7 @@ htmlroff \- HTML formatting and typesetting
.SH DESCRIPTION
.I Htmlroff
accepts
.IR troff (1)
.MR troff (1)
input in the named
.I files
and formats it as HTML for viewing in a web browser.
@ -63,7 +63,7 @@ HTML entity sequences
and so on).
.I Htmlroff
invokes
.IR tcs (1)
.MR tcs (1)
for the conversion.
.TP
.B -v
@ -73,7 +73,7 @@ Generate debugging output and warnings about suspicious input.
Most
.I troff
input files, especially those using the
.IR ms (7)
.MR ms (7)
macros, can be used unaltered.
In general, the macro file
.B tmac.html
@ -83,10 +83,10 @@ as in
.B -ms
.BR -mhtml .
.PP
.IR Htmlroff (7)
.MR Htmlroff (7)
describes the changes to the input language.
.PP
.IR Mhtml (7)
.MR Mhtml (7)
describes the new macros.
.SH EXAMPLES
Format the Plan 9 web page:
@ -113,7 +113,7 @@ to Unicode characters like α.
.SH SOURCE
.B \*9/src/cmd/htmlroff
.SH "SEE ALSO
.IR tcs (1),
.IR troff (1),
.IR htmlroff (7),
.IR mhtml (7)
.MR tcs (1) ,
.MR troff (1) ,
.MR htmlroff (7) ,
.MR mhtml (7)

View file

@ -50,7 +50,7 @@ and prompt again.
.PP
.I Idiff
invokes
.IR diff (1)
.MR diff (1)
to compare the files.
The
.B -b
@ -66,7 +66,7 @@ passed to
.SH SOURCE
.B \*9/src/cmd/idiff.c
.SH "SEE ALSO
.IR diff (1)
.MR diff (1)
.br
Kernighan and Pike,
.IR "The Unix Programming Environment" ,

View file

@ -15,7 +15,7 @@ cd \*9; ./INSTALL
.SH DESCRIPTION
To obtain the Plan 9 tree, use Git
(see
.IR git (1))
.MR git (1) )
or download a tar file from
.HR https://9fans.github.io/plan9port "" .
.PP
@ -25,7 +25,7 @@ usual place is
In the root of the tree, run
.BR ./INSTALL .
This script builds the Plan 9 build program
.IR mk (1)
.MR mk (1)
if necessary,
cleans all previously built object files and libraries out of the tree,
rebuilds and installs everything, and then cleans up.
@ -101,7 +101,7 @@ with single quotes.
.PP
On most Linux systems, the X11 header packages need to be installed
to build using X11. On Debian. the required packages are
libx11-dev, libxext-dev, and libxt-dev.
libfontconfig1-dev, libx11-dev, libxext-dev, and libxt-dev.
On Ubuntu, it suffices to install xorg-dev.
.PP
.I INSTALL
@ -109,7 +109,7 @@ can safely be repeated to rebuild the system from scratch.
.PP
Once the system is built for the first time,
it can be maintained and rebuilt using
.IR mk (1).
.MR mk (1) .
To rebuild individual commands or libraries,
run
.B mk
@ -119,7 +119,7 @@ and
.B clean
in the appropriate source directory
(see
.IR src (1)).
.MR src (1) ).
.SH FILES
.TP
.B \*9/lib/moveplan9.files
@ -132,7 +132,7 @@ the script that edits the files
.TP
.B \*9/src/mkmk.sh
the shell script used to build
.IR mk (1)
.MR mk (1)
.TP
.B \*9/dist/manweb
the shell script that builds the HTML manual
@ -148,5 +148,5 @@ logged output from the last run of
a summary of
.B install.log
.SH SEE ALSO
.IR intro (1),
.IR git (1)
.MR intro (1) ,
.MR git (1)

View file

@ -114,7 +114,7 @@ birthdays empty.
The layout of
.B /adm/users
is given in
.IR passwd (5);
.MR passwd (5) ;
.B bdays
contains sorted lines like
.LR "ken:Feb\ 4,\ 1953" .
@ -132,7 +132,7 @@ Print all pairs of users with identical userids.
.SH "SEE ALSO"
.IR sort (1),
.IR comm (1),
.IR awk (1)
.MR awk (1)
.SH BUGS
With default field separation,
the collating sequence is that of

View file

@ -122,7 +122,7 @@ Typing a
.BR q ,
DEL, or control-D exits the program.
For a more user-friendly interface, use
.IR page (1),
.MR page (1) ,
which invokes these programs to convert the images to standard format,
displays them, and offers scrolling, panning, and menu-driven navigation among the files.
.PP
@ -147,7 +147,7 @@ any of the following options:
.TP
.B -c
Convert the image to a Plan 9 representation, as defined by
.IR image (7),
.MR image (7) ,
and write it to standard output.
.TP
.B -9
@ -156,7 +156,7 @@ Like
but produce an uncompressed image.
This saves processing time, particularly when the output is
being piped to another program such as
.IR page (1),
.MR page (1) ,
since it avoids compression and decompression.
.TP
.B -t
@ -235,8 +235,8 @@ space in the image. The icon file is written to standard output.
.SH SOURCE
.B \*9/src/cmd/jpg
.SH "SEE ALSO"
.IR page (1),
.IR image (7).
.MR page (1) ,
.MR image (7) .
.SH BUGS
Writing an animated GIF using
.I togif

View file

@ -19,18 +19,18 @@ prints commands that will cause all processes with
.I name
and owned by the current user to be terminated.
Each command is commented with an output line from
.IR ps (1)
.MR ps (1)
describing the process that would be killed.
Use the
.B send
command of
.IR 9term (1),
.MR 9term (1) ,
or pipe the output of
.I kill
into
.IR rc (1)
.MR rc (1)
or
.IR sh (1)
.MR sh (1)
to execute the commands.
.PP
.I Kill
@ -60,8 +60,8 @@ signal.
.SH SOURCE
.B \*9/bin
.SH "SEE ALSO"
.IR ps (1),
.IR notify (3)
.MR ps (1) ,
.MR notify (3)
.SH BUGS
.I Stop
and

View file

@ -14,12 +14,12 @@ label, awd \- set window label
sets the label of the current
.I win
(see
.IR acme (1))
.MR acme (1) )
or X terminal window
.RI ( e.g.,
.IR 9term (1)
.MR 9term (1)
or
.IR xterm (1))
.MR xterm (1) )
by echoing a special control sequence to standard output.
.PP
.I Acme
@ -38,7 +38,7 @@ sets the window name to the current directory with a
suffix, using the name of the current system by default.
.SH EXAMPLE
One can use the following
.IR sh (1)
.MR sh (1)
function to keep the label up-to-date in response to
.I cd
commands:
@ -55,7 +55,7 @@ alias cd=_cd
cd .
.EE
.PP
.IR Rc (1)
.MR Rc (1)
installs a similar
.B fn
.B cd
@ -77,4 +77,4 @@ fn cd {
.SH BUGS
.I Awd
is also documented in
.IR acme (1).
.MR acme (1) .

View file

@ -65,7 +65,7 @@ output
template
.SH "SEE ALSO"
.IR yacc (1),
.IR sed (1)
.MR sed (1)
.br
M. E. Lesk and E. Schmidt,
`LEX\(emLexical Analyzer Generator',

View file

@ -74,7 +74,7 @@ is assumed, with collating sequence
.B \*9/src/cmd/look.c
.SH "SEE ALSO"
.IR sort (1),
.IR grep (1)
.MR grep (1)
.SH DIAGNOSTICS
The exit status is
.RB `` "not found" ''

View file

@ -29,7 +29,7 @@ is the same as
but sets the
.B -p
option and pipes the output through
.IR mc (1).
.MR mc (1) .
.PP
There are a number of options:
.TP
@ -42,7 +42,7 @@ List in long format, giving mode (see below), file system type
(e.g., for devices, the
.B #
code letter that names it; see
.IR intro (3)),
.MR intro (3) ),
the instance or subdevice number, owner, group,
size in bytes, and time of last modification
for each file.
@ -60,7 +60,7 @@ Print only the final path element of each file name.
List the
.I qid
(see
.IR stat (3))
.MR stat (3) )
of each file; the printed fields are in the order
path, version, and type.
.TP
@ -99,7 +99,7 @@ otherwise.
.TP
.B -Q
By default, printed file names are quoted if they contain characters special to
.IR rc (1).
.MR rc (1) .
The
.B -Q
flag disables this behavior.
@ -168,5 +168,5 @@ if none of the above permissions is granted.
.br
.B \*9/bin/lc
.SH SEE ALSO
.IR stat (3),
.IR mc (1)
.MR stat (3) ,
.MR mc (1)

View file

@ -45,7 +45,7 @@ The options are:
.TP
.B -h
Print the pages to HTML and send to a web browser with
.IR web (1).
.MR web (1) .
.TP
.B -n
(Default)
@ -54,17 +54,17 @@ Print the pages on the standard output using
.TP
.B -p
Run
.IR proof (1)
.MR proof (1)
on the specified man pages.
.TP
.B -P
Run
.IR page (1)
.MR page (1)
on the specified man pages.
.TP
.B -t
Run
.IR troff (1)
.MR troff (1)
and send its output
to standard output.
.TP
@ -106,8 +106,8 @@ index for
.br
.B \*9/bin/lookman
.SH "SEE ALSO"
.IR page (1),
.IR proof (1)
.MR page (1) ,
.MR proof (1)
.SH BUGS
The manual was intended to be typeset; some detail is sacrificed on text terminals.
.PP

View file

@ -305,7 +305,7 @@ tracks appear as dot-dashed lines if the plotting filter supports them.)
The
.I file
contains
.IR plot (7)-style
.MR plot (7) -style
data for
.L :
or
@ -640,7 +640,7 @@ Map driver program
.B \*9/src/cmd/map
.SH "SEE ALSO"
.IR map (7),
.IR plot (1)
.MR plot (1)
.SH DIAGNOSTICS
`Map seems to be empty'\(ema coarse survey found
zero extent within the

View file

@ -18,10 +18,10 @@ splits the input into as many columns as will fit in
.I N
print positions.
If run in a
.IR 9term (1),
.IR xterm (1),
.MR 9term (1) ,
.MR xterm (1) ,
or
.IR acme (1)
.MR acme (1)
window, the default
.I N
is the number of blanks that will fit across the window;
@ -36,14 +36,14 @@ is printed separately.
.SH SOURCE
.B \*9/src/cmd/draw/mc.c
.SH "SEE ALSO"
.IR 9term (1),
.IR acme (1),
.IR acme (4),
.IR xterm (1),
.IR pr (1),
.MR 9term (1) ,
.MR acme (1) ,
.MR acme (4) ,
.MR xterm (1) ,
.MR pr (1) ,
.I lc
in
.IR ls (1)
.MR ls (1)
.SH BUGS
On systems with high-DPI screens,
.I 9term

View file

@ -29,7 +29,7 @@ contains a
.I rule
for each target that identifies the files and other
targets upon which it depends and an
.IR sh (1)
.MR sh (1)
script, a
.IR recipe ,
to update the target.
@ -157,7 +157,7 @@ In the recipe of a meta-rule, the environment variable
contains the string matched by the
.BR % .
For example, a meta-rule to compile a C program using
.IR 9c (1)
.MR 9c (1)
might be:
.IP
.EX
@ -207,7 +207,7 @@ References to variables are replaced by the variables' values.
Special characters may be quoted using single quotes
.BR \&''
as in
.IR sh (1).
.MR sh (1) .
.PP
Assignments and rules are distinguished by
the first unquoted occurrence of
@ -246,7 +246,7 @@ A legal reference of the form
or
.B ${name}
is expanded as in
.IR sh (1).
.MR sh (1) .
A reference of the form
.BI ${name: A % B = C\fL%\fID\fL}\fR,
where
@ -315,9 +315,9 @@ or
.BR rcsh ,
.I mk
uses
.IR rc (1)'s
.MR rc (1) 's
quoting rules; otherwise it uses
.IR sh (1)'s.
.MR sh (1) 's.
The
.B MKSHELL
variable is consulted when the mkfile is read, not when it is executed,
@ -523,7 +523,7 @@ of the aggregate
Currently, the only aggregates supported are
.I 9ar
(see
.IR 9c (1))
.MR 9c (1) )
archives.
.SS Attributes
The colon separating the target from the prerequisites
@ -567,12 +567,12 @@ In the rule,
.B %
has no special meaning.
The target is interpreted as a regular expression as defined in
.IR regexp (7).
.MR regexp (7) .
The prerequisites may contain references
to subexpressions in form
.BI \e n\f1,
as in the substitute command of
.IR sed (1).
.MR sed (1) .
.TP
.B U
The targets are considered to have been updated
@ -625,7 +625,7 @@ Regular expression meta-rules:
.EE
.PP
A correct way to deal with
.IR yacc (1)
.MR yacc (1)
grammars.
The file
.B lex.c
@ -656,8 +656,8 @@ x.tab.h:Pcmp -s: y.tab.h
.SH SOURCE
.B \*9/src/cmd/mk
.SH SEE ALSO
.IR sh (1),
.IR regexp (7)
.MR sh (1) ,
.MR regexp (7)
.PP
A. Hume,
``Mk: a Successor to Make''

View file

@ -71,11 +71,11 @@ the current directory).
The
.I proto
file is formatted as described in
.IR proto (3).
.MR proto (3) .
.PP
The created CD image will be in ISO-9660
format, but by default the file names will
be stored in UTF-8 with no imposed length
be stored in UTF-8 with no imposed length
or character restrictions.
The
.B -c
@ -84,7 +84,7 @@ flag causes
to use only file names in ``8.3'' form
that use digits, letters, and underscore.
File names that do not conform are changed
to
to
.BI D nnnnnn
(for directories)
or
@ -122,7 +122,7 @@ and
.B \e
are allowed in Plan 9 file names but not in Joliet file names;
non-conforming file names are translated
and a
and a
.B _CONFORM.MAP
file written
as in the case of the
@ -133,7 +133,7 @@ If the
.B -r
flag is given, Rock Ridge extensions are written in the
format of the system use sharing protocol;
this format provides Posix-style file metadata and is
this format provides Posix-style file metadata and is
common on Unix platforms.
.PP
The options
@ -155,13 +155,13 @@ if unspecified, the base name of
.I proto
is used.
.PP
The
The
.B -:
flag causes
flag causes
.B mk9660
to replace colons in scanned file names with spaces;
this is the inverse of the map applied by Plan 9's
\fIdossrv\fR(4)
.IR dossrv (4)
and is useful for writing Joliet CDs containing data
from FAT file systems.
.PP
@ -189,10 +189,11 @@ on standard error.
is similar in specification to
.I mk9660
but creates and updates backup CD images in the style of
the
the
.I dump
file system
(see Plan 9's \fIfs\fR(4)).
(see Plan 9's
.IR fs (4)).
The dump is file-based rather than block-based:
if a file's contents have not changed since the last
backup, only its directory entry will be rewritten.
@ -202,7 +203,7 @@ The
option specifies a time (in seconds since January 1, 1970)
to be used for naming the dump directory.
.PP
The
The
.B -m
option specifies a maximum size for the image;
if a backup would cause the image to grow larger than
@ -212,7 +213,7 @@ it will not be written, and
will exit with a non-empty status.
.SH EXAMPLE
.PP
Create an image of the Plan 9 source tree,
Create an image of the Plan 9 source tree,
including a conformant ISO-9660 directory tree,
Plan 9 extensions in the system use fields, and
a Joliet directory tree.
@ -223,7 +224,7 @@ mk9660 -9cj -s /n/bootes -p srcproto cdimage
.SH SOURCE
\*9/src/cmd/9660
.SH "SEE ALSO
.IR proto (3)
.MR proto (3)
.\" .SH "SEE ALSO"
.\" .I 9660srv
.\" (in

View file

@ -28,11 +28,11 @@ The
flag sets the permissions to be used when creating the directory.
The default is 0777.
.SH "SEE ALSO"
.IR rm (1)
.MR rm (1)
.br
.IR cd
in
.IR rc (1)
.MR rc (1)
.SH SOURCE
.B \*9/src/cmd/mkdir.c
.SH DIAGNOSTICS

View file

@ -15,7 +15,7 @@ mounts a 9P server's files into the file system.
is typically
either the name of a Unix domain socket
(see
.IR namespace (1))
.MR namespace (1) )
or the name or IP address of a machine
serving 9P over TCP port 564.
.PP
@ -29,7 +29,7 @@ On Linux,
.I mount
uses the native 9P kernel module when present.
Otherwise it tries to use
.IR 9pfuse (4)
.MR 9pfuse (4)
with the FUSE file system module.
Using the 9P kernel module requires root access.
FUSE can often be used by regular users.
@ -45,7 +45,7 @@ should be invoked as
.BR mount .
.SH EXAMPLES
Mount
.IR acme (4)
.MR acme (4)
onto
.B /mnt/acme :
.IP
@ -64,6 +64,6 @@ cat /mnt/plumb/rules
.br
.B \*9/bin/unmount
.SH SEE ALSO
.IR intro (4),
.MR intro (4) ,
.IR intro (9p),
.IR 9pfuse (4)
.MR 9pfuse (4)

View file

@ -7,9 +7,9 @@ namespace \- print name space directory
.I Namespace
prints the directory representing the current name space.
See
.IR intro (4).
.MR intro (4) .
.SH SOURCE
.B \*9/src/cmd/namespace.c
.SH SEE ALSO
.IR getns (3),
.IR intro (4)
.MR getns (3) ,
.MR intro (4)

View file

@ -24,9 +24,9 @@ ndbquery, ndbmkhash, ndbmkdb, ndbipquery, ndbmkhosts \- network database
The network database holds administrative information used by
.I authdial
(see
.IR authsrv (3))
.MR authsrv (3) )
and
.IR secstored (1).
.MR secstored (1) .
.PP
.I Ndbquery
searches the database for an attribute of type
@ -46,7 +46,7 @@ of all the matched entries is returned.
uses
.I ndbipinfo
(see
.IR ndb (3))
.MR ndb (3) )
to search for the values of the attributes
.I rattr
corresponding to the system
@ -382,7 +382,7 @@ and by the ndb library routines.
.PP
.I Ndbmkdb
is used in concert with
.IR awk (1)
.MR awk (1)
scripts to convert
uucp systems files and IP host files
into database files.
@ -395,7 +395,7 @@ it is necessary to run
.I ndbmkhash
whenever the files are modified.
It may be profitable to control this by a frequent
.IR cron (8)
.MR cron (8)
job.
.PP
.I Ndbmkhosts
@ -439,5 +439,5 @@ hash files for
.SH SOURCE
.B \*9/src/cmd/ndb
.SH SEE ALSO
.IR ndb (3),
.IR ndb (7)
.MR ndb (3) ,
.MR ndb (7)

View file

@ -21,7 +21,7 @@ Netfiles, netfileget, netfileput, netfilestat \- network file access inside acme
.SH DESCRIPTION
.B Netfiles
presents remote file systems in
.IR acme (4)
.MR acme (4)
windows.
Each window is named
.BI /n/ system / path
@ -35,7 +35,7 @@ reads names of windows to create from the
plumbing channel
.B netfileedit
(see
.IR plumber (4)
.MR plumber (4)
and the example section below).
In a
.IR netfiles -controlled
@ -60,13 +60,13 @@ The three first check to see if
.I system
is a service in the current name space
(see
.IR intro (4)).
.MR intro (4) ).
If so, they use
.IR 9p (1)
.MR 9p (1)
to access it.
Otherwise, they assume that the system is a network name
and use
.IR ssh (1)'s
.MR ssh (1) 's
.I sftp
to access it.
.PP
@ -100,7 +100,7 @@ or
.SH EXAMPLES
The following plumbing rule
(see
.IR plumb (7))
.MR plumb (7) )
passes
.B /n/
paths to
@ -118,17 +118,17 @@ plumb client Netfiles
.SH SOURCE
.B \*9/src/cmd/netfiles
.SH SEE ALSO
.IR 9p (1),
.IR ssh (1),
.IR ssh-agent (1),
.IR intro (4),
.IR acme (4),
.IR factotum (4),
.MR 9p (1) ,
.MR ssh (1) ,
.MR ssh-agent (1) ,
.MR intro (4) ,
.MR acme (4) ,
.MR factotum (4) ,
.HR http://v9fs.sf.net
.SH BUGS
.I Netfiles
depends on
.IR sftpcache (1),
.MR sftpcache (1) ,
which only works with OpenSSH versions 4.3 and earlier;
later versions do not print the
.B sftp>

View file

@ -1,7 +1,7 @@
.TH PAGE 1
.SH NAME
page \- view
FAX,
page \- view
FAX,
image, graphic, PostScript, PDF, and
typesetter output
files
@ -24,23 +24,24 @@ It can be used to display the individual pages
of a
PostScript,
PDF,
or
.IR troff (1)
or
Unix's \fItex\fR(1)
or
.MR troff (1)
or
Unix's
.IR tex (1)
device-independent output
file.
.I Troff
or
or
.I tex
output is simply converted to PostScript in order to be viewed.
It can also be used to view any number of
graphics files
(such as a
(such as a
FAX
page,
page,
a Plan 9
.IR image (7)
.MR image (7)
file, an Inferno bitmap file, or other common format).
.I Page
displays these
@ -53,26 +54,26 @@ By default,
.I page
runs in the window in which it is started
and leaves the window unchanged.
The
The
.B -R
option causes
.I page
option causes
.I page
to grow the window if necessary
to display the page being viewed.
The
.B -w
option causes
.I page
option causes
.I page
to create a new window for itself.
The newly created window will grow as under the
.B -R
option.
If being used to display
If being used to display
multipage documents,
only one file may be specified on the command line.
.PP
The
.B -p
The
.B -p
option sets the resolution for PostScript and PDF
files, in pixels per inch.
The default is 100 ppi.
@ -85,13 +86,13 @@ When viewing a document,
will try to guess the true bounding box, usually rounding up from
the file's bounding box to
×11 or A4 size.
The
The
.B -b
option causes it to respect the bounding box given in the file.
As a more general problem,
some PostScript files claim to conform to Adobe's
Document Structuring Conventions but do not.
The
The
.B -P
option enables a slightly slower and slightly more
skeptical version of the PostScript processing code.
@ -101,34 +102,35 @@ that can only be viewed with the
option, and there are PostScript documents that
can only be viewed without it.
.PP
When viewing images with
When viewing images with
.IR page ,
it listens to the
it listens to the
.B image
plumbing channel
(see
.IR plumber (4))
(see
.MR plumber (4) )
for more images to display.
The
The
.B -i
option causes
option causes
.I page
to not load any graphics files nor to read
to not load any graphics files nor to read
from standard input but rather to listen
for ones to load from the plumbing channel.
.PP
The
The
.B -v
option turns on extra debugging output, and
the
.B -V
option turns on even more debugging output.
The
The
.B -a
option causes
option causes
.I page
to call
Unix's \fIabort\fR(3)
Unix's
.IR abort (3)
rather than exit cleanly on errors,
to facilitate debugging.
.PP
@ -145,7 +147,7 @@ The button 2 menu operations are:
Restores the image to the original. All modifications are lost.
.TP
.B Zoom
Prompts the user to sweep a rectangle on the image which is
Prompts the user to sweep a rectangle on the image which is
expanded proportionally to the rectangle.
.TP
.B Fit window
@ -164,7 +166,7 @@ Displays the next page.
Displays the previous page.
.TP
.B Zerox
Displays the current image in a new page window.
Displays the current image in a new page window.
Useful for selecting important pages from large documents.
.TP
.B Reverse
@ -189,14 +191,14 @@ toggles whether images are displayed upside-down.
Typing a
.B r
reverses the order in which pages are displayed.
Typing a
Typing a
.B w
will write the currently viewed page to a new file as a compressed
.IR image (7)
.MR image (7)
file.
When possible, the filename is of the form
.IR basename . pagenum . bit .
Typing a
Typing a
.B d
removes an image from the working set.
.PP
@ -208,13 +210,14 @@ changing pages when panning off the top or bottom of the page.
.PP
.I Page
calls
Unix's \fIgs\fR(1)
Unix's
.IR gs (1)
to draw each page of PostScript
and
PDF
.IR files .
It also calls a variety of conversion programs, such as those described in
.IR jpg (1),
.MR jpg (1) ,
to convert the various raster graphics formats
into Inferno bitmap files.
Pages are converted ``on the fly,'' as needed.
@ -232,11 +235,11 @@ Browse the Inferno bitmap library.
man -t page | page -w
Preview this manual in a new window.
.SH "SEE ALSO
.IR gs (1),
.IR jpg (1),
.IR proof (1),
.IR tex (1),
.IR troff (1)
.MR gs (1) ,
.MR jpg (1) ,
.MR proof (1) ,
.MR tex (1) ,
.MR troff (1)
.SH SOURCE
.B \*9/src/cmd/page
.SH DIAGNOSTICS
@ -254,19 +257,19 @@ When viewing multipage PostScript files that do not contain
.RB `` %%Page ''
comments, the button 3 menu only contains
``this page'' and ``next page'':
correctly determining
correctly determining
page boundaries in Postscript code is not computable
in the general case.
.PP
If
.I page
has trouble viewing a Postscript file,
it might not be exactly conforming: try viewing it with the
it might not be exactly conforming: try viewing it with the
.B -P
option.
.PP
The interface to the plumber is unsatisfactory. In particular,
document references cannot be sent
document references cannot be sent
via plumbing messages.
.PP
There are too many keyboard commands and menu items.
@ -274,7 +277,7 @@ There are too many keyboard commands and menu items.
Displaying a PostScript or PDF file depends both on having
GhostScript
(see
.IR gs (1))
.MR gs (1) )
installed and on the underlying operating system
providing a file descriptor device tree at
.BR /dev/fd .

View file

@ -19,7 +19,7 @@ If the optional
argument is specified, then it is read and used as the canvas.
.I Paint
only recognizes Plan 9 bitmap format (see
.IR image (6)).
.MR image (6) ).
.PP
A number of immediate keyboard commands are recognized:
.TP
@ -74,12 +74,12 @@ Quits the program.
.SH SOURCE
.B /sys/src/cmd/paint.c
.SH "SEE ALSO"
.IR resample (1),
.IR rotate (1),
.IR crop (1),
.IR jpg (1),
.IR page (1),
.IR image (6)
.MR resample (1) ,
.MR rotate (1) ,
.MR crop (1) ,
.MR jpg (1) ,
.MR page (1) ,
.MR image (6)
.SH HISTORY
.I Paint
first appeared in 9front (October, 2011).

View file

@ -36,7 +36,7 @@ It is a substitute for a SecureNet box.
.br
.B \*9/src/cmd/auth/passwd.c
.SH "SEE ALSO"
.IR encrypt (3)
.MR encrypt (3)
.PP
Robert Morris and Ken Thompson,
``UNIX Password Security,''

View file

@ -20,7 +20,7 @@ Privacy Enhanced Mail program but now commonly used for
other applications, notably TLS.
PEM encodes data in base 64
(see
.IR encode (3))
.MR encode (3) )
between lines of the form:
.IP
.EX
@ -33,7 +33,7 @@ where
may be any string describing the encoded data.
The most common use of PEM format on Plan 9 is for encoding
X.509 certificates; see
.IR rsa (1).
.MR rsa (1) .
.PP
.I Pemdecode
extracts the named
@ -62,4 +62,4 @@ hello world
.SH SOURCE
.B \*9/src/cmd/auth
.SH "SEE ALSO
.IR rsa (1)
.MR rsa (1)

View file

@ -31,7 +31,7 @@ pic, tpic, svgpic \- troff and tex preprocessors for drawing pictures
.SH DESCRIPTION
.I Pic
is a
.IR troff (1)
.MR troff (1)
preprocessor for drawing figures on a typesetter.
.I Pic
code is contained between
@ -300,7 +300,7 @@ statement removes the definition of a macro.
.PP
.I Tpic
is a
.IR tex (1)
.MR tex (1)
preprocessor that accepts
.IR pic
language.
@ -345,8 +345,8 @@ A: ellipse
.B \*9/src/cmd/pic
.SH "SEE ALSO"
.IR grap (1),
.IR doctype (1),
.IR troff (1)
.MR doctype (1) ,
.MR troff (1)
.br
B. W. Kernighan,
``PIC\(ema Graphics Language for Typesetting'',

View file

@ -14,7 +14,7 @@ from the
.I files
or standard input,
drawing the results in a newly created
.IR rio (1)
.MR rio (1)
window.
Plot persists until a newline is typed in the window.
Various options may be interspersed with the
@ -31,7 +31,7 @@ Erase the screen.
.TP
.BI -c " col"
Set the foreground color (see
.IR plot (7)
.MR plot (7)
for color names).
.TP
.BI -f " fill"
@ -57,5 +57,5 @@ middle of the screen.
.SH SOURCE
.B \*9/src/cmd/plot
.SH "SEE ALSO"
.IR rio (1),
.IR plot (7)
.MR rio (1) ,
.MR plot (7)

View file

@ -83,6 +83,6 @@ default rules file
.SH SOURCE
.B \*9/src/cmd/plumb
.SH "SEE ALSO"
.IR plumb (3),
.IR plumber (4),
.IR plumb (7)
.MR plumb (3) ,
.MR plumber (4) ,
.MR plumb (7)

View file

@ -106,5 +106,5 @@ characters instead of the default 72.
.SH SOURCE
.B \*9/src/cmd/pr.c
.SH "SEE ALSO"
.IR cat (1),
.IR lp (1)
.MR cat (1) ,
.MR lp (1)

View file

@ -22,7 +22,7 @@ proof \- troff output interpreter
.SH DESCRIPTION
.I Proof
reads
.IR troff (1)
.MR troff (1)
intermediate language from
.I file
or standard input
@ -126,8 +126,8 @@ into screen fonts and character numbers
.B \*9/src/cmd/proof
.SH SEE ALSO
.IR lp (1),
.IR gs (1),
.IR page (1)
.MR gs (1) ,
.MR page (1)
.br
J. F. Ossanna and B. W. Kernighan,
``Troff User's Manual''

View file

@ -102,6 +102,6 @@ to print the arguments for the process. Newlines in arguments will be translate
.br
.B \*9/bin/psu
.SH "SEE ALSO"
.IR acid (1),
.IR db (1),
.IR kill (1)
.MR acid (1) ,
.MR db (1) ,
.MR kill (1)

View file

@ -16,9 +16,9 @@ psfonts, psdownload \- add necessary fonts to PostScript document for printing
]
.SH DESCRIPTION
Plan 9's
.IR troff (1)
.MR troff (1)
and
.IR tr2post (1)
.MR tr2post (1)
use non-standard PostScript fonts
(found in
.BR \*9/postscript/font ).
@ -114,12 +114,12 @@ Continue running even after fatal errors occur.
.PD
.SH EXAMPLE
See
.IR tr2post (1)
.MR tr2post (1)
for an example.
.SH SOURCE
.B \*9/bin/psfonts
.br
.B \*9/src/cmd/postscript/download
.SH SEE ALSO
.IR troff (1),
.IR tr2post (1)
.MR troff (1) ,
.MR tr2post (1)

View file

@ -18,8 +18,8 @@ such as constructing shell prompts.
.SH SEE ALSO
.I cd
in
.IR rc (1),
.IR getwd (3)
.MR rc (1) ,
.MR getwd (3)
.SH BUGS
.I Pwd
is not provided.

View file

@ -50,7 +50,7 @@ exits or is terminated, the
variable
.B $status
gets the process's wait message (see
.IR wait (3));
.MR wait (3) );
it will be the null string if the command was successful.
.PP
A long command line may be continued on subsequent lines by typing
@ -83,7 +83,7 @@ in a directory in
.B $path
is the program to be executed.
To be executable, the user must have execute permission (see
.IR stat (3))
.MR stat (3) )
and the file must be either an executable binary
for the current machine's CPU type, or a shell script.
Shell scripts begin with a line containing the full path name of a shell
@ -350,7 +350,7 @@ or
is a previously opened file descriptor and
.I fd0
becomes a new copy (in the sense of
.IR dup (3))
.MR dup (3) )
of it.
A file descriptor may be closed by writing
.BI >[ fd0 =]
@ -543,7 +543,7 @@ function definition.
A function with a special name will be called when
.I rc
receives a corresponding note; see
.IR notify (3).
.MR notify (3) .
The valid note names (and corresponding notes) are
.B sighup
.RB ( hangup ),
@ -662,7 +662,7 @@ is composed of the bitwise OR of the
.B rfork
flags specified by the option letters
(see
.IR fork (2)).
.MR fork (2) ).
If no
.I flags
are given, they default to
@ -829,7 +829,7 @@ parsing the
.B $PATH
variable
(as in
.IR sh (1))
.MR sh (1) )
or by
.BR "path=(.\ /bin)" .
The variables

View file

@ -27,4 +27,4 @@ is printed instead of an empty string.
.SH SOURCE
.B \*9/src/cmd/readcons.c
.SH SEE ALSO
.IR readcons (3)
.MR readcons (3)

View file

@ -40,19 +40,19 @@ and
.PP
The input should be a Plan 9 image
as described in
.IR image (7),
.MR image (7) ,
and the output will be a compressed 24-bit
.B r8g8b8
image.
To uncompress the image or change the pixel format, use
.I iconv
(see
.IR crop (1)).
.MR crop (1) ).
.PP
.SH SOURCE
.B \*9/src/cmd/resample.c
.SH "SEE ALSO
.IR crop (1),
.IR image (7)
.MR crop (1) ,
.MR image (7)
.SH BUGS
Faster algorithms exist, but this implementation produces correct pictures.

View file

@ -68,15 +68,15 @@ specifies an alternative program to run when the
.I New
menu item is selected.
The default is to try
.IR 9term (1)
.MR 9term (1)
and then to fall back to
.IR xterm (1).
.MR xterm (1) .
The
.B \-s
option has no effect. It formerly set the scrolling mode for
new windows and is recognized to avoid breaking scripts.
See
.IR 9term (1)
.MR 9term (1)
for a description of scrolling behavior.
.PP
The
@ -137,11 +137,11 @@ Very small windows may not be created.
The new window is created running
.IR termprog ,
by default
.IR 9term (1)
.MR 9term (1)
or, if
.I 9term
is not available,
.IR xterm (1).
.MR xterm (1) .
.TP
.B Resize
Change the size and location of a window.
@ -165,7 +165,7 @@ Deleting a window causes a
.L hangup
note to be sent to all processes in the window's process group
(see
.IR notify (3)).
.MR notify (3) ).
.TP
.B Hide
Hide a window. Click in the window to be hidden (gunsight cursor);
@ -241,8 +241,8 @@ starts a particular program.)
.PP
There is a currently a compiled-in limit of 128 hidden windows.
.SH "SEE ALSO"
.IR 9term (1),
.IR xterm (1)
.MR 9term (1) ,
.MR xterm (1)
.PP
As mentioned above,
.I rio

View file

@ -25,4 +25,4 @@ and the directory itself.
.SH SOURCE
.B \*9/src/cmd/rm.c
.SH "SEE ALSO"
.IR remove (3)
.MR remove (3)

View file

@ -85,7 +85,7 @@ Plan 9 represents DSA and RSA keys as attribute-value pair lists
prefixed with the string
.BR key ;
this is the generic key format used by
.IR factotum (4).
.MR factotum (4) .
A full DSA private key has the following attributes:
.TP
.B proto
@ -334,9 +334,9 @@ scp auth.keys unix:.ssh/authorized_keys
.SH SOURCE
.B \*9/src/cmd/auth
.SH "SEE ALSO
.IR factotum (4),
.IR pem (1),
.IR ssh (1)
.MR factotum (4) ,
.MR pem (1) ,
.MR ssh (1)
.SH BUGS
There are too many key formats.
.PP

View file

@ -51,7 +51,7 @@ copies leading white space on the current line to the new line.
Do not `download' the terminal part of
.IR sam .
Editing will be done with the command language only, as in
.IR ed (1).
.MR ed (1) .
.TP
.BI -r " machine
Run the host part remotely
@ -69,7 +69,7 @@ for debugging.
.PD
.SS Regular expressions
Regular expressions are as in
.IR regexp (7)
.MR regexp (7)
with the addition of
.BR \en
to represent newlines.
@ -698,7 +698,7 @@ There is usually a `current window',
marked with a dark border, to which typed text and editing
commands apply.
Text may be typed and edited as in
.IR rio (1);
.MR rio (1) ;
also the escape key (ESC) selects (sets dot to) text typed
since the last mouse button hit.
.PP
@ -798,7 +798,7 @@ the white-space-delimited block of text is sent as a plumb message
with a
.B click
attribute defining where the selection lies (see
.IR plumb (7)).
.MR plumb (7) ).
.TP
.B look
Search forward for the next occurrence of the literal text in dot.
@ -909,11 +909,11 @@ source for the separate terminal part
.TP
.B \*9/bin/E
.SH SEE ALSO
.IR ed (1),
.IR sed (1),
.IR grep (1),
.IR rio (1),
.IR regexp (7).
.MR ed (1) ,
.MR sed (1) ,
.MR grep (1) ,
.MR rio (1) ,
.MR regexp (7) .
.PP
Rob Pike,
``The text editor sam''.

Some files were not shown because too many files have changed in this diff Show more