David Bremner [Fri, 15 Jul 2016 10:25:41 +0000 (07:25 -0300)]
lib: provide _notmuch_database_log_append
_notmuch_database_log clears the log buffer each time. Rather than
introducing more complicated semantics about for this function, provide
a second function that does not clear the buffer. This is mainly a
convenience function for callers constructing complex or multi-line log
messages.
The changes to query.cc are to make sure that the common code path of
the new function is tested.
David Bremner [Tue, 28 Jun 2016 21:08:54 +0000 (23:08 +0200)]
test: make gdb even quieter
gdb sometimes writes warnings to stdout, which we don't need/want, and
for some reason --batch-silent isn't enough to hide. So in this commit
we write them to a log file, which is probably better for debugging
anyway. To see an illustrative test failure before this change, run
% make
% touch notmuch-count.c
% cd test && ./T060-count.sh
Matt Armstrong [Thu, 21 Jul 2016 21:30:33 +0000 (14:30 -0700)]
emacs: express n-search-line-faces in terms of two new faces
The two new faces (notmuch-search-flagged-face and
notmuch-search-unread-face) make it easier to find the relevant face by
customizing notmuch-faces. I plan to do the same to the other alists of
faces found elsewhere.
David Bremner [Fri, 22 Jul 2016 12:47:34 +0000 (09:47 -0300)]
create .mailmap file (for git shortlog/blame)
Recently it was suggested on the list that we add a contributor to
AUTHORS. This file has been unmodified for 7 years, and is somewhat out
of date. It would potentially make sense to automagically update this
file during the release process using the output from git shortlog. This
file helps clean up some inconsistencies in author data in the history.
Jaime Velasco Juan [Mon, 4 Jul 2016 18:49:31 +0000 (19:49 +0100)]
Fix typo in Message.maildir_flags_to_tags
It has been calling _tags_to_maildir_flags instead since the beginning,
David Bremner [Tue, 19 Jul 2016 12:03:19 +0000 (09:03 -0300)]
Merge branch 'release'
David Bremner [Tue, 19 Jul 2016 11:51:33 +0000 (08:51 -0300)]
debian: changelog stanza for 0.22.1-2
David Bremner [Tue, 19 Jul 2016 11:47:47 +0000 (08:47 -0300)]
debian: add explicit build-depends on gnupg
apt dropped it's depends on gnupg, so we can't rely on it being present
in the build env anymore
David Bremner [Tue, 19 Jul 2016 09:43:20 +0000 (06:43 -0300)]
debian: changelog stanza for 0.22.1-1
Basically copy upstream NEWS
David Bremner [Tue, 19 Jul 2016 09:36:15 +0000 (06:36 -0300)]
NEWS: set date of point release
David Bremner [Tue, 19 Jul 2016 09:33:37 +0000 (06:33 -0300)]
version: bump to 0.22
David Bremner [Wed, 13 Jul 2016 22:48:13 +0000 (19:48 -0300)]
NEWS: initial NEWS for 0.22.1
David Bremner [Thu, 30 Jun 2016 19:28:31 +0000 (21:28 +0200)]
debian: add changelog stanza for 0.22.1~rc0-1
No actual changes discussed, because the NEWS file is yet to be
created.
David Bremner [Thu, 30 Jun 2016 15:52:42 +0000 (17:52 +0200)]
version: bump to 0.21.1~rc0
Getting ready for the point release
Stefano Zacchiroli [Thu, 21 Apr 2016 18:10:25 +0000 (14:10 -0400)]
notmuch-mutt: use env to locate perl for increased portability
Note: this patch drops -w from the shebang line, but we still have
"use warnings" in the script, which is superior anyhow.
Thanks Andreas Tolfsen for the suggestion.
David Bremner [Tue, 7 Jun 2016 10:37:57 +0000 (07:37 -0300)]
lib: fix definition of LIBNOTMUCH_CHECK_VERSION
Fix bug reported in id:
20160606124522.g2y2eazhhrwjsa4h@flatcap.org
Although the C99 standard 6.10 is a little non-obvious on this point,
the docs for e.g. gcc are unambiguous. And indeed in practice with the
extra space, this code fails
#include <stdio.h>
#define foo (x) (x+1)
int main(int argc, char **argv){
printf("%d\n",foo(1));
}
David Bremner [Mon, 27 Jun 2016 18:38:40 +0000 (20:38 +0200)]
doc: forbid further operations on a closed database
We could add many null pointer checks, but currently I don't see a use
case that justifies it.
David Bremner [Tue, 28 Jun 2016 08:24:07 +0000 (10:24 +0200)]
test: don't use dump and restore in a pipeline
This has been wrong since
bbbdf0478ea, but the race condition was not
previously been (often?) triggered in the tests. With the DB_RETRY_LOCK
patches, it manifests itself as a deadlock.
David Bremner [Sun, 26 Jun 2016 15:29:45 +0000 (17:29 +0200)]
lib: add built_with handling for XAPIAN_DB_RETRY_LOCK
This support will be present only if the appropriate version of xapian
is available _and_ the user did not disable the feature when
building. So there really needs to be some way for the user to check.
David Bremner [Sun, 26 Jun 2016 15:29:44 +0000 (17:29 +0200)]
test: initial tests for locking retry
Currently there's not much to test, so we simulate contention, and check
that the modifications to the database are serialized.
Istvan Marko [Sun, 26 Jun 2016 15:29:43 +0000 (17:29 +0200)]
Use the Xapian::DB_RETRY_LOCK flag when available
Xapian 1.3 has introduced the DB_RETRY_LOCK flag (Xapian bug
275). Detect it in configure and optionally use it. With this flag
commands that need the write lock will wait for their turn instead of
aborting when it's not immediately available.
Amended by db: allow disabling in configure
David Bremner [Tue, 28 Jun 2016 08:24:07 +0000 (10:24 +0200)]
test: don't use dump and restore in a pipeline
This has been wrong since
bbbdf0478ea, but the race condition was not
previously been (often?) triggered in the tests. With the DB_RETRY_LOCK
patches, it manifests itself as a deadlock.
David Bremner [Mon, 27 Jun 2016 18:38:40 +0000 (20:38 +0200)]
doc: forbid further operations on a closed database
We could add many null pointer checks, but currently I don't see a use
case that justifies it.
Tomi Ollila [Thu, 9 Jun 2016 19:20:56 +0000 (22:20 +0300)]
test/notmuch-test: simple streamlining
A few simple things that applies well to test/notmuch-test.sh
- Shell does pathname expansion also without doing `echo ...` in subshell.
- Redirections >/dev/null 2>/dev/null hide (improbable but) potential
serious errors; adding -f to rm instead.
- Inter-file capitalization consistency in comments.
- Unnecesary space removal.
Mark Walters [Thu, 9 Jun 2016 09:54:10 +0000 (10:54 +0100)]
emacs: show: improve handling of mark read tagging errors
Previously if a marking read tag change (i.e., removing the unread
tag) failed for some reason, such as a locked database, then no more
mark read tag changes would be attempted in that buffer.
This handles the error more gracefully. There is not much we can do
yet about dealing with the error itself, and marking read is probably
not important enough to warrant keeping a queue of pending changes or
anything.
However this commit changes it so that
- we do try and make future mark read tag changes.
- we display the tag state correctly: i.e. we don't display the tag as
deleted (no strike through)
- and since we know the tag change failed we can try to mark this
message read in the future. Indeed, since the code uses the
post-command hook we will try again on the next keypress (unless the
user has left the message).
We indicate to the user that these mark read tag changes may have
failed in the header-line.
David Bremner [Sat, 4 Jun 2016 12:29:14 +0000 (09:29 -0300)]
test: factor out some boilerplate from C tests
The trick of having a common header file doesn't work to share between
test scripts, so make an include file in the test directory.
The use of #include <notmuch-test.h> looks slightly pretentious, but
the include file is not actually in the current (temporary) directory.
Tomi Ollila [Wed, 25 May 2016 21:04:30 +0000 (00:04 +0300)]
Makefile.local: set IS_GIT = yes when regular file $srcdir/.git exists
$srcdir/.git may also be file. E.g. `git worktree` creates .git file
while new working tree is populated.
Tomi Ollila [Wed, 25 May 2016 21:37:41 +0000 (00:37 +0300)]
test: test_python: set PYTHONPATH to the python execution environment
Place PYTHONPATH to the environment when python is executed in a way
that current shell environment is not affected. This also allows adding
the old value of PYTHONPATH to the end of the new value (otherwise it
would have been appended again and again when test_python is called).
At the same time, use -B option to avoid writing .pyc files to
bindings/python/* (which are not cleared out by distclean).
Drop the (unused) prefix code which preserved the original stdout of the
python program and opened sys.stdout to OUTPUT. In place of that there
is now note how (debug) information can be printed to original stdout.
Tomi Ollila [Wed, 25 May 2016 21:37:40 +0000 (00:37 +0300)]
test: set LD_LIBRARY_PATH early and keep its old contents
Previously LD_LIBRARY_PATH was exported (and environment changed)
in the middle of test case execution, when a function setting it
was called.
Previously the old contents of LD_LIBRARY_PATH was lost (if any)
when it was re-set and exported. In some systems the old contents of
LD_LIBRARY_PATH was needed to e.g. locate suitable gmime library.
Tomi Ollila [Sat, 28 May 2016 11:06:04 +0000 (14:06 +0300)]
notmuch-emacs-mua: escape $PWD (and cd always)
Escaping $PWD makes this work in directories like 'foo"bar'...
Cd'ing always makes the working directory to be consistent whether
--body option was used or not (when using emacsclient, but cd'ing
when using emacs does not cause any harm).
Note that documentation of `insert-file` expects programs to
call `insert-file-contents` instead. In our simple case
`insert-file` works better as it does some good checks that we'd
have to implement ourselves. Look lisp/files.el in emacs sources
for more information.
Tomi Ollila [Sat, 28 May 2016 11:06:03 +0000 (14:06 +0300)]
notmuch-emacs-mua: use message-add-actions
Use message.el -provided function message-add-actions to
set(/add) #'save-buffers-kill-terminal into the message-exit-actions
list.
Tomi Ollila [Sat, 28 May 2016 12:39:30 +0000 (15:39 +0300)]
test: fix die() in test-lib-common.sh
In scripts that include test-lib-common.sh but not test-lib.sh
the die() implementation needs to be a bit different due to
fd redirection differences. test-lib-common.sh implements die()
only if it was not implemented already.
Tomi Ollila [Sat, 28 May 2016 12:39:29 +0000 (15:39 +0300)]
test: add function die () and have use of it in add_email_corpus ()
Added die() function to test-lib.sh with the following first use of it:
If notmuch new fails during email corpus addition the database is
most probably inexistent or broken and the added corpus would be
unusable while running single tests, giving misleading failures
("only" full 'make test' cleans out old corpus).
Tomi Ollila [Sat, 28 May 2016 12:39:28 +0000 (15:39 +0300)]
test-lib.sh: renamed die...()s to trap...()s and exit...()
Now the function names more accurately describes what the functions do.
Tomi Ollila [Sun, 5 Jun 2016 20:38:05 +0000 (23:38 +0300)]
doc/notmuch-emacs.rst: update notmuch-hello buffer help text
To look the same as commit
b8a136187a3b changed it in emacs MUA code.
David Bremner [Tue, 7 Jun 2016 10:37:57 +0000 (07:37 -0300)]
lib: fix definition of LIBNOTMUCH_CHECK_VERSION
Fix bug reported in id:
20160606124522.g2y2eazhhrwjsa4h@flatcap.org
Although the C99 standard 6.10 is a little non-obvious on this point,
the docs for e.g. gcc are unambiguous. And indeed in practice with the
extra space, this code fails
#include <stdio.h>
#define foo (x) (x+1)
int main(int argc, char **argv){
printf("%d\n",foo(1));
}
Tomi Ollila [Thu, 9 Jun 2016 19:35:12 +0000 (22:35 +0300)]
devel/man-to-mdwn.pl: portable locale environment variable setting
Setting locale environment variables (LC_* and LANG) to e.g.
en_US.utf8 works fine on Linux, and that is what locale -a
returns (in Linux). However this does not work e.g. in some *BSD
systems.
In these systems, en_US.UTF-8 works. This also works in Linux
systems (which may look like a surprising thing on the first sight(*)).
But that *UTF-8 format seems to be widely used in the Linux system:
Grep it through the files in /etc/, for example.
Easy way to test: Run the following command lines. First should
complain about setting locale failed, and second should not.
$ LC_ALL=en_US.UTF-1 perl -e ''
$ LC_ALL=en_US.UTF-8 perl -e ''
(*) and who knows what the "standard" is...
David Bremner [Fri, 10 Jun 2016 02:35:27 +0000 (23:35 -0300)]
lib: fix memory leak of field processor objects
The field processor objects need to be deallocated explicitly just like
the range processors (or a talloc destructor defined).
Daniel Kahn Gillmor [Thu, 2 Jun 2016 16:01:27 +0000 (12:01 -0400)]
doc: clean up boolean vs. probabilistic prefixes
sphinx-build emits a minor warning:
[...]doc/man7/notmuch-search-terms.rst:223: WARNING: Block quote ends without a blank line; unexpected unindent.
And the tabular representation of boolean or probabilistic prefixes
currently renders like this when i view it in man:
┌───────────────────────────┬────────────────────────────┐
│Boolean │ Probabilistic │
└───────────────────────────┴────────────────────────────┘
│ tag: id: │ from: to: │
│ │ │
│ thread: folder: │ subject: attach‐ │
│ path: │ ment: mimetype: │
└───────────────────────────┴────────────────────────────┘
This isn't just ugly: it's confusing, because it seems to imply that
some of the prefixes in the left-hand column are somehow related to
specific other prefixes in the right-hand column.
The Definition List representation introduced by this patch should be
simpler for readers to understand, and doesn't have the warning.
David Bremner [Sun, 5 Jun 2016 22:23:58 +0000 (19:23 -0300)]
doc: document notmuch-dump header line
This was introduced with the libconfig changes, but not documented then.
David Bremner [Sat, 4 Jun 2016 22:17:41 +0000 (19:17 -0300)]
lib: document config metadata
This probably should have been part of
3458e3c89c, but I missed it.
Daniel Kahn Gillmor [Thu, 2 Jun 2016 16:26:14 +0000 (12:26 -0400)]
Use https instead of http where possible
Many of the external links found in the notmuch source can be resolved
using https instead of http. This changeset addresses as many as i
could find, without touching the e-mail corpus or expected outputs
found in tests.
Daniel Kahn Gillmor [Thu, 2 Jun 2016 16:26:13 +0000 (12:26 -0400)]
nmbug: updated to modern URL for PEP 343
Daniel Kahn Gillmor [Thu, 2 Jun 2016 16:26:12 +0000 (12:26 -0400)]
update link to Chip Rosenthal article about reply-to munging
The original link is currently returning an internal server error :(
Daniel Kahn Gillmor [Thu, 2 Jun 2016 16:26:11 +0000 (12:26 -0400)]
completion: update the location of the bash-completion project
Alioth currently redirects to github, so point there instead.
Daniel Kahn Gillmor [Thu, 2 Jun 2016 16:26:10 +0000 (12:26 -0400)]
NEWS, python: update pointer to online documentation
Currently, http://packages.python.org/notmuch/ goes through a series
of redirections and ends up pointing to readthedocs. Since we're
using readthedocs directly anyway, just point to it directly.
readthedocs are also now sensibly using a separate domain
(readthedocs.io) for their hosted documentation as distinct from their
own domain (readthedocs.org), so use the correct tld.
Daniel Kahn Gillmor [Thu, 2 Jun 2016 16:01:28 +0000 (12:01 -0400)]
doc: include notmuch-emacs-mua in documentation ToC
Without this patch, i'm seeing sphinx-build emit:
[...]doc/man1/notmuch-emacs-mua.rst:: WARNING: document isn't included in any toctree
Tomi Ollila [Sat, 28 May 2016 17:45:31 +0000 (20:45 +0300)]
lib: whitespace cleanup
Cleaned the following whitespace in lib/* files:
lib/index.cc: 1 line: trailing whitespace
lib/database.cc 5 lines: 8 spaces at the beginning of line
lib/notmuch-private.h: 4 lines: 8 spaces at the beginning of line
lib/message.cc: 1 line: trailing whitespace
lib/sha1.c: 1 line: empty lines at the end of file
lib/query.cc: 2 lines: 8 spaces at the beginning of line
lib/gen-version-script.sh: 1 line: trailing whitespace
David Bremner [Tue, 22 Mar 2016 10:54:54 +0000 (07:54 -0300)]
lib: add support for named queries
This relies on the optional presense of xapian field processors, and the
library config API.
David Bremner [Tue, 22 Mar 2016 10:54:53 +0000 (07:54 -0300)]
lib: make a global constant for query parser flags
It's already kindof gross that this is hardcoded in two different
places. We will also need these later in field processors calling back
into the query parser.
David Bremner [Tue, 22 Mar 2016 10:54:52 +0000 (07:54 -0300)]
CLI: add notmuch-config support for named queries
Most of the infrastructure here is general, only the validation/dispatch
is hardcoded to a particular prefix.
A notable change in behaviour is that notmuch-config now opens the
database e.g. on every call to list, which fails with an error message
if the database doesn't exit yet.
David Bremner [Tue, 22 Mar 2016 10:54:51 +0000 (07:54 -0300)]
CLI: optionally restore config data.
The default to restore config data seems safest, especially since
currently we have no config data to mess up.
David Bremner [Tue, 22 Mar 2016 10:54:50 +0000 (07:54 -0300)]
CLI: add optional config data to dump output.
Note that it changes the default dump output format, but doesn't break
existing notmuch-restore. It might break user scripts though.
David Bremner [Tue, 22 Mar 2016 10:54:48 +0000 (07:54 -0300)]
lib: config list iterators
Since xapian provides the ability to restrict the iterator to a given
prefix, we expose this ability to the user. Otherwise we mimic the other
iterator interfances in notmuch (e.g. tags.c).
David Bremner [Tue, 22 Mar 2016 10:54:47 +0000 (07:54 -0300)]
lib: provide config API
This is a thin wrapper around the Xapian metadata API. The job of this
layer is to keep the config key value pairs from colliding with other
metadata by transparently prefixing the keys, along with the usual glue
to provide a C interface.
The split of _get_config into two functions is to allow returning of the
return value with different memory ownership semantics.
Ludovic LANGE [Sun, 6 Mar 2016 11:56:28 +0000 (07:56 -0400)]
ruby: add bindings for `notmuch_database_get_all_tags`
The Ruby bindings were missing a way to get all the tags of the
database. Now you should be able to access this with the public
instance method `all_tags` of your database object.
Example of use:
notmuchdb = Notmuch::Database.new path, { :create => false,
:mode => Notmuch::MODE_READ_ONLY }
my_tags = notmuchdb.all_tags
my_tags.each { |tag|
print tag
}
my_tags.destroy!
Amended by db: improve error reporting, add test
Tomi Ollila [Fri, 6 May 2016 15:41:57 +0000 (18:41 +0300)]
test: copyright information updates
Files in test directories had only copyright of a single individual,
of which code was adapted here as a base of the test system.
Since then many Notmuch Developers have contributed to the test
system, which is now acknowledged with a constant string in some
of the test files.
The README file in test directory instructed new files contain a
copyright notice, but that has never been done (and it is also not
needed). To simplify things a bit (and lessen confusion) this
instruction is now removed.
As a side enchangement, all of the 3 entries in the whole source
tree cd'ing to `dirname` of "$0" now uses syntax cd "$(dirname "$0")".
This makes these particular lines work when current working directory
is e.g. /c/Program Files/notmuch/test/.
(Probably it would fail elsewhere, though.)
Tomi Ollila [Sat, 7 May 2016 19:03:12 +0000 (22:03 +0300)]
emacs: bind notmuch-show-resend-message to 'b' in notmuch-show mode
This binding is similar to mutt's, which is
bind {mode} b "bounce-message" # remail a message to another user
where {mode} is 'index', 'pager' or 'attach'.
Tomi Ollila [Sat, 7 May 2016 19:03:11 +0000 (22:03 +0300)]
emacs: add function to resend message to new recipients
The new function notmuch-show-message-resend re-sends
message to new recipients using #'message-resend.
Recipients are read from minibuffer as a comma-separated
string (with some keyboard support including tab completion).
Final confirmation before sending is asked.
Tomi Ollila [Sat, 7 May 2016 19:24:18 +0000 (22:24 +0300)]
cli: tell how many messages were precisely matched when expected 1 match
In case of notmuch reply and notmuch show --part=N it is required that
search terms match to one message. If match count was != 1, error
message "Error: search term did not match precisely one message"
was too vague to explain what happened.
By appending (matched <num> messages) to the error message it
makes the problem more understandable (e.g when <num> is '0'
user reckons the query had a typo in it).
Tomi Ollila [Fri, 13 May 2016 21:29:45 +0000 (00:29 +0300)]
configure: combine common parts of CONFIGURE_C{,XX}FLAGS
By combining the common parts of CONFIGURE_CFLAGS and CONFIGURE_CXXFLAGS
to a separate make variable and using that as part of their
definitions makes setting of these easier, DRYer and less error prone
(especially as we cannot check potential typing errors there).
David Bremner [Tue, 22 Mar 2016 10:54:46 +0000 (07:54 -0300)]
configure: check directly for xapian compaction API
This is consistent with the check for FieldProcessor, and probably a bit
more robust.
David Bremner [Tue, 22 Mar 2016 10:54:45 +0000 (07:54 -0300)]
lib/cli: add library API / CLI for compile time options
This is intentionally low tech; if we have more than two options it may
make sense to build up what infrastructure is provided.
David Bremner [Tue, 22 Mar 2016 10:54:44 +0000 (07:54 -0300)]
lib: optionally support single argument date: queries
This relies on the FieldProcessor API, which is only present in xapian
>= 1.3.
David Bremner [Tue, 22 Mar 2016 10:54:43 +0000 (07:54 -0300)]
configure: detect Xapian:FieldProcessor
Rather than check versions, it seems more robust to do a test compile.
Tomi Ollila [Fri, 6 May 2016 18:11:25 +0000 (21:11 +0300)]
configure: add set -u
In case of any unset variable, make ./configure exit with nonzero value;
an attempt to expand an unset variable is a bug in the script
(usually a spelling mistake) and those should not pass through
unnoticed.
Tomi Ollila [Tue, 3 May 2016 17:23:44 +0000 (20:23 +0300)]
configure: replace ${CXXLAGS} with ${CXXFLAGS_for_sh}
Variable CXXLAGS expands to nothing, CXXFLAGS something unusable
here; CXXFLAGS_for_sh expands to what we expect here.
Jani Nikula [Fri, 15 Apr 2016 19:29:15 +0000 (22:29 +0300)]
cli: remove leftover dir variable
No functional changes.
Jani Nikula [Wed, 13 Apr 2016 18:32:49 +0000 (21:32 +0300)]
configure: SC2016: Expressions don't expand in single quotes
Fix shellcheck warnings. Use double quotes but escape $ to make it
look more intentional.
Jani Nikula [Wed, 13 Apr 2016 18:32:48 +0000 (21:32 +0300)]
configure: SC2034: glib_cflags and glib_ldflags appear unused.
Fix shellcheck warnings.
Jani Nikula [Wed, 13 Apr 2016 18:32:47 +0000 (21:32 +0300)]
configure: SC2059: Don't use variables in the printf format string.
Fix shellcheck warnings. Use printf "..%s.." "$foo".
Jani Nikula [Wed, 13 Apr 2016 18:32:46 +0000 (21:32 +0300)]
configure: SC2006: Use $(..) instead of legacy `..`
Fix shellcheck warnings.
David Bremner [Mon, 2 May 2016 00:11:45 +0000 (21:11 -0300)]
Merge emacs bug fixes from release
David Edmondson [Sat, 30 Apr 2016 06:51:48 +0000 (07:51 +0100)]
emacs: Tell `message-mode' that outgoing messages are email.
When composing messages (including replies, etc.), indicate to
`message-mode' definitively that the message is email (as opposed to
Usenet news) rather than having it attempt to determine this for itself.
This causes `message-mode' to observe such variables as
`message-default-mail-headers', which previously happened haphazardly.
David Edmondson [Sat, 30 Apr 2016 06:51:47 +0000 (07:51 +0100)]
emacs: Observe the charset of MIME parts when reading them.
`notmuch--get-bodypart-raw' previously assumed that all non-binary MIME
parts could be successfully read by assuming that they were UTF-8
encoded. This was demonstrated to be wrong, specifically when a part was
marked as ISO8859-1 and included accented characters (which were
incorrectly rendered as a result).
Rather than assuming UTF-8, attempt to use the part's declared charset
when reading it, falling back to US-ASCII if the declared charset is
unknown, unsupported or invalid.
Stefano Zacchiroli [Thu, 21 Apr 2016 18:10:25 +0000 (14:10 -0400)]
notmuch-mutt: use env to locate perl for increased portability
Note: this patch drops -w from the shebang line, but we still have
"use warnings" in the script, which is superior anyhow.
Thanks Andreas Tolfsen for the suggestion.
David Bremner [Wed, 27 Apr 2016 00:40:40 +0000 (21:40 -0300)]
debian: add versioned depends on dpkg-dev
This is needed to support build profiles (e.g. nocheck)
David Bremner [Wed, 27 Apr 2016 00:38:15 +0000 (21:38 -0300)]
debian: add changelog stanza for 0.22
David Bremner [Wed, 27 Apr 2016 00:32:24 +0000 (21:32 -0300)]
bump version and NEWS date for 0.22 release
Tomi Ollila [Mon, 25 Apr 2016 08:44:25 +0000 (11:44 +0300)]
NEWS: mention try-emacs-mua
A non-technical introduction for users who read NEWS to have better
chance to find ./devel/notmuch-emacs-mua when they test or experiment
with notmuch emacs MUA next time.
David Bremner [Sun, 24 Apr 2016 21:03:54 +0000 (18:03 -0300)]
debian: changelog stanza for 0.22~rc1-1
David Bremner [Sun, 24 Apr 2016 21:02:05 +0000 (18:02 -0300)]
version: bump to 0.22~rc1
David Bremner [Sun, 24 Apr 2016 11:47:41 +0000 (08:47 -0300)]
NEWS: entry for emacs mua address completion
David Bremner [Sun, 24 Apr 2016 11:44:00 +0000 (08:44 -0300)]
NEWS: document some bug fixes
David Bremner [Sun, 24 Apr 2016 11:36:09 +0000 (08:36 -0300)]
NEWS: document S/MIME support
David Bremner [Sat, 16 Apr 2016 15:25:55 +0000 (12:25 -0300)]
NEWS: note no-op-ness of notmuch-message-address-insinuate
David Bremner [Sat, 16 Apr 2016 15:25:34 +0000 (12:25 -0300)]
NEWS: note dropping "pkg-config emacs"
David Bremner [Sat, 16 Apr 2016 15:04:22 +0000 (12:04 -0300)]
NEWS: add note about xapian 1.3 support
David Bremner [Sun, 24 Apr 2016 20:49:18 +0000 (17:49 -0300)]
doc: change copyright date
Yes, it is 2016
David Edmondson [Sun, 17 Apr 2016 21:39:53 +0000 (22:39 +0100)]
Emacs related NEWS for 0.22.
David Edmondson [Tue, 12 Apr 2016 08:04:04 +0000 (09:04 +0100)]
emacs: Don't indent multipart sub-parts during reply.
When generating cited messages for replay, override any existing
setting for `notmuch-show-indent-multipart' to ensure that no
indentation occurs.
David Bremner [Sat, 16 Apr 2016 11:45:56 +0000 (08:45 -0300)]
debian: minimal changelog for 0.22~rc0-1
David Bremner [Sat, 16 Apr 2016 11:44:39 +0000 (08:44 -0300)]
version: bump to 0.22~rc0
Jani Nikula [Wed, 13 Apr 2016 18:08:45 +0000 (21:08 +0300)]
bindings: drop build time message on missing ruby dependency
The usual make message on everything being up to date is:
make: Nothing to be done for 'all'.
However, since
commit
d038b9320949c79503fe4b76870aaabf279405ab
Author: David Bremner <david@tethera.net>
Date: Mon Jun 1 09:08:59 2015 +0200
build: integrate building ruby bindings into notmuch build process
if one doesn't have the ruby dependencies installed, the message has
been:
Missing dependency, skipping ruby bindings
Restore the usual behaviour by dropping the message. It's redundant
during build anyway, since the configure script already outputs:
Checking for ruby development files... No (skipping ruby bindings)
Chunyang Xu [Wed, 13 Apr 2016 07:58:48 +0000 (03:58 -0400)]
emacs: Add notmuch homepage to package header
So user can find out notmuch's homepage with:
C-h P ('describe-package') notmuch
Chunyang Xu [Wed, 13 Apr 2016 07:58:47 +0000 (03:58 -0400)]
emacs: Fix packaging
Refer to (info "(elisp) Library Headers") for package conventions.
Daniel Kahn Gillmor [Sat, 9 Apr 2016 01:54:52 +0000 (22:54 -0300)]
complete ghost-on-removal-when-shared-thread-exists
To fully complete the ghost-on-removal-when-shared-thread-exists
proposal, we need to clear all ghost messages when the last active
message is removed from a thread.
Amended by db: Remove the last test of T530, as it no longer makes sense
if we are garbage collecting ghost messages.
Daniel Kahn Gillmor [Sat, 9 Apr 2016 01:54:51 +0000 (22:54 -0300)]
On deletion, replace with ghost when other active messages in thread
There is no need to add a ghost message upon deletion if there are no
other active messages in the thread.
Also, if the message being deleted was a ghost already, we can just go
ahead and delete it.
Daniel Kahn Gillmor [Sat, 9 Apr 2016 01:54:50 +0000 (22:54 -0300)]
Introduce _notmuch_message_has_term()
It can be useful to easily tell if a given message has a given term
associated with it.
Daniel Kahn Gillmor [Sat, 9 Apr 2016 01:54:49 +0000 (22:54 -0300)]
Add internal functions to search for alternate doc types
Publicly we are only exposing the non-ghost documents (of "type"
"mail"). But internally we might want to inspect the ghost messages
as well.
This changeset adds two new private interfaces to queries to recover
information about alternate document types.