Update auto-erzeugter Manpages.

Change-Id: Iff30c40e141bb8f9b1f82e4763272504881375fc
diff --git a/doc/lfun/AddInfo b/doc/lfun/AddInfo
index 193e407..c684fe0 100644
--- a/doc/lfun/AddInfo
+++ b/doc/lfun/AddInfo
@@ -23,8 +23,8 @@
       Schluesseltext(e) auf die Informationen gegeben werden sollen.
 
    string/closure meldung
-      Information, die gegeben werden soll/Closure Bekommt nichts
-      uebergeben.
+      Information, die gegeben werden soll; wenn 'meldung' eine
+      Closure ist, wird der gerufenen Funktion nichts uebergeben.
 
    string indent
       Text, der sich bei mehrzeiligen Meldungen wiederholen soll.
@@ -62,7 +62,9 @@
    Silent:
       Bei 'silent'==1 erfolgt keine Textausgabe der Antwortmeldung im
       Raum, ist 'silent' ein String, so wird jener an alle anderen
-      Spieler ausser dem Fragesteller im Raum ausgegeben.
+      Spieler ausser dem Fragesteller im Raum ausgegeben. Dem
+      ausgegebenen Text wird der Name des NPCs als Indent
+      vorangestellt.
 
    Casebased:
       Die als Closure angegebene Methode entscheidet, ob oder wie der
@@ -106,9 +108,9 @@
        "Ich habe zwar kein Geld, aber [...] blablabla [...]",
        "sagt: ");
    AddInfo("muenzen",
-       "fluestert: Du willst Geld?",
+       "fluestert: Du willst Geld?\n",
        0,
-       "fluestert @WEM1 etwas zu.");
+       "fluestert @WEM1 etwas zu.\n");
 
    // "frage monster nach geld": alle im Raum hoeren
    //  Das Monster sagt: Ich habe zwar kein Geld, aber [...]
