| Commit message (Collapse) | Author | Age |
|
|
|
|
|
|
|
|
| |
It is very convenient when C-e (bound to `widget-end-of-line') ignores
trailing spaces inside the search widget. But it only does so if a
widget is not followed by a newline (that is why it works in the saved
search widgets). The patch just adds an invisible space after the
search widget to get the desirable behavior of `widget-end-of-line'.
The extra space is also added to expected results of emacs tests.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Buffer redisplay requires traversing the buffer's invisibility spec
for every part of the display that has an 'invisible text or overlay
property. Previously, the search buffer's invisibility spec list
contained roughly one entry for each search result. As a result,
redisplay took O(NM) time where N is the number of visible lines and M
is the total number of results. On a slow computer, this is enough to
make even buffer motion noticeably slow. Worse, during a search
operation, redisplay is triggered for each search result (even if
there are no visible buffer changes), so search was quadratic
(O(NM^2)) in the number of search results.
This change switches to using a single element buffer invisibility
spec. To un-hide authors, instead of removing an entry from the
invisibility spec, it simply removes the invisibility overlay from
those authors.
I tested using a query with 6633 results on a 9 year old machine.
Before this patch, Emacs took 70 seconds to fill the search buffer;
toward the end of the search, Emacs consumed 10-20x as much CPU as
notmuch; and moving point in the buffer took about a second. With
this patch, the same query takes 40 seconds, Emacs consumes ~3x the
CPU of notmuch by the end, and there's no noticeable lag to moving
point. (There's still some source of non-linearity, because Emacs and
notmuch consume roughly the same amount of CPU early in the search.)
|
|
|
|
|
| |
Any junk bytes in sockaddr_in structure before passing that
to bind() system call may cause problems.
|
|
|
|
|
| |
This reflects a modification to the test suite to use dtach instead of
screen.
|
|
|
|
|
| |
No functional change, but this will make for cleaner diffs down the
line.
|
|
|
|
|
| |
dtach is simpler than screen and is not setuid/setgid program so
TMPDIR does not get cleared by dynamic loader when executed
|
|
|
|
|
|
| |
Emacs 23.2 queries by default about killing existing processes. This
is annoying when one wants to interrupt long search with 'q' key.
Disable this behavior for notmuch.
|
|
|
|
|
|
| |
`point-invisible-p' does not work correctly when `invisible'
property is a list. There are standard `invisible-p' and related
functions that should be used instead.
|
|
|
|
|
|
| |
Remove `notmuch-show-move-past-invisible-backward' and
`notmuch-show-move-past-invisible-forward' functions which are
unused.
|
|
|
|
|
|
|
| |
Use `previous-single-char-property-change' instead of going
through each character by hand and testing it's visibility. This
fixes `notmuch-show-advance-and-archive' to work for the last
message in thread with hidden signature.
|
|
|
|
|
| |
Add Emacs test to check that `notmuch-show-advance-and-archive'
works for the last message in thread with invisible signature.
|
|
|
|
|
|
| |
Hopefully this will be fixed before release, but for the moment,
explain to people why their test suite might not be working like it
used to.
|
|
|
|
| |
This is needed for emacs tests, now that those are run in screen.
|
|
|
|
|
| |
No need for `set-frame-width' in emacs tests since it runs in
screen now.
|
|
|
|
|
|
| |
Set SCREENRC and SYSSCREENRC environment variables to "/dev/null"
as suggested by Jim Paris to avoid potential problems with
screen(1) configuration files.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Before the change, emacs run in daemon mode without any visible
buffers. Turns out that this affects emacs behavior in some
cases. In particular, `window-end' function returns `point-max'
instead of the last visible position. That makes it hard or
impossible to implement some tests. The patch runs emacs in a
detached screen(1) session. So that it works exactly as if it
has a visible window.
Note: screen terminates when emacs exits. So the patch does not
introduce new "running processes left behind" issues.
|
|
|
|
|
| |
The patch adds a test to check that json show format includes
filenames for attachments with inline disposition.
|
| |
|
|
|
|
| |
Signed-off-by: Thomas Schwinge <thomas@schwinge.name>
|
|
|
|
| |
Signed-off-by: Thomas Schwinge <thomas@schwinge.name>
|
| |
|
|
|
|
|
|
|
| |
We won't use all of the included build infrastructure files, but adding them
nevertheless helps to track changes that are applied to them upstream.
Signed-off-by: Thomas Schwinge <thomas@schwinge.name>
|
|
|
|
| |
Signed-off-by: Thomas Schwinge <thomas@schwinge.name>
|
|
|
|
| |
Signed-off-by: Thomas Schwinge <thomas@schwinge.name>
|
| |
|
| |
|
|
|
|
|
| |
NOTMUCH_DELIVER_NO_SPLICE environment variable may be set to fallback to
the read/write method.
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
This patch adds completion with <tab> in the minibuffer for
notmuch-search and notmuch-search-filter.
|
|
|
|
|
|
|
| |
Apparently the method was renamed in Xapian 1.1.0 but the old method
name will stay around for a while. It seems better to stick with the
old name to make notmuch compile with older versions of Xapian, at
least for now.
|
|
|
|
|
|
|
|
| |
libnotmuch.so.* linking fail on some environments. According to
David Bremner on irc:
"We jump through hoops with the linker script (notmuch.sym) so
the pragmas are not needed. And they are a little bizarre in a
library anyway..."
|
|
|
|
|
|
| |
This pushes the error handling up one step, but makes the function
more flexible. Running out of memory still triggers an internal error,
in the spirit of other xutils functions.
|
|
|
|
|
|
|
| |
We keep the lib/xutil.c version. As a consequence, also factor out
_internal_error and associated macros. It might be overkill to make a
new file error_util.c for this, but _internal_error does not really
belong in database.cc.
|
|
|
|
|
|
|
|
|
|
| |
Currently this builds a native package, but since the source package
is throw away, it should not matter too much, except for the extra
warnings from lintian.
The extra +1 is so that if $(VERSION) is the same as the last released
version (for example outside a git repo) then the versions still order
correctly.
|
|
|
|
|
| |
This makes it less confusing with released Debian versions, now that we have
non-native Debian versions.
|
|
|
|
|
| |
This fixes the minor annoyance that message ids were parsed as mail
addresses by goto-address-mode in notmuch-show buffers.
|
|
|
|
|
| |
New option --emacsetcdir was added, but it's set default to the same
value as --emacslispdir for backward compatibility.
|
|
|
|
|
| |
lib/notmuch.h and lib/gen-version-script.sh couldn't have been found
when building out of sources directory.
|
|
|
|
|
|
| |
As a side effect, reformat the NEWs entry for notmuch dump for
consistency with the notmuch restore NEWS submitted by Thomas
Schwinge.
|
|
|
|
|
| |
We consider it an error to pass more than one file to restore, since
extra ones are ignored.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Modify command line argument handling to take a --accumulate flag.
Test for extra arguments beyond the input file.
The --accumulate switch causes the union of the existing and new tags to be
applied, instead of replacing each message's tags as they are read in from the
dump file.
Based on a patch by Thomas Schwinge:
id:"1317317857-29636-1-git-send-email-thomas@schwinge.name"
|
|
|
|
|
|
|
|
|
|
| |
Flesh out what ``notmuch restore --accumulate'' is supposed to do.
Its tests are currently XFAILed; the functionality will be added in
future patch(es).
Based on a patch by Thomas Schwinge:
id:"1317317811-29540-1-git-send-email-thomas@schwinge.name"
|
|
|
|
|
| |
These changes were included in Thomas's restore --accumulate patch,
but are actually more generally applicable.
|
|
|
|
|
|
|
|
| |
Thanks to Thomas Schwinge for noticing yet another place where quoting
matters. Since the shell translates \. to ., the regex passed to grep
is too generous without the quotes.
The use of [.] is the suggestion of Tomi Ollila.
|
|
|
|
|
|
|
|
|
|
| |
Several new tests are added, and existing use of test_begin_subtest is
replaced by test_expect_success to catch failing commands in cases where
we execute more than one command.
Based on changes in
id:"1317317811-29540-1-git-send-email-thomas@schwinge.name"
|
|
|
|
|
|
|
| |
- explain test_expect_equal_file
- remove mention of test_expect_failure, since that function was removed.
Based on id:"1317317811-29540-1-git-send-email-thomas@schwinge.name"
|