| SYNOPSIS |
| <object|lwobject>* caller_stack() |
| <object|lwobject>* caller_stack(int add_interactive) |
| |
| DESCRIPTION |
| Returns an array of the previous_object()s who caused the |
| call_other() to this_object(). |
| previous_object(i) equals caller_stack()[i]. |
| |
| If you pass the optional argument <add_interactive> (as true value) |
| this_interactive() is appended to the array, or 0 if there is no |
| current interactive. |
| |
| Note: calls to 'alien lfun closures' (see symbol_function(E)) |
| generate two entries on the stack if the bound object differs |
| from the closure object: the first is for the bound object, |
| the second for the closure object. |
| |
| EXAMPLES |
| interactive object A enters a command which causes |
| a call to a function in object B, that one calls a |
| function in object C and that, in turn, in object D |
| |
| If D now calls caller_stack() the result would be: ({C,B}). |
| If it calls caller_stack(1) the result is: ({C,B,A}). |
| |
| HISTORY |
| Introduced in LDMud 3.2.6, suggested by Tubmud. |
| |
| SEE ALSO |
| caller_stack_depth(E), previous_object(E), this_interactive(E), |
| call_other(E) |