updated for version 7.3.689
Problem:    MzScheme and Lua may use a NULL string.
Solution:   Use an empty string instead of NULL. (Yukihiro Nakadaira)
diff --git a/src/if_lua.c b/src/if_lua.c
index e873b6b..ce65fd2 100644
--- a/src/if_lua.c
+++ b/src/if_lua.c
@@ -464,7 +464,8 @@
     switch (tv->v_type)
     {
 	case VAR_STRING:
-	    lua_pushstring(L, (char *) tv->vval.v_string);
+	    lua_pushstring(L, tv->vval.v_string == NULL
+					    ? "" : (char *)tv->vval.v_string);
 	    break;
 	case VAR_NUMBER:
 	    lua_pushinteger(L, (int) tv->vval.v_number);
diff --git a/src/if_mzsch.c b/src/if_mzsch.c
index 86e96bd..d6ee4b9 100644
--- a/src/if_mzsch.c
+++ b/src/if_mzsch.c
@@ -2649,7 +2649,8 @@
 	new_value = FALSE;
     else if (vim_value->v_type == VAR_STRING)
     {
-	result = scheme_make_string((char *)vim_value->vval.v_string);
+	result = scheme_make_string(vim_value->vval.v_string == NULL
+				    ? "" : (char *)vim_value->vval.v_string);
 	MZ_GC_CHECK();
     }
     else if (vim_value->v_type == VAR_NUMBER)
diff --git a/src/version.c b/src/version.c
index d512955..0ea098b 100644
--- a/src/version.c
+++ b/src/version.c
@@ -720,6 +720,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    689,
+/**/
     688,
 /**/
     687,