Index: README.release
===================================================================
diff -u -r1a70aea890b7fedd919c0c4d04904df5e030043e -r438ba04d25782cf13000d55ab51bf9241503e179
--- README.release	(.../README.release)	(revision 1a70aea890b7fedd919c0c4d04904df5e030043e)
+++ README.release	(.../README.release)	(revision 438ba04d25782cf13000d55ab51bf9241503e179)
@@ -19,9 +19,9 @@
          make "CC=clang" test
        * run static analysis:
          make cppcheck
-	 #/opt/local/bin/scan-build-mp-3.8 -enable-checker alpha make
-	 /opt/local/bin/scan-build-mp-3.8 make
-	 /opt/local/bin/scan-view-mp-3.8 ...
+	 #/opt/local/bin/scan-build-mp-3.9 -enable-checker alpha make
+	 /opt/local/bin/scan-build-mp-3.9 make
+	 /opt/local/bin/scan-view-mp-3.9 ...
        * run Coverity (7.6.0, requires gcc 4.8):
        	 (sudo port install gcc48)
 	 (download Coverity Build Tool from https://scan.coverity.com/download/)
Index: generic/nsf.c
===================================================================
diff -u -r052006de60c2348d7edf887bec3369c9f12f7d40 -r438ba04d25782cf13000d55ab51bf9241503e179
--- generic/nsf.c	(.../nsf.c)	(revision 052006de60c2348d7edf887bec3369c9f12f7d40)
+++ generic/nsf.c	(.../nsf.c)	(revision 438ba04d25782cf13000d55ab51bf9241503e179)
@@ -4326,22 +4326,27 @@
 
 static Tcl_Var
 CompiledLocalsLookup(CallFrame *varFramePtr, const char *varName) {
-  int i, localCt;
-  Tcl_Obj **objPtrPtr;
+  int       i, localCt, nameLength;
+  Tcl_Obj **varNameObjPtr;
 
   nonnull_assert(varFramePtr != NULL);
   nonnull_assert(varName != NULL);
 
   localCt = varFramePtr->numCompiledLocals;
-  objPtrPtr = &varFramePtr->localCachePtr->varName0;
+  varNameObjPtr = &varFramePtr->localCachePtr->varName0;
+  nameLength = strlen(varName);
 
   /* fprintf(stderr, ".. search #local vars %d for %s\n", localCt, varName);*/
-  for (i = 0 ; i < localCt ; i++, objPtrPtr++) {
-    Tcl_Obj *objPtr = *objPtrPtr;
-    if (likely(objPtr != NULL)) {
-      const char *localName = TclGetString(objPtr);
+  for (i = 0 ; i < localCt ; i++, varNameObjPtr++) {
+    Tcl_Obj *varNameObj = *varNameObjPtr;
+    int      len;
+
+    if (likely(varNameObj != NULL)) {
+      const char *localName = TclGetStringFromObj(varNameObj, &len);
+
       if (unlikely(varName[0] == localName[0]
                    && varName[1] == localName[1]
+                   && len == nameLength
                    && strcmp(varName, localName) == 0)) {
         return (Tcl_Var) &varFramePtr->compiledLocals[i];
       }