diff --git a/images/apple/PLASMA2.2mg b/images/apple/PLASMA2.2mg index 76e8995..c996d54 100644 Binary files a/images/apple/PLASMA2.2mg and b/images/apple/PLASMA2.2mg differ diff --git a/src/toolsrc/ed.pla b/src/toolsrc/ed.pla index f45658f..1968c90 100755 --- a/src/toolsrc/ed.pla +++ b/src/toolsrc/ed.pla @@ -247,7 +247,7 @@ def strpoolalloc(size) end def striplead(strptr, chr)#0 byte striplen - + for striplen = 1 to ^strptr if ^(strptr + striplen) <> chr break @@ -391,7 +391,7 @@ end def strtonum(strptr) word num, i byte c - + num = 0 for i = 1 to ^strptr c = ^(strptr + i) & $7F @@ -438,9 +438,8 @@ def readtxt(filename, startline)#0 putln end def writetxt(filename)#0 - word i, strptr - byte refnum, j, chr - byte txtbuf[MAXLNLEN+2] + word i + byte refnum, txtbuf[MAXLNLEN+2] fileio:destroy(filename) fileio:create(filename, $04, $00) // full access, TXT file @@ -558,7 +557,7 @@ end def drawscrn(toprow, ofst)#0 byte row, numchars, lofst word strptr, scrnptr - + lofst = flags & gutter if lofst drawgutter(toprow, ofst) @@ -598,7 +597,7 @@ def drawscrn(toprow, ofst)#0 end def cursoff#0 word scrnptr - + if flags & showcurs ^cursptr = underchr if flags & gutter @@ -607,13 +606,13 @@ def cursoff#0 ^(scrnptr+2) = ^(scrnptr+2) | $80 fin flags = flags & ~showcurs - + fin end def curson#0 byte lofst word scrnptr - + if !(flags & showcurs) lofst = flags & gutter if lofst @@ -644,7 +643,7 @@ def redraw#0 end def curshpos(hpos)#1 byte needredraw - + needredraw = TRUE if hpos < 0; hpos = 0; fin if hpos > MAXLNLEN; hpos = MAXLNLEN; fin @@ -777,7 +776,7 @@ def cursleft#0 end def pgleft#0 word i, strptr - + strptr = txtlinbuf=>[cursrow] if curscol > ^strptr i = ^strptr @@ -818,7 +817,7 @@ def cursright#0 end def pgright#0 word i, strptr - + strptr = txtlinbuf=>[cursrow] if curscol >= ^strptr i = curscol + 8 @@ -849,7 +848,7 @@ end // def findline(strptr, start)#1 byte scan, i, upstr[MAXLNLEN+1] - + if ^strptr >= findstr lnupcpy(@upstr, strptr) for scan = start to upstr - findstr + 1 @@ -1098,7 +1097,7 @@ def printtxt(slot)#0 end def freesel#0 word i - + for i = 0 to numcliplines - 1 if cliplinbuf=>[i] <> @nullstr delstr(cliplinbuf=>[i]) @@ -1109,7 +1108,7 @@ def freesel#0 end def selrange#2 word first, last - + if flags & selection if cursrow > selrow first, last = selrow, cursrow @@ -1129,7 +1128,7 @@ def beginsel#0 end def copysel#0 word firstsel, lastsel - + freesel firstsel, lastsel = selrange for numcliplines = 0 to lastsel - firstsel @@ -1140,7 +1139,7 @@ def copysel#0 end def cutsel#0 word firstsel, lastsel - + freesel firstsel, lastsel = selrange if lastsel - firstsel < MAXCLIPLINES @@ -1169,7 +1168,7 @@ def cutsel#0 end def pastesel#0 word p - + if numcliplines and numcliplines + numlines < MAXLINES memcpy(@txtlinbuf=>[cursrow + numcliplines], @txtlinbuf=>[cursrow], (numlines - cursrow) * 2) for p = 0 to numcliplines - 1 @@ -1185,7 +1184,7 @@ end def indentsel#0 byte indentstr[MAXLNLEN+1], l word firstsel, lastsel, i - + freesel firstsel, lastsel = selrange for i = firstsel to lastsel @@ -1205,7 +1204,7 @@ end def undentsel#0 byte undentstr[MAXLNLEN+1], l word firstsel, lastsel, i - + freesel firstsel, lastsel = selrange for i = firstsel to lastsel @@ -1230,12 +1229,12 @@ def undentsel#0 end def autoindent(strptr)#0 byte i - + for i = 1 to ^strptr if ^(strptr + i) <> keyspace break fin - next + next curshpos(i - 1) end def openline(row) @@ -1289,7 +1288,7 @@ def splitline#0 memcpy(@splitstr + 2, @splitstr + 1, splitstr) splitstr[1] = keyspace splitstr++ - next + next txtlinbuf=>[cursrow + 1] = newstr(@splitstr) splitstr = curscol memcpy(@splitstr + 1, txtlinbuf=>[cursrow] + 1, splitstr) @@ -1303,7 +1302,7 @@ def splitline#0 break fin next - curshpos(curscol - 1) + curshpos(curscol - 1) fin fin else