Update doc/efun/ aus Driversourcen.
Manpages der efuns aktualisiert, neue Manpages hinzugefuegt.
Change-Id: I7cc91684269ff56d1aef47d5c5e7c87f7fd531dc
diff --git a/doc/efun/include_list b/doc/efun/include_list
index 2c14554..d251be9 100644
--- a/doc/efun/include_list
+++ b/doc/efun/include_list
@@ -5,77 +5,79 @@
string * include_list(object|lwobject ob)
string * include_list(object|lwobject ob, int flags)
-BESCHREIBUNG
- Diese Funktion liefert Informationen ueber alle Dateien, die bei der
- Kompilierung von <ob> in dieses Objekt eingebunden wurden, inklusive
- den Programmnamen von <ob>. Wird <ob> nicht angegeben, wird
- standardmaessig das aktuelle Objekt verwendet.
- Im resultierenden Array besteht die Information zu einem Includefile
- aus drei Elementen:
- - string [i+0]: der Name des Includefiles, wie er im Programm
- auftaucht, inklusive den Trennzeichen wie " " oder
- < >.
- - string [i+1]: der absolute Dateipfad des Includefiles.
- - int [i+2]: die Tiefe der Inklusion (gewoehnlich 1, fuer
- verschachtelte Includes auch groesser als 1)
+DESCRIPTION
+ Return information about all files included into the compilation
+ of <ob>, including <ob> program's own filename.
+ If <ob> is omitted, it defaults to the current object.
- Der erste Eintrag im Resultat ist der Name des Programmes selbst in
- [i+0], die anderen beiden Elemente [i+1] und [i+2] sind 0.
+ In the resulting array(s), the information for one include file takes
+ up three elements:
- <flag> bezeichnet die Struktur des Ergebnisses:
- - <flag> = INCLIST_FLAT (0, Standard):
- Das Resultat ist ein flaches Array. Der erste Eintrag bezeichnet
- <ob> selbst, die restlichen Eintraege bezeichnen alle Includefiles
- in der Reihenfolge, in der sie auftreten.
- - <flag> = INCLIST_TREE (1):
- Das Resultat ist ein Array, dessen erster Eintrag das Objekt <ob>
- selbst bezeichnet. Alle folgenden Eintraege bezeichnen die
- Includefiles von <ob>. Wenn ein Includefile von <ob> selbst keine
- Includefiles hat, wird seine Information direkt im Array
- gespeichert. Fuer verschachtelte Includefiles wird ein Untervektor
- erzeugt und dann in diesem Untervektor abgespeichert (wiederum
- in [i+0], [i+1] und [i+2] sind 0). Diese Untervektoren haben
- die gleiche Struktur wie das Resultatarray.
+ string [i+0]: the name as it appeared in the program, including the
+ delimiters ("" or <>, resp.).
+ string [i+1]: the absolute filename of the include file.
+ int [i+2]: the inclusion depth (usually 1, more for nested
+ includes).
- Wenn ein Objekt inklusive <ob> einem replace_program() unterworfen
- war, spiegeln die gelieferten Dateinamen das effektiv aktive Programm
- wider.
+ The first entry in the result is the program's own name in [i+0],
+ the other two elements [i+1] and [i+2] are 0.
- Die Includepfade, die geliefert werden, beginnen immer mit '/'
- (absolute Pfade), auch wenn der Treiber im COMPAT Modus laeuft.
- Trotzdem beginnt der tatsaechliche Dateiname nicht mit einem '/',
- wenn der Treiber im COMPAT Modus laeuft.
+ The <flag> determines the exact structure of the result:
+
+ <flag> = INCLIST_FLAT (0, default):
+ The result is a flat array of the entries, starting the with
+ the entry for <ob> itself, followed by the entries for all
+ included files in the order they were encountered.
+
+ <flag> = INCLIST_TREE (1):
+ The result is an array starting the with the entry
+ of <ob> itself, followed by the entries for all directly included
+ files. If one of the included files has no nested includes by itself,
+ then its information will be stored directly in the array.
+ If one included file has includes by itself, a subvector will
+ be created and stored in the result vector (again in [i+0], with
+ [i+1] and [i+2] being 0). These subvectors have the same
+ structure as the main result vector.
+
+ If objects, including <ob>, had been undergone a replace_program(),
+ the returned filenames will reflect the actual active program.
+
+ The returned proper include filenames always begin with '/' (absolute
+ path), even when the parser runs in COMPAT mode. The filename of
+ the object itself however does not begin with a '/' in COMPAT
+ mode.
-BEISPIELE
- Dieser Code erzeugt (mit /sys als Includeverzeichnis des Systems):
+EXAMPLES
+ Given this source code (and /sys as system include directory):
- a.c: #include "b.h"
- #include <c.h>
- b.h: #include "d.h"
- c.h: #define BAR
- d.h: #define FOO
+ a.c: #include "b.h"
+ #include <c.h>
+ b.h: #include "d.h"
+ c.h: #define BAR
+ d.h: #define FOO
- Die Efun liefert drei Resultate:
+ the efun will give these results:
- include_list(a, INCLIST_FLAT)
+ include_list(a, INCLIST_FLAT)
-> ({ "a.c", 0, 0
, "\"b.h\"", "/.../b.h", 1
, "\"d.h\"", "/.../d.h", 2
, "<c.h>", "/sys/c.h", 1
})
- include_list(a, INCLIST_TREE)
- -> ({ "a.c", 0, 0
- , ({ "\"b.h\"", "/.../b.h", 1
- , "\"d.h\"", "/.../d.h", 2
- }), 0, 0
- , "<c.h>", "/sys/c.h", 1
- })
+ include_list(a, INCLIST_TREE)
+ -> ({ "a.c", 0, 0
+ , ({ "\"b.h\"", "/.../b.h", 1
+ , "\"d.h\"", "/.../d.h", 2
+ }), 0, 0
+ , "<c.h>", "/sys/c.h", 1
+ })
-GESCHICHTE
- Eingefuehrt in LDMud 3.2.9, 3.3.128.
-SIEHE AUCH
+HISTORY
+ Implemented in LDMud 3.2.9/3.3.128.
+
+SEE ALSO
debug_info(E), inherit_list(E)