summaryrefslogtreecommitdiff
path: root/src/if_python.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/if_python.c')
-rw-r--r--src/if_python.c13
1 files changed, 10 insertions, 3 deletions
diff --git a/src/if_python.c b/src/if_python.c
index f9fc5e1a5..ab9c854b2 100644
--- a/src/if_python.c
+++ b/src/if_python.c
@@ -912,6 +912,8 @@ python_loaded(void)
}
#endif
+static char *py_home_buf = NULL;
+
static int
Python_Init(void)
{
@@ -929,10 +931,15 @@ Python_Init(void)
}
#endif
+ if (*p_pyhome != NUL)
+ {
+ /* The string must not change later, make a copy in static memory. */
+ py_home_buf = (char *)vim_strsave(p_pyhome);
+ if (py_home_buf != NULL)
+ Py_SetPythonHome(py_home_buf);
+ }
#ifdef PYTHON_HOME
-# ifdef DYNAMIC_PYTHON
- if (mch_getenv((char_u *)"PYTHONHOME") == NULL)
-# endif
+ else if (mch_getenv((char_u *)"PYTHONHOME") == NULL)
Py_SetPythonHome(PYTHON_HOME);
#endif