Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse files

August 12, 2011 Update

  • Loading branch information...
commit 7130d8d31b771935a2f211272bb8a8b8a47b1ee3 1 parent 0edca84
@JohnSonnenschein JohnSonnenschein authored
Showing with 28,088 additions and 73 deletions.
  1. +24 −33 Makefile
  2. +15 −40 configure
  3. +11 −0 man/man/README
  4. +1 −0  man/man/man
  5. +544 −0 man/man/man1/as.1
  6. +1 −0  man/man/man1/bunzip2.1
  7. +1 −0  man/man/man1/bzcat.1
  8. +1 −0  man/man/man1/bzcmp.1
  9. +1 −0  man/man/man1/bzegrep.1
  10. +1 −0  man/man/man1/bzfgrep.1
  11. +1 −0  man/man/man1/bzip2recover.1
  12. +1 −0  man/man/man1/bzless.1
  13. +888 −0 man/man/man1/ex.1
  14. +1 −0  man/man/man1/gzcat.1
  15. +1 −0  man/man/man1/gzcmp.1
  16. +1 −0  man/man/man1/gzegrep.1
  17. +1 −0  man/man/man1/gzfgrep.1
  18. +2,183 −0 man/man/man1/vi.1
  19. +670 −0 man/man/man1m/hotplug.1m
  20. +92 −0 man/man/man1m/joycomm.1m
  21. +58 −0 man/man/man1m/netservices.1m
  22. +289 −0 man/man/man1m/sys-unconfig.1m
  23. +78 −0 man/man/man1m/tzreload.1m
  24. +45 −0 man/man/man1m/zonememstat.1m
  25. +72 −0 man/man/man1m/zonemon.1m
  26. +111 −0 man/man/man3layout/m_create_layout.3layout
  27. +79 −0 man/man/man3layout/m_destroy_layout.3layout
  28. +76 −0 man/man/man3layout/m_getvalues_layout.3layout
  29. +91 −0 man/man/man3layout/m_setvalues_layout.3layout
  30. +230 −0 man/man/man3layout/m_transform_layout.3layout
  31. +316 −0 man/man/man3layout/m_wtransform_layout.3layout
  32. +86 −0 man/man/man3lib/libauto_ef.3lib
  33. +219 −0 man/man/man3lib/libidnkit.3lib
  34. +81 −0 man/man/man3lib/liblayout.3lib
  35. +650 −0 man/man/man3lib/libm.3lib
  36. +265 −0 man/man/man3lib/libmms.3lib
  37. +96 −0 man/man/man3lib/libmvec.3lib
  38. +86 −0 man/man/man3lib/libssagent.3lib
  39. +121 −0 man/man/man3lib/libssasnmp.3lib
  40. +125 −0 man/man/man3lib/libusb.3lib
  41. +109 −0 man/man/man3m/acos.3m
  42. +106 −0 man/man/man3m/acosh.3m
  43. +113 −0 man/man/man3m/asin.3m
  44. +72 −0 man/man/man3m/asinh.3m
  45. +89 −0 man/man/man3m/atan.3m
  46. +150 −0 man/man/man3m/atan2.3m
  47. +123 −0 man/man/man3m/atanh.3m
  48. +67 −0 man/man/man3m/cabs.3m
  49. +71 −0 man/man/man3m/cacos.3m
  50. +75 −0 man/man/man3m/cacosh.3m
  51. +75 −0 man/man/man3m/carg.3m
  52. +75 −0 man/man/man3m/casin.3m
  53. +75 −0 man/man/man3m/casinh.3m
  54. +83 −0 man/man/man3m/catan.3m
  55. +75 −0 man/man/man3m/catanh.3m
  56. +74 −0 man/man/man3m/cbrt.3m
  57. +67 −0 man/man/man3m/ccos.3m
  58. +67 −0 man/man/man3m/ccosh.3m
  59. +74 −0 man/man/man3m/ceil.3m
  60. +67 −0 man/man/man3m/cexp.3m
  61. +67 −0 man/man/man3m/cimag.3m
  62. +67 −0 man/man/man3m/clog.3m
  63. +67 −0 man/man/man3m/conj.3m
  64. +68 −0 man/man/man3m/copysign.3m
  65. +94 −0 man/man/man3m/cos.3m
  66. +105 −0 man/man/man3m/cosh.3m
  67. +68 −0 man/man/man3m/cpow.3m
  68. +74 −0 man/man/man3m/cproj.3m
  69. +78 −0 man/man/man3m/creal.3m
  70. +67 −0 man/man/man3m/csin.3m
  71. +67 −0 man/man/man3m/csinh.3m
  72. +67 −0 man/man/man3m/csqrt.3m
  73. +67 −0 man/man/man3m/ctan.3m
  74. +67 −0 man/man/man3m/ctanh.3m
  75. +85 −0 man/man/man3m/erf.3m
  76. +83 −0 man/man/man3m/erfc.3m
  77. +105 −0 man/man/man3m/exp.3m
  78. +99 −0 man/man/man3m/exp2.3m
  79. +113 −0 man/man/man3m/expm1.3m
  80. +77 −0 man/man/man3m/fabs.3m
  81. +90 −0 man/man/man3m/fdim.3m
  82. +57 −0 man/man/man3m/feclearexcept.3m
  83. +78 −0 man/man/man3m/fegetenv.3m
  84. +67 −0 man/man/man3m/fegetexceptflag.3m
  85. +94 −0 man/man/man3m/fegetround.3m
  86. +64 −0 man/man/man3m/feholdexcept.3m
  87. +61 −0 man/man/man3m/feraiseexcept.3m
  88. +101 −0 man/man/man3m/fesetprec.3m
  89. +82 −0 man/man/man3m/fetestexcept.3m
  90. +95 −0 man/man/man3m/feupdateenv.3m
  91. +57 −0 man/man/man3m/fex_merge_flags.3m
  92. +412 −0 man/man/man3m/fex_set_handling.3m
  93. +153 −0 man/man/man3m/fex_set_log.3m
  94. +70 −0 man/man/man3m/floor.3m
  95. +108 −0 man/man/man3m/fma.3m
  96. +73 −0 man/man/man3m/fmax.3m
  97. +73 −0 man/man/man3m/fmin.3m
  98. +100 −0 man/man/man3m/fmod.3m
  99. +57 −0 man/man/man3m/fpclassify.3m
  100. +74 −0 man/man/man3m/frexp.3m
  101. +103 −0 man/man/man3m/hypot.3m
  102. +108 −0 man/man/man3m/ilogb.3m
  103. +57 −0 man/man/man3m/isfinite.3m
  104. +64 −0 man/man/man3m/isgreater.3m
  105. +64 −0 man/man/man3m/isgreaterequal.3m
  106. +58 −0 man/man/man3m/isinf.3m
  107. +64 −0 man/man/man3m/isless.3m
  108. +64 −0 man/man/man3m/islessequal.3m
  109. +64 −0 man/man/man3m/islessgreater.3m
  110. +83 −0 man/man/man3m/isnan.3m
  111. +57 −0 man/man/man3m/isnormal.3m
  112. +61 −0 man/man/man3m/isunordered.3m
  113. +104 −0 man/man/man3m/j0.3m
  114. +102 −0 man/man/man3m/ldexp.3m
  115. +189 −0 man/man/man3m/lgamma.3m
  116. +102 −0 man/man/man3m/llrint.3m
  117. +102 −0 man/man/man3m/llround.3m
  118. +121 −0 man/man/man3m/log.3m
  119. +121 −0 man/man/man3m/log10.3m
  120. +118 −0 man/man/man3m/log1p.3m
  121. +112 −0 man/man/man3m/log2.3m
  122. +132 −0 man/man/man3m/logb.3m
  123. +99 −0 man/man/man3m/lrint.3m
  124. +99 −0 man/man/man3m/lround.3m
  125. +524 −0 man/man/man3m/matherr.3m
  126. +86 −0 man/man/man3m/modf.3m
  127. +97 −0 man/man/man3m/nan.3m
  128. +72 −0 man/man/man3m/nearbyint.3m
  129. +133 −0 man/man/man3m/nextafter.3m
  130. +209 −0 man/man/man3m/pow.3m
  131. +96 −0 man/man/man3m/remainder.3m
  132. +90 −0 man/man/man3m/remquo.3m
  133. +76 −0 man/man/man3m/rint.3m
  134. +69 −0 man/man/man3m/round.3m
  135. +125 −0 man/man/man3m/scalb.3m
  136. +111 −0 man/man/man3m/scalbln.3m
  137. +58 −0 man/man/man3m/signbit.3m
  138. +70 −0 man/man/man3m/significand.3m
  139. +94 −0 man/man/man3m/sin.3m
  140. +58 −0 man/man/man3m/sincos.3m
  141. +102 −0 man/man/man3m/sinh.3m
  142. +100 −0 man/man/man3m/sqrt.3m
  143. +97 −0 man/man/man3m/tan.3m
  144. +77 −0 man/man/man3m/tanh.3m
  145. +128 −0 man/man/man3m/tgamma.3m
  146. +73 −0 man/man/man3m/trunc.3m
  147. +120 −0 man/man/man3m/y0.3m
  148. +316 −0 man/man/man3mms/mms_init.3mms
  149. +165 −0 man/man/man3mms/mms_rsp_type.3mms
  150. +326 −0 man/man/man3mms/mms_send_cmd.3mms
  151. +71 −0 man/man/man3mvec/vatan2_.3mvec
  152. +69 −0 man/man/man3mvec/vatan_.3mvec
  153. +69 −0 man/man/man3mvec/vcos_.3mvec
  154. +85 −0 man/man/man3mvec/vcospi_.3mvec
  155. +69 −0 man/man/man3mvec/vexp_.3mvec
  156. +71 −0 man/man/man3mvec/vhypot_.3mvec
  157. +69 −0 man/man/man3mvec/vlog_.3mvec
  158. +71 −0 man/man/man3mvec/vpow_.3mvec
  159. +89 −0 man/man/man3mvec/vrhypot_.3mvec
  160. +93 −0 man/man/man3mvec/vrsqrt_.3mvec
  161. +69 −0 man/man/man3mvec/vsin_.3mvec
  162. +71 −0 man/man/man3mvec/vsincos_.3mvec
  163. +97 −0 man/man/man3mvec/vsincospi_.3mvec
  164. +91 −0 man/man/man3mvec/vsinpi_.3mvec
  165. +69 −0 man/man/man3mvec/vsqrt_.3mvec
  166. +69 −0 man/man/man3mvec/vz_abs_.3mvec
  167. +68 −0 man/man/man3mvec/vz_exp_.3mvec
  168. +66 −0 man/man/man3mvec/vz_log_.3mvec
  169. +70 −0 man/man/man3mvec/vz_pow_.3mvec
  170. +86 −0 man/man/man3nsl/nis_error.3nsl
  171. +214 −0 man/man/man3nsl/nis_groups.3nsl
  172. +90 −0 man/man/man3nsl/nis_local_names.3nsl
  173. +487 −0 man/man/man3nsl/nis_names.3nsl
  174. +393 −0 man/man/man3nsl/nis_objects.3nsl
  175. +62 −0 man/man/man3nsl/nis_ping.3nsl
  176. +108 −0 man/man/man3nsl/nis_server.3nsl
  177. +127 −0 man/man/man3nsl/nis_subr.3nsl
  178. +659 −0 man/man/man3nsl/nis_tables.3nsl
  179. +358 −0 man/man/man3plot/plot.3plot
  180. +196 −0 man/man/man3snmp/SSAAgentIsAlive.3snmp
  181. +147 −0 man/man/man3snmp/SSAOidCmp.3snmp
  182. +73 −0 man/man/man3snmp/SSAStringCpy.3snmp
  183. +1,610 −0 man/man/man4/NIS+LDAPmapping.4
  184. +163 −0 man/man/man4/TrustedExtensionsPolicy.4
  185. +151 −0 man/man/man4/cdtoc.4
  186. +262 −0 man/man/man4/mmsclient_script.4
  187. +216 −0 man/man/man4/nisfiles.4
  188. +26 −0 man/man/man4/order.4
  189. +93 −0 man/man/man4/ott.4
  190. +495 −0 man/man/man4/packagetoc.4
  191. +249 −0 man/man/man4/platform.4
  192. +195 −0 man/man/man4/registration_profile.4
  193. +1,233 −0 man/man/man4/rpc.nisd.4
  194. +321 −0 man/man/man4/sccsfile.4
  195. +57 −0 man/man/man5/joyent.5
