diff --git a/doc/efun/m_allocate b/doc/efun/m_allocate
new file mode 100644
index 0000000..255f3b9
--- /dev/null
+++ b/doc/efun/m_allocate
@@ -0,0 +1,46 @@
+SYNOPSIS
+        mapping m_allocate(int size)
+        mapping m_allocate(int size, int width)
+
+BESCHREIBUNG
+        Die Funktion reserviert Speicher fuer ein Mapping. <size> ist die
+        Anzahl Eintraege (d.h. die Anzahl Keys), <width> ist die Anzahl
+        Dateneintraege pro Key. Wird <width> nicht angegeben, werden Keys
+        mit einem Datenelement erzeugt.
+
+        Die Funktion ist nur sinnvoll, wenn man ein Mapping erzeugt, dessen
+        ungefaehre Groesse von vornherein bekannt ist, um so den Overhead
+        von wiederholten Speicherallokation zu minimieren. Wenn nicht alle
+        allozierten Datenelemente mit Daten bestueckt werden, werden die
+        Ueberbleibsel einige Zeit spaeter bei Gelegenheit wieder freigegeben
+        (s. Bemerkungen).
+        m_allocate() ist auch nuetzlich, wenn ein Mapping bestimmter Breite
+        erzeugt werden soll, ohne bereits die Daten zu den Keys bereit zu
+        stellen.
+
+        Wenn bloss ein leeres Mapping bestimmter Breite erzeugt werden soll,
+        so kann folgende Notation verwendet werden:
+
+        ([ ]) : erzeugt ein leeres Mapping mit Breite 1.
+        ([:<width>]) : erzeugt ein leeres Mapping der Breite <width>,
+            wobei <width> eine beliebige Anweisung sein kann, die eine
+            Integerzahl zurueck liefert. Tatsaechlich wird diese Notation
+            als 'm_allocate(0, <width>)' kompiliert.
+
+BEISPIELE
+        m_allocate(3,7) -> erzeugt ein Mapping mit 7 Werten pro Key und Platz
+           fuer 3 Eintraege.
+       ([:2*3]) -> entspricht m_allocate(0,6).
+
+BEMERKUNGEN
+        Ungenutzer Speicher des allozierten Mappins wird waehrend des sog.
+        Kompaktierens des Mappings freigegeben. Dies passiert waehrend eines
+        "data cleanups" oder einer "garbage collection". Die Zeit zwischen
+        "data cleanups" ist mit configure_driver() konfigurierbar.
+
+GESCHICHTE
+        Umbenannt von allocate_mapping() in LDMud 3.2.6.
+        Die ([:<width>]) Notation wurde in 3.2.9 eingefuehrt.
+
+SIEHE AUCH
+        mappings(LPC), walk_mapping(E), get_type_info(E), m_reallocate(E)
