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