diff options
author | Teubel György <tgyurci@gmail.com> | 2016-09-03 23:06:30 +0200 |
---|---|---|
committer | Peter Stephenson <p.w.stephenson@ntlworld.com> | 2016-09-05 21:03:12 +0100 |
commit | fde365ea8ba91a4e7daa27dfd63fdadb55a882f5 (patch) | |
tree | 2fcced596ce2e94c0e2ede4fb9bff5f16b6ed2f9 /Src/init.c | |
parent | 02bb3de2575aca2b0e823b96d8281c89a77eba42 (diff) | |
download | zsh-fde365ea8ba91a4e7daa27dfd63fdadb55a882f5.tar.gz zsh-fde365ea8ba91a4e7daa27dfd63fdadb55a882f5.tar.xz zsh-fde365ea8ba91a4e7daa27dfd63fdadb55a882f5.zip |
39167: Make $ENV handling more like POSIX
Diffstat (limited to 'Src/init.c')
-rw-r--r-- | Src/init.c | 25 |
1 files changed, 14 insertions, 11 deletions
diff --git a/Src/init.c b/Src/init.c index 20a07eb0a..3dea179b9 100644 --- a/Src/init.c +++ b/Src/init.c @@ -712,7 +712,7 @@ init_term(void) if (tgetent(termbuf, term) != TGETENT_SUCCESS) #endif { - if (isset(INTERACTIVE)) + if (interact) zerr("can't find terminal definition for %s", term); errflag &= ~ERRFLAG_ERROR; termflags |= TERM_BAD; @@ -1205,19 +1205,22 @@ run_init_scripts(void) if (islogin) source("/etc/profile"); if (unset(PRIVILEGED)) { - char *s = getsparam("ENV"); if (islogin) sourcehome(".profile"); - noerrs = 2; - if (s) { - s = dupstring(s); - if (!parsestr(&s)) { - singsub(&s); - noerrs = 0; - source(s); + + if (interact) { + noerrs = 2; + char *s = getsparam("ENV"); + if (s) { + s = dupstring(s); + if (!parsestr(&s)) { + singsub(&s); + noerrs = 0; + source(s); + } } + noerrs = 0; } - noerrs = 0; } else source("/etc/suid_profile"); } else { @@ -1227,7 +1230,7 @@ run_init_scripts(void) if (isset(RCS) && unset(PRIVILEGED)) { - if (isset(INTERACTIVE)) { + if (interact) { /* * Always attempt to load the newuser module to perform * checks for new zsh users. Don't care if we can't load it. |