head	1.10;
access;
symbols
	RELENG_8_4:1.10.0.2
	RELENG_9_1_0_RELEASE:1.9.2.1.4.2
	RELENG_9_1:1.9.2.1.0.4
	RELENG_9_1_BP:1.9.2.1
	RELENG_8_3_0_RELEASE:1.8.36.1.8.1
	RELENG_8_3:1.8.36.1.0.8
	RELENG_8_3_BP:1.8.36.1
	RELENG_9_0_0_RELEASE:1.9.2.1.2.1
	RELENG_9_0:1.9.2.1.0.2
	RELENG_9_0_BP:1.9.2.1
	RELENG_9:1.9.0.2
	RELENG_9_BP:1.9
	RELENG_7_4_0_RELEASE:1.8.40.1
	RELENG_8_2_0_RELEASE:1.8.36.1.6.1
	RELENG_7_4:1.8.0.40
	RELENG_7_4_BP:1.8
	RELENG_8_2:1.8.36.1.0.6
	RELENG_8_2_BP:1.8.36.1
	RELENG_8_1_0_RELEASE:1.8.36.1.4.1
	RELENG_8_1:1.8.36.1.0.4
	RELENG_8_1_BP:1.8.36.1
	RELENG_7_3_0_RELEASE:1.8.38.1
	RELENG_7_3:1.8.0.38
	RELENG_7_3_BP:1.8
	RELENG_8_0_0_RELEASE:1.8.36.1.2.1
	RELENG_8_0:1.8.36.1.0.2
	RELENG_8_0_BP:1.8.36.1
	RELENG_8:1.8.0.36
	RELENG_8_BP:1.8
	RELENG_7_2_0_RELEASE:1.8.34.1
	RELENG_7_2:1.8.0.34
	RELENG_7_2_BP:1.8
	RELENG_7_1_0_RELEASE:1.8.32.1
	RELENG_6_4_0_RELEASE:1.8.30.1
	RELENG_7_1:1.8.0.32
	RELENG_7_1_BP:1.8
	RELENG_6_4:1.8.0.30
	RELENG_6_4_BP:1.8
	RELENG_7_0_0_RELEASE:1.8
	RELENG_6_3_0_RELEASE:1.8
	RELENG_7_0:1.8.0.28
	RELENG_7_0_BP:1.8
	RELENG_6_3:1.8.0.26
	RELENG_6_3_BP:1.8
	RELENG_7:1.8.0.24
	RELENG_7_BP:1.8
	RELENG_6_2_0_RELEASE:1.8
	RELENG_6_2:1.8.0.22
	RELENG_6_2_BP:1.8
	RELENG_5_5_0_RELEASE:1.8
	RELENG_5_5:1.8.0.20
	RELENG_5_5_BP:1.8
	RELENG_6_1_0_RELEASE:1.8
	RELENG_6_1:1.8.0.18
	RELENG_6_1_BP:1.8
	RELENG_6_0_0_RELEASE:1.8
	RELENG_6_0:1.8.0.16
	RELENG_6_0_BP:1.8
	RELENG_6:1.8.0.14
	RELENG_6_BP:1.8
	RELENG_5_4_0_RELEASE:1.8
	RELENG_5_4:1.8.0.12
	RELENG_5_4_BP:1.8
	RELENG_4_11_0_RELEASE:1.7.2.1
	RELENG_4_11:1.7.2.1.0.18
	RELENG_4_11_BP:1.7.2.1
	RELENG_5_3_0_RELEASE:1.8
	RELENG_5_3:1.8.0.10
	RELENG_5_3_BP:1.8
	RELENG_5:1.8.0.8
	RELENG_5_BP:1.8
	RELENG_4_10_0_RELEASE:1.7.2.1
	RELENG_4_10:1.7.2.1.0.16
	RELENG_4_10_BP:1.7.2.1
	RELENG_5_2_1_RELEASE:1.8
	RELENG_5_2_0_RELEASE:1.8
	RELENG_5_2:1.8.0.6
	RELENG_5_2_BP:1.8
	RELENG_4_9_0_RELEASE:1.7.2.1
	RELENG_4_9:1.7.2.1.0.14
	RELENG_4_9_BP:1.7.2.1
	RELENG_5_1_0_RELEASE:1.8
	RELENG_5_1:1.8.0.4
	RELENG_5_1_BP:1.8
	RELENG_4_8_0_RELEASE:1.7.2.1
	RELENG_4_8:1.7.2.1.0.12
	RELENG_4_8_BP:1.7.2.1
	RELENG_5_0_0_RELEASE:1.8
	RELENG_5_0:1.8.0.2
	RELENG_5_0_BP:1.8
	RELENG_4_7_0_RELEASE:1.7.2.1
	RELENG_4_7:1.7.2.1.0.10
	RELENG_4_7_BP:1.7.2.1
	RELENG_4_6_2_RELEASE:1.7.2.1
	RELENG_4_6_1_RELEASE:1.7.2.1
	RELENG_4_6_0_RELEASE:1.7.2.1
	RELENG_4_6:1.7.2.1.0.8
	RELENG_4_6_BP:1.7.2.1
	RELENG_4_5_0_RELEASE:1.7.2.1
	RELENG_4_5:1.7.2.1.0.6
	RELENG_4_5_BP:1.7.2.1
	RELENG_4_4_0_RELEASE:1.7.2.1
	RELENG_4_4:1.7.2.1.0.4
	RELENG_4_4_BP:1.7.2.1
	RELENG_4_3_0_RELEASE:1.7.2.1
	RELENG_4_3:1.7.2.1.0.2
	RELENG_4_3_BP:1.7.2.1
	RELENG_4_2_0_RELEASE:1.7.2.1
	RELENG_4_1_1_RELEASE:1.7.2.1
	PRE_SMPNG:1.8
	RELENG_4_1_0_RELEASE:1.7.2.1
	RELENG_3_5_0_RELEASE:1.6.2.1
	RELENG_4_0_0_RELEASE:1.7
	RELENG_4:1.7.0.2
	RELENG_4_BP:1.7
	RELENG_3_4_0_RELEASE:1.6.2.1
	RELENG_3_3_0_RELEASE:1.6.2.1
	RELENG_3_2_PAO:1.6.0.4
	RELENG_3_2_PAO_BP:1.6
	RELENG_3_2_0_RELEASE:1.6
	RELENG_3_1_0_RELEASE:1.6
	RELENG_3:1.6.0.2
	RELENG_3_BP:1.6
	RELENG_2_2_8_RELEASE:1.4
	RELENG_3_0_0_RELEASE:1.6
	RELENG_2_2_7_RELEASE:1.4
	RELENG_2_2_6_RELEASE:1.4
	RELENG_2_2_5_RELEASE:1.4
	RELENG_2_2_2_RELEASE:1.4
	RELENG_2_2_1_RELEASE:1.4
	RELENG_2_2_0_RELEASE:1.4
	RELENG_2_1_7_RELEASE:1.4
	RELENG_2_1_6_1_RELEASE:1.4
	RELENG_2_1_6_RELEASE:1.4
	RELENG_2_2:1.4.0.8
	RELENG_2_2_BP:1.4
	RELENG_2_1_5_RELEASE:1.4
	RELENG_2_1_0_RELEASE:1.4
	RELENG_2_1_0:1.4.0.6
	RELENG_2_1_0_BP:1.4
	RELENG_2_0_5_RELEASE:1.4
	RELENG_2_0_5:1.4.0.4
	RELENG_2_0_5_BP:1.4
	RELENG_2_0_5_ALPHA:1.4
	RELEASE_2_0:1.4
	BETA_2_0:1.4
	ALPHA_2_0:1.4.0.2
	MOVED_NEWCVS:1.3
	FINAL_1_1:1.3
	GAMMA_1_1:1.3
	BETA_1_1:1.3.0.2
	BP_BETA_1_1:1.3
	FINAL_1_0:1.2
	EPSILON_1_0:1.2
	GAMMA_1_0:1.2
	BETA_1_0:1.2
	ALPHA_1_0:1.2
	V_0_6_0_0:1.1.1.1;
