Some Sc6.8 bug fixes
Tom Tkacik
tkacik at kyzyl.mi.org
Sun Sep 23 11:46:57 AEST 1990
There seem to be a couple of bugs in sc6.8.
Included are a couple of patches I made.
1. ^W does not work properly. ^W is supposed to return a cell's
expression. In sc6.8 is returns the entire edit line
followed by the cell's expression.
The fix is in sc.c.
I fixed it by returning it to what it was in sc6.1. I do not know
why it had been changed.
2. When the l command is used at the last allocated column of the table,
or the j command is used at the last row, the table is grown,
but the cursor does not move.
Patch is to cmd.c.
3. When using g to goto a column that is not yet in the table,
(eg., goto [v] dz0), the cursor ends up in column ei0.
It appears that the table grows by 10 columns beyond the selected
column, and the cusor goes to the last column.
It works when extending the number of rows.
A typo in vmtbl.c.
--
Tom Tkacik tkacik at kyzyl.mi.org
Speaking only for myself here in Royal Oak.
------------------------------------------------
*** sc.c~ Thu Sep 13 08:50:17 1990
--- sc.c Sat Sep 22 21:35:25 1990
***************
*** 871,881
case ctl('w'): /* insert variable expression */
if (linelim > 0) {
- char *temp, *temp1;
- int templim;
-
- temp = strcpy(xmalloc((unsigned)(strlen(line)+1)),line);
- templim = linelim;
editexp(currow,curcol);
temp1= strcpy(xmalloc((unsigned)(strlen(line)+1)),line);
strcpy(line, temp);
--- 871,876 -----
case ctl('w'): /* insert variable expression */
if (linelim > 0) {
editexp(currow,curcol);
}
break;
***************
*** 877,888
temp = strcpy(xmalloc((unsigned)(strlen(line)+1)),line);
templim = linelim;
editexp(currow,curcol);
- temp1= strcpy(xmalloc((unsigned)(strlen(line)+1)),line);
- strcpy(line, temp);
- linelim = templim;
- ins_string(temp1);
- xfree(temp);
- xfree(temp1);
}
break;
--- 872,877 -----
case ctl('w'): /* insert variable expression */
if (linelim > 0) {
editexp(currow,curcol);
}
break;
*** cmds.c~ Thu Sep 13 08:50:28 1990
--- cmds.c Sat Sep 15 19:16:06 1990
***************
*** 1277,1282
else
if (!growtbl(GROWCOL, 0, arg)) /* get as much as needed */
break;
while(col_hidden[curcol]&&(curcol<maxcols-1))
curcol++;
}
--- 1277,1284 -----
else
if (!growtbl(GROWCOL, 0, arg)) /* get as much as needed */
break;
+ else
+ curcol++;
while(col_hidden[curcol]&&(curcol<maxcols-1))
curcol++;
}
***************
*** 1292,1297
else
if (!growtbl(GROWROW, arg, 0)) /* get as much as needed */
break;
while (row_hidden[currow]&&(currow<maxrows-1))
currow++;
}
--- 1294,1301 -----
else
if (!growtbl(GROWROW, arg, 0)) /* get as much as needed */
break;
+ else
+ currow++;
while (row_hidden[currow]&&(currow<maxrows-1))
currow++;
}
*** vmtbl.c~ Thu Sep 13 08:51:08 1990
--- vmtbl.c Sun Sep 16 00:04:18 1990
***************
*** 49,55
if (*colp < 0)
*colp = 0;
else if (*colp >= maxcols)
! { if (!growtbl(GROWCOL, 0, *colp));
*colp = maxcols-1;
}
}
--- 49,55 -----
if (*colp < 0)
*colp = 0;
else if (*colp >= maxcols)
! { if (!growtbl(GROWCOL, 0, *colp))
*colp = maxcols-1;
}
}
--
Tom Tkacik tkacik at kyzyl.mi.org
Speaking only for myself here in Royal Oak.
More information about the Comp.sources.bugs
mailing list