Commits


CONTRIBUTORS: add Aram Hăvărneanu LGTM=rsc R=rsc CC=plan9port-dev https://codereview.appspot.com/119500043


g: search in *.s files LGTM=rsc R=rsc CC=plan9port-dev https://codereview.appspot.com/115100043


mc: use $termprog to identify 9term TBR=rsc https://codereview.appspot.com/112890043


upas: fix nil pointer dereference R=rsc https://codereview.appspot.com/92650043


upas/common: rename aux to auxx TBR=rsc https://codereview.appspot.com/107760043


build: rename " and "" to quote1 and quote2 for hg They'll be copied back during installation but then hg doesn't have to create those files on systems that have trouble with them. TBR=rsc https://codereview.appspot.com/105800043


acme: fix bufread crash due to typing-point scrolling Acme tracks the most recent typing insertion point and the home and end keys stop there on their way up to the top or down to the bottom of the file. That point should be iq1, and it should be adjusted properly so that it's always between 0 and t->file->b.nc inclusive. (This is all code from an external contributor, years old at this point but new since Plan 9.) Somehow, sometimes iq1 ends up a little beyond b.nc, and when passed to textbacknl it crashes acme in bufread. I can't see how that can happen but if it does, avoid the crash. It's tempting to pull the insertion point code out entirely but this is a little less invasive and should fix things for now. TBR=rsc https://codereview.appspot.com/107730043


acme: increase timer resolution to 10ms We ran for a long time with 10ms kernel resolution, so 10ms user space resolution here should be fine. Some systems actually provide 1ms sleeps, which makes this polling use a bit more cpu than we'd like. Since the timers are for user-visible things, 10ms should still be far from noticeable. Reduces acme's cpu usage on Macs when plumber is missing (and plumbproc is sleeping waiting for it to appear). LGTM=aram, r R=r, aram https://codereview.appspot.com/99570043


undo CL 69070045 / 8539a916d98a This breaks ^C in win windows, as expected. People use ^C, win expects and handles ^C, so I don't think we can just take it away. I've noticed that it is broken but assumed my ssh was screwed up. If you want to make WindowsKey+C,X,V do the operations, by analogy with command+C,X,V on Mac, that's fine with me. ««« original CL description acme: copy/cut/paste with ctl+c,x,v LGTM=rsc R=rsc CC=plan9port.codebot https://codereview.appspot.com/69070045 »»» TBR=rsc CC=burns.ethan, r https://codereview.appspot.com/96410045


upas: fix warnings smtp.c:232: warning: comparison with string literal results in unspecified behavior smtp.c:244: warning: comparison with string literal results in unspecified behavior marshal.c:1179: warning: variable ‘err’ set but not used LGTM=rsc R=rsc https://codereview.appspot.com/93290043


libndb: add AUTOLIB(resolv) LGTM=rsc R=rsc https://codereview.appspot.com/97370043


acme: fix two flush bugs in new log file TBR=rsc https://codereview.appspot.com/95010048


acme: add log file in acme root directory Reading /mnt/acme/log reports a log of window create, put, and delete events, as they happen. It blocks until the next event is available. Example log output: 8 new /Users/rsc/foo.go 8 put /Users/rsc/foo.go 8 del /Users/rsc/foo.go This lets acme-aware programs react to file writes, for example compiling code, running a test, or updating an import block. TBR=r R=r https://codereview.appspot.com/89560044


acme: add comment for aligned writes TBR=r https://codereview.appspot.com/89510044


acme: use buffered i/o to write file Bakul Shah has observed corrupted files being written when acme writes over osxfuse to sshfs to a remote file system. In one example we examined, acme is writing an 0xf03-byte file in two system calls, first an 0x806-byte write and then a 0x6fd-byte write. (0x806 is BUFSIZE/sizeof(Rune); this file has no multibyte UTF-8.) What actually ends up happening is that an 0x806-byte file is written: 0x000-0x6fd contains what should be 0x806-0xf03 0x6fd-0x7fa contains zeros 0x7fa-0x806 contains what should be 0x7fa-0x806 (correct!) The theory is that fuse or sshfs or perhaps the remote file server is mishandling the unaligned writes. acme does not seem to be at fault. Using bio here will make the writes align to 8K boundaries, avoiding the bugs in whatever underlying piece is broken. TBR=r https://codereview.appspot.com/89550043