To minimize memory usage we need to destroy the queries and the
databases, so we should keep track of them.
Each buffer gets a database connection that is destroyed when the buffer
is destroyed, and all the queries along with it.
Ideally notmuch should destroy the queries when the database is
destroyed, but it's not doing that at the moment.
Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
This operation might take a while, and even if it only takes fractions
of a second, that's not what the user might want.
Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
Based on id:1370220299-14722-1-git-send-email-felipe.contreras@gmail.com
Hacked rather extensively by db. The most important changes:
- bring back notmuch.yaml for the (debian specific?) vim-addons
tool.
- depend on vim-ruby, so we get a version of vim with ruby installed.
The old one was not properly maintained and is now deprecated. The new
one has much better support.
Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
As discussed in id:871udhcmks.fsf@zancas.localnet, notmuch-vim doesn't
really meet the standards of the CLI, emacs interface, or python
bindings in terms of being well maintained.
There should be no functional changes, except that you don't need to
make the directories before installing.
Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
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>
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>
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>
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>
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>
Various typo fixes in error messages within the source code.
Signed-off-by: Pieter Praet <pieter@praet.org>
Edited-by: Carl Worth <cworth@cworth.org> Restricted to just error messages.
Various typo fixes in comments within the source code.
Signed-off-by: Pieter Praet <pieter@praet.org>
Edited-by: Carl Worth <cworth@cworth.org> Restricted to just
source-code comments, (and fixed fix of "descriptios" to "descriptors"
rather than "descriptions").
Various typo fixes in auxiliary text files included with the source,
(README, TODO, etc.).
Signed-off-by: Pieter Praet <pieter@praet.org>
Edited-by: Carl Worth <cworth@cworth.org> Restricted to just text files.
The problem with 'mailx' is that it's not standardized, and it doesn't
allow the -f option, which is pretty important on many sendmail
configurations.
Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
Here's a bitty patch to the vim plugin; it now calculates the primary email
of the user based on a call to notmuch config. There's still a lot of work
that needs to get done on notmuch.vim, e.g., the ability to have multiple
emails/accounts.
Possilby used by more systems, and besides the code wasn't really
working properly anyway.
Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
It's not working properly; the current message is jumping around and the
tags not really added/removed properly.
Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
When show mode is invoked it could be displaying just the matched messages
or everything. This flag is passed to NM_search_show_thread(). It is then
stored in a buffer variable, b:nm_show_everything, and used for subsequent
calls to NM_search_show_thread() triggered by <Space>, <C-n> and <C-p>.
Signed-off-by: Bart Trojanowski <bart@jukie.net>
In search view <Space> will show the thead, but folding messages that
don't match the current search expression. Conversly, <Enter> always
shows all messages in the thread.