home *** CD-ROM | disk | FTP | other *** search
/ Fresh Fonts 1 / freshfonts1.bin / programs / amiga / pastex / rexx / golded / tex-edit.ged < prev    next >
Text File  |  1994-03-22  |  2KB  |  102 lines

  1. /*
  2.     $VER: TeX-Edit.ged V0.96 (19.3.94) Axel Burghardt
  3.  
  4.     Rufe den Editor, wenn bei der Übersetzung ein Fehler gefunden
  5.     wurde. Der Cursor wird auf den ersten Fehler positioniert.
  6. */
  7.  
  8. Title = "TeX-Edit V0.96"
  9.  
  10. OPTIONS RESULTS
  11. SIGNAL ON SYNTAX
  12.  
  13. PARSE ARG Filename Number .
  14.  
  15. /* ---------------------- Bibliothek öffnen ----------------------- */
  16.  
  17. IF ~SHOW('L','rexxsupport.library') THEN
  18.   IF ~ADDLIB('rexxsupport.library',0,-30,0) THEN DO
  19.     say "Konnte 'rexxsupport.library' nicht öffnen!"
  20.     EXIT 20
  21.   END
  22.  
  23. CALL SETCLIP("TEXTIME",TIME('s'))
  24.  
  25. PARSE VALUE namestruc(Filename) WITH ivol idirs ibase .
  26.  
  27. Texdir = pragma('d')
  28. IF RIGHT(texdir,1)~=':' & RIGHT(texdir,1)~='/' THEN texdir = texdir || '/'
  29. IF 0 = ivol THEN DO
  30.   Errnfile = Texdir || SUBSTR(Filename,1+ivol)
  31.   Logfile  = Texdir || SUBSTR(Filename,1+ivol+idirs,ibase) || ".log"
  32. END
  33. ELSE DO
  34.   Errnfile = Filename
  35.   IF 0 = idirs THEN
  36.     Logfile = LEFT(Filename,ivol+idirs+ibase)||".log"
  37.   ELSE
  38.     Logfile = Texdir || SUBSTR(Filename,1+ivol+idirs,ibase)||".log"
  39. END
  40.  
  41. /* ----------------------- Rufe nun GoldEd ------------------------ */
  42.  
  43. IF SHOW('P','GOLDED.1') THEN DO
  44.   ADDRESS "GOLDED.1"
  45.  
  46.   'LOCK CURRENT'
  47.   'REQUEST BODY="Fehler gefunden! Logfile laden?" BUTTON="_Laden|_Abbrechen" TITLE="'Title'"'
  48.   IF Result = 0 THEN DO
  49.     'UNLOCK'
  50.     EXIT 0
  51.   END
  52.  
  53. /* ------------------- Altes Logfile schließen -------------------- */
  54.  
  55.   IF "" ~= Logfile THEN DO
  56.     'WINDOW USE="'Logfile'"'
  57.     IF 0 = RC THEN 'QUIT'
  58.     'OPEN NEW NAME="'Logfile'"'
  59.     'WINDOW ARRANGE 0'
  60.     'WINDOW USE="'Logfile'"'
  61.     'FIRST'
  62.     IF 0 ~= Number THEN DO
  63.       'FIND CASE=TRUE NEXT STRING="l.'Number'"'
  64.       'MARK SET'
  65.     END
  66.     ELSE DO
  67.       'FIND CASE=TRUE NEXT STRING="l."'
  68.       'MARK SET'
  69.       'QUERY BUFFER VAR BUFFER'
  70.       PARSE VAR Buffer "l." Number .
  71.     END
  72.   END
  73.   ELSE
  74.     'REQUEST STRING="Logfile von TeX nicht gefunden!" TITLE="'Title'"'
  75.  
  76.   'WINDOW USE="'Errnfile'"'
  77.   IF 0 ~= RC THEN
  78.     'OPEN NEW NAME="'Errnfile'"'
  79.  
  80.   IF 0~= number THEN
  81.     'GOTO LINE="'Number'"'
  82.  
  83.   'FIRST'
  84.   'UNLOCK'
  85.   EXIT 0
  86. END
  87.  
  88. /* ---------------------- Editor läuft nicht ---------------------- */
  89.  
  90. EXIT 5
  91.  
  92. /* ----------------------- Fehlerbehandlung ----------------------- */
  93.  
  94. SYNTAX:
  95.  
  96. 'REQUEST BODY="Fehler in Zeile' SIGL ':' ERRORTEXT(RC) '"'
  97. 'MARK HIDE'
  98. 'GOTO LINE='SIGL
  99. 'MARK SET'
  100. 'UNLOCK'
  101. EXIT 5
  102.