- 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
Introduces the Search command for mailboxes.
Arguments passed are treated as one space-
separated string, passed on to mailfs' IMAP
search interface.
R=rsc, david.ducolombier
CC=plan9port.codebot
https://codereview.appspot.com/13238044
Mail services (such as Google Mail) will often have
directories with names that contain spaces. Acme
does not support spaces in window names. So, replace
spaces in mail directory names with the Unicode
character for visible space.
The code is a bit of an over-approximation and
generally non-optimal.
R=rsc, david.ducolombier, 0intro
CC=plan9port.codebot
https://codereview.appspot.com/13010048
UTF-8 searches with the SEARCH command must
be conducted in two steps: the first sends
the SEARCH command with the length of the
UTF-8 encoded string and the second sends
the literal search term. The searches need
to not be quoted.
R=rsc, david.ducolombier, rsc, 0intro
CC=plan9port.codebot
https://codereview.appspot.com/13244043
Everyone seems to assume that TERM != dumb implies
ANSI escape codes are okay. In fact, many people assume
that unconditionally, but it is easier to argue back about
TERM=dumb than TERM=9term.
This applies to acme win too, because they share the code.
Set termprog=9term or termprog=win for clients who
need to know.
R=rsc
CC=r
https://codereview.appspot.com/12532043
gcc compiles `p + length < p' into 'length < 0' since pointer overflow is undefined behavior in C. This breaks the check against a large `length'.
Use `length > pend - p' instead.
There's no need to check `length < 0' since `length' is from length_decode() and should be non-negative.
===
Try the simplified code.
void bar(void);
void foo(unsigned char *p, int length)
{
if (p + length < p)
bar();
}
$ gcc -S -o - t.c -O2
...
foo:
.LFB0:
.cfi_startproc
testl %esi, %esi
js .L4
rep
ret
.L4:
jmp bar
.cfi_endproc
Clearly `p' is not used at all.
R=rsc
CC=plan9port.codebot
https://codereview.appspot.com/7231069
Ubuntu Precise seems to have a buggy X server
that sometimes fails at XCopyArea. Let devdraw
do it itself.
This will slow down remote X a little bit,
but slow and correct is better than fast and broken.
R=rsc
https://codereview.appspot.com/7310069
The code is adapted from Plan 9's import(4); this allows us to speak
that protocol. We don't currently support AAN (in the works) or
TLS/SSL.
Thanks to David for help with the man page, testing, and development.
R=0intro, rsc
CC=plan9port.codebot
http://codereview.appspot.com/6458100
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
Change is to handle FUSE_FORGET in main loop instead of separate thread for each as 10s of thousands can come in at once.
Fixes issue 104.
R=0intro, rsc
http://codereview.appspot.com/6498081
On some systems, the third argument of connect() and bind()
is expected to be the length of the address family instead
of the length of the sockaddr structure.
R=rsc
http://codereview.appspot.com/6489072
In the current code, the srv file is removed
just after the main thread exits, while the
srv thread is still running, which is not
the expected behavior.
We moved the srv creation just before the
procrfork, in order that the srv file will
not be removed until the srv thread exits.
R=rsc
http://codereview.appspot.com/6397047
This patch reverts the recent patch named "devdraw: fix for OS X 10.8", and fixes redrawing on OSX 10.8 differently, making scrolling under Acme 3 times faster.
R=rsc, mirtchovski
CC=plan9port.codebot
http://codereview.appspot.com/6452087
In MacOS 10.8, the NSBitmapImageRep class appears to cache the specified
image data at the time of construction. As a result updates to the
backing memimage object do not get pushed to the screen in flushimg.
This patch creates the NSBitmapImageRep object over again for each
flushimg which would appear to fix the problem.
R=rsc
CC=plan9port.codebot
http://codereview.appspot.com/6443063
The function p9dialparse() returns the host as a sockaddr_storage
structure instead of a u32int, to be able to handle both IPv4
and IPv6 addresses. Because the sockaddr_storage structure also
handle port numbers and Unix path names, there is no longer
need to set them in the calling functions. However, these values
are still returned for convenience.
The sockaddr_in and sockaddr_un structures have been replaced
by sockaddr_storage to handle Unix, IPv4 and IPv6 sockets.
Names and addresses are resolved using either gethostbyname()
or getaddrinfo() functions.
The getaddrinfo() function is documented in RFC2553 and standardized
since POSIX.1-2001. It supports both IPv4 and IPv6 addresses.
The gethostbyname() function is deprecated since POSIX.1-2008.
However, some libc implementations don't handle getaddrinfo()
properly, thus we preferred to try gethostbyname() first.
I've tried to preserve most of the old code logic to prevent
from surprising or unwanted behavior.
R=rsc
http://codereview.appspot.com/6255068