@@ -148,7 +150,7 @@
 
    AddInfo(({"keks","kekse"}),
        #'query_kekse,"        // ein Verweis auf die Funktion
-       sagt: ",
+       "sagt: ",
        0,                     // nicht silent :)
        #'case_fighting);      // noch ein Funktionsverweis
 
@@ -185,50 +187,58 @@
    protected string question_gold() {
      // wieviel Kohle hat der Spieler
      int money = this_player()->QueryMoney();
-     string* y = map(deep_inventory(this_player()),
-                   function string(object o) {
-                     if(o->QueryMaterial(MAT_GOLD)>0 &&
-                        strstr(object_name(o),"/items/money")<0 &&
-                        o->QueryProp(P_NAME))
-                       return o->name(WER,1);
-                   })-({0});
+     string* valuables = ({});
+
+     // Wertgegenstaende suchen, d.h. Material kein Gold,
+     // Objekt kein Geld, und auch nicht unsichtbar
+     foreach(object o : deep_inventory(this_player()))
+     {
+       if ( o->QueryMaterial(MAT_GOLD)>0 &&
+            load_name(o) != "/items/money" &&
+            o->QueryProp(P_SHORT) &&
+            !o->QueryProp(P_INVIS) )
+       {
+         valuables += ({o->Name(WER,1)});
+       }
+     }
 
      // das geht an alle anderen im Raum, silent bietet sich hier
      // nicht an, weil es mehrere Moeglichkeiten gibt
      send_room(environment(),
-       (Name(WER,1)+" murmelt "+
-        this_player()->name(WEM,1)+
-        " etwas zu"+
-        ((money || sizeof(y))?
-          " und glotzt "+this_player()->QueryPronoun(WEN)+" gierig an.":
-          ".")),
+       sprintf("%s murmelt %s etwas zu%s.",
+               Name(WER,1),
+               this_player()->name(WEM,1),
+               (money || sizeof(valuables))?
+                 " und glotzt "+this_player()->QueryPronoun(WEN)+
+                 " gierig an" : ""),
        MT_LOOK|MT_LISTEN,
        MA_EMOTE, 0, ({this_player()}));
 
-     // und hier die Antwort an den Spieler selbst, mit vielen
-     // Verzweigungen fuer dessen Besitztum
-     return("Ich hab kein Gold bei mir."+
-       ((money || sizeof(y))?
-         " Aber du "+
-         (money?
-           "hast ja jede Menge Kohle bei dir, so etwa "+money+
-           " Muenzen."+
-           (sizeof(y)?
-             " Ausserdem "+
-             ((sizeof(y)==1)?"ist":"sind")+
-             " auch noch "+CountUp(y)+" aus Gold.":
-             ""):
-           (sizeof(y)?"hast ja ein paar Wertsachen dabei: "+
-           CountUp(y)+
-           (sizeof(y)==1?" ist":" sind")+
-           " aus Gold.":"")):
-         ""));
+     // Und hier die Antwort an den Spieler selbst, mit diversen
+     // Verzweigungen fuer dessen Besitztum.
+     string reply = "Ich hab kein Gold bei mir.";
+     string verb = sizeof(valuables) ? "ist" : "sind";
+     if ( money )
+     {
+       reply += " Aber Du hast ja jede Menge Kohle bei dir, so etwa "+
+                money+" Muenzen.";
+       if ( sizeof(valuables) )
+         reply += sprintf(" Ausserdem %s auch noch %s aus Gold.",
+                    verb, CountUp(valuables));
+     }
+     else if ( sizeof(valuables) )
+     {
+         reply += sprintf(
+           " Aber Du hast ja ein paar Wertsachen dabei: %s %s aus Gold.",
+           CountUp(valuables), verb);
+     }
+     return reply;
    }
 
    // "frage monster nach gold"
    // - der Fragesteller hoert zB:
-   //   Das Monster murmelt: Ich hab kein Gold bei mir. Aber du hast ja
-   //   Das Monster murmelt: jede Menge Kohle bei dir, so etwas <number>
+   //   Das Monster murmelt: Ich hab kein Gold bei mir. Aber Du hast ja
+   //   Das Monster murmelt: jede Menge Kohle bei Dir, so etwa <number>
    //   Das Monster murmelt: Muenzen. Ausserdem ist/sind noch <object1>
    //   Das Monster murmelt: und <object2> aus Gold."
    // - die Umstehenden hoeren:
diff --git a/doc/props-liste b/doc/props-liste
index 745a671..d62564f 100644
--- a/doc/props-liste
+++ b/doc/props-liste
@@ -796,6 +796,8 @@
 
 * P_TEAM_WIMPY_ROW
 
+* P_TELNET_KEEPALIVE_DELAY
+
 * P_TELNET_RTTIME
 
 * P_TESTPLAYER
diff --git a/doc/props/P_SYNTAX_HELP b/doc/props/P_SYNTAX_HELP
index 1d1cb67..a4f4cdf 100644
--- a/doc/props/P_SYNTAX_HELP
+++ b/doc/props/P_SYNTAX_HELP
@@ -6,8 +6,7 @@
 NAME
 ====
 
-   P_SYNTAX_HELP
-      "lib_p_syntax_help"
+   P_SYNTAX_HELP                        "lib_p_syntax_help"
 
 
 DEFINIERT IN
@@ -24,8 +23,10 @@
    angezeigt, wenn der Spieler das Kommando "syntaxhilfe <objekt>"
    eingibt. Die Property kann verschiedene Datenstrukturen enthalten:
 
-   1) ein String Der String wird angezeigt, hierbei ggf. umgebrochen,
-   vorhandene Zeilenumbrueche werden beibehalten.
+   1. ein String:
+
+   Der String wird angezeigt, hierbei ggf. umgebrochen, vorhandene
+   Zeilenumbrueche werden beibehalten.
 
    2. ein Array: ({hilfetext, bedingungen})
 
diff --git a/doc/props/P_TELNET_KEEPALIVE_DELAY b/doc/props/P_TELNET_KEEPALIVE_DELAY
new file mode 100644
index 0000000..6c91627
--- /dev/null
+++ b/doc/props/P_TELNET_KEEPALIVE_DELAY
@@ -0,0 +1,45 @@
+
+P_TELNET_KEEPALIVE_DELAY
+************************
+
+
+NAME
+====
+
+   P_TELNET_KEEPALIVE_DELAY "p_lib_telnet_alive_delay"
+
+
+DEFINIERT IN
+============
+
+   <player/telnetneg.h>
+
+
+BESCHREIBUNG
+============
+
+   In dieser Property kann der zeitliche Abstand zwischen zwei
+   Aussendungen der "Telnet Timing Mark", welche fuer das Telnet keep-
+   alive benutzt wird, bestimmt werden. Die Angabe ist in Heartbeats.
+   Eine 0 fuehrt zu einer Standardverzoegerung (zur Zeit 240 s).
+
+   Wenn diese Property in einem Magier (oder Spieler) gesetzt wird,
+   sollte experimentell ermittelt werden, welcher Wert sinnvoll ist.
+   Dies kann z.B. dadurch erfolgen, dass von 120 (Heartbeats) eine
+   stufenweise Reduktion erfolgt, bis kein Disconnect mehr erfolgt.
+   Helfen sehr niedrige Werte nicht, sollte die Verzoegerung wieder
+   erhoeht werden bzw. das Keepalive ganz abgeschaltet werden.
+
+
+BEMERKUNGEN
+===========
+
+   Die Property sollte nicht auf weniger als 30 gesetzt werden.
+
+
+SIEHE AUCH
+==========
+
+   *../pcmd/telnet*
+
+25.07.2019, Zesstra
diff --git a/doc/wiz/homemud b/doc/wiz/homemud
index cd23d87..2f703c3 100644
--- a/doc/wiz/homemud
+++ b/doc/wiz/homemud
@@ -11,7 +11,8 @@
    Distribution abweichen):
 
    libjson0/json-c, libssl, libsqlite3, libpcre3, libxml2, libgcrypt,
