There is currently one test case which fails and its related to this. The code checks for three different things

namespace:namespace
namespace:start
namespace

if it doesn't find any of the above, it'll go for namespace:start, although as mentioned above it appears it sometimes opts for namespace.

(all of the above is my recollection - I'm not looking at the code right now)

So, what is the correct behaviour?

2006-11-30andi

The test case you mention only fails if a certain page exists, where the code assumes it does not exist (not looking at the code currently either). There is currently no testcase for the reported problem. It's broken by design ;-) The reported problem occurs because the namespace resolving is done in pageresolve (used in resolving links), not in cleanID (which is used in getID). The proper fix is probably adding a pageresolve call to the getID function.

2006-12-01gb

Chris, yes the checks are those which are expected.

Following Andi's suggestion, here is an other way to achieve it, changing getID function in a similar manner to what is done on links inside pages.