Index: generic/tclVar.c
===================================================================
RCS file: /cvsroot/tcl/tcl/generic/tclVar.c,v
retrieving revision 1.38
diff -u -r1.38 tclVar.c
--- generic/tclVar.c	2001/09/27 20:32:35	1.38
+++ generic/tclVar.c	2001/11/09 20:59:28
@@ -4010,7 +4010,7 @@
         while ((tail > varName) && ((*tail != ':') || (*(tail-1) != ':'))) {
             tail--;
 	}
-        if (*tail == ':') {
+        if ((*tail == ':') && (tail > varName)) {
             tail++;
 	}
 
Index: tests/var.test
===================================================================
RCS file: /cvsroot/tcl/tcl/tests/var.test,v
retrieving revision 1.17
diff -u -r1.17 var.test
--- tests/var.test	2001/07/04 00:55:08	1.17
+++ tests/var.test	2001/11/09 20:59:29
@@ -327,6 +327,16 @@
     }
     p
 } {24}
+test var-6.4 {Tcl_GlobalObjCmd, variable name matching :*} {
+    # Test for Tcl Bug 480176
+    set :v broken
+    proc p {} {
+	global :v
+	set :v fixed
+    }
+    p
+    set :v
+} {fixed}
 
 test var-7.1 {Tcl_VariableObjCmd, create and initialize one new ns variable} {
     catch {namespace delete test_ns_var}