-   libpcre3, libiconv
+   libpcre3, libiconv (diese ist bei neueren Distributionen in
+   libc6-dev enthalten).
 
    Beachte, dass man auf debianbasierten System auch die
    entsprechenden Entwicklerpackete (**-dev*) mitinstallieren muss,
@@ -22,7 +23,7 @@
 =======================================
 
    Mit den folgenden Schritten installiert man die gegenwaertige
-   mudlib und einen Driver der Version LDMUD-3.5.x.
+   mudlib und einen Driver der Version LDMUD-3.5.x (x < 99).
 
    1. Lade den aktuellen Driver unter
       https://github.com/ldmud/ldmud herunter. Du kannst auch das Repo
@@ -56,22 +57,30 @@
       "ldmud <port>" kannst Du auch den Port bestimmten, auf welchem
       das Homemud laeuft.
 
-   Optional kannst Du noch den Namen des Mudgottes von Jof auf etwas
-   anderes aendern, das geht wie folgt:
+   9. Einloggen als "jof".
 
-     mv save/j/jof.o save/t/thomas.o
-     mv secure/save/j/jof.o secure/save/t/thomas.o
+   Optional kannst Du *anschliessend* den Namen des Mudgottes von Jof
+   auf etwas anderes aendern, das geht wie folgt:
+
+     clone /obj/tools/MGtool
+     xcall $me->SetProp(P_START_HOME, "/players/thomas/workroom");
+     ende
+
+   Auf der Shell:
+
+     mv data/save/j/jof.o data/save/t/thomas.o
+     mv data/secure/save/j/jof.o data/secure/save/t/thomas.o
      # (beachte den Namen des Unterverzeichnisses, es ist der erste Buchstabe
      # Deines Namens. )
-     sed -i 's/jof/thomas/' secure/save/t/thomas.o
+     sed -i 's/jof/thomas/' data/secure/save/t/thomas.o
      mkdir -p players/thomas
      mv players/jof/workroom.c players/thomas/workroom.c
 
-   Nachdem Login muss man nun noch den Workroom anpassen:
-
-   clone /obj/tools/MGtool
-   xcall $me->SetProp(P_START_HOME, "/players/thomas/workroom");
-   save
+   Beachte hierbei allerdings, dass in Homemuds immer automatisch
+   sichergestellt wird, dass "Jof" existiert. Falls noetig, wird diesr Char
+   ohne Passwort angelegt. Ist Dein Homemud erreichbar, gibt "jof" bitte ein
+   Passwort und lasse den Char bestehen. (Alternativ muss Du das File
+   /secure/testmud.c anpassen.)
 
 
 Beispielinstallation
@@ -91,23 +100,9 @@
    # Alternative
    git clone https://mg.mud.de/gerrit/mudlib-public mudlib
    cd <mudhome>
-   cd <mudlib>
-   mv save/j/jof.o save/t/thomas.o
-   mv secure/save/j/jof.o secure/save/t/thomas.o
-   # (beachte den Namen des Unterverzeichnisses, es ist der erste Buchstabe
-   # Deines Namens. )
-   sed -i 's/jof/thomas/' secure/save/t/thomas.o
-   mkdir -p players/thomas
-   mv players/jof/workroom.c players/thomas/workroom.c
    bin/ldmud
    # oder
    bin/ldmud -m <alternative path to mudlib> <alternative port>
+   # Einloggen als Jof.
 
-Nachdem Login muss man nun noch den Workroom anpassen:
-
-   clone /obj/tools/MGtool
-   xcall $me->SetProp(P_START_HOME, "/players/thomas/workroom");
-   save
-
-Letzte Aenderung: 2018-12-09 von Deaddy (auf Basis von Zesstras engl.
-Anleitung)
+Letzte Aenderung: 2019-07-31 Zesstra