Commits


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.


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.)


acme: implement Cmd-Shift-Z for Redo on Mac Change-Id: Ie9332ed473609bd6ca156be0843dc5411cbf7b93 Reviewed-on: https://plan9port-review.googlesource.com/2941 Reviewed-by: Russ Cox <rsc@swtch.com>


libdraw, libframe, acme: fix, guard against inverted range in textsetselect Credit to Roi Martin <jroi.martin@gmail.com> for noticing that libdraw was being passed a negative string length and for finding the sequence of keystrokes that make acme do it reproducibly. Change-Id: If3f3d04a25c506175f740d3e887d5d83b5cd1bfe Reviewed-on: https://plan9port-review.googlesource.com/1092 Reviewed-by: Russ Cox <rsc@swtch.com>


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


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


acme: fix Get of dir in nameless window (thanks Colton Lewis) TBR=r https://codereview.appspot.com/89390043


acme: copy/cut/paste with ctl+c,x,v LGTM=rsc R=rsc CC=plan9port.codebot https://codereview.appspot.com/69070045


acme: scroll a directory window when navigating if: - the cursor is on the last line - the navigation would put the cursor over the tag of the following text R=rsc CC=smckean83 https://codereview.appspot.com/15280045


acme: fix arrow near end of text R=rsc CC=plan9port.codebot http://codereview.appspot.com/5399050


devdraw: draft cocoa support R=rsc CC=plan9port.codebot http://codereview.appspot.com/4974060


acme: fix iq1 adjust bug R=rsc http://codereview.appspot.com/4816066


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


acme: correct modified message after initial load; more detail in message http://codereview.appspot.com/123051


acme: htmlclick takes precedence over line click http://codereview.appspot.com/116074