the hup flag before and after that call, when the buffer structures are stable
for write_file() to work. Remove the hup handling from the SPL0() macro,
because this is run in at least one place during structure instability.
The SIGINT handler, which uses siglongjmp(), is also trusting the SPL1/SPL0
dance more than it should.
ok millert
Otherwise, if ed's output is not line buffered (e.g. if it is
redirected to a file or pipe) the shell command output may be
displayed before data buffered by ed itself is written.
From Soeren Tempel. OK deraadt@
Both have the same meaning, but the former is explicitly defined
in this manual page as "the next line" whereas the latter requires
combining various pieces of information for understanding.
Unification suggested and patch OK'ed by martijn@.
implementation; it was oversimplified and arguably incorrect.
2. Explicitely compare the behaviour of empty command lists for g,
empty command lists for G, and empty commands because these subtle
differences are quite confusing.
3. Say more precisely what the v and V commands do, avoiding the
fuzzy wording "similar".
All these issues were first pointed out by martijn@.
Feedback and OK martijn@; "diff reads ok" jmc@ on an earlier version.
the g and G commands, and polish the wording a bit explaining empty
command lists.
Closing a gap in the manual reported by <mazocomp at disroot dot org>.
OK jmc@ martijn@
* Delete a stray blank from the command line synopsis
and add the missing .Ar markup to it.
* Do not mention the terminating newline for the empty command
since it isn't mentioned for any other command either.
* Make the description of the empty command easier to understand.
Joint work with martijn@ and jmc@.
value < 0. errno is only updated in this case. Change all (most?)
callers of syscalls to follow this better, and let's see if this strictness
helps us in the future.
POSIX states: "An empty command list shall be equivalent to the p command",
so changing the behaviour of a null-command in any other case is a
violation of POSIX.
OK millert@
'$' characters are escaped, so that we are POSIX compliant.
The omission of trailing '$' was originally hidden behind a BACKWARDS
flag. This flag was most likely introduced to be compatible with 4.4BSD.
Thanks to naddy@ for pointing me to the 4.4BSD ed implementation.
I tried to trace the origin and enabling of the BACKWARDS flag, since
both FreeBSD and NetBSD have the flag, but only FreeBSD doesn't have it
enabled. Both projects had an alm@ working on ed during 1993-1995 during
which he added this flag to both projects and only enabled it on NetBSD,
but I wasn't able to reach him on any known address.
Thanks to Ed Schouten (ed@freebsd), and Michael W. Lucas of the ed
Mastery book for helping me trying to locate Andrew Moore.
Problem originally prodded by garzon.lucero@gmail.com and later
independently re-requested by n.reusse@hxgn.net.
OK tb@, guenther@, and mwl@mwl.io
as per POSIX. With this patch, ",n" is an abbreviation for "1,n",
";n" abbreviates ".;n". The "n," and "n;" variants mean "n,n" and "n;n",
respectively.
Patch from Jerome FRGAGIC; ok stefan, deraadt
If a zero-length match is found do the replacement and increment the start point
for the next search by one. This allows for commands like s/^/- /
This brings the behaviour closer to the way sed and vi work.
OK schwarze@