To: vim_dev@googlegroups.com
Subject: Patch 7.3.049
Fcc: outbox
From: Bram Moolenaar <Bram@moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
------------

Patch 7.3.049
Problem:    PLT has rebranded their Scheme to Racket.
Solution:   Add support for Racket 5.x. (Sergey Khorev)
Files:	    src/Make_cyg.mak, src/Make_ming.mak, src/Make_mvc.mak,
	    src/auto/configure, src/configure.in, src/if_mzsch.c


*** ../vim-7.3.048/src/Make_cyg.mak	2010-08-15 21:57:27.000000000 +0200
--- src/Make_cyg.mak	2010-11-03 21:50:42.000000000 +0100
***************
*** 1,6 ****
  #
  # Makefile for VIM on Win32, using Cygnus gcc
! # Last updated by Dan Sharp.  Last Change: 2010 Feb 24
  #
  # Also read INSTALLpc.txt!
  #
--- 1,6 ----
  #
  # Makefile for VIM on Win32, using Cygnus gcc
! # Last updated by Dan Sharp.  Last Change: 2010 Nov 03
  #
  # Also read INSTALLpc.txt!
  #
***************
*** 27,32 ****
--- 27,33 ----
  #   MZSCHEME_VER      define to version of MzScheme being used (209_000)
  #   DYNAMIC_MZSCHEME  no or yes: use yes to load the MzScheme DLLs dynamically (yes)
  #   MZSCHEME_DLLS     path to MzScheme DLLs (libmzgc and libmzsch), for "static" build.
+ #   MZSCHEME_USE_RACKET  define to use "racket" instead of "mzsch".
  # LUA	define to path to Lua dir to get Lua support (not defined)
  #   LUA_VER	    define to version of Lua being used (51)
  #   DYNAMIC_LUA  no or yes: use yes to load the Lua DLL dynamically (yes)
***************
*** 254,269 ****
  MZSCHEME_GENERATE_BASE=no
  endif
  
  ifeq (yes, $(DYNAMIC_MZSCHEME))
! DEFINES += -DDYNAMIC_MZSCHEME -DDYNAMIC_MZSCH_DLL=\"libmzsch$(MZSCHEME_VER).dll\" -DDYNAMIC_MZGC_DLL=\"libmzgc$(MZSCHEME_VER).dll\"
  else
  ifndef MZSCHEME_DLLS
  MZSCHEME_DLLS = $(MZSCHEME)
  endif
  ifeq (yes,$(MZSCHEME_PRECISE_GC))
! MZSCHEME_LIB=-lmzsch$(MZSCHEME_VER)
  else
! MZSCHEME_LIB = -lmzsch$(MZSCHEME_VER) -lmzgc$(MZSCHEME_VER)
  endif
  EXTRA_LIBS += -L$(MZSCHEME_DLLS) -L$(MZSCHEME_DLLS)/lib $(MZSCHEME_LIB)
  endif
--- 255,276 ----
  MZSCHEME_GENERATE_BASE=no
  endif
  
+ ifndef MZSCHEME_USE_RACKET
+ MZSCHEME_MAIN_LIB=mzsch
+ else
+ MZSCHEME_MAIN_LIB=racket
+ endif
+ 
  ifeq (yes, $(DYNAMIC_MZSCHEME))
! DEFINES += -DDYNAMIC_MZSCHEME -DDYNAMIC_MZSCH_DLL=\"lib$(MZSCHEME_MAIN_LIB)$(MZSCHEME_VER).dll\" -DDYNAMIC_MZGC_DLL=\"libmzgc$(MZSCHEME_VER).dll\"
  else
  ifndef MZSCHEME_DLLS
  MZSCHEME_DLLS = $(MZSCHEME)
  endif
  ifeq (yes,$(MZSCHEME_PRECISE_GC))
! MZSCHEME_LIB=-l$(MZSCHEME_MAIN_LIB)$(MZSCHEME_VER)
  else
! MZSCHEME_LIB = -l$(MZSCHEME_MAIN_LIB)$(MZSCHEME_VER) -lmzgc$(MZSCHEME_VER)
  endif
  EXTRA_LIBS += -L$(MZSCHEME_DLLS) -L$(MZSCHEME_DLLS)/lib $(MZSCHEME_LIB)
  endif
