2001032300 release

diff --git a/NEWS b/NEWS
index d9a1eca..84e6e7d 100644
--- a/NEWS
+++ b/NEWS
@@ -2,6 +2,7 @@
 --------------------------------------------------------------------------------
 - Fixed <Tcl>...</Tcl>, these should be placed outside of <Directory>/<Location> directives.  Everything in <Tcl>...</Tcl> is added to a global variable and then made local to the namespace of the file, this is due to several problems with handling configuration, mainly that exection would either result in a "this directive doesn't belong here" or a problem with the configuration not being built yet as in an EXEC_ON_READ.
 - Fixed a bug in ap_create_environment.
+- Fixed a bug with writing <Tcl>...</Tcl> logic to the local namespace [2001032300]
 
 Changes in 1.0d6
 --------------------------------------------------------------------------------
@@ -27,6 +28,7 @@
 6. libapreq (doesn't appear to be ported to 2.0 completley yet...)
 7. Decide what goals need to be acheived for release 1.0
 8. Make necessary changes along with Apache 2.0 revisions.
+9. Look into TCL threads.  A preliminary investigation to enabling TCL threads caused SEGVs randomly...?
 
 Map
 --------------------------------------------------------------------------------
@@ -40,7 +42,7 @@
          |
 - 1.0d3 -| more of API exposed, new config option, inital checkin to CVS
          |
-- 1.0d4 -| Documentation, 99% of API exposed
+- 1.0d4 -| Documentation, 90% of API exposed
          |
 - 1.0d5 -| constants commands in ::apache namespace, mmap checking, test
          | script
diff --git a/README b/README
index 6a532c0..060af4d 100644
--- a/README
+++ b/README
@@ -2,7 +2,8 @@
 -----------------------------------
 
 This documentation referes to mod_tcl 1.0d7.
-Please see tcl.apache.org and www.fractal.net for more information.
+Please see tcl.apache.org for more information.
+
 
 Configuration Directives
 ------------------------
diff --git a/tcl_core.c b/tcl_core.c
index adb6a27..a734b12 100644
--- a/tcl_core.c
+++ b/tcl_core.c
@@ -236,6 +236,11 @@
 {
 	char **xx, *z = apr_pstrdup(cmd->pool, "");
 	char l[MAX_STRING_LEN];
+	const char *err = ap_check_cmd_context(cmd, NOT_IN_DIR_LOC_FILE|NOT_IN_LIMIT);
+
+	if (err != NULL) {
+		return err;
+	}
     
     while (!(ap_cfg_getline(l, MAX_STRING_LEN, cmd->config_file))) {
 		if (!strncasecmp(l, "</Tcl>", 6)) {
@@ -544,12 +549,14 @@
 		interp = NULL;
 	}
 	
+	free(raw_tcl);
+	
 	return APR_SUCCESS;
 }
 
 static void tcl_init_handler(apr_pool_t *pconf, apr_pool_t *plog, apr_pool_t *ptemp, server_rec *s)
 {
-	ap_add_version_component(pconf, "mod_tcl/1.0dPRE7-2001032000");
+	ap_add_version_component(pconf, "mod_tcl/1.0dPRE7-2001032300");
 }
 
 static int run_handler(request_rec *r, int hh)
@@ -646,7 +653,9 @@
 			}
 		}
 		
-		run_script(interp, "namespace eval %s { %s }", r->filename, raw_tcl);
+		if (raw_tcl) {
+			run_script(interp, "namespace eval %s { %s }", r->filename, raw_tcl);
+		}
 	}
 	else if (st.st_mtime > fptr->st.st_mtime) {
 		int fd;