From ac6257f1507af144f7c88d030bbf076790d86a42 Mon Sep 17 00:00:00 2001 From: Jun-ichi Takimoto Date: Sun, 24 Jul 2022 20:41:20 +0900 Subject: 50418: use setenv(3)/getenv(3) on newer macOS --- ChangeLog | 5 +++++ Src/zsh_system.h | 3 ++- configure.ac | 8 ++++++++ 3 files changed, 15 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index d6d3f98d2..ce2ec2dd3 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2022-07-24 Jun-ichi Takimoto + + * 50418: Src/zsh_system.h, configure.ac: use setenv(3)/getenv(3) + on newer macOS + 2022-07-16 Bart Schaefer * users/27852: Completion/Unix/Command/_python: Make a local copy diff --git a/Src/zsh_system.h b/Src/zsh_system.h index 6f4efce96..16f724401 100644 --- a/Src/zsh_system.h +++ b/Src/zsh_system.h @@ -783,7 +783,8 @@ extern char **environ; * We always need setenv and unsetenv in pairs, because * we don't know how to do memory management on the values set. */ -#if defined(HAVE_SETENV) && defined(HAVE_UNSETENV) && !defined(__APPLE__) +#if defined(HAVE_SETENV) && defined(HAVE_UNSETENV) \ + && !defined(SETENV_MANGLES_EQUAL) # define USE_SET_UNSET_ENV #endif diff --git a/configure.ac b/configure.ac index 77e381f50..890ef8dd2 100644 --- a/configure.ac +++ b/configure.ac @@ -1515,6 +1515,14 @@ else zsh_cv_use_xattr=no fi]) +dnl We don't want to use setenv(3) on El Capitan or older OS X because it +dnl removes a leading '=' from the value of the environment variable +AH_TEMPLATE([SETENV_MANGLES_EQUAL], +[Define to 1 if setenv removes a leading =]) +case $host_os in + darwin1[0-5]*) AC_DEFINE(SETENV_MANGLES_EQUAL) ;; +esac + dnl ------------- dnl CHECK SIGNALS dnl ------------- -- cgit 1.4.1