Commit Graph

322 Commits

Author SHA1 Message Date
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
cgd e9aebcc9d8 don't play fast and loose with memory block allcation. try to allocate
in more-round sizes, but realize that not everybody will fill them up
exactly.
1994-12-23 13:21:01 +00:00
cgd db1ae625b5 eliminate two wrong-sized variables which were unused. 1994-12-23 13:20:10 +00:00
cgd 73cf954189 adjust; from jimj. 1994-12-06 19:13:02 +00:00
cgd 4ce0d34a31 clean up further. more patches from Jim Jegers 1994-12-05 19:07:32 +00:00
cgd 5dad143982 from James Jegers <jimj@miller.cs.uwm.edu>: quiet -Wall, and squelch
some of the worst style errors.
1994-12-04 07:11:37 +00:00
jtc 6cd3ad1d11 ulimit builtin (PR #388)
This public domain code, originally by Doug Gwyn, Doug Kingston, Eric
Gisin, and Michael Rendell was ripped from pdksh 5.0.8 and hacked for
use with ash.
1994-11-04 17:13:27 +00:00
mycroft 06f53b6838 Eliminate uses of some obsolete functions. 1994-09-23 11:28:39 +00:00
mycroft d22a514772 Fix problem with character classes matching a terminating NUL, from Henry
Spencer.
1994-08-29 01:54:39 +00:00
mycroft 08a6730054 Fix a core dump and another parse error related to null commands. 1994-08-24 05:48:26 +00:00
jtc 8cc67c8556 Don't source the file specified by $ENV if either the real and effective
user IDs or the real and effective group IDs of the process are different.
Thanks to Mark Weaver who pointed this out in PR 262.
1994-08-03 16:25:26 +00:00
jtc 7acf86db2f Don't dump core when evaluating X % 0.
Simplify lexer by using %prec feature in yacc grammar.
Implement most of the operators required by POSIX.2.
1994-07-15 23:45:30 +00:00
mycroft aaed410145 Fix some problems with empty commands. 1994-07-07 20:53:32 +00:00
mycroft 188b97d955 Bandaid quoting. 1994-07-07 16:24:34 +00:00
mycroft 32a94e53c4 Clean up deleted files. 1994-06-24 07:33:21 +00:00
jtc 4aece6a461 Renamed builtins to builtins.def to eliminate make's (incorrect) circular
dependancy between the builtins data file and builtins.c.

The bug only occured when there was no obj directory, and is a result of
NetBSD's better (compared to 4.4lite's) default make rules.

