Update doc/efun/ aus Driversourcen.
Manpages der efuns aktualisiert, neue Manpages hinzugefuegt.
Change-Id: I7cc91684269ff56d1aef47d5c5e7c87f7fd531dc
diff --git a/doc/efun/exec b/doc/efun/exec
index 10a320a..7df1df5 100644
--- a/doc/efun/exec
+++ b/doc/efun/exec
@@ -1,40 +1,39 @@
-GESCHUETZT
SYNOPSIS
int exec(object new, object old)
-BESCHREIBUNG
- exec() schaltet die Verbindung um vom interaktiven Objekt <old> zum
- Objekt <old>. Wenn <new> ebenfalls interaktiv ist, wird dessen
- Verbindung zum Objekt <old> uebertragen, die Verbindungne von <old>
- und <new> werden also ausgetauscht. Wenn <new> nicht interaktiv ist,
- ist <old> nach der Ausfuehrung von exec() nicht mehr interaktiv.
+DESCRIPTION
+ exec() switches the connection from the interactive object old
+ to the object new. If the new object is also interactive, it's
+ connection will be transferred to the old object, thus
+ exchaning the two connections between the object. If the new
+ object is not interactive, the old will not be interactive
+ anymore after the exec call succeeded.
- Das Resultat von exec() ist 1 bei Erfolg, 0 sonst.
+ The result is 1 on success, and 0 on failure.
- exec() wird verwendet, um unterschiedliche "user objects" zu laden
- oder um User mit totem Netz wieder zu verbinden.
+ exec() is used to load different "user objects" or to reconnect
+ link dead users.
- Um Sicherheitsmechanismen zu gewaehrleisten, wird im Masterobjekt
- valid_exec(<laufendes Programm>, <new>, <old>) aufgerufen. Dieser
- Aufruf muss etwas von 0 verschiedenes liefern, um den Aufruf von
- exec() zu erlauben.
+ To provide security mechanisms, the interpreter calls
+ master->valid_exec(current_program, new, old), which must
+ return anything other than 0 to allow this exec() invocation.
- Wenn <old> this_player() war, enthaelt this_player() nach dem Aufruf
- von exec() <new> und umgekehrt. Gleiches gilt fuer this_interactive().
+ After the exec(), if arg 2 was this_player(), this_player()
+ becomes arg 1, else vice versa. Ditto for this_interactive().
- Vorsicht ist geboten, wenn eine simul-efun() um exec() herum gebaut
- wird: das <laufende Programm>, das an valid_exec() uebergeben wird,
- ist das simul-efun Objekt. Um dieses Problem zu umgehen, kann mittels
- bind_lambda() #'exec an das richtige Objekt gebunden und anschliessend
- mit funcall() aufgerufen werden.
+ Take care when writing a simul-efun around exec(): the
+ 'current_program' passed to the valid_exec() function will be
+ that of the simul-efun object. To get around this, use
+ bind_lambda() to bind #'exec to the real object and funcall()
+ the resulting closure.
-BEISPIELE
+EXAMPLES
ob = clone_object("std/player");
exec(ob, this_object());
destruct(this_object());
-GESCHICHTE
- LDMud 3.2.9 fuehrte den Austauschprozess fuer this_interactive() ein.
+HISTORY
+ LDMud 3.2.9 added the switchover of this_interactive().
-SIEHE AUCH
+SEE ALSO
connect(M), disconnect(M), logon(A), interactive(E)