diff --git a/doc/efun/caller_stack b/doc/efun/caller_stack
new file mode 100644
index 0000000..d1b5777
--- /dev/null
+++ b/doc/efun/caller_stack
@@ -0,0 +1,33 @@
+SYNOPSIS
+        *object caller_stack();
+        *object caller_stack(int add_interactive);
+
+BESCHREIBUNG
+        Liefert ein Array der previous_object(), die einen call_other() auf
+        this_object() verursacht haben. Dabei entspricht previous_object(i)
+        caller_stack()[i].
+
+        Wenn die Funktion mit <add_interactive> (als wahr) aufgerufen wird,
+        wird this_interactive() dem Array hinzugefuegt, oder 0, wenn kein
+        this_interactive() existiert.
+
+BEISPIEL
+        Das interaktive Objekt A gibt ein Kommando ein, das im Objekt B eine
+        Funktion aufruft, die auf das Objekt C verweist, welches wiederum
+        eine Funktion im Objekt D aufruft.
+
+        Wenn D nun caller_stack() aufruft, ergibt dies: ({C,B}).
+        Fuer caller_stack(1) ergibt die Funktion: ({C,B,A}).
+
+AENDERUNGEN
+        Eingefuehrt in LDMud 3.2.6, vorgeschlagen von TubMud.
+
+ANMERKUNG
+        Aufrufe von "alien lfun closures" (vergleiche symbol_function())
+        erzeugen zwei Eintraege im Stack, wenn das gebundene Objekt sich vom
+        Objekt der Closure unterscheidet: der erste Eintrag steht fuer das
+        gebundene Objekt, der zweite fuer das Closure-Objekt.
+
+SIEHE AUCH
+        caller_stack_depth(E), previous_object(E), this_interactive(E),
+        call_other(E)