Fixes bug #301.
1994-06-24 07:33:12 +00:00
mycroft 2efb881840 Re-fix an old bug. 1994-06-15 04:13:46 +00:00
jtc 918ce04f57 From Christos:
1. Fix `-' quoting in [ ] expressions.
  2. Fix expansion of variables in redirections
1994-06-14 05:49:19 +00:00
jtc 212ba62f56 Set the status variable ($?) to 0 after a successful variable assignment. 1994-06-12 02:31:28 +00:00
mycroft cafd1f7e9f Add RCS ids. 1994-06-11 16:11:35 +00:00
jtc 7210460c54 Fix from Christos for when NO_HISTORY is defined 1994-06-08 19:26:51 +00:00
pk cefd9f107c Exclude `mkinit' from argument list to `mkinit'; this especially causes
trouble when compiling with `-g'.
1994-06-02 09:10:58 +00:00
jtc 20ddd6eee4 Fixed another case statement parsing bug that was introduced by my
last fix :-(.  Thanks to Theo for letting me know about it...
1994-06-01 21:36:54 +00:00
jtc d8e5937418 Re-worked case statement parsing. With luck, this fixes bug #268. 1994-05-30 20:05:40 +00:00
cgd 242337bcae a few more things to omit when NO_HISTORY defined. from noel@cs.oberlin.edu 1994-05-21 01:42:30 +00:00
jtc 1af99404cd Fix backslash parsing within backquoted string 1994-05-17 10:47:50 +00:00
cgd e3c63ad9f3 add back in support for building w/o obj dir. also, add NO_HISTORY
define, which (if you invoke mkbuiltins properly) gets you a sh w/o
history of command line editing (for floppy sh).
1994-05-14 22:20:04 +00:00
jtc 99e02e0ff9 Added DPADD. 1994-05-12 23:55:56 +00:00
jtc 1a3b3eb00a last sys_signame[] changes; shell can now be built from scratch 1994-05-12 23:55:26 +00:00
jtc 98d2c75927 use prototypes provided by header files instead of our own 1994-05-12 17:08:55 +00:00
jtc a81e412494 Include appropriate header files to bring function prototypes into scope. 1994-05-12 17:03:32 +00:00
jtc df81ab8248 POSIX.1 changed getpgrp 1994-05-12 16:32:42 +00:00
jtc db2b1de8d3 add const qualifier to get rid of compilation warnings. 1994-05-12 16:31:44 +00:00
jtc 1e9eba5d40 Use libc's sys_siglist[] instead of building and using our own array of
signal names. (from charles)
1994-05-12 16:09:09 +00:00
jtc a3f60d8978 forgot some include files 1994-05-11 17:54:32 +00:00
jtc 759eadefd8 integrate NetBSD's POSIX.2 compliant umask builtin 1994-05-11 17:53:54 +00:00
jtc 52a20605b9 integrate NetBSD's path searching for dot files 1994-05-11 17:47:12 +00:00
jtc 542ace3bab reintegrate NetBSD's false builtin 1994-05-11 17:42:57 +00:00
jtc 83b8a2f413 Mark Weaver's background/list fix (for bug #236) 1994-05-11 17:39:11 +00:00
jtc 714c2cc318 temporarily disable printf builtin 1994-05-11 17:14:22 +00:00
jtc 05a9db8e4f sync with 4.4lite 1994-05-11 17:10:53 +00:00
mycroft e9a9507cd7 Clean up deleted files. 1994-05-11 17:10:52 +00:00
jtc 37ed7877b2 sync with 4.4lite 1994-05-11 17:09:42 +00:00
jtc 488499c5ff 44lite code 1994-05-11 17:01:00 +00:00
jtc 47a4e9fd79 Comment out sections of the manpages that are not, and will probably never
be, appropriate for ash as configured for NetBSD.  In particular the /u
"magic" directory, and atty(1) support.
1994-05-04 23:49:12 +00:00
jtc c1954f273e Remove private versions of strchr() & bcopy(); there is nothing wrong with
the versions in our C library.
1994-05-04 23:46:28 +00:00
jtc 81d81cf9a0 Added const qualifier to char * function arguments to eliminate
compiler warning.
1994-05-04 23:45:04 +00:00
cgd 957b169eed lseek long lossage. 1994-04-25 18:47:17 +00:00
cgd ebc3c0f8a4 lseek long lossage. 1994-04-25 18:47:03 +00:00
cgd 66f99eaedd do right right thing if 'read' given no args. ptd out by Geoff Rehmet 1994-04-06 19:08:14 +00:00
jtc abfeba19ee Getgroup's second argument is now a gid_t ptr. 1994-04-01 01:19:08 +00:00
deraadt ee7f97cad3 avoid spilling garbage into the file init.c. this happened if libc
was compiled -g..
1994-03-27 07:45:57 +00:00
jtc 41954280cb spelling mistakes 1994-02-03 17:47:18 +00:00
jtc 7c8b875fce Remove text describing how the dot command does not do a $PATH search,
since we added that behavior to get closer to POSIX.2.
1994-01-27 17:53:28 +00:00
jtc 036641804e Removed theo's change to check S_ISLNK() for dot commands. This is
unnecessary, since stat() allready resolves symlinks (and fails, if
the link is broken).
1994-01-26 19:50:03 +00:00
mycroft 0ff5f1be86 Clean up deleted files. 1994-01-26 18:04:13 +00:00
deraadt d7b3f4d90a source/$PATH thing for symbolic links too, reportedly 1994-01-25 21:05:34 +00:00
deraadt 90ac3da053 but don't try that for absolute or relative paths 1994-01-25 08:16:00 +00:00
deraadt be0472fcd1 make . (source) command search $PATH as it should. from dkionka@Cadence.COM (Daniel P. Kionka) and fixed by me 1994-01-25 07:59:25 +00:00
davidb 3a435f99f9 Changed to use make's new .OBJDIR 1993-12-28 10:59:05 +00:00
cgd f51f1b4c04 from Thomas Eberhardt <thomas@mathematik.uni-Bremen.de>:
Some reordering and modifications in the Makefiles for sh, dump,
    restore to get dependicies right.  The README in /usr/share/mk
    states that it's a Bad Thing(tm) to add something after
    .include <bsd.prog.mk>, but this seems the only way to get the
    dependencies right.
1993-11-14 15:35:34 +00:00
mycroft c823b55cfa Last patch was wrong; just save argbackq around the argstr() call. 1993-10-22 13:32:22 +00:00
mycroft 718ac53f6f evalvar(): If subtype is VSASSIGN (or VSQUESTION), argstr() already rolled
forward the backquote queue.  If VSQUESTION it doesn't matter because we
already exited with an error.
1993-10-22 13:20:02 +00:00
mycroft 6ce85383cd Root can execute anything with at least one execute bit set. 1993-09-23 23:32:19 +00:00
cgd 7f42c5de51 from jim wilson: (command): Handle TEOF like TNL. 1993-09-09 01:21:43 +00:00
cgd 7ca06a9522 fix from Jim Wilson <wilson@cygnus.com> for nothing-between-backquotes core 1993-09-09 01:05:19 +00:00
mycroft f0e18400d3 Make `>file;' work. 1993-09-06 00:44:46 +00:00
mycroft 106f3e9c20 From Vincent Broman:
error.c: Add , in initializer list if ENOLINK defined.
output.c: Gratuitously remove extra ;.
mknodes.c: main() should return a value.
Not from Vincent Broman:
mknodes.c: main() should return an error condition when approriate, too.
1993-09-05 17:32:05 +00:00
mycroft e794f02425 Tweak for cross-compiling. 1993-08-09 04:58:18 +00:00
mycroft cd74991687 Clean up deleted files. 1993-08-06 21:50:19 +00:00
mycroft f637854f04 Use sys_signame[]. 1993-08-06 21:50:14 +00:00
mycroft 210cab4541 Add RCS identifiers, remove some completely useless RCS logs and patchkit
headers, and a few other insignificant changes.
1993-08-02 17:18:41 +00:00
mycroft 11ad3ef4f1 Makefile 1993-08-02 17:15:26 +00:00
mycroft 8542364e07 Add RCS identifiers. 1993-08-01 18:49:50 +00:00
mycroft 55b7fa6d0b Add RCS identifiers. 1993-08-01 07:54:52 +00:00
jtc b8be8f1e63 Make umask builtin of shell POSIX 1003.2 compliant:
Print out a symbolic mask with the -S option; and accept symbolic mask
specifications.
1993-07-21 00:02:33 +00:00
jtc 6659413c9a Another change from Jim Wilson. 1993-07-15 22:12:02 +00:00
jtc 67893cfee5 IEEE 1003.2 (D11.2.2.3) requires that the system's true and false be accessed
instead of searching $PATH.  The best way to satisfy this requirement is to
make them builtins.

