Commit Graph

262 Commits

Author SHA1 Message Date
veego 7f307512f9 Another try to make this work again. Lets hope that the we don't need a 4th
fix for it.
1998-03-30 12:06:48 +00:00
mrg 6e35073fed make this work again when . is not in $PATH 1998-03-30 10:07:16 +00:00
christos 0328c41456 Pr/5221: Jason Thorpe: Simplify sh Makefile, so that builts from other
directories work.
1998-03-29 09:27:40 +00:00
mrg a26bae1e08 - change "extern" variables into int's
- remove extern'd variables not actually referenced
- don't use char as an array index
1998-03-29 04:41:43 +00:00
christos 04784d87fa Fix the VSTRIMRIGHT* bugs... The problem was not the string length computation,
but lack of '\0' termination. Factor this segment out as common code too, while
I am there.
1998-03-23 18:21:02 +00:00
christos 19e7771baa off by one error in ${%%} 1998-03-10 19:11:07 +00:00
christos 7cfc52b208 PR/5001: Tom Yu: cd ./ does not work. 1998-02-17 02:57:16 +00:00
christos ce0d4f06a6 Previous fix broke $var quoting. Try again differently :-) 1998-02-17 00:16:16 +00:00
christos d8a1d3710c Re-enabled EXP_RECORD 1998-02-05 08:34:49 +00:00
christos f7c8df6d68 Fix bug introduced by EXP_RECORD, where in case there was a variable expansion
involved in the `for' list, the list was recorded twice, leading to incorrect
argument expansion.
Introduce ifsfree() function that free's the IFS region list, GC'ing duplicated
code.
1998-02-05 08:32:00 +00:00
thorpej b65b5cae9e Sigh, have to cast pointer diffs to long. 1998-02-04 23:49:25 +00:00
thorpej a40a144d00 Fix printf formats so they work on the Alpha. 1998-02-04 20:10:16 +00:00
mikel a235399817 back out last change until christos fixes EXP_RECORD; PR 4932 1998-02-04 06:25:55 +00:00
christos 5a36c00160 PR/4851: Benjamin Lorenz: In the "for <var> in <args>" construct <args>
was not marked as a region to be handled by ifsbreakup. Add EXP_RECORD
to indicate that the argument string needs to be recorded.
1998-01-31 12:45:06 +00:00
christos 2b259b0600 - Add gcc attributes to printf like functions
- Fix format strings to be const
- Fix buffer length to be size_t
- Add %p format
- Avoid code duplication in varargs/stdarg cases
1998-01-31 12:37:55 +00:00
christos 7faabd5800 Include our local includes after the system's ones. 1998-01-31 12:36:16 +00:00
christos 71868e12e2 Fix printf format. 1998-01-31 12:34:12 +00:00
christos e3f5fb922f BSD4_4 is a standard symbol in <sys/param.h>; make sure that files
that need this defined, include <sys/param.h> and don't define it in
the Makefile. Add a comment to that effect.
1998-01-21 10:47:37 +00:00
pk 5d9692a740 Define BSD4_4: quad_t's in struct rlimit; 1998-01-20 22:43:34 +00:00
christos 38c84eeda3 test for the boundary condition in the previous trailing blank fix 1998-01-16 16:26:22 +00:00
christos 2708e4180f PR/4805: Ty Sarna: read builtin does not remove trailing blanks. 1998-01-15 19:39:11 +00:00
christos 505573954e Unfortunately (as I expected) the previous change broke:
sleep
    cmd='set `type "sleep"`; eval echo \$$#'
    which=`eval $cmd`
    echo $which

because the region did not get recorded at all, and it was interpreted as
a single word. I modified the code to keep track when the result of a
backquote expansion has been recorded to avoid recording it twice. I still
feel that this is not the right fix... More to come.
1997-12-01 14:43:20 +00:00
christos 81aad04920 Remove local declaration of getenv(); 1997-12-01 14:40:16 +00:00
christos b7e4df7784 PR/4547: Joern Clausen: Incorrect argument expansion in backquote variable
assignment. E.g.
	echo ${foo:=`echo 1 2 3 4`}
prints:
	1 2 3 1 2 3 4
because when the arquments are not quoted, the backquote result
gets recorded twice.  The fix right now is to comment out the
record_region() call in expbackq().  I hope that it does not break
anything else.
1997-11-30 20:57:33 +00:00
cjs af5956aa6b Make this compile with -DSMALL and warnings on. 1997-11-12 03:40:55 +00:00
kleink 3780e6aa5d Per 1003.2, the (builtin) read utility shall treat the backslash as an
escape character (including line continuation), unless the `-r' option
is specified:
* adopt to this behaviour, add the `-r' option to disable it;
* remove the `-e' option, which was previously necessary to get this behaviour.
1997-11-05 14:05:28 +00:00
christos 82ec25620f pid should be pid_t and status should be int! Avoid alignment problems... 1997-10-15 13:23:10 +00:00
christos 946049095f PR/4257: Jaromir Dolecek: Update for libedit interface change. 1997-10-14 15:06:42 +00:00
christos e230a48b57 CFLAGS->CPPFLAGS 1997-10-10 19:47:50 +00:00
christos 7f2a271743 PR/3662: David Holland: Make /bin/sh use the symbolic macros for wait(). 1997-10-08 20:31:52 +00:00
lukem 92d7aa0376 getopt returns -1 not EOF 1997-09-14 07:43:56 +00:00
thorpej 23eb2db171 Avoid a segv in bltinlookup() reported by Ronald Khoo <ronald@demon.net>
in PR #3929, fix submitted by hiroy@NETCOM.COM (Hiroyuki Ito).
1997-08-26 20:09:59 +00:00
christos 23edbe3557 Remove WARNS=1 from all the subdirectory Makefiles, and add it to Makefile.inc
now that all /bin has been cleaned.
1997-07-20 22:36:20 +00:00
christos c996803cad PR/3888: Chris Demetriou: type command-with-slash prints
$PATH[0]/command-with-slash...
1997-07-20 21:27:35 +00:00
thorpej d891aff808 Cast the result of pointer arithmetic to "long", and use %ld to print it. 1997-07-18 17:46:59 +00:00
christos 18ad58a639 PR/3866: bayer@informatik.uni-leipzig.de: core dump using xon script.
cmdenviron is pointing to varlist.list; varlist gets reset everytime
you enter evalcommand, but cmdenviron does not. The wonders of global
variables...
1997-07-15 17:49:15 +00:00
christos 1eb178df64 Fix Sparcworks warnings. 1997-07-15 17:45:53 +00:00
christos bb5e01d099 Don't re-define setjmp/longjmp in the svr4 case 1997-07-15 17:44:32 +00:00
phil 1d304ac34c Add a missing ) in the description of the builtin "set". 1997-07-10 23:07:04 +00:00
phil 64eb899e5a Make code agree with man page in processing expansion of "$*".
Fix from PR 2647.
1997-07-07 20:41:10 +00:00
christos 5accccd051 Fix problem introduced in yesterday's commit that broke both signed and
unsigned character machines. So that people don't have to reverse engineer
this again:
	mksyntax detects if characters are signed or not and builts a syntax
	table that has a base of 129 for signed characters or 1 for unsigned
	characters. This is so the largest negative signed char [-128] + the
	base == 1. 0 is special and means end of file in both cases. PEOF
	is -1 for the unsigned character case and -129 for the signed
	character case, so that syntax[PEOF + base] == syntax[0] == CEOF
	So PEOF has to be -1, but it is explicitly compared with
	unsigned characters on machines where characters are unsigned.
	The quick fix is to define UPEOF the (unsigned char) version of PEOF
	and use that. A better fix is to always use unsigned characters
	when referencing symbol table entries, but that would require
	extensive changes to the shell. So to summarize

	syntax[0] == CEOF, base + PEOF == 0

		unsigned	signed
	base	1		129
	PEOF	-1		-129
