elric
e6bccfe4be
Back out previous vfork changes.
2000-05-22 10:18:46 +00:00
elric
f5dccf4728
When vforking ensure that the environment passed to exec is built before
...
vforking as a set of local variables which can be popped by the parent.
Addresses bin/10124.
2000-05-17 07:37:12 +00:00
elric
e8b0f2b813
INTON and FORCEINTON modify global variables, and so should not be
...
executed while we are vforked.
2000-05-15 03:42:48 +00:00
elric
c55fa30be8
Added includes for waitpid, sys/types.h and sys/wait.h.
2000-05-13 21:11:45 +00:00
elric
a0ef2ea948
In order to use __NetBSD_Version__, I needed to include sys/param.h.
2000-05-13 21:11:16 +00:00
elric
0eece24a3a
Unused variable pgrp on line 576.
2000-05-13 20:59:41 +00:00
elric
4aeaa113a7
Quick fix.
...
jobs.h:91: warning: declaration of `vfork' shadows global declaration
2000-05-13 20:56:08 +00:00
elric
756a2ca1bd
Now we use vfork(2) instead of fork(2) when we can.
2000-05-13 20:50:14 +00:00
simonb
d2f6a4723d
Include <errno.h> instead of using "extern int errno;".
2000-04-14 05:54:20 +00:00
simonb
51ee9dc68d
Don't declare 'extern opt*' getopt variables.
2000-04-14 05:52:56 +00:00
christos
b252543484
PR/9847: Geoff C. Wing: Make test(1) a builtin.
2000-04-09 23:27:03 +00:00
soren
1594850f00
Fix doubled 'the' in comment.
2000-03-13 22:46:59 +00:00
christos
9fcfbaea4d
Fix problem where commands that caused exitstatus != 0 inside loops did
...
not cause the shell to exit when -e was set.
2000-02-09 20:26:53 +00:00
christos
d6ac7627ea
Fix bin/9184, bin/9194, bin/9265, bin/9266
...
Exitcode and negation problems (From Martin Husemann)
2000-01-27 23:39:38 +00:00
hubertf
a8bbeb8a4b
Add under which conditions the "read" builtin returns success/failure.
...
Suggested in PR 8813 by Eric Mumpower <nocturne@arepa.com>
1999-11-16 22:03:25 +00:00
mrg
1b23e7d142
back out previous; it causes /etc/rc to break on my alpha and other lossage as reported in PR#8614
1999-10-13 00:59:10 +00:00
pk
ef45922abf
Backtrack `exitstatus' to make the shell really ignore the status
...
of `tested commands' as in this example:
set -e
true; false && echo "not reached"
1999-10-10 21:22:24 +00:00
pk
8c06f48e15
Sprinkle some `const's in DEBUG bracketed code.
1999-10-08 21:10:44 +00:00
bouyer
d406538de6
xref sysctl(8) (for proc.<pid>.rlimits)
1999-09-28 14:54:41 +00:00
mjl
4c5c12b3f0
Mention -c option to sh(1), noticed by Matthew Aldous in PR/8499.
1999-09-27 19:34:25 +00:00
mycroft
2806df576c
It turns out that the code disabled in revision 1.30 *does* have an important
...
function (which nobody was able to explain): it's critical to allowing a
complex command run from an interactive shell to be terminated. So, reinstate
it and fix it correctly. See the comment if you really want the gory details.
1999-08-31 08:58:47 +00:00
christos
3d42469030
compile with WARNS = 2
1999-07-09 03:05:49 +00:00
christos
f914977fae
add -q in the synopsis line
1999-07-06 14:01:01 +00:00
christos
02048e84df
PR/7814: Matthias Scheler: shell does not fork for builtins in backquotes,
...
leading to unexpected behaviour. Disable the no-fork optimization for now.
We need to revisit this and keep enough state around to recover from such
changes.
1999-06-26 16:31:47 +00:00
he
e97b0193be
Fix for bin/7502, from Tor Egge / FreeBSD. Their commit message:
...
> During variable expansion, the internal representation of the expression
> might be relocated. Handle this case.
1999-04-30 17:54:17 +00:00
he
4e69294c60
Correct a rather obvious typo (once Tor Egge pointed it out to me)
...
in the last change.
1999-04-06 21:05:27 +00:00
mycroft
2e23138ad7
If we exit due to a SIGINT, do it with raise() so that the wait status is
...
correct in the parent.
1999-04-05 15:00:28 +00:00
mycroft
c06643b836
Disable bogus-looking code that cause us to throw away SIGINTs.
1999-04-05 14:59:35 +00:00
christos
832949b912
When we execute commands from a shell script, make sure that the signals
...
are being caught (reported by Alexis Rosen), similar to the -c case.
#!/bin/sh
vi "$@"
^C when the script is running...
1999-03-27 13:46:19 +00:00
christos
28607542af
PR/7231: Havard Eidnes: Shell quoting/trimming problem
1999-03-26 15:49:34 +00:00
ross
4b1d9297dc
Make the `...' actually appear in the case/esac syntax section.
...
Fix a space botch in the $@ example.
Kill warnings caused by the effective but wrong use of \[ and \] to
perform the function of \&[ and \&].
1999-03-23 02:29:29 +00:00
garbled
f124765044
More and more .Os cleanups. .Os is defined in the tmac.doc-common file,
...
so we shouldn't override it with versions in the manpages. Many more to
come.
1999-03-22 18:25:43 +00:00
castor
dc67d78474
Add '#include <sys/types.h>' since that's where int8_t and u_int8_t can
...
usually be found.
1999-03-08 17:55:20 +00:00
wrstuden
6790f70d78
Make cross-building from i386 to powerpc (from signed to unsigned char)
...
ports work right.
1999-02-23 01:50:26 +00:00
christos
96a46ed7b1
Fix off-by-one error in the starting point to search for an arithmetic
...
expression.
1999-02-06 17:23:09 +00:00
tron
96dc868859
Remove "arith.h" while cleaning.
1999-02-05 22:19:47 +00:00
christos
1666f88d5d
Fix the -c problem differently. We cannot just ignore SIGINT etc, otherwise
...
we cannot interrupt sh -c <command>
1999-02-05 21:21:27 +00:00
christos
b4c9a78425
PR/5577: Craig M. Chase: sh does not build with PARALLEL set.
...
- Added YHEADER in Makefile, removed arith.h and adjusted the sources.
1999-02-05 07:52:51 +00:00
christos
6e50d7a816
PR/4966: Joel Reicher: Implement <> redirections which are documented in
...
the man page.
1999-02-04 16:17:39 +00:00
christos
dd65252560
PR/1788: Shinya Taniguchi: sh -c does not setup signals properly.
...
[Reminded to me by Alexis Rosen -- thx!]
1999-02-04 11:20:40 +00:00
cjs
9063efaca0
Add -q option, which when used with -v and/or -x, turns off the tracing
...
during the execution of /etc/profile, .profile and $ENV.
1999-02-04 00:27:07 +00:00
itohy
362c3e31c9
The builtin . (dot) command no longer sees the current working directory
...
even if the specified file is not in the PATH.
This change enforces security and makes it conform to POSIX.
Closes PR #6794 .
I thought Christos committed this but not appeared yet. :)
The setstackmark()/popstackmark() pair in dotcmd(), used for freeing
stack storage possibly allocated by find_dot_file(), is redundant for now
since dotcmd() is surrounded by another pair in evalcommand().
This redundancy, however, may help future modifications
(suggested by Christos).
1999-02-02 15:49:52 +00:00
kleink
f71d010d24
Add support for the export and readonly -p option.
1999-01-28 18:11:50 +00:00
mycroft
1fbf0781c6
Patches from Tor Egge (via Havard Eidnes) to fix various bugs in field
...
splitting and combining.
(Note: Some of this are not strictly bugs, but differences between traditional
Bourne shell and POSIX.)
1999-01-25 14:20:56 +00:00
christos
e1849b79b1
PR/6213: Urban Boquist: /bin/sh does not handle a trapped signal correctly
...
The problem was that system calls got restarted after a signal,
instead of returning EINTR. Thus the read builtin, had no way to
know that a signal occured that could change the course of execution.
Since the code has sprinkled checks for EINTR all over the place,
it is supposed to work properly with non restartable syscalls.
The fix is to use siginterrupt(signo, 1), before setting a signal
handler, to make sure that system calls don't get restarted.
1999-01-18 16:18:04 +00:00
garbled
f33f4be925
Massive fixup:
...
Rewrite man page in mandoc format rather than nasty man format.
Fix a ton of parsing errors, and generate proper .Xr's.
document all known environment variables.
suggest ksh rather than bash.
The last two fix PR #1966 . Wheee!
Somebody with access to the POSIX spec needs to go in here, and document
our adherence, or lack thereof.
1999-01-11 19:34:53 +00:00
msaitoh
576a5fdc92
fix some bugs
1998-11-17 14:16:32 +00:00
garbled
b4e6f9c37a
Modify to better document getopts. This fixes PR# 704. Much thanks to
...
Christos for helping me out with this.
1998-10-29 23:23:36 +00:00
ross
7fc1302b5d
The recent cross-compile changes broke the build of x_sh. Properly use
...
${.IMPSRC} instead of the broken ${.CURDIR}/thing.c.
1998-10-08 00:29:38 +00:00
itohy
ef88b5d2bd
Fixed memory leak on old style command substitution
...
such as sh -c 'echo `echo foo`' .
The memory allocated with ckmalloc() at
parser.c:1349:readtoken1() (search for "done:" label)
was never freed.
I changed this to use 'string stack' framework of Ash.
Note that a string on string stack is properly freed on
exception and end of command parsing, and no explicit free
or signal handlings required.
See TOUR for an overview, and memalloc.[ch] for details
of string stack.
1998-09-26 20:56:33 +00:00