locks; strict;
comment	@# @;


1.10
date	2012.11.17.01.48.29;	author svnexp;	state Exp;
branches
	1.10.2.1;
next	1.9;

1.9
date	2011.05.22.14.03.46;	author uqs;	state Exp;
branches
	1.9.2.1;
next	1.8;

1.8
date	2000.07.17.10.40.48;	author sheldonh;	state Exp;
branches
	1.8.14.1
	1.8.24.1
	1.8.30.1
	1.8.32.1
	1.8.34.1
	1.8.36.1
	1.8.38.1
	1.8.40.1;
next	1.7;

1.7
date	99.08.27.23.14.12;	author peter;	state Exp;
branches
	1.7.2.1;
next	1.6;

1.6
date	97.02.22.14.03.09;	author peter;	state Exp;
branches
	1.6.2.1;
next	1.5;

1.5
date	97.01.14.05.30.27;	author jkh;	state Exp;
branches;
next	1.4;

1.4
date	94.09.24.02.55.20;	author davidg;	state Exp;
branches
	1.4.6.1
	1.4.8.1;
next	1.3;

1.3
date	94.02.01.00.34.32;	author alm;	state Exp;
branches;
next	1.2;

1.2
date	93.06.26.06.47.02;	author alm;	state Exp;
branches;
next	1.1;

