SYNOPSIS

string load_name()
string load_name( object obj)
string load_name( string obj)

DESCRIPTION

Return the load name for the object obj which may be given directly or by its name.

If obj is a clone, return the load_name(E) of obj‘s blueprint. If obj is a blueprint, return the filename from which the blueprint was compiled.

If obj is given by name but not/no longer existing, the function synthesizes the load name as it should be and returns that. If the given name is illegal, the function returns 0.

As a special case, if obj is 0, the function returns 0.

For virtual objects this efun returns the original load_name of the object created by the virtual compiler.

If obj is omitted, the name for the current object is returned.

In contrast to the object_name(E), the load name can not be changed by with rename_object(E) or a virtual compiler. However, if an object uses replace_program(E) the load name no longer reflects the actual behaviour of an object.

The returned name starts with a ‘/’, unless the driver is running in __COMPAT_MODE__.

USAGE

object o;
o = clone_object("/std/thing");

write(load_name(o)); // writes "/std/thing" in !compat mode
                     // and "std/thing"  in compat mode

write(load_name("/std/thing")); // same as above
write(load_name("/std/thing#4n5")); // writes 0

HISTORY

  • introduced (3.2.6)
  • changed (3.2.8) – Strings are accepted as arguments
  • changed (3.2.9) – 0 is accepted as argument