From 08271a7f2decd6091f1a6de0f7f5610abd594037 Mon Sep 17 00:00:00 2001
From: hobbs <hobbs>
Date: Fri, 7 Apr 2006 01:14:26 +0000
Subject: 	* generic/tclRegexp.c (FinalizeRegexp): full reset data to 
 indicate that readiness for reinitialization.

---
 ChangeLog           | 5 +++++
 generic/tclRegexp.c | 8 +++++++-
 2 files changed, 12 insertions(+), 1 deletion(-)

diff --git a/ChangeLog b/ChangeLog
index 2e8e623..ed9a099 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2006-04-06  Jeff Hobbs  <jeffh@ActiveState.com>
+
+	* generic/tclRegexp.c (FinalizeRegexp): full reset data to
+	indicate that readiness for reinitialization.
+
 2006-04-06  Don Porter  <dgp@users.sourceforge.net>
 
 	* generic/tclIndexObj.c (Tcl_GetIndexFromObjStruct):	It seems
diff --git a/generic/tclRegexp.c b/generic/tclRegexp.c
index 276ea55..7e2a875 100644
--- a/generic/tclRegexp.c
+++ b/generic/tclRegexp.c
@@ -10,7 +10,7 @@
  * See the file "license.terms" for information on usage and redistribution
  * of this file, and for a DISCLAIMER OF ALL WARRANTIES.
  *
- * RCS: @(#) $Id: tclRegexp.c,v 1.14.4.1 2005/11/27 02:34:41 das Exp $
+ * RCS: @(#) $Id: tclRegexp.c,v 1.14.4.2 2006/04/07 01:14:28 hobbs Exp $
  */
 
 #include "tclInt.h"
@@ -1024,5 +1024,11 @@ FinalizeRegexp(clientData)
 	    FreeRegexp(regexpPtr);
 	}
 	ckfree(tsdPtr->patterns[i]);
+	tsdPtr->patterns[i] = NULL;
     }
+    /*
+     * We may find ourselves reinitialized if another finalization routine
+     * invokes regexps.
+     */
+    tsdPtr->initialized = 0;
 }
-- 
cgit v0.12