# HG changeset patch # User Bram Moolenaar # Date 1436537568 -7200 # Node ID d973e23c3bf81e4126c6ff3450d2847b1c4a89ee # Parent 4c5b1fc5100e64ead1bfcdeeb6a1416fd27e5514 patch 7.4.772 Problem: Racket 6.2 is not supported on MS-Windows. Solution: Check for the "racket" subdirectory. (Weiyong Mao) diff --git a/src/Make_mvc.mak b/src/Make_mvc.mak --- 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 @@ if_perl.c : if_perl.xs typemap $(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 --- 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_spac 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 --- 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,