\documentstyle[german]{article}
%\documentstyle[german,12pt,screen]{article}
\pagestyle{headings}

\begin{document}

\thispagestyle{empty}
\begin{center}\underline{\huge WIPE}\\
                         \medskip
                         {\large(Werner's Integrated Programming Environment)}\\
                         \medskip
                         AREXX-Macros für AmokEd 1.28\\
                         \bigskip
                         Version 1.2\\
                         \medskip
                         Werner Speer\\
                         Buchenstr. 3\\
                         W-8508 Wendelstein\\
                         \medskip
\end{center}

\vspace{2cm}

\newpage
\tableofcontents
\newpage

\section {Einleitung}

Ich habe unterdessen eine ganze Reihe von AREXX-Macros für die
Arbeitserleichterung mit dem AmokEd geschrieben (.AEd).
Dazu gehören auch eine Reihe mit Source-Files (.edrc).

Ziel war es, die Sources zu modularisieren und für jeden Compiler eine ähnliche
(Funktions--) Tastenbelegung zur Verfügung zu stellen. Diese sollte dann auch
bei Bedarf in den Menüs angezeigt werden.

Ab Version 1.1 wird auch ein Projektfile ("`AEdProject"') unterstützt, in dem
steht, welche Files beim Aufruf gleich geöffnet werden sollen. Damit steht
bei der nächsten Benutzung der AEd in der alten Konfiguration und mit den alten
Files zur Verfügung. Daher entschloß ich mich zu dem Namen "`WIPE"',
auch wenn dies übertrieben sein sollte. Aber was nicht ist, kann
ja noch werden $(\smile)$.

Ein einfacher Aufruf geschieht über die Skripts cdm (für Modula),
cdo (für Oberon), etc.
Mit ihnen wird zuerst ein CD auf das Project-Directory ausgeführt und dann
der Editor AmokEd gestartet.

\section{Copyright}

$\copyright$ Copyright 1992 Werner Speer.

Das gesamte Paket ist Freeware.

Es darf beliebig weitergegeben werden, wenn
\begin{itemize}
  \item die Kosten für die Kopie/Weitergabe
        max. 5.- DM nicht überschreiten.
  \item das gesamte Paket unverändert und vollständig bleibt.
\end{itemize}

Der folgenden Firma ist es verboten, das Paket oder Teile
davon weiterzugeben :

Fa. Stefan Ossowski

\section{Installieren und Löschen des Pakets}

\subsection{Installation}

Zum Installieren muß man nur das AREXX-Script "`InstallWipe"' starten oder auf
der Workbench anklicken. (Kleiner Tip: Die Workbench 2.0 Shell führt
ARexx-Skripts auch ohne Benutzung von "`RX"' aus).

Es fragt dann, in welches Verzeichnis man das Paket installieren will.

Dann wird
\begin{itemize}
  \item das Directory AEdm angelegt und die Macros hineinkopiert,
  \item ein Assign auf das Directory ausgeführt,
  \item "`Assign AEdm:\ Directory"' in User-Startup
         (falls vorhanden) oder in die Startup-Sequence geschrieben.
  \item falls in s:\ das File .aedrc existiert, wird es in
    .aedrc\_old umbenannt,
  \item .aedrc nach s:\ kopiert,
  \item cdm, cdo, cdt, cdd, cdi und cdl nach s:\ kopiert.
        Falls schon Files mit dem gleichen Namen existieren, wird auch hier
        umbenannt,
  \item Statt s:\ kann auch ein anderes Verzeichnis benutzt werden (Abfrage
        beim Scriptablauf),
  \item IfLink nach C:\ kopiert.
\end{itemize}

Man sollte nun noch die Variablen "`Env:Width"' und "`Env:Height"' anlegen
und ihnen den Wert von Bildschirmhöhe und -Breite in Pixeln zuweisen.
(z.B. "`Set\-Env width 640"').
In s:.aedrc sind die Größen der AmokEd-Fenster festgelegt.

\subsection{Entfernung}

Mit "`RemoveWipe"' wird das ganze Paket wieder gelöscht und die umbenannten
Files wieder mit dem alten Namen versehen. Es wird alles rückgängig
gemacht, was mit "`InstallWipe"' erzeugt wurde.

Nur der Eintrag in die User-Startup bzw. Startup-Sequence wird nicht
entfernt. Dies muß von Hand erfolgen.

\section{Funktionsüberblick}

\subsection{Tastenbelegung}

Bei allen Compilern sind die Tasten F4, F5 und F8 bis F10 gleich belegt.
Die anderen haben zwar jeweils etwas andere Belegungen, sind aber in
folgende Gruppen aufgeteilt:

\begin{description}
  \item[F1 :] Fehlerbehandlung. Next/Previous Error.
  \item[F2 :] Fehlerbehandlung. Current/First Error.
  \item[F3 :] Load Error--/Log--File. Die Fehlermeldungen des Compilers laden.
  \item[F4 :] Projekt-Verwaltung.
              \begin{itemize}
              \item Normal : Fügt den Namen des akt. Fensters in das Projekt-File
                    ein.
              \item Shift : Wie oben, aber mit "`ESCIMM"', also über die
                    CommandLine.
              \item Alt : Setzt die Environmentvariable mit dem Namen
                    des Projektverzeichnisses auf das CurrentDirectory des
                    Editors.
              \item Shift \& Alt : Wie oben, aber mit "`ESCIMM"'.
              \end{itemize}
  \item[F5 :] MainFile.
              \begin{itemize}
              \item Normal : Legt das Hauptmodul fest. Mit "`Set MainFile Window"' wird
                    das aktive Fenster genommen.
              \item Shift : Das Hauptmodul kann in der CommandLine eingegeben werden.
              \item Alt : Zeigt das Hauptmodul/File eines gerade Bearbeiteten
                    Programms in der Titelzeile an.
              \item Shift \& Alt : Zeigt das aktuelle Projektverzeichnis in der
                    Titelzeile an.
              \end{itemize}
  \item[F6 :] Compile: Hier wird der Compiler aufgerufen und der Name des Files im
                    aktiven Fenster übergeben.
  \item[F7 :] Link / Optimize : Der Linker wird aufgerufen und ihm der Name des
              Hauptmoduls übergeben. Ist dieses noch nicht fesgelegt, wird man
              in der CommandLine zur Festlegung aufgefordert.
  \item[F8 :] Load :
              \begin{itemize}
              \item Normal: Laden eines neuen Files mittels Arpload.
              \item Shift: Öffnen eines neuen Fensters und Laden eines Files.
              \item Shift \& Alt: Aktuelles File nochmal laden (ReLoad).
              \end{itemize}
  \item[F9 :] Save :
              \begin{itemize}
              \item Normal: Speichern eines Files mit Backup.
              \item Shift: Save As.
              \item Alt: {\it Save Version.}
                    Speichern einer neuen Version. Es werden
                    durchnummerierte Files mit den Endungen
                    \_\$1, \_\$2 etc.\ erzeugt. Dann wird ein
                    Hardlink (mit dem Namen des Originals) aud
                    die neue Version gesetzt. Vorteil ist, daß
                    alle Programme, die jetzt auf das File
                    zugreifen, die neue Version benutzen, ohne
                    es zu merken. Außerdem geht es schneller als
                    das Save mit Backup, da nur einmal
                    gespeichert und dann der Link umgesetzt
                    wird.
                    {\sl Benötigt AmigaOS 2.0}
              \item Shift \& Alt: SaveOld ohne Backup.
              \end{itemize}
  \item[F10 :] Quit :
              \begin{itemize}
              \item Normal: Save (mit Backup) \& Quit.
              \item Shift: Quit (ohne speichern).
              \end{itemize}
  \item[Modus-Umschaltung :] Mit Control--FKey wird zwischen den Modi
              umgeschaltet. Z.B. mit Control--F2 auf Oberon.
              Dabei werden alle alten Belegungen der
              Funktionstasten gelöscht. Waren vorher die Menüs
              geladen, so werden diese auch erneuert. Das Flag
              für "`MainFile"' (Toggle 6) wird gelöscht.
\end{description}

Die genaue Belegung der Funktionstasten steht in den  Files "`Tastenbelegung"'
(ASCII) und "`Tasten.tex"'. Mit "`Tasten.tex"' und "`FKeys.sty"' können auch
fertige Tastaturschablonen ausgedruckt werden. (Nur noch ausschneiden,
zusammenkleben, fertig !)

Ich habe auch versucht, Fehler so weit wie möglich
abzufangen und in der Titelzeile des AEd anzuzeigen. So wird z.B.\ ein \TeX--File
nur dann kompiliert, wenn das MainFile auf "`.tex"' endet.

\subsection{Menübelegung}

Die Menüs werden nicht standardmäßig eingeladen, sondern bei
Bedarf mit a-Help oder vom Menü aus. Sie stellen im wesentlichen
umgearbeitete .edrc-Files dar. Somit wurden (nahezu) alle
Tastenbelegungen auch in die Menüs aufgenommen.

Dies kostet natürlich viel Speicher, ist aber auch nur als kleine
Hilfe zum Nachschauen gedacht, wenn man die Tastenbelegungen
noch nicht so gut kennt. Ich benutze übrigens PopUp-Menüs (Fish--Disk 422),
deshalb kann es vorkommen, daß die Titelzeile etwas zu kurz für
die Menüs ist $(\smile)$.

\newpage
\section {Kurzbeschreibung der Files und Macros}

\begin{center}
\begin{tabular}{|l|c|l|}
\hline
File:             & Mode:  & Beschreibung:\\
\hline
\hline
AddFileWindow.AEd & alle   & Schreibt den Namen eines Files,\\
                  &        & das beim nächsten Start wieder\\
                  &        & geöffnet werden soll in\\
                  &        & das Projekt-File "`AEdProject"',\\
DICE.AEd          & Dice   & Ruft den C-Compiler DCC auf.\\
DVI.AEd           & TeX    & Ruft den \TeX-DVI-Drucker-Treiber mit\\
                  &        & der entsprechenden Auflösung auf\\
Label.AEd         & Label  & Druckt Disk-Ettikett mit Label-Programm\\
LoadLog.AEd       & alle   & Öffnet neues Fenster mit Fehler-Files\\
                  &        & (.err, .log etc., je nach Modus).\\
Modula.AEd        & Modula & Ruft den Modula-2-Compiler,\\
                  &        & Linker und Optimizer auf.\\
Menus.AEd         & alle   & Lädt die Menüs ein. Wird mit a-Help bzw.\\
                  &        &  mit dem vorbelegten Menü eigeladen.\\
                  &        & Die Menüs können wieder mit sa-Help bzw.\\
                  &        & mit dem Menü "`Help $\rightarrow$ Clear Menus"'\\
                  &        & abgeschaltet werden.\\
Modes.AEd         & alle   & Wird zur Modus-Umschaltung zwischen\\
                  &        & Modula, Oberon, TeX, Dice etc.\\
                  &        & aufgerufen, belegt die Funktionstasten\\
                  &        & mit Standard-Funktionen. Es werden auch\\
                  &        & die Menüs aktualisiert, falls sie geladen\\
                  &        & waren.\\
Oberon.AEd        & Oberon & Ruft den Oberon-Compiler, Linker und\\
                  &        & Maker auf.\\
OberonErr.AEd     & Oberon & Behandlung von Oberon-Fehlermeldungen.\\
                  &        & Von Hartmut Goebel.\\
                  &        & Benutzt die OberonSupport.Lib von\\
                  &        & Kai Bolay\\
\hline
\end{tabular}
\end{center}

\newpage

\begin{center}
\begin{tabular}{|l|c|l|}
\hline
File:             & Mode:  & Beschreibung:\\
\hline
\hline
Save.AEd          & alle   & Wird beim Abspeichern aufgerufen,\\
                  &        & erzeugt .bak-Files.\\
Save2.AEd         & alle   & Wird bei SaveVersion aufgerufen, erzeugt\\
                  &        & durchnummerierte Files. Ein Link mit \\
                  &        & dem Namen des Originals wird auf die\\
                  &        & letzte Version gesetzt.\\
                  &        & {\sl Benötigt AmigaDos 2.x und das}\\
                  &        & {\sl Programm IfLink}. Ist nur $\le$1.3\\
                  &        & vorhanden, wird Save.AEd aufgerufen.\\
SetMode.AEd       & alle   & Setzt den Modus und schreibt ihn in die\\
                  &        & Environment-Variable Aed.Mode und das\\
                  &        & Projekt-File "`AEdProject"'.\\
SetMainFile.AEd   & alle   & Setzt den Main-File Namen und schreibt\\
                  &        & ihn in das Projekt-File.\\
SetProjectDir.AEd & alle   & Setzt den Namen des aktuellen Project-\\
                  &        & Verzeichnisses und schreibt ihn in\\
                  &        & die zugerhörige Environment-Variable.\\
Spice.AEd         & Spice  & Ruft die Schaltkreissimulatoren\\
                  &        & ASpice (Fish-Disk 278),\\
                  &        & BSpice und CSpice (Fish-Disk 578) auf.\\
SpicePlot.AEd     & Spice  & Ruft das Interaktive Plotprogramm\\
                  &        & Nutmeg (Fish-Disk 578) auf.\\
PasTeX.AEd        & TeX    & Ruft den Pas\TeX-Compiler mit den\\
                  &        & entsprechenden Format-Files auf.\\
CommonTeX.AEd     & TeX    & Ruft den Common--\TeX--Compiler mit den\\
                  &        & entsprechenden Format-Files auf.\\
\hline
\end{tabular}
\end{center}

\newpage

\begin{center}
\begin{tabular}{|l|c|l|}
\hline
File:             & Mode:  & Beschreibung:\\
\hline
\hline
.aedrc            & alle   & Haupt-Source-File, wird immer beim\\
                  &        & Start des AmokEd aufgerufen.\\
                  &        & Es kann eigentlich beliebig angepaßt\\
                  &        & werden. Man sollte jedoch beachten,\\
                  &        & am Schluß des Files "`Modes.AEd"'\\
                  &        & aufzurufen und die Toggles 6--10\\
                  &        & nicht mehr zu verwenden.\\
DICE.edrc         & Dice   & Tastenbelegungen für DICE.\\
DICE\_Menus.edrc  & Dice   & Menüs mit DICE-Belegung.\\
Label.edrc        & Label  & Tastenbelegung für mein Label-Programm.\\
Label\_Menus.edrc & Label  & Menüs mit Label-Belegung.\\
Modula.edrc       & Modula & Tastenbelegungen für M2Amiga\\
                  &        & (Version 3.3, mit DME).\\
Modula\_Menus.edrc& Modula & Menüs mit Modula-Belegung.\\
Menus.edrc        & alle   & Menüs für die Grund-Tastenbelegung.\\
                  &        & gehört zu "`.aedrc"'.\\
Oberon.edrc       & Oberon & Tastenbelegungen für Oberon.\\
Oberon\_Menus.edrc& Oberon & Menüs mit Oberon-Belegung.\\
Spice.edrc        & Spice  & Tastenbelegungen für SPICE.\\
Spice\_Menus.edrc & Spice  & Menüs mit SPICE-Belegung.\\
PasTeX.edrc       & TeX    & Tastenbelegungen für Pas\TeX.\\
PasTeX\_Menus.edrc& TeX    & Menüs mit Pas\TeX-Belegung.\\
CommonTeX.edrc    & TeX    & Tastenbelegungen für Common--\TeX.\\
CommonTeX\_Menus.edrc& TeX & Menüs mit Common--\TeX--Belegung.\\
TeX.edrc          & TeX    & Kopie von oder Link auf PasTeX.edrc\\
                  &        & oder CommonTeX.edrc, je nach Wunsch.\\
                  &        & Default ist PasTeX.edrc.\\
TeX\_Menus.edrc   & TeX    & Menüs. Siehe TeX.edrc\\
\hline
\end {tabular}
\end{center}


\section {Einbindung eines neuen Compilers}

Um einen neuen Compiler einzubinden, sind im wesentlichen die Files

\begin{itemize}
  \item Modes.AEd,
  \item Menus.AEd und
  \item LoadLog.AEd.
\end {itemize}

zu ändern.

Es müssen dann auch entsprechende xxx.edrc, xxx.AEd und xxx\_Menus.AEd Files
angelegt werden, die dann den Compiler aufrufen.

\section{Environment--Variablen}

Die Erkennung des aktuellen Modus geschieht über "`ENV:AEd.mode"'. In ihm steht
der aktuelle Modus. Wenn man vorher z.B. \verb+setenv AEd.mode Oberon+ eingibt,
wird der AmokEd automatisch im Oberon-Modus gestartet. Ich habe für jeden
Compiler ein kleines Shell-Script, das in das richtige Verzeichnis wechselt
und auch AEd.mode richtig setzt (siehe \ref{cdx}). Der Modus bleibt natürlich
beim Verlassen des AEd bestehen, so daß beim nächsten Start der alte Modus
aufgerufen wird.

Ein im Projektfile festgelegter Modus überschreibt den aktuellen Modus.

Des weiteren sollten die Environment-Variablen "`width"' und
"`height"' bestehen, in denen die aktuelle Screen-Größe steht.
Ansonsten wird 640$\ast$200 angenommen.

Für die Projektverwaltung sind Environment-Variablen ModulaProject,
OberonProject,~$\dots$, LabelProject hinzugekommen.
In ihnen steht das Verzeichnis mit dem Projekt.
Sie werden von den "`CDx"' Skript-Files (siehe \ref{cdx}) ausgewertet.

\section{Projektverwaltung}

\subsection{Beschreibung}

Wenn man den AmokEd ohne Parameter (oder mit
AEdProject) aufruft, dann sucht das Modes.AEd Macro nach einem
File "`AEdProject"' im aktuellen Verzeichnis. In diesem steht
der Name des MainFile ist und welche Files beim Start des Editors gleich
mit aufgerufen werden sollen. Auch der Modus für das Projekt ist dort
eingetragen.

Somit ist es möglich, daß alle Fenster, in denen Taste F4 betätigt wurde,
beim nächsten mal, wenn man an dem Projekt arbeitet,  wieder geöffnet werden.
Es kann auch die aktuelle Position und Größe dort eingetragen werden.
Dies muß derzeit noch von Hand (nachträglich) gemacht werden, da noch keine
entsprechenden Editor-Variablen vorhanden sind.
In späteren Versionen soll dies automatisch geschehen.

Das jeweilige Projekt-Verzeichnis kann mit Alt-F4 auf das Current-Directory
des Editors gesetzt werden. Dies wird in den Environment-Variablen
Env:Mo"-du"-la"-Pro"-ject, Env:Obe"-ron"-Pro"-ject, etc. eingetragen.
Mit Shift \& Alt F4 kann es über die Command-Line eingegeben werden.
Das Projekt-Verzeichnis in den Variablen wird von den
"`CDx"'-Files (siehe \ref{cdx}) ausgewertet.

Das aktuelle Projekt-Verzeichnis wird mit Shift \& Alt F5 in der Titelzeile
angezeigt.

Einen Nachteil will ich nicht verschweigen : Wenn man beispielsweise zwei
verschiedene Projekte im gleichen Verzeichnis hat, dann kann es passieren,
daß zwar die alten Files beim Aufruf erscheinen. Hat man jedoch beim letzten mal
das Mainfile auf das andere Projekt gesetzt, dann wird dieses wieder benutzt und
der Compiler macht etwas anderes, als man erwartet.

\subsection{Einrichten eines Projektes}

Zum Einrichten eines Projektes muß das Projectfile "`AEdProject"' mit den
richtigen Einträgen versehen werden.

Um ein Projekt vollständig einzurichten, sind im Editor nur einige
Tasten zu drücken.

\begin{description}
  \item[Modus setzen:] Man drückt die Tasten Ctrl-Fx, wobei x für den
       gewünschten Modus steht (Ctrl-F1 für Modula, etc.).

       {\sl Wichtig:\/} Den Modus zerst setzen, weil dabei das Flag für das
       MainFile gelöscht wird.
  \item[MainFile setzen:] Taste F5 drücken, dann ist wird das File im
       aktiven Fenster zum MainFile.

       Wenn man Shift-F5 drückt, kann man den Namen in der Command-Line
       eingeben.
  \item[Offene Fenster hinzufügen:] Hierzu drückt man in jedem Fenster,
       das beim nächsten Arbeiten am Projekt wieder geöffnet werden soll,
       die Taste F4.

       Mit Shift-F4 kann man den Namen des File in der Command-Line eingeben.
  \item[Projekt-Dir setzen:] Mit Alt-F4 wird das Aktuelle Projekt-Verzeichnis
       des Editors ({\sl Nicht der evtl. vorhandene Pfad vor dem
       Filenamen in der Titelzeile!!!\/}) in die Variable Env:xxxProject
       geschrieben (xxx steht wieder für Modula, etc.).

       Auch hier wird mit Shift-Alt-F4 der Namen von Hand eingetragen.

       Die Variable wird von den CDx Files ausgewertet (siehe \ref{cdx}).
\end{description}


\subsection{\label{cdx} Start des Editors mit den CDx Files}

Die CDx Files dienen dazu, den Editor mit dem jeweiligen Projekt zu starten.

Syntax: \verb+CDx [Directory]+

Beim Aufruf von "`cdm"' wird der AmokEd im Modula-Modus gestartet.
Dazu wird vorher ein CD ausgefürt. Dieser zeigt entweder auf das letzte
Modula-Projekt (steht in env:ModulaProject, wenn beim letzten
mal Alt-F4 gedrückt wurde), oder auf den übergebenen Pfad.

Also : {\tt cdm MeinDir} geht zu "`MeinDir"' und ruft den AEd auf. Dieser
sucht dort nach "`AEdProject"' und wertet es aus. Hier stehen das
MainFile, die zu öffnenden Fenster und der Modus (Hier: Modula).
Ein in "`AEdProject"' festgelegter Modus hat eine höhere Priorität
als der aktuelle Modus in "`env:AEdMode"'.

Bei Eingabe von nur {\tt cdm} wird ein CD auf {\tt \$env:ModulaProject} ausgeführt,
der Editor gestartet und ein vorhandenes "`AEdProject"' ausgewertet.

Die anderen CDx Files arbeiten entsprechend.

\begin{description}
  \item[cdm] Modula
  \item[cdo] Oberon
  \item[cdt] \TeX
  \item[cdd] Dice
  \item[cdi] Spice (cds ist auf meinem Rechner "`cd sys:"')
  \item[cdl] Label
\end{description}

Wenn der AmokEd mit einem Filenamen getartet wird
({\tt AmokEd MeinFile}), dann wird {\sl nicht} nach einem Projekt gesucht,
sondern das File ganz normal geöffnet.

Wird allerdings versucht, "`AmokEd AEdProject"' aufzurufen, dann wird
stattdessen das Projekt geöffnet. Dies liegt an dem Aufrufmechanismus
eines Projektes von der Workbench aus, bei dem ja "`AEdProject"' als
Parameter übergeben wird (siehe \ref{wbproject}).

\subsection{Start des Editors von der Workbench aus}

\subsubsection{Aufruf eines einzelnen Files}

Es gibt zum Ersten die Möglichkeit, nur ein File, also ohne Auswertung des
ProjektFiles zu öffnen. Hierzu muß das Icon des Text-Files angeklickt werden.
Dann wird die Shift-Taste gedrückt, und der AmokEd zweimal angeklickt.

Es wird hierbei nur der Modus gesetzt, der in "`env:AEd.Mode"' steht. Das
MainFile allerdings ist noch nicht festgelegt. Der Aufruf entspricht dem von
der Shell, mit einem übergebenen Namen.

\subsubsection{\label{wbproject} Aufruf eines Projektes}

Beim Doppelklick auf das Icon von "`AEdProject"' wird der Editor gestartet und
das File "`AEdProject"' ausgewertet, wie oben beschrieben.

Damit wird, falls vorhanden, das MainFile und der Modus gesetzt. Auch werden
alle angebenen Files geöffnet. Man sollte also wieder die gewohnte Umgebung
vor sich sehen.

Der Aufruf entspricht bei der Shell einem CD in das Projektverzeichnis und
anschließendem Aufruf des Editors ohne Filenamen.

{\sl Wichtig:\/} Der AmokEd muß sich im Suchpfad befinden.


\section{Bisher Verwendete Compiler}

\begin{description}
  \item [Modula :] {\sl M2Amiga}, Version 3.32 von der A+L AG.
                 Das Verzeichnis mit dem Compiler, Linker etc. muß einen
                 Assign mit Namen "`M2:"' haben.
  \item [Oberon :] {\sl Amiga Oberon}, Demo Version, ebenfalls von der A+L AG.
                 Das Verzeichnis mit Compiler, Linker etc. muß einen
                 Assign mit Namen "`Oberon"' haben.
  \item [\TeX :] Es gibt zwei Macro-Sätze für \TeX:
                 \begin{description}
                   \item [Pas\TeX] von Georg Heßmann, vertrieben u.a. von
                   Karl Skibinski {\sl (Default).}
                   Das Verzeichnis mit dem Paket muß einen Assign mit
                   Namen "`TeX:"' haben.
                   {\sl Wer mit diesem \TeX--Paket arbeitet, muß die Files
                   \verb+PasTeX*+ in \verb+TeX*+ umbenennen.}
                   Man natürlich kann unter 2.0 auch Links auf die Files setzen.
                   \item[Common--\TeX] von Frank Wübbeling, vertrieben durch
                   Wolf--Software.
                   Das Verzeichnis mit dem Paket muß einen Assign mit
                   Namen "`TeX:"' haben.
                   {\sl Wer mit diesem \TeX--Paket arbeitet, muß die Files
                   \verb+CommonTeX*+ in \verb+TeX*+ umbenennen.}
                 \end{description}
  \item [Dice :] {\sl Dillons Integrated C Environment}, auf verschiedenen
                 Fish--Disks zu finden. Das Verzeichnis mit Compiler, Linker etc.
                 muß einen Assign mit Namen "`DCC:"' haben.
  \item [Spice :] {\sl AmigaSpice}, Fish--Disk 278,  {\sl Spice3}, Fish--Disk
                 578. Das Verzeichnis "`Spice3/bin"' mit dem Simulator muß sich im
                 Device "`Spice3:"' befinden.
  \item [Label :] Mein Label--Programm zum Erstellen von 3$\frac{1}{2}$''
                Disk--Etiketten. Sollte demnächst auf einer Amok-Disk erscheinen.
                Das Verzeichnis muß einen Assign mit Namen "`Label:"' haben.
\end{description}

\section{To Do}

Vielleicht bringe ich noch eine kleine Verwaltung von Compiler-Optionen
in die Macros. Ich bin mir aber noch nicht im klaren, wie ich das machen
soll, und ob es nicht sinnvoller ist, dies in die einzelnen .edrc-Files zu
schreiben.

\section{Known Bugs}

Seid Ihr Freunde von Kreuzworträtsen? Wie lautet der Fehler in File~3, Zeile~4?

Aber Spaß bei Seite. Diese Macros waren eigentlich meine ersten Schritte mit
AREXX. Deshalb gibt es schon ein paar unschöne Sachen.

Vor allem die Lösung mit zwei Fenstern beim Compileraufruf gefällt mir ganz und
gar nicht. Es ist mir aber nicht gelungen, STDIN \underline{und} STDOUT
in eine einzige Konsole zu verlegen. Deshalb mußte ich ein
zweites Fenster öffnen, um Eingaben an den Compiler zuzulassen.
Vielleicht kann da jemand helfen?

Da einige Besonderheiten des AmokEd verwendet werden, können mit dem
DME falsche Ergenbnisse produziert werden (siehe \ref{dme}).

Es werden einige Environment-Variablen global verwendet (env:Aed.Mode,
env:ProjectDir). Wenn man zwei Editoren startet, um verschiedene Projekte
zu bearbeiten (Z.B. Oberon-Programm und TeX-Dokumentation), dann kommt es
zu Kollisionen, weil beide das gleiche Environment benutzen.

Wenn im Pfad bzw. im Namen eines Files ein Leezeichen ist, kann es zu
Fehlern kommen (ARexx interpretiert Leerzeichen als Trennung zwischen
Argumenten).

Aufgrund eines Fehlers in älteren AmokEd-Versionen kann es passieren, daß der
Editor bei der Save-Version Funktion abstürzt. Ich konnte Save2.AEd daher
nicht austesten. (Betrifft die Zeilen mit "`ChFileName"').

\section{\label{dme} Einschränkungen bei Benutzung des DME}

Ein Teil der Macros läuft zwar auch mit dem DME. Es werden jedoch
teilweise spezielle Eigenschaften des AmokEd benutzt, über die der DME
nicht verfügt.

So werden einige spezielle Variablen und Befehle des AEd verwendet. Beim
AEd ist auch die Behandlung der Toggles anders.

Es ist daher möglich, daß die Macros bei Verwendung mit dem DME
nur eingeschränkt lauffähig sind oder fehlerhafte Ergebnisse produzieren.

\section{Haftungsausschluß}

Ich habe versucht, die Files möglichst weit auszutesten. Trotzdem kann ich
nicht ausschließen, Fehler übersehen zu haben. Auch ist das ganze unterdessen
wesenlich komplexer geraten, als ich am Anfang gedacht habe.

Manche Macros benutzen spezielle Eigenschaften und Variablen des Amok\-Ed.
Deshalb kann es vorkommen, daß sie mit dem DME nicht, oder nur eingeschränkt
laufen oder falsche Ergebnisse produzieren (siehe \ref{dme}).

{\bf Deshalb kann und will ich keinerlei Haftung für Schäden oder Kosten
irgendwelcher Art übernehmen, die bei Ge- und/oder Mißbrauch der Makros und
Programme auftreten sollten. Dies gilt vor allem auch bei etwaigem Datenverlust.}

\section  {Schlußbemerkung}

Ich hoffe meine Idee der modularen Tastenbelegung gefällt Euch
ein wenig. Sie soll auch zur Anregung und Erweiterung dienen, da
die Pfade und Konfigurationen in den einzelnen Files sehr wahrscheinlich
erst an Euer System angepaßt werden müssen.

\bigskip
Viel Spaß damit,

\bigskip
Werner Speer, 18.05.92.

\end{document}

