summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBram Moolenaar <bram@vim.org>2015-07-10 16:12:48 +0200
committerBram Moolenaar <bram@vim.org>2015-07-10 16:12:48 +0200
commit7d7802ed7e227b4a6da616eec0026903e82a9f49 (patch)
treec8d698b337f375bccc843b82e9d4db5f42b4dd41
parentd2593e87a303e190a2248e63e89087915f9553b5 (diff)
downloadvim-7d7802ed7e227b4a6da616eec0026903e82a9f49.tar.gz
patch 7.4.772v7.4.772v7-4-772
Problem: Racket 6.2 is not supported on MS-Windows. Solution: Check for the "racket" subdirectory. (Weiyong Mao)
-rw-r--r--src/Make_mvc.mak7
-rw-r--r--src/if_mzsch.c10
-rw-r--r--src/version.c2
3 files changed, 16 insertions, 3 deletions
diff --git a/src/Make_mvc.mak b/src/Make_mvc.mak
index a6534c8b..722127de 100644
--- a/src/Make_mvc.mak
+++ b/src/Make_mvc.mak
@@ -797,7 +797,8 @@ MZSCHEME_VER = 205_000
!endif
CFLAGS = $(CFLAGS) -DFEAT_MZSCHEME -I $(MZSCHEME)\include
!if EXIST("$(MZSCHEME)\collects\scheme\base.ss") \
- || EXIST("$(MZSCHEME)\collects\scheme\base.rkt")
+ || EXIST("$(MZSCHEME)\collects\scheme\base.rkt") \
+ || EXIST("$(MZSCHEME)\collects\racket\base.rkt")
# for MzScheme >= 4 we need to include byte code for basic Scheme stuff
MZSCHEME_EXTRA_DEP = mzscheme_base.c
CFLAGS = $(CFLAGS) -DINCLUDE_MZSCHEME_BASE
@@ -1170,7 +1171,11 @@ $(OUTDIR)/if_mzsch.obj: $(OUTDIR) if_mzsch.c if_mzsch.h $(INCL) $(MZSCHEME_EXTRA
$(CC) $(CFLAGS) if_mzsch.c \
-DMZSCHEME_COLLECTS=\"$(MZSCHEME:\=\\)\\collects\"
mzscheme_base.c:
+!IF "$(MZSCHEME_MAIN_LIB)" == "racket"
+ $(MZSCHEME)\raco ctool --c-mods mzscheme_base.c ++lib scheme/base
+!ELSE
$(MZSCHEME)\mzc --c-mods mzscheme_base.c ++lib scheme/base
+!ENDIF
$(OUTDIR)/if_python.obj: $(OUTDIR) if_python.c if_py_both.h $(INCL)
$(CC) $(CFLAGS) $(PYTHON_INC) if_python.c
diff --git a/src/if_mzsch.c b/src/if_mzsch.c
index 8dd21343..2135446e 100644
--- a/src/if_mzsch.c
+++ b/src/if_mzsch.c
@@ -851,7 +851,13 @@ mzscheme_end(void)
#endif
}
-#if MZSCHEME_VERSION_MAJOR >= 500 && defined(WIN32) && defined(USE_THREAD_LOCAL)
+/*
+ * scheme_register_tls_space is only available on 32-bit Windows.
+ * See http://docs.racket-lang.org/inside/im_memoryalloc.html?q=scheme_register_tls_space
+ */
+#if MZSCHEME_VERSION_MAJOR >= 500 && defined(WIN32) \
+ && defined(USE_THREAD_LOCAL) && !defined(_WIN64)
+# define HAVE_TLS_SPACE 1
static __declspec(thread) void *tls_space;
#endif
@@ -870,7 +876,7 @@ static __declspec(thread) void *tls_space;
int
mzscheme_main(int argc, char** argv)
{
-#if MZSCHEME_VERSION_MAJOR >= 500 && defined(WIN32) && defined(USE_THREAD_LOCAL)
+#ifdef HAVE_TLS_SPACE
scheme_register_tls_space(&tls_space, 0);
#endif
#ifdef TRAMPOLINED_MZVIM_STARTUP
diff --git a/src/version.c b/src/version.c
index 57740cf3..a43046e9 100644
--- a/src/version.c
+++ b/src/version.c
@@ -742,6 +742,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 772,
+/**/
771,
/**/
770,