Fix copy()

Copy was using directly the line numbers and incrementing them
without calling nextln(). It also didn't worry about how
line numbers are modified when we insert new lines.
This commit is contained in:
Roberto E. Vargas Caballero 2018-03-04 17:08:14 +01:00 committed by sin
parent 504dde1373
commit 9781959581
1 changed files with 8 additions and 3 deletions

11
ed.c
View File

@ -854,14 +854,19 @@ scroll(int num)
static void
copy(int where)
{
int i;
if (!line1)
error("incorrect address");
curln = where;
for (i = line1; i <= line2; ++i)
inject(gettxt(i), AFTER);
while (line1 <= line2) {
inject(gettxt(line1), AFTER);
if (line2 >= curln)
line2 = nextln(line2);
line1 = nextln(line1);
if (line1 >= curln)
line1 = nextln(line1);
}
}
static void