Browse Source

Plan 9 from Bell Labs 2004-03-13

David du Colombier 20 years ago
parent
commit
79e450e2ce

+ 6 - 6
dist/replica/plan9.db

@@ -1371,7 +1371,7 @@ lib/face/48x48x4/x - 20000000775 sys sys 944941894 0
 lib/face/48x48x4/y - 20000000775 sys sys 944941894 0
 lib/face/48x48x4/z - 20000000775 sys sys 944941894 0
 lib/face/48x48x8 - 20000000775 sys sys 944941834 0
-lib/face/48x48x8/.dict - 664 sys sys 1079022126 2048
+lib/face/48x48x8/.dict - 664 sys sys 1079103826 2117
 lib/face/48x48x8/Z - 20000000775 sys sys 944941832 0
 lib/face/48x48x8/a - 20000000775 sys sys 944941832 0
 lib/face/48x48x8/a/axel.1 - 664 sys sys 1056983599 473
@@ -6802,7 +6802,7 @@ sys/src/cmd/acme - 20000000775 sys sys 969511023 0
 sys/src/cmd/acme/acme.c - 664 sys sys 1079044031 19192
 sys/src/cmd/acme/addr.c - 664 sys sys 1018553456 4787
 sys/src/cmd/acme/buff.c - 664 sys sys 1014926092 5573
-sys/src/cmd/acme/cols.c - 664 sys sys 1032462024 11122
+sys/src/cmd/acme/cols.c - 664 sys sys 1079102914 11126
 sys/src/cmd/acme/dat.h - 664 sys sys 1079044030 11080
 sys/src/cmd/acme/disk.c - 664 sys sys 1014926093 2151
 sys/src/cmd/acme/ecmd.c - 664 sys sys 1077376256 24294
@@ -6811,16 +6811,16 @@ sys/src/cmd/acme/edit.h - 664 sys sys 969500816 2466
 sys/src/cmd/acme/elog.c - 664 sys sys 1078839859 7236
 sys/src/cmd/acme/exec.c - 664 sys sys 1077376257 28024
 sys/src/cmd/acme/file.c - 664 sys sys 1044626079 5717
-sys/src/cmd/acme/fns.h - 664 sys sys 1077376255 2857
-sys/src/cmd/acme/fsys.c - 664 sys sys 1022512648 12727
+sys/src/cmd/acme/fns.h - 664 sys sys 1079102913 2883
+sys/src/cmd/acme/fsys.c - 664 sys sys 1079102915 12799
 sys/src/cmd/acme/look.c - 664 sys sys 1077376257 14213
 sys/src/cmd/acme/mkfile - 664 sys sys 1058463682 543
 sys/src/cmd/acme/regx.c - 664 sys sys 1014926094 16057
 sys/src/cmd/acme/rows.c - 664 sys sys 1068140772 14637
 sys/src/cmd/acme/scrl.c - 664 sys sys 1014926095 3072
-sys/src/cmd/acme/text.c - 664 sys sys 1077376258 27226
+sys/src/cmd/acme/text.c - 664 sys sys 1079115968 27284
 sys/src/cmd/acme/time.c - 664 sys sys 1014926095 1783
-sys/src/cmd/acme/util.c - 664 sys sys 1079044030 7332
+sys/src/cmd/acme/util.c - 664 sys sys 1079102916 7412
 sys/src/cmd/acme/wind.c - 664 sys sys 1073566950 11094
 sys/src/cmd/acme/xfid.c - 664 sys sys 1079044030 19175
 sys/src/cmd/ar.c - 664 sys sys 1046643027 23717

+ 6 - 0
dist/replica/plan9.log

@@ -14640,3 +14640,9 @@
 1079055118 2 a lib/face/48x48x1/u/u.babsy.mpifr-bonn.mpg.de - 644 sys sys 944941670 1152
 1079055118 3 d lib/face/48x48x1/u/unknown.babsy.mpifr-bonn.mpg.de - 644 sys sys 944941670 0
 1079055118 4 d lib/face/48x48x1/u/unknown.aibn54.mpifr-bonn.mpg.de - 644 sys sys 944941670 0
