> > Well, the only reason I can think of this happening is because something > must have called MWNamespace::getCanonicalNamespaces before your extension > initialized, thus causing the cache it has to be filled without the > extension's namespaces. Maybe try calling > MWNamespace::getCanonicalNamespaces( true ) to force regeneration?
Good call. This is part of the story. Part of what I had been doing in the wgExtensionFunctions hook was: 1) $wgCentralBannerDispatcher = "{$wgScript}/{$wgContLang->specialPage( 'BannerRandom' )}"; --> Eventually makes a call to Language->getNamespaces() which then caches the localized namespace names 2) Add custom namespaces. If I reverse the order it works. However -- because I've already created the initial cache in Language -- and because this local cache does not get invalidated when getCanonicalNamespaces(true) gets called -- anything further down the initialization chain is stuffed. To fix this I moved the (1) type calls to a ResourceLoaderGetConfigVars hook where they're actually needed. But -- I'm wondering if this is actually a bug in the Language object? Shouldn't it regenerate it's cache when getCanonicalNamespaces changes? (There is a hook that it calls, CanonicalNamespaces, that could potentially support this mechanism.) ~Matt Walker _______________________________________________ Wikitech-l mailing list Wikitech-l@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/wikitech-l