diff --git a/doc/efun/sha1 b/doc/efun/sha1
index 4fe4f06..a8ad455 100644
--- a/doc/efun/sha1
+++ b/doc/efun/sha1
@@ -1,33 +1,34 @@
+OBSOLETE
 SYNOPSIS
-        string sha1(string arg [, int iterations])
-        string sha1(bytes  arg [, int iterations])
-        string sha1(int *  arg [, int iterations])
+        string sha1(string arg [, int iterations ])
+        string sha1(bytes  arg [, int iterations ])
+        string sha1(int  * arg [, int iterations ])
 
-BESCHREIBUNG
-        Berechnet den SHA1-Hashwert von <arg>.
-        Das Argument kann ein String, eine Bytefolge oder ein Array von
-        Zahlen sein (die als Folge von Bytes betrachtet wird, wobei
-        immer nur die untersten 8 Bits Verwendung finden). Falls ein String
-        uebergeben wurde, so wird dieser in eine UTF-8-Bytefolge konvertiert
-        und davon der Hash berechnet.
+DESCRIPTION
+        Create and return a SHA1 message digest from <arg>.
+        <arg> may be a string, a byte sequence, or an array of numbers
+        (each considered to be a byte, ignoring all but the lowest 8 bits).
+        A string is converted to a UTF-8 byte sequence of which then the
+        digest will be created.
 
-        Ist das <iterations> Argument eine Zahl groesser 0, berechnet der
-        Driver den Digest mit diese Anzahl an Wiederholungen. Fehlt die
-        Angabe, fuehrt der Driver die Digest-Berechnung einmal aus.
-        
-        Jede Iteration kostet 5 Evalution-Ticks.
+        If <iterations> is given as a number greater than 0, it is
+        the number of iterations used in the digest calculation. If omitted,
+        the driver executes just one iteration.
 
-BEISPIELE
+        The efun costs 5 ticks per iteration.
+
+EXAMPLES
         string s;
 
         s = sha1("Hello");
         s = sha1( ({ 'H', 'e', 'l', 'l', 'o' })
 
-GESCHICHTE
-        Eingefuehrt in LDMud 3.3.523.
-        LDMud 3.3.712 fuehrte Zaehlenarrays als Argument ein.
-        LDMud 3.3.717 fuehrte die Iterations-basierte Evaluationskosten ein.
-        Seit LDMud 3.3.719 abgeloest durch hash().
+HISTORY
+        Introduced in LDMud 3.3.523.
+        LDMud 3.3.712 added number arrays as argument, and the number
+          of iterations.
+        LDMud 3.3.717 added the iteration-based evaluation cost.
+        Since LDMud 3.3.719 obsoleted by hash().
 
-SIEHE AUCH
-        crypt(E), md5(E)
+SEE ALSO
+        crypt(E), md5(E), md5_crypt(E), hash(E), hmac(E)
