Commit graph

2358 commits

Author SHA1 Message Date
pazz
f10ec87cc3 python: Fix unsafe utf-8 decodings
This prevents unsafe calls to decode for return value None in
get_authors/get_subject which would current throw an Exception. Original
patch modified by Sebastian Spaeth.

Signed-off-by: Sebastian Spaeth <Sebastian@SSpaeth.de>
2011-08-17 14:44:45 +02:00
patrick
ee4579ad27 decode headers from utf-8 to unicode
as mail headers are stored as utf-8 in the index,
it is safe to return them as unicode strings directly
2011-08-15 15:48:50 +02:00
Sebastian Spaeth
dc6b2b4382 python: remove Tags().__len__() implementation
len() exhausts the tag iterator and e.g. list() or "".join(tags)
implicitly call len() if existing and then failing. So, we remove
Tags.__len__().

If you need to know the number of tags a message has, do use
len(list(tags)). It would be nicer to be able to support len() directly...

Signed-off-by: Sebastian Spaeth <Sebastian@SSpaeth.de>
2011-08-09 17:48:27 +02:00
Sebastian Spaeth
94c5edd064 python: Do explicitly check if the next tag exists
If we try to pull a non-existing tag, Tags._get will return None and the
appended .decode() command will fail. So make sure that there is a tag to
be fetched before fetching it.

Signed-off-by: Sebastian Spaeth <Sebastian@SSpaeth.de>
2011-08-09 17:45:44 +02:00
pazz
e75fd0d937 python: pep8 compliance for __init__.py 2011-08-09 17:28:24 +02:00
pazz
61b96f2c24 python: pep8 compliance for thread.py 2011-08-09 17:28:24 +02:00
pazz
be7947f459 python: pep8 compliance for tag.py 2011-08-09 17:28:24 +02:00
pazz
c49bcfd4e2 python: pep8 compliance for globals.py 2011-08-09 17:28:24 +02:00
pazz
8176326f30 python: pep8 compliance for filename.py 2011-08-09 17:28:24 +02:00
pazz
e69e30edd7 python: pep8 compliance for database.py 2011-08-09 17:28:24 +02:00
pazz
61f0184707 python: pep8 compliance for message.py 2011-08-09 17:28:24 +02:00
Sebastian Spaeth
9562c7d1fb python: Really throw an error if search_threads() fails
In case, search_threads returns an error we are supposed to throw an
Exception. But we did not "raise" it, this was an oversight and this
commit fixes it.

There is still the problem that there is often output to stderr by
libnotmuch detailing the xapian error and this is simply printed
out. But this requires fixing at the libnotmuch level...

Signed-off-by: Sebastian Spaeth <Sebastian@SSpaeth.de>
2011-08-09 16:51:03 +02:00
Cedric Cabessa
805d737029 python: Fix copy'n paste typo
we accessed a wrong attribute due to a copy and paste error. Thanks for
catching this.

Signed-off-by: Sebastian Spaeth <Sebastian@SSpaeth.de>
2011-08-09 16:34:02 +02:00
David Bremner
68e8560b09 Merge branch 'release' 2011-08-01 21:58:07 +02:00
David Bremner
bb6d99497b debian: new changelog stanza for 0.7
No actual changes, but we need a new stanza to upload to unstable
anyway.
2011-08-01 21:48:13 +02:00
David Bremner
5190b7c008 update NEWS for 0.7
Essentially point form from git log --oneline.
2011-08-01 21:43:54 +02:00
David Bremner
ef36eb794f version: bump to 0.7
No actual changes since 0.7~rc1
2011-08-01 21:18:03 +02:00
David Bremner
fe9c60dba7 Revert "debian: Generate version from debian/changelog"
This reverts commit 2b76283b52.

Conflicts:

	debian/rules
2011-07-29 18:56:52 +02:00
David Bremner
839b7f20f6 build-system: Add pre-release target
This is a lighter weight version of the release target, intended to
support uploading release candidates to Debian.

