changeset 12608:b390f5003e2f v8.0.1182

patch 8.0.1182: cannot see or change mzscheme dll name commit https://github.com/vim/vim/commit/0ab35b279f9d64f32e99424166b047f90cb042d8 Author: Bram Moolenaar <Bram@vim.org> Date: Sun Oct 8 17:41:37 2017 +0200 patch 8.0.1182: cannot see or change mzscheme dll name Problem: Cannot see or change mzscheme dll name. Solution: Add 'mzschemedll' and 'mzschemegcdll'.
author Christian Brabandt <cb@256bit.org>
date Sun, 08 Oct 2017 17:45:04 +0200
parents 753cc0b58858
children 89ca46c016d2
files runtime/doc/if_mzsch.txt runtime/doc/options.txt src/if_mzsch.c src/option.c src/option.h src/version.c
diffstat 6 files changed, 56 insertions(+), 4 deletions(-) [+]
line wrap: on
line diff
--- a/runtime/doc/if_mzsch.txt
+++ b/runtime/doc/if_mzsch.txt
@@ -1,4 +1,4 @@
-*if_mzsch.txt*  For Vim version 8.0.  Last change: 2016 Jan 24
+*if_mzsch.txt*  For Vim version 8.0.  Last change: 2017 Oct 08
 
 
 		  VIM REFERENCE MANUAL    by Sergey Khorev
@@ -278,12 +278,15 @@ When you don't use the MzScheme interfac
 use Vim without these DLL files.
 NOTE: Newer version of MzScheme (Racket) require earlier (trampolined)
 initialisation via scheme_main_setup.  So Vim always loads the MzScheme DLL at
-startup if possible.
+startup if possible.  This may make Vim startup slower.
 
 To use the MzScheme interface the MzScheme DLLs must be in your search path.
 In a console window type "path" to see what directories are used.
 
-The names of the DLLs must match the MzScheme version Vim was compiled with.
+On MS-Windows the options 'mzschemedll' and 'mzschemegcdll' are used for the
+name of the library to load.  The initial value is specified at build time.
+
+The version of the DLL must match the MzScheme version Vim was compiled with.
 For MzScheme version 209 they will be "libmzsch209_000.dll" and
 "libmzgc209_000.dll". To know for sure look at the output of the ":version"
 command, look for -DDYNAMIC_MZSCH_DLL="something" and
--- a/runtime/doc/options.txt
+++ b/runtime/doc/options.txt
@@ -5468,6 +5468,31 @@ A jump table for the options with a shor
 	time in msec between two mouse clicks for the second click to be
 	recognized as a multi click.
 
+						*'mzschemedll'*
+'mzschemedll'		string	(default depends on the build)
+			global
+			{not in Vi}
+			{only available when compiled with the |+mzscheme/dyn|
+			feature}
+	Specifies the name of the MzScheme shared library. The default is
+	DYNAMIC_MZSCH_DLL which was specified at compile time.
+	Environment variables are expanded |:set_env|.
+	This option cannot be set from a |modeline| or in the |sandbox|, for
+	security reasons.
+
+						*'mzschemegcdll'*
+'mzschemegcdll'		string	(default depends on the build)
+			global
+			{not in Vi}
+			{only available when compiled with the |+mzscheme/dyn|
+			feature}
+	Specifies the name of the MzScheme GC shared library. The default is
+	DYNAMIC_MZGC_DLL which was specified at compile time.
+	The value can be equal to 'mzschemedll' if it includes the GC code.
+	Environment variables are expanded |:set_env|.
+	This option cannot be set from a |modeline| or in the |sandbox|, for
+	security reasons.
+
 						    *'mzquantum'* *'mzq'*
 'mzquantum' 'mzq'	number	(default 100)
 			global
--- a/src/if_mzsch.c
+++ b/src/if_mzsch.c
@@ -757,7 +757,7 @@ mzscheme_runtime_link_init(char *sch_dll
 mzscheme_enabled(int verbose)
 {
     return mzscheme_runtime_link_init(
-	    DYNAMIC_MZSCH_DLL, DYNAMIC_MZGC_DLL, verbose) == OK;
+	    (char *)p_mzschemedll, (char *)p_mzschemegcdll, verbose) == OK;
 }
 
     static void
--- a/src/option.c
+++ b/src/option.c
@@ -2008,6 +2008,24 @@ static struct vimoption options[] =
     {"mousetime",   "mouset",	P_NUM|P_VI_DEF,
 			    (char_u *)&p_mouset, PV_NONE,
 			    {(char_u *)500L, (char_u *)0L} SCRIPTID_INIT},
+    {"mzschemedll", NULL,   P_STRING|P_EXPAND|P_VI_DEF|P_SECURE,
+#if defined(DYNAMIC_MZSCHEME)
+			    (char_u *)&p_mzschemedll, PV_NONE,
+			    {(char_u *)DYNAMIC_MZSCH_DLL, (char_u *)0L}
+#else
+			    (char_u *)NULL, PV_NONE,
+			    {(char_u *)"", (char_u *)0L}
+#endif
+			    SCRIPTID_INIT},
+    {"mzschemegcdll", NULL, P_STRING|P_EXPAND|P_VI_DEF|P_SECURE,
+#if defined(DYNAMIC_MZSCHEME)
+			    (char_u *)&p_mzschemegcdll, PV_NONE,
+			    {(char_u *)DYNAMIC_MZGC_DLL, (char_u *)0L}
+#else
+			    (char_u *)NULL, PV_NONE,
+			    {(char_u *)"", (char_u *)0L}
+#endif
+			    SCRIPTID_INIT},
     {"mzquantum",  "mzq",   P_NUM,
 #ifdef FEAT_MZSCHEME
 			    (char_u *)&p_mzq, PV_NONE,
--- a/src/option.h
+++ b/src/option.h
@@ -662,6 +662,10 @@ EXTERN long	p_mouset;	/* 'mousetime' */
 EXTERN int	p_more;		/* 'more' */
 #ifdef FEAT_MZSCHEME
 EXTERN long	p_mzq;		/* 'mzquantum */
+# if defined(DYNAMIC_MZSCHEME)
+EXTERN char_u	*p_mzschemedll;	/* 'mzschemedll' */
+EXTERN char_u	*p_mzschemegcdll; /* 'mzschemegcdll' */
+# endif
 #endif
 #if defined(MSWIN)
 EXTERN int	p_odev;		/* 'opendevice' */
--- a/src/version.c
+++ b/src/version.c
@@ -762,6 +762,8 @@ static char *(features[]) =
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    1182,
+/**/
     1181,
 /**/
     1180,