aboutsummaryrefslogtreecommitdiff
path: root/src/cmd/acme/exec.c
AgeCommit message (Collapse)AuthorFilesLines
2020-02-11Merge remote-tracking branch 'upstream/master'Petter Rodhelind1-5/+5
2020-01-24acme: report close failure in Put, this time for sureRuss Cox1-5/+5
Missed in 0b349f6f that Bterm is not closing fd.
2020-01-14Merge remote-tracking branch 'upstream/master'Petter Rodhelind1-2/+6
2019-12-19acme: report close failure during PutRuss Cox1-2/+6
2019-07-20Merge remote-tracking branch 'upstream/master'Petter Rodhelind1-41/+64
2019-05-17acme: delete trailing spaces during Put in autoindent modeRuss Cox1-41/+64
Autoident mode is the leading cause of trailing spaces on lines. Remove them during Put to make various picky tools happier. The changes during Put are added as a separate entry to the file history, so that the first Undo after Put restores the spaces.
2019-05-10Merge remote-tracking branch 'upstream/master'Petter Rodhelind1-4/+8
2019-04-19acme: do not trim spaces during PutRuss Cox1-4/+8
The commit that introduced this was pushed accidentally. It is not a good idea to do this. (It breaks programs that think that a clean window means the body matches the on-disk file.)
2019-02-05Merge remote-tracking branch 'upstream/master'Petter Rodhelind1-3/+38
2019-02-01acme: drop trailing spaces during Put of auto-indent windowRuss Cox1-3/+38
Auto-indent mode leaves trailing spaces on blank lines as you type past them, so silently elide them from the window content as it gets written back to disk. Another option would be to remove them from the window entirely during Put, but they're actually nice to have while editing, and to date Put has never modified the window content.
2018-04-20Merge remote-tracking branch 'upstream/master'Petter Rodhelind1-0/+1
2018-03-27acme: fix some memory leaksXiao-Yong Jin1-0/+1
2017-11-06Merge remote-tracking branch 'upstream/master'Petter Rodhelind1-0/+30
2017-11-02acme: preserve window position and selection during GetRuss Cox1-0/+30
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.
2017-10-16Merge remote-tracking branch 'upstream/master'Petter Rodhelind1-2/+36
2017-10-14acme: free buf in checksha1Russ Cox1-0/+1
Thanks to Lorenzo Beretta for noticing.
2017-10-10acme: check file content before declaring file "modified since last read"Russ Cox1-2/+35
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.)
2017-05-24Syntax cleanupPetter Rodhelind1-8/+7
...and the use of TRUE/FALSE instead of 1/0 for explicicy
2017-05-11Switch tab expansion ON/OFF via TabexpandPetter Rodhelind1-1/+8
2017-05-11Add support for tab expansion (because everyone else is stupid and I am ↵Petter Rodhelind1-0/+19
forced to follow along) Tab expansion inserts spaces instead of TAB character. Number of spaces is dependent upon your current tab stop setting, which can be changed by running "Tab n". As of now, it's not possible to turn it on and off during runtime. You can however see whether it's compiled or not by executing the command "Tabexpand". The console will show either 1 or 0. This will be taken care of in a later commit.
2017-01-06all: fix or silence all INSTALL warnings on macOSRuss Cox1-1/+1
Should be a clean build now. Change-Id: Id3460371cb5e8d4071f8faa9c2aec870d213a067 Reviewed-on: https://plan9port-review.googlesource.com/2781 Reviewed-by: Russ Cox <rsc@swtch.com>
2014-04-30acme: add log file in acme root directoryRuss Cox1-2/+9
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
2014-04-19acme: add comment for aligned writesRuss Cox1-0/+5
TBR=r https://codereview.appspot.com/89510044
2014-04-19acme: use buffered i/o to write fileRuss Cox1-1/+16
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
2013-09-06acme: execute commands with / using shellMarius Eriksen1-1/+1
This allows commands in bin subdirectories. R=rsc CC=plan9port.codebot https://codereview.appspot.com/13254044
2012-11-25acme: set $samfile (same as $%) during executionMarius Eriksen1-0/+1
R=rsc CC=plan9port.codebot http://codereview.appspot.com/6854092
2012-10-22acme: use threadspawnd to avoid changing "." of current processRuss Cox1-29/+8
R=rsc http://codereview.appspot.com/6736060
2012-10-21acme: add $acmeshell to control execution shellMarius Eriksen1-2/+8
R=rsc CC=plan9port.codebot http://codereview.appspot.com/6614056
2011-08-02acme: scrolling fixes + new home/endRuss Cox1-1/+2
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-04-279term, acme: autoscrollRuss Cox1-0/+1
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
2010-03-18acme: attempt to fix Put mtime skew on NFSRuss Cox1-0/+13
R=r http://codereview.appspot.com/583043
2009-09-25acme: correct modified message after initial load; more detail inRuss Cox1-5/+5
message http://codereview.appspot.com/123051
2009-07-08src: use whatis instead of whichMichael Teichgräber1-1/+1
2007-11-28acme: refresh window properly after Tab command (Fazlul Shahriar)Russ Cox1-1/+1
2007-06-15fix acme Snarf bug; change Indent to apply to all windowsrsc1-16/+37
2006-04-01Use gcc -ansi -pedantic in 9c. Fix many non-C89-isms.rsc1-3/+3
2005-12-21stupid gccrsc1-6/+6
2005-10-31Cleanup in preparation for multiline tags.rsc1-1/+1
2005-09-26More thread names.rsc1-0/+2
2005-01-23add undocumented Abort builtinrsc1-5/+27
2005-01-04don't need to rename Fid anymorersc1-4/+2
2004-12-27change to use new thread libraryrsc1-0/+1
2004-11-01bug fix in Get from robrsc1-0/+2
2004-10-22change md argument to number etc. (which acted only as a flag)rsc1-2/+2
to an actual flag. buffer underrun check in number add xdata file for exactly the addressed region save addr across opens
2004-09-28autoindent fixes from robrsc1-12/+25
2004-06-11scrollingrsc1-2/+3
2004-05-15restore current directory after threadexec.rsc1-7/+48
this is dodgy.
2004-05-14various bug fixesrsc1-1/+1
2004-04-25no more Dotfilesrsc1-17/+0
2004-04-21undo the madness.rsc1-2/+0