*** ../vim-7.3.048/src/Make_ming.mak	2010-09-29 18:42:25.000000000 +0200
--- src/Make_ming.mak	2010-11-03 21:48:14.000000000 +0100
***************
*** 141,151 ****
  MZSCHEME_GENERATE_BASE=no
  endif
  
  ifeq (no,$(DYNAMIC_MZSCHEME))
  ifeq (yes,$(MZSCHEME_PRECISE_GC))
! MZSCHEME_LIB=-lmzsch$(MZSCHEME_VER)
  else
! MZSCHEME_LIB = -lmzsch$(MZSCHEME_VER) -lmzgc$(MZSCHEME_VER)
  endif
  # the modern MinGW can dynamically link to dlls directly.
  # point MZSCHEME_DLLS to where you put libmzschXXXXXXX.dll and libgcXXXXXXX.dll
--- 141,157 ----
  MZSCHEME_GENERATE_BASE=no
  endif
  
+ ifndef MZSCHEME_USE_RACKET
+ MZSCHEME_MAIN_LIB=mzsch
+ else
+ MZSCHEME_MAIN_LIB=racket
+ endif
+ 
  ifeq (no,$(DYNAMIC_MZSCHEME))
  ifeq (yes,$(MZSCHEME_PRECISE_GC))
! MZSCHEME_LIB=-l$(MZSCHEME_MAIN_LIB)$(MZSCHEME_VER)
  else
! MZSCHEME_LIB = -l$(MZSCHEME_MAIN_LIB)$(MZSCHEME_VER) -lmzgc$(MZSCHEME_VER)
  endif
  # the modern MinGW can dynamically link to dlls directly.
  # point MZSCHEME_DLLS to where you put libmzschXXXXXXX.dll and libgcXXXXXXX.dll
***************
*** 343,349 ****
  ifdef MZSCHEME
  CFLAGS += -I$(MZSCHEME)/include -DFEAT_MZSCHEME -DMZSCHEME_COLLECTS=\"$(MZSCHEME)/collects\"
  ifeq (yes, $(DYNAMIC_MZSCHEME))
! CFLAGS += -DDYNAMIC_MZSCHEME -DDYNAMIC_MZSCH_DLL=\"libmzsch$(MZSCHEME_VER).dll\" -DDYNAMIC_MZGC_DLL=\"libmzgc$(MZSCHEME_VER).dll\"
  endif
  endif
  
--- 349,355 ----
  ifdef MZSCHEME
  CFLAGS += -I$(MZSCHEME)/include -DFEAT_MZSCHEME -DMZSCHEME_COLLECTS=\"$(MZSCHEME)/collects\"
  ifeq (yes, $(DYNAMIC_MZSCHEME))
! CFLAGS += -DDYNAMIC_MZSCHEME -DDYNAMIC_MZSCH_DLL=\"lib$(MZSCHEME_MAIN_LIB)$(MZSCHEME_VER).dll\" -DDYNAMIC_MZGC_DLL=\"libmzgc$(MZSCHEME_VER).dll\"
  endif
  endif
  
*** ../vim-7.3.048/src/Make_mvc.mak	2010-08-15 21:57:27.000000000 +0200
--- src/Make_mvc.mak	2010-11-03 21:48:14.000000000 +0100
***************
*** 705,716 ****
  MZSCHEME_VER = 205_000
  !endif
  CFLAGS = $(CFLAGS) -DFEAT_MZSCHEME -I $(MZSCHEME)\include
! !if EXIST("$(MZSCHEME)\collects\scheme\base.ss")
! # for MzScheme 4.x we need to include byte code for basic Scheme stuff
  MZSCHEME_EXTRA_DEP = mzscheme_base.c
  CFLAGS = $(CFLAGS) -DINCLUDE_MZSCHEME_BASE
  !endif
! !if EXIST("$(MZSCHEME)\lib\msvc\libmzsch$(MZSCHEME_VER).lib") \
  	&& !EXIST("$(MZSCHEME)\lib\msvc\libmzgc$(MZSCHEME_VER).lib")
  !message Building with Precise GC
  MZSCHEME_PRECISE_GC = yes
