Commit Graph

139 Commits

Author SHA1 Message Date
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
cgd
17ed2a67b2 pull some prototypes into scope. 1994-12-23 13:22:13 +00:00