Added public files
Roughly added all public files. Probably missed some, though.
diff --git a/obj/tools/lisp/lisp.help b/obj/tools/lisp/lisp.help
new file mode 100644
index 0000000..e4d1f3e
--- /dev/null
+++ b/obj/tools/lisp/lisp.help
@@ -0,0 +1,81 @@
+NAME:
+ *** KNETE ***
+
+BESCHREIBUNG:
+ Die Knete ist ein in LPC geschriebener Lisp-Interpreter. Dieser hat
+ die besondere Eigenschaft, die Lisp-Quellen direkt in den vom
+ Amylaar GameDriver angebotenen closures zu uebersetzen. Dadurch ist
+ mit der Knete alles das moeglich, was auch mit LPC moeglich ist.
+ Es ist ein generisches, frei programmierbares Hilfsmittel.
+
+ Die Knete befindet sich unter: "/obj/tools/lisp"
+
+FUNKTIONSBESCHREIBUNG:
+ Die Knete kann im Prinzip fast alles, was ein einfacher Lisp-
+ Interpreter kann. Ausnahmen sind Tupel (Bsp: (1 . 2)), welche nicht
+ implementiert sind. Die Grundlegenden Funktionen, wie define, setq,
+ cons, cdr, car etc werden beim Laden der Knete angezeigt. Je nach
+ Zeit, werden eventuelle auch weitere Standardfunktionen hinzu-
+ kommen, um die Knete moeglichst common-lisp kompatibel zu machen.
+
+BENUTZUNG:
+ Zu allererst sollte man wissen, dass dies hier keine Einfuehrung in
+ Lisp ist oder sein soll! Die wichtigsten Merkmal der Knete werden
+ aufgefuehrt an einigen kleinen Beispielen. Wer Lisp kennenlernen
+ moechte kann dies mit den handelsueblichen Buechern tun.
+
+ Wer dennoch basteln moechte: Lisp ist eine Sprache in Prefixnotation,
+ d.h. der Funktionsname steht immer als erstes und dann kommen die
+ Argumente. Ein Ausdruck ist mit den ihn umgebenden Klammern komplett.
+ Beispiel: (+ 1 1) ;;; errechnet die Summe aus 1 und 1
+ Solche Klammerausdruecke koennen beliebig geschachtelt werden.
+ Beispiel: (+ 1 (+ (+ 1 1) 1))
+
+ Es stehen alle efuns, sowie einige lfuns zur Verfuegung! Zu den efuns
+ gehoeren auch +,-,*,/,%,!,[,[<,[<.. etc, also alle Operatoren von LPC.
+
+ Die Knete hat zwei Modi:
+ a) Laden von Lisp aus einer Datei
+ b) Verarbeiten von Eingaben aus der Kommandozeile
+
+ Zu a)
+ Mit der Funktion "load" koennen Dateien eingelesen und interpretiert
+ werden. Die Funktion hat nur ein Argument, und das ist der Dateiname.
+
+ Beispiel: (load "/players/hate/lisp.l")
+
+ Zu b)
+ Wenn die Knete gecloned wurde, koennen jederzeit Lispausdruecke
+ eingegeben werden, welche dann interpretiert werden. Dabei sollte
+ beachtet werden, dass die aeusserste Klammer nicht notwendig ist!
+
+ Beispiel: (+ 1 (+ 1 1)) koennte man auch schreiben als:
+ + 1 (+ 1 1)
+
+ Dies ist vor allem dann interessant, wenn man die Moeglichkeiten
+ der Knete als alias-Werkzeug in betracht zieht. Somit ist es
+ moeglich, eine Funktion zu schreiben und diese dann wie ein alias
+ zu benutzen.
+
+ Beispiel: (defun who () (users)) ;;; gibt das users array aus
+ Jetzt muss nur noch who eingegeben werden und das
+ array wird ausgegeben.
+
+ Da Lisp wesentlich komplexere Ausdruecke ermoeglicht, als der
+ normale alias-Interpreter, liegen die Vorteile auf der Hand.
+
+KONFIGURATION:
+ Die Knete laesst sich fuer jeden Nutzer konfigurieren, indem sie eine
+ Datei "/players/<name>/lisp.l" aus dessen Heimatverzeichnis laedt.
+
+ Ein Beispiel, was man damit machen kann befindet sich unter:
+ "/players/hate/lisp.l"
+ Die MUD Spezifischen Teile und Abfragen koennen ignoeriert werden.
+
+BUGS:
+ Es gibt momentan noch ein Problem, wenn auf der Kommandozeile
+ Klammern fehlen. Dann kommt eine Meldung: "*Missing 2 )"
+ In diesem Fall einfach zweimal hintereinander ) auf jeweils einer
+ einzelnen Zeile eingeben! Dieses Problem tritt vor allem dann auf,
+ wenn man zum Beispiel ein :( eingibt.
+