+1079103607 0 c sys/src/cmd/acme/cols.c - 664 sys sys 1079102914 11126
+1079103607 1 c sys/src/cmd/acme/fns.h - 664 sys sys 1079102913 2883
+1079103607 2 c sys/src/cmd/acme/fsys.c - 664 sys sys 1079102915 12799
+1079103607 3 c sys/src/cmd/acme/util.c - 664 sys sys 1079102916 7412
+1079105409 0 c lib/face/48x48x8/.dict - 664 sys sys 1079103826 2117
+1079116211 0 c sys/src/cmd/acme/text.c - 664 sys sys 1079115968 27284

+ 2 - 0
lib/face/48x48x8/.dict

@@ -7,6 +7,7 @@ astro/geoff g/geoff.2
 at/unknown u/unknown.at
 au/unknown u/unknown.au
 be/unknown u/unknown.be
+bigpond.net.au/bell9260	b/brucee.1
 bio.cse.psu.edu/schwartz s/scottschwartz.1
 bg/unknown u/unknown.bg
 br/unknown u/unknown.br
@@ -61,6 +62,7 @@ sinenomine.net/kvanhees k/kris.1
 sk/unknown u/unknown.sk
 snellwilcox.com/steve.simon s/stevesimon.1
 su/unknown u/unknown.su
+terzarima.net/forsyth f/forsyth.1
 th/unknown u/unknown.th
 tj/unknown u/unknown.tj
 ua/unknown u/unknown.ua

+ 1 - 1
sys/src/cmd/acme/cols.c

@@ -460,7 +460,7 @@ coldragwin(Column *c, Window *w, int but)
 	}
 	/* 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);

+ 1 - 0
sys/src/cmd/acme/fns.h

@@ -64,6 +64,7 @@ char*	runetobyte(Rune*, int);
 Rune*	bytetorune(char*, int*);
 void	fsysinit(void);
 Mntdir*	fsysmount(Rune*, int, Rune**, int);
+void		fsysincid(Mntdir*);
 void		fsysdelid(Mntdir*);
 Xfid*		respond(Xfid*, Fcall*, char*);
 int		rxcompile(Rune*);

+ 8 - 0
sys/src/cmd/acme/fsys.c

@@ -195,6 +195,14 @@ fsysaddid(Rune *dir, int ndir, Rune **incl, int nincl)
 	return m;
 }
 
+void
+fsysincid(Mntdir *m)
+{
+	qlock(&mnt);
+	m->ref++;
+	qunlock(&mnt);
+}
+
 void
 fsysdelid(Mntdir *idm)
 {

+ 5 - 1
sys/src/cmd/acme/text.c

@@ -188,8 +188,12 @@ textload(Text *t, uint q0, char *file, int setqid)
 	char *tmp;
 	Text *u;
 
-	if(t->ncache!=0 || t->file->nc || t->w==nil || t!=&t->w->body || (t->w->isdir && t->file->nname==0))
+	if(t->ncache!=0 || t->file->nc || t->w==nil || t!=&t->w->body)
 		error("text.load");
+	if(t->w->isdir && t->file->nname==0){
+		warning(nil, "empty directory name\n");
+		return 0;
+	}
 	fd = open(file, OREAD);
 	if(fd < 0){
 		warning(nil, "can't open %s: %r\n", file);

+ 5 - 0
sys/src/cmd/acme/util.c

@@ -133,6 +133,9 @@ addwarningtext(Mntdir *md, Rune *r, int nr)
 	}
 	warn = emalloc(sizeof(Warning));
 	warn->next = warnings;
+	warn->md = md;
+	if(md)
+		fsysincid(md);
 	warnings = warn;
 	bufinsert(&warn->buf, 0, r, nr);
 	nbsendp(cwarn, 0);
@@ -189,6 +192,8 @@ flushwarnings(void)
 		winunlock(w);
 		bufclose(&warn->buf);
 		next = warn->next;
+		if(warn->md)
+			fsysdelid(warn->md);
 		free(warn);
 	}
 	warnings = nil;