merge
diff --git a/src/cmd/acme/cols.c b/src/cmd/acme/cols.c
index 3ac780b..31b2780 100644
--- a/src/cmd/acme/cols.c
+++ b/src/cmd/acme/cols.c
@@ -534,11 +534,12 @@
 	for(i=0; i<c->nw; i++){
 		w = c->w[i];
 		if(ptinrect(p, w->r)){
-			if(ptinrect(p, w->tagtop) || ptinrect(p, w->tag.fr.r))
+			if(ptinrect(p, w->tagtop) || ptinrect(p, w->tag.all))
 				return &w->tag;
-			if(ptinrect(p, w->body.scrollr) || ptinrect(p, w->body.fr.r))
-				return &w->body;
-			return nil;
+			/* exclude partial line at bottom */
+			if(p.x >= w->body.scrollr.max.x && p.y >= w->body.fr.r.max.y)
+				return nil;
+			return &w->body;
 		}
 	}
 	return nil;
diff --git a/src/cmd/acme/look.c b/src/cmd/acme/look.c
index db69927..66c6c66 100644
--- a/src/cmd/acme/look.c
+++ b/src/cmd/acme/look.c
@@ -365,11 +365,11 @@
 			fbuffree(s);
 			return TRUE;
 		}
-		if(around && q>=ct->q1)
-			break;
 		--nb;
 		b++;
 		q++;
+		if(around && q>=ct->q1)
+			break;
 	}
 	fbuffree(s);
 	return FALSE;