diff options
author | rsc <devnull@localhost> | 2004-10-22 17:11:30 +0000 |
---|---|---|
committer | rsc <devnull@localhost> | 2004-10-22 17:11:30 +0000 |
commit | 012a8a02d5e43c1d4698acf42da61f4429c3ac1f (patch) | |
tree | 7b0b6a9018e8195a9a1ca662cd2ad027f82d3c40 /src/cmd/acme/acme.c | |
parent | e63027eb68ff7252598003151d238dee8850ad34 (diff) | |
download | plan9port-012a8a02d5e43c1d4698acf42da61f4429c3ac1f.tar.gz plan9port-012a8a02d5e43c1d4698acf42da61f4429c3ac1f.tar.bz2 plan9port-012a8a02d5e43c1d4698acf42da61f4429c3ac1f.zip |
change md argument to number etc. (which acted only as a flag)
to an actual flag.
buffer underrun check in number
add xdata file for exactly the addressed region
save addr across opens
Diffstat (limited to 'src/cmd/acme/acme.c')
-rw-r--r-- | src/cmd/acme/acme.c | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/src/cmd/acme/acme.c b/src/cmd/acme/acme.c index 04931905..18765bcd 100644 --- a/src/cmd/acme/acme.c +++ b/src/cmd/acme/acme.c @@ -67,6 +67,11 @@ threadmain(int argc, char *argv[]) loadfile = nil; ARGBEGIN{ + case 'D': + {extern int _threaddebuglevel; + _threaddebuglevel = ~0; + } + break; case 'a': globalautoindent = TRUE; break; @@ -643,6 +648,21 @@ waitthread(void *v) alts[WCmd].op = CHANRCV; alts[NWALT].op = CHANEND; + /* + * BUG. Actually there's no bug here but this is the + * first place you'd look. When a program is run, + * it doesn't disappear from the main tag until the + * mouse is moved or keyboard is hit. This would + * suggest that the WWait case isn't working right, + * but what's actually going on is that the X11 code + * is running a select-based threading loop that + * doesn't get interrupted until there is data from X11. + * This was done to make acme work on Suns and + * other systems where our threading was sub-par. + * Now that we've gotten pthreads working (sort of), + * we might be able to fix this properly. + * But the bug is in libdraw and libthread, not here. + */ command = nil; for(;;){ switch(alt(alts)){ |