--- 705,722 ----
  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") 
! # for MzScheme >= 4 we need to include byte code for basic Scheme stuff
  MZSCHEME_EXTRA_DEP = mzscheme_base.c
  CFLAGS = $(CFLAGS) -DINCLUDE_MZSCHEME_BASE
  !endif
! !if EXIST("$(MZSCHEME)\lib\msvc\libmzsch$(MZSCHEME_VER).lib")
! MZSCHEME_MAIN_LIB=mzsch
! !else
! MZSCHEME_MAIN_LIB=racket
! !endif
! !if EXIST("$(MZSCHEME)\lib\msvc\lib$(MZSCHEME_MAIN_LIB)$(MZSCHEME_VER).lib") \
  	&& !EXIST("$(MZSCHEME)\lib\msvc\libmzgc$(MZSCHEME_VER).lib")
  !message Building with Precise GC
  MZSCHEME_PRECISE_GC = yes
***************
*** 722,728 ****
  !endif
  !message MzScheme DLLs will be loaded dynamically
  CFLAGS = $(CFLAGS) -DDYNAMIC_MZSCHEME \
! 		-DDYNAMIC_MZSCH_DLL=\"libmzsch$(MZSCHEME_VER).dll\" \
  		-DDYNAMIC_MZGC_DLL=\"libmzgc$(MZSCHEME_VER).dll\"
  !else
  !if "$(MZSCHEME_DEBUG)" == "yes"
--- 728,734 ----
  !endif
  !message MzScheme DLLs will be loaded dynamically
  CFLAGS = $(CFLAGS) -DDYNAMIC_MZSCHEME \
! 		-DDYNAMIC_MZSCH_DLL=\"lib$(MZSCHEME_MAIN_LIB)$(MZSCHEME_VER).dll\" \
  		-DDYNAMIC_MZGC_DLL=\"libmzgc$(MZSCHEME_VER).dll\"
  !else
  !if "$(MZSCHEME_DEBUG)" == "yes"
***************
*** 730,739 ****
  !endif
  !if "$(MZSCHEME_PRECISE_GC)" == "yes"
  # Precise GC does not use separate dll
! MZSCHEME_LIB = $(MZSCHEME)\lib\msvc\libmzsch$(MZSCHEME_VER).lib
  !else
  MZSCHEME_LIB = $(MZSCHEME)\lib\msvc\libmzgc$(MZSCHEME_VER).lib \
! 		$(MZSCHEME)\lib\msvc\libmzsch$(MZSCHEME_VER).lib
  !endif
  !endif
  MZSCHEME_OBJ = $(OUTDIR)\if_mzsch.obj
--- 736,745 ----
  !endif
  !if "$(MZSCHEME_PRECISE_GC)" == "yes"
  # Precise GC does not use separate dll
! MZSCHEME_LIB = $(MZSCHEME)\lib\msvc\lib$(MZSCHEME_MAIN_LIB)$(MZSCHEME_VER).lib
  !else
  MZSCHEME_LIB = $(MZSCHEME)\lib\msvc\libmzgc$(MZSCHEME_VER).lib \
! 		$(MZSCHEME)\lib\msvc\lib$(MZSCHEME_MAIN_LIB)$(MZSCHEME_VER).lib
  !endif
  !endif
  MZSCHEME_OBJ = $(OUTDIR)\if_mzsch.obj
*** ../vim-7.3.048/src/auto/configure	2010-10-27 16:49:41.000000000 +0200
--- src/auto/configure	2010-11-03 21:53:09.000000000 +0100
***************
*** 4862,4877 ****
        else
  	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
  $as_echo "no" >&6; }
! 	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if scheme.h can be found in /usr/include/plt/" >&5
! $as_echo_n "checking if scheme.h can be found in /usr/include/plt/... " >&6; }
! 	if test -f /usr/include/plt/scheme.h; then
  	  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
  $as_echo "yes" >&6; }
! 	  SCHEME_INC=/usr/include/plt
  	else
  	  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
  $as_echo "no" >&6; }
