<html><head><title>
POO: Bugs & Wishes
</title></head><body><center><h1>
POO Bug & Wish List
</h1>
</center>

<h2>Crashing Bugs</h2>

<ul>
<li><b>Attempting to use the editor on .parents (and possibly other built-in properties) can crash the server</b>, as in this traceback:
<pre>  File "poo.py", line 1883, in gUpdate
    ob.DoUpdate()
  File "poo.py", line 1224, in DoUpdate
    if self._editObj != None: self.doEdit( cmd )
  File "poo.py", line 1303, in doEdit
    if state == 'DONE': self.endEdit(1)
  File "poo.py", line 1317, in endEdit
    setattr( self._editObj, self._editProp, tuple(self._editBuf) )
  File "poo.py", line 755, in __setattr__
    self.setParents(value)
  File "poo.py", line 706, in setParents
    raise "ParamError", `p` + " is not a POO object"
ParamError: '#111' is not a POO object</pre>

<li><b>Crash after abrupt disconnect</b>, with traceback shown here:
<pre>Traceback (innermost last):
  File "poosock.py", line 381, in ?
    NetUpdate() # loop until done
  File "poosock.py", line 239, in NetUpdate
    Disconnect(u,"disconnected")
  File "poosock.py", line 150, in Disconnect
    user.POOuser.Logout()
  File "poo.py", line 1176, in Logout
    del gLocals[self]</pre>

</ul>

<p><hr><h2>Annoying Bugs</h2>
<ul>

<li><b>Can't use 'with' in a page</b> -- a parsing problem, e.g.:
<pre>poo>@page Joe with This is a test with more testing.
Joe with This is a test is not logged in.
</pre>

<li><b>Disconnects sometimes not recognized</b> -- a few times I've found a player apparently logged in but inactive for days; in reality, they dropped the connection long ago, but POO didn't realize it.

</ul>

<p><hr><h2>Cosmetic Bugs</h2>

<ul>

<li><b>Feedback in $wiz.newuser always says "Coder such-and-so"</b>
even when the new user is not, in fact, a Coder.

</ul>

<p><hr><h2>Documentation & Help</h2>
<ul>

<li><b>@describe</b> ought to be listed under "help preferences".

</ul>
<p><hr><h2>Feature Requests</h2>

<ul>
<li><b>Use 're' instead of 'regex'</b> -- the former is preferred as of Python 1.5, though the latter will be around for a while.

<li><b>Use 'cPickle' instead of 'pickle'</b> -- the former is much faster (may not be possible, since you can't override pickling in cPickle as we need to do).

<li><b>Wizards need an @boot command</b> to kick players off the system
(mainly for when they've disconnected, but POO doesn't recognize it).

</ul>

<p><hr>
<address>
http://www.strout.net/python/poo/bugs.html
<br>Last Updated:
9/15/98
. . . . . . <a href="http://www.strout.net/info/personal/">Joe Strout</a>
</address>
</body></html>