
        JAnE 2.10 - Was ist neu?
        ========================

    Nutzungsbedingungen
    -------------------

JAnE V 2.10 ist das erste Shareware-Release von JAnE seit lngerer
Zeit. Sie haben die Mglichkeit, das Programm vier Wochen lang zu
testen. Bei regelmiger Benutzung ber diesen Zeitraum hinaus haben
Sie eine Sharewaregebhr von EUR 10,-- an mich zu entrichten
(Bankverbindung siehe oben oder unter dem Menupunkt "ber JAnE").
Geben Sie bei berweisungen bitte unbedingt den Zweck und Ihre
Adresse mit an, da ich das Geld sonst nicht zuordnen kann. Es ist
auch sinnvoll, wenn Sie mir mitteilen, welche Version von JAnE Sie
registrieren wollen.

In der vorliegenden Version hat JAnE keinerlei funktionale
Einschrnkungen, so da Sie beim Testen in keiner Weise behindert
werden. Als einziger Hinweis auf die Shareware-Bedingungen wird in
unregelmigen Abstnden beim Aufruf einer Menfunktion eine
Meldungsbox eingeblendet.

    Allgemeines
    -----------

Da es sich bei JAnE 2.00 in weiten Teilen um eine komplette 
komplette Neuentwicklung handelt, fhre ich die News-Liste der 
vorangehenden Versionen nicht weiter. Statt dessen mchte ich an 
dieser Stelle die wichtigsten Neuerungen kurz zusammenfassen:

    Grundstruktur
    -------------

Die Basis von JAnE 2.00 bildet die sogenannte Toolbox. Dabei handelt 
es sich um eine Liste, in der alle Editorfunktionen (von den 
Cursorbewegungen bis zum Such- und Ersetzdialog) mit Namen aufgefhrt 
sind. Direkt aufrufbare (d. h. parameterlose) Makros werden beim 
Laden der Makropakete ebenfalls in diese Toolbox aufgenommen. 
Alle in dieser Toolbox enthaltenen Funktionen knnen Sie nach Belieben 
Meneintrgen und Tastenkombinationen zuweisen. Die Einschrnkungen 
der vorherigen Version (Makros nur auf Funktionstasten etc.) entfallen 
damit.

    Mens und Tastatur
    ------------------

In JAnE 2.00 knnen Sie Menleisten und Tastenbelegungen auf den 
folgenden Ebenen definieren und mit Toolbox-Funktionen belegen:

    - Das Hauptmen
    Falls Ihnen die mitgelieferte Menleiste nicht zusagt, knnen Sie 
    sich kurzerhand eine eigene erstellen und mit Toolbox-Funktionen 
    belegen. Diese Menleiste ist, wie man es in einer GEM-Anwendung 
    erwartet, immer erreichbar und gilt fr alle Textfenster.

    - Die Fenstermens
    Jedes Textfenster kann mit einer Fenstermenleiste ausgetstattet 
    werden. Diese Fenstermens definieren Sie ber die Textprofile; 
    sie sind somit abhngig vom jeweiligen Dateityp. Die typische 
    Anwendung she so aus, da das Hauptmen die Funktionen 
    bereitstellt, die immer gebraucht werden, in die Fenstermens 
    kmen die Funktionen, die nur fr bestimmte Dateitypen sinnvoll 
    sind.

    - Die globale Tastenbelegung
    Auch bei den Tastenbelegungen gibt es die oben beschriebene 
    Zweiteilung: Es gibt eine globale Tastaturebene, die die immer 
    anwendbaren Funktionen aufnimmt...

    - Die lokale Tastenbelegung
    ... und textprofilabhngige Tastenbelegungen, die die 
    Funktionszuordnungen aufnehmen, die nur fr bestimmte Dateitypen 
    sinnvoll sind.

Ein kleiner Nebenutzen des Toolbox-Konzeptes: JAnE 2.00 untersttzt 
neben den bekannten Zeichensatz- und Druckdialogen der vorherigen 
Version auch die entsprechenden Dialoge von MagiC bzw. WDIALOG. Die 
Auswahl erfolgt einfach durch Einbinden der entsprechenden 
Toolbox-Funktion ins Men bzw. ins Tastatur-Layout.

    Die Konfigurationsdatei
    -----------------------

