Update doc/efun/ aus Driversourcen.

Manpages der efuns aktualisiert, neue Manpages hinzugefuegt.

Change-Id: I7cc91684269ff56d1aef47d5c5e7c87f7fd531dc
diff --git a/doc/efun/funcall b/doc/efun/funcall
index e507ad6..25900ab 100644
--- a/doc/efun/funcall
+++ b/doc/efun/funcall
@@ -1,15 +1,37 @@
 SYNOPSIS
-        mixed funcall(closure cl, mixed arg, ...)
+        mixed funcall(closure cl, mixed arg ...)
 
-BESCHREIBUNG
-        Wertet die Closure <cl> aus. Die Argumente <args> werden als Argumente
-        an die Closure uebergeben. Wenn <cl> keine Closure ist, wird <cl>
-        zurueck gegeben.
+DESCRIPTION
+        Evaluates the closure. The extra args will be passed as args
+        to the closure. If cl is not a closure, it will simply be
+        returned.
 
-GESCHICHTE
-        Eingefuehrt in 3.2@70.
-        Das Zurueckgeben von <cl>, wenn es sich nicht um eine Closure handelt,
-            auch wenn Argumente angegeben wurden, wurde in 3.2.1 eingefuehrt.
+EXAMPLES
+        mixed eval(object ob, string func, mixed *args)
+        {
+            return funcall(#'call_other, ob, func, args);
+        }
 
-SIEHE AUCH
+        This will result in calling
+
+          ob->func(args).
+
+        In combination with the '...' operator, the functionality
+        of apply() can be implemented:
+
+        mixed eval(object ob, string func, mixed *args)
+        {
+            return funcall(#'call_other, ob, func, args...);
+        }
+
+        will result in calling
+
+          ob->func(args[0],args[1],...,args[sizeof(args)-1]).
+
+HISTORY
+        Introduced in 3.2@70.
+        Returning a non-closure as it is even when args are given was
+        introduced with 3.2.1.
+
+SEE ALSO
         apply(E), quote(E)