Sorry, we could not display the entire diff because too many files (481) changed.
View
57 Makefile
@@ -1,64 +1,55 @@
-#
-#
-# CDDL HEADER START
-#
-# The contents of this file are subject to the terms of the
-# Common Development and Distribution License, Version 1.0 only
-# (the "License"). You may not use this file except in compliance
-# with the License.
-#
-# You can obtain a copy of the license at COPYING
-# See the License for the specific language governing permissions
-# and limitations under the License.
-#
-# When distributing Covered Code, include this CDDL HEADER in each
-# file and include the License file at COPYING.
-# If applicable, add the following below this CDDL HEADER, with the
-# fields enclosed by brackets "[]" replaced with your own identifying
-# information: Portions Copyright [yyyy] [name of copyright owner]
-#
-# CDDL HEADER END
-#
-# Copyright (c) 2010,2011 Joyent Inc.
-#
+# Copyright (c) 2010, 2011 Joyent Inc., All rights reserved.
ROOT=$(PWD)
PROTO=$(ROOT)/proto
PATH=/opt/local/bin:/opt/local/sbin:/opt/local/gcc34/bin:/usr/xpg4/bin:/usr/bin:/usr/sbin:/usr/sfw/bin:/usr/openwin/bin:/opt/SUNWspro/bin:/usr/ccs/bin
-LOCAL_SUBDIRS=""
+LOCAL_SUBDIRS=ur-agent operator-toolkit kvm kvm-cmd vmadm
-world: 0-illumos-stamp 0-extra-stamp 0-livesrc-stamp 0-local-stamp 0-tools-stamp
+world: 0-illumos-stamp 0-extra-stamp 0-livesrc-stamp 0-local-stamp \
+ 0-tools-stamp 0-man-stamp 0-devpro-stamp
live: world
+ (cd $(ROOT)/src_addon && gmake DESTDIR=$(PROTO) install)
mkdir -p ${ROOT}/log
- (cd $(ROOT) && pfexec ./tools/build_live $(ROOT)/manifest $(ROOT)/output $(ROOT)/overlay $(ROOT)/proto $(ROOT)/projects/opensolaris-man /)
+ (cd $(ROOT) && pfexec ./tools/build_live $(ROOT)/manifest $(ROOT)/output $(ROOT)/overlay $(ROOT)/proto $(ROOT)/man/man)
update:
@(git pull --rebase)
- @(cd projects/illumos; git pull --rebase || hg pull -u)
+ @(cd projects/illumos; git pull --rebase)
@(cd projects/illumos-extra; git pull --rebase)
- [ ! -d projects/local ] || for dir in $(LOCAL_SUBDIRS); do (cd projects/local/$${dir} && git pull --rebase); done
+ [ ! -d projects/local ] || for dir in $(LOCAL_SUBDIRS); do (cd projects/local/$${dir} && gmake update); done
0-local-stamp:
- [ ! -d projects/local ] || for dir in $(LOCAL_SUBDIRS); do (cd projects/local/$${dir} && gmake && gmake DESTDIR=$(PROTO) install); done
+ [ ! -d projects/local ] || for dir in $(LOCAL_SUBDIRS); do \
+ (cd $(ROOT)/projects/local/$${dir} && \
+ [ -f build.sh ] && ./build.sh || gmake && \
+ gmake SMARTOS=true DESTDIR=$(PROTO) install); done
+
+0-devpro-stamp:
+ [ ! -d projects/devpro ] || \
+ (cd projects/devpro && gmake DESTDIR=$(PROTO) install)
0-illumos-stamp:
(cd $(ROOT) && ./tools/build_illumos)
touch 0-illumos-stamp
0-extra-stamp:
- (cd $(ROOT)/projects/illumos-extra && gmake DESTDIR=$(PROTO) && gmake DESTDIR=$(PROTO) install)
+ (cd $(ROOT)/projects/illumos-extra && gmake DESTDIR=$(PROTO) install)
touch 0-extra-stamp
0-livesrc-stamp: src/bootparams.c
(cd $(ROOT)/src && gmake DESTDIR=$(PROTO) && gmake DESTDIR=$(PROTO) install)
-0-tools-stamp: tools/builder/builder tools/pwgen tools/cryptpass
+0-man-stamp:
+ (cd $(ROOT)/man/src && gmake clean && gmake)
+
+0-tools-stamp: 0-builder-stamp 0-pwgen-stamp tools/cryptpass
+ (cp ${ROOT}/tools/cryptpass $(PROTO)/usr/lib)
-tools/builder/builder:
+0-builder-stamp:
(cd $(ROOT)/tools/builder && gmake builder)
-tools/pwgen:
+0-pwgen-stamp:
(cd ${ROOT}/tools/pwgen-* && ./configure && make && cp pwgen ${ROOT}/tools)
tools/cryptpass: tools/cryptpass.c
View
55 configure
@@ -1,25 +1,5 @@
#!/usr/bin/env bash
#
-#
-# CDDL HEADER START
-#
-# The contents of this file are subject to the terms of the
-# Common Development and Distribution License, Version 1.0 only
-# (the "License"). You may not use this file except in compliance
-# with the License.
-#
-# You can obtain a copy of the license at COPYING
-# See the License for the specific language governing permissions
-# and limitations under the License.
-#
-# When distributing Covered Code, include this CDDL HEADER in each
-# file and include the License file at COPYING.
-# If applicable, add the following below this CDDL HEADER, with the
-# fields enclosed by brackets "[]" replaced with your own identifying
-# information: Portions Copyright [yyyy] [name of copyright owner]
-#
-# CDDL HEADER END
-#
# Copyright (c) 2010,2011 Joyent Inc.
#
@@ -76,7 +56,7 @@ if [ "${HAVE_PKG}" == "true" ]; then
# nonglobal Zone
for pkg in gmake binutils autoconf automake \
bison flex libtool-base python24 p5-XML-Parser \
- libxslt dbus-glib dbus net-snmp; do
+ libxslt dbus-glib dbus sun-jre6 sun-jdk6; do
pkg_info ${pkg} >/dev/null 2>&1 || pkgin -y install ${pkg}
done
fi
@@ -175,22 +155,6 @@ if [ ! -f "projects/illumos-extra/Makefile" ]; then
fi
fi
-if [ ! -f "projects/opensolaris-man/README" ]; then
- echo " +--> Getting opensolaris-man source tree..."
- if [ -z "${GET_OPENSOLARIS_MAN}" ]; then
- echo "FATAL: No GET_OPENSOLARIS_MAN defined in configure.*, can't get opensolaris-man!"
- exit 1
- fi
- /bin/bash -c "cd projects && ${GET_OPENSOLARIS_MAN} && cd -"
- if [ ! -f "projects/opensolaris-man/README" ]; then
- echo "FATAL: GET_OPENSOLARIS_MAN command failed to get opensolaris-man!"
- exit 1
- fi
-fi
-(cd projects/opensolaris-man && [[ -L usr ]] || ln -s . usr)
-(cd projects/opensolaris-man && [[ -L share ]] || ln -s . share)
-(cd projects/opensolaris-man && [[ -L man ]] || ln -s . man)
-
ROOT=`pwd`
echo "==> Setting up illumos-gate"
@@ -230,7 +194,7 @@ export CLONE_WS
STAFFER=nobody; export STAFFER
MAILTO=$STAFFER; export MAILTO
BUILD_PROJECT=; export BUILD_PROJECT
-LOCKNAME="\`basename \$CODEMGR_WS\`_nightly.lock"; export LOCKNAME
+LOCKNAME="\`whoami\`_\`basename \$CODEMGR_WS\`_nightly.lock"; export LOCKNAME
ATLOG="\$CODEMGR_WS/log"; export ATLOG
LOGFILE="\$ATLOG/nightly.log"; export LOGFILE
MACH=\`uname -p\`; export MACH
@@ -247,7 +211,7 @@ PKGPUBLISHER_REDIST="${PUBLISHER}"; export PKGPUBLISHER_REDIST
MAKEFLAGS=k; export MAKEFLAGS
UT_NO_USAGE_TRACKING="1"; export UT_NO_USAGE_TRACKING
CW_NO_SHADOW="1"; export CW_NO_SHADOW
-BUILD_TOOLS=/opt; export BUILD_TOOLS
+BUILD_TOOLS="\${CODEMGR_WS}/usr/src/tools/proto/root_\${MACH}-nd/opt"; export BUILD_TOOLS
SPRO_ROOT=/opt/SUNWspro; export SPRO_ROOT
SPRO_VROOT=\$SPRO_ROOT; export SPRO_VROOT
@@ -270,7 +234,8 @@ function update_branch
git checkout ${target}
else
# don't have, add to tracking and checkout
- git checkout --track -b ${target} origin/${target}
+ git branch --track ${target} origin/${target}
+ git checkout ${target}
fi
fi
cd ${oldwd}
@@ -284,6 +249,16 @@ if [[ -f ${ROOT}/configure-branches ]]; then
[[ -z ${branch} ]] && update_branch "${ROOT}" ${branch}
branch=$(grep "^illumos-extra: " ${ROOT}/configure-branches | cut -d' ' -f2)
[[ -z ${branch} ]] && update_branch "${ROOT}/projects/illumos-extra" ${branch}
+ branch=$(grep "^illumos-joyent: " ${ROOT}/configure-branches | cut -d' ' -f2)
+ [[ -z ${branch} ]] && update_branch "${ROOT}/projects/illumos" ${branch}
+ branch=$(grep "^ur-agent: " ${ROOT}/configure-branches | cut -d' ' -f2)
+ [[ -z ${branch} ]] && update_branch "${ROOT}/projects/local/ur-agent" ${branch}
+ branch=$(grep "^kvm: " ${ROOT}/configure-branches | cut -d' ' -f2)
+ [[ -z ${branch} ]] && update_branch "${ROOT}/projects/local/kvm" ${branch}
+ branch=$(grep "^kvm-cmd: " ${ROOT}/configure-branches | cut -d' ' -f2)
+ [[ -z ${branch} ]] && update_branch "${ROOT}/projects/local/kvm-cmd" ${branch}
+ branch=$(grep "^vmadm: " ${ROOT}/configure-branches | cut -d' ' -f2)
+ [[ -z ${branch} ]] && update_branch "${ROOT}/projects/local/vmadm" ${branch}
else
echo ""
echo "WARNING! No configure-branches file!!! Using master branch for everything!"
View
11 man/man/README
@@ -0,0 +1,11 @@
+Most of the man pages are in the illumos-joyent repo under usr/src/man.
+This directory only contains extra man pages that are not included in
+illumos-joyent. Only add or update a man page here if it doesn't exist
+in illumos-joyent.
+
+Most of the original Sun versions of the files here come from the opensolaris
+man consolidation which were released under the CDDL. Modifications since also
+subject to CDDL and:
+
+Copyright (c) 2010-2011, Joyent Inc., All Rights Reserved.
+
View
1  man/man/man
View
544 man/man/man1/as.1
@@ -0,0 +1,544 @@
+'\" te
+.\" Copyright 1989 AT&T
+.\" Copyright (c) 2009 Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License. You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing.
+.\" See the License for the specific language governing permissions and limitations under the License. When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER,
+.\" with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH as 1 "24 Aug 2009" "SunOS 5.11" "User Commands"
+.SH NAME
+as \- assembler
+.SH SYNOPSIS
+.SS "SPARC"
+.LP
+.nf
+\fBas\fR [\fB-b\fR] [\fB-i\fR] [\fB-K\fR {pic,PIC}] [\fB-L\fR] [\fB-m\fR] [\fB-n\fR] [\fB-o\fR \fIoutfile\fR]
+ [\fB-P\fR] [\fB-D\fR\fIname\fR] [\fB-D\fR\fIname=def\fR] [\fB-I\fR\fIpath\fR] [\fB-U\fR\fIname\fR]... [\fB-q\fR]
+ [\fB-Q\fR\fIy\fR | \fIn\fR] [\fB-s\fR] [\fB-S\fR [\fIa\fR | \fIb\fR | \fIc\fR | \fIl\fR | \fIA\fR | \fIB\fR | \fIC\fR | \fIL\fR]]
+ [\fB-T\fR] [\fB-V\fR]
+ [\fB-xarch=v7\fR | \fB-xarch=v8\fR | \fB-xarch=v8a\fR | \fB-xarch=v8plus\fR |
+ \fB-xarch=v8plusa\fR | \fB-xarch=v8plusb\fR | \fB-xarch=v8plusd\fR |
+ \fB-xarch=v8plusv\fR | \fB-xarch=v9\fR | \fB-xarch=v9a\fR |
+ \fB-xarch=v9b\fR | \fB-xarch=v9d\fR | \fB-xarch=v9v\fR]
+ [\fB-xF\fR] [\fB-Y\fR \fIdirname\fR] \fIfilename\fR...
+.fi
+
+.SS "x86"
+.LP
+.nf
+\fBas\fR [\fB-b\fR] [\fB-i\fR] [\fB-K\fR PIC] [\fB-L\fR] [\fB-m\fR] [\fB-n\fR] [\fB-o\fR \fIoutfile\fR] [\fB-P\fR]
+ [\fB-D\fR\fIname\fR] [\fB-D\fR\fIname=def\fR] [\fB-I\fR\fIpath\fR] [\fB-U\fR\fIname\fR]... [\fB-Q\fR\fIy\fR | \fIn\fR]
+ [\fB-s\fR] [\fB-S\fR [\fIa\fR | \fIb\fR | \fIc\fR | \fIl\fR | \fIA\fR | \fIB\fR | \fIC\fR | \fIL\fR]] [\fB-T\fR] [\fB-V\fR]
+ [\fB-xarch\fR=generic64 | \fB-xarch\fR=amd64] [\fB-Y\fR \fIdirname\fR]
+ [\fB-xmodel\fR= [ SMALL | KERNEL ]] \fIfilename\fR...
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBas\fR command creates object files from assembly language source files.
+.SH OPTIONS
+.SS "Common Options"
+.sp
+.LP
+The following flags are common to both SPARC and x86. They can be specified in any order:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-b\fR\fR
+.ad
+.RS 23n
+.rt
+Generates extra symbol table information.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-i\fR\fR
+.ad
+.RS 23n
+.rt
+Ignore line number information from preprocessor.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-K\fR \fBpic\fR | \fBPIC\fR\fR
+.ad
+.RS 23n
+.rt
+Generates position-independent code.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-L\fR\fR
+.ad
+.RS 23n
+.rt
+Saves all symbols, including temporary labels that are normally discarded to save space, in the ELF symbol table.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-m\fR\fR
+.ad
+.RS 23n
+.rt
+Runs the \fBm4\fR(1) macro processor on the input to the assembler.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-n\fR\fR
+.ad
+.RS 23n
+.rt
+Suppresses all the warnings while assembling.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-o\fR \fIoutfile\fR\fR
+.ad
+.RS 23n
+.rt
+Puts the output of the assembly in \fIoutfile\fR. By default, the output file name is formed by removing the \fB\&.s\fR suffix, if there is one, from the input file name and appending a \fB\&.o\fR suffix.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-P\fR\fR
+.ad
+.RS 23n
+.rt
+Runs \fBcpp\fR(1), the C preprocessor, on the files being assembled. The preprocessor is run separately on each input file, not on their concatenation. The preprocessor output is passed to the assembler.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-D\fR\fIname\fR\fR
+.ad
+.br
+.na
+\fB\fB-D\fR\fIname=def\fR\fR
+.ad
+.RS 23n
+.rt
+When the \fB-P\fR option is in effect, these options are passed to the \fBcpp\fR(1) preprocessor without interpretation by the \fBas\fR command; otherwise, they are ignored.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-I\fR\fIpath\fR\fR
+.ad
+.RS 23n
+.rt
+When the \fB-P\fR option is in effect, this option is passed to the \fBcpp\fR(1) preprocessor without interpretation by the \fBas\fR command; otherwise, it is ignored.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-U\fR\fIname\fR\fR
+.ad
+.RS 23n
+.rt
+When the \fB-P\fR option is in effect, this option is passed to the \fBcpp\fR(1) preprocessor without interpretation by the \fBas\fR command; otherwise, it is ignored.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-Q\fR\fIy\fR | \fIn\fR\fR
+.ad
+.RS 23n
+.rt
+If \fIy\fR is specified, this option produces the assembler version information in the comment section of the output object file. If \fIn\fR is specified, the information is suppressed.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-s\fR\fR
+.ad
+.RS 23n
+.rt
+Places all stabs in the \fB\&.stabs\fR section. By default, stabs are placed in \fBstabs.excl\fR sections, which are stripped out by the static linker, \fBld\fR(1), during final execution. When the \fB-s\fR option is used, stabs remain in the final executable because \fB\&.stab\fR sections are not stripped by the static linker.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-S\fR[\fIa\fR|\fIb\fR|\fIc\fR|\fIl\fR|\fIA\fR|\fIB\fR|\fIC\fR|\fIL\fR]\fR
+.ad
+.RS 23n
+.rt
+Produces a disassembly of the emitted code to the standard output. Adding each of the following characters to the \fB-S\fR option produces:
+.sp
+.ne 2
+.mk
+.na
+\fB\fIa\fR\fR
+.ad
+.RS 5n
+.rt
+disassembling with address
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIb\fR\fR
+.ad
+.RS 5n
+.rt
+disassembling with ".bof"
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIc\fR\fR
+.ad
+.RS 5n
+.rt
+disassembling with comments
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIl\fR\fR
+.ad
+.RS 5n
+.rt
+disassembling with line numbers
+.RE
+
+Capital letters turn the switch off for the corresponding option.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-T\fR\fR
+.ad
+.RS 23n
+.rt
+This is a migration option for 4.\fIx\fR assembly files to be assembled on 5.\fIx\fR systems. With this option, the symbol names in 4.\fIx\fR assembly files are interpreted as 5.\fIx\fR symbol names.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-V\fR\fR
+.ad
+.RS 23n
+.rt
+Writes the version number of the assembler being run on the standard error output.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-xF\fR\fR
+.ad
+.RS 23n
+.rt
+Allows function reordering by the Performance Analyzer. If you compile with the \fB-xF\fR option, and then run the Performance Analyzer, you can generate a map file that shows an optimized order for the functions. The subsequent link to build the executable file can be directed to use that map file by using the linker \fB-M\fR \fImapfile\fR option. It places each function from the executable file into a separate section.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-Y\fR \fIdirname\fR\fR
+.ad
+.RS 23n
+.rt
+Specify directory \fBm4\fR and/or \fBcm4def\fR.
+.RE
+
+.SS "Options for SPARC only"
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-q\fR\fR
+.ad
+.RS 18n
+.rt
+Performs a quick assembly. When the \fB-q\fR option is used, many error checks are not performed. This option disables many error checks. Use of this option to assemble handwritten assembly language is not recommended.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-xarch=v7\fR\fR
+.ad
+.RS 18n
+.rt
+This option instructs the assembler to accept instructions defined in the SPARC version 7 (V7) architecture. The resulting object code is in ELF format.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-xarch=v8\fR\fR
+.ad
+.RS 18n
+.rt
+This option instructs the assembler to accept instructions defined in the SPARC-V8 architecture, less the quad-precision floating-point instructions. The resulting object code is in ELF format.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-xarch=v8a\fR\fR
+.ad
+.RS 18n
+.rt
+This option instructs the assembler to accept instructions defined in the SPARC-V8 architecture, less the quad-precision floating-point instructions and less the \fIfsmuld\fR instruction. The resulting object code is in ELF format. This is the default choice of the \fB\fR\fB-xarch\fR\fB=\fR\fIoptions\fR.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-xarch=v8plus\fR\fR
+.ad
+.RS 18n
+.rt
+This option instructs the assembler to accept instructions defined in the SPARC-V9 architecture, less the quad-precision floating-point instructions. The resulting object code is in ELF format. It does not execute on a Solaris V8 system (a machine with a V8 processor). It executes on a Solaris V8+ system. This combination is a SPARC 64-bit processor and a 32-bit OS.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-xarch=v8plusa\fR\fR
+.ad
+.RS 18n
+.rt
+This option instructs the assembler to accept instructions defined in the SPARC-V9 architecture, less the quad-precision floating-point instructions, plus the instructions in the Visual Instruction Set (VIS). The resulting object code is in V8+ ELF format. It does not execute on a Solaris V8 system (a machine with a V8 processor). It executes on a Solaris V8+ system
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-xarch=v8plusb\fR\fR
+.ad
+.RS 18n
+.rt
+This option enables the assembler to accept instructions defined in the SPARC-V9 architecture, plus the instructions in the Visual Instruction Set (VIS), with UltraSPARC-III extensions. The resulting object code is in V8+ ELF32 format.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-xarch=v8plusd\fR\fR
+.ad
+.RS 18n
+.rt
+This option enables the assembler to accept instructions DEFIned in UltraSPARC Architecture 2009. The resulting object code is in V8+ ELF32 format.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-xarch=v8plusv\fR\fR
+.ad
+.RS 18n
+.rt
+This option enables the assembler to accept instructions defined in UltraSPARC Architecture 2005, including the extensions dealing with the sun4v virtual machine model. The resulting object code is in V8+ ELF32 format.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-xarch=v9\fR\fR
+.ad
+.RS 18n
+.rt
+This option limits the instruction set to the SPARC-V9 architecture. The resulting .o object files are in 64-bit ELF format and can only be linked with other object files in the same format. The resulting executable can only be run on a 64-bit SPARC processor running 64-bit Solaris with the 64-bit kernel.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-xarch=v9a\fR\fR
+.ad
+.RS 18n
+.rt
+This option limits the instruction set to the SPARC-V9 architecture, adding the Visual Instruction Set (VIS) and extensions specific to UltraSPARC processors. The resulting .o object files are in 64-bit ELF format and can only be linked with other object files in the same format. The resulting executable can only be run on a 64-bit SPARC processor running 64-bit Solaris with the 64-bit kernel.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-xarch=v9b\fR\fR
+.ad
+.RS 18n
+.rt
+This option enables the assembler to accept instructions defined in the SPARC-V9 architecture, plus the Visual Instruction Set (VIS), with UltraSPARC-III extensions. The resulting .o object files are in ELF64 format and can only be linked with other V9 object files in the same format. The resulting executable can only be run on a 64-bit processor running a 64-bit Solaris operating environment with the 64-bit kernel.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-xarch=v9d\fR\fR
+.ad
+.RS 18n
+.rt
+This option enables the assembler to accept instructions defined in UltraSPARC Architecture 2009. The resulting object code is in ELF64 format.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-xarch=v9v\fR\fR
+.ad
+.RS 18n
+.rt
+This option enables the assembler to accept instructions defined in UltraSPARC Architecture 2005, including the extensions dealing with the sun4v virtual machine model. The resulting object code is in ELF64 format.
+.RE
+
+.SS "Options for x86 Only"
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-xarch>=generic64\fR\fR
+.ad
+.RS 28n
+.rt
+Limits the instruction set to AMD64. The resulting object code is in 64-bit ELF format.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-xarch=amd64\fR\fR
+.ad
+.RS 28n
+.rt
+Limits the instruction set to AMD64. The resulting object code is in 64-bit ELF format.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-xmodel\fR=[SMALL | KERNEL]\fR
+.ad
+.RS 28n
+.rt
+For AMD64 only, generate \fBR_X86_64_32S\fR relocatable type for static data access under \fBKERNEL\fR. Otherwise, generate \fBR_X86_64_32\fR under \fBSMALL\fR. \fBSMALL\fR is the default.
+.RE
+
+.SH OPERANDS
+.sp
+.LP
+The following operand is supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fIfilename\fR\fR
+.ad
+.RS 12n
+.rt
+Assembly language source file
+.RE
+
+.SH ENVIRONMENT VARIABLES
+.sp
+.ne 2
+.mk
+.na
+\fB\fBTMPDIR\fR\fR
+.ad
+.RS 10n
+.rt
+The \fBas\fR command normally creates temporary files in the directory \fB/tmp\fR. Another directory can be specified by setting the environment variable \fBTMPDIR\fR to the chosen directory. (If \fBTMPDIR\fR is not a valid directory, then \fBas\fR uses \fB/tmp\fR).
+.RE
+
+.SH FILES
+.sp
+.LP
+By default, \fBas\fR creates its temporary files in \fB/tmp\fR.
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+AvailabilitySUNWsprot
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBcpp\fR(1),\fBld\fR(1), \fBm4\fR(1), \fBnm\fR(1), \fBstrip\fR(1), \fBtmpnam\fR(3C), \fBa.out\fR(4), \fBattributes\fR(5)
+.sp
+.LP
+\fBdbx\fR and \fBanalyzer\fR manual pages available with Sun Studio documentation.
+.SH NOTES
+.sp
+.LP
+If the \fB-m\fR option, which invokes the \fBm4\fR(1) macro processor, is used, keywords for \fBm4\fR cannot be used as symbols (variables, functions, labels) in the input file, since \fBm4\fR cannot determine which keywords are assembler symbols and which keywords are real \fBm4\fR macros.
+.sp
+.LP
+Whenever possible, access the assembler through a compilation system interface program.
+.sp
+.LP
+All undefined symbols are treated as global.
View
1  man/man/man1/bunzip2.1
@@ -0,0 +1 @@
+.so man1/bzip2.1
View
1  man/man/man1/bzcat.1
@@ -0,0 +1 @@
+.so man1/bzip2.1
View
1  man/man/man1/bzcmp.1
@@ -0,0 +1 @@
+.so man1/bzdiff.1
View
1  man/man/man1/bzegrep.1
@@ -0,0 +1 @@
+.so man1/bzgrep.1
View
1  man/man/man1/bzfgrep.1
@@ -0,0 +1 @@
+.so man1/bzgrep.1
View
1  man/man/man1/bzip2recover.1
@@ -0,0 +1 @@
+.so man1/bzip2.1
View
1  man/man/man1/bzless.1
@@ -0,0 +1 @@
+.so man1/bzmore.1
View
888 man/man/man1/ex.1
@@ -0,0 +1,888 @@
+'\" te
+.\" Copyright 1989 AT&T
+.\" Copyright (c) 2004, Sun Microsystems, Inc. All Rights Reserved Portions Copyright (c) 1992, X/Open Company Limited All Rights Reserve
+.\" Portions Copyright (c) 1992, X/Open Company Limited All Rights Reserved
+.\" Sun Microsystems, Inc. gratefully acknowledges The Open Group for permission to reproduce portions of its copyrighted documentation. Original documentation from The Open Group can be obtained online at
+.\" http://www.opengroup.org/bookstore/.
+.\" The Institute of Electrical and Electronics Engineers and The Open Group, have given us permission to reprint portions of their documentation. In the following statement, the phrase "this text" refers to portions of the system documentation. Portions of this text are reprinted and reproduced in electronic form in the Sun OS Reference Manual, from IEEE Std 1003.1, 2004 Edition, Standard for Information Technology -- Portable Operating System Interface (POSIX), The Open Group Base Specifications Issue 6, Copyright (C) 2001-2004 by the Institute of Electrical and Electronics Engineers, Inc and The Open Group. In the event of any discrepancy between these versions and the original IEEE and The Open Group Standard, the original IEEE and The Open Group Standard is the referee document. The original Standard can be obtained online at http://www.opengroup.org/unix/online.html.
+.\" This notice shall appear on any product containing this material.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH ex 1 "15 Jun 2004" "SunOS 5.11" "User Commands"
+.SH NAME
+ex \- text editor
+.SH SYNOPSIS
+.LP
+.nf
+\fB/usr/bin/ex\fR [\fB-|\fR \fB-s\fR] [\fB-l\fR] [\fB-L\fR] [\fB-R\fR] [\fB-r\fR [\fIfile\fR]] [\fB-t\fR \fItag\fR]
+ [\fB-v\fR] [\fB-V\fR] [\fB-x\fR] [\fB-w\fR\fIn\fR] [\fB-C\fR] [+\fIcommand\fR | \fB-c\fR \fIcommand\fR] \fIfile\fR...
+.fi
+
+.LP
+.nf
+\fB/usr/xpg4/bin/ex\fR [\fB-|\fR \fB-s\fR] [\fB-l\fR] [\fB-L\fR] [\fB-R\fR] [\fB-r\fR [\fIfile\fR]]
+ [\fB-t\fR \fItag\fR] [\fB-v\fR] [\fB-V\fR] [\fB-x\fR] [\fB-w\fR\fIn\fR] [\fB-C\fR]
+ [+\fIcommand\fR | \fB-c\fR \fIcommand\fR] \fIfile\fR...
+.fi
+
+.LP
+.nf
+\fB/usr/xpg6/bin/ex\fR [\fB-|\fR \fB-s\fR] [\fB-l\fR] [\fB-L\fR] [\fB-R\fR] [\fB-r\fR [\fIfile\fR]]
+ [\fB-t\fR \fItag\fR] [\fB-v\fR] [\fB-V\fR] [\fB-x\fR] [\fB-w\fR\fIn\fR] [\fB-C\fR]
+ [+\fIcommand\fR | \fB-c\fR \fIcommand\fR] \fIfile\fR...
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBex\fR utility is the root of a family of editors: \fBex\fR and \fBvi\fR. \fBex\fR is a superset of \fBed\fR(1), with the most notable extension being a display editing facility. Display based editing is the focus of \fBvi\fR.
+.sp
+.LP
+If you have a \fBCRT\fR terminal, you can wish to use a display based editor; in this case see \fBvi\fR(1), which is a command which focuses on the display-editing portion of \fBex\fR.
+.sp
+.LP
+If you have used \fBed\fR you find that, in addition to having all of the \fBed\fR commands available, \fBex\fR has a number of additional features useful on \fBCRT\fR terminals. Intelligent terminals and high speed terminals are very pleasant to use with \fBvi\fR. Generally, the \fBex\fR editor uses far more of the capabilities of terminals than \fBed\fR does, and uses the terminal capability data base (see \fBterminfo\fR(4)) and the type of the terminal you are using from the environment variable \fBTERM\fR to determine how to drive your terminal efficiently. The editor makes use of features such as insert and delete character and line in its \fBvisual\fR command (which can be abbreviated \fBvi\fR) and which is the central mode of editing when using the \fBvi\fR command.
+.sp
+.LP
+The \fBex\fR utility contains a number of features for easily viewing the text of the file. The \fBz\fR command gives easy access to windows of text. Typing \fB^D\fR (CTRL-D) causes the editor to scroll a half-window of text and is more useful for quickly stepping through a file than just typing return. Of course, the screen-oriented \fBvisual\fR mode gives constant access to editing context.
+.sp
+.LP
+The \fBex\fR utility gives you help when you make mistakes. The \fBundo\fR (\fBu\fR) command allows you to reverse any single change which goes astray. \fBex\fR gives you a lot of feedback, normally printing changed lines, and indicates when more than a few lines are affected by a command so that it is easy to detect when a command has affected more lines than it should have.
+.sp
+.LP
+The editor also normally prevents overwriting existing files, unless you edited them, so that you do not accidentally overwrite a file other than the one you are editing. If the system (or editor) crashes, or you accidentally hang up the telephone, you can use the editor \fBrecover\fR command (or \fB-r\fR\fI file\fR option) to retrieve your work. This gets you back to within a few lines of where you left off.
+.sp
+.LP
+The \fBex\fR utility has several features for dealing with more than one file at a time. You can give it a list of files on the command line and use the \fBnext\fR (\fBn\fR) command to deal with each in turn. The \fBnext\fR command can also be given a list of file names, or a pattern as used by the shell to specify a new set of files to be dealt with. In general, file names in the editor can be formed with full shell metasyntax. The metacharacter `%' is also available in forming file names and is replaced by the name of the current file.
+.sp
+.LP
+The editor has a group of buffers whose names are the ASCII lower-case letters (\fBa\fR-\fBz\fR). You can place text in these named buffers where it is available to be inserted elsewhere in the file. The contents of these buffers remain available when you begin editing a new file using the \fBedit\fR (\fBe\fR) command.
+.sp
+.LP
+There is a command \fB&\fR in \fBex\fR which repeats the last \fBsubstitute\fR command. In addition, there is a confirmed substitute command. You give a range of substitutions to be done and the editor interactively asks whether each substitution is desired.
+.sp
+.LP
+It is possible to ignore the case of letters in searches and substitutions. \fBex\fR also allows regular expressions which match words to be constructed. This is convenient, for example, in searching for the word ``edit'' if your document also contains the word ``editor.''
+.sp
+.LP
+\fBex\fR has a set of options which you can set to tailor it to your liking. One option which is very useful is the \fBautoindent\fR option that allows the editor to supply leading white space to align text automatically. You can then use \fB^D\fR as a backtab and space or tab to move forward to align new code easily.
+.sp
+.LP
+Miscellaneous useful features include an intelligent \fBjoin\fR (\fBj\fR) command that supplies white space between joined lines automatically, commands \fB<\fR and \fB>\fR which shift groups of lines, and the ability to filter portions of the buffer through commands such as \fBsort\fR.
+.SH OPTIONS
+.sp
+.LP
+The following options are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB\(mi\fR | \fB-s\fR\fR
+.ad
+.RS 25n
+.rt
+Suppresses all interactive user feedback. This is useful when processing editor scripts.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-l\fR\fR
+.ad
+.RS 25n
+.rt
+Sets up for editing \fBLISP\fR programs.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-L\fR\fR
+.ad
+.RS 25n
+.rt
+Lists the name of all files saved as the result of an editor or system crash.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-R\fR\fR
+.ad
+.RS 25n
+.rt
+\fBReadonly\fR mode. The \fBreadonly\fR flag is set, preventing accidental overwriting of the file.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-r\fR \fIfile\fR\fR
+.ad
+.RS 25n
+.rt
+Edits \fIfile\fR after an editor or system crash. (Recovers the version of \fIfile\fR that was in the buffer when the crash occurred.)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-t\fR \fItag\fR\fR
+.ad
+.RS 25n
+.rt
+Edits the file containing the \fItag\fR and positions the editor at its definition. It is an error to specify more than one \fB-t\fR option.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-v\fR\fR
+.ad
+.RS 25n
+.rt
+Starts up in display editing state, using \fBvi\fR. You can achieve the same effect by typing the \fBvi\fR command itself.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-V\fR\fR
+.ad
+.RS 25n
+.rt
+Verbose. When \fBex\fR commands are read by means of standard input, the input is echoed to standard error. This can be useful when processing \fBex\fR commands within shell scripts.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-x\fR\fR
+.ad
+.RS 25n
+.rt
+Encryption option. Simulates the \fBX\fR command and prompts the user for a key. This key is used to encrypt and decrypt text using the algorithm of the \fBcrypt\fR command. The \fBX\fR command makes an educated guess to determine whether text read in is encrypted or not. The temporary buffer file is encrypted also, using a transformed version of the key typed in for the \fB-x\fR option.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-w\fR\fIn\fR\fR
+.ad
+.RS 25n
+.rt
+Sets the default window size to \fIn\fR. This is useful when using the editor over a slow speed line.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-C\fR\fR
+.ad
+.RS 25n
+.rt
+Encryption option. Same as the \fB-x\fR option, except that \fB-C\fR simulates the \fBC\fR command. The \fBC\fR command is like the \fBX\fR command, except that all text read in is assumed to have been encrypted.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB+\fR\fIcommand\fR | \fB-c\fR\fI command\fR\fR
+.ad
+.RS 25n
+.rt
+Begins editing by executing the specified editor \fIcommand\fR (usually a search or positioning command).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/usr/xpg4/bin/ex\fR, \fB/usr/xpg6/bin/ex\fR\fR
+.ad
+.sp .6
+.RS 4n
+If both the \fB-t\fR\fI tag\fR and the \fB-c\fR\fI command\fR options are given, the \fB-t\fR\fI tag\fR is processed first. That is, the file containing the tag is selected by \fB-t\fR and then the command is executed.
+.RE
+
+.SH OPERANDS
+.sp
+.LP
+The following operand is supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fIfile\fR\fR
+.ad
+.RS 8n
+.rt
+A path name of a file to be edited.
+.RE
+
+.SH USAGE
+.sp
+.LP
+This section defines the \fBex\fR states, commands, initializing options, and scanning pattern formations.
+.SS "ex States"
+.sp
+.ne 2
+.mk
+.na
+\fBCommand\fR
+.ad
+.RS 11n
+.rt
+Normal and initial state. Input prompted for by "\fB:\fR". The line kill character cancels a partial command.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBInsert\fR
+.ad
+.RS 11n
+.rt
+Entered by \fBa\fR, \fBi\fR, or \fBc\fR. Arbitrary text can be entered. Insert state normally is terminated by a line having only "\fB\&.\fR" on it, or, abnormally, with an interrupt.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBVisual\fR
+.ad
+.RS 11n
+.rt
+Entered by typing \fBvi\fR. Terminated by typing \fBQ\fR or ^\e (Control-\e).
+.RE
+
+.SS "ex Command Names and Abbreviations"
+.sp
+.in +2
+.nf
+Command Abbrevi- Command Abbrevi- Command Abbrevi-
+Name ation Name ation Name ation
+
+abbrev ab map set se
+
+append a mark ma shell sh
+
+args ar move m source so
+
+change c next n substitute s
+
+copy co number nu unabbrev unab
+
+delete d preserve pre undo u
+
+edit e print p unmap unm
+
+file f put pu version ve
+
+global g quit q visual vi
+
+insert i read r write
+ w
+
+join j recover rec xit x
+
+list l rewind rew yank ya
+.fi
+.in -2
+.sp
+
+.SS "Join Command Arguments"
+.sp
+.in +2
+.nf
+Join [\fIrange\fR] j[\fIoin\fR][!] [\fIcount\fR] [\fIflags\fR]
+.fi
+.in -2
+.sp
+
+.sp
+.LP
+If count is specified:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/usr/bin/ex\fR, \fB/usr/xpg6/bin/ex\fR\fR
+.ad
+.sp .6
+.RS 4n
+If no address is specified, the\fB join\fR command behaves as if \fI2addr\fR were the current line and the current line plus \fIcount\fR (\fB\&.,. +\fR\fI count\fR). If one address is specified, the \fBjoin\fR command behaves as if \fI2addr\fR were the specified address and the specified address plus \fIcount\fR ( \fIaddr\fR\fB,\fR \fIaddr\fR \fB+\fR \fIcount\fR).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/usr/xpg4/bin/ex\fR\fR
+.ad
+.sp .6
+.RS 4n
+If no address is specified, the \fBjoin\fR command behaves as if \fI2addr \fRwere the current line and the current line plus \fIcount \fR\fB-1\fR (\fB\&.,. +\fR \fIcount\fR \fB-1\fR). If one address is specified, the \fBjoin\fR command behaves as if \fI2addr\fR were the specified address and the specified address plus \fIcount\fR \fB-1\fR ( \fIaddr\fR\fB,\fR \fIaddr\fR \fB+\fR \fIcount\fR \fB-1\fR).
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/usr/bin/ex\fR, \fB/usr/xpg4/bin/ex\fR, \fB/usr/xpg6/bin/ex\fR\fR
+.ad
+.sp .6
+.RS 4n
+If two or more addresses are specified, the \fBjoin\fR command behaves as if an additional address, equal to the last address plus \fIcount\fR \fB-1\fR (\fIaddr1\fR\fB, ...,\fR \fIlastaddr\fR\fB,\fR \fIlastaddr\fR + \fIcount\fR \fB-1\fR), was specified. If this results in a second address greater than the last line of the edit buffer, it is corrected to be equal to the last line of the edit buffer.
+.RE
+
+.sp
+.LP
+If no count is specified:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/usr/bin/ex\fR, \fB/usr/xpg4/bin/ex\fR, \fB/usr/xpg6/bin/ex\fR\fR
+.ad
+.sp .6
+.RS 4n
+If no address is specified, the \fBjoin\fR command behaves as if \fI2addr\fR were the current line and the next line (\fB\&.,. +1\fR). If one address is specified, the \fBjoin\fR command behaves as if \fI2addr\fR were the specified address and the next line ( \fIaddr\fR\fB,\fR \fIaddr\fR \fB+1\fR).
+.RE
+
+.SS "Additional ex Command Arguments"
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/usr/bin/ex\fR, \fB/usr/xpg6/bin/ex\fR\fR
+.ad
+.sp .6
+.RS 4n
+For the following \fBex\fR commands, if \fIcount\fR is specified, it is equivalent to specifying an additional address to the command. The additional address is equal to the last address specified to the command (either explicitly or by default) plus \fIcount\fR\fB-1\fR. If this results in an address greater than the last line of the edit buffer, it is corrected to equal the last line of the edit buffer.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/usr/xpg4/bin/ex\fR\fR
+.ad
+.sp .6
+.RS 4n
+For the following \fBex\fR commands, if both a count and a range are specified for a command that uses them, the number of lines affected is taken from the count value rather than the range. The starting line for the command is taken to be the first line addressed by the range.
+.RE
+
+.sp
+
+.sp
+.TS
+tab();
+lw(1.38i) lw(4.13i)
+lw(1.38i) lw(4.13i)
+.
+Abbreviateab[brev] word rhs
+Append[line]a[ppend][!]
+Argumentsar[gs]
+Change[range] c[hange][!] [count]
+Change DirectoryT{
+chd[ir][!] [directory]; cd[!] [directory]
+T}
+CopyT{
+[range] co[py] line [flags]; [range] t line [flags]
+T}
+DeleteT{
+[range] d[elete] [buffer] [count] [flags]
+T}
+EditT{
+e[dit][!] [+line][file]; ex[!] [+line] [file]
+T}
+Filef[ile] [file]
+GlobalT{
+[range] g[lobal] /pattern/ [commands]; [range] v /pattern/ [commands]
+T}
+Insert[line] i[nsert][!]
+List[range] l[ist] [count] [flags]
+Mapmap[!] [x rhs]
+Mark[line] ma[rk] x; [line] k x
+Move[range] m[ove] line
+Nextn[ext][!] [file ...]
+Open[line] o[pen] /pattern/ [flags]
+Preservepre[serve]
+Put[line] pu[t] [buffer]
+Quitq[uit][!]
+Read[line] r[ead][!] [file]
+Recoverrec[over] file
+Rewindrew[ind][!]
+SetT{
+se[t] [option[=[value]]...] [nooption...] [option?...] [all]
+T}
+Shellsh[ell]
+Sourceso[urce] file
+Suspendsu[spend][!]; st[op][!]
+Tagta[g][!] tagstring
+Unabbreviateuna[bbrev] word
+Undou[ndo]
+Unmapunm[ap][!] x
+Visual[line] v[isual] [type] [count] [flags]
+WriteT{
+[range] w[rite][!] [>>] [file]; [range] w[rite][!] [file]; [range] wq[!] [>>] [file]
+T}
+Write and Exit[range] x[it][!] [file]
+Yank[range] ya[nk] [buffer] [count]
+Adjust Window[line] z [type] [count] [flags]
+Escape! command [range]! command
+ScrollEOF
+Write Line Number[line] = [flags]
+Execute@ buffer; * buffer
+.TE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/usr/bin/ex\fR, \fB/usr/xpg4/bin/ex\fR, \fB/usr/xpg6/bin/ex\fR\fR
+.ad
+.sp .6
+.RS 4n
+For the following \fBex\fR commands, if \fIcount\fR is specified, it is equivalent to specifying an additional address to the command. The additional address is equal to the last address specified to the command (either explicitly or by default) plus \fIcount\fR\fB-1\fR. If this results in an address greater than the last line of the edit buffer, it is corrected to equal the last line of the edit buffer.
+.RE
+
+.sp
+
+.sp
+.TS
+tab();
+lw(1.38i) lw(4.13i)
+lw(1.38i) lw(4.13i)
+.
+NumberT{
+[range] nu[mber] [count] [flags]; [range] | # [count] [flags]
+T}
+Print[range] p[rint] [count] [flags]
+SubstituteT{
+[range] s[ubstitute] [/pattern/repl/[options] [count] [flags]]
+T}
+Shift Left[range] < [count] [flags]
+Shift Right[range] > [count] [flags]
+ResubstituteT{
+[range] & [options] [count] [flags]; [range] s[ubstitute] [options] [count] [flags]; [range] ~ [options] [count [flags]
+T}
+.TE
+
+.SS "ex Commands"
+.sp
+
+.sp
+.TS
+tab();
+lw(1.1i) lw(4.4i)
+lw(1.1i) lw(4.4i)
+.
+\fBC\fRforced encryption
+\fBX\fRheuristic encryption
+\fB&\fRresubst
+\fBCR\fRprint next
+\fB>\fRrshift
+\fB<\fRlshift
+\fB^D\fRscroll
+\fBz\fRwindow
+\fB!\fRshell escape
+.TE
+
+.SS "ex Command Addresses"
+.sp
+
+.sp
+.TS
+tab();
+lw(1.1i) lw(4.4i)
+lw(1.1i) lw(4.4i)
+.
+\fIn\fRline \fIn\fR
+\fB\&.\fRcurrent
+\fB$\fRlast
+\fB+\fRnext
+\fB-\fRprevious
+\fB+\fR\fIn\fR\fIn\fR forward
+\fB%\fR1,$
+\fB/\fR\fIpat\fRnext with \fIpat\fR
+\fB?\fR\fIpat\fRprevious with \fIpat\fR
+\fIx\fR\fB-\fR\fIn\fR\fIn\fR before \fIx\fR
+\fIx\fR\fB,\fR\fIy\fR\fIx\fR through \fIy\fR
+\fB\&'\fR\fIx\fRmarked with \fIx\fR
+\fB"\fRprevious context
+.TE
+
+.SS "Initializing Options"
+.sp
+
+.sp
+.TS
+tab();
+lw(1.38i) lw(4.13i)
+lw(1.38i) lw(4.13i)
+.
+\fBEXINIT\fRplace \fBset\fR's here in environment variable
+\fB$HOME/.exrc\fReditor initialization file
+\fB\&./.exrc\fReditor initialization file
+\fBset\fR \fIx\fRenable option \fIx\fR
+\fBset\fR \fBno\fR\fIx\fRdisable option \fIx\fR
+\fBset\fR \fIx\fR=\fIval\fRgive value \fIval\fR to option \fIx\fR
+\fBset\fRshow changed options
+\fBset\fR \fBall\fRshow all options
+\fBset\fR \fIx\fR\fB?\fRshow value of option \fIx\fR
+.TE
+
+.SS "Useful Options and Abbreviations"
+.sp
+
+.sp
+.TS
+tab();
+lw(.92i) lw(.92i) lw(3.67i)
+lw(.92i) lw(.92i) lw(3.67i)
+.
+autoindent\fBai\fRsupply indent
+autowrite\fBaw\fRwrite before changing files
+directoryT{
+pathname of directory for temporary work files
+T}
+exrc\fBex\fRT{
+allow \fBvi\fR/\fBex\fR to read the \fB\&.exrc\fR in the current directory. This option is set in the \fBEXINIT\fR shell variable or in the \fB\&.exrc\fR file in the \fB$\fR\fBHOME\fRdirectory.
+T}
+ignorecase\fBic\fRignore case of letters in scanning
+listprint \fB^I\fR for tab, $ at end
+magictreat \fB\&. [ *\fR special in patterns
+modelinesT{
+first five lines and last five lines executed as \fBvi\fR/\fBex\fR commands if they are of the form \fBex:\fR\fBcommand\fR\fB:\fR or \fBvi:\fR\fBcommand\fR\fB:\fR
+T}
+number\fBnu\fRnumber lines
+paragraphs\fBpara\fRmacro names that start paragraphs
+redrawsimulate smart terminal
+reportT{
+informs you if the number of lines modified by the last command is greater than the value of the \fBreport\fR variable
+T}
+scrollcommand mode lines
+sections\fBsect\fRmacro names that start sections
+shiftwidth\fBsw\fRfor \fB< >\fR, and input \fB^D\fR
+showmatch\fBsm\fRto \fB)\fR and \fB}\fR as typed
+showmode\fBsmd\fRshow insert mode in \fB vi\fR
+slowopen\fBslow\fRstop updates during insert
+termT{
+specifies to \fBvi\fR the type of terminal being used (the default is the value of the environment variable \fBTERM\fR)
+T}
+windowvisual mode lines
+wrapmargin\fBwm\fRautomatic line splitting
+wrapscan\fBws\fRT{
+search around end (or beginning) of buffer
+T}
+.TE
+
+.SS "Scanning Pattern Formation"
+.sp
+
+.sp
+.TS
+tab();
+lw(1.1i) lw(4.4i)
+lw(1.1i) lw(4.4i)
+.
+\fB^\fRbeginning of line
+\fB$\fRend of line
+\fB\&.\fRany character
+\fB\e<\fRbeginning of word
+\fB\e>\fRend of word
+\fB[\fR\fIstr\fR\fB]\fRany character in \fIstr\fR
+\fB[^\fR\fIstr\fR\fB]\fRany character not in \fIstr\fR
+\fB[\fR\fIxy\fR\fB]\fRany character between \fIx\fR and \fIy\fR
+\fB*\fRany number of preceding characters
+.TE
+
+.SH ENVIRONMENT VARIABLES
+.sp
+.LP
+See \fBenviron\fR(5) for descriptions of the following environment variables that affect the execution of \fBex\fR: \fBHOME\fR, \fBLANG\fR, \fBLC_ALL\fR, \fBLC_COLLATE\fR, \fBLC_CTYPE\fR, \fBLC_MESSAGES\fR, \fBNLSPATH\fR, \fBPATH\fR, \fBSHELL\fR, and \fBTERM\fR.
+.sp
+.ne 2
+.mk
+.na
+\fB\fBCOLUMNS\fR\fR
+.ad
+.RS 11n
+.rt
+Override the system-selected horizontal screen size.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBEXINIT\fR\fR
+.ad
+.RS 11n
+.rt
+Determine a list of \fBex\fR commands that are executed on editor start-up, before reading the first file. The list can contain multiple commands by separating them using a vertical-line (\fB|\fR) character.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBLINES\fR\fR
+.ad
+.RS 11n
+.rt
+Override the system-selected vertical screen size, used as the number of lines in a screenful and the vertical screen size in visual mode.
+.RE
+
+.SH EXIT STATUS
+.sp
+.LP
+The following exit values are returned:
+.sp
+.ne 2
+.mk
+.na
+\fB\fB0\fR\fR
+.ad
+.RS 6n
+.rt
+Successful completion.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB>0\fR\fR
+.ad
+.RS 6n
+.rt
+An error occurred.
+.RE
+
+.SH FILES
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/var/tmp/Ex\fInnnnn\fR\fR\fR
+.ad
+.RS 29n
+.rt
+editor temporary
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/var/tmp/Rx\fInnnnn\fR\fR\fR
+.ad
+.RS 29n
+.rt
+named buffer temporary
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/usr/lib/expreserve\fR\fR
+.ad
+.RS 29n
+.rt
+preserve command
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/usr/lib/exrecover\fR\fR
+.ad
+.RS 29n
+.rt
+recover command
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/usr/lib/exstrings\fR\fR
+.ad
+.RS 29n
+.rt
+error messages
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/usr/share/lib/terminfo/*\fR\fR
+.ad
+.RS 29n
+.rt
+describes capabilities of terminals
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB/var/preserve/login\fR\fR
+.ad
+.RS 29n
+.rt
+preservation directory (where \fBlogin\fR is the user's login)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB$HOME/.exrc\fR\fR
+.ad
+.RS 29n
+.rt
+editor startup file
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB\&./.exrc\fR\fR
+.ad
+.RS 29n
+.rt
+editor startup file
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.SS "/usr/bin/ex"
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+AvailabilitySUNWcsu
+CSIEnabled
+.TE
+
+.SS "\fB/usr/xpg4/bin/ex\fR"
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+AvailabilitySUNWxcu4
+CSIEnabled
+_
+Interface StabilityStandard
+.TE
+
+.SS "\fB/usr/xpg6/bin/ex\fR"
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+AvailabilitySUNWxcu6
+CSIEnabled
+_
+Interface StabilityStandard
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBed\fR(1), \fBedit\fR(1), \fBgrep\fR(1), \fBsed\fR(1), \fBsort\fR(1), \fBvi\fR(1), \fBcurses\fR(3CURSES), \fBterm\fR(4), \fBterminfo\fR(4), \fBattributes\fR(5), \fBenviron\fR(5), \fBstandards\fR(5)
+.sp
+.LP
+\fISolaris Advanced User\&'s Guide\fR
+.SH AUTHOR
+.sp
+.LP
+The \fBvi\fR and \fBex\fR utilities are based on software developed by The University of California, Berkeley California, Computer Science Division, Department of Electrical Engineering and Computer Science.
+.SH NOTES
+.sp
+.LP
+Several options, although they continue to be supported, have been replaced in the documentation by options that follow the Command Syntax Standard (see \fBIntro\fR(1)). The \fB\(mi\fR option has been replaced by \fB-s\fR, a \fB-r\fR option that is not followed with an option-argument has been replaced by \fB-L\fR, and \fB+\fR\fBcommand\fR has been replaced by \fB-c\fR \fBcommand\fR.
+.sp
+.LP
+The message \fBfile too large to recover with \fR\fB-r\fR\fB option\fR, which is seen when a file is loaded, indicates that the file can be edited and saved successfully, but if the editing session is lost, recovery of the file with the \fB-r\fR option is not possible.
+.sp
+.LP
+The \fBz\fR command prints the number of logical rather than physical lines. More than a screen full of output can result if long lines are present.
+.sp
+.LP
+File input/output errors do not print a name if the command line \fB-s\fR option is used.
+.sp
+.LP
+The editing environment defaults to certain configuration options. When an editing session is initiated, \fBex\fR attempts to read the \fBEXINIT\fR environment variable. If it exists, the editor uses the values defined in \fBEXINIT\fR, otherwise the values set in \fB$HOME/.exrc\fR are used. If \fB$HOME/.exrc\fR does not exist, the default values are used.
+.sp
+.LP
+To use a copy of \fB\&.exrc\fR located in the current directory other than \fB$HOME\fR, set the \fIexrc\fR option in \fBEXINIT\fR or \fB$HOME/.exrc\fR. Options set in \fBEXINIT\fR can be turned off in a local \fB\&.exrc\fR only if \fIexrc\fR is set in \fBEXINIT\fR or \fB$HOME/.exrc\fR. In order to be used, \fI\&.exrc\fR in \fB$HOME\fR or the current directory must fulfill these conditions:
+.RS +4
+.TP
+.ie t \(bu
+.el o
+It must exist.
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+It must be owned by the same userid as the real userid of the process, or the process has appropriate privileges.
+.RE
+.RS +4
+.TP
+.ie t \(bu
+.el o
+It is not writable by anyone other than the owner.
+.RE
+.sp
+.LP
+There is no easy way to do a single scan ignoring case.
+.sp
+.LP
+The editor does not warn if text is placed in named buffers and not used before exiting the editor.
+.sp
+.LP
+Null characters are discarded in input files and cannot appear in resultant files.
View
1  man/man/man1/gzcat.1
@@ -0,0 +1 @@
+.so man1/gzip.1
View
1  man/man/man1/gzcmp.1
@@ -0,0 +1 @@
+.so man1/gzdiff.1
View
1  man/man/man1/gzegrep.1
@@ -0,0 +1 @@
+.so man1/gzgrep.1
View
1  man/man/man1/gzfgrep.1
@@ -0,0 +1 @@
+.so man1/gzgrep.1
View
2,183 man/man/man1/vi.1
@@ -0,0 +1,2183 @@
+'\" te
+.\" Copyright 1989 AT&T Copyright (c) 2007, Sun Microsystems, Inc. All Rights Reserved Portions Copyright (c) 1992, X/Open Company Limited All Rights Reserved
+.\" Sun Microsystems, Inc. gratefully acknowledges The Open Group for permission to reproduce portions of its copyrighted documentation. Original documentation from The Open Group can be obtained online at
+.\" http://www.opengroup.org/bookstore/.
+.\" The Institute of Electrical and Electronics Engineers and The Open Group, have given us permission to reprint portions of their documentation. In the following statement, the phrase "this text" refers to portions of the system documentation. Portions of this text are reprinted and reproduced in electronic form in the Sun OS Reference Manual, from IEEE Std 1003.1, 2004 Edition, Standard for Information Technology -- Portable Operating System Interface (POSIX), The Open Group Base Specifications Issue 6, Copyright (C) 2001-2004 by the Institute of Electrical and Electronics Engineers, Inc and The Open Group. In the event of any discrepancy between these versions and the original IEEE and The Open Group Standard, the original IEEE and The Open Group Standard is the referee document. The original Standard can be obtained online at http://www.opengroup.org/unix/online.html.
+.\" This notice shall appear on any product containing this material.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH vi 1 "16 May 2007" "SunOS 5.11" "User Commands"
+.SH NAME
+vi, view, vedit \- screen-oriented (visual) display editor based on ex
+.SH SYNOPSIS
+.LP
+.nf
+\fB/usr/bin/vi\fR [\fB-|\fR \fB-s\fR] [\fB-l\fR] [\fB-L\fR] [\fB-R\fR] [\fB-r\fR [\fIfilename\fR]] [\fB-S\fR]
+ [\fB-t\fR \fItag\fR] [\fB-v\fR] [\fB-V\fR] [\fB-x\fR] [\fB-w\fR\fIn\fR] [\fB-C\fR]
+ [\fB+\fR\fIcommand\fR | \fB-c\fR \fIcommand\fR] \fIfilename\fR...
+.fi
+
+.LP
+.nf
+\fB/usr/bin/view\fR [\fB-|\fR \fB-s\fR] [\fB-l\fR] [\fB-L\fR] [\fB-R\fR] [\fB-r\fR [\fIfilename\fR]] [\fB-S\fR]
+ [\fB-t\fR \fItag\fR] [\fB-v\fR] [\fB-V\fR] [\fB-x\fR] [\fB-w\fR\fIn\fR] [\fB-C\fR]
+ [\fB+\fR\fIcommand\fR | \fB-c\fR \fIcommand\fR] \fIfilename\fR...
+.fi
+
+.LP
+.nf
+\fB/usr/bin/vedit\fR [\fB-|\fR \fB-s\fR] [\fB-l\fR] [\fB-L\fR] [\fB-R\fR] [\fB-r\fR [\fIfilename\fR]] [\fB-S\fR]
+ [\fB-t\fR \fItag\fR] [\fB-v\fR] [\fB-V\fR] [\fB-x\fR] [\fB-w\fR\fIn\fR] [\fB-C\fR]
+ [\fB+\fR\fIcommand\fR | \fB-c\fR \fIcommand\fR] \fIfilename\fR...
+.fi
+
+.LP
+.nf
+\fB/usr/xpg4/bin/vi\fR [\fB-|\fR \fB-s\fR] [\fB-l\fR] [\fB-L\fR] [\fB-R\fR] [\fB-r\fR [\fIfilename\fR]]
+ [\fB-S\fR] [\fB-t\fR \fItag\fR] [\fB-v\fR] [\fB-V\fR] [\fB-x\fR] [\fB-w\fR\fIn\fR] [\fB-C\fR]
+ [\fB+\fR\fIcommand\fR | \fB-c\fR \fIcommand\fR] \fIfilename\fR...
+.fi
+
+.LP
+.nf
+\fB/usr/xpg4/bin/view\fR [\fB-|\fR \fB-s\fR] [\fB-l\fR] [\fB-L\fR] [\fB-R\fR] [\fB-r\fR [\fIfilename\fR]]
+ [\fB-S\fR] [\fB-t\fR \fItag\fR] [\fB-v\fR] [\fB-V\fR] [\fB-x\fR] [\fB-w\fR\fIn\fR] [\fB-C\fR]
+ [\fB+\fR\fIcommand\fR | \fB-c\fR \fIcommand\fR] \fIfilename\fR...
+.fi
+
+.LP
+.nf
+\fB/usr/xpg4/bin/vedit\fR [\fB-|\fR \fB-s\fR] [\fB-l\fR] [\fB-L\fR] [\fB-R\fR] [\fB-r\fR [\fIfilename\fR]]
+ [\fB-S\fR] [\fB-t\fR \fItag\fR] [\fB-v\fR] [\fB-V\fR] [\fB-x\fR] [\fB-w\fR\fIn\fR] [\fB-C\fR]
+ [\fB+\fR\fIcommand\fR | \fB-c\fR \fIcommand\fR] \fIfilename\fR...
+.fi
+
+.LP
+.nf
+\fB/usr/xpg6/bin/vi\fR [\fB-|\fR \fB-s\fR] [\fB-l\fR] [\fB-L\fR] [\fB-R\fR] [\fB-r\fR [\fIfilename\fR]]
+ [\fB-S\fR] [\fB-t\fR \fItag\fR] [\fB-v\fR] [\fB-V\fR] [\fB-x\fR] [\fB-w\fR\fIn\fR] [\fB-C\fR]
+ [\fB+\fR\fIcommand\fR | \fB-c\fR \fIcommand\fR] \fIfilename\fR...
+.fi
+
+.LP
+.nf
+\fB/usr/xpg6/bin/view\fR [\fB-|\fR \fB-s\fR] [\fB-l\fR] [\fB-L\fR] [\fB-R\fR] [\fB-r\fR [\fIfilename\fR]]
+ [\fB-S\fR] [\fB-t\fR \fItag\fR] [\fB-v\fR] [\fB-V\fR] [\fB-x\fR] [\fB-w\fR\fIn\fR] [\fB-C\fR]
+ [\fB+\fR\fIcommand\fR | \fB-c\fR \fIcommand\fR] \fIfilename\fR...
+.fi
+
+.LP
+.nf
+\fB/usr/xpg6/bin/vedit\fR [\fB-|\fR \fB-s\fR] [\fB-l\fR] [\fB-L\fR] [\fB-R\fR] [\fB-r\fR [\fIfilename\fR]]
+ [\fB-S\fR] [\fB-t\fR \fItag\fR] [\fB-v\fR] [\fB-V\fR] [\fB-x\fR] [\fB-w\fR\fIn\fR] [\fB-C\fR]
+ [\fB+\fR\fIcommand\fR | \fB-c\fR \fIcommand\fR] \fIfilename\fR...
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBvi\fR (visual) utility is a display-oriented text editor based on an underlying line editor \fBex\fR. It is possible to use the command mode of \fBex\fR from within \fBvi\fR and to use the command mode of \fBvi\fR from within \fBex\fR. The visual commands are described on this manual page; how to set options (like automatically numbering lines and automatically starting a new output line when you type carriage return) and all \fBex\fR line editor commands are described on the \fBex\fR(1) manual page.
+.sp
+.LP
+When using \fBvi\fR, changes you make to the file are reflected in what you see on your terminal screen. The position of the cursor on the screen indicates the position within the file.
+.sp
+.LP
+The \fBview\fR invocation is the same as \fBvi\fR except that the \fBreadonly\fR flag is set.
+.sp
+.LP
+The \fBvedit\fR invocation is intended for beginners. It is the same as \fBvi\fR except that the \fBreport\fR flag is set to \fB1\fR, the \fBshowmode\fR and \fBnovice\fR flags are set, and \fBmagic\fR is turned off. These defaults make it easier to learn how to use \fBvi\fR.
+.SH OPTIONS
+.sp
+.LP
+The following options are supporrted:
+.SS "Invocation Options"
+.sp
+.LP
+The following invocation options are interpreted by \fBvi\fR (previously documented options are discussed under NOTES):
+.sp
+.ne 2
+.mk
+.na
+\fB\fB\(mi\fR | \fB-s\fR\fR
+.ad
+.RS 25n
+.rt
+Suppresses all interactive user feedback. This is useful when processing editor scripts.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-C\fR\fR
+.ad
+.RS 25n
+.rt
+Encryption option. Same as the \fB-x\fR option, except that \fBvi\fR simulates the \fBC\fR command of \fBex\fR. The \fBC\fR command is like the \fBX\fR command of \fBex\fR, except that all text read in is assumed to have been encrypted.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-l\fR\fR
+.ad
+.RS 25n
+.rt
+Sets up for editing \fBLISP\fR programs.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-L\fR\fR
+.ad
+.RS 25n
+.rt
+Lists the name of all files saved as the result of an editor or system crash.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-r\fR \fIfilename\fR\fR
+.ad
+.RS 25n
+.rt
+Edits \fIfilename\fR after an editor or system crash. (Recovers the version of \fIfilename\fR that was in the buffer when the crash occurred.)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-R\fR\fR
+.ad
+.RS 25n
+.rt
+\fBReadonly\fR mode. The \fBreadonly\fR flag is set, preventing accidental overwriting of the file.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-S\fR\fR
+.ad
+.RS 25n
+.rt
+This option is used in conjunction with the \fB-t\fR \fItag\fR option to tell \fBvi\fR that the tags file can not be sorted and that, if the binary search (which relies on a sorted tags file) for \fItag\fR fails to find it, the much slower linear search should also be done. Since the linear search is slow, users of large tags files should ensure that the tags files are sorted rather than use this flag. Creation of tags files normally produces sorted tags files. See \fBctags\fR(1) for more information on tags files.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-t\fR \fItag\fR\fR
+.ad
+.RS 25n
+.rt
+Edits the file containing \fItag\fR and position the editor at its definition. It is an error to specify more than one \fB-t\fR option.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-v\fR\fR
+.ad
+.RS 25n
+.rt
+Starts up in display editing state, using \fBvi\fR. You can achieve the same effect by typing the \fBvi\fR command itself.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-V\fR\fR
+.ad
+.RS 25n
+.rt
+Verbose. When \fBex\fR commands are read by means of standard input, the input is echoed to standard error. This can be useful when processing \fBex\fR commands within shell scripts.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-w\fR\fIn\fR\fR
+.ad
+.RS 25n
+.rt
+Sets the default window size to \fIn\fR. This is useful when using the editor over a slow speed line.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-x\fR\fR
+.ad
+.RS 25n
+.rt
+Encryption option. When used, \fBvi\fR simulates the \fBX\fR command of \fBex\fR and prompts the user for a key. This key is used to encrypt and decrypt text using the algorithm of the \fBcrypt\fR command. The \fBX\fR command makes an educated guess to determine whether text read in is encrypted or not. The temporary buffer file is encrypted also, using a transformed version of the key typed in for the \fB-x\fR option. If an empty encryption key is entered (that is, if the return key is pressed right after the prompt), the file is not encrypted. This is a good way to decrypt a file erroneously encrypted with a mistyped encryption key, such as a backspace or undo key.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fB-\fR\fIcommand\fR | \fB-c\fR \fIcommand\fR\fR
+.ad
+.RS 25n
+.rt
+Begins editing by executing the specified editor \fIcommand\fR (usually a search or positioning command).
+.RE
+
+.SS "/usr/xpg4/bin/vi and /usr/xpg6/bin/vi"
+.sp
+.LP
+If both the \fB-t\fR \fItag\fR and the \fB-c\fR \fIcommand\fR options are given, the \fB-t\fR \fItag\fR optionis processed first. That is, the file containing \fItag\fR is selected by \fB-t\fR and then the command is executed.
+.SH OPERANDS
+.sp
+.LP
+The following operands are supported:
+.sp
+.ne 2
+.mk
+.na
+\fB\fIfilename\fR\fR
+.ad
+.RS 12n
+.rt
+A file to be edited.
+.RE
+
+.SH COMMAND SUMMARY
+.sp
+.LP
+The \fBvi\fR command modes are summarized in this section.
+.SS "vi Modes"
+.sp
+.ne 2
+.mk
+.na
+\fBCommand\fR
+.ad
+.RS 13n
+.rt
+Normal and initial mode. Other modes return to command mode upon completion. \fIESC\fR (escape) is used to cancel a partial command.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBInput\fR
+.ad
+.RS 13n
+.rt
+Entered by setting any of the following options:
+.sp
+.in +2
+.nf
+a A i I o O c C s S R
+.fi
+.in -2
+.sp
+
+Arbitrary text can then be entered. Input mode is normally terminated with the \fIESC\fR character, or, abnormally, with an interrupt.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBLast line\fR
+.ad
+.RS 13n
+.rt
+Reading input for \fB: / ?\fR or \fB!\fR. Terminate by typing a carriage return. An interrupt cancels termination.
+.RE
+
+.SS "Sample Commands"
+.sp
+.LP
+In the descriptions, \fICR\fR stands for carriage return and \fIESC\fR stands for the escape key.
+.sp
+.ne 2
+.mk
+.na
+\fB\(<-, \(->\fR
+.ad
+.br
+.na
+\fBdown-arrow\fR
+.ad
+.br
+.na
+\fBup-arrow\fR
+.ad
+.RS 14n
+.rt
+arrow keys move the cursor
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBh j k l\fR
+.ad
+.RS 14n
+.rt
+same as arrow keys
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBi\fItext\fR\fIESC\fR\fR
+.ad
+.RS 14n
+.rt
+insert \fItext\fR
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBcw\fInew\fR\fIESC\fR\fR
+.ad
+.RS 14n
+.rt
+change word to \fInew\fR
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBea\fIs\fR\fIESC\fR\fR
+.ad
+.RS 14n
+.rt
+pluralize word (end of word; append \fBs\fR; escape from input state)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBx\fR
+.ad
+.RS 14n
+.rt
+delete a character
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBdw\fR
+.ad
+.RS 14n
+.rt
+delete a word
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBdd\fR
+.ad
+.RS 14n
+.rt
+delete a line
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB3dd\fR
+.ad
+.RS 14n
+.rt
+delete 3 lines
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBu\fR
+.ad
+.RS 14n
+.rt
+undo previous change
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBZZ\fR
+.ad
+.RS 14n
+.rt
+exit \fBvi\fR, saving changes
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB:q!\fICR\fR\fR
+.ad
+.RS 14n
+.rt
+quit, discarding changes
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB/\fItext\fR\fICR\fR\fR
+.ad
+.RS 14n
+.rt
+search for \fItext\fR
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB^U ^D\fR
+.ad
+.RS 14n
+.rt
+scroll up or down
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB:\fIcmd\fR\fICR\fR\fR
+.ad
+.RS 14n
+.rt
+any \fBex\fR or \fBed\fR command
+.RE
+
+.SS "Counts Before vi Commands"
+.sp
+.LP
+Numbers can be typed as a prefix to some commands. They are interpreted in one of these ways:
+.sp
+.ne 2
+.mk
+.na
+\fBline/column number\fR
+.ad
+.RS 22n
+.rt
+z G |
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBscroll amount\fR
+.ad
+.RS 22n
+.rt
+^D ^U
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBrepeat effect\fR
+.ad
+.RS 22n
+.rt
+most of the rest
+.RE
+
+.SS "Interrupting, Canceling"
+.sp
+.ne 2
+.mk
+.na
+\fB\fIESC\fR\fR
+.ad
+.RS 7n
+.rt
+end insert or incomplete command
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fIDEL\fR\fR
+.ad
+.RS 7n
+.rt
+(delete or rubout) interrupts
+.RE
+
+.SS "File Manipulation"
+.sp
+.ne 2
+.mk
+.na
+\fBZZ\fR
+.ad
+.RS 15n
+.rt
+if file modified, write and exit; otherwise, exit
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB:w\fICR\fR\fR
+.ad
+.RS 15n
+.rt
+write back changes
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB:w!\fICR\fR\fR
+.ad
+.RS 15n
+.rt
+forced write, if permission originally not valid
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB:q\fICR\fR\fR
+.ad
+.RS 15n
+.rt
+quit
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB:q!\fICR\fR\fR
+.ad
+.RS 15n
+.rt
+quit, discard changes
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB:e \fIname\fR\fICR\fR\fR
+.ad
+.RS 15n
+.rt
+edit file \fIname\fR
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB:e!\fICR\fR\fR
+.ad
+.RS 15n
+.rt
+reedit, discard changes
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB:e + \fIname\fR\fICR\fR\fR
+.ad
+.RS 15n
+.rt
+edit, starting at end
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB:e +\fIn\fR\fICR\fR\fR
+.ad
+.RS 15n
+.rt
+edit, starting at line \fIn\fR
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB:e #\fICR\fR\fR
+.ad
+.RS 15n
+.rt
+edit alternate file
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB:e! #\fICR\fR\fR
+.ad
+.RS 15n
+.rt
+edit alternate file, discard changes
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB:w \fIname\fR\fICR\fR\fR
+.ad
+.RS 15n
+.rt
+write file \fIname\fR
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB:w! \fIname\fR\fICR\fR\fR
+.ad
+.RS 15n
+.rt
+overwrite file \fIname\fR
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB:sh\fICR\fR\fR
+.ad
+.RS 15n
+.rt
+run shell, then return
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB:!\fIcmd\fR\fICR\fR\fR
+.ad
+.RS 15n
+.rt
+run \fIcmd\fR, then return
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB:n\fICR\fR\fR
+.ad