1.1
date	93.06.18.13.00.01;	author alm;	state Exp;
branches
	1.1.1.1;
next	;

1.10.2.1
date	2012.11.17.01.48.29;	author svnexp;	state dead;
branches;
next	1.10.2.2;

1.10.2.2
date	2013.03.28.13.00.04;	author svnexp;	state Exp;
branches;
next	;

1.9.2.1
date	2011.09.23.00.51.37;	author kensmith;	state Exp;
branches
	1.9.2.1.2.1
	1.9.2.1.4.1;
next	1.9.2.2;

1.9.2.2
date	2012.11.17.11.36.03;	author svnexp;	state Exp;
branches;
next	;

1.9.2.1.2.1
date	2011.11.11.04.20.22;	author kensmith;	state Exp;
branches;
next	1.9.2.1.2.2;

1.9.2.1.2.2
date	2012.11.17.08.36.05;	author svnexp;	state Exp;
branches;
next	;

1.9.2.1.4.1
date	2012.08.05.23.54.33;	author kensmith;	state Exp;
branches;
next	1.9.2.1.4.2;

1.9.2.1.4.2
date	2012.11.17.08.46.53;	author svnexp;	state Exp;
branches;
next	;

1.8.14.1
date	2012.11.17.07.38.34;	author svnexp;	state Exp;
branches;
next	;

1.8.24.1
date	2012.11.17.08.00.45;	author svnexp;	state Exp;
branches;
next	;

1.8.30.1
date	2008.10.02.02.57.24;	author kensmith;	state Exp;
branches;
next	;

1.8.32.1
date	2008.11.25.02.59.29;	author kensmith;	state Exp;
branches;
next	;

1.8.34.1
date	2009.04.15.03.14.26;	author kensmith;	state Exp;
branches;
next	;

1.8.36.1
date	2009.08.03.08.13.06;	author kensmith;	state Exp;
branches
	1.8.36.1.2.1
	1.8.36.1.4.1
	1.8.36.1.6.1
	1.8.36.1.8.1;
next	1.8.36.2;

1.8.36.2
date	2012.11.17.10.35.48;	author svnexp;	state Exp;
branches;
next	;

1.8.36.1.2.1
date	2009.10.25.01.10.29;	author kensmith;	state Exp;
branches;
next	;

1.8.36.1.4.1
date	2010.06.14.02.09.06;	author kensmith;	state Exp;
branches;
next	;

1.8.36.1.6.1
date	2010.12.21.17.09.25;	author kensmith;	state Exp;
branches;
next	;

1.8.36.1.8.1
date	2012.03.03.06.15.13;	author kensmith;	state Exp;
branches;
next	1.8.36.1.8.2;

1.8.36.1.8.2
date	2012.11.17.08.24.31;	author svnexp;	state Exp;
branches;
next	;

1.8.38.1
date	2010.02.10.00.26.20;	author kensmith;	state Exp;
branches;
next	;

1.8.40.1
date	2010.12.21.17.10.29;	author kensmith;	state Exp;
branches;
next	1.8.40.2;

1.8.40.2
date	2012.11.17.08.16.31;	author svnexp;	state Exp;
branches;
next	;

1.7.2.1
date	2000.07.17.10.42.48;	author sheldonh;	state Exp;
branches;
next	1.7.2.2;

1.7.2.2
date	2012.11.17.07.22.01;	author svnexp;	state Exp;
branches;
next	;

1.6.2.1
date	99.08.29.14.12.22;	author peter;	state Exp;
branches;
next	;

1.4.6.1
date	99.09.05.11.01.22;	author peter;	state Exp;
branches;
next	;

1.4.8.1
date	99.09.05.10.59.40;	author peter;	state Exp;
branches;
next	;

