Pieter Praet [Thu, 30 Jun 2011 08:23:23 +0000 (10:23 +0200)]
test: stashing in notmuch-{show,search}
Should provide full test coverage of the stashing feature.
Signed-off-by: Pieter Praet <pieter@praet.org>
Pieter Praet [Thu, 30 Jun 2011 08:20:50 +0000 (10:20 +0200)]
emacs: add keybind and function to stash Message-ID without prefix
Add function `notmuch-show-stash-message-id-stripped'
which stashes a Message-ID after ripping off the prefix and quotes,
add bind it to "I" key in `notmuch-show-stash-map'.
Simplifying `notmuch-show-get-message-id' instead might seem better,
but that would require concat'ing in 9 places instead of 1.
Signed-off-by: Pieter Praet <pieter@praet.org>
David Bremner [Sat, 12 Nov 2011 15:46:13 +0000 (10:46 -0500)]
NEWS: mention dtach instead of screen in the description of testing changes
This brings NEWS back in line with the actual code.
Dmitry Kurochkin [Mon, 4 Jul 2011 06:47:05 +0000 (10:47 +0400)]
emacs: add invisible space after the search widget field in notmuch-hello
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.
Austin Clements [Wed, 9 Nov 2011 02:55:28 +0000 (21:55 -0500)]
emacs: Use a single buffer invisibility spec to fix quadratic search cost.
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.)
Tomi Ollila [Sat, 12 Nov 2011 09:57:22 +0000 (11:57 +0200)]
smtp-dummy: clear sockaddr_in structure before use in bind()
Any junk bytes in sockaddr_in structure before passing that
to bind() system call may cause problems.
Jameson Graef Rollins [Fri, 11 Nov 2011 00:17:57 +0000 (16:17 -0800)]
debian: update build dependency on dtach instead of screen
This reflects a modification to the test suite to use dtach instead of
screen.
Jameson Graef Rollins [Fri, 11 Nov 2011 00:17:56 +0000 (16:17 -0800)]
debian: clean up Uploaders and Build-Depends fields in debian/control
No functional change, but this will make for cleaner diffs down the
line.
Tomi Ollila [Fri, 11 Nov 2011 21:33:58 +0000 (23:33 +0200)]
test: use dtach(1) instead of screen(1) in emacs tests
dtach is simpler than screen and is not setuid/setgid program so
TMPDIR does not get cleared by dynamic loader when executed
Michal Sojka [Sat, 27 Aug 2011 12:38:26 +0000 (14:38 +0200)]
Do not query on notmuch-search exit
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.
Dmitry Kurochkin [Sun, 6 Nov 2011 09:04:01 +0000 (13:04 +0400)]
emacs: remove unused `point-invisible-p' function
`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.
Dmitry Kurochkin [Sun, 6 Nov 2011 09:04:00 +0000 (13:04 +0400)]
emacs: remove no longer used functions from notmuch-show.el
Remove `notmuch-show-move-past-invisible-backward' and
`notmuch-show-move-past-invisible-forward' functions which are
unused.
Dmitry Kurochkin [Sun, 6 Nov 2011 09:03:59 +0000 (13:03 +0400)]
emacs: improve hidden signatures handling in notmuch-show-advance-and-archive
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.
Dmitry Kurochkin [Sun, 6 Nov 2011 09:03:58 +0000 (13:03 +0400)]
test: `notmuch-show-advance-and-archive' with invisible signature
Add Emacs test to check that `notmuch-show-advance-and-archive'
works for the last message in thread with invisible signature.
David Bremner [Sun, 6 Nov 2011 01:10:51 +0000 (22:10 -0300)]
NEWS: tentative news item about requiring screen to run the test suite.
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.
David Bremner [Sun, 6 Nov 2011 01:08:00 +0000 (22:08 -0300)]
debian: build-depend on screen.
This is needed for emacs tests, now that those are run in screen.
Dmitry Kurochkin [Fri, 1 Jul 2011 04:55:18 +0000 (08:55 +0400)]
test: do not set frame width in emacs
No need for `set-frame-width' in emacs tests since it runs in
screen now.
Dmitry Kurochkin [Fri, 1 Jul 2011 04:55:17 +0000 (08:55 +0400)]
test: avoid using screen(1) configuration files
Set SCREENRC and SYSSCREENRC environment variables to "/dev/null"
as suggested by Jim Paris to avoid potential problems with
screen(1) configuration files.
Dmitry Kurochkin [Fri, 1 Jul 2011 04:55:16 +0000 (08:55 +0400)]
test: run emacs inside screen
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.
Dmitry Kurochkin [Fri, 1 Jul 2011 02:03:50 +0000 (06:03 +0400)]
test: json show format of message with inline attachment with filename
The patch adds a test to check that json show format includes
filenames for attachments with inline disposition.
Ali Polatel [Mon, 10 Jan 2011 14:59:18 +0000 (16:59 +0200)]
notmuch-deliver: update gitignore
Thomas Schwinge [Wed, 29 Dec 2010 19:35:02 +0000 (20:35 +0100)]
notmuch-deliver: Don't read errno inappropriately.
Signed-off-by: Thomas Schwinge <thomas@schwinge.name>
Thomas Schwinge [Wed, 29 Dec 2010 19:31:41 +0000 (20:31 +0100)]
notmuch-deliver: Won't deliver to more than one folder.
Signed-off-by: Thomas Schwinge <thomas@schwinge.name>
Thomas Schwinge [Wed, 29 Dec 2010 11:14:45 +0000 (12:14 +0100)]
notmuch-deliver: Advance imported files to maildrop-2.5.2 release.
Thomas Schwinge [Wed, 29 Dec 2010 11:02:29 +0000 (12:02 +0100)]
notmuch-deliver: Import said files from maildrop-2.2.0 release.
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>
Thomas Schwinge [Wed, 29 Dec 2010 11:00:30 +0000 (12:00 +0100)]
Move files copied from maildrop to a separate hierarchy.
Signed-off-by: Thomas Schwinge <thomas@schwinge.name>
Thomas Schwinge [Wed, 29 Dec 2010 10:57:53 +0000 (11:57 +0100)]
Make it build in a separate build directory.
Signed-off-by: Thomas Schwinge <thomas@schwinge.name>
Ali Polatel [Wed, 26 May 2010 11:32:27 +0000 (14:32 +0300)]
notmuch-deliver: Add mailmap
alip [Wed, 26 May 2010 14:27:30 +0000 (14:27 +0000)]
notmuch-deliver: Fix utter failure
Ali Polatel [Wed, 26 May 2010 11:21:15 +0000 (14:21 +0300)]
notmuch-deliver: Use splice() if it's available
NOTMUCH_DELIVER_NO_SPLICE environment variable may be set to fallback to
the read/write method.
Ali Polatel [Wed, 26 May 2010 10:04:53 +0000 (13:04 +0300)]
notmuch-deliver: Add --enable-{gprof,gcov} options to configure
Ali Polatel [Wed, 26 May 2010 07:55:39 +0000 (10:55 +0300)]
More debug messages
Ali Polatel [Wed, 26 May 2010 07:23:40 +0000 (10:23 +0300)]
notmuch-deliver: Fix typos in option context description
Ali Polatel [Wed, 26 May 2010 07:13:03 +0000 (10:13 +0300)]
notmuch-deliver: Fix copy/paste fail
Ali Polatel [Wed, 26 May 2010 07:09:47 +0000 (10:09 +0300)]
notmuch-deliver: Initial import
Daniel Schoepe [Tue, 9 Aug 2011 17:32:49 +0000 (19:32 +0200)]
emacs: Tab completion for notmuch-search and notmuch-search-filter
This patch adds completion with <tab> in the minibuffer for
notmuch-search and notmuch-search-filter.
David Bremner [Fri, 28 Oct 2011 14:56:30 +0000 (11:56 -0300)]
lib/database.cc: use flush Xapian method instead of commit
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.
Tomi Ollila [Mon, 31 Oct 2011 12:01:28 +0000 (14:01 +0200)]
remove GCC visibility pragmas
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..."
David Bremner [Sun, 23 Oct 2011 20:52:19 +0000 (17:52 -0300)]
xregcomp: don't consider every regex compilation failure an internal error.
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.
David Bremner [Sun, 23 Oct 2011 15:05:13 +0000 (12:05 -0300)]
xutil.c: remove duplicate copies, create new library libutil.a to contain xutil.
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.
David Bremner [Thu, 13 Oct 2011 01:23:33 +0000 (22:23 -0300)]
build system: target to make a Debian snapshot package.
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.
David Bremner [Thu, 13 Oct 2011 01:23:32 +0000 (22:23 -0300)]
build system: remove dashes from git-describe generated version.
This makes it less confusing with released Debian versions, now that we have
non-native Debian versions.
Daniel Schoepe [Fri, 28 Oct 2011 14:48:58 +0000 (16:48 +0200)]
emacs: Turn id:"<message-id>" elements into buttons for notmuch searches
This fixes the minor annoyance that message ids were parsed as mail
addresses by goto-address-mode in notmuch-show buffers.
Amadeusz Żołnowski [Tue, 25 Oct 2011 08:07:02 +0000 (10:07 +0200)]
Separate Emacs misc. files dir. from Emacs code dir.
New option --emacsetcdir was added, but it's set default to the same
value as --emacslispdir for backward compatibility.
Amadeusz Żołnowski [Sun, 23 Oct 2011 14:44:01 +0000 (16:44 +0200)]
Prefix lib/notmuch.h and lib/gen-version-script.sh with $(srcdir)
lib/notmuch.h and lib/gen-version-script.sh couldn't have been found
when building out of sources directory.
David Bremner [Fri, 21 Oct 2011 22:09:49 +0000 (19:09 -0300)]
docs: Update news, man page, and online help for restore --accumulate
As a side effect, reformat the NEWs entry for notmuch dump for
consistency with the notmuch restore NEWS submitted by Thomas
Schwinge.
David Bremner [Fri, 21 Oct 2011 18:46:54 +0000 (15:46 -0300)]
notmuch-restore: check for extra arguments.
We consider it an error to pass more than one file to restore, since
extra ones are ignored.
David Bremner [Wed, 19 Oct 2011 21:18:24 +0000 (18:18 -0300)]
notmuch-restore: implement --accumulate option
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"
David Bremner [Fri, 21 Oct 2011 16:04:46 +0000 (13:04 -0300)]
test/dump-restore: add tests for restore --accumulate
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"
David Bremner [Fri, 21 Oct 2011 22:08:11 +0000 (19:08 -0300)]
notmuch.1: typo fixes new wording for dump/restore
These changes were included in Thomas's restore --accumulate patch,
but are actually more generally applicable.
David Bremner [Fri, 21 Oct 2011 00:14:30 +0000 (21:14 -0300)]
test/dump-restore: Fix quoting on grep
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.
David Bremner [Wed, 19 Oct 2011 21:03:12 +0000 (18:03 -0300)]
test/dump-restore: expand test suite for dump-restore, make more robust
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"
David Bremner [Wed, 19 Oct 2011 20:51:24 +0000 (17:51 -0300)]
test/test-lib.sh: update comments
- 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"
David Bremner [Fri, 21 Oct 2011 12:19:17 +0000 (09:19 -0300)]
cli: change argument parsing convention for subcommands
previously we deleted the subcommand name from argv before passing to
the subcommand. In this version, the deletion is done in the actual
subcommands. Although this causes some duplication of code, it allows
us to be more flexible about how we parse command line arguments in
the subcommand, including possibly using off-the-shelf routines like
getopt_long that expect the name of the command in argv[0].
David Bremner [Wed, 12 Oct 2011 21:34:43 +0000 (18:34 -0300)]
docs: Update man page, NEWS and online help for new dump arguments.
We mention in all three places that using the filename argument is
deprecated.
David Bremner [Mon, 10 Oct 2011 13:44:07 +0000 (10:44 -0300)]
notmuch-dump: deprecate use of output file argument.
We print an intentionally non-specific message on stderr, since it
isn't clear if there will be some global output file argument to
replace.
We update the test suite atomically, since it relies on having the
same text in two files.
David Bremner [Sun, 9 Oct 2011 14:12:30 +0000 (11:12 -0300)]
notmuch-dump: treat any remaining arguments after the filename as search terms
The main motivation here is allow the fast dumping of tag data for
messages having certain tags. In practice it seems too slow to pipe
dump to grep.
All dump-restore tests should be working now, so we update test/dump-restore
accordingly
David Bremner [Sun, 9 Oct 2011 13:57:03 +0000 (10:57 -0300)]
notmuch-dump: update handling of file name argument
We permit -- as an "option processing terminator".
Currently this does not do anything useful, but we plan to add
search terms after the --.
David Bremner [Mon, 10 Oct 2011 12:27:20 +0000 (09:27 -0300)]
test: add tests for command line arguments to notmuch-dump
The plan is to add the possibility of search terms after the file name,
and the use of -- to stop looking for an output file name.
David Bremner [Sun, 9 Oct 2011 13:29:22 +0000 (10:29 -0300)]
test: update dump-restore to use redirection instead of filename args
The idea here is that we want to deprecate the use of arguments to
dump and restore to specify paths, since in particular we want to use
the non-option arguments to dump to form a query.
David Bremner [Wed, 12 Oct 2011 00:53:57 +0000 (21:53 -0300)]
debian: changelog stanza for 0.9
Admit that there have been no changes since the last release
candidate.
David Bremner [Wed, 12 Oct 2011 00:50:56 +0000 (21:50 -0300)]
version: bump to 0.9
also bump python bindings version.
David Bremner [Tue, 11 Oct 2011 12:10:33 +0000 (09:10 -0300)]
NEWS: document API changes to n_d_find_message{,_by_filename}
For details the user will have to refer to the source. Reformat Ruby
news consistently with Python.
David Bremner [Tue, 11 Oct 2011 12:05:41 +0000 (09:05 -0300)]
NEWS: document API changes to n_d_find_message{,_by_filename}
For details the user will have to refer to the source.
Jameson Graef Rollins [Sun, 9 Oct 2011 03:21:26 +0000 (20:21 -0700)]
test: add two emacs tests for show mode refresh
The first test tests that the notmuch-show-refresh-view function
produces the exact same output for an unmodified show buffer. This
test should pass since the relevant functionality has already been
applied.
The second test tests show refresh for a show buffer that has been
modified by navigation and message visibility toggling. Ideally
refresh-view should preserve this state of the notmuch-show buffer.
Unfortunately it currently does not, so this test is know to be broken
and is marked as such.
Jameson Graef Rollins [Sun, 9 Oct 2011 03:47:47 +0000 (20:47 -0700)]
NEWS: add notes about emacs improvements and reply formating cleanup
David Bremner [Sat, 8 Oct 2011 01:42:18 +0000 (22:42 -0300)]
version: bump to 0.9~rc2
We continue to keep the python bindings version in sync manually
David Bremner [Fri, 7 Oct 2011 21:54:27 +0000 (18:54 -0300)]
debian: update changelog for 0.9~rc2-1
Document upstream changes since 0.9~rc1-1
Jameson Graef Rollins [Sun, 29 May 2011 00:09:43 +0000 (17:09 -0700)]
emacs: add notmuch-show-refresh-view function
This function, like the equivalent for notmuch-search, just refreshes
the current show view. Like in notmuch-search, this new function is
bound to "=". If a prefix is given then the redisplay happens with the
crypto-switch set, which displays the thread with the opposite logic
of whatever is set in the notmuch-crypto-process-mime customization
variable.
Jameson Graef Rollins [Tue, 31 May 2011 17:07:13 +0000 (10:07 -0700)]
emacs: Add callback functions to crypto sigstatus button.
This adds two callback functions to the sigstatus button. If the sig
status is "good", then clicking the button displays the output of "gpg
--list-keys" on the key fingerprint. If the sigstatus is "bad", then
clicking the button will retrieve the key from the keyserver, and
redisplay the current buffer.
Thanks to David Bremner <bremner@unb.ca> for help with this.
Jameson Graef Rollins [Wed, 8 Jun 2011 19:30:09 +0000 (12:30 -0700)]
Ignore "application/pgp-*" parts in reply.
The quoted text doesn't need to mention that the message being replied
to had these crufty parts.
Jameson Graef Rollins [Wed, 8 Jun 2011 19:30:08 +0000 (12:30 -0700)]
test: test for absence of "Non-text part: application/pgp-*" lines in reply
In reply, the quoted text does not need to mention that the original
message had "application/pgp-signed" or "application/pgp-encrypted"
parts.
Jameson Graef Rollins [Wed, 8 Jun 2011 19:30:07 +0000 (12:30 -0700)]
Fix notmuch-reply to not output "Non-text part:" lines for non-leafnode parts.
These lines are just cruft in this case, and can be removed.
Jameson Graef Rollins [Wed, 8 Jun 2011 19:30:06 +0000 (12:30 -0700)]
test/multipart: test for absence of "Non-text part:" lines in reply for multipart/* and message/rfc822 parts
There's no reason to output "Non-text part:" lines for parts that are
not leaf nodes, eg. multipart/* and message/rfc822. We fix the text
here to test for their absence. The next patch will fix reply
accordingly.
Sebastian Spaeth [Wed, 5 Oct 2011 15:57:46 +0000 (17:57 +0200)]
python: Set status in the class definitions
Technically, this is a superfluous change, as the self.status variable
currently gets set in NotmuchErrors's __new__ function. However, in the
long run I would like to get rid of the weird __new__ implementation which
might be somewhat confusing for users (NotmuchError(status) returns a
different class, e.g. OutOfMemoryError)
Signed-off-by: Sebastian Spaeth <Sebastian@SSpaeth.de>
Sebastian Spaeth [Wed, 5 Oct 2011 15:55:30 +0000 (17:55 +0200)]
python: help function Query._assert_query_is_initialized
Remove code duplication by using the new helper function. Also raise the
new fine grained exceptions in many cases, rather than the more generic
NotmuchErrors.
Signed-off-by: Sebastian Spaeth <Sebastian@SSpaeth.de>
Sebastian Spaeth [Wed, 5 Oct 2011 15:54:09 +0000 (17:54 +0200)]
python: clean up docstrings and API documentation
Signed-off-by: Sebastian Spaeth <Sebastian@SSpaeth.de>
Sebastian Spaeth [Wed, 5 Oct 2011 15:05:37 +0000 (17:05 +0200)]
python: whitespace fixed in docstrings
Signed-off-by: Sebastian Spaeth <Sebastian@SSpaeth.de>
Sebastian Spaeth [Wed, 5 Oct 2011 14:58:13 +0000 (16:58 +0200)]
python: Add the new exception types in the API documentation
as they should be documented...
Signed-off-by: Sebastian Spaeth <Sebastian@SSpaeth.de>
Sebastian Spaeth [Wed, 5 Oct 2011 14:44:35 +0000 (16:44 +0200)]
python: Catch up with find_message(by_filename) API changes
message is now an out parameter, and we get an additional status code as
a result. Hurray \o/.
Signed-off-by: Sebastian Spaeth <Sebastian@SSpaeth.de>
Sebastian Spaeth [Wed, 5 Oct 2011 13:46:03 +0000 (15:46 +0200)]
python: also use libnotmuch.so.2
Catch up with the major version bump. I wonder if this could somehow be
automatically made the correct version number. Oh well, I hope it
doesn't change too often :-).
Signed-off-by: Sebastian Spaeth <Sebastian@SSpaeth.de>
David Bremner [Tue, 4 Oct 2011 17:01:21 +0000 (14:01 -0300)]
debian: update packaging for new soname
we need
- a new changelog stanza, because the symbols files need a new version
- s/libnotmuch1/libnotmuch2/ everywhere
- update symbols file, s/.so.1/.so.2/, and bump minimum versions on changed
symbols (although the latter is just documentation)
David Bremner [Tue, 4 Oct 2011 16:47:04 +0000 (13:47 -0300)]
lib: bump SONAME
Based on discussions with amdragon, tschwinge, and others on IRC, I concluded that
1) symbol versioning was probably overkill for libnotmuch
2) It was also probably GNU ld specific
3) Most importantly, nobody could tell me on short notice how exactly it works.
So since the change to the notmuch_database_find_message breaks the
previous ABI, we need to bump the SONAME.
Ali Polatel [Tue, 4 Oct 2011 13:57:33 +0000 (16:57 +0300)]
ruby: Fix macros, use quoting
Fix Data_Get_Notmuch_* macro definitions broken by prev. commit
Adequate quoting for Data_Get_Notmuch_* macros
Remove duplicated RSTRING_PTR() macros, move it to defs.h
Ali Polatel [Tue, 4 Oct 2011 13:48:34 +0000 (16:48 +0300)]
ruby: Really add wrappers for database_find_message*
Commit
898613116db746aa0f915ae43da8aba28545203d only added wrapper
functions but did not register them. Register the functions in module's
initialization function.
Ali Polatel [Tue, 4 Oct 2011 13:41:52 +0000 (16:41 +0300)]
ruby: be consistent with notmuch's coding style
No functional change, just indentation
Ali Polatel [Tue, 4 Oct 2011 13:06:20 +0000 (16:06 +0300)]
ruby: Add wrappers for database_find_message*
Two new wrappers:
Notmuch::Database.find_message(id) => Notmuch::Message or nil
Notmuch::Database.find_message_by_filename(path) => Notmuch::Message or nil
David Bremner [Tue, 4 Oct 2011 10:35:40 +0000 (07:35 -0300)]
Merge remote-tracking branch 'alip/find_message-v3'
Ali Polatel [Tue, 4 Oct 2011 04:55:29 +0000 (07:55 +0300)]
lib: make find_message{,by_filename) report errors
Previously, the functions notmuch_database_find_message() and
notmuch_database_find_message_by_filename() functions did not properly
report error condition to the library user.
For more information, read the thread on the notmuch mailing list
starting with my mail "id:871uv2unfd.fsf@gmail.com"
Make these functions accept a pointer to 'notmuch_message_t' as argument
and return notmuch_status_t which may be used to check for any error
condition.
restore: Modify for the new notmuch_database_find_message()
new: Modify for the new notmuch_database_find_message_by_filename()
Ali Polatel [Mon, 3 Oct 2011 20:27:32 +0000 (23:27 +0300)]
lib: destroy message object after message removal
notmuch_database_remove_message() must call notmuch_message_destroy()
once it is done handling message removal.
Thomas Jost [Fri, 30 Sep 2011 10:16:47 +0000 (12:16 +0200)]
python: fix Message.get_filenames()
Previously, the Filenames generator only yielded *one* filename before
returning, making Message.get_filenames() behave as Message.get_filename(). This
commit fixes this incorrect behavior: now the generator yields all the
filenames, as expected.
Sebastian Spaeth [Fri, 30 Sep 2011 14:04:42 +0000 (16:04 +0200)]
python: rework creating of Subclasses
Add some smart magic, so that when we invoke a
NotmuchError(STATUSVALUE), a nicely derived subclass is created, e.g. a
OutOfMemoryError. This way users can easily distinguish between error
types, while still catching NotmuchError.
I have tested this, and hope it works for others too.
Signed-off-by: Sebastian Spaeth <Sebastian@SSpaeth.de>
Justus Winter [Mon, 26 Sep 2011 01:05:35 +0000 (03:05 +0200)]
python: provide more exception classes
To make the exception handling more effective in code using the
python bindings it is necessary to differentiate between the
different kind of failures.
Add an exception class for each status code and add a decode
classmethod to the NotmuchError class that acts as a factory.
Import the new classes in __init__.py so they can be easily
imported by anyone.
Patch modifed by Sebastian Spaeth.
Signed-off-by: Sebastian Spaeth <Sebastian@SSpaeth.de>
Signed-off-by: Justus Winter <4winter@informatik.uni-hamburg.de>
Justus Winter [Fri, 30 Sep 2011 01:05:04 +0000 (03:05 +0200)]
python: fix docstring of Message.get_header()
Update the docstring from notmuch.h.
Signed-off-by: Justus Winter <4winter@informatik.uni-hamburg.de>
Sebastian Spaeth [Thu, 29 Sep 2011 09:00:43 +0000 (11:00 +0200)]
python: Add new functions in API documentation
Add documentation for the three new functions and add in which version
they have been added.
Signed-off-by: Sebastian Spaeth <Sebastian@SSpaeth.de>
Sebastian Spaeth [Thu, 29 Sep 2011 08:47:28 +0000 (10:47 +0200)]
python: Improve code documentation
1) Fix added .gitignore from commit
dc8a1745 to work on the docs folder
2) Improve in-code developer documentation to produce better
sphinx-generated documentation. No code changes.
Signed-off-by: Sebastian Spaeth <Sebastian@SSpaeth.de>
Sebastian Spaeth [Thu, 29 Sep 2011 07:55:14 +0000 (09:55 +0200)]
NEWS: Note implementation bug for python binding
Make note that find_message_by_name currently crashes the python process
if the Database is READ-ONLY. This should be fixed in the underlying
libnotmuch.
Signed-off-by: Sebastian Spaeth <Sebastian@SSpaeth.de>
Sebastian Spaeth [Thu, 29 Sep 2011 07:51:42 +0000 (09:51 +0200)]
NEWS: Update with python binding news
List major changes.
Signed-off-by: Sebastian Spaeth <Sebastian@SSpaeth.de>
Justus Winter [Sun, 25 Sep 2011 21:07:35 +0000 (23:07 +0200)]
properly raise exceptions in python bindings
There are various locations where exceptions are constructed but
not raised. This patch adds the necessary raise statements.
Signed-off-by: Justus Winter <4winter@informatik.uni-hamburg.de>
Justus Winter [Mon, 26 Sep 2011 01:05:37 +0000 (03:05 +0200)]
python: raise a more specific error in Messages.print_messages
Raising Exception is considered bad since the only way to catch
it is to do 'except Exception'. Raising a TypeError is more
appropriate.
Since the format parameter has already been validated, checking
it again is not necessary. Simplify this conditional.
Signed-off-by: Justus Winter <4winter@informatik.uni-hamburg.de>