Da JAnE 2.00 weitaus flexiblere Mglichkeiten der Konfiguration bietet 
als frhere Versionen, wre eine Steuerung ber GEM-Dialoge zu 
unbersichtlich geworden. Aus diesem Grund habe ich die Konfiguration 
von einer Binrdatei auf eine lesbare ASCII-Datei umgestellt, die in 
JAnE selbst editiert werden kann. Der Umweg ber das 
Konfigrationsprogramm TEE entfllt somit.
Auch die Textprofile und die Menleisten und Tastenbelegungen werden 
in dieser Datei definiert.
Die Informationen zur Arbeitsumgebung (geladene Texte, 
Dialogboxen etc.) werden nach wie vor in einer separaten Binrdatei 
abgelegt.

    Spaltenblcke
    -------------

Seit Version 2.00 untersttzt JAnE Spaltenblcke - und zwar ohne 
Modusumschaltungen. Selektion mit der linken Maustaste erzeugt einen 
normalen Block, Selektion mit der rechten Maustaste einen 
Spaltenblock. Das Einfgen von Spaltenblcken ist eine separate 
Funktion, die unabhngig davon arbeitet, wie der Block ursprnglich 
selektiert wurde.

    Das Syntaxhighlighting
    ----------------------

Die Mglichkeiten, Hervorhebungsregeln zu definieren, wurden 
wesentlich erweitert. Sie knnen jetzt beliebig viele 
Schlsselwortklassen mit unterschiedlichen Attributen hervorheben. 
Ebenso knnen Sie nunmehr die verschiedenen Strings und Zonen 
auf unterschiedliche Weise hervorheben. (Die Zonen wurden frher als 
Kommentare bezeichnet; ich wollte mit dieser nderung verdeutlichen, 
da die Anwendung dieses Konstruktes eben nicht nur auf Kommentare 
beschrnkt ist)
Die entsprechenden Pflegedialoge innerhalb von JAnE sind weggefallen; 
sie wren mit diesen neuen Mglichkeiten zu unbersichtlich geworden. 
Die Syntaxregeln werden nunmehr ausschlielich ber die 
Konfigurationsdatei definiert.
Inzwischen ist es mglich, die AES-Farben 1 bis 15 (statt wie bisher 
nur 1 bis 7) zu nutzen.

    Die Makrosprache SCEleton
    -------------------------

Gegenber JAnE 1.52 habe ich die Mglichkeiten dieser 
Programmiersprache wesentlich erweitert. Neu sind unter anderem:

    - Support fr Fliekommaberechnungen
    - Assoziative Listen
    - Erweiterte Schleifenkonstrukte
    - Steuerung anderer Anwendungen ber GEMScript
    - Statische Variable, die ihre Inhalte auch ber 
      die Laufzeit des Makros hinaus behalten.

Weggefallen ist die Mglichkeit, Makropakete in einem binr codierten 
Format abzuspeichern.

Makros knnen auf folgende Weise in JAnE eingebunden werden:

    - In Tastatur- oder Menbelegungen (s. o.)
    - Zur Behandlung von AES-Nachrichten
    - Zum automatischen Aufruf in bestimmten Zeitabstnden
    - Zum automatischen Aufruf bei der Ausfhrung bestimmter 
      Funktionen von JAnE (z. B. Datei ffnen, Datei sichern usw.)

Um diese speziellen Features zu verdeutlichen, liegen Makropakete bei, 
die die Untersttzung von QED-Krzeln und des 'Document 
history'-Protokolls realisieren.

    Der Makrorecorder
    -----------------

Die Bedienung des Makrorecorders wurde vereinfacht: Eine Aufzeichnung 
landet jetzt in einem 'namenlosen' Puffer, aus dem sie sofort 
abgespielt werden kann. Alternativ knnen Sie den aufgezeichneten 
SCEleton-Code auch ausgeben lassen, um ihn fr Ihre Zwecke zu 
bearbeiten.

    GEMScript
    ---------

JAnE 2.00 untersttzt das GEMScript-Protokoll aktiv UND passiv, d. h. 
JAnE kann sowohl von anderen Programmen aus gesteuert werden als auch 
selbst andere Programme steuern.

    Liste der Korrekturen
    ---------------------

Es folgt die Liste der Korrekturen im bereits bekannten Format.

    Neues in Version 2.01
    ---------------------

Eine Reihe von Bugfixes. Im wesentlichen ist die Zusammenarbeit mit 
Systemen ohne GDOS verbessert worden. Die Zeichensatzauswahl kann dort 
aufgerufen werden; im Druckdialog ist die Gerteauswahl gesperrt. Ferner 
sind Erweiterungen zum Syntaxhighlighting in Arbeit, diese sind jedoch 
noch nicht abgeschlossen und werden daher noch nicht dokumentiert.


    Neu in Version 2.02
    -------------------

