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.
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.
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.
": " 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.
1248 Se rad 901.
1250 - 1255 F|rklarande text kan nu f}s med option "?". Se {ven rad
1210.
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.
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.
3737 Funktionsanropet gjordes med icke-logiskt v{rde till en
logisk formell parameter. <6057>
5299 Argument tillkommer. Se rad 8568.
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
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.
5755,
5766, 5868 Argument tillkommer. Se rad 8568.
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.
6642, 6660 Villkorets ELSE-del flyttad. <6057>
6674 Villkoret gav icke-logiskt resultat. <6057>
6675 Se rad 5729.
6701 - 6812 Utg}r.
6825 Argument tillkommer. Se rad 8568.
6851, 6860 Kodningen f|renklad. <6057>
6903 Se rad 6621.
6914 Utg}r.
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
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.
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.
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.
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.
10026, 10028 Felmeddelandet f|rtydligat.
10050 Utg}r.
10052 Funktionsv{rdets datatyp {ndrad. <6057>
10100 Felmeddelandet f|rtydligat.
10124 Utg}r.
10342 Villkoret gav icke-logiskt resultat. <6057>
10531 Funktionen missade bin{ra str{ngar som enbart bestod av
tecken mindre {n CHR$(32).
10559,
10764, 10832 Villkoren gav icke-logiska resultat. <6057>
-----------------------------------------------------------------------