Update doc/efun/ aus Driversourcen.

Manpages der efuns aktualisiert, neue Manpages hinzugefuegt.

Change-Id: I7cc91684269ff56d1aef47d5c5e7c87f7fd531dc
diff --git a/doc/efun/first_inventory b/doc/efun/first_inventory
index d571d8c..612b3c8 100644
--- a/doc/efun/first_inventory
+++ b/doc/efun/first_inventory
@@ -3,45 +3,42 @@
         object first_inventory(string ob)
         object first_inventory(object ob)
 
-BESCHREIBUNG
-        Liefert das erste Objekt im Inventory von <obj>, wobei <obj> entweder
-        ein Objekt oder der Name eines Objekts ist. Wenn <obj> nicht angegeben
-        wird, wird standardmaessig this_object() verwendet.
+DESCRIPTION
+        Get the first object in the inventory of ob, where ob is
+        either an object or the file name of an object. If ob is not
+        given, the current object is assumed.
 
-BEISPIELE
-        Diese Efun verwendet man am haeufigsten im folgenden Kontext:
+EXAMPLES
+        This efun is mostly used in the following context:
 
-            for(obj=first_inventory(container);obj;obj=next_inventory(obj))
-            {
-                <irgendwelcher Code>
-            }
+        for(ob=first_inventory(container);ob;ob=next_inventory(ob)) {
+           <some actions>
+        }
 
-        Wer solche Aufrufe haeufig verwendet, findet es moeglicherweise
-        sinnvoll, ein Praeprozessor-Makro zu verwenden:
+        If you use such calls frequently then it would be very useful
+        to use a preprocessor macro:
 
-            #define FORALL(x, y) for(x=first_inventory(y);x;
-                x=next_inventory(x))
+        #define FORALL(x, y) for(x=first_inventory(y);x;x=next_inventory(x))
 
-        Damit vereinfacht sich das obige Beispiel zu:
+        So the above example could be written like this:
 
-            FORALL(obj, container)
-            {
-                <irgendwelcher Code>
-            }
+        FORALL(ob, container) {
+           <some actions>
+        }
 
-        ACHTUNG: Wenn das Objekt <obj> innerhalb von <irgendwelcher Code>
-        bewegt wird, liefert next_inventory() ein Objekt aus dem neuen
-        Inventory von <obj>. Auch sollte next_inventory() nicht fuer
-        zerstoerte Objekte <obj> aufgerufen werden. Fuer den Fall, dass
-        <obj> bewegt und/oder zerstoert wird, ist folgende Loesung
-        vorzuziehen:
+        Warning: If the object ob is moved inside <some actions>, then
+        next_inventory() will return an object from the new inventory
+        of ob. You also shouldn't call next_inventory() on destructed
+        objects. So in case of move and/or destruction the following
+        is a better solution:
 
-            for(obj=first_inventory(container);obj;)
-            {
-                next=next_inventory(obj);
-                <irgendwelcher Code mit Moves oder Removes>
-                obj=next;
-            }
+        for(ob=first_inventory(container);ob;) {
+           next=next_inventory(ob);
+           <some actions and moves and/or removes>
+           ob=next;
+        }
 
-SIEHE AUCH
-        next_inventory(E), all_inventory(E), environment(E), deep_inventory(E)
+
+SEE ALSO
+        next_inventory(E), all_inventory(E), environment(E),
+        deep_inventory(E)