! 	  vi_cv_path_mzscheme_pfx=
  	fi
        fi
      fi
--- 4862,4897 ----
        else
  	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
  $as_echo "no" >&6; }
! 	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if scheme.h can be found in $vi_cv_path_mzscheme_pfx/include/racket" >&5
! $as_echo_n "checking if scheme.h can be found in $vi_cv_path_mzscheme_pfx/include/racket... " >&6; }
! 	if test -f $vi_cv_path_mzscheme_pfx/include/racket/scheme.h; then
  	  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
  $as_echo "yes" >&6; }
! 	  SCHEME_INC=${vi_cv_path_mzscheme_pfx}/include/racket
  	else
  	  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
  $as_echo "no" >&6; }
! 	  { $as_echo "$as_me:${as_lineno-$LINENO}: checking if scheme.h can be found in /usr/include/plt/" >&5
! $as_echo_n "checking if scheme.h can be found in /usr/include/plt/... " >&6; }
! 	  if test -f /usr/include/plt/scheme.h; then
! 	    { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
! $as_echo "yes" >&6; }
! 	    SCHEME_INC=/usr/include/plt
! 	  else
! 	    { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
! $as_echo "no" >&6; }
! 	    { $as_echo "$as_me:${as_lineno-$LINENO}: checking if scheme.h can be found in /usr/include/racket/" >&5
! $as_echo_n "checking if scheme.h can be found in /usr/include/racket/... " >&6; }
! 	    if test -f /usr/include/racket/scheme.h; then
! 	      { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
! $as_echo "yes" >&6; }
! 	      SCHEME_INC=/usr/include/racket
! 	    else
! 	      { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
! $as_echo "no" >&6; }
! 	      vi_cv_path_mzscheme_pfx=
! 	    fi
! 	  fi
  	fi
        fi
      fi
***************
*** 4883,4894 ****
      elif test -f "${vi_cv_path_mzscheme_pfx}/lib/libmzscheme3m.a"; then
        MZSCHEME_LIBS="${vi_cv_path_mzscheme_pfx}/lib/libmzscheme3m.a"
        MZSCHEME_CFLAGS="-DMZ_PRECISE_GC"
!     elif test -f "${vi_cv_path_mzscheme_pfx}/lib/libmzgc.a"; then
        MZSCHEME_LIBS="${vi_cv_path_mzscheme_pfx}/lib/libmzscheme.a ${vi_cv_path_mzscheme_pfx}/lib/libmzgc.a"
      else
              if test -f "${vi_cv_path_mzscheme_pfx}/lib/libmzscheme3m.so"; then
          MZSCHEME_LIBS="-L${vi_cv_path_mzscheme_pfx}/lib -lmzscheme3m"
  	MZSCHEME_CFLAGS="-DMZ_PRECISE_GC"
        else
          MZSCHEME_LIBS="-L${vi_cv_path_mzscheme_pfx}/lib -lmzscheme -lmzgc"
        fi
--- 4903,4924 ----
      elif test -f "${vi_cv_path_mzscheme_pfx}/lib/libmzscheme3m.a"; then
        MZSCHEME_LIBS="${vi_cv_path_mzscheme_pfx}/lib/libmzscheme3m.a"
        MZSCHEME_CFLAGS="-DMZ_PRECISE_GC"
!     elif test -f "${vi_cv_path_mzscheme_pfx}/lib/libracket3m.a"; then
!       MZSCHEME_LIBS="${vi_cv_path_mzscheme_pfx}/lib/libracket3m.a"
!       MZSCHEME_CFLAGS="-DMZ_PRECISE_GC"
!     elif test -f "${vi_cv_path_mzscheme_pfx}/lib/libracket.a"; then
!       MZSCHEME_LIBS="${vi_cv_path_mzscheme_pfx}/lib/libracket.a ${vi_cv_path_mzscheme_pfx}/lib/libmzgc.a"
!     elif test -f "${vi_cv_path_mzscheme_pfx}/lib/libmzscheme.a"; then
        MZSCHEME_LIBS="${vi_cv_path_mzscheme_pfx}/lib/libmzscheme.a ${vi_cv_path_mzscheme_pfx}/lib/libmzgc.a"
      else
              if test -f "${vi_cv_path_mzscheme_pfx}/lib/libmzscheme3m.so"; then
          MZSCHEME_LIBS="-L${vi_cv_path_mzscheme_pfx}/lib -lmzscheme3m"
  	MZSCHEME_CFLAGS="-DMZ_PRECISE_GC"
