Got into a coding groove and resolved a bunch of Issues from the issue
tracker. I think I ironed out most bugs in my commits, but more people
need to run it.
If you don't follow the commit log (
http://code.google.com/p/evennia/
source/list) you should notice some cleaner feedback for some commands
like @reload that now maps to the MUDInfo channel rather than just
spamming directly to the text input. Also addcom works a little
differently, you can change aliases to a channel now. Several of the
channel list commands output their stuff more coherently and gives
some more usage help. There are also a few more comsys admin commands
in place. IRC is a Service now, too (with some caveats), so you can
start/stop it like you do IMC, with @service start|stop.
Anyway - I noticed an issue with the fuzzy matching of object
searches. Basically the system matched for any object whose name
contained the search criterion. This worked fine, except it gives no
precedence to an _exact_ match ... consider this example:
> @create box
> @create box11
> @create box12
> ex box
Despite 'box' being a unique identifier, this returns a multiple-match
error, since the string "box" can in fact be considered a part both of
"box", "box11" and "box12". So there is no way to target box (without
using dbrefs) with this scheme!
I fixed the most commonly used search function, the
local_and_global_search(), to give an exact match precedence (so in
other words, "box" matches since it's unique, but "box1" would match
both "box11" and "box12" since it's not a unique match). So ex and
look etc should work with the above example now.
There are however other search functions in
objects.managers.objects.py that use django's '__in' comparison
method, and I don't know how one would "fix" those in the same way.
Worth to discuss.
.
Griatch