diff options
| -rw-r--r-- | generic/tclBasic.c | 2 | ||||
| -rw-r--r-- | tests/namespace.test | 4 |
2 files changed, 3 insertions, 3 deletions
diff --git a/generic/tclBasic.c b/generic/tclBasic.c index 93c3b43..ffd69c4 100644 --- a/generic/tclBasic.c +++ b/generic/tclBasic.c @@ -4732,7 +4732,7 @@ TEOV_NotFound( currNsPtr = varFramePtr->nsPtr; if ((currNsPtr == NULL) || (currNsPtr->unknownHandlerPtr == NULL) || - (qualLen > 2 && (*qualName == ':') && (*(qualName+1) == ':')) + (qualLen > 2 && memchr(qualName, ':', qualLen)) /* fast check for NS:: */ ) { /* * first try to find namespace unknown handler of the namespace diff --git a/tests/namespace.test b/tests/namespace.test index 74cd6a9..c8c1992 100644 --- a/tests/namespace.test +++ b/tests/namespace.test @@ -3052,10 +3052,10 @@ test namespace-52.13 {unknown: invocation outside of NS doesn't evade namespace proc _unknown args {list ::foo:bar:_unknown [uplevel {namespace current}] $args} namespace unknown [namespace current]::_unknown } - list [namespace inscope ::foo::bar {xxx}] [namespace inscope ::foo {bar::xxx}] [::foo::bar::xxx] + list [namespace inscope ::foo::bar {xxx}] [namespace inscope ::foo {bar::xxx}] [::foo::bar::xxx] [namespace inscope :: {foo::bar::xxx}] } -cleanup { namespace delete ::foo -} -result {{::foo:bar:_unknown ::foo::bar xxx} {::foo:bar:_unknown ::foo bar::xxx} {::foo:bar:_unknown :: ::foo::bar::xxx}} +} -result {{::foo:bar:_unknown ::foo::bar xxx} {::foo:bar:_unknown ::foo bar::xxx} {::foo:bar:_unknown :: ::foo::bar::xxx} {::foo:bar:_unknown :: foo::bar::xxx}} # TIP 314 - ensembles with parameters test namespace-53.1 {ensembles: parameters} { |