As a side effect, filter ~ out of VERSION to make tag names.
2011-07-29 18:56:52 +02:00
David Bremner
97d090c105 bump upstream version to 0.7~rc1 2011-07-29 17:22:42 +02:00
David Bremner
41e3c4e34f debian: changelog stanza for release candiate 2011-07-29 12:20:45 +02:00
Ali Polatel
20aa9b1b7e ruby: Fix typo in documentation
It's Notmuch::FileNames not Notmuch::Filenames
2011-07-29 09:45:16 +03:00
Ali Polatel
e213439cdc ruby: Remove the split file hack from rdoc.sh 2011-07-29 09:44:44 +03:00
Ali Polatel
6ef8e018f8 ruby: Add markers to method definitions to help rdoc
rdoc is dumb and needs markers in method definitions so that she can
find which source file the method is defined in
2011-07-29 09:29:54 +03:00
Ali Polatel
666ef9f5f6 ruby: Document remaining undocumented constants 2011-07-29 09:16:12 +03:00
Ali Polatel
517faab24e ruby: Document constants and exceptions right before definition 2011-07-29 09:09:28 +03:00
Ali Polatel
00dfa0a17d ruby: Add list of classes to main documentation 2011-07-29 08:53:02 +03:00
Thomas Jost
1c71d943cb libnotmuch: only build symbols list after the modules are built
If the notmuch.sym target does not explicitly depend on $(libnotmuch_modules),
gen-version-script.sh may be run before all the .o files are created, for
example when doing a parallel build on a machine with many cores.
2011-07-20 21:42:35 -03:00
David Bremner
a900ddaba6 Merge commit '0.6.1'
Conflicts:
	lib/Makefile.local

The conflicts are from three kinds of commits not merged into release:
    - typo fixes
    - removal of debug output
    - fix for CLEAN rule

That were never merged into the release branch.
2011-07-17 22:20:37 -03:00
David Bremner
2d69aba586 build-system: tag debian-version as part of the release target
This allows, e.g. gitpkg debian/0.x-1 to do the right thing.  It also
helps enforce the convention that Debian upload -1 is identical to the
release tarball.
2011-07-17 11:20:51 -03:00
David Bremner
b5881942d4 debian: use 3.0 (quilt) source format.
This generates a seperate notmuch-0.x.debian.tar.gz containing
./debian.

In the initial release this is redundant, but for Debian only updates
between releases, this allows updating the contents of ./debian, and
using the rest of the release tarball.
2011-07-17 11:11:57 -03:00
David Bremner
0897209f4d build-system: update version check to support non-native packages.
We could be a bit more flexible about this and support optional Debian
versions, but for the moment, we pick a policy and stick to it.
2011-07-17 11:04:08 -03:00
David Bremner
466f3b57aa build-system: guard parts irrevokable parts of release target with REALLY_UPLOAD
This supports both testing and use by non-upload privileged
users. Along with previous commits in the series, this lets one do a
dry run of the release process and created a tarball, signature file,
and release announcement to inspect before uploading.
2011-07-17 10:59:41 -03:00
David Bremner
9b0dfd11c5 build-system: use signed tag to make tar file, if available.
This as the advantage that "make VERSION=n.m dist" will work correctly
even if the wrong branch happens to be checked out.
2011-07-17 10:59:41 -03:00
David Bremner
60173feb06 build-system: tag earlier in the release process.
If tagging fails, we really don't want to upload tarballs.
2011-07-17 10:59:41 -03:00
David Bremner
939c91b7ef build-system: remove use of git-buildpackage, dput. Add pristine-tar.
The previous setup was dependent on the git-buildpackage configuration
to find the resulting tar file, and consequently a bit fragile.

We use pristine-tar instead to save a checksum-identical copy of the
tar file. This will also faciliate "non-native" debian packages, if
desired.

dput again depends on the local configuration, and mainly is a bit too
brave for me to do automatically.
2011-07-17 10:59:41 -03:00
David Bremner
9fb9fb2986 build-system: run make clean before testing.
The reasoning is that we might have some error in the build system
that causes something not to be rebuilt; this would potentially have
the tests run on the wrong version of the code.
2011-07-17 10:59:41 -03:00
David Bremner
2e13698812 build-system: replace use of ssh with wget for checking the website
The idea is to see if the version we are already releasing exists on
the notmuch website. Using wget allows more people to run this target,
and also allows people with ssh access to run it without access to
their keys.
2011-07-17 10:59:41 -03:00
David Bremner
2b1b6df06f version: bump to 0.6.1 2011-07-17 10:59:08 -03:00
David Bremner
ab7de917bd update NEWS and debian/changelog for 0.6.1 2011-07-17 10:58:15 -03:00
David Bremner
a77cbe3c91 debian: use a non-native version number.
There is concensus to use non-native version number for updates that
contain only Debian changes. Unfortunately changing back and forth
between native and non-native packages has the potential for
confusion, since the archive will end up with notmuch-0.x.tar.gz and
notmuch-0.x.orig.tar.gz. So we use non-native numbering from the
beginning.
2011-07-17 10:42:53 -03:00
David Bremner
1510ba3c3a debian: add (demangled) Xapian exception typeinfo symbols to libnotmuch1.symbols
These are exported (again) by the library to prevent problems with
catching exceptions.
2011-07-16 22:16:46 -03:00
David Bremner
feb22fef2e libnotmuch: export Xapian typeinfo symbols
The lack of such exporting seems to cause problems catching
exceptions, as suggested by

    http://gcc.gnu.org/wiki/Visibility

