[DGD]compile_object() kfun

Stephen Schmidt schmidsj at union.edu
Tue Mar 13 21:38:22 CET 2001


I got a bug report on Melville, noting that when changes 
were made to add soul commands or add new channels, they
did not take effect when the files were updated; a reboot
was necessary.

Some testing shows that this is the case, but when /obj/spam.c
is modified, the changes do take place. Also if changes are
made to the code of soul_d.c, then updating works.

I observe that adding new soul commands and adding new
channels does not require changing the file being updated
(soul_d.c or channel_d.c, respectively) in any way. In one
case a data file is changed - in the other case, an #included
file is changed.

My theory is that, when DGD compiles an object that is already
loaded, it looks at the time the file was last modified, or
in some other way looks to see if the code has been changed
since the object was first compiled. If not, it aborts the
compile. Or something like that. That explains why when you
make changes outside the file you're updating, updating has
no effect, but when you make changes inside the file you're
updating, it does.

Can anyone confirm or deny? In the latter case, can anyone
propose an alternative hypothesis about what's going on?

Thanks, Steve/Moby


"Nearly every historian, including this one, has concluded that to
say of Gideon J. Pillow that he was the President's law partner was
to sum up his military talents."
                                        K. Jack Bauer







List config page:  http://list.imaginary.com/mailman/listinfo/dgd



More information about the DGD mailing list