mirror of
git://git.code.sf.net/p/cdesktopenv/code
synced 2025-03-09 15:50:02 +00:00
Export all variables assigned to while allexport is on (#431)
All variables that are assigned a value should be exported while
the allexport shell option is enabled. This works in most cases,
but variables assigned to with ${var:=foo} or $((var=123)) aren't
exported while allexport is on.
src/cmd/ksh93/sh/name.c:
- nv_putval(): This is the central assignment function; all forms
of variable assignment end up here. So this is the best place
to check for SH_ALLEXPORT and turn on the export attribute.
- nv_setlist(): Remove allexport handling, now redundant.
src/cmd/ksh93/bltins/read.c: sh_readline():
- Remove allexport handling, now redundant.
src/cmd/ksh93/sh/main.c: sh_main():
- nv_putval() is used to initialize PS4 and IFS using nv_putval();
this is after an -a/--allexport specified on the ksh command
line has been processed, so temporarily turn that off.
Co-authored-by: Martijn Dekker <martijn@inlv.org>
This commit is contained in:
parent
0863a8eb29
commit
8e72608c1c
9 changed files with 85 additions and 17 deletions
6
NEWS
6
NEWS
|
|
@ -3,6 +3,12 @@ For full details, see the git log at: https://github.com/ksh93/ksh/tree/1.0
|
|||
|
||||
Any uppercase BUG_* names are modernish shell bug IDs.
|
||||
|
||||
2022-02-02:
|
||||
|
||||
- Fixed the -a/allexport option to export all variables that are assigned
|
||||
values. Previously, arithmetic $((var=1)) or conditional ${var:=value}
|
||||
assignments were not exported even with allexport on.
|
||||
|
||||
2022-02-01:
|
||||
|
||||
- Upon invocation, the interactive shell no longer leaves the user without
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue