Commits
- Commit:
3d6e5cb56a6249e7f3001091fe81c171cd501319
- From:
- Russ Cox <rsc@swtch.com>
- Date:
acme: preserve window position and selection during Get
Before, executing Get in a file rewound the window offset and
selection to the start of the file.
After this CL, Get preserves the window offset and selection,
where preserve is defined as "the same line number and rune
offset within the line". So if the window started at line 10
before and the selection was line 13 chars 5-7, then that
will still be true after Get, provided the new content is large
enough.
This should help the common situation of plumbing a
compiler error, realizing the window is out of date,
clicking Get, and then losing the positioning from the
plumb operation.
- Commit:
ff9d331db494d323bb89a8fe67b96d90b7e60030
- From:
- Russ Cox <rsc@swtch.com>
- Date:
acme: free buf in checksha1
Thanks to Lorenzo Beretta for noticing.
- Commit:
67dbeee5fe9e2a855384048615bafe100e876f4c
- From:
- Russ Cox <rsc@swtch.com>
- Date:
acme: check file content before declaring file "modified since last read"
Bad remote file systems can change mtime unexpectedly,
and then there is the problem that git rebase and similar
operations like to change the files and then change them back,
modifying the mtimes but not the content.
Avoid spurious Put errors on both of those by checking file
content.
(False positive "modified since last read" make the real ones
difficult to notice.)
- Commit:
310ae03327a815e721166b64aa3af27b1cc8c2ff
- From:
- Russ Cox <rsc@swtch.com>
- Date:
all: fix or silence all INSTALL warnings on macOS
Should be a clean build now.
Change-Id: Id3460371cb5e8d4071f8faa9c2aec870d213a067
Reviewed-on: https://plan9port-review.googlesource.com/2781
Reviewed-by: Russ Cox <rsc@swtch.com>
- Commit:
4a3fb87264f8bc03fc62f00ef335056f30d18023
- From:
- Russ Cox <rsc@swtch.com>
- Date:
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
- Commit:
833216fef8b946895956737d205bcad7031bf06f
- From:
- Russ Cox <rsc@swtch.com>
- Date:
acme: add comment for aligned writes
TBR=r
https://codereview.appspot.com/89510044
- Commit:
1d2c3c3945a229f896640b615b84f3d9a78e8b5a
- From:
- Russ Cox <rsc@swtch.com>
- Date:
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
- Commit:
fea86f063930ea187f1c77e93207ac8d39125520
- From:
- Marius Eriksen <marius.eriksen@gmail.com>
- Via:
- Russ Cox <rsc@swtch.com>
- Date:
acme: execute commands with / using shell
This allows commands in bin subdirectories.
R=rsc
CC=plan9port.codebot
https://codereview.appspot.com/13254044
- Commit:
2589c5c6ee1f582810a037a934280b29fe8c5e55
- From:
- Marius Eriksen <marius.eriksen@gmail.com>
- Via:
- Russ Cox <rsc@swtch.com>
- Date:
acme: set $samfile (same as $%) during execution
R=rsc
CC=plan9port.codebot
http://codereview.appspot.com/6854092
- Commit:
9ca6e21f3d0ea9b9bab8b4661d03d30ed61fd79d
- From:
- Russ Cox <rsc@swtch.com>
- Date:
acme: use threadspawnd to avoid changing "." of current process
R=rsc
http://codereview.appspot.com/6736060
- Commit:
81c2c5e775d83896f25981cf4c4e486c5cc91180
- From:
- Marius Eriksen <marius.eriksen@gmail.com>
- Via:
- Russ Cox <rsc@swtch.com>
- Date:
acme: add $acmeshell to control execution shell
R=rsc
CC=plan9port.codebot
http://codereview.appspot.com/6614056
- Commit:
76864eb6cd2759efd687f392ada4f1facbf06250
- From:
- Russ Cox <rsc@swtch.com>
- Date:
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
- Commit:
ba31ab3044765270d40c9da934dfc11e5f8b63c5
- From:
- Russ Cox <rsc@swtch.com>
- Date:
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
- Commit:
be856b940fb5abb22abe649256bb4283c07c3d85
- From:
- Russ Cox <rsc@swtch.com>
- Date:
acme: attempt to fix Put mtime skew on NFS
R=r
http://codereview.appspot.com/583043
- Commit:
daea2c7d501c3e825bede80992ade6b241efdce1
- From:
- Russ Cox <russcox@gmail.com>
- Date:
acme: correct modified message after initial load; more detail in
message
http://codereview.appspot.com/123051