1.1.1.1
date	93.06.18.13.00.02;	author alm;	state Exp;
branches;
next	;


desc
@@


1.10
log
@Switching exporter and resync
@
text
@$FreeBSD: head/bin/ed/POSIX 222178 2011-05-22 14:03:46Z uqs $

This version of ed(1) is not strictly POSIX compliant, as described in
the POSIX 1003.2 document.  The following is a summary of the omissions,
extensions and possible deviations from POSIX 1003.2.

OMISSIONS
---------
1) For backwards compatibility, the POSIX rule that says a range of
   addresses cannot be used where only a single address is expected has
   been relaxed.

2) To support the BSD `s' command (see extension [1] below),
   substitution patterns cannot be delimited by numbers or the characters
   `r', `g' and `p'.  In contrast, POSIX specifies any character expect
   space or newline can used as a delimiter.

EXTENSIONS
----------
1) BSD commands have been implemented wherever they do not conflict with
   the POSIX standard.  The BSD-ism's included are:
	i) `s' (i.e., s[n][rgp]*) to repeat a previous substitution,
	ii) `W' for appending text to an existing file,
	iii) `wq' for exiting after a write,
	iv) `z' for scrolling through the buffer, and
	v) BSD line addressing syntax (i.e., `^' and `%')  is recognized.

2) If crypt(3) is available, files can be read and written using DES
   encryption.  The `x' command prompts the user to enter a key used for
   encrypting/ decrypting subsequent reads and writes.  If only a newline
   is entered as the key, then encryption is disabled.  Otherwise, a key
   is read in the same manner as a password entry.  The key remains in
   effect until encryption is disabled.  For more information on the
   encryption algorithm, see the bdes(1) man page.  Encryption/decryption
   should be fully compatible with SunOS des(1).

3) The POSIX interactive global commands `G' and `V' are extended to 
   support multiple commands, including `a', `i' and `c'.  The command
   format is the same as for the global commands `g' and `v', i.e., one
   command per line with each line, except for the last, ending in a
   backslash (\).

4) An extension to the POSIX file commands `E', `e', `r', `W' and `w' is
   that <file> arguments are processed for backslash escapes, i.e.,  any
   character preceded by a backslash is interpreted literally.  If the
   first unescaped character of a <file> argument is a bang (!), then the
   rest of the line is interpreted as a shell command, and no escape
   processing is performed by ed.

5) For SunOS ed(1) compatibility, ed runs in restricted mode if invoked
   as red.  This limits editing of files in the local directory only and
   prohibits shell commands.

DEVIATIONS
----------
1) Though ed is not a stream editor, it can be used to edit binary files.
   To assist in binary editing, when a file containing at least one ASCII
   NUL character is written, a newline is not appended if it did not
   already contain one upon reading.  In particular, reading /dev/null
   prior to writing prevents appending a newline to a binary file.

   For example, to create a file with ed containing a single NUL character:
      $ ed file
      a
      ^@@
      .
      r /dev/null
      wq

    Similarly, to remove a newline from the end of binary `file':
      $ ed file
      r /dev/null
      wq

2) Since the behavior of `u' (undo) within a `g' (global) command list is
   not specified by POSIX, it follows the behavior of the SunOS ed:
   undo forces a global command list to be executed only once, rather than
   for each line matching a global pattern.  In addition, each instance of
   `u' within a global command undoes all previous commands (including
   undo's) in the command list.  This seems the best way, since the
   alternatives are either too complicated to implement or too confusing
   to use.  

   The global/undo combination is useful for masking errors that
   would otherwise cause a script to fail.  For instance, an ed script
   to remove any occurrences of either `censor1' or `censor2' might be
   written as:
   	ed - file <<EOF
	1g/.*/u\
	,s/censor1//g\
	,s/censor2//g
	...

