make sure that “integer” and “local” are defined even in FPOSIX mode, which
is a compromise anyway; these lunox people will have to live with that, too many existing korn shell alike scripts depend on it even if not on the full korn shell syntax availability (note: this doesn't mean using these in some script with #!/bin/sh is ok)
This commit is contained in:
		
							
								
								
									
										14
									
								
								check.t
									
									
									
									
									
								
							
							
						
						
									
										14
									
								
								check.t
									
									
									
									
									
								
							| @@ -1,4 +1,4 @@ | |||||||
| # $MirOS: src/bin/mksh/check.t,v 1.113 2007/06/15 21:55:18 tg Exp $ | # $MirOS: src/bin/mksh/check.t,v 1.114 2007/06/17 00:50:07 tg Exp $ | ||||||
| # $OpenBSD: bksl-nl.t,v 1.2 2001/01/28 23:04:56 niklas Exp $ | # $OpenBSD: bksl-nl.t,v 1.2 2001/01/28 23:04:56 niklas Exp $ | ||||||
| # $OpenBSD: history.t,v 1.5 2001/01/28 23:04:56 niklas Exp $ | # $OpenBSD: history.t,v 1.5 2001/01/28 23:04:56 niklas Exp $ | ||||||
| # $OpenBSD: read.t,v 1.3 2003/03/10 03:48:16 david Exp $ | # $OpenBSD: read.t,v 1.3 2003/03/10 03:48:16 david Exp $ | ||||||
| @@ -7,7 +7,7 @@ | |||||||
| # http://www.research.att.com/~gsf/public/ifs.sh | # http://www.research.att.com/~gsf/public/ifs.sh | ||||||
|  |  | ||||||
| expected-stdout: | expected-stdout: | ||||||
| 	@(#)MIRBSD KSH R29 2007/06/15 | 	@(#)MIRBSD KSH R29 2007/06/17 | ||||||
| description: | description: | ||||||
| 	Check version of shell. | 	Check version of shell. | ||||||
| category: pdksh | category: pdksh | ||||||
| @@ -3986,20 +3986,26 @@ expected-stdout: | |||||||
| --- | --- | ||||||
| name: aliases-2 | name: aliases-2 | ||||||
| description: | description: | ||||||
| 	Check if “set -o posix” disables built-in aliases | 	Check if “set -o posix” disables built-in aliases (except a few) | ||||||
| category: pdksh | category: pdksh | ||||||
| arguments: !-o!posix! | arguments: !-o!posix! | ||||||
| stdin: | stdin: | ||||||
| 	alias | 	alias | ||||||
| 	typeset -f | 	typeset -f | ||||||
|  | expected-stdout: | ||||||
|  | 	integer='typeset -i' | ||||||
|  | 	local=typeset | ||||||
| --- | --- | ||||||
| name: aliases-3 | name: aliases-3 | ||||||
| description: | description: | ||||||
| 	Check if running as sh disables built-in aliases | 	Check if running as sh disables built-in aliases (except a few) | ||||||
| category: pdksh,!smksh | category: pdksh,!smksh | ||||||
| arguments: !-o!posix! | arguments: !-o!posix! | ||||||
| stdin: | stdin: | ||||||
| 	cp "$0" sh | 	cp "$0" sh | ||||||
| 	./sh -c 'alias; typeset -f' | 	./sh -c 'alias; typeset -f' | ||||||
| 	rm -f sh | 	rm -f sh | ||||||
|  | expected-stdout: | ||||||
|  | 	integer='typeset -i' | ||||||
|  | 	local=typeset | ||||||
| --- | --- | ||||||
|   | |||||||
							
								
								
									
										7
									
								
								main.c
									
									
									
									
									
								
							
							
						
						
									
										7
									
								
								main.c
									
									
									
									
									
								
							| @@ -13,7 +13,7 @@ | |||||||
| #include <locale.h> | #include <locale.h> | ||||||
| #endif | #endif | ||||||
|  |  | ||||||
| __RCSID("$MirOS: src/bin/mksh/main.c,v 1.79 2007/06/16 15:02:56 tg Exp $"); | __RCSID("$MirOS: src/bin/mksh/main.c,v 1.80 2007/06/17 00:50:07 tg Exp $"); | ||||||
|  |  | ||||||
| extern char **environ; | extern char **environ; | ||||||
|  |  | ||||||
| @@ -34,12 +34,12 @@ static const char *initcoms[] = { | |||||||
| 	"typeset", "-x", "SHELL", "PATH", "HOME", NULL, | 	"typeset", "-x", "SHELL", "PATH", "HOME", NULL, | ||||||
| 	"typeset", "-i", "PPID", "OPTIND=1", NULL, | 	"typeset", "-i", "PPID", "OPTIND=1", NULL, | ||||||
| 	"eval", "typeset -i RANDOM SECONDS=\"${SECONDS-0}\" TMOUT=\"${TMOUT-0}\"", NULL, | 	"eval", "typeset -i RANDOM SECONDS=\"${SECONDS-0}\" TMOUT=\"${TMOUT-0}\"", NULL, | ||||||
|  | 	"alias", "integer=typeset -i", "local=typeset", NULL, | ||||||
| 	NULL | 	NULL | ||||||
| }; | }; | ||||||
|  |  | ||||||
| static const char *initcoms_korn[] = { | static const char *initcoms_korn[] = { | ||||||
| 	"alias", | 	"alias", | ||||||
| 	 /* Standard ksh aliases */ |  | ||||||
| 	"hash=alias -t",	/* not "alias -t --": hash -r needs to work */ | 	"hash=alias -t",	/* not "alias -t --": hash -r needs to work */ | ||||||
| 	"type=whence -v", | 	"type=whence -v", | ||||||
| 	"stop=kill -STOP", | 	"stop=kill -STOP", | ||||||
| @@ -47,11 +47,8 @@ static const char *initcoms_korn[] = { | |||||||
| 	"autoload=typeset -fu", | 	"autoload=typeset -fu", | ||||||
| 	"functions=typeset -f", | 	"functions=typeset -f", | ||||||
| 	"history=fc -l", | 	"history=fc -l", | ||||||
| 	"integer=typeset -i", |  | ||||||
| 	"nohup=nohup ", | 	"nohup=nohup ", | ||||||
| 	"local=typeset", |  | ||||||
| 	"r=fc -e -", | 	"r=fc -e -", | ||||||
| 	 /* Aliases that are builtin commands in at&t */ |  | ||||||
| 	"login=exec login", | 	"login=exec login", | ||||||
| 	NULL, | 	NULL, | ||||||
| 	 /* this is what at&t ksh seems to track, with the addition of emacs */ | 	 /* this is what at&t ksh seems to track, with the addition of emacs */ | ||||||
|   | |||||||
							
								
								
									
										14
									
								
								mksh.1
									
									
									
									
									
								
							
							
						
						
									
										14
									
								
								mksh.1
									
									
									
									
									
								
							| @@ -1,7 +1,7 @@ | |||||||
| .\" $MirOS: src/bin/mksh/mksh.1,v 1.86 2007/06/16 15:02:56 tg Exp $ | .\" $MirOS: src/bin/mksh/mksh.1,v 1.87 2007/06/17 00:50:08 tg Exp $ | ||||||
| .\" $OpenBSD: ksh.1,v 1.120 2007/05/31 20:47:44 otto Exp $ | .\" $OpenBSD: ksh.1,v 1.120 2007/05/31 20:47:44 otto Exp $ | ||||||
| .\" | .\" | ||||||
| .Dd June 15, 2007 | .Dd June 17, 2007 | ||||||
| .Dt MKSH 1 | .Dt MKSH 1 | ||||||
| .Os MirBSD | .Os MirBSD | ||||||
| .Sh NAME | .Sh NAME | ||||||
| @@ -811,7 +811,11 @@ expanded is found. | |||||||
| .Pp | .Pp | ||||||
| The following command aliases are defined automatically by the shell, unless | The following command aliases are defined automatically by the shell, unless | ||||||
| .Fl o Ic posix | .Fl o Ic posix | ||||||
| is set: | is set, in which case only | ||||||
|  | .Dq integer | ||||||
|  | and | ||||||
|  | .Dq local | ||||||
|  | are defined to support existing shell scripts: | ||||||
| .Bd -literal -offset indent | .Bd -literal -offset indent | ||||||
| autoload='typeset -fu' | autoload='typeset -fu' | ||||||
| functions='typeset -f' | functions='typeset -f' | ||||||
| @@ -848,7 +852,9 @@ or | |||||||
| the shell tracks all commands. | the shell tracks all commands. | ||||||
| This option is set automatically for non-interactive shells. | This option is set automatically for non-interactive shells. | ||||||
| For interactive shells, only the following commands are | For interactive shells, only the following commands are | ||||||
| automatically tracked: | automatically tracked, unless | ||||||
|  | .Fl o Ic posix | ||||||
|  | is set: | ||||||
| .Xr cat 1 , | .Xr cat 1 , | ||||||
| .Xr cc 1 , | .Xr cc 1 , | ||||||
| .Xr chmod 1 , | .Xr chmod 1 , | ||||||
|   | |||||||
							
								
								
									
										4
									
								
								sh.h
									
									
									
									
									
								
							
							
						
						
									
										4
									
								
								sh.h
									
									
									
									
									
								
							| @@ -8,8 +8,8 @@ | |||||||
| /*	$OpenBSD: c_test.h,v 1.4 2004/12/20 11:34:26 otto Exp $	*/ | /*	$OpenBSD: c_test.h,v 1.4 2004/12/20 11:34:26 otto Exp $	*/ | ||||||
| /*	$OpenBSD: tty.h,v 1.5 2004/12/20 11:34:26 otto Exp $	*/ | /*	$OpenBSD: tty.h,v 1.5 2004/12/20 11:34:26 otto Exp $	*/ | ||||||
|  |  | ||||||
| #define MKSH_SH_H_ID "$MirOS: src/bin/mksh/sh.h,v 1.147 2007/06/15 21:55:20 tg Exp $" | #define MKSH_SH_H_ID "$MirOS: src/bin/mksh/sh.h,v 1.148 2007/06/17 00:50:09 tg Exp $" | ||||||
| #define MKSH_VERSION "R29 2007/06/15" | #define MKSH_VERSION "R29 2007/06/17" | ||||||
|  |  | ||||||
| #if HAVE_SYS_PARAM_H | #if HAVE_SYS_PARAM_H | ||||||
| #include <sys/param.h> | #include <sys/param.h> | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user