1. Behebt einen Fehler, der zu Abstrzen fhrt, wenn eine nicht belegte
Taste gedrckt wird.

2. In der Konfigurationsdatei JANE.INF knnen nunmehr auch 'include'-
Anweisungen verwendet werden. Die Syntax lautet:

    include [Dateiname];

Damit knnen z. B. Textprofile oder Schlsselwortlisten in separate
Dateien ausgelagert werden, um die bersichtlichkeit zu verbessern.
Als Beispiel sind in der mitgelieferten INF-Datei die Textprofile fr
C++ und HTML ausgelagert.

3. In SCEleton-Makros funktioniert die 'include'-Anweisung jetzt auch.

4. Behebt einen Fehler, der bei Texten mit Syntaxhighlighting und
aktivem GEM-Clipboard die falsche SCRAP-Datei ziehen konnte.

5. Die Regeln zum Syntaxhighlighting wurden um 'context'-Konstrukte 
erweitert. Damit knnen Regeln definiert werden, die nur innerhalb 
bestimmter Umgebungen wirken. Im HTML-Profil beispielsweise wird die
Schlsselworthervorhebung mittels eines 'context'-Konstruktes auf den
Bereich zwischen '<' und '>' beschrnkt.

Es werden 'char'-Kontexte und 'line'-Kontexte unterschieden. Ein
'char'- Kontext wird von zwei Zeichen begrenzt, die irgendwo in den
Zeilen stehen knnen. Beispiel fr HTML:

    context char (red) '<' '>';

Alle Angaben zur Hervorhebung, die in der INF-Datei auf diese Zeile
folgen ('keywords', 'zone' etc.), werden nur zwischen '<' und '>'
bercksichtigt. Die Angabe '(red)' bestimmt die Hervorhebung fr
die Begrenzerzeichen (hier: '<' und '>').

Beispiel fr einen 'line'-Kontext in HTML:

    context line ' language="javascript">' '</script>'

Mit dieser Angabe wird ein spezieller Modus fr eingebettete
JavaScript-Routinen definiert. Wenn eine Zeile gefunden wird, die den
String

    ' language="javascript">'

irgendwo enthlt, dann wird dieser Modus mit dem Anfang der nchsten
Zeile eingeschaltet und mit dem Beginn der Zeile, die das

    '</script>'

enthlt, wieder ausgeschaltet. Alle Angaben zur Hervorhebung, die in
der INF-Datei auf die 'context'-Zeile folgen ('keywords', 'zone'
etc.), werden nur zwischen diesen Zeilen bercksichtigt. Die
<script>-Befehle selbst werden nach den Regeln, die fr HTML gelten,
hervorgehoben.


    Neu in Version 2.03
    -------------------

6. Behebt einen Fehler, der es ermglichte, mit der Maus den Cursor
hinter das Ende einer Zeile zu setzen, was zu Abstrzen fhrte.

7. Die Funktion "Zeichen vertauschen" vertauscht jetzt das Zeichen
links und rechts vom Cursor.


    Neu in Version 2.04
    -------------------

8. Die SCEleton-Laufzeitbibliothek ist um wesentliche Punkte erweitert
worden:

- Befehle zur Programmierung von Dialogboxen.
- Ein Befehl fr Popup-Mens.
- Ein Befehl, der AES-Nachrichten an alle parallel laufenden Programme
  verschickt.

Vgl. hierzu die Dokumentation in SCELREF2.HYP.

9. berhaupt ist die Doku jetzt auf dem aktuellsten Stand. Es fehlten
noch so einige Toolbox-Aufrufe.

10. Das Anhngen an bestehende Clipboard-Eintrge (CopyAppend etc.)
sollte jetzt auch im GEM-Clipboard funktionieren. Zudem werden von den
SCRAP.*-Dateien keine Backups mehr angelegt.

11. Die Befehle zum Sichern und Laden einer Arbeitsumgebung (CFG-Datei)
sind wieder im Standardmen verfgbar.


    Neu in Version 2.05
    -------------------

12. Behebt einen Fehler, der bei der bergabe von groen Parametern an
Laufzeitfunktionen zu Problemen fhren konnte.

13. Beim Laden von Makropaketen, ohne da ein Text geffnet ist, kommt
es jetzt nicht mehr zu Abstrzen.


    Neu in Version 2.06
    -------------------

14. Alle Routinen, die GEM-Applikationen starten, benutzen jetzt
automatisch das ARGV-Verfahren, wenn die Parameterliste lnger als
124 Zeichen wird. Der SCEleton-Befehl 'shell' wird demgem
gendert:

    shell(prog, parms, parallel, twait);

