diff --git a/src/cmd/ksh93/data/variables.c b/src/cmd/ksh93/data/variables.c index 51b50dc86..d28d54f07 100644 --- a/src/cmd/ksh93/data/variables.c +++ b/src/cmd/ksh93/data/variables.c @@ -92,7 +92,6 @@ const struct shtable2 shtab_variables[] = ".sh.subscript",0, (char*)0, ".sh.value", 0, (char*)0, ".sh.version", NV_NOFREE, (char*)(&e_version[10]), - ".sh.dollar", 0, (char*)0, ".sh.match", 0, (char*)0, ".sh.command", 0, (char*)0, ".sh.file", 0, (char*)0, diff --git a/src/cmd/ksh93/include/variables.h b/src/cmd/ksh93/include/variables.h index e570d734e..ad90dbf24 100644 --- a/src/cmd/ksh93/include/variables.h +++ b/src/cmd/ksh93/include/variables.h @@ -102,19 +102,18 @@ extern void sh_save_rand_seed(struct rand *, int); #define SH_SUBSCRNOD (sh.bltin_nodes+50) #define SH_VALNOD (sh.bltin_nodes+51) #define SH_VERSIONNOD (sh.bltin_nodes+52) -#define SH_DOLLARNOD (sh.bltin_nodes+53) -#define SH_MATCHNOD (sh.bltin_nodes+54) -#define SH_COMMANDNOD (sh.bltin_nodes+55) -#define SH_PATHNAMENOD (sh.bltin_nodes+56) -#define SH_FUNNAMENOD (sh.bltin_nodes+57) -#define SH_SUBSHELLNOD (sh.bltin_nodes+58) -#define SH_LEVELNOD (sh.bltin_nodes+59) -#define SH_LINENO (sh.bltin_nodes+60) -#define SH_STATS (sh.bltin_nodes+61) -#define SH_MATHNOD (sh.bltin_nodes+62) -#define SH_JOBPOOL (sh.bltin_nodes+63) -#define SH_PIDNOD (sh.bltin_nodes+64) -#define SH_TILDENOD (sh.bltin_nodes+65) -#define SHLVL (sh.bltin_nodes+66) +#define SH_MATCHNOD (sh.bltin_nodes+53) +#define SH_COMMANDNOD (sh.bltin_nodes+54) +#define SH_PATHNAMENOD (sh.bltin_nodes+55) +#define SH_FUNNAMENOD (sh.bltin_nodes+56) +#define SH_SUBSHELLNOD (sh.bltin_nodes+57) +#define SH_LEVELNOD (sh.bltin_nodes+58) +#define SH_LINENO (sh.bltin_nodes+59) +#define SH_STATS (sh.bltin_nodes+60) +#define SH_MATHNOD (sh.bltin_nodes+61) +#define SH_JOBPOOL (sh.bltin_nodes+62) +#define SH_PIDNOD (sh.bltin_nodes+63) +#define SH_TILDENOD (sh.bltin_nodes+64) +#define SHLVL (sh.bltin_nodes+65) #endif /* SH_VALNOD */ diff --git a/src/cmd/ksh93/sh/macro.c b/src/cmd/ksh93/sh/macro.c index 4017f8116..e06236a7d 100644 --- a/src/cmd/ksh93/sh/macro.c +++ b/src/cmd/ksh93/sh/macro.c @@ -2785,9 +2785,7 @@ static char *special(register int c) return(ltos(sh.bckpid)); break; case '$': - if(nv_isnull(SH_DOLLARNOD)) - return(ltos(sh.pid)); - return(nv_getval(SH_DOLLARNOD)); + return(ltos(sh.pid)); case '-': return(sh_argdolminus(sh.arg_context)); case '?': diff --git a/src/cmd/ksh93/tests/variables.sh b/src/cmd/ksh93/tests/variables.sh index 61eb54454..62c112c0c 100755 --- a/src/cmd/ksh93/tests/variables.sh +++ b/src/cmd/ksh93/tests/variables.sh @@ -1007,7 +1007,7 @@ set -- $( [[ -n $varname && $varname != '.sh' ]] && print -r -- "$varname" done ) -(($# >= 65)) || err_exit "could not read shtab_variables[]; adjust test script ($# items read)" +(($# >= 64)) || err_exit "could not read shtab_variables[]; adjust test script ($# items read)" # ... unset $SHELL -c ' @@ -1102,10 +1102,10 @@ $SHELL -c ' typeset -l lower errors=0 PS1=/dev/null/test_my_case_too - PS2=$PS1 PS3=$PS1 PS4=$PS1 OPTARG=$PS1 IFS=$PS1 FPATH=$PS1 FIGNORE=$PS1 CSWIDTH=$PS1 + PS2=$PS1 PS3=$PS1 PS4=$PS1 OPTARG=$PS1 IFS=$PS1 FPATH=$PS1 FIGNORE=$PS1 for var do case $var in - RANDOM | HISTCMD | _ | SECONDS | LINENO | JOBMAX | .sh.stats) + RANDOM | HISTCMD | _ | SECONDS | LINENO | JOBMAX | .sh.stats | .sh.match) # these are expected to fail below as their values change; just test against crashing typeset -u "$var" typeset -l "$var"