1994-03-19
=======================================================================

H{r f|ljer en beskrivning av de {ndringar som har gjorts i UNSQUEZ
version 02.07. Dessa finns inlagda i filen UNSQUEZ.BAS.

          Rad  Kommentar
-----------------------------------------------------------------------
           28  Sp{rr i form av ej anv{nd COMMON-variabel borttagen.
               Se {ven rad 9918. Jan-Olof Svensson <6057>
           37  Raden flyttad. Variabel borttagen. Se rad 158. <6057>
  125 -   127  H{nvisning till originalversionen. <6057>
          158  Se rad 37.
          160  Namngiven konstant f|r maxgr{ns inf|rd. Se {ven raderna
               163, 180 och 196. <ldab/fl>
          163  Vektor borttagen. Det enda som anv{ndes var de b}da
               minustecknen och "NOT ". Dessa har i st{llet lagts in
               i raderna 5615 och 5621.
               Se {ven raderna 160, 210-232 och 272. <6057>
          180  Se rad 160.
          185  Varning f|r liten stackstorlek inf|rd. <ldab/fl>
          196  Se rad 160.
  210 -   232  Se rad 163.
          249  Ej anv{nd variabel ersatt av NetUsed och DoUsed. Se {ven
               raderna 8230-8235. <6057>
          272  Se rad 163.
          723  BLK,EL och GBLK g|r att programmet klarar flera program
               f|r ABC806. <6057>
          847  Programmet skrev ut GHOL som GMOL. <6057>
    901, 1004  [ndrad inmatning. <ldab/fl>
               ": " tillkommer. <6057> Se raderna 1154, 1210 och 1248.
         1065  Programmet gjorde en extra radmatning om man sj{lv angav
               filtyp f|r utfilen. <6057>
         1103  En petitess kanske, men filnumret {r ju inte n}gon
               logisk variabel (NOT S skulle ocks}, felaktigt, tolkas
               som sant). <6057>
         1127  ON ERROR GOTO h{nvisade till fel radnummer. <6057>
         1154  Se rad 901.
         1210  "?" inf|rd som option. Se {ven raderna 1250 och 1261.
               <ldab/fl>
         1248  Se rad 901.
 1250 -  1255  F|rklarande text kan nu f}s med option "?". Se {ven rad
               1210. <ldab/fl>
   1261, 1364,
   1416, 1420  E borttagen som option. Se raderna 9896 och 9918. <6057>
   1409, 1423  Logiska variabler hade icke-logiska v{rden. <6057>
         1427  Hopp till n{sta rad borttaget. <6057>
         1659  Positioneringen hamnade en position f|r l}ngt in i
               filen. (Det {r bara idkoden till listskyddet som h{mtas,
               s} det gjorde inte s} mycket.) <6057>
         1715  Tidigare genomf|rd {ndring: N}gon v{nlig sj{l har de-
               aktiverat listskyddet genom att byta ut internkoden f|r
               CALL mot koden f|r PEEK. (Listskyddet fungerade ju {nd}
               inte p} grund av felet i rad 1659.)
         1730  Programmet godtar nu ocks} filer med 144 som f|rsta kod.
               Texten i felmeddelandet har {ndrats. <ldab/fl>
         2510  Stavfel. <6057>
   2988, 3025  NAME gav f|r tidigt sats-slut i ELSE-delen av IF-satser.
               AS riskerade ocks} att skrivas ihop med n{sta rad.
               Ex:
                 IF B THEN B=0 ELSE NAME 'MF1:TAL.TMP' AS 'TAL.DAT'
               skrevs ut som
                 IF B THEN B=0 ELSE NAME 'MF1:TAL.TMP' :  AS 'TAL.DAT'
               (Se {ven rad 9172.) <6057>
   3062, 3071  Rader markerade med ? ger inte l{ngre synkfel. <6057>
         3149  Argument tillkommer. Se rad 8568. <ldab/fl>
         3737  Funktionsanropet gjordes med icke-logiskt v{rde till en
               logisk formell parameter. <6057>
         5299  Argument tillkommer. Se rad 8568. <ldab/fl>
         5369  Lokal variabel inlagd. Se rad 6112. <6057>
         5377  WHILE hade icke-logiskt villkor. <6057>
   5615, 5621  Se rad 163.
         5660  Tillkommer. Se rad 8765 <ldab/fl>
         5729  Programmet angav fel l{ngd i dimensioneringar d{r l{ngd
               utel{mnats.
               Ex:
                 DIM B$(20)
               skrevs ut som:
                 DIM B$(20)=80%
               vilket sedan gav felmeddelande om man tilldelade mer {n
               80 tecken till n}got av vektorelementen. (Se sidan 51 i
               Bit f|r bit ...) Se {ven rad 6675. <ldab/fl>
          5755,
    5766, 5868 Argument tillkommer. Se rad 8568. <ldab/fl>
 6112 -  6118, Om en str{ng inneh|ll ej skrivbara tecken, t.ex. A$="  "
 6127 -  6140  i st{llet f|r A$=CHR$(15,21), s} kunde programmet tappa
               flera rader. Se rad 5369. <6057>
   6594, 6610  Kodningen |verensst{mde inte med programstrukturen. En
               och samma instruktion var kodad p} tre olika st{llen.
               Se {ven raderna 6621 och 6939. <6057>
         6621  Raden utg}r eftersom iterationen har tagits bort. Se
               {ven rad 6903. <ldab/fl>
   6642, 6660  Villkorets ELSE-del flyttad. <6057>
         6674  Villkoret gav icke-logiskt resultat. <6057>
         6675  Se rad 5729.
 6701 -  6812  Utg}r. <ldab/fl>
         6825  Argument tillkommer. Se rad 8568. <ldab/fl>
   6851, 6860  Kodningen f|renklad. <6057>
         6903  Se rad 6621.
         6914  Utg}r. <ldab/fl>
   6939, 6953  Se rad 6594.
   7233, 7378,
         7394  Programmet tog bara h{nsyn till den bearbetande datorns
               arbetsl{ge (INTEGER/FLOAT), vilket kunde leda till ofri-
               villiga typkonverteringar.
               Ex:
                 10 INTEGER
                 20 B.=4.5
                 30 D.=2.
                 40 E.=B./D.
               skrevs i FLOAT-mode ut som
                 20 INTEGER
                 22 B=4.5
                 29 D=2
                 34 E=B/D
               d{r B tilldelas v{rdet 5 och E v{rdet 2 i st{llet f|r
               4.5 respektive 2.25. P} samma s{tt kunde heltal bli
               flyttal i INTEGER-mode.
               <6057>
   7586, 7611  Se rad 7678.
         7657  Logisk variabel hade ibland icke-logiskt v{rde. <6057>
 7678 -  7686  CD och FILESTAT f|r bland annat LUX-NET. <6057>
         7689,
         7870  Raden flyttad till 8240. <6057>
   7887, 7908  Se rad 8230.
   8179, 8193  Programmet blandade ihop FIRST och LAST.
               Raden:
                 ISAM READ #5,A$ INDEX I$ FIRST
               skrevs ut som:
                 ISAM READ #5,A$ INDEX I$ LAST
               och vice versa. <6057>
 8230 -  8235  NET och UFD f|r LUX-NET. <6057>
               DO tidigare inlagt av <ldab/fl>
         8237  Stefan Franks <5452> DO f|r k|rning av kommandofiler in-
               lagt. <6057>
         8240  Se rad 7870.
   8283, 8293,
         8340  LAMP f|r Facit DTC2. <6057>
 8486 -  8542  Ny funktion som klarar tabulering med kommatecken.
               Ex:
                 ; 'Detta skrivs till v{nster',,,'Detta till h|ger!'
               Johan Olofsson <5809>
         8568  Argument och lokal variabel tillkommer. Se {ven raderna
               3149, 5299, 5755, 5766, 5868, 6825, 8724 och 8765-8800.
               <ldab/fl>
               Den lokala variabeln omd|pt f|r att st{mma med program-
               mets egna regler f|r namngivning. <6057>
         8684  Funktionsanropet gjordes med icke-logiskt v{rde till en
               logisk formell parameter. <6057>
         8724  Se rad 8568. <ldab/fl>
 8765 -  8800  Programmet missade dimensioneringar d{r b}da index-
               gr{nserna angavs.
               Ex:
                 DIM B(2:5)
                 DIM F.(E,-1:7)
               Skrevs ut som:
                 DIM B(5)
                 DIM F.(-1,7)
               Se {ven raderna 5660 och 8568. <ldab/fl>
         8869  Funktionsanropet gjordes med icke-logiskt v{rde till en
               logisk formell parameter. <6057>
   9172, 9209  NAME gav f|r tidigt sats-slut i THEN-delen av IF-satser.
               AS riskerade ocks} att skrivas ihop med n{sta rad.
               Ex:
                 50 IF B THEN NAME 'MF1:TAL.TMP' AS 'TAL.DAT'
                 60 ; D$
               skrevs ut som
                 50 IF B THEN NAME 'MF1:TAL.TMP' : AS 'TAL.DAT'; D$
               (Se {ven rad 2988.) <6057>
         9685  Filnumrets datatyp {ndrad. <6057>
         9846  Villkoret gav icke-logiskt resultat. <6057>
         9896  Om en global variabel tilldelades inom en funktion d{r
               man deklarerat n}gra lokala variabler av samma typ, s}
               kunde tilldelningen felaktigt g|ras till en lokal varia-
               bel med samma namn.
               Ex:
                 10 DIM A$=10
                 20 END
                 30 DEF FNC$ LOCAL D$=5,E$=10
                 40   A$="Global"
                 50   RETURN ""
                 60 FNEND
               skrevs ut som
                 20 DIM B$=10
                 27 END
                 28 DEF FNR28$ LOCAL A$=5,B$=10
                 46   B$="Global"
                 58   RETURN ""
                 62 FNEND
               F|r att undvika detta m}ste option E alltid anv{ndas,
               och den har d{rf|r gjorts obligatorisk. (Se {ven rad
               9918.) <6057>
         9918  F|rfattaren hade lagt in en sp{rr i programmet.
               Meningen var att om man lyckats f} UNSQUEZ att godta
               sig sj{lv som infil, och sedan f|rs|kte k|ra den .BAS-
               fil som skapats, s} skulle man f} ett felmeddelande
               som h{nvisade till den rad d{r copyright-meddelandet
               st}r.
               Tyv{rr hade detta den tr}kiga sidoeffekten att ALLA
               program som inneh}ller COMMON-variabler riskerade att
               bli felaktiga. Namnet p} den f|rsta COMMON-variabeln
               kom att anv{ndas p} nytt i n{rmast f|ljande DIM-sats,
               eller vid tilldelning av en tidigare ej dimensionerad
               variabel.
               Ex.
                 COMMON B$=30
                 DIM C$=60
               skrevs ut som
                 COMMON B$=30
                 DIM B$=60
               F|r att f} r{tt variabelnamn m}ste programmet alltid
               k|ras med option E n{r filen inneh}ller COMMON- eller
               lokala variabler. F|r att undvika att man missar detta
               har optionen nu gjorts obligatorisk.
               I originalversionen fungerade E-optionen inte alls i
               fr}ga om COMMON-variabler p} grund av att villkoren gav
               icke-logiska delresultat. (Se {ven rad 9896.) <6057>
         9991  Kontroll av minimiv{rde tillkommer. <ldab/fl>
 10026, 10028  Felmeddelandet f|rtydligat. <ldab/fl>
        10050  Utg}r. <ldab/fl>
        10052  Funktionsv{rdets datatyp {ndrad. <6057>
        10100  Felmeddelandet f|rtydligat. <ldab/fl>
        10124  Utg}r. <ldab/fl>
        10342  Villkoret gav icke-logiskt resultat. <6057>
        10531  Funktionen missade bin{ra str{ngar som enbart bestod av
               tecken mindre {n CHR$(32). <ldab/fl>
        10559,
 10764, 10832  Villkoren gav icke-logiska resultat. <6057>
-----------------------------------------------------------------------