3) The `m' (move) command within a `g' command list also follows the SunOS
   ed implementation: any moved lines are removed from the global command's
   `active' list.

4) If ed is invoked with a name argument prefixed by a bang (!), then the
   remainder of the argument is interpreted as a shell command.  To invoke
   ed on a file whose name starts with bang, prefix the name with a
   backslash.
@


1.10.2.1
log
@file POSIX was added on branch RELENG_8_4 on 2013-03-28 13:00:04 +0000
@
text
@d1 101
@


1.10.2.2
log
@## SVN ## Exported commit - http://svnweb.freebsd.org/changeset/base/248810
## SVN ## CVS IS DEPRECATED: http://wiki.freebsd.org/CvsIsDeprecated
@
text
@a0 101
$FreeBSD: releng/8.4/bin/ed/POSIX 63302 2000-07-17 10:40:48Z sheldonh $

This version of ed(1) is not strictly POSIX compliant, as described in
the POSIX 1003.2 document.  The following is a summary of the omissions,
extensions and possible deviations from POSIX 1003.2.

OMISSIONS
---------
1) For backwards compatibility, the POSIX rule that says a range of
   addresses cannot be used where only a single address is expected has
   been relaxed.

2) To support the BSD `s' command (see extension [1] below),
   substitution patterns cannot be delimited by numbers or the characters
   `r', `g' and `p'.  In contrast, POSIX specifies any character expect
   space or newline can used as a delimiter.

EXTENSIONS
----------
1) BSD commands have been implemented wherever they do not conflict with
   the POSIX standard.  The BSD-ism's included are:
	i) `s' (i.e., s[n][rgp]*) to repeat a previous substitution,
	ii) `W' for appending text to an existing file,
	iii) `wq' for exiting after a write,
	iv) `z' for scrolling through the buffer, and
	v) BSD line addressing syntax (i.e., `^' and `%')  is recognized.

2) If crypt(3) is available, files can be read and written using DES
   encryption.  The `x' command prompts the user to enter a key used for
   encrypting/ decrypting subsequent reads and writes.  If only a newline
   is entered as the key, then encryption is disabled.  Otherwise, a key
   is read in the same manner as a password entry.  The key remains in
   effect until encryption is disabled.  For more information on the
   encryption algorithm, see the bdes(1) man page.  Encryption/decryption
   should be fully compatible with SunOS des(1).

3) The POSIX interactive global commands `G' and `V' are extended to 
   support multiple commands, including `a', `i' and `c'.  The command
   format is the same as for the global commands `g' and `v', i.e., one
   command per line with each line, except for the last, ending in a
   backslash (\).

4) An extension to the POSIX file commands `E', `e', `r', `W' and `w' is
   that <file> arguments are processed for backslash escapes, i.e.,  any
   character preceded by a backslash is interpreted literally.  If the
   first unescaped character of a <file> argument is a bang (!), then the
   rest of the line is interpreted as a shell command, and no escape
   processing is performed by ed.

5) For SunOS ed(1) compatibility, ed runs in restricted mode if invoked
   as red.  This limits editing of files in the local directory only and
   prohibits shell commands.

DEVIATIONS
----------
1) Though ed is not a stream editor, it can be used to edit binary files.
   To assist in binary editing, when a file containing at least one ASCII
   NUL character is written, a newline is not appended if it did not
   already contain one upon reading.  In particular, reading /dev/null
   prior to writing prevents appending a newline to a binary file.

   For example, to create a file with ed containing a single NUL character:
      $ ed file
      a
      ^@@
      .
      r /dev/null
      wq

    Similarly, to remove a newline from the end of binary `file':
      $ ed file
      r /dev/null
      wq

2) Since the behavior of `u' (undo) within a `g' (global) command list is
   not specified by POSIX, it follows the behavior of the SunOS ed:
   undo forces a global command list to be executed only once, rather than
   for each line matching a global pattern.  In addtion, each instance of
   `u' within a global command undoes all previous commands (including
   undo's) in the command list.  This seems the best way, since the
   alternatives are either too complicated to implement or too confusing
   to use.  

   The global/undo combination is useful for masking errors that
   would otherwise cause a script to fail.  For instance, an ed script
   to remove any occurences of either `censor1' or `censor2' might be
   written as:
   	ed - file <<EOF
	1g/.*/u\
	,s/censor1//g\
	,s/censor2//g
	...