True was allready builtin, this patch adds false.
1993-07-07 01:11:56 +00:00
mycroft 5afcdb89b5 Make sure init.c is touched so it doesn't get rebuilt if we
make again.  (Okay, so I did reproduce it.)
1993-05-04 13:56:27 +00:00
mycroft baef429061 Fix typo. 1993-05-02 23:08:42 +00:00
sef 5916a08554 Jim "wilson@moria.cygnus.com" Wilson's patches to make C News (and other
things) work.
1993-05-02 01:28:40 +00:00
dpassage 2d12aa06fa Fixed incorrect calls to longjmp. 1993-04-26 22:07:46 +00:00
dpassage 49c9ab9a60 Removed a cast that was causing another stoopid compile error. 1993-04-26 06:09:17 +00:00
mycroft 1b67cec37d Fix various bugs in man pages (from 386BSD patch 130). 1993-04-22 03:27:28 +00:00
mycroft 7c05310612 Don't lose if obj dir not present. 1993-04-18 17:37:21 +00:00
cgd a3a1e40463 from "Andrew A. Chernov, Black Mage" <ache@astral.msk.su>
When sh tried to find_command() for execution (without full path),
it checked ONLY ONE current effective group execution permissions,
but didn't check another valid groups from /etc/group.
1993-04-10 14:55:52 +00:00
cgd 06be60083d changed "Id" to "Header" for rcsids 1993-03-23 00:22:59 +00:00
cgd 346aa5dd48 added rcs ids to all files 1993-03-22 08:04:00 +00:00
cgd e541169ce2 after 0.2.2 "stable" patches applied 1993-03-21 18:04:42 +00:00
cgd 61f282557f initial import of 386bsd-0.1 sources 1993-03-21 09:45:37 +00:00