Report zum GME 1.0 vom 13.12.1990

Zusammen mit der demnchst erscheinenden neuen Version von Megamax-Modula
gibt es auch eine revidierte Fassung des GME (integrierter Editor fr die
MM2-Shell). Fr Tester und Kufer steht die aktuelle Version der compilierten
Module im Gruppenprogrammteil der G2E-Gruppe in der MAUS-STA zur Verfgung.
Sie ist nur mit dem neuen MM2-System zusammen lauffhig. Ich bitte alle,
ber eventuelle Fehler oder Verbesserungsvorschlge in der G2E-Gruppe
Bericht zu geben.

                                ***
Der Editor wurde im Wesentlichen zu folgenden fnf Modulen zusammengezogen:

Neues Modul             Darin bisherige
-----------------------------------------------------------
GMEBase                 KeyBase, ScreenBase (Low-Level),
                        EditConst, EditTypes, EditBefehle,
                        EditBuffer, EditDirectory

GMEConfig               EditKey (Keyboard-Anpassung)

GMEKernel               EditKernel, EditUtil, EditScreen (High-Level),
                        EditLine

GMEFile                 EditFile, EditCommand, Teile von EditBase

GMEditor                Editor, EditLook

GME                     GME (nur Namensnderung f. MM2-System)


                                ***
Bugfixes (Stand 12. 12. 90)

* Absturz beim (versehentlichen) Laden von Programmcode

Ursache: In der Datei kommen Sequenzen aus DLE und einem weiteren Byte vor.
DLE wurde als "Blank Compression Code" interpretiert, das folgende Byte
als die Anzahl Blanks am Zeilenende - ASCII-Code von Blank.

Abhilfe: Es wird berprft, ob das DLE wirklich am Zeilenanfang steht.
Auerdem wird berprft, ob das nchste "Zeichen" >= ' ' ist.
Drittens prft "FastCopyExpand", ob die Zeile nicht zu lang wird.
Diese nderungen bitte in Assembler nachtragen (Modula-Code luft allerdings
auch ziemlich schnell).

Beim Laden von Codefiles erhlt man jetzt ein Warnungen "Zeile zu
lang". Ein Versuch mit G2E.PRG brachte jedoch bei mir keinen Absturz mehr.

* Schreiben auf den Bildschirm, wenn Dropdown-Men aktiv ist

Behoben durch Aufrufe von UpdateWindow (TRUE/FALSE)

* Liest letzte Zeile nicht, wenn diese kein CR hat.

Sollte behoben sein, bitte testen.
>> ist jetzt OK (TT)

Bugfixes (Stand 13.12.90) von TT
--------------------------------

* Nach Accessory-Close bleibt grauer Hintergrund.

  Behoben, indem in GMEBase.InitAES ein AES-Window auf die gesamte Desktop-
  Gre erffnet wird.

* Auerdem wurde die Std-Config-Datei wieder in GME.GME (wg. Doku) umbenannt
  und die Textausgaben in LoadConfig leicht verndert.

* Das Modul GMEKey wurde wg. der Doku in GMEConfig umbenannt

* Die Default-Einstellung von "Modus" enthlt NICHT "MakeBAK", da dies bei
  Floppy-Usern schnell und unbemerkt zum Disk-berlauf fhrt


Bugfixes (Stand 09.03.91) von TT
--------------------------------

* KbdEvents werden am Ende ggf. wieder deinstalliert

* Cursor wird nach ^C (Cut) richtig gesetzt - kein Buserror mehr nach
  SelectLine/Cut und ein paar Cursor Up-Bewegungen.

* Maustasten-Befehle werden wieder geliefert, solange Maus niedergedrckt.

* InitConfig wird VOR LoadConfig (GME.GME) aufgerufen. Ist dann KonfigSpeichern
  nicht aktiv, wird LoadConfig nicht aufgerufen.

----

                                    ***

                                Optimierungen

Alle Aufrufe in MyConversions direkt durch Convert/StrConv ersetzt.

Statt der Storage-Verwaltung von MM2 wird jetzt die Granule-Heapverwaltung
zur Verwaltung der Texte benutzt, da sie weniger Speicher bentigt.

Cursorbewegung bei Autorepeat schneller durch optimierte AES-Aufrufe.

TT 13.12.90: GMEBase.Init: Das Feld wird durch ein Aggregat zugewiesen,
                da hiermit der Code krzer wird.

                                    ***
                                
                                Neue Features

Der GME speichert und ldt jetzt bei entsprechender Voreinstellung die
Parameter eines bearbeiteten Textes. Das bedeutet: Beim Laden eines Textes
kehrt die Cursorposition wieder, die beim Speichern bestand. Auerdem
werden Voreinstellungen wie berschreiben, Autoindent und die Position von
Sprungmarken gespeichert.

Dazu wird zu einer Datei "PROGRAMM.X" eine Zusatzdatei "PROGRAMM.GME"
gespeichert.

Die Voreinstellung beim Start des Editors wird in CFG.GME gespeichert. Wenn
das Laden von Konfiguration eingestellt ist, aber keine .GME-Datei gefunden
wird, erscheint eine Meldung. In diesem Fall werden die allgemeinen Vor-
einstellungen fr den geladenen Text wirksam.

Erkennt ^Z als Textende.

Block-Einrckfunktion benutzt jetzt auch TAB (vorwrts).

                                      ***
                           Nichtdokumentierte Befehle

^KJ = Lade globale Konfiguration.

Johannes Leckebusch