3) The `m' (move) command within a `g' command list also follows the SunOS
   ed implementation: any moved lines are removed from the global command's
   `active' list.

4) If ed is invoked with a name argument prefixed by a bang (!), then the
   remainder of the argument is interpreted as a shell command.  To invoke
   ed on a file whose name starts with bang, prefix the name with a
   backslash.
@


1.9
log
@SVN rev 222178 on 2011-05-22 14:03:46Z by uqs

Fix some typos under bin/

Found by:	codespell
@
text
@d1 1
a1 1
$FreeBSD$
@


1.9.2.1
log
@SVN rev 225736 on 2011-09-23 00:51:37Z by kensmith

Copy head to stable/9 as part of 9.0-RELEASE release cycle.

Approved by:	re (implicit)
@
text
@@


1.9.2.2
log
@## SVN ##
## SVN ## Exported commit - http://svnweb.freebsd.org/changeset/base/ 242902
## SVN ## CVS IS DEPRECATED: http://wiki.freebsd.org/CvsIsDeprecated
## SVN ##
## SVN ## ------------------------------------------------------------------------
## SVN ## r242902 | dteske | 2012-11-11 23:29:45 +0000 (Sun, 11 Nov 2012) | 10 lines
## SVN ##
## SVN ## Fix a regression introduced by SVN r211417 that saw the breakage of a feature
## SVN ## documented in usr.sbin/sysinstall/help/shortcuts.hlp (reproduced below):
## SVN ##
## SVN ## If /usr/sbin/sysinstall is linked to another filename, say
## SVN ## `/usr/local/bin/configPackages', then the basename will be used
## SVN ## as an implicit command name.
## SVN ##
## SVN ## Reviewed by:	adrian (co-mentor)
## SVN ## Approved by:	adrian (co-mentor)
## SVN ##
## SVN ## ------------------------------------------------------------------------
## SVN ##
@
text
@d1 1
a1 1
$FreeBSD: stable/9/bin/ed/POSIX 222178 2011-05-22 14:03:46Z uqs $
@


1.9.2.1.4.1
log
@SVN rev 239080 on 2012-08-05 23:54:33Z by kensmith

Copy stable/9 to releng/9.1 as part of the 9.1-RELEASE release process.

Approved by:	re (implicit)
@
text
@@


1.9.2.1.4.2
log
@Switch importer
@
text
@d1 1
a1 1
$FreeBSD: releng/9.1/bin/ed/POSIX 222178 2011-05-22 14:03:46Z uqs $
@


1.9.2.1.2.1
log
@SVN rev 227445 on 2011-11-11 04:20:22Z by kensmith

Copy stable/9 to releng/9.0 as part of the FreeBSD 9.0-RELEASE release
cycle.

Approved by:	re (implicit)
@
text
@@


1.9.2.1.2.2
log
@Switch importer
@
text
@d1 1
a1 1
$FreeBSD: releng/9.0/bin/ed/POSIX 222178 2011-05-22 14:03:46Z uqs $
@


1.8
log
@Locale support was added by ache long ago.
@
text
@d1 1
a1 1
$FreeBSD: src/bin/ed/POSIX,v 1.7 1999/08/27 23:14:12 peter Exp $
d78 1
a78 1
   for each line matching a global pattern.  In addtion, each instance of
d86 1
a86 1
   to remove any occurences of either `censor1' or `censor2' might be
@


1.8.24.1
log
@Switch importer
@
text
@d1 1
a1 1
$FreeBSD: stable/7/bin/ed/POSIX 172506 2007-10-10 16:59:15Z cvs2svn $
@


1.8.14.1
log
@Switch importer
@
text
@d1 1
a1 1
$FreeBSD: stable/6/bin/ed/POSIX 147906 2005-07-11 04:14:43Z cvs2svn $
@


1.8.40.1
log
@SVN rev 216618 on 2010-12-21 17:10:29Z by kensmith

Copy stable/7 to releng/7.4 in preparation for FreeBSD-7.4 release.

Approved by:	re (implicit)
@
text
@d1 1
a1 1
$FreeBSD$
@


1.8.40.2
log
@Switch importer
@
text
@d1 1
a1 1
$FreeBSD: releng/7.4/bin/ed/POSIX 172506 2007-10-10 16:59:15Z cvs2svn $
@


1.8.38.1
log
@SVN rev 203736 on 2010-02-10 00:26:20Z by kensmith

Copy stable/7 to releng/7.3 as part of the 7.3-RELEASE process.

Approved by:	re (implicit)
@
text
@d1 1
a1 1
$FreeBSD$
@


1.8.36.1
log
@SVN rev 196045 on 2009-08-03 08:13:06Z by kensmith

Copy head to stable/8 as part of 8.0 Release cycle.

Approved by:	re (Implicit)
@
text
@d1 1
a1 1
$FreeBSD$
@


