[202] in Coldmud discussion meeting
names/dbrefs/etc
daemon@ATHENA.MIT.EDU (Sun Apr 3 07:34:00 1994
)
From: deforest@netcom.com (Robert de Forest)
To: coldstuff@MIT.EDU
Date: Sun, 3 Apr 1994 04:33:05 -0700 (PDT)
There have been questions about names, dbrefs, and the like. I was under the
impression that $root was the dbref for the object who's pointer was #1. Is
this not correct? Or was this another version? I know one thing: $foo is
now a cosmetic shell to #xxx, since merly evalling $foo may be an error
(~namenf), while the 'pointer' is always ok, though not necessarily valid.
I know Greg went through some work to make it so you could change objects'
"names". This in fact led to the Segv problem I found the fix for, I believe.
It used to be that $foo was like 'foo, but the .type was ID_DBREF instead of
ID_SYMBOL or whatever. Now it's associated with a pointer in a table of names
and stored as a long. Ah, progress... :)
Anyway, my recolection (unresearched) is that $foo is a dbref, and #0 is a
pointer. When $foo is evaled it is turned into a pointer if possible. I guess
$foo is shorthand for (get_name('foo)) or something. I would not be
complaining about the names of the root parameter which stores the symbol
which is used to identify an object, and the server builtins which manipulate
the lookup table too much if I were one of those people who complained about
not being able to rename objects without re-creating them.
And I'm not.
Crag / Robert de Forest
Gosh, some people aren't satisfied when they get a simple server with no
built-in references to players and wizards, multiple-inheritance, speed,
security, un-restricted network access (buffers, connect()), ...
What is this world coming to?