diff --git a/plumb/initial.plumbing b/plumb/initial.plumbing
new file mode 100644
index 0000000..b2ac971
--- /dev/null
+++ b/plumb/initial.plumbing
@@ -0,0 +1,5 @@
+# to update: cat $HOME/lib/plumbing | 9p write plumb/rules
+
+editor = acme
+include basic
+
diff --git a/src/cmd/acme/acme.c b/src/cmd/acme/acme.c
index 87924ca..fbfb9f1 100644
--- a/src/cmd/acme/acme.c
+++ b/src/cmd/acme/acme.c
@@ -45,7 +45,7 @@
 
 void	acmeerrorinit(void);
 void	readfile(Column*, char*);
-int	shutdown(void*, char*);
+static int	shutdown(void*, char*);
 
 void
 derror(Display *d, char *errorstr)
@@ -270,7 +270,7 @@
 
 int	dumping;
 
-int
+static int
 shutdown(void *v, char *msg)
 {
 	int i;
diff --git a/src/cmd/acme/cols.c b/src/cmd/acme/cols.c
index 14a715b..6ad3058 100644
--- a/src/cmd/acme/cols.c
+++ b/src/cmd/acme/cols.c
@@ -472,7 +472,7 @@
 	}
 	/* is it a flick to the right? */
 	if(abs(p.y-op.y)<10 && p.x>op.x+30 && rowwhichcol(c->row, p)==c)
-		p.x += Dx(w->r);	/* yes: toss to next column */
+		p.x = op.x+Dx(w->r);	/* yes: toss to next column */
 	nc = rowwhichcol(c->row, p);
 	if(nc!=nil && nc!=c){
 		colclose(c, w, FALSE);
diff --git a/src/cmd/mkfile b/src/cmd/mkfile
index 191ecfe..bd13a77 100644
--- a/src/cmd/mkfile
+++ b/src/cmd/mkfile
@@ -12,3 +12,4 @@
 
 <$PLAN9/src/mkdirs
 
+dir-install: $PLAN9/bin/yacc
diff --git a/src/cmd/plumb/plumb.c b/src/cmd/plumb/plumb.c
index a10f2c3..d693ed5 100644
--- a/src/cmd/plumb/plumb.c
+++ b/src/cmd/plumb/plumb.c
@@ -9,7 +9,7 @@
 void
 usage(void)
 {
-	fprint(2, "usage:  plumb [-p plumbfile] [-a 'attr=value ...'] [-s src] [-d dst] [-t type] [-w wdir] -i | data1\n");
+	fprint(2, "usage: plumb [-p plumbfile] [-a 'attr=value ...'] [-s src] [-d dst] [-t type] [-w wdir] -i | data1\n");
 	exits("usage");
 }
 
diff --git a/src/libthread/channel.c b/src/libthread/channel.c
index 957a352..d0fff4a 100644
--- a/src/libthread/channel.c
+++ b/src/libthread/channel.c
@@ -201,7 +201,6 @@
 	}else{
 		altexec(a, s);	/* unlocks chanlock, does splx */
 	}
-	_sched();
 	t->chan = Channone;
 _threadnalt++;
 	return a - alts;
diff --git a/src/libthread/fdwait.c b/src/libthread/fdwait.c
index e8e3129..5dd7e86 100644
--- a/src/libthread/fdwait.c
+++ b/src/libthread/fdwait.c
@@ -146,10 +146,11 @@
 		for(i=0; i<npoll; i++)
 			if(pfd[i].fd != -1 && pfd[i].revents){
 				//fprint(2, " %d", pfd[i].fd);
-				nbsendul(polls[i].c, 1);
 				pfd[i].fd = -1;
 				pfd[i].events = 0;
 				pfd[i].revents = 0;
+				nbsendul(polls[i].c, 1);
+				//fprint(2, " x%d", pfd[i].fd);
 			}
 		//fprint(2, "\n");
 	}
@@ -192,7 +193,7 @@
 	pfd[i].fd = fd;
 	pfd[i].events = rw=='r' ? POLLIN : POLLOUT;
 	polls[i].c = &s.c;
-	//fprint(2, "%s [%3d] fdwait %d %c list *0x%lux\n",
+	if(0) fprint(2, "%s [%3d] fdwait %d %c list *0x%lux\n",
 		argv0, threadid(), fd, rw, pc);
 	recvul(&s.c);
 }