+       elif test -f "${vi_cv_path_mzscheme_pfx}/lib/libracket3m.so"; then
+         MZSCHEME_LIBS="-L${vi_cv_path_mzscheme_pfx}/lib -lracket3m"
+ 	MZSCHEME_CFLAGS="-DMZ_PRECISE_GC"
+       elif test -f "${vi_cv_path_mzscheme_pfx}/lib/libracket.so"; then
+         MZSCHEME_LIBS="-L${vi_cv_path_mzscheme_pfx}/lib -lracket -lmzgc"
        else
          MZSCHEME_LIBS="-L${vi_cv_path_mzscheme_pfx}/lib -lmzscheme -lmzgc"
        fi
***************
*** 4901,4910 ****
      fi
      if test -d $vi_cv_path_mzscheme_pfx/lib/plt/collects; then
        SCHEME_COLLECTS=lib/plt/
      fi
      if test -f "${vi_cv_path_mzscheme_pfx}/${SCHEME_COLLECTS}collects/scheme/base.ss" ; then
!             MZSCHEME_EXTRA="mzscheme_base.c"
!       MZSCHEME_CFLAGS="${MZSCHEME_CFLAGS} -DINCLUDE_MZSCHEME_BASE"
        MZSCHEME_MZC="${vi_cv_path_mzscheme_pfx}/bin/mzc"
      fi
      MZSCHEME_CFLAGS="${MZSCHEME_CFLAGS} -I${SCHEME_INC} \
--- 4931,4950 ----
      fi
      if test -d $vi_cv_path_mzscheme_pfx/lib/plt/collects; then
        SCHEME_COLLECTS=lib/plt/
+     else
+       if test -d $vi_cv_path_mzscheme_pfx/lib/racket/collects; then
+ 	SCHEME_COLLECTS=lib/racket/
+       fi
      fi
      if test -f "${vi_cv_path_mzscheme_pfx}/${SCHEME_COLLECTS}collects/scheme/base.ss" ; then
!       MZSCHEME_EXTRA="mzscheme_base.c"
!     else
!       if test -f "${vi_cv_path_mzscheme_pfx}/${SCHEME_COLLECTS}collects/scheme/base.rkt" ; then
! 	MZSCHEME_EXTRA="mzscheme_base.c"
!       fi
!     fi
!     if test "X$MZSCHEME_EXTRA" != "X" ; then
!             MZSCHEME_CFLAGS="${MZSCHEME_CFLAGS} -DINCLUDE_MZSCHEME_BASE"
        MZSCHEME_MZC="${vi_cv_path_mzscheme_pfx}/bin/mzc"
      fi
      MZSCHEME_CFLAGS="${MZSCHEME_CFLAGS} -I${SCHEME_INC} \
*** ../vim-7.3.048/src/configure.in	2010-10-27 16:49:41.000000000 +0200
--- src/configure.in	2010-11-03 21:48:14.000000000 +0100
***************
*** 568,580 ****
  	SCHEME_INC=${vi_cv_path_mzscheme_pfx}/include/plt
        else
  	AC_MSG_RESULT(no)
! 	AC_MSG_CHECKING(if scheme.h can be found in /usr/include/plt/)
! 	if test -f /usr/include/plt/scheme.h; then
  	  AC_MSG_RESULT(yes)
! 	  SCHEME_INC=/usr/include/plt
  	else
  	  AC_MSG_RESULT(no)
! 	  vi_cv_path_mzscheme_pfx=
  	fi
        fi
      fi
--- 568,594 ----
  	SCHEME_INC=${vi_cv_path_mzscheme_pfx}/include/plt
        else
  	AC_MSG_RESULT(no)
