From 5f703db7df7e0b56f4680582ec69144fed79d008 Mon Sep 17 00:00:00 2001 From: Dmitry Trofimov Date: Fri, 5 May 2017 12:06:50 +0200 Subject: [PATCH] Terminal: don't initialize environment variables as it breaks IDEA-171957, unless it is needed for virtualenv activation as in PY-17816 --- .../jetbrains/plugins/terminal/LocalTerminalDirectRunner.java | 2 +- .../com/jetbrains/python/sdk/PyVirtualEnvTerminalCustomizer.kt | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/plugins/terminal/src/org/jetbrains/plugins/terminal/LocalTerminalDirectRunner.java b/plugins/terminal/src/org/jetbrains/plugins/terminal/LocalTerminalDirectRunner.java index d8114245ee49..a6c158863da9 100644 --- a/plugins/terminal/src/org/jetbrains/plugins/terminal/LocalTerminalDirectRunner.java +++ b/plugins/terminal/src/org/jetbrains/plugins/terminal/LocalTerminalDirectRunner.java @@ -119,7 +119,7 @@ public class LocalTerminalDirectRunner extends AbstractTerminalRunner envs = new HashMap<>(EnvironmentUtil.getEnvironmentMap()); + Map envs = new HashMap<>(System.getenv()); if (!SystemInfo.isWindows) { envs.put("TERM", "xterm-256color"); } diff --git a/python/python-terminal/src/com/jetbrains/python/sdk/PyVirtualEnvTerminalCustomizer.kt b/python/python-terminal/src/com/jetbrains/python/sdk/PyVirtualEnvTerminalCustomizer.kt index 839d7d5445ab..b2f31ce15745 100644 --- a/python/python-terminal/src/com/jetbrains/python/sdk/PyVirtualEnvTerminalCustomizer.kt +++ b/python/python-terminal/src/com/jetbrains/python/sdk/PyVirtualEnvTerminalCustomizer.kt @@ -24,6 +24,7 @@ import com.intellij.openapi.options.UnnamedConfigurable import com.intellij.openapi.project.Project import com.intellij.openapi.projectRoots.Sdk import com.intellij.openapi.util.SystemInfo +import com.intellij.util.EnvironmentUtil import com.jetbrains.python.run.PyVirtualEnvReader import com.jetbrains.python.run.findActivateScript import org.jetbrains.plugins.terminal.LocalTerminalCustomizer @@ -55,6 +56,7 @@ class PyVirtualEnvTerminalCustomizer : LocalTerminalCustomizer() { ((shellName == "fish") && PythonSdkType.isVirtualEnv(sdk))) { //fish shell works only for virtualenv and not for conda //for bash we pass activate script to jediterm shell integration (see jediterm-bash.in) to source it there findActivateScript(path, shellPath)?.let { activate -> + envs.putAll(EnvironmentUtil.getEnvironmentMap()) envs.put("JEDITERM_SOURCE", if (activate.second != null) "${activate.first} ${activate.second}" else activate.first) } }