@@ -1226,28 +1226,29 @@ proc ::msgcat::PackageNamespaceGet {} {
1226
1226
# Not in object environment
1227
1227
return $ns
1228
1228
}
1229
-
1230
- # Check self namespace to determine environment
1231
- switch -exact -- [uplevel 2 { namespace which -command self }] {
1232
- {::oo::define::self} {
1233
- # We are within a class definition
1234
- return [namespace qualifiers [uplevel 2 { self }]]
1235
- }
1236
- {::oo::Helpers::self} {
1237
- # We are within an object
1238
- set Class [info object class [uplevel 2 { self }]]
1239
- # Check for classless defined object
1240
- if {$Class eq {::oo::object}} {
1229
+ # Ticket 91b3a5bb14: call to self may fail if namespace is stored
1230
+ # so catch all this
1231
+ try {
1232
+ # Check self namespace to determine environment
1233
+ switch -exact -- [uplevel 2 { namespace which -command self }] {
1234
+ {::oo::define::self} {
1235
+ # We are within a class definition
1241
1236
return [namespace qualifiers [uplevel 2 { self }]]
1242
1237
}
1243
- # Class defined object
1244
- return [namespace qualifiers $Class ]
1245
- }
1246
- default {
1247
- # Not in object environment
1248
- return $ns
1238
+ {::oo::Helpers::self} {
1239
+ # We are within an object
1240
+ set Class [info object class [uplevel 2 { self }]]
1241
+ # Check for classless defined object
1242
+ if {$Class eq {::oo::object}} {
1243
+ return [namespace qualifiers [uplevel 2 { self }]]
1244
+ }
1245
+ # Class defined object
1246
+ return [namespace qualifiers $Class ]
1247
+ }
1249
1248
}
1249
+ } on error {} {
1250
1250
}
1251
+ return $ns
1251
1252
}
1252
1253
1253
1254
# Initialize the default locale
0 commit comments