Commit graph

37 commits

Author SHA1 Message Date
Russ Cox
833216fef8 acme: add comment for aligned writes
TBR=r
https://codereview.appspot.com/89510044
2014-04-19 13:44:06 -04:00
Russ Cox
1d2c3c3945 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
2014-04-19 10:09:22 -04:00
Marius Eriksen
fea86f0639 acme: execute commands with / using shell
This allows commands in bin subdirectories.

R=rsc
CC=plan9port.codebot
https://codereview.appspot.com/13254044
2013-09-06 16:23:49 -04:00
Marius Eriksen
2589c5c6ee acme: set $samfile (same as $%) during execution
R=rsc
CC=plan9port.codebot
http://codereview.appspot.com/6854092
2012-11-25 22:56:08 -05:00
Russ Cox
9ca6e21f3d acme: use threadspawnd to avoid changing "." of current process
R=rsc
http://codereview.appspot.com/6736060
2012-10-22 12:32:31 -04:00
Marius Eriksen
81c2c5e775 acme: add $acmeshell to control execution shell
R=rsc
CC=plan9port.codebot
http://codereview.appspot.com/6614056
2012-10-21 16:52:08 -04:00
Russ Cox
76864eb6cd acme: scrolling fixes + new home/end
Home and End previously navigated between
two different window locations: the top and
the bottom of the text.  Now they include a
third waypoint: the location where typing last
happened.  Thus, in a win window, typing
	ls -l
	<home>
scrolls to the beginning of the ls -l output.
A second <home> continues to the top of the file.

Makes Send scroll always, along with writes by
external programs to +Errors.

R=r
CC=mccoyst
http://codereview.appspot.com/4830051
2011-08-02 07:44:11 -04:00
Russ Cox
ba31ab3044 9term, acme: autoscroll
Ignore scroll/noscroll window setting.
Instead, scroll when the write begins in
or immediately after the displayed window content.

In the new scrolling discipline, executing
"Noscroll" is replaced by typing Page Up or
using the mouse to scroll higher in the buffer,
and executing "Scroll" is replaced by typing End
or using the mouse to scroll to the bottom of
the buffer.

R=r, r2
http://codereview.appspot.com/4433060
2011-04-27 13:18:07 -04:00
Russ Cox
be856b940f acme: attempt to fix Put mtime skew on NFS
R=r
http://codereview.appspot.com/583043
2010-03-18 18:07:39 -07:00
Russ Cox
daea2c7d50 acme: correct modified message after initial load; more detail in
message

http://codereview.appspot.com/123051
2009-09-25 01:43:54 -04:00
Michael Teichgräber
4a18fa68b0 src: use whatis instead of which 2009-07-08 09:18:42 -07:00
Russ Cox
34b2f0bc1d acme: refresh window properly after Tab command (Fazlul Shahriar) 2007-11-28 23:32:32 -05:00
rsc
9952c0eb9f fix acme Snarf bug; change Indent to apply to all windows 2007-06-15 04:07:21 +00:00
rsc
cbeb0b26e4 Use gcc -ansi -pedantic in 9c. Fix many non-C89-isms. 2006-04-01 19:24:03 +00:00
rsc
a4bbf47b33 stupid gcc 2005-12-21 22:11:00 +00:00
rsc
33dc4226a8 Cleanup in preparation for multiline tags. 2005-10-31 18:39:19 +00:00
rsc
391363f510 More thread names. 2005-09-26 11:46:21 +00:00
rsc
6dd68c9ad7 add undocumented Abort builtin 2005-01-23 22:57:06 +00:00
rsc
05636f8303 don't need to rename Fid anymore 2005-01-04 21:28:37 +00:00
rsc
334cb1e91c change to use new thread library 2004-12-27 00:38:59 +00:00
rsc
0d0bad2ee4 bug fix in Get from rob 2004-11-01 17:26:59 +00:00
rsc
012a8a02d5 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
2004-10-22 17:11:30 +00:00
rsc
53998c99d6 autoindent fixes from rob 2004-09-28 16:10:49 +00:00
rsc
038aa0220a scrolling 2004-06-11 04:13:03 +00:00
rsc
bf27f58721 restore current directory after threadexec.
this is dodgy.
2004-05-15 23:13:42 +00:00
rsc
1a8f27c350 various bug fixes 2004-05-14 15:14:21 +00:00
rsc
9471281d42 no more Dotfiles 2004-04-25 20:27:39 +00:00
rsc
ee6d04f9fe undo the madness. 2004-04-21 22:42:01 +00:00
rsc
99f4029090 $foo in tags - here only for reference. 2004-04-21 22:39:37 +00:00
rsc
904f0d0b42 oldorg was bad idea 2004-04-19 05:55:19 +00:00
rsc
892de79874 various little bug fixes 2004-04-19 05:54:21 +00:00
rsc
62c1415826 Let's try this - Dotfiles toggles listing of .* in directory listings. 2004-04-08 19:30:18 +00:00
rsc
be22ae2d07 SunOS can rot in hell. 2004-03-26 01:59:35 +00:00
rsc
8ad517944e Today's changes.
More changes.
2004-03-25 23:03:57 +00:00
rsc
2277c5d7bb Small tweaks
Lots of new code imported.
2004-03-21 04:33:13 +00:00
rsc
5a8e63b2f0 Fighting the good fight.
Move libfmt, libutf into subdirectories of lib9.

Add poll-based socket i/o to libthread, so that we can
avoid using multiple procs when possible, thus removing
dependence on crappy pthreads implementations.

Convert samterm, acme to the single-proc libthread.

Bring libcomplete, acme up-to-date w.r.t. Plan 9 distribution.
2004-02-29 22:10:26 +00:00
rsc
b3994ec5c7 More files related to user-level file servers.
Also add acme!
2003-12-11 17:50:28 +00:00