Commit Graph

140 Commits

Author SHA1 Message Date
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
christos
55a41e8abb Close PR/2384 backquoted backslash-newline was not eaten. 1996-05-09 19:40:08 +00:00
pk
0b9acf16f8 Return zero status if `else' clause is empty. 1996-03-06 14:49:29 +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
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
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
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
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
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
christos
92380da725 fixed previous booboo that broke command line editing input. 1995-10-06 21:38:18 +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
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
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
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
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
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
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
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
christos
dae6c6b963 Added missing resource limits and recognize "unlimited" as RLIM_INFINITY 1995-04-11 03:17:45 +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
6bfd77e432 Fix typo in previous. 1995-03-23 00:01:03 +00:00
mycroft
3e417cced4 Use sigprocmask(), not sigsetmask(). 1995-03-21 15:40:16 +00:00
cgd
49f0ad8601 convert to new RCS id conventions. 1995-03-21 09:01:59 +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
f5ad44b6ac Use S_IS*(). 1995-01-30 19:30:13 +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
4bcd14e0b4 Remove the gratuitous `security' warning. 1995-01-15 09:29:16 +00:00
jtc
cc9fe5ba6d Describe the : shell builtin.
Fixes PR #712.
1995-01-12 23:35:56 +00:00
mycroft
e848bd4fb5 Fix that last bug in a less expensive way. 1994-12-31 23:56:54 +00:00
cgd
809218efc4 take two: make grabstackstr() work correctly, in the face of strange filling. 1994-12-31 01:56:16 +00:00
mycroft
1c21834ccb Remove previous misguided change. 1994-12-30 06:33:59 +00:00
cgd
58f1733118 be more careful with casts. 1994-12-23 13:24:39 +00:00
cgd
42f0dae5e3 pull prototypes into scope for string functions. 1994-12-23 13:24:10 +00:00