1.8.36.2
log
@## SVN ##
## SVN ## Exported commit - http://svnweb.freebsd.org/changeset/base/ 242909
## SVN ## CVS IS DEPRECATED: http://wiki.freebsd.org/CvsIsDeprecated
## SVN ##
## SVN ## ------------------------------------------------------------------------
## SVN ## r242909 | dim | 2012-11-12 07:47:19 +0000 (Mon, 12 Nov 2012) | 20 lines
## SVN ##
## SVN ## MFC r242625:
## SVN ##
## SVN ## Remove duplicate const specifiers in many drivers (I hope I got all of
## SVN ## them, please let me know if not).  Most of these are of the form:
## SVN ##
## SVN ## static const struct bzzt_type {
## SVN ##       [...list of members...]
## SVN ## } const bzzt_devs[] = {
## SVN ##       [...list of initializers...]
## SVN ## };
## SVN ##
## SVN ## The second const is unnecessary, as arrays cannot be modified anyway,
## SVN ## and if the elements are const, the whole thing is const automatically
## SVN ## (e.g. it is placed in .rodata).
## SVN ##
## SVN ## I have verified this does not change the binary output of a full kernel
## SVN ## build (except for build timestamps embedded in the object files).
## SVN ##
## SVN ## Reviewed by:	yongari, marius
## SVN ##
## SVN ## ------------------------------------------------------------------------
## SVN ##
@
text
@d1 1
a1 1
$FreeBSD: stable/8/bin/ed/POSIX 63302 2000-07-17 10:40:48Z sheldonh $
@


1.8.36.1.8.1
log
@SVN rev 232438 on 2012-03-03 06:15:13Z by kensmith

Copy stable/8 to releng/8.3 as part of 8.3-RELEASE release cycle.

Approved by:	re (implicit)
@
text
@@


1.8.36.1.8.2
log
@Switch importer
@
text
@d1 1
a1 1
$FreeBSD: releng/8.3/bin/ed/POSIX 63302 2000-07-17 10:40:48Z sheldonh $
@


1.8.36.1.6.1
log
@SVN rev 216617 on 2010-12-21 17:09:25Z by kensmith

Copy stable/8 to releng/8.2 in preparation for FreeBSD-8.2 release.

Approved by:	re (implicit)
@
text
@@


1.8.36.1.4.1
log
@SVN rev 209145 on 2010-06-14 02:09:06Z by kensmith

Copy stable/8 to releng/8.1 in preparation for 8.1-RC1.

Approved by:	re (implicit)
@
text
@@


1.8.36.1.2.1
log
@SVN rev 198460 on 2009-10-25 01:10:29Z by kensmith

Copy stable/8 to releng/8.0 as part of 8.0-RELEASE release procedure.

Approved by:	re (implicit)
@
text
@@


1.8.34.1
log
@SVN rev 191087 on 2009-04-15 03:14:26Z by kensmith

Create releng/7.2 from stable/7 in preparation for 7.2-RELEASE.

Approved by:	re (implicit)
@
text
@d1 1
a1 1
$FreeBSD$
@


1.8.32.1
log
@SVN rev 185281 on 2008-11-25 02:59:29Z by kensmith

Create releng/7.1 in preparation for moving into RC phase of 7.1 release
cycle.

Approved by:	re (implicit)
@
text
@d1 1
a1 1
$FreeBSD$
@


1.8.30.1
log
@SVN rev 183531 on 2008-10-02 02:57:24Z by kensmith

Create releng/6.4 from stable/6 in preparation for 6.4-RC1.

Approved by:	re (implicit)
@
text
@d1 1
a1 1
$FreeBSD$
@


1.7
log
@$Id$ -> $FreeBSD$
@
text
@d1 1
a1 1
$FreeBSD$
d9 1
a9 3
1) Locale(3) is not supported yet.

2) For backwards compatibility, the POSIX rule that says a range of
d13 1
a13 1
3) To support the BSD `s' command (see extension [1] below),
@


1.7.2.1
log
@MFC rev 1.8: locale support done
@
text
@d1 1
a1 1
$FreeBSD: src/bin/ed/POSIX,v 1.7 1999/08/27 23:14:12 peter Exp $
d9 3
a11 1
1) For backwards compatibility, the POSIX rule that says a range of
d15 1
a15 1
2) To support the BSD `s' command (see extension [1] below),
@


1.7.2.2
log
@Switch importer
@
text
@d1 1
a1 1
$FreeBSD: stable/4/bin/ed/POSIX 63303 2000-07-17 10:42:48Z sheldonh $
@


