home *** CD-ROM | disk | FTP | other *** search
- /* $VER: M2Error V 0.98 © 1994 Fin Schuppenhauer */
- /**
- Lädt die Fehlerdatei zum aktuellen Text und zeigt den nächsten
- Fehler an.
-
- 14. März 1994 0.9
- 19. März 1994 Völlig neu geschrieben; benutzt jetzt das Pro-
- gramm "RexxM2Error" -> 0.95
- 20. März 1994 Abfrage, ob der aktuelle Quelltext auch mit dem von
- "RexxM2Error" übereinstimmt -> 0.96
- 29. März 1994 Benutzt die ursprüngliche Textlänge (gemeint ist hier-
- mit die Länge des Textes beim Laden der Fehlerliste)
- und die aktuelle, um den Cursor besser zu positionieren.
- 12. Juni 1994 "RexxM2Error" wird auf Wunsch gestartet.
- **/
-
- OPTIONS RESULTS /* enable return codes */
-
- if (LEFT(ADDRESS(), 6) ~= "GOLDED") then /* not started by GoldEd ? */
- address 'GOLDED.1'
-
- 'LOCK CURRENT' /* lock GUI, gain access */
- OPTIONS FAILAT 6 /* ignore warnings */
- SIGNAL ON SYNTAX /* ensure clean exit */
-
-
- /* ------------------------ INSERT YOUR CODE HERE: ------------------- */
-
-
- 'QUERY CAT'
- isGerman = (result = "deutsch")
-
- 'QUERY DOC VAR DOCNAME'
-
- if (right(docname, 4) ~= '.mod') & (right(docname, 4) ~= '.def') then do
- if (isGerman) then
- 'REQUEST BODY="Dies ist kein Modula-2 Quelltext!" BUTTON="Das stimmt"'
- else
- 'REQUEST BODY="This is no Modula-2 source!" BUTTON="I see"'
- 'UNLOCK'
- EXIT
- end
-
- if ~show('P', 'REXXM2ERROR') then do
- if (isGerman) then
- 'REQUEST BODY="RexxM2Error läuft nicht!|Soll ich es starten." BUTTON=Ja|Abbrechen'
- else
- 'REQUEST BODY="RexxM2Error is not running!|Should i start that program." BUTTON=Yes|Cancel'
- if result = '0' then do
- 'UNLOCK'
- EXIT
- end
- ADDRESS COMMAND 'run >NIL: M2:RexxM2Error'
- if ~show('P', 'REXXM2ERROR') then do
- if (isGerman) then
- 'REQUEST BODY="Startversuch fehlgeschlagen!" BUTTON=Abbruch'
- else
- 'REQUEST BODY="Starting failed!" BUTTON=Cancel'
- 'UNLOCK'
- EXIT
- end
- end
-
- /* Stimmt der aktuelle Quelltext mit dem von "RexxM2Error" überein? */
- ADDRESS 'REXXM2ERROR' 'QUERY FILE'
- if rc = 0 then
- if result ~= docname'E' then do
- if (isGerman) then
- 'REQUEST BODY="Fehlerdatei paßt nicht!" BUTTON=Ok'
- else
- 'REQUEST BODY="Errorfile does not match!" BUTTON=Ok'
- 'UNLOCK'
- EXIT
- end
-
- ADDRESS 'REXXM2ERROR' 'ERROR'
- errinfo = result
-
- if rc = 0 then do
- 'EXALL'
- 'QUERY BYTES'
- bytediff = result - getclip('Bytes')
- offset = word(errinfo,1) + bytediff
- errnum = word(errinfo,2)
- errmsg = subword(errinfo,3)
- 'GOTO BYTE='offset
- if (isGerman) then
- 'REQUEST BODY="Fehler Nummer 'errnum':|'errmsg'" BUTTON=Ok'
- else
- 'REQUEST BODY="Error number 'errnum':|'errmsg'" BUTTON=Ok'
- end
- else do
- if (isGerman) then
- 'REQUEST BODY="Kein weiterer Fehler." BUTTON=Ok'
- else
- 'REQUEST BODY="No more errors." BUTTON=Ok'
- ADDRESS 'REXXM2ERROR' 'RESET'
- end
-
-
- /* ---------------------------- END OF YOUR CODE --------------------- */
-
- 'UNLOCK' /* VERY important: unlock GUI */
- EXIT
-
- SYNTAX:
-
- SAY "Sorry, error line" SIGL ":" ERRORTEXT(RC) ":-("
- 'UNLOCK'
- EXIT
-
-