David Bremner [Wed, 10 Sep 2014 06:41:11 +0000 (08:41 +0200)]
test: simplify T360-symbol-hiding, use nm instead of objdump
After yet another variation in objdump output caused this test to fail
(on a Debian port, no less), I decided whatever putative benefit we
get from looking at the object files instead of the library isn't
worth the maintenence headache.
This version uses nm -P. nm -P should be portable, and fixed format.
It purposely doesn't use the -D argument, since that is non-POSIX and
nm on GNU/Linux seems do the right thing without it.
It still won't work out of the box on e.g. Mac OS/X. I think the right
thing to do there is to move some more configuration information into
sh.config.
(cherry picked from commit
c34d6bad0f9da300eac2181e2073aee130432932)
Austin Clements [Fri, 3 Oct 2014 16:58:03 +0000 (12:58 -0400)]
test: Port atomicity test to Python
Previously, this was implemented using a horrible GDB script (because
there is no such thing as a non-horrible GDB script). This GDB script
often broke with newer versions of GDB for mysterious reasons. Port
the test script to GDB's Python API, which makes the code much cleaner
and, hopefully, more stable.
(cherry picked from commit
cbbda62258360f035894cff9dfd66c60b0cc707f)
Conflicts:
test/T380-atomicity.sh
David Bremner [Sat, 9 Aug 2014 15:02:30 +0000 (12:02 -0300)]
debian: re-enable atomicity tests on armhf
Commit
a33ec9c seems to have fixed the problem on the armhf
porterbox (harris.debian.org).
David Bremner [Sat, 9 Aug 2014 12:42:04 +0000 (09:42 -0300)]
debian: build with emacs24 by default, disable gdb on arm64
From wookey@debian.org
id:
20140808012130.GT7605@stoneboat.aleph1.co.uk
Fixes for the port in progress of debian to arm64.
David Bremner [Wed, 25 Jun 2014 10:24:57 +0000 (07:24 -0300)]
version: bump to 0.18.1
Also add precis of NEWS to debian changelog
Austin Clements [Mon, 23 Jun 2014 14:25:28 +0000 (10:25 -0400)]
NEWS: Improve and correct "Fix for phrase indexing" entry
This improves the description of the fix, fixes some typos, and
changes "(re)-indexed" to "indexed" because we have no particular
notion of "re-indexing" a message.
David Bremner [Mon, 23 Jun 2014 09:36:30 +0000 (06:36 -0300)]
NEWS: quibbles from Tomi
See id:m2vbrsgi7n.fsf@guru.guru-group.fi for details
David Bremner [Mon, 23 Jun 2014 00:23:22 +0000 (21:23 -0300)]
version: bump to 0.18.1~rc0
Also bump the python bindings version, the NEWS version and the Debian
version.
Since the changelog is (slightly dubiously) metadata, we have to
change it to upload a release candidate.
David Bremner [Sat, 21 Jun 2014 20:09:01 +0000 (17:09 -0300)]
NEWS: add news for 0.18.1
This is my summary of the commits from 0.18.
Felipe Contreras [Mon, 12 May 2014 03:09:32 +0000 (22:09 -0500)]
configure: add workaround for systems without zlib.pc
Some systems (e.g. FreeBSD) might not have installed the appropriate
pkg-config file as they should. We can workaround the issue by creating
the .pc file they should have distributed.
Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
Austin Clements [Mon, 16 Jun 2014 02:40:34 +0000 (22:40 -0400)]
lib: Separate all phrases indexed by _notmuch_message_gen_terms
This adds a 100 termpos gap between all phrases indexed by
_notmuch_message_gen_terms. This fixes a bug where terms from the end
of one header and the beginning of another header could match together
in a single phrase and a separate bug where term positions of
un-prefixed terms overlapped.
This fix only affects newly indexed messages. Messages that are
already indexed won't benefit from this fix without re-indexing, but
the fix won't make things any worse for existing messages.
Austin Clements [Mon, 16 Jun 2014 02:40:33 +0000 (22:40 -0400)]
test: Known-broken test for overlapping/adjacent termpos
This adds two known-broken tests and one working test related to the
term positions assigned to terms from different headers or MIME parts.
The first test fails because we don't create a termpos gap between
different headers. The second test fails because we don't adjust
termpos at all when indexing multiple parts.
Austin Clements [Mon, 16 Jun 2014 02:40:32 +0000 (22:40 -0400)]
lib: Index name and address of from/to headers as a phrase
Previously, we indexed the name and address parts of from/to headers
with two calls to _notmuch_message_gen_terms. In general, this
indicates that these parts are separate phrases. However, because of
an implementation quirk, the two calls to _notmuch_message_gen_terms
generated adjacent term positions for the prefixed terms, which
happens to be the right thing to do in this case, but the wrong thing
to do for all other calls. Furthermore, _notmuch_message_gen_terms
produced potentially overlapping term positions for the un-prefixed
copies of the terms, which is simply wrong.
This change indexes both the name and address in a single call to
_notmuch_message_gen_terms, indicating that they should be part of a
single phrase. This masks the problem with the un-prefixed terms
(fixing the two known-broken tests) and puts us in a position to fix
the unintentionally phrases generated by other calls to
_notmuch_message_gen_terms.
Austin Clements [Mon, 16 Jun 2014 02:40:31 +0000 (22:40 -0400)]
test: Add search tests for combined name/address queries
Two of these are currently known-broken. We index the name and
address parts in two separate calls to _notmuch_message_gen_terms.
Currently this has the effect of placing the term positions of the
prefixed terms from the second call right after those of the first
call, but screws up the term positions of the non-prefixed terms.
Austin Clements [Mon, 16 Jun 2014 02:40:30 +0000 (22:40 -0400)]
test: Fix from/to search test queries
Two of the search tests for "from" and "to" queries were clearly
trying to search for prefixed phrases, but forgot to shell quote the
phrases. Fix this by quoting them correctly.
Tomi Ollila [Sat, 10 May 2014 21:36:43 +0000 (00:36 +0300)]
emacs install: make sure all components to be installed are there
`make install-emacs` will copy $(emacs_sources), $(emacs_images) and
$(emacs_bytecode) to their target directories. $(emacs_bytecode) was
already a prerequisite of make install-emacs as these obviously needed
to be build. Until a while ago all of $(emacs_sources) was available
in the repository, but now it includes `notmuch-version.el` which
is generated. In the future we may have generated emacs images too.
David Bremner [Sat, 14 Jun 2014 10:50:52 +0000 (07:50 -0300)]
debian: update notmuch-emacs for emacsen-common 2.0.8
- redo install/remove scripts from new samples
- symlink .el files properly
- add depends instead of conflicts
David Bremner [Sat, 14 Jun 2014 10:20:56 +0000 (07:20 -0300)]
debian: tighten dependency of python packages on libnotmuch.
Using (>= ${source:Version}) allows newer versions of the library with
the same SONAME.
Jani Nikula [Thu, 5 Jun 2014 06:34:09 +0000 (08:34 +0200)]
lib: resurrect support for single-message mbox files
This is effectively a revert of
commit
6812136bf576d894591606d9e10096719054d1f9
Author: Jani Nikula <jani@nikula.org>
Date: Mon Mar 31 00:21:48 2014 +0300
lib: drop support for single-message mbox files
The intention was to drop support for indexing new single-message mbox
files (and whether that was a good idea in the first place is
arguable). However this inadvertently broke support for reading
headers from previously indexed single-message mbox files, which is
far worse.
Distinguishing between the two cases would require more code than
simply bringing back support for single-message mbox files.
David Bremner [Thu, 29 May 2014 00:26:27 +0000 (21:26 -0300)]
test: use --quick when starting emacs.
At least in emacs24, this removes the "site-lisp" directories from the
load path in addition to enforcing --no-site-lisp --no-init-file.
This works around a slightly mysterious bug on Debian that causes
test-lib.el not to load when there is cl-lib.el(c) in some site-lisp
directory. It should be harmless in general since we really don't
want to load any files from addon packages to emacs.
Felipe Contreras [Mon, 12 May 2014 02:22:25 +0000 (21:22 -0500)]
build: fix order of rpath
In my system `pkg-config --libs talloc` returns
'Wl,-rpath,/usr/lib -ltalloc' (probably wrongly) which causes the final
LDFLAGS to be something like '-Wl,-rpath,/usr/lib
-Wl,-rpath,/opt/notmuch/lib', which causes the RUNPATH to be
'/usr/lib:/opt/notmuch/lib', so basically defeating the whole purpose of
RUNPATH.
I noticed this when my /opt/notmuch/bin/notmuch (0.17) started updating
the database after I updated the system (which updated the system's
notmuch). This shouldn't happen.
Let's move the RUNPATH flags before other external flags have a chance of
screwing the build.
Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
Amadeusz Żołnowski [Mon, 12 May 2014 10:35:41 +0000 (12:35 +0200)]
Unset html_static_path in Python bindings docs
html_static_path is a kind of source directory and it was set to
destination directory (../html) which caused infinite recursion with
Sphinx 1.2 and above.
W. Trevor King [Sat, 10 May 2014 15:55:21 +0000 (08:55 -0700)]
doc/conf.py: Remove _static from html_static_path
Avoid:
$ make HAVE_SPHINX=1 sphinx-html
python ./doc/mkdocdeps.py ./doc doc/_build doc/docdeps.mk
sphinx-build -b html -d doc/_build/doctrees -q ./doc doc/_build/html
Making output directory...
WARNING: html_static_path entry '/home/wking/src/notmuch/notmuch/doc/_static' does not exist
because we have no static source in doc/_static.
Mark Walters [Wed, 21 May 2014 09:58:50 +0000 (10:58 +0100)]
emacs: make sure tagging on an empty query is harmless
Currently notmuch-tag throws a "wrong-type-argument stringp nil" if
passed a nil query-string. Catch this and provide a more useful error
message. This fixes a case in notmuch-tree (if you try to tag when at
the end of the buffer).
Secondly, as pointed out by David (dme)
`notmuch-search-find-stable-query-region' can return the query string
() if there are no messages in the region. This gets passed to notmuch
tag, and due to interactions in the optimize_query code in
notmuch-tag.c becomes, in the case tag-change is -inbox, "( () ) and
(tag:inbox)". This query matches some strange collection of messages
which then get archived. This should probably be fixed, but in any
case make `notmuch-search-find-stable-query-region' return a nil
query-string in this case.
This avoids data-loss (random tag removal) in this case.
David Bremner [Tue, 6 May 2014 13:06:27 +0000 (22:06 +0900)]
test: allow pending break points in atomicity script.
This seems to fix problems with the symbol rename not being defined
at startup on at least OS/X and some Debian Linux architectures.
Charles Celerier [Tue, 6 May 2014 17:02:24 +0000 (13:02 -0400)]
test/Makefile.local: Added configured TALLOC_LDFLAGS.
The linking to talloc is hard-coded in the testing Makefile. This patch
causes the linking to talloc to be done according to how TALLOC_LDFLAGS
was configured.
Signed-off-by: Charles Celerier <cceleri@cs.stanford.edu>
David Bremner [Thu, 8 May 2014 11:57:07 +0000 (20:57 +0900)]
notmuch-dump: use fsync instead of fdatasync
Since the file size will have changed, there is no performance benefit
to calling fdatasync. Somewhat surprisingly, using fdatasync
apparently causes portability problems on FreeBSD.
David Bremner [Thu, 8 May 2014 05:28:13 +0000 (14:28 +0900)]
debian: disable atomicity tests on armel.
Another temporary fix for build problems.
David Bremner [Wed, 7 May 2014 23:29:15 +0000 (08:29 +0900)]
debian: disable atomicity tests on armhf
In fact a fix for these tests is currently being reviewed, but I want
to roll it together with a few other portability fixes for a point
release.
David Bremner [Tue, 6 May 2014 07:27:29 +0000 (16:27 +0900)]
debian: changelog stanza for 0.18
plagiariaze my own summary from upstream NEWS
David Bremner [Tue, 6 May 2014 07:24:17 +0000 (16:24 +0900)]
version: bump to 0.18
debian changelog to be done seperately.
David Bremner [Sat, 3 May 2014 23:11:35 +0000 (08:11 +0900)]
build: use UPSTREAM_TAG and not VERSION to generate tarball
The latter can have "~" in it, which is not legal for a git tag.
David Bremner [Sat, 3 May 2014 22:38:21 +0000 (07:38 +0900)]
doc/doxygen.cfg: bump version to 0.18
David Bremner [Sat, 3 May 2014 22:32:43 +0000 (07:32 +0900)]
version: bump for 0.18~rc1
Doing all of the needed version bumps in one commit, and do a
complete, if minimal debian changelog entry
Felipe Contreras [Thu, 1 May 2014 22:57:54 +0000 (17:57 -0500)]
vim: improve the way messages are sent
We want the proper encoding and content-type to be set when sending the
mail, but human-readable plain-text for composing. So split the code in
two parts: the presentation and the transport conversion.
This fixes an issue while sending non-ascii mails to strict servers; the
mail needs to be encoded.
Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
Paul Roberts [Thu, 1 May 2014 22:57:53 +0000 (17:57 -0500)]
vim: make the html handler configurable
Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
Felipe Contreras [Thu, 1 May 2014 22:57:52 +0000 (17:57 -0500)]
vim: fix count_threads variable check
It never really worked; in Ruby only 'nil' and 'false' evaluate to
false, therefore the statement '0 : true ? false' returns true, so it
doesn't matter if notmuch_folders_count_threads = 0, count_threads would
be true.
We need to check specifically if the value is 1 or 0.
Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
Jani Nikula [Fri, 2 May 2014 16:28:38 +0000 (19:28 +0300)]
NEWS: make it explicit that wildcard matching is no longer supported
Wildcard matching was a feature of the probabilistic prefix, and we no
longer have it for the boolean prefix. Also note that top-level folder
can now be searched.
Jani Nikula [Thu, 1 May 2014 14:42:02 +0000 (17:42 +0300)]
NEWS: insert and new refuse invalid tags
Jani Nikula [Thu, 1 May 2014 14:42:01 +0000 (17:42 +0300)]
NEWS: message piping working directory
Jani Nikula [Thu, 1 May 2014 14:41:59 +0000 (17:41 +0300)]
NEWS: emacs: push mark before signature on reply
Jani Nikula [Thu, 1 May 2014 14:42:00 +0000 (17:42 +0300)]
NEWS: cli exit status codes
Jani Nikula [Thu, 1 May 2014 14:41:58 +0000 (17:41 +0300)]
NEWS: notmuch insert respects maildir.synchronize_flags
David Bremner [Wed, 30 Apr 2014 23:13:44 +0000 (08:13 +0900)]
NEWS: add overview section for 0.18
This mentions the things I (subjectively) thought were most likely to
either annoy people or make it worth upgrading.
Jani Nikula [Sun, 27 Apr 2014 21:09:21 +0000 (00:09 +0300)]
NEWS: message header parser changes
Jani Nikula [Sun, 27 Apr 2014 20:54:24 +0000 (23:54 +0300)]
NEWS: mbox files are no longer supported
Jani Nikula [Sun, 27 Apr 2014 14:46:17 +0000 (17:46 +0300)]
NEWS: folder:, path:, and database upgrade
Related news together.
Jani Nikula [Sun, 27 Apr 2014 16:30:47 +0000 (19:30 +0300)]
NEWS: replies to encrypted messages encrypted by default
Tomi Ollila [Sat, 26 Apr 2014 09:59:23 +0000 (12:59 +0300)]
NEWS: Ido initialization for Emacs 23.[123]
David Bremner [Tue, 22 Apr 2014 05:24:04 +0000 (14:24 +0900)]
doc: remove conf.pyc on clean
This build artifict messes up the packaging process for (at least)
Debian if not removed on clean.
David Bremner [Tue, 22 Apr 2014 00:36:26 +0000 (09:36 +0900)]
python: bump version
David Bremner [Tue, 22 Apr 2014 00:34:44 +0000 (09:34 +0900)]
NEWS: bump version
As usual, we'll just edit the version in place for release candidates.
David Bremner [Tue, 22 Apr 2014 00:33:16 +0000 (09:33 +0900)]
debian: NEWS item about database upgrade
David Bremner [Tue, 22 Apr 2014 00:27:55 +0000 (09:27 +0900)]
debian: changelog stanza for 0.18~rc0-1
- make versions match to pacify release-checks.sh
- close a few more bugs.
- fix one HTMLism
David Bremner [Mon, 21 Apr 2014 22:00:29 +0000 (07:00 +0900)]
version: bump to 0.18~rc0
Start the promised feature freeze
Austin Clements [Fri, 18 Apr 2014 22:42:08 +0000 (18:42 -0400)]
doc: Simplify and clarify notmuch show --format=sexp description
Previously, this was a verbatim copy of the --format=json text.
Change it to instead reference the JSON text and actually describe how
the S-expression format works.
Austin Clements [Fri, 18 Apr 2014 22:42:07 +0000 (18:42 -0400)]
doc: Clarify charset encoding of JSON output
Austin Clements [Fri, 18 Apr 2014 22:42:06 +0000 (18:42 -0400)]
doc: Fix minor formatting issues in notmuch-show.rst
There were some extra line breaks and missing periods.
Austin Clements [Fri, 18 Apr 2014 22:42:05 +0000 (18:42 -0400)]
doc: Clarify notmuch show --format=raw description
In addition to being generally more precise, this is explicit that
there is no charset conversion.
Mark Walters [Wed, 16 Apr 2014 21:21:53 +0000 (22:21 +0100)]
emacs: hello: bugfix for saved searches defcustom
The recent changes for saved searches introduced a bug when notmuch
was loaded after the saved search was defined. This was caused by a
utility function not being defined when the defcustom was loaded.
Fix this by moving some code around: the defcustom is moved into
notmuch-hello (which is a more natural place anyway), and the utility
functions are moved before the defcustom in notmuch-hello. We are
rather constrained as the defcustom for saved searches is the first
variable in the notmuch-hello customize window; to avoid moving this
customize the defcustom needs to be the first defcustom in
notmuch-hello, and the utility functions come before that.
This patch also renames one of the utility functions from
notmuch--saved-searches-to-plist to
notmuch-hello--saved-searches-to-plist (as it is purely local to
notmuch-hello) and corrects a couple of typo/spelling mistakes pointed
out by Tomi.
W. Trevor King [Sat, 5 Apr 2014 17:31:08 +0000 (10:31 -0700)]
doc/prerst2man.py: Fix 'os.system' -> 'system' typo
Avoid:
$ make HAVE_SPHINX=0 HAVE_RST2MAN=1 build-man
python ./doc/prerst2man.py ./doc doc/_build/man
Traceback (most recent call last):
File "./doc/prerst2man.py", line 65, in <module>
os.system('set -x; rst2man {0} {1}/{2}.{3}'
NameError: name 'os' is not defined
make: *** [doc/_build/man/man1/notmuch.1] Error 1
by using system directly. We don't need the 'os.' namespacing,
because the function was imported with:
from os import makedirs, system
W. Trevor King [Sat, 5 Apr 2014 17:31:07 +0000 (10:31 -0700)]
doc/prerst2man.py: Use Python-3-compatible octal notation
Python 3 only supports the 0oXXX notation for octal literals [1,2],
which have also been supported in 2.x since 2.6 [2].
[1]: https://docs.python.org/3.0/whatsnew/3.0.html#integers
[2]: http://legacy.python.org/dev/peps/pep-3127/
W. Trevor King [Sat, 5 Apr 2014 17:31:06 +0000 (10:31 -0700)]
doc/mkdocdeps.py: Use "with" statement for the output file
Before this patch, the open was unnecessarily early and relied on the
process cleanup to close. Neither one of these was a real problem,
but PEP 343's context managers (which landed in Python 2.5) make
proper cleanup very easy.
[1]: http://legacy.python.org/dev/peps/pep-0343/
W. Trevor King [Sat, 5 Apr 2014 17:31:05 +0000 (10:31 -0700)]
doc/mkdocdeps.py: Convert execfile to import
excefile is gone in Python 3 [1]. Instead of exec-ing the
configuration, it's easier to insert the source directory in Python's
path [2], and just import the configuration. With this change,
mkdocdeps.py is compatible with both Python 2 and 3.
[1]: https://docs.python.org/3.0/whatsnew/3.0.html#builtins
[2]: https://docs.python.org/3/library/sys.html#sys.path
Mark Walters [Sat, 19 Apr 2014 08:52:35 +0000 (09:52 +0100)]
NEWS for displaying tag changes
David Bremner [Sat, 19 Apr 2014 05:29:06 +0000 (14:29 +0900)]
doc: make notmuch-new summary line more generic
Since 'notmuch new' now takes multiple options, it's confusing to show
only one of them in the summary.
Austin Clements [Sat, 19 Apr 2014 03:31:03 +0000 (23:31 -0400)]
News for changes from Austin Clements
Austin Clements [Fri, 18 Apr 2014 22:57:17 +0000 (18:57 -0400)]
emacs: Honor debug-on-error for part renderers
Previously, even if debug-on-error was non-nil, the debugger would not
trap on part renderer errors. This made debugging part renderer bugs
frustrating, so let the debugger trap these errors.
David Bremner [Thu, 17 Apr 2014 22:24:21 +0000 (07:24 +0900)]
configure: fix comment, pass HAVE_CANONICALIZE_FILE_NAME to build
Apparently omitting it is not fatal, but let's be consistent with the
other compat functions.
David Bremner [Wed, 9 Apr 2014 11:24:02 +0000 (08:24 -0300)]
build: add canonicalize_file_name to symbols exported from libnotmuch.so
This is needed for our compat version of canonicalize_file_name to be used.
Austin Clements [Thu, 17 Apr 2014 20:34:57 +0000 (16:34 -0400)]
doc: Fix parallel build of roff files
The roff build rule builds all of the roff files in a single command.
Previously, this was expressed as a multi-target rule, but since this
is equivalent to specifying a copy of the rule for each target, make
-jN could start up to N parallel instances of this command. Fix this
by bottlenecking this rule through a single stamp file.
This also removes the unused man.stamp from CLEAN.
Tomi Ollila [Mon, 14 Apr 2014 18:32:35 +0000 (21:32 +0300)]
NEWS: notmuch-init-file and notmuch-emacs-version related news
Along with those, removed trailing space from subsection title.
W. Trevor King [Tue, 15 Apr 2014 21:03:56 +0000 (14:03 -0700)]
NEWS: Document the recent 'nmbug clone' and @{upstream} changes
The changes landed with
c200167 (nmbug: Add 'clone' and replace
FETCH_HEAD with @{upstream}, 2014-03-09).
The preferred markup language for NEWS seems to be Markdown, which is
parsed by devel/news2wiki.pl into Markdown chunks for rendering by
ikiwiki [1].
[1]: http://notmuchmail.org/news/
David Bremner [Sun, 13 Apr 2014 12:42:49 +0000 (09:42 -0300)]
test: use test_expect_equal for PATH test, update message
- The old test was quite impossible to debug; the new one shows the difference
between the two directories, if any.
- "repository" doesn't make sense for out of tree builds. Or tarball
builds, for that matter.
David Bremner [Sat, 12 Apr 2014 16:30:32 +0000 (13:30 -0300)]
nmbug: mark repository as bare on clone
If a git repository is non-bare, and core.worktree is not set, git
tries to deduce the worktree. This deduction is not always helpful, e.g.
% git --git-dir=$HOME/.nmbug clean -f
would likely delete most of the files in the current directory
Mark Walters [Sat, 12 Apr 2014 12:46:27 +0000 (13:46 +0100)]
NEWS: document possible breakage from saved-search format change
If the user has unsorted or alphabetically sorted saved-searches these
should continue to work. If they have some custom lisp sort function
then it will need updating to work with the new saved-sort
format. Document this, and how the updating should be done.
Also roll in fixes for the markdown in the first part of the NEWS
suggested by Tomi: change `just work' to *just work* and removed
periods from the end of subtitle lines.
Mark Walters [Sat, 12 Apr 2014 12:46:26 +0000 (13:46 +0100)]
emacs: hello: bugfix: make alphabetically sorted saved searches work
My recent changes to the saved search format broke the alphabetically
sorted saved sort option. This makes it work again.
Also update docs for saved-search sort defcustom to match the new
format.
Finally, since the saved-search list is no longer an alist change the
names in the sort function to avoid confusion.
Jameson Graef Rollins [Mon, 14 Apr 2014 19:40:50 +0000 (12:40 -0700)]
emacs: remove auto-signing of replies to signed messages
It was decided that auto-signing is potentially too troublesome for the
apparently common case of users who enable crypto processing for the
purpose of checking signature validity but who are not in a position to
sign out-going messages. Users can still manually invoke signing as needed.
Encrypting replies to encrypted messages is more of a security issue
so we leave it in place.
Tomi Ollila [Sat, 12 Apr 2014 11:59:46 +0000 (14:59 +0300)]
emacs: add $(srcdir) to notmuch-version.el.tmpl dependency
This fixes out-of-tree build when generating emacs/notmuch-version.el.
Tomi Ollila [Sat, 12 Apr 2014 16:30:22 +0000 (19:30 +0300)]
configure: add $(ZLIB_CFLAGS) to CONFIGURE_CFLAGS
As it is defined in CONFIGURE_CXXFLAGS.
Jani Nikula [Sat, 5 Apr 2014 09:18:06 +0000 (12:18 +0300)]
emacs: sign/encrypt replies to signed/encrypted messages
This is a simple approach to improving security when replying to
signed or encrypted messages. If the message being replied to was
signed, add mml tag to sign the reply. If the message being replied to
was encrypted, add mml tag to sign and encrypt the reply.
This may need configuration; I for one might want to encrypt replies
to encrypted messages, but not always sign replies to signed messages.
This still includes a slight bug: if any mml tags are added, they are
included in the region containing the quoted parts. Killing the region
will kill the mml tags too.
David Bremner [Wed, 2 Apr 2014 00:34:52 +0000 (21:34 -0300)]
test: verify tag backup generated by database upgrade
'pre upgrade dump' is not much of a test, but at least this way we get
somewhat sensible behaviour if it fails.
David Bremner [Tue, 1 Apr 2014 14:06:05 +0000 (11:06 -0300)]
notmuch-new: backup tags before database upgrade
All we do here is calculate the backup filename, and call the existing
dump routine.
Also take the opportunity to add a message about being safe to
interrupt.
David Bremner [Sat, 29 Mar 2014 18:12:28 +0000 (15:12 -0300)]
restore: transparently support gzipped input
We rely completely on zlib to do the right thing in detecting gzipped
input. Since our dump format is chosen to be 7 bit ascii, this should
be fine.
David Bremner [Thu, 3 Apr 2014 11:02:23 +0000 (08:02 -0300)]
test: restore with missing final newline
Recent proposed patches for gzipped input had a bug with handling
missing newlines that was not caught by the current test suite
David Bremner [Sat, 29 Mar 2014 17:53:17 +0000 (14:53 -0300)]
util: add gz_readline
The idea is to provide a more or less drop in replacement for readline
to read from zlib/gzip streams. Take the opportunity to replace
malloc with talloc.
David Bremner [Sat, 29 Mar 2014 01:14:51 +0000 (22:14 -0300)]
dump: support gzipped and atomic output
The main goal is to support gzipped output for future internal
calls (e.g. from notmuch-new) to notmuch_database_dump.
The additional dependency is not very heavy since xapian already pulls
in zlib.
We want the dump to be "atomic", in the sense that after running the
dump file is either present and complete, or not present. This avoids
certain classes of mishaps involving overwriting a good backup with a
bad or partial one.
Mark Walters [Wed, 9 Apr 2014 17:09:54 +0000 (18:09 +0100)]
News for emacs saved-searches change.
The important point is that the changed search variable is not forward
compatible (it *is* backwards compatible): that is previous version
of notmuch-emacs will be unusable with a new style
notmuch-saved-search variable.
Mark Walters [Sun, 6 Apr 2014 05:44:49 +0000 (06:44 +0100)]
emacs: Add a sort-order option to saved-searches
This adds a sort-order option to saved-searches, stores it in the
saved-search buttons (widgets), and uses the stored value when the
button is pressed.
Storing the sort-order in the widget was suggested by Jani in
id:
4c3876274126985683e888641b29cf18142a5eb8.
1391771337.git.jani@nikula.org.
Mark Walters [Sun, 6 Apr 2014 05:44:48 +0000 (06:44 +0100)]
emacs: hello: switch notmuch-hello-insert-buttons to plists
Switching notmuch-hello-insert-buttons to plists means we can easily
pass extra options through to the buttons.
Mark Walters [Sun, 6 Apr 2014 05:44:47 +0000 (06:44 +0100)]
emacs: hello: add a customize for saved-searches
Make the defcustom for notmuch-saved-searches use the new plist
format. It should still work with oldstyle saved-searches but will
write the newstyle form.
Mark Walters [Sun, 6 Apr 2014 05:44:46 +0000 (06:44 +0100)]
emacs: hello: use the saved-search helper functions
This uses the helper functions: the saved searches format has not
changed yet but backwards compatibility means everything still works.
Mark Walters [Sun, 6 Apr 2014 05:44:45 +0000 (06:44 +0100)]
emacs: hello: add helper functions for saved-searches
Add helper functions to for saved searches to ease the transition to
the new plist form while maintaining backwards compatibility. They
will be used in the next patch.
Tomi Ollila [Wed, 19 Mar 2014 20:37:11 +0000 (22:37 +0200)]
emacs: defun notmuch-hello-versions and bind 'v' in hello mode to it
If notmuch cli & notmuch emacs MUA versions differ, print also the
emacs MUA version string (along with the cli version) to the
minibuffer.
Tomi Ollila [Wed, 19 Mar 2014 20:37:10 +0000 (22:37 +0200)]
emacs: add notmuch-version.el.tmpl and create notmuch-version.el from it
The notmuch cli program and emacs lisp versions may differ (especially
in remote usage). It helps to resolve problems if we can determine
the versions of notmuch cli and notmuch emacs mua separately.
The build process now creates notmuch-version.el from template file
by filling the version info to notmuch-emacs-version variable.
Tomi Ollila [Wed, 19 Mar 2014 20:37:09 +0000 (22:37 +0200)]
build: write version.stamp file containing $(VERSION) string
This version file will be as prerequisite to the target files
that use the version info for some purpose, like printing
it for the user to examine. The contents of the version.stamp
file is seldom read by the build system itself as the $(VERSION)
variable has the same information.
Thanks to Trevor, David and Mark for their contributions.
W. Trevor King [Mon, 10 Mar 2014 00:28:49 +0000 (17:28 -0700)]
nmbug: Add 'clone' and replace FETCH_HEAD with @{upstream}
With two branches getting fetched (master and config), the branch
referenced by FETCH_HEAD is ambiguous. For example, I have:
$ cat FETCH_HEAD
41d7bfa7184cc93c9dac139d1674e9530799e3b0 \
not-for-merge branch 'config' of http://nmbug.tethera.net/git/nmbug-tags
acd379ccb973c45713eee9db177efc530f921954 \
not-for-merge branch 'master' of http://nmbug.tethera.net/git/nmbug-tags
(where I wrapped the line by hand). This means that FETCH_HEAD
references the config branch:
$ git rev-parse FETCH_HEAD
41d7bfa7184cc93c9dac139d1674e9530799e3b0
which breaks all of the FETCH_HEAD logic in nmbug (where FETCH_HEAD is
assumed to point to the master branch).
Instead of relying on FETCH_HEAD, use @{upstream} as the
remote-tracking branch that should be merged/diffed/integrated into
HEAD. @{upstream} was added in Git v1.7.0 (2010-02-12) [1], so
relying on it should be fairly safe. One tricky bit is that bare
repositories don't set upstream tracking branches by default:
$ git clone --bare http://nmbug.tethera.net/git/nmbug-tags.git nmbug-bare
$ cd nmbug-bare
$ git remote show origin
* remote origin
Fetch URL: http://nmbug.tethera.net/git/nmbug-tags.git
Push URL: http://nmbug.tethera.net/git/nmbug-tags.git
HEAD branch: master
Local refs configured for 'git push':
config pushes to config (up to date)
master pushes to master (up to date)
While in a non-bare clone:
$ git clone http://nmbug.tethera.net/git/nmbug-tags.git
$ cd nmbug-tags
$ git remote show origin
* remote origin
Fetch URL: http://nmbug.tethera.net/git/nmbug-tags.git
Push URL: http://nmbug.tethera.net/git/nmbug-tags.git
HEAD branch: master
Remote branches:
config tracked
master tracked
Local branch configured for 'git pull':
master merges with remote master
Local ref configured for 'git push':
master pushes to master (up to date)
From the clone docs [2]:
--bare::
Make a 'bare' Git repository…
Also the branch heads at the remote are copied directly
to corresponding local branch heads, without mapping
them to `refs/remotes/origin/`. When this option is
used, neither remote-tracking branches nor the related
configuration variables are created.
To use @{upstream}, we need to the local vs. remote-tracking
distinction, so this commit adds 'nmbug clone', replacing the
previously suggested --bare clone with a non-bare --no-checkout
--separate-git-dir clone into a temporary work directory. After
which:
$ git rev-parse @{upstream}
acd379ccb973c45713eee9db177efc530f921954
gives us the master-branch commit. Existing nmbug users will have to
run the configuration tweaks and re-fetch by hand. If you don't have
any local commits, you could also blow away your NMBGIT repository and
re-clone from scratch:
$ nmbug clone http://nmbug.tethera.net/git/nmbug-tags.git
Besides removing the ambiguity of FETCH_HEAD, this commit allows users
to configure which upstream branch they want nmbug to track via 'git
config', in case they want to change their upstream repository.
[1]: http://git.kernel.org/cgit/git/git.git/tree/Documentation/RelNotes/1.7.0.txt
[2]: http://git.kernel.org/cgit/git/git.git/tree/Documentation/git-clone.txt
Tomi Ollila [Sat, 5 Apr 2014 09:47:29 +0000 (12:47 +0300)]
release-checks: removed manual page version check
Manual pages are now generated and during the generation the version
string is read from `version` file, so this (currently failing) test
checking manual page versions can be removed.
While at it, changed the case pattern *[^0-9.]*
to its portable alternative *[!0-9.]*
Tomi Ollila [Thu, 3 Apr 2014 20:53:03 +0000 (23:53 +0300)]
doc: added 'Init File' section to notmuch-emacs info source
While adding that fixed (also other) typos noticed by aspell(1) run,
and capitalized Emacs and (most) Notmuch terms to match how emacs
Info documentation seems to look in general.
David Bremner [Sun, 6 Apr 2014 02:02:23 +0000 (23:02 -0300)]
doc: move doxgen config from devel/ to doc/
a first step towards actually instally the API docs