1997-07-05 21:25:09 +00:00
christos 687f7852d9 Make the syntax tables work on machines where characters are unsigned. 1997-07-04 21:40:55 +00:00
christos cd799663e4 Fix compiler warnings. 1997-07-04 21:01:48 +00:00
christos 28f5c57bd5 Don't roll own rules to build helper programs.
Add WARNS
1997-07-04 21:00:36 +00:00
christos cbf48b75c7 PR/3827: Wolfgang Rupprecht: cd ./. core dumps
Warning cleanups
1997-07-04 20:59:40 +00:00
lukem a1267d0c71 add auto-generated token.h to dependancy for ${OBJS}.
not everyone runs "make depend" ...
1997-06-16 02:42:38 +00:00
cjs cddf57d923 Add documentation for ulimit command, courtsey of
Eric Fischer <eric@fudge.uchicago.edu>.
1997-05-23 19:40:30 +00:00
veego 3e90f9b423 Add mkinit.o mknodes.o mksyntax.o to CLEANFILES 1997-05-15 10:03:24 +00:00
mycroft cc4a1553a1 Eliminate bogus redefinitions of standard targets. 1997-05-09 07:50:03 +00:00
gwr 10e180cc49 Back out the .PATH.c changes. The .depend problem (and others)
will be fixed using the new .NOPATH make feature instead.
1997-05-08 21:11:01 +00:00