Commit Diff


commit - 276bf4edf1829a03198b9b35152af35eacf51061
commit + 4999080d5b0c41a3aab78414a0329154441d1dce
blob - 50de8dd033eb8ab738919eeff523d797ed5e55c5
blob + 34c155cf633850aaa9b38f26a58c8fc69cc5c05f
--- src/cmd/9term/9term.c
+++ src/cmd/9term/9term.c
@@ -302,6 +302,14 @@ threadmain(int argc, char *argv[])
 	draw(screen, screen->r, cols[BACK], nil, ZP);
 	geom();
 	loop();
+}
+
+int
+isexpand(Rune r)
+{
+	return r=='_' || ('0' <= r && r <= '9') 
+		|| ('a' <= r && r <= 'z')
+		|| ('A' <= r && r <= 'Z');
 }
 
 void
@@ -992,7 +1000,7 @@ bswidth(Rune c, uint start, int eatnl)
 			break; 
 		}
 		if(c == 0x17){
-			eq = isalnum(r);
+			eq = isexpand(r);
 			if(eq && skipping)	/* found one; stop skipping */
 				skipping = 0;
 			else if(!eq && !skipping)
@@ -1600,10 +1608,10 @@ doubleclick(uint *q0, uint *q1)
 		}
 	}
 	/* try filling out word to right */
-	while(*q1<t.nr && isalnum(t.r[*q1]))
+	while(*q1<t.nr && isexpand(t.r[*q1]))
 		(*q1)++;
 	/* try filling out word to left */
-	while(*q0>0 && isalnum(t.r[*q0-1]))
+	while(*q0>0 && isexpand(t.r[*q0-1]))
 		(*q0)--;
 }