1.6
log
@Revert $FreeBSD$ to $Id$
@
text
@d1 1
a1 1
$Id$
@


1.6.2.1
log
@$Id$ -> $FreeBSD$
@
text
@d1 1
a1 1
$FreeBSD$
@


1.5
log
@Make the long-awaited change from $Id$ to $FreeBSD$

This will make a number of things easier in the future, as well as (finally!)
avoiding the Id-smashing problem which has plagued developers for so long.

Boy, I'm glad we're not using sup anymore.  This update would have been
insane otherwise.
@
text
@d1 1
a1 1
$FreeBSD$
@


1.4
log
@Added $Id$
@
text
@d1 1
a1 1
$Id$
@


1.4.6.1
log
@$Id$ -> $FreeBSD$
@
text
@d1 1
a1 1
$FreeBSD$
@


1.4.8.1
log
@$Id$ -> $FreeBSD$
@
text
@d1 1
a1 1
$FreeBSD$
@


1.3
log
@Fixed range address bug: 1,2, == 2,2   not 2,.
Overhauled the name space,  reworked some modules and removed the
obsolescent Addison-Wesley copyright.
@
text
@d1 2
@


1.2
log
@fixed undo within a global command (would corrupt the buffer)
changed move within a global to behave as in SunOS
added a couple error messages
@
text
@d1 101
a101 62
This version of ed is not strictly POSIX compliant, as described in the
POSIX 1003.2 Draft 11.2 document.  BSD commands have been implemented
wherever they do not conflict with the POSIX standard.  For backwards
compatibility, the POSIX rule that says a range of addresses cannot be
used where only a single address is expected has been relaxed.

The BSD commands included are:
	1) `s' (i.e., s[rgp]*) to repeat a previous substitution,
	2) `W' for appending text to an existing file,
	3) `wq' for exiting after a write, and
	4) `z' for scrolling through the buffer.
BSD line addressing syntax (i.e., `^' and `%').  is also recognized.

The POSIX interactive global commands `G' and `V' are extended to support
multiple commands, including `a', `i' and `c'.  The command format is the
same as for the global commands `g' and `v', i.e., one command per line
with each line, except for the last, ending in a backslash (\).

If crypt is available, files can be read and written using DES encryption.
The `x' command prompts the user to enter a key used for encrypting/
decrypting subsequent reads and writes.  If only a newline is entered as
the key, then encryption is disabled.  Otherwise, a key is read in the
same manner as a password entry.  The key remains in effect until
encryption is disabled.  For more information on the encryption algorithm,
see the bdes(1) man page.  Encryption/decryption should be fully compatible
with SunOS DES.

An extension to the POSIX file commands `E', `e', `r', `W' and `w' is that
<file> arguments are processed for backslash escapes, i.e.,  any character
preceded by a backslash is interpreted literally.  If the first unescaped
character of a <file> argument is a bang (!), then the rest of the line
is interpreted as a shell command, and no escape processing is performed
by ed.

The vi editor's bang command syntax is supported, i.e.,
(addr1,addr2) !<shell-cmd> replaces the addressed lines with the output of 
	the command <shell-cmd>.
[rwe] !! reads/writes/edits the previous !<shell-cmd>.

If ed is invoked with a name argument prefixed by a bang, then the
remainder of the argument is interpreted as a shell command.  To invoke
ed on a file whose name starts with bang, prefix the name with a backslash.

ed runs in restricted mode if invoked as red.  This limits editing of
files in the local directory only and prohibits !<shell-cmd> commands.

Though ed is not a binary editor, it can be used (if painfully) to edit
binary files.  To assist in binary editing, when a file containing at
least one ASCII NUL character is written, a newline is not appended
if it did not already contain one upon reading.

Since the behavior of `u' (undo) within a `g' (global) command list is
not specified by POSIX D11/2, it follows the behavior of the SunOS ed
(this is the best way, I think, in that the alternatives are either too
complicated to implement or too confusing to use):  undo forces a global
command list to be executed only once, rather than for each line matching
a global pattern.  In addtion, each instance of `u' within a global command
undoes all previous commands (including undo's) in the command list.

The `m' (move) command within a `g' command list also follows the SunOS
ed implementation: any moved lines are removed from the global command's
`active' list.
@


1.1
log
@Initial revision
@
text
@d51 12
@


1.1.1.1
log
@POSIX ed version 0.6 by Andrew Moore (alm@@netcom.com).
@
text
@@
