History of ARexxBox Releases
----------------------------

V0.99       erster Beta-Release

V0.99a      FIXED: Argument- und Resultat-Liste konnte mit
	    ungltigem Kommando arbeiten -> Enforcer-Hit/Absturz.
	    (Report: RALF_KAISER@AWORLD)

V0.99b      ENHANCED: GadToolsBox-Source fixed um den System Default
	    Font statt des Screenfonts fr Layout und Gadgets zu
	    benutzen.
	    (Report: SYSOP@INSIDER [Garry Glendown])

V0.99c      FIXED: Fr Argumente wurde das Gleichheitszeichen
	    nicht zugelassen.
	    
	    FIXED: Nach nderung eines Argumentes oder
	    Resultates verbleibt die Anzeige auf diesem Element
	    statt (wie bisher) das letzte Listenelement
	    anzuzeigen.
	    
	    FIXED: In den Font-Routinen war noch ein Fehler.
	    (Report: F.J.Reichert [F_J_REICHERT@SAARAG])

V0.99d      FIXED: Alle Pointer-Conversions bereinigt. Der Code wird
	    jetzt selbst bei Compiler 'superscharf' vllig ohne
	    Warnings durchgezogen.
	    Pragma-#includes und _toupper() nun auch fr SAS/C drin.
	    (Report: W_KUETING@HSP)
	    
	    --- V0.99d wurde nicht verteilt! ---
	    
