jtc
33849ebec9
Add the asf command for absolute tape positioning.
...
Some cleanup of the remote tape interface, but a lot more is needed.
Ideally, we'd have a "rmt" library which provides a remote tape API
including open, read, write, close, and ioctl. This is useful not
only for mt, but also for programs like tar, cpio, pax, backup and
restore.
1996-08-08 09:16:06 +00:00
mrg
0b88073324
this program does not need to be setuid root.
1996-08-06 07:21:40 +00:00
explorer
e0b43395ad
include <pwd.h> for one function (user_from_uid) and correct one
...
%*d -> %*ld in a format string. (yes, trying to find the problem with
ps wwwwwwwww1 and core dump, and might as well clean up while here)
1996-07-13 06:58:33 +00:00
mycroft
00e5d89a69
Sort FTS_NS entries by name, just so the order is well-defined.
1996-07-09 09:16:29 +00:00
mycroft
524eb9810f
Stylistic change of no consequence.
1996-07-08 10:32:01 +00:00
mycroft
0dc5640b54
Compare nanosecond field in timestamps.
...
Always do name comparison if other sort field is equal.
1996-07-08 10:22:13 +00:00
mycroft
c603307d33
Partition FTS_NS entries from others, to avoid confusing qsort().
...
Don't bother to order the FTS_NS entries amongst themselves.
1996-07-08 10:20:16 +00:00
jtc
a29e2412d6
Fix formatting of description of @ command; From PR #2577
1996-06-30 23:16:32 +00:00
christos
beb57fb35d
- Add function callback capability when variables are set.
...
- Add setvarsafe that returns an error instead of longjmp() to the
error code.
1996-06-25 16:49:05 +00:00
christos
cc31700a92
- Add getoptsreset to be used as a callback function when OPTIND is set.
...
This is used to implement the POSIX behavior when OPTIND=1
- Call setvarsafe instead of setvar. If one ran
"getopts optstr badvariable"
where badvariable contained an illegal variable name, there was no way
to recover, since setvar() would longjmp on the error.
1996-06-25 16:47:43 +00:00
christos
02b3c16118
change sethistsize() to take the history size as an argument so it can
...
be used directly by the new variable callback functions.
1996-06-25 16:43:33 +00:00
christos
9a738ef22d
const poisoning.
1996-06-25 16:40:38 +00:00
christos
70ad20e9f1
Include header files to get function prototypes; don't use home grown ones.
1996-06-25 16:40:06 +00:00
christos
0bc88b2434
getopts fixes:
...
1. OPTIND value was not computed correctly when the argument was part of the
option string (i.e. for "l:" "-l 1" was working "-l1" was not). (PR/2505).
2. OPTARG was not being unset in case of errors [in the non POSIX error case].
3. optvar could be set to random values.
4. Option string starting with a : was not treated specially as POSIX
specifies (if the option string starts with a :, then there is no
error printed when there are missing option arguments or illegal options,
and OPTARG and optvar are being set specially).
5. Implemented getopts "opts" optvar [arg]. The optional argument case
was not implemented.
To do:
- what does Posix say about resetting the getopts state? Bash does it
by setting OPTIND=0; is that correct? Should we be doing the same thing?
- should we be using getopt(3) for everything internal to the shell? Is that
feasible because we might need to handle multiple invocations at once.
1996-06-04 21:00:09 +00:00
cgd
ad8b41fa2a
don't spew an error message if setlocale(LC_ALL, ""); fails. This is for
...
consistency with other programs, and because currently it can never
actually succeeed if LANG is set to something other than "C". Sent
in by me in PR 2486, approved by jtc).
1996-06-04 20:41:15 +00:00
christos
66824391d1
Fix PR/2504: return with no args returns 0 instead of the return value of
...
the previous command in functions
1996-06-03 12:21:17 +00:00
cgd
7514e04296
in findvar(), return after warning about unknown keyword so we don't
...
deref. a null pointer.
1996-05-30 21:16:32 +00:00
mrg
2aa93b359f
"SCSI tape" -> "SCSI", from is
1996-05-26 04:00:49 +00:00
mrg
5bdb157a47
add blocksize/density commands. other part of #921 (Olaf Seibert <rhialto@polder.ubc.kun.nl>)
1996-05-21 10:23:54 +00:00
mrg
d63f735104
add type 7 (scsi tape). part of pr#921 (Olaf Seibert <rhialto@polder.ubc.kun.nl>)
1996-05-21 10:09:10 +00:00
cgd
edc0ef345c
Fix growstackblock() 'newlen' calculations:
...
(1) it needs to be ALIGNed for both halves of the 'if,' and
(2) if you're going to claim that you now have ALIGN(newlen)
bytes left, you should have actually allocated
ALIGN(newlen), rather than just 'newlen' bytes.
1996-05-20 14:49:32 +00:00
jtc
26db98be19
Fixed typo in comment
1996-05-17 01:07:47 +00:00
christos
55a41e8abb
Close PR/2384 backquoted backslash-newline was not eaten.
1996-05-09 19:40:08 +00:00
jtc
4f6f2f00e0
Use const qualifier as appropriate
1996-05-07 18:20:05 +00:00
mycroft
f3a6e4ecb9
Remove comment regarding 4.4 symlink behaviour.
1996-04-25 15:44:56 +00:00
thorpej
22e88f769b
Oops, forgot to add "chio" to the subdirs list.
1996-04-23 17:26:32 +00:00
thorpej
b4ffe0bfe2
Utility to control media changers from the command line; corresponds
...
to new SCSI changer driver.
1996-04-03 00:34:38 +00:00
scottr
c23158c00e
- Open device with O_WRONLY only if the command actually writes to the
...
device, otherwise O_RDONLY. Thanks to Hitoshi Osada for noticing this.
Closes PRs 2202 and 2249.
- Style police.
1996-03-28 07:10:05 +00:00
mrg
7f64ea0365
impliment -z (gzip) in pax and tar, and -Z (compress) in tar.
1996-03-26 23:54:13 +00:00
jtc
5f1b7809e2
fix damage caused by sccs (long ago)
1996-03-21 01:36:28 +00:00
phil
3e4d50990e
a a => a (close pr 2204).
1996-03-12 04:32:37 +00:00
pk
0b9acf16f8
Return zero status if `else' clause is empty.
1996-03-06 14:49:29 +00:00
scottr
3a2ca195af
Picked up a little lint in the dryer.
1996-03-06 06:34:20 +00:00
scottr
64e4898415
Since we're setuid, let's be paranoid.
1996-03-06 06:22:04 +00:00
scottr
291f29d7f4
Forgot this bit, somehow.
1996-03-06 04:52:37 +00:00
christos
b09ffc42b1
- parser.c: Fix prompting in old style backquote expansion. Fixes PR/2139
...
and many user complaints why the shell hangs in echo "`"
- eval.c: Fix exitstatus invalid resetting in `if' statements were:
if (exit 3); then
echo foo $?
else
echo bar $?
fi
printed 'bar 0' instead of bar 3
1996-03-05 21:03:52 +00:00
scottr
41c2cff5ab
Add remote tape capabilities.
1996-03-05 20:39:32 +00:00
jtc
16f5230c39
Changed so that cd builtin doesn't do wierd stuff when cd'ing through
...
symlinks. From Chris Demetriou <cgd@NetBSD.ORG>. Fixes PR #1776 .
Changed so that INTOFF/INTON are paired in getpwd(). From Matthias
Pfaller <leo@marco.de>. Fixes PR #2130 .
1996-03-01 01:58:58 +00:00
jtc
6ea95846cb
add const qualifier to args and clist tables
1996-03-01 01:18:58 +00:00
jtc
dba6c61918
Re-do change to use const qualifer with conversion tables.
...
Fixed bug where pre-computed upper/lower case conversion tables were
used. This won't work if user selected a different locale.
1996-02-20 19:29:01 +00:00
cgd
6e72825941
Previous change (Use const qualifier with conversion tables) is broken.
...
(1) It won't compile, and (2) there's code in dd.c which actually
does modify (some, all, used?) conversion tables, so they can't _all_ be
const (if any can).
1996-02-20 18:54:01 +00:00
jtc
a162c334b1
Use const qualifier with conversion tables
1996-02-19 23:12:55 +00:00
mycroft
b5b9e1d0fa
Fix problems with the way init.o is built:
...
* Prevent gratuitous rebuilds when nothing has changed.
* Make sure it's rebuilt if a .h file is updated.
From Mike Long, PR 1454.
1996-02-18 12:29:18 +00:00
jtc
645e4d83ee
Changed so that COLUMNS environment variable will override the value
...
obtained via the TIOCGWINSIZ ioctl. This is required by POSIX.2, see
section 4.39.5.3.
1996-02-14 05:58:53 +00:00
christos
d3aec2060d
Fix PR/2070: Ksh style variable modifiers were broken in /bin/sh, from
...
enami tsugutomo
1996-02-12 15:11:41 +00:00
christos
a8a54fa636
fix bug where
...
child% suspend
parent% bg
parent% fg
Fg would not work anymore, it would say Suspended (tty input).
1996-02-09 02:28:29 +00:00
jtc
429c5e2f3b
Rename struct timespec fields to conform to POSIX.1b
1996-02-01 00:02:24 +00:00
pk
3c7b56e9b2
Note compatibility `-h' op. (from Rob Windsor; PR#1740)
1996-01-05 12:39:30 +00:00
jtc
9a3ca97f12
ENVIRONMENTAL -> ENVIRONMENT
1995-12-05 02:41:35 +00:00
jtc
3ae562ed82
merge in changes from 1.1 release branch
1995-11-28 05:12:44 +00:00
christos
ff008dabf6
Fix PR/1760, where 'cd -' before any other command could cause a reference
...
to an uninitialized pointer. Use getcwd() to get the current working directory,
instead of forking /bin/pwd [per Scott's suggestion]
1995-11-19 23:27:37 +00:00
jtc
41e21e1634
LIBMATH -> LIBM (PR# 1688)
1995-10-26 00:48:59 +00:00
christos
c22dddc4e0
Parallel make fixes.
1995-10-22 00:15:02 +00:00
christos
893ade3fac
- fix PR1620, -DNO_HISTORY did not work.
...
- restore parsing state after parsing old style command substitution.
The ';' in '`echo z;`' broke the following:
for i in 1; do
cat > /dev/tty << __EOF__
`echo z;`
__EOF__
done
cVS: Enter Log. Lines beginning with `CVS: ' are removed automatically
1995-10-19 04:14:37 +00:00
gwr
f8791fb073
Add -DNO_CONV to make this smaller in my ramdisk.
1995-10-08 23:01:22 +00:00
christos
92380da725
fixed previous booboo that broke command line editing input.
1995-10-06 21:38:18 +00:00
cgd
db6548cd7b
correct the sizes specified for various variables.
1995-09-29 21:58:59 +00:00
cgd
9b497abb6f
add code to convert from INT32 and UINT32 to native types.
1995-09-29 21:58:12 +00:00
cgd
ca9f3b6e66
add INT32 and UINT32 variable type specifiers. some of the variables
...
that are printed are of fixed size.
1995-09-29 21:57:03 +00:00
tls
546f6b1705
Sync with 4.4BSD-Lite2
1995-09-28 07:18:20 +00:00
cgd
fe622df251
kill an extr space in a (literally-printed) example
1995-09-27 05:38:55 +00:00
jtc
0ab192c94c
Update lseek() constants:
...
L_SET -> SEEK_SET
L_INCR -> SEEK_CUR
L_XTND -> SEEK_END
1995-09-27 00:38:38 +00:00
christos
c1b02d9bff
- Fix -v flag, so that it works properly when the shell reads from scripts.
...
- Bad style to fix my own PR, but I'd like to commit the parallel make
changes soon, and this is a necessary prerequisite.
1995-09-26 13:25:19 +00:00
jtc
422216beb9
Uncomment text that describes that a vertical bar is printed after each
...
pathname that is a FIFO when the -F option is used.
1995-09-26 05:04:45 +00:00
jtc
d4fe82df8d
Handle %q format directive; from Mike Long (PR #1454 ).
1995-09-14 16:19:06 +00:00
christos
f9382bca1a
Fix return builtin to work like it does in ksh:
...
When not in a function, it skips the rest of the current input file.
Instances of `return' outside function definitions were previously ignored.
What does joe posix have to say about this?
[fixes PR/1444]
1995-09-11 17:05:41 +00:00
jtc
c2f3dc5291
Sync with 4.4lite2
1995-09-07 06:57:11 +00:00
jtc
d943cdadce
Sync with 4.4lite2
1995-09-07 06:42:58 +00:00
jtc
f859c958ca
Sync with 4.4lite2
1995-09-07 06:28:39 +00:00
jtc
5fc5415e25
Sync with 4.4lite2
1995-09-07 06:12:53 +00:00
pk
6c1353c677
Sync exit codes with man page (from Scott Burns).
1995-08-27 18:31:20 +00:00
jtc
a13d94f0b7
Change default magtape from /dev/rmt12 to /dev/rst0; PR #1399
1995-08-22 19:36:00 +00:00
pk
e42c9afe2e
.DV => .Dv (from Mark Weaver, PR#1370).
1995-08-18 10:32:03 +00:00
cgd
81a152541e
Kenneth Stailey pointed out that his previous fix was incorrect. RE and SL
...
should be bounded at 127, not 99.
1995-08-15 14:00:59 +00:00
cgd
731f8de0fa
as suggested in PR 1347, by Kenneth Stailey, make "RE" and "SL" fields
...
show up as two digits, max, displaying "99" if > 99. allow any field with
an unsigned value to be specified as printing that way (though right now
it's only used for RE and SL, which are both unsigned longs). This fix
is substantially different than that suggested in the PR.
1995-08-14 05:00:03 +00:00
jtc
40b67f2121
lose unused variable; PR #1297
1995-08-11 00:38:15 +00:00
jtc
bdf0a24b3d
Don't remove the destination file if there is a write error. This is
...
very bad if it is actually a device or fifo. POSIX.2 requires that a
diagnostic message be written, the file descriptor be closed, and for
cp to continue on with the rest of the files.
1995-08-02 07:17:02 +00:00
jtc
23e6aab105
Use "utility" instead of "command". Modern definitions of these terms
...
are distinct (See POSIX.2 glossary).
A utility is a executable, script or shell builtin; while a command
can be any of those things plus lists, pipelines, compound commands
(if, for, while) and shell function definitions.
1995-07-25 19:36:36 +00:00
jtc
1c13dcfdd8
s/HISTORY/STANDARDS/; noted by Masanobu Saitoh in PR#1269
1995-07-25 18:34:15 +00:00
christos
782cb68126
Fix bin/1240, from Dennis Ferguson. the exit builtin with no arguments
...
should return the exitcode of the previous command but it always returned 0.
1995-07-20 15:04:16 +00:00
pk
edae5ead03
Relocate pointers after re-allocation of the job table.
1995-07-04 16:26:45 +00:00
mycroft
33b2edf3a9
Style and format police.
1995-06-25 21:59:21 +00:00
mycroft
26fcf513d2
Don't complain if a directory already exists. From Greg Hudson, but
...
slightly edited.
1995-06-25 21:44:34 +00:00
cgd
3d113b326b
don't assume f_fstypename is larger than MFSNAMELEN or is nul-terminated
1995-06-18 10:58:06 +00:00
jtc
88fc62fe16
Changed type of rlimit values from quad_t to rlim_t. Cast rlim_t's to
...
quad_t's and use "%qd" in printf.
Eliminated unneccessary conditional.
1995-06-12 19:44:16 +00:00
mycroft
332b7d5213
Add a DPADD.
1995-06-10 20:19:40 +00:00
christos
a45947b2a4
Changed so that 'PATH=newpath command' works, instead of looking at the
...
old path. Synced input.c with vangogh.
1995-06-09 01:53:44 +00:00
cgd
8936958f57
typeof(timeval.ts_sec) != time_t
1995-06-07 16:29:30 +00:00
cgd
dcb82cbdbc
needs string.h
1995-06-07 16:28:03 +00:00
christos
9d255ec409
Ignore result of sigaction when setting traps. Traps will succeed even
...
on SIGKILL or SIGSTOP. This is what other bourne shells do. (suggested
by mycroft)
1995-06-07 04:16:57 +00:00
christos
b842cc2784
Avoid trapping SIGKILL. Pretend that we did, so that we will not keep
...
failing trying to trap it later. This is what the other bourne shells do.
1995-06-05 14:24:33 +00:00
mycroft
c7ad9c47f1
Fill in sin_len.
1995-06-03 22:24:45 +00:00
ragge
2c26a4db6f
Removed some (unworking) #ifdef vax.
1995-06-01 16:25:04 +00:00
christos
58e18fc330
Fixed bug where
...
$ cat foo
echo $FOO
$ FOO=1 . ./foo
$ echo $FOO
Did not echo 1 at all. Now variable assignments before sourced scripts
are honored during and after the execution of the script.
1995-05-28 18:09:48 +00:00
mycroft
d91f14cba8
If there is another field after the command, fill in the command field with
...
blanks.
1995-05-25 04:13:17 +00:00
mycroft
02513843ae
Simplify this just a little.
1995-05-25 03:14:37 +00:00
christos
ec16f0d3d8
Fixed bug where 'which /bin/csh' reports .//bin/csh, by copying the
...
current tcsh code.
1995-05-23 19:47:16 +00:00
mycroft
8465d5c10c
Split out some helper functions again.
1995-05-21 13:38:25 +00:00
christos
4fb6f609aa
Changed so that syntax errors (EXERROR) set the exit status to 2,
...
and commands that are not found set the exit status to 1 like all
other bourne shells.
[It used to be 0 and 2 respectively]
1995-05-19 15:08:55 +00:00
mycroft
3541700d61
Create and strvis(3) the argument and environment lists only as needed.
...
Do not keep extra copies around.
1995-05-18 20:33:20 +00:00
mycroft
3cd42e791d
Do the right thing for an empty environment.
1995-05-18 15:35:59 +00:00
mycroft
3a23f31a10
Avoid an extra (gratuitous) pass through strvis(3).
1995-05-18 15:27:31 +00:00
mycroft
d70850c69c
Gather the argument and environment lists when we actually want to print them.
1995-05-18 14:37:03 +00:00
christos
56a08eccca
Fixed bug where ${#} was interpreted incorrectly as ${#var} and thus
...
misparsed. Keith Bostic reported it.
1995-05-17 00:05:25 +00:00
cgd
b5f33fc18e
re-add an #endif that was (apprently) clobbered.
1995-05-15 03:29:54 +00:00
christos
fbac2e9de2
Fixed new bug the previous fix introduced:
...
false
foo=bar
echo $?
would print 1
Also fixed the long standing bug:
false
echo `echo $?`
would print 0
The exitstatus needs rethinking and rewriting. The trial and error method
is not very efficient
1995-05-15 02:47:38 +00:00
christos
2e1970487e
Fixed bug caused by previous x=`false` not preserving the exit status fix.
...
The if statement exit status broke...
1995-05-14 04:19:18 +00:00
christos
07bae7eddd
Merge in my changes from vangogh, and fix the x=`false`; echo $? == 0
...
bug.
1995-05-11 21:28:33 +00:00
cgd
fe9be699b4
add a 'holdcnt' keyword and document it.
1995-05-08 23:11:31 +00:00
cgd
630b3b093b
add the ability to understand and print INT and UINT-sized variables.
1995-05-08 22:39:24 +00:00
pk
e9b36a55e7
Sync process flags with sys/proc.h
1995-05-07 12:51:25 +00:00
mycroft
556d212c3d
Use POSIX signal semantics. Change p_pid and p_jobid to pid_t's.
1995-04-29 23:21:28 +00:00
jtc
528957a005
Winning Strategies has placed this code into the Public Domain
1995-04-28 23:19:22 +00:00
cgd
d7290b7687
clean up RCS Ids slightly, etc.
1995-04-23 10:07:18 +00:00
christos
dae6c6b963
Added missing resource limits and recognize "unlimited" as RLIM_INFINITY
1995-04-11 03:17:45 +00:00
mycroft
50130476f4
Fix typo in S_FIFO case when copying recursively.
1995-04-02 01:45:25 +00:00
christos
df504509f1
1. Don't core dump on 'fc -l' (From Gerard J van der Grinten)
...
2. PATH=xxx ls, does the PATH assignment first and then tries to find ls in xxx
3. VAR=xxx exec ls, does the variable assignment.
1995-03-31 21:58:09 +00:00
christos
6ee2193d9a
Reverted to set - turning off -x and -v. Charles corrected me... It is part
...
of POSIX.
1995-03-26 17:25:10 +00:00
christos
ad1f891148
set -
...
does not anymore clear the -x and -v flags. This was incompatible with
all other bourne shell implementations.
1995-03-25 23:45:24 +00:00
mycroft
ca80d8a15f
Rearrange Kerberos stuff.
1995-03-23 08:46:35 +00:00
mycroft
6bfd77e432
Fix typo in previous.
1995-03-23 00:01:03 +00:00
mycroft
7b38403c89
Use POSIX signals.
1995-03-21 18:35:32 +00:00
mycroft
3e417cced4
Use sigprocmask(), not sigsetmask().
1995-03-21 15:40:16 +00:00
mycroft
c39128a12d
Remove dead externs.
1995-03-21 14:51:58 +00:00
mycroft
ffe9a4ccf0
Update to use timer{add,sub}().
1995-03-21 13:55:23 +00:00
cgd
49f0ad8601
convert to new RCS id conventions.
1995-03-21 09:01:59 +00:00
cgd
6ff461a4e8
actually do the import. rcp appears to have been previously imported
...
but not merged(?!?!?).
1995-03-21 08:18:58 +00:00
cgd
e150dc2818
clean up slightly; id tags, alphabetization, prototypes, etc.
1995-03-21 07:28:51 +00:00
cgd
930fffb85d
clean up id tags
1995-03-21 07:08:15 +00:00
cgd
a86f3aeda3
clean up Id's, and such. reorganize man page slight to match lite's org.
1995-03-21 07:03:50 +00:00
cgd
df247e9b94
merge with lite
1995-03-21 06:57:43 +00:00
cgd
7248fa283f
clean up id tags, etc.
1995-03-21 02:08:51 +00:00
jtc
da08b16c49
Changed to accept ``kill -0 pid'' (PR #842 ).
1995-03-17 05:48:48 +00:00
jtc
6c6b9acef0
Revert to code before it was merged with 4.4lite.
...
Updated to conform to new NetBSD RCS ID conventions.
1995-03-01 07:52:23 +00:00
mycroft
4c34be6b52
Clean up deleted files.
1995-03-01 00:00:00 +00:00
christos
5c42185b5c
Oops... typo in the IFS previous fix.
1995-02-28 23:27:24 +00:00
christos
6ab1954578
Changed so that backquote expansion eats all trailing newlines, not just
...
the last one.
Reported by guido@gvr.win.tue.nl (Guido van Rooij).
Repeat By:
echo "`cat file-with-many-newlines`"
1995-02-28 23:09:43 +00:00
christos
3936aab031
Changed IFS string-splitting so that it breaks spaces even when IFS does not
...
begin with a space, but contains one. Fixes PR bin/809.
#!/bin/sh
list="a b c "
echo "With ordinary IFS"
for i in $list;do
echo $i
done
IFS=":${IFS}"
echo "With changed IFS"
for i in $list;do
echo $i
done
Note that before the fix ":${IFS}" behaved differently than "${IFS}:".
1995-02-28 22:46:12 +00:00
mycroft
705a6ebacb
Use S_IS*().
1995-01-30 19:39:36 +00:00
mycroft
f5ad44b6ac
Use S_IS*().
1995-01-30 19:30:13 +00:00
mycroft
cfbbe9b764
Document the `-t' option as in umount(8).
1995-01-30 18:14:55 +00:00
mycroft
c3b978fa44
Various:
...
* Redo `-t' handling like mount(8) and umount(8).
* Don't force a stat of every fs unless we need it.
* When using an explicit list, stat everything before printing anything, and
minimize the column width.
1995-01-30 18:10:51 +00:00
mycroft
89fb48a178
Fix core dump reported by Wolfram Schneider.
1995-01-26 06:01:36 +00:00
hpeyerl
b4c2155aa1
ECBDIC->EBCDIC
1995-01-23 18:21:48 +00:00
christos
ad8d5369f5
I added the documented in the manual but not implemented variable expansions:
...
${#WORD}
${WORD%PAT}
${WORD%%PAT}
${WORD#PAT}
${WORD##PAT}
1995-01-23 06:33:03 +00:00
mycroft
4d643bf207
Remove `.' from default PATH.
1995-01-20 18:21:16 +00:00
mycroft
c4459d08d9
Clean up deleted files.
1995-01-15 10:15:19 +00:00
mycroft
2425ddde47
Remove the gratuitous `security' warnings.
1995-01-15 09:47:36 +00:00
mycroft
4bcd14e0b4
Remove the gratuitous `security' warning.
1995-01-15 09:29:16 +00:00
mycroft
9154deaefa
Stay on the correct line at the end of a substitute command. From Andrew Moore.
1995-01-15 06:18:29 +00:00