Der letzte Parameter wird nicht mehr bentigt, um das ARGV-Verfahren
einzuschalten. Statt dessen kann hier bestimmt werden, da unter
Singletasking-Systemen nach TOS-Programmen auf einen Tastendruck
gewartet werden soll.

15. Die Implementierung des automatischen Umbruchs wurde so gendert,
da die Absatzenden jetzt wie eigenstndige Zeichen behandelt werden,
die mit 'Return' eingefgt und mit 'Delete' bzw. 'Backspace' gelscht
werden. Die Leerzeichen an den Zeilenenden innerhalb der Abstze
sind damit nicht mehr erforderlich und werden beim Umbruch gelscht.

16. Ein Kommando eingebaut, das es ermglicht, den Inhalt des 
Makrorecorders zu lschen (Toolbox: "DeleteRecorder").

17. Ein Fehler behoben, der bei syntaktischen Hervorhebungen das
Vorparsen der Texte schon beim Laden unterdrckte. Daher werden
Kommentare etc. bei der ersten Anzeige auch dann korrekt
hervorgehoben, wenn der Cursor mitten im Text steht. Das Laden ist
dadurch nicht langsamer geworden. Die Analyse fand vorher auch schon
statt, nur wurden die Ergebnisse berschrieben ;-)

18. Bei kursiven Texten im Systemfont sollte der Cursor jetzt nicht
mehr versetzt werden.


    Neu in Version 2.10
    -------------------

19. Die Routinen zum Laden von Texten wurden berarbeitet und - vor 
allem im Zusammenhang mit dem Syntaxhighlighting - deutlich 
beschleunigt. Der bisher getriebene Aufwand ist nur dann erforderlich,
wenn die Syntaxregeln Konstrukte enthalten, die mehrere Zeilen 
berspannen.

20. Die Trennunug zwischen ASCII- und Binrmodus wird jetzt strenger
durchgehalten. Die einzigen Mglichkeiten, eine Binrdatei zu ffnen,
sind jetzt die folgenden:

    - Laden einer Binrdatei
    - Speichern eines bereits geladenen Textes als Binrdatei

Im zweiten Fall wird als Nebeneffekt das Default-Binrprofil auf
diesen Text angewandt.

21. Im Textprofildialog wird nur noch die Zeilenendevariante fr den 
Modus des aktuellen Textes (ASCII oder Binr) angezeigt. Ein 
Umschalten ist nicht mehr mglich. Die Makrofunktion 'fileformat'
erzeugt einen Laufzeitfehler, wenn fr einen ASCII-Text ein 
Binr-Zeilenende oder umgekehrt gesetzt werden soll.

22. Behebung eines Fehlers, der nach einem Neuformatieren des Textes
zum Absturz fhren konnte, weil versucht wurde, den Cursor hinter das 
Textende zu stellen.

23. Flietexte knnen nur noch mit automatischem Umbruch bearbeitet 
werden. Im Textprofildialog mssen beide Schalter gesetzt sein; in der
INF-Datei wird ein entsprechender Fehler gemeldet. Bei Zeilentexten
ist der automatische Umbruch natrlich nach wie vor alternativ
nutzbar.


    Neu in Version 2.11
    -------------------

24. Beim Syntaxhighlghting wird jetzt nicht mehr die Regel fr das
erste, sondern die fr das lngste passende Schlsselwort angewendet.


    Neu in Version 2.20
    -------------------

Da es eine ganze Weile her ist, seit ich zuletzt etwas getan habe,
kann ich mich leider nicht mehr an jede einzelne nderung erinnern.
Die wichtigsten Punkte, die neu hinzugekommen sind, sind folgende:

25. Textvergleich
Diese Funktion ermglicht es, zwei im Speicher geladene Texte zu
vergleichen. Dazu werden diese Texte in einem zweispaltigen
Vergleichsfenster angezeigt; eingefgte, gelschte und ersetzte
Zeilen werden in der Mittelspalte markiert.

26. Zeilenmarken
Neben den bisherigen Positionsmarken, die nur eine Zeilen- und
Spaltennummer konstant speicherten, gibt es jetzt Zeilenmarken. Diese
Marken "haften" an einer Zeile, d. h. sie wandern nach oben oder
unten, wenn oberhalb der markierten Zeile Text gelscht oder
eingefgt wird.

27. Statusnderung
Da JAnE jetzt als Freeware gilt, habe ich alle Programmteile, die mit
Registrierung und Nutzungseinschrnkungen zu tun haben, entfernt.

