git: 9front

Download patch

ref: 3830b2d07a1dae1b7aebfa5f323ff4d47191bd42
parent: fea1840a81f0071f4f0773f2e81534f89a7ebde7
author: ppatience0 <ppatience0@gmail.com>
date: Wed May 8 16:34:50 EDT 2013

samterm: revert previous changes.

--- a/sys/src/cmd/samterm/main.c
+++ b/sys/src/cmd/samterm/main.c
@@ -359,29 +359,19 @@
 	return col;
 }
 
-int
-sptotab(Rasp *r, long p)
-{
-	int i, col, n;
-
-	col = getcol(r, p);
-	if((n = maxtab - col % maxtab) == maxtab)
-		n = 0;
-	for(i = 0; p < r->nrunes && raspc(r, p)==' ' && i<n; p++, i++)
-		;
-	return i;
-}
-
 long
 del(Rasp *r, long o, long p)
 {
-	int i;
+	int i, col, n;
 
 	if(--p < o)
 		return o;
 	if(!spacesindent || raspc(r, p)!=' ')
 		return p;
-	for(i = 0; p-1>=o && raspc(r, p-1)==' ' && i<maxtab-1; --p, i++)
+	col = getcol(r, p) + 1;
+	if((n = col % maxtab) == 0)
+		n = maxtab;
+	for(i = 0; p-1>=o && raspc(r, p-1)==' ' && i<n-1; --p, i++)
 		;
 	return p>=o? p : o;
 }
@@ -632,8 +622,6 @@
 			switch(c){
 			case '\b':
 			case 0x7F:	/* del */
-				if(spacesindent)
-					a += sptotab(&t->rasp, a);
 				l->p0 = del(&t->rasp, l->origin, a);
 				break;
 			case 0x15:	/* ctrl-u */
--