V0.99e      FIXED: Wenn _kein_ Resultatfeld belegt war, wurde ein
	    "out of memory"-Fehler erzeugt.
	    
	    ENHANCED: ReplyRexxCmd() erzeugt nun die Variable RC2, sie
	    enthlt den "Secondary Returncode", der in jeder
	    rxif-Struktur unter dem Namen rc2 steht. Diese
	    Variable kann z.B. benutzt werden, um detaillierte
	    Fehlercodes an das Rexxprogramm zurckzugeben.
	    
	    Dieses Feature ist eine Erweiterung der Style-Guide-
	    Richtlinien, m.E. eine sinnvolle. Wenn jemand anderer
	    Ansicht ist, bitte Mail an mich!
	    
	    RC2 wird nur erzeugt, wenn a) Resultate erwnscht sind und
	    b) RC != 0 ist. Das Feld rc2 kann sowohl einen Fehlercode
	    (long, default) als auch eine Fehlerbeschreibung (char *)
	    enthalten. Unterschieden wird anhand des Vorzeichens von rc,
	    d.h. rc < 0 <=> rc2 long bzw. rc > 0 <=> rc2 char *.
	    Negatives rc wird vor der Rckgabe nach positiv gewandelt.
	    
	    Beispiel fr FehlerCODE:
		rd->rc = 10;
		rd->rc2 = ERROR_OBJECT_NOT_FOUND;
	    
	    Beispiel fr FehlerSTRING:
		rd->rc = -10;
		rd->rc2 = (long) "Objekt nicht gefunden!";
		
	    Die Standard-Fehlerstrings sind _nicht_ lokalisiert. Wenn sich
	    C= mal bequemt, mir Infos und Werkzeuge dafr zu schicken,
	    werde ich das natrlich nachholen.

	    ENHANCED: SendRexxCommand() nimmt jetzt zur besseren
	    Untersttzung des Standardbefehls "RX" (zum Starten
	    von ARexx-Programmen) einen zustzlichen Parameter,
	    ein FileHandle (BPTR!), der als Stdin/Stdout fr das
	    Script eingesetzt wird. FreeRexxCommand() bernimmt das
	    Schlieen des Kanals.
	    
	    Auerdem liefert SendRexxCmd() nun die Adresse der abge-
	    schickten RexxMsg zurck (oder NULL wenn Fehler).
	    
	    ENHANCED: Die RexxHost-Struktur hat jetzt ein zustzliches
	    Feld namens "APTR userdata". Es kann z.B. benutzt werden, um
	    in einen RexxHost einen Zeiger auf eine eigene Projekt-
	    Verwaltungs-Struktur einzuhngen o.., um den Host ein-
	    deutig einem offenen Projekt zuzuordnen.
	    
	    ENHANCED: Jeder Befehl hat jetzt ein globales "enabled"-
	    Flag, wenn dies gelscht ist, verweigert der Dispatcher
	    die Ausfhrung des Befehls. Dieses Flag sollte mit den
	    Standard-ARexx-Befehlen (Style Guide) ENABLE und DISABLE
	    beeinflussbar sein (siehe rxif/*.c).
	    
	    CHANGED: CommandShells bentigen jetzt einen eigenen
	    RexxHost auf dem sie alleine arbeiten knnen. D.h.
	    der dafr bereitgestellte Host DARF NICHT gleichzeitig
	    als normaler ARexx-Port benutzt werden. Eine abwechselnde
	    Benutzung als ARexx- und Cmd-Port ist denkbar, aber nicht
	    empfehlenswert...
	    
	    ENHANCED: Damit einhergehend bekommt nun jede rxif-Funktion
	    den RexxHost des ARexx-Ports bzw. der CmdShell als
	    (ersten) Parameter (host) bergeben. Dadurch kann
	    die Funktion z.B. entscheiden, zu welchem Projekt der
	    Befehl ausgefhrt werden soll.
	    
	    ENHANCED: Ebenfalls damit einhergehend existiert jetzt zur
	    Untersttzung des Standardbefehls CMDSHELL in jedem
	    RexxHost ein Flag (ARB_HF_CMDSHELL), das anzeigt, ob der
	    Host gerade eine CommandShell fhrt. Wenn dieses Flag
	    (durch CMDSHELL CLOSE) gelscht wird, terminiert die ARexx-
	    Box die CommandShell.
	    
	    FIXED: Aus Spaces oder nur aus Optionen bestehende
	    Argument- bzw. Resultatfeldnamen werden nicht mehr
	    akzeptiert.
	    
	    CHANGED: Da einige rxif-Funktionen darauf zugreifen
	    mssen ist "struct rxs_command" und "rxs_commandlist"
	    nun im Headerfile definiert. Fr den Zugriff auf die
	    Liste (finden eines Kommandos) ist eine neue Funktion
	    da:
		struct rxs_command *FindRXCommand( char *name );
	    
	    FIXED: Argumente mit '=' wurden nicht korrekt in
	    C-Variablennamen umgesetzt. Nun wird der letzte
	    Alias als Variablenname benutzt.
	    
	    ENHANCED: Es gibt jetzt eine eigene Handlerfunktion
	    fr dem Parser unbekannte Kommandos:
		char *ExpandRXCommand( struct RexxHost *host,
				       char *commandline );
	    Diese wird aufgerufen, bevor der Parser "Not implemented"
	    als Fehler ausgibt. Wenn die Funktion NULL zurckgibt,
	    wird der Fehler ausgegeben, ansonsten versucht der
	    Parser, den zurckgegebenen String zu analysieren.
	    Diese Funktion kann z.B. die Expansion von Aliases
	    oder die Bearbeitung von Non-Standard-Kommandos ber-
	    nehmen.
	    
	    Achtung! Es wird erwartet, da Expand() eigens
	    Speicher fr den Resultatstring allokiert, dieser
	    wird von den ARB-Routinen dann freigegeben!
	    
	    ENHANCED: Die Checks beim Generieren der Source-
	    Module sind jetzt sicherer. Es wird nun auch auf
	    Existenz des C- und H-Moduls geprft.
	    
	    NOTE: Als ich die vom Style Guide vorgeschlagenen
	    Standardkommandos eingab, sah ich, da die Argumente
	    "VAR" und "STEM" an einer Stelle auch dazu benutzt
	    werden, die EINgabe der Funktion von den damit be-
	    nannten Variablen zu holen. Ich wei nicht, ob das so
	    eine glckliche Wahl ist, da man auf diese Art&Weise
	    keine Resultate mehr haben kann. Besser wre eine
	    andere Benennung, z.B. "FROMVAR" und "FROMSTEM".
	    Vorschlge?
	    
	    Die ARB kmmert sich wenig um die bereits eingegebenen
	    Argumente, wenn Resultatfelder existieren, werden
	    VAR und STEM immer in das Template aufgenommen.
	    
	    Allgemein sind einige Definitionen an der Stelle im
	    Style Guide sehr ungenau oder unzureichend. Ich habe
	    die Definition (sinnvoll) erweitert. Wer mit meinen
	    nderungen nicht einverstanden ist, soll sich bitte
	    melden.
	    
	    NOTE: Beim bernehmen alter Interface-Routinen daran
	    denken, da ein neuer Parameter dazu gekommen ist!
	    
	    FIXED: Numerische Resultate funktionieren jetzt.

V0.99f	    ENHANCED: Es werden zwei FileRequester verwendet,
	    einer fr Binaries und einer fr Sourcen. Die Patterns
	    bleiben nun erhalten und sind standardmssig mit #?
	    statt *.
	    (Report: Stefan Zeiger)
	    
	    FIXED: Window-Topedge ist nun Fontsensitiv.
	    (Report: Stefan Zeiger)
	    
V0.99g	    FIXED: Beim Parsen der Argumente wird nun der von
	    ReadArgs() erzeugte Fehlercode als rc2 benutzt.
	    
	    CHANGED: Den Templates wird nun vor dem Parsen kein
	    \n mehr angehngt (unntig).
	    
	    CHANGED: Die ARexxBox benutzt nun den ASL-Filerequester.
	    (Wunsch: Garry Glendown [Sysop@Insider])
	    
V1.00 	    ENHANCED: Source wird nun auch vom GCC fehlerfrei
	    und warnungsfrei bersetzt - naja, fast warnungsfrei.
	    Die verbleibenden Warnungen knnen aber getrost
	    ignoriert werden.
	    
	    CHANGED: FindRXCommand() akzeptiert nur noch echte
	    Abkrzungen der vorhandenen Befehle.
	    
--- ERSTER FFENTLICHER RELEASE ---
	    
