diff --git a/plumb/basic b/plumb/basic
index 5ab07ec..f728132 100644
--- a/plumb/basic
+++ b/plumb/basic
@@ -59,9 +59,18 @@
 plumb to openoffice
 plumb start openoffice $file
 
-# existing files tagged by line number:columnumber or linenumber.columnumber, go to editor
+# existing files tagged by line number:columnumber or linenumber.columnumber, twice, go to editor
 type is text
-data matches '([.a-zA-Z¡-￿0-9_/\-]*[a-zA-Z¡-￿0-9_/\-])'$twocolonaddr'
+data matches '([.a-zA-Z¡-￿0-9_/\-]*[a-zA-Z¡-￿0-9_/\-])':$twocolonaddr,$twocolonaddr
+arg isfile     $1
+data set       $file
+attr add       addr=$2-#1+#$3,$4-#1+#$5
+plumb to edit
+plumb client $editor
+
+# existing files tagged by line number:columnumber or linenumber.columnumber, twice, go to editor
+type is text
+data matches '([.a-zA-Z¡-￿0-9_/\-]*[a-zA-Z¡-￿0-9_/\-])':$twocolonaddr
 arg isfile     $1
 data set       $file
 attr add       addr=$2-#1+#$3
diff --git a/plumb/fileaddr b/plumb/fileaddr
index cd2f120..f5595bd 100644
--- a/plumb/fileaddr
+++ b/plumb/fileaddr
@@ -1,4 +1,4 @@
 addrelem='((#?[0-9]+)|(/[A-Za-z0-9_\^]+/?)|[.$])'
 addr=:($addrelem([,;+\-]$addrelem)*)
 
-twocolonaddr = :([0-9]+)[:.]([0-9]+)
+twocolonaddr = ([0-9]+)[:.]([0-9]+)
diff --git a/src/cmd/acme/text.c b/src/cmd/acme/text.c
index 3c08cd6..5a491b1 100644
--- a/src/cmd/acme/text.c
+++ b/src/cmd/acme/text.c
@@ -808,6 +808,7 @@
 	switch(r){
 	case 0x06:	/* ^F: complete */
 	case Kins:
+		typecommit(t);
 		rp = textcomplete(t);
 		if(rp == nil)
 			return;
@@ -1079,6 +1080,8 @@
 {
 	int qe;
 	int nl;
+	int tsd;
+	int nc;
 	uint q;
 
 	if(t->what != Body){
@@ -1091,7 +1094,20 @@
 	if(doselect)
 		textsetselect(t, q0, q1);
 	qe = t->org+t->fr.nchars;
-	if(t->org<=q0 && (q0<qe || (q0==qe && qe==t->file->b.nc+t->ncache)))
+	tsd = FALSE;	/* do we call textscrdraw? */
+	nc = t->file->b.nc+t->ncache;
+	if(t->org <= q0){
+		if(nc==0 || q0<qe)
+			tsd = TRUE;
+		else if(q0==qe && qe==nc){
+			if(textreadc(t, nc-1) == '\n'){
+				if(t->fr.nlines<t->fr.maxlines)
+					tsd = TRUE;
+			}else
+				tsd = TRUE;
+		}
+	}
+	if(tsd)
 		textscrdraw(t);
 	else{
 		if(t->w->nopen[QWevent] > 0)
