Commits


src/cmd/acme: provide info on presense or absence of undo history (#528) It's sometimes useful to know whether there's been editing activity in a window. This PR adds that information to the ctl file. Change-Id: I21a342ac636dd5c7701b3ed560e3526867329c2c


acme: fix buffer overflow introduced in parsetag refactor


acme: fix movetodel for spaces in file names


acme: allow spaces in window names There are many things we could do to make this work. an environment variable to control the character. Another option would be to use U+00A0 (non-breaking space), which renders the same as space. This change avoids changing the separator character and instead assumes that if the left side of the tag already ends in " Del Snarf |" then what comes before that is the file name. Acme already aggressively preserves the "Del Snarf |", so this should work decently well as a stop-gap. We can always try something else later. Fixes #26. Fixes #104. Fixes #329.


acme: one more place to use parsetag


acme: factor out tag parsing code


Trivial changes: whitespace and modes. Remote whitespace at the ends of lines. Remove blank lines from the ends of files. Change modes on source files so that they are not executable. Signed-off-by: Dan Cross <cross@gajendra.net>


acme: do not pass null pointers where disallowed The C standards disallow passing null pointers to memmove and memcmp. Change-Id: I1c88c2adbc32a23ef742f206038b8f7c4e0540c7


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: 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


fix gcc 4.7 warnings (thanks Tuncer Ayaz) R=rsc http://codereview.appspot.com/6744053


acme: mouse movement for Del If the mouse was in the tag of the old window, it was most likely pointing at Del. If bringing up a new window from below and not moving the mouse somewhere else, adjust it so that it ends up pointing at Del in the replacement window's tag too. This makes it easy to Del a sequence of windows in a column, from top to bottom. http://www.youtube.com/watch?v=ET8w6RT6u5M R=r http://codereview.appspot.com/6558047


acme: do not redraw body on every tag change fixes #5 http://bitbucket.org/rsc/plan9port/issue/5/ http://groups.google.com/group/plan9port-dev/t/e679347ecaa05cff http://codereview.appspot.com/95041


acme: multiline tag fixes


acme: revise multiline tag code