diff --git a/doc/efun/snoop b/doc/efun/snoop
index bda2cd5..7428ca2 100644
--- a/doc/efun/snoop
+++ b/doc/efun/snoop
@@ -1,22 +1,25 @@
-GESCHUETZT
 SYNOPSIS
-        int snoop(object snooper)
-        int snoop(object snooper, object snoopee)
+        object snoop(object snooper)
+        object snoop(object snooper, object snoopee)
 
-BESCHREIBUNG
-        Beginnt die Beobachtung des Objekts <snoopee> durch <snooper>. Wenn
-        <snoopee> nicht angegeben wird, werden alle Beobachtungen von
-        <snooper> beendet.
+DESCRIPTION
+        Starts a snoop from 'snooper' on 'snoopee', or if 'snoopee' is not
+        given, terminates any snoop from 'snooper'.
 
-        Die Funktion liefert 1 bei Erfolg, -1 wenn eine Schleife entstehen
-        wuerde und 0 fuer alle anderen Fehler.
+        Return <snoopee> on success, or 0 for a failure (including snooping
+        loops).
 
-        Die Beobachtung wird mit dem Master-Objekt auf Gueltigkeit geprueft.
-        Es wird auch ein Fehler verursacht, wenn eine Beobachtung zu einer
-        Rekursion fuehren wuerde.
+        The snoop is checked with the master object for validity.  It
+        will also fail if a snoop would result in a recursive snoop
+        action.
 
-ANMERKUNGEN
-        Diese Funktion ist geschuetzt.
+        <snooper> can be an interactive player, or an object. If it is
+        an interactive player, the snooped text is prepended with a
+        '%' and send directly to the players connection. If <snooper>
+        is an object, the snooped text is sent in two calls to the
+        object's catch_tell() lfun: the first call passes just the
+        "%" (plus the prompt if the object changed it), the second the
+        actual text.
 
-SIEHE AUCH
-        query_snoop(E)
+SEE ALSO
+        query_snoop(E), catch_tell(A)
