| SYNOPSIS |
| string program_name() |
| string program_name(object|lwobject obj) |
| |
| DESCRIPTION |
| Returns the name of the program of <obj>, resp. the name of the |
| program of the current object if <obj> is omitted. |
| |
| The returned name is usually the name from which the blueprint |
| of <obj> was compiled (the 'load name'), but changes if an object |
| replaces its programs with the efun replace_program(). |
| |
| As a special case, if <ob> is passed as 0, the function will |
| return 0. |
| |
| The name always ends in '.c'. It starts with a '/' unless the |
| driver is running in COMPAT mode. |
| |
| CAVEAT: This efun swaps in the program if it is swapped out. |
| |
| EXAMPLES |
| object o; |
| o = clone_object("/std/thing"); |
| write(program_name(o)); --> writes "/std/thing.c" in !compat mode |
| and "std/thing.c" in compat mode |
| |
| HISTORY |
| Introduced in LDMud 3.2.6. |
| LDMud 3.2.9 allowed a 0 argument. |
| |
| SEE ALSO |
| clone_object(E), clonep(E), load_name(E), load_object(E), |
| object_name(E), replace_program(E) |