! 	AC_MSG_CHECKING(if scheme.h can be found in $vi_cv_path_mzscheme_pfx/include/racket)
! 	if test -f $vi_cv_path_mzscheme_pfx/include/racket/scheme.h; then
  	  AC_MSG_RESULT(yes)
! 	  SCHEME_INC=${vi_cv_path_mzscheme_pfx}/include/racket
  	else
  	  AC_MSG_RESULT(no)
! 	  AC_MSG_CHECKING(if scheme.h can be found in /usr/include/plt/)
! 	  if test -f /usr/include/plt/scheme.h; then
! 	    AC_MSG_RESULT(yes)
! 	    SCHEME_INC=/usr/include/plt
! 	  else
! 	    AC_MSG_RESULT(no)
! 	    AC_MSG_CHECKING(if scheme.h can be found in /usr/include/racket/)
! 	    if test -f /usr/include/racket/scheme.h; then
! 	      AC_MSG_RESULT(yes)
! 	      SCHEME_INC=/usr/include/racket
! 	    else
! 	      AC_MSG_RESULT(no)
! 	      vi_cv_path_mzscheme_pfx=
! 	    fi
! 	  fi
  	fi
        fi
      fi
***************
*** 586,598 ****
      elif test -f "${vi_cv_path_mzscheme_pfx}/lib/libmzscheme3m.a"; then
        MZSCHEME_LIBS="${vi_cv_path_mzscheme_pfx}/lib/libmzscheme3m.a"
        MZSCHEME_CFLAGS="-DMZ_PRECISE_GC"
!     elif test -f "${vi_cv_path_mzscheme_pfx}/lib/libmzgc.a"; then
        MZSCHEME_LIBS="${vi_cv_path_mzscheme_pfx}/lib/libmzscheme.a ${vi_cv_path_mzscheme_pfx}/lib/libmzgc.a"
      else
        dnl Using shared objects
        if test -f "${vi_cv_path_mzscheme_pfx}/lib/libmzscheme3m.so"; then
          MZSCHEME_LIBS="-L${vi_cv_path_mzscheme_pfx}/lib -lmzscheme3m"
  	MZSCHEME_CFLAGS="-DMZ_PRECISE_GC"
        else
          MZSCHEME_LIBS="-L${vi_cv_path_mzscheme_pfx}/lib -lmzscheme -lmzgc"
        fi
--- 600,622 ----
      elif test -f "${vi_cv_path_mzscheme_pfx}/lib/libmzscheme3m.a"; then
        MZSCHEME_LIBS="${vi_cv_path_mzscheme_pfx}/lib/libmzscheme3m.a"
        MZSCHEME_CFLAGS="-DMZ_PRECISE_GC"
!     elif test -f "${vi_cv_path_mzscheme_pfx}/lib/libracket3m.a"; then
!       MZSCHEME_LIBS="${vi_cv_path_mzscheme_pfx}/lib/libracket3m.a"
!       MZSCHEME_CFLAGS="-DMZ_PRECISE_GC"
!     elif test -f "${vi_cv_path_mzscheme_pfx}/lib/libracket.a"; then
!       MZSCHEME_LIBS="${vi_cv_path_mzscheme_pfx}/lib/libracket.a ${vi_cv_path_mzscheme_pfx}/lib/libmzgc.a"
!     elif test -f "${vi_cv_path_mzscheme_pfx}/lib/libmzscheme.a"; then
        MZSCHEME_LIBS="${vi_cv_path_mzscheme_pfx}/lib/libmzscheme.a ${vi_cv_path_mzscheme_pfx}/lib/libmzgc.a"
      else
        dnl Using shared objects
        if test -f "${vi_cv_path_mzscheme_pfx}/lib/libmzscheme3m.so"; then
          MZSCHEME_LIBS="-L${vi_cv_path_mzscheme_pfx}/lib -lmzscheme3m"
  	MZSCHEME_CFLAGS="-DMZ_PRECISE_GC"