This manifested in the symbol-hiding test failing when notmuch was
compile with gcc 4.4.5. On i386, this further manifested as notmuch
new failing to run (crashing with an uncaught exception on first run).
2011-07-16 22:16:46 -03:00
Jason Woofenden
8b10e4d569 vim: fix citation/signature fold lengths
Before they'd often miss the last line

Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
2011-07-16 21:57:38 +03:00
Jason Woofenden
6c6c8a9c85 vim: fix (hack) cig/cit parsing within multipart/*
The vim front-end isn't written to handle nested parts.

This patch doesn't change that, it just changes the code to pretend that
multipart/* sections end immediately. This makes the parsing code think that
all sections are top-level, and are thus parsed well enough.

The lovely result of this is that citation folds and signature folds now work
in text/plain parts that are within multipart/* sections. Also, all mime
section starts are now shown correctly (before some were not parsed and showed
the ugly ^L and an ID and so on from notmuch.)

Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
2011-07-16 21:57:38 +03:00
Jason Woofenden
3de487d405 vim: fix on-screen instructions for show-signature
Also change a passed parameter to be consistent with the current binding. This
parameter appears to be unused.

Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
2011-07-16 21:57:38 +03:00
Jason Woofenden
f5c20b8b08 vim: fix from list reformatting in search view
This patch rewrites the reformatting of the from list so it shows full
capitalized names when available (without truncating them as the old code did)
and removes the pipe characters that appear between some names.

The old code appears to assume from list (the list of senders in the thread)
coming from notmuch would be e-mail addresses, but in this version it is mostly
full names. Also in this version, the names are sometimes separated by pipe
instead of comma.

For consistency with old versions, names are still truncated at the first
period. Perhaps they shouldn't be though.

Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
2011-07-16 21:57:38 +03:00
Jason Woofenden
2b79776eed vim: fix space key: now archives (did opposite)
In vim, in the message view, space is supposed to remove the "unread" and
"inbox" tags, but was sometimes adding them instead.

This patch assures that they are always removed by this binding.

Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
2011-07-16 21:57:38 +03:00
Uwe Kleine-König
bab653ce39 vim: use the full path for sendmail
... as /usr/sbin isn't usually in user's PATH.

Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
2011-07-16 21:57:38 +03:00
Uwe Kleine-König
bcb17491b5 vim: skip trailing slash for g:notmuch_compose_temp_file_dir
With the trailing slash I get

	Error detected while processing function <SNR>10_NM_new_mail..<SNR>10_NM_cmd_compose..<SNR>10_NM_newComposeBuffer..<SNR>10_NM_newFileBuffer:
	line    3:
	E739: Cannot create directory: /home/ukleinek/.notmuch/compose/

when hitting 'm' to compose a new mail. strace shows:

	stat("/home/ukleinek/.notmuch/compose/", 0x7fffee314a10) = -1 ENOENT (No such file or directory)
	stat("/home/ukleinek/.notmuch/compose/", 0x7fffee314e30) = -1 ENOENT (No such file or directory)
	stat("/home/ukleinek/.notmuch/compose", 0x7fffee315270) = -1 ENOENT (No such file or directory)
	stat("/home/ukleinek/.notmuch", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
	mkdir("/home/ukleinek/.notmuch/compose", 0755) = 0
	mkdir("/home/ukleinek/.notmuch/compose/", 0755) = -1 EEXIST (File exists)

so it seems vim's mkdir() isn't able to handle a trailing slash.

Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
2011-07-16 21:49:12 +03:00