[1053] in Coldmud discussion meeting
Re: [COLD] Coldcc - Eyow!
daemon@ATHENA.MIT.EDU (Mon Jul 29 11:42:46 1996
)
Date: Mon, 29 Jul 1996 09:23:30 -0600 (MDT)
From: Brandon Gillespie <brandon@tombstone.sunrem.com>
To: Dancer <dancer@brisnet.org.au>
cc: coldstuff@cold.org
In-Reply-To: <31FCC439.45F4E8C6@brisnet.org.au>
On Tue, 30 Jul 1996, Dancer wrote:
> Brandon suggested changing the 'new' keyword, for 'old' in the dump. I
> hadn't thought of that, and felt like a bit of a twerp for _not_
> thinking of it.
Ack, no! I said get rid of 'new', dont use 'old'. 'new' deletes and
creates a new object, old just deletes and leaves it be.
Hehe.
> In short:
> * 'old $objname' automatically deleted $objname, before proceeding. I
> felt this was not what was intended.
Yes, it was.. the following behavior is legit:
new object $foo: $root; // deletes existing $foo, creates new $foo,
// must always have parents list defined.
old object $foo; // simply deletes $foo
object $foo; // set '$foo' as the current object.
// if used with a parents list, will try to
// create $foo as a new object if it does not
// exist.
> * Objects would get instantiated (eg: $mail_message_148), and then a
> little while later, coldcc could not retrieve the object by number. This
> I haven't looked into. I punted, and forced it to create a new object. I
> wanted a running database more than a fix just then. (see my goto,
> above).
Hrm, which specifyer were you using? new/old/none?
> * In data/object.c, object_has_ancestor() can get called with an objnum
> of -1. This is not good. This tends to happen because the 'old'
> declaration deleted the object, instants before we try to do this. You
> can figure this patch out for yourself. Interestingly, I _think_ this
> routine is still called with the bad object number from time to time on
> partial compiles _anyway_. This hints at another bug, that I didn't go
> looking for. (as if the previous thing didn't. Hah.)
>
> No patches, sorry. I'll email a copy of the hacked textdb.c to Brandon
> for him to have a look at. The rest of you wait. It's not a pretty
> sight, what I've done to this code. Things like this shouldn't be
> inflicted on poor innocent software.
8)
-Brandon