Commit graph

1107 commits

Author SHA1 Message Date
Dirk Hohndel
569ecf8c16 Fix code extracting the MTA from Received: headers
The previous code made too many assumptions about the (sadly not
standardized) format of the Received headers. This version should
be more robust to deal with different variations.

Signed-off-by: Dirk Hohndel <hohndel@infradead.org>
2010-04-07 15:36:40 -07:00
Carl Worth
fec5622add emacs: Correct the documentation for notmuch-search-add-tag (and -remove-tag)
These commands act on all messages in the thread, not simply those
that match the search. (There are use case for both behaviors, but the
documentation must match the behavior that's actually implemented).
2010-04-07 13:15:27 -07:00
Jesse Rosenthal
4c9585933e notmuch.el: add functionality in notmuch search mode to add or remove tags by region
This patch adds `-region' versions of the `notmuch-search-' commands to find
properties. It also splits up  `notmuch-add/remove-tags' into both a
`-thread' and a `-region' version. (This makes us modify
`notmuch-search-archive-thread' to use the
`notmuch-search-remove-tag-thread' function, instead of
`notmuch-search-remove-tag', for consistency.) The add/remove-tag command
called by pressing `+' or `-' will then choose accordingly, based on whether
region is active.

This version fixes a couple of errors in the first version, which led to
incorrect marking of some tags in the search view (though the actual
tagging was still correct). It's also based on current master.

I'm not sure any more if region selection is actually the correct way to
do this, or if a mutt-style message-marking method would be better. But
I didn't want a buggy incorrect version out there.
2010-04-07 13:10:36 -07:00
Carl Worth
d5f5b38339 Display the last few lines of a citation by default.
As put forth in the commit that enabled this functionality, the last
few lines of a citation are often much more important. In that case,
let's actually do the useful thing by default.
2010-04-07 12:15:08 -07:00
David Edmondson
c44ce805de notmuch.el: Allow citation suffixes to be shown as well as prefixes.
In many conversations the last few lines of a citation are more
interesting than the first few lines, hence allow those to be shown if
desired.

Signed-off-by: Sebastian Spaeth <Sebastian@SSpaeth.de>
2010-04-07 12:10:36 -07:00
David Edmondson
e95dac86f5 notmuch.el: Colour cited regions and signatures with message-cited-text-face
Signed-off-by: Sebastian Spaeth <Sebastian@SSpaeth.de> (with fixup to
               avoid over-eager coloring of signatures).
2010-04-07 12:02:35 -07:00
Jameson Rollins
84767fd582 notmuch.el: colorize lines in notmuch-search based on thread tags.
Arbitrary font faces can be specified for given thread tags.  By
default, no coloring is applied.  To specify coloring, place something
like this in your .emacs:

(setq notmuch-search-line-faces '(("delete" . '(:foreground "red"))
                                  ("unread" . '(:foreground "green"))))

Order matters: line faces listed first will take precedence (in the
example above, a thread tagged both "delete" and "unread" will be
colored red, since the "delete" face is listed before the "unread").
 notmuch.el |   33 ++++++++++++++++++++++++++++++++-
 1 files changed, 32 insertions(+), 1 deletions(-)
2010-04-07 11:09:20 -07:00
Carl Worth
8364c2f36e emacs: Fix typo in line-wrapping in documentation of notmuch-show.
Just trying to keep things neat.
2010-04-07 10:40:29 -07:00
Jesse Rosenthal
9bee20aed3 notmuch.el: Make notmuch-show buffer name first subject, instead of thread-id (supersedes V1--3)
Change the buffer name to a uniquified subject of the thread (i.e. the
subject of the first message in the thread) instead of the thread-id. This
is more meaningful to the user, and will make it easier to scroll through
numerous open buffers.

Note that this patch adds an optional `buffer-name' argument to notmuch
show.

Signed-off-by: Jesse Rosenthal <jrosenthal@jhu.edu>
Signed-off-by: Sebastian Spaeth <Sebastian@SSpaeth.de>
2010-04-07 10:40:06 -07:00
David Edmondson
fbec989fe3 notmuch.el: 'F' in search mode takes us to a list of folders. 2010-04-07 10:25:35 -07:00
Jameson Rollins
aa531a92ae notmuch.el: fontify date in header
The date was unfairly left out of getting pretty colors in the
notmuch-show header display.  This fixes that grave injustice.

Signed-off-by: Sebastian Spaeth <Sebastian@SSpaeth.de>
2010-04-07 10:22:13 -07:00
Carl Worth
a7a961c510 Makefile: Install emacs code to site-lisp, not site-lisp/notmuch
And just make the Debian packaging request site-lisp/notmuch like it
wants. Otherwise, the installed files won't appear on the load-path
so won't be found by emacs.
2010-04-07 10:09:35 -07:00
Carl Worth
8d4fa40bec notmuch-reply: Remove stray brace.
That was breaking the build.
2010-04-07 07:17:12 -07:00
Dirk Hohndel
4563f669ca fix obvious cut and paste error
the wrong variable is checked for success of an allocation

Signed-off-by: Dirk Hohndel <hohndel@infradead.org>
2010-04-06 18:55:56 -07:00
Carl Worth
03693ce413 TODO: Note that "notmuch reply" needs to be tested.
This is a feature that we just added without a test case.
2010-04-06 18:54:48 -07:00
Carl Worth
542e32876e notmuch-reply: Remove a useless level of nesting.
Making the code a tiny bit easier to read (in my opinion at least).
2010-04-06 18:51:57 -07:00
Carl Worth
3e216ba60d notmuch-reply: Fix some whitespace issues.
No actual code change here. Just whitespace style, (mostly just my
preferred space before a left parenthesis, and a space after a comma).
2010-04-06 18:51:47 -07:00
Dirk Hohndel
4fd9ea05e8 guess From address from Received headers
When replying to a message notmuch tries to pick the correct From
 address by looking which one of a user's configured email addresses
 were included in To or Cc headers of the email that is being replied to.
 If none of the users email addresses are in the To or Cc headers we now
 try to guess from the first (chronologically, last) Received header
 which domain this email was received in and therefore which of the
 email addresses to use in a reply
 If that fails we still use the primary email as From email

Signed-off-by: Dirk Hohndel <hohndel@infradead.org>
2010-04-06 18:47:40 -07:00
Dirk Hohndel
a48f368778 fix notmuch_message_file_get_header
fix notmuch_message_file_get_header to always return the first instance
 of the header you are looking for

Signed-off-by: Dirk Hohndel <hohndel@infradead.org>
2010-04-06 18:47:28 -07:00
Carl Worth
7d9851e293 Merge branch 'debian'
These are the changes made between the notmuch 0.1 release and the
release of Debian version 0.1-1. It's mostly changes to the debian
directory, of course, but does also include some generally useful
Makefile improvements.
2010-04-06 18:44:20 -07:00
Carl Worth
e7837ace18 debian: Add a watch file.
To help people pester me in the case of uploading a new upstream
release without a corresponding Debian package.
2010-04-06 18:30:43 -07:00
Carl Worth
ae9d67fd81 Avoid needlessly linking final notmuch binary against libXapian.
The libnotmuch.so library already does, so we don't need to do
it again. (Thanks to a Debian debhelper warning for pointing this
out.)
2010-04-06 18:30:43 -07:00
Carl Worth
66f00ab35a debian: Modify each package description slightly.
This avoids a lintian complaint about several packages with identical
package descriptions.
2010-04-06 18:30:43 -07:00
Carl Worth
e9e06d2d7c man: Fix several occurences of hyphen intended to be minus.
With man pages we have to be careful or commands may not function
after copy-and-paste.
2010-04-06 18:30:43 -07:00
Carl Worth
248e6f8c04 debian: Update standards version to 3.8.4.
No changes needed.
2010-04-06 18:30:43 -07:00
Carl Worth
a1f67f28d7 debian: Split into multiple packages.
The library goes into libnotmuch1 and the headers into libnotmuch-dev.
2010-04-06 18:30:43 -07:00
Carl Worth
33d8ecd859 debian: Fix Vcs-Browser link
We're doing debian packaging in the primary repository now.
2010-04-06 18:30:43 -07:00
Carl Worth
ffd274e135 debian: Don't try compiling emacs bytecode for emacs < 21
It just doesn't work.
2010-04-06 18:30:43 -07:00
Carl Worth
ba8ee48dcb debian: Fix broken symlinking of emacs lisp files.
This broke when we changed from a single notmuch.el file
to multiple notmuch-foo.el files.
2010-04-06 18:30:43 -07:00
Carl Worth
dfbec15b23 Install emacs lisp files into a notmuch sub-directory of site-lisp.
Now that we have multiple emacs-lisp source files, it's just more
polite this way.
2010-04-06 18:30:43 -07:00
Carl Worth
53fa1ed0a8 Makefile: Add a disctclean target (simply calling clean)
We currently don't distribute anything that's not already in git, so
there's no difference between these two targets, (but debhelper wants
to be able to call distclean).
2010-04-06 18:30:43 -07:00
Carl Worth
bd5987ce39 Update Debian package version to 0.1-1.
To make a Debian package for the recent 0.1 release of notmuch.
2010-04-06 18:30:43 -07:00
Carl Worth
a597c8b6ca configure: Ignore more options that debhelper expects.
These include:

	--infodir=DIR
	--localstatedir=DIR
	--libexecdir=DIR
	--disable-maintainer-mode
	--disable-dependency-tracking
2010-04-06 14:42:09 -07:00
Carl Worth
ea43d06300 configure: Add a --sysconfdir option.
Which means that the bash completion script will now install
to ${prefix}/etc by default (unless configured with --syconfdir=/etc)
which is probably the right thing to do.
2010-04-06 14:42:09 -07:00
Carl Worth
1d1ad74db9 configure: Add support for a --mandir option
Again, nothing tricky here.
2010-04-06 14:42:09 -07:00
Carl Worth
14e98e454e configure: Add support for a --includedir option
Very similar to the existing --libdir option.
2010-04-06 14:42:09 -07:00
Carl Worth
c857b970e5 configure: Avoid printing '.' at the end of error message.
Since we're emitting the user's input back, let's leave it pristine
and not confuse the issue by adding a final period.
2010-04-06 14:42:09 -07:00
Carl Worth
a3c9dfe4fa configure: Add stub support for --build=<cpu>-<vendor>-<host> option.
I'm not sure that this option would actually be useful for anything,
but debhelper at least expects our configure script to support it. So
we'll accept it and ignore it.
2010-04-06 14:42:09 -07:00
Carl Worth
1ddf40f664 packaging: Add a pointer to where the debian packaging really is.
Most anyone familiar with debian should know to look for the top-level
debian directory, but since we do have a "packaging" directory, I
thought it should at least mention the debian stuff rather than just
containing the fedora spec file.
2010-04-06 14:42:09 -07:00
Carl Worth
e2dd4ac00b Merge branch 'debian' into rebuild
Conflicts:

  Makefile.local: The Makefiles were all recently re-written on
		  master, but I did ensure that the changes from the
		  debian branch were all implemented here, (in
		  particular, installing the emacs files from "make
		  install").

  configure: I've reverted one change as part of this merge:

		commit 9f99a301b1

		Remove ./configure failure for unrecognized options

	     I'd much rather find what options the Debian scripts pass
	     and either implement them or at least make the explicitly
	     do nothing. One of the things that often annoyed me about
	     gnu autoconf-generated configure scripts was the silent
	     ignoring of unknown options, (which was very unhelpful in
	     the case of mistyped options on the command line).
2010-04-06 14:38:04 -07:00
Carl Worth
d8192a4d7f Move "config" test programs to "compat".
It makes sense to me to have the little tests for functionality right
next to the comptability implementations of that same functionality.

But also, this means I can now tab-complete ./configure from the three
initial characters (rather than the seven required previously).
2010-04-06 14:36:31 -07:00
Carl Worth
b5d8fe2784 Makefile: Move the completion-specific commands to completion/Makefile.local
For much better modularity.
2010-04-06 14:36:31 -07:00
Carl Worth
e1a84ab173 Rename the "contrib" directory to "completion".
The original "contrib" name is lousy. Everything in notmuch has been
contributed, and we are integrating as much of it as possible, (rather
than making users grub through contrib looking for useful pieces to
install).

Meanwhile, the only things we have in contrib are command-line
completion scripts, so "completion" makes more sense as a name, (and
helps make "./configure" slightly less ambiguous).
2010-04-06 14:36:31 -07:00
Carl Worth
f23b233e3a .gitignore: Ignore the releases directory.
The "make release" target creates this directory, but it's nothing
I'll ever want to add to the git repository.
2010-04-06 14:36:31 -07:00
Carl Worth
0f34809197 Makefile: Eliminate the separate install-bash and install-zsh targets.
Again, simplifying the interface to the Makefile. Installing these
files doesn't require bash nor zsh to actually be installed, so there's
little harm in just installing them unconditionally.
2010-04-06 14:36:31 -07:00
Carl Worth
a5ed8c68f6 Makefile: Eliminate the "make install-emacs" target.
Instead, simply byte-compile the emacs source files as part of "make"
and install them as part of "make install". The byte compilation is
made conditional on the configure script finding the emacs binary.
That way, "make; make install" will still work for someone that doesn't
have emacs installed, (which was the only reason we had made a separate
"make install-emacs" target in the first place).
2010-04-06 14:36:31 -07:00
Carl Worth
f89b3d16db Makefiles: Eliminate the useless quiet_* functions.
With the original quiet function, there's an actual purpose (hiding
excessively long compiler command lines so that warnings and errors
from the compiler can be seen).

But with things like quiet_symlink there's nothing quieter. In fact
"SYMLINK" is longer than "ln -sf". So all this is doing is hiding the
actual command from the user for no real benefit.

The only actual reason we implemented the quiet_* functions was to be
able to neatly right-align the command name and left-align the arguments.

Let's give up on that, and just left-align everything, simplifying the
Makefiles considerably. Now, the only instances of a captialized command
name in the output is if there's some actually shortening of the command
itself.
2010-04-06 14:36:31 -07:00
Carl Worth
9ed5e095a8 make release: Add "what's new" and "what is notmuch" sections to announcement
For other projects I release, there's a bunch of manual effort in
cosntructing the final release-announcement email. That's silly.
So automate this by extracting the appropirate text from NEWS and
by including a canned piece of the content from README.
2010-04-05 17:24:20 -07:00
Carl Worth
8782bd926e Makefile: Print template for release announcement.
At the end of "make release" or at any point later with
"make release-message".
2010-04-05 16:38:56 -07:00
Carl Worth
1b0830b31c Makefile: Make the "make release" target push the new tag.
Otherwise I'm sure I'll always forget to push it.
2010-04-05 15:56:23 -07:00