Various fixes.

	B - fixed usage, DISPLAY :0 vs :0.0
	9term - fixed various terminal things
	rc - notice traps in Read
	_p9dir - only run disk code for disks
	dirread - getdirentries on FreeBSD and Linux
		are different w.r.t. meaning of off.
	notify - set up so signals interrupt system calls
	bprint - use bfmt.
diff --git a/src/cmd/rc/plan9ish.c b/src/cmd/rc/plan9ish.c
index 0c3076e..1b250ba 100644
--- a/src/cmd/rc/plan9ish.c
+++ b/src/cmd/rc/plan9ish.c
@@ -392,10 +392,12 @@
 notifyf(void *unused0, char *s)
 {
 	int i;
-	for(i=0;syssigname[i];i++) if(strncmp(s, syssigname[i], strlen(syssigname[i]))==0){
-		if(strncmp(s, "sys: ", 5)!=0) interrupted=1;
-		goto Out;
-	}
+	for(i=0;syssigname[i];i++)
+		if(strncmp(s, syssigname[i], strlen(syssigname[i]))==0){
+			if(strncmp(s, "sys: ", 5)!=0) interrupted=1;
+			goto Out;
+		}
+
 	pfmt(err, "rc: note: %s\n", s);
 	noted(NDFLT);
 	return;
@@ -423,7 +425,11 @@
 }
 long Read(int fd, char *buf, long cnt)
 {
-	return read(fd, buf, cnt);
+	int i;
+
+	i = read(fd, buf, cnt);
+	if(ntrap) dotrap();
+	return i;
 }
 long Seek(int fd, long cnt, long whence)
 {