+       elif test -f "${vi_cv_path_mzscheme_pfx}/lib/libracket3m.so"; then
+         MZSCHEME_LIBS="-L${vi_cv_path_mzscheme_pfx}/lib -lracket3m"
+ 	MZSCHEME_CFLAGS="-DMZ_PRECISE_GC"
+       elif test -f "${vi_cv_path_mzscheme_pfx}/lib/libracket.so"; then
+         MZSCHEME_LIBS="-L${vi_cv_path_mzscheme_pfx}/lib -lracket -lmzgc"
        else
          MZSCHEME_LIBS="-L${vi_cv_path_mzscheme_pfx}/lib -lmzscheme -lmzgc"
        fi
***************
*** 607,616 ****
      fi
      if test -d $vi_cv_path_mzscheme_pfx/lib/plt/collects; then
        SCHEME_COLLECTS=lib/plt/
      fi
      if test -f "${vi_cv_path_mzscheme_pfx}/${SCHEME_COLLECTS}collects/scheme/base.ss" ; then
-       dnl need to generate bytecode for MzScheme base
        MZSCHEME_EXTRA="mzscheme_base.c"
        MZSCHEME_CFLAGS="${MZSCHEME_CFLAGS} -DINCLUDE_MZSCHEME_BASE"
        MZSCHEME_MZC="${vi_cv_path_mzscheme_pfx}/bin/mzc"
      fi
--- 631,650 ----
      fi
      if test -d $vi_cv_path_mzscheme_pfx/lib/plt/collects; then
        SCHEME_COLLECTS=lib/plt/
+     else
+       if test -d $vi_cv_path_mzscheme_pfx/lib/racket/collects; then
+ 	SCHEME_COLLECTS=lib/racket/
+       fi
      fi
      if test -f "${vi_cv_path_mzscheme_pfx}/${SCHEME_COLLECTS}collects/scheme/base.ss" ; then
        MZSCHEME_EXTRA="mzscheme_base.c"
+     else
+       if test -f "${vi_cv_path_mzscheme_pfx}/${SCHEME_COLLECTS}collects/scheme/base.rkt" ; then
+ 	MZSCHEME_EXTRA="mzscheme_base.c"
+       fi
+     fi
+     if test "X$MZSCHEME_EXTRA" != "X" ; then
+       dnl need to generate bytecode for MzScheme base
        MZSCHEME_CFLAGS="${MZSCHEME_CFLAGS} -DINCLUDE_MZSCHEME_BASE"
        MZSCHEME_MZC="${vi_cv_path_mzscheme_pfx}/bin/mzc"
      fi
*** ../vim-7.3.048/src/if_mzsch.c	2010-10-23 14:02:48.000000000 +0200
--- src/if_mzsch.c	2010-11-03 21:48:14.000000000 +0100
***************
*** 794,802 ****
--- 794,809 ----
  #endif
  }
  
+ #if MZSCHEME_VERSION_MAJOR >= 500 && defined(WIN32) && defined(USE_THREAD_LOCAL)
+ static __declspec(thread) void *tls_space;
+ #endif
+ 
      void
  mzscheme_main(void)
  {
+ #if MZSCHEME_VERSION_MAJOR >= 500 && defined(WIN32) && defined(USE_THREAD_LOCAL)
+     scheme_register_tls_space(&tls_space, 0);
+ #endif
  #if defined(MZ_PRECISE_GC) && MZSCHEME_VERSION_MAJOR >= 400
      /* use trampoline for precise GC in MzScheme >= 4.x */
      scheme_main_setup(TRUE, mzscheme_env_main, 0, NULL);
*** ../vim-7.3.048/src/version.c	2010-11-03 19:32:36.000000000 +0100
--- src/version.c	2010-11-03 21:57:04.000000000 +0100
***************
*** 716,717 ****
--- 716,719 ----
  {   /* Add new patch number below this line */
+ /**/
+     49,
  /**/

-- 
TIM: But follow only if you are men of valour.  For the entrance to this cave
     is guarded by a monster, a creature so foul and cruel that no man yet has
     fought with it and lived.  Bones of full fifty men lie strewn about its
     lair ...
                 "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD

 /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net   \\\
///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\        download, build and distribute -- http://www.A-A-P.org        ///
 \\\            help me help AIDS victims -- http://ICCF-Holland.org    ///
