notmuch clon
Find a file
Austin Clements 7199d22f43 lib/cli: Make notmuch_database_get_directory return a status code
Previously, notmuch_database_get_directory had no way to indicate how
it had failed.  This changes its prototype to return a status code and
set an out-argument to the retrieved directory, like similar functions
in the library API.  This does *not* change its currently broken
behavior of creating directory objects when they don't exist, but it
does document it and paves the way for fixing this.  Also, it can now
check for a read-only database and return
NOTMUCH_STATUS_READ_ONLY_DATABASE instead of crashing.

In the interest of atomicity, this also updates calls from the CLI so
that notmuch still compiles.
2012-05-15 08:56:33 -03:00
bindings go: format the souce code using gofmt 2012-05-11 08:36:43 -03:00
compat Silence buildbot warnings about unused results 2012-01-21 08:49:50 -04:00
completion fix sum moar typos [build scripts, Makefiles] 2011-06-23 15:44:59 -07:00
contrib Use notmuch_database_destroy instead of notmuch_database_close 2012-04-28 09:29:12 -03:00
debian debian: fix suite 2012-05-08 21:40:41 -03:00
devel Sync schemata with current code structure 2012-04-15 09:42:14 -03:00
emacs emacs: fix custom queries section customization widget in notmuch-hello 2012-05-06 19:44:55 -03:00
lib lib/cli: Make notmuch_database_get_directory return a status code 2012-05-15 08:56:33 -03:00
man bump version to 0.13~rc1 2012-05-08 14:49:08 -03:00
packaging fix sum moar typos [text files] 2011-06-23 15:40:50 -07:00
test emacs: fix custom queries section customization widget in notmuch-hello 2012-05-06 19:44:55 -03:00
util Fix dependency generation for compat, test, and util 2012-01-19 09:19:12 -04:00
vim vim: simplify build 2012-04-21 05:19:30 +03:00
.dir-locals.el .dir-locals.el: changed one-char comment prefix '; ' to two; '; ; ' 2012-01-22 08:41:37 -04:00
.gitignore fix .gitignore for gzipped man pages 2012-01-17 14:52:31 -04:00
AUTHORS Drop date.c file, (use identical function from GMime instead). 2009-11-02 14:36:33 -08:00
command-line-arguments.c cli: Parsing. Allow true/false parameter for boolean options. 2012-03-18 09:14:22 -03:00
command-line-arguments.h command-line-arguments.[ch]: make arrays of keyword descriptors const 2011-12-13 00:00:44 -04:00
configure configure: change gmime version in help message to 2.6 2012-04-05 08:01:32 -03:00
COPYING Add copy of GNU General Public License (version 3). 2009-10-21 16:25:08 -07:00
COPYING-GPL-3 Add copy of GNU General Public License (version 3). 2009-10-21 16:25:08 -07:00
debugger.c notmuch-new: Only install SIGALRM if not running under gdb 2009-11-22 05:36:36 +01:00
gmime-filter-headers.c notmuch: Fix off-by-one errors if a header is >200 characters long. 2010-06-01 16:09:29 -07:00
gmime-filter-headers.h fix sum moar typos [comments in source code] 2011-06-23 15:58:39 -07:00
gmime-filter-reply.c Filter out carriage-returns in show and reply output. 2009-11-18 23:34:43 +01:00
gmime-filter-reply.h Typsos 2009-11-18 03:21:36 -08:00
hooks.c cli: introduce the concept of user defined hooks 2011-12-11 13:57:31 -04:00
INSTALL Update NEWS and INSTALL about gmime 2.6 2012-01-21 08:55:08 -04:00
json.c json_quote_chararray: Always return a newly talloced array 2010-04-20 08:55:31 -07:00
Makefile build-system: update for split man pages 2011-12-31 15:16:32 -04:00
Makefile.local Record dependencies during build instead of before 2012-04-15 09:42:15 -03:00
mime-node.c Handle errors in mime_node_open 2012-03-10 21:25:19 -04:00
NEWS NEWS: add an entry for the go 1 compatibility 2012-05-12 16:51:37 -03:00
notmuch-client.h show: Remove unused fields from notmuch_show_format 2012-04-15 09:42:15 -03:00
notmuch-config.c config: Add 'config list' command 2012-04-28 10:45:31 -03:00
notmuch-count.c lib/cli: Make notmuch_database_open return a status code 2012-05-05 10:11:57 -03:00
notmuch-dump.c lib/cli: Make notmuch_database_open return a status code 2012-05-05 10:11:57 -03:00
notmuch-new.c lib/cli: Make notmuch_database_get_directory return a status code 2012-05-15 08:56:33 -03:00
notmuch-reply.c lib/cli: Make notmuch_database_open return a status code 2012-05-05 10:11:57 -03:00
notmuch-restore.c lib/cli: Make notmuch_database_open return a status code 2012-05-05 10:11:57 -03:00
notmuch-search.c lib/cli: Make notmuch_database_open return a status code 2012-05-05 10:11:57 -03:00
notmuch-setup.c Make exclusion visible again 2012-03-03 11:56:47 -04:00
notmuch-show.c lib/cli: Make notmuch_database_open return a status code 2012-05-05 10:11:57 -03:00
notmuch-tag.c lib/cli: Make notmuch_database_open return a status code 2012-05-05 10:11:57 -03:00
notmuch-time.c Add some const correctness to talloc 'ctx' parameter. 2009-11-17 19:10:37 -08:00
notmuch.c notmuch: replace built-in help with exec of man 2011-12-31 15:16:32 -04:00
notmuch.desktop notmuch.desktop: Clarify that this is the emacs interface to notmuch. 2010-01-24 07:30:08 +13:00
query-string.c notmuch: Break notmuch.c up into several smaller files. 2009-11-10 12:03:05 -08:00
README INSTALL/README: Clean up the description of how to run the emacs interface. 2010-06-01 10:51:42 -07:00
version bump version to 0.13~rc1 2012-05-08 14:49:08 -03:00

Notmuch - thread-based email index, search and tagging.

Notmuch is a system for indexing, searching, reading, and tagging
large collections of email messages in maildir or mh format. It uses
the Xapian library to provide fast, full-text search with a convenient
search syntax.

Notmuch is free software, released under the GNU General Public
License version 3 (or later).

Building notmuch
----------------
See the INSTALL file for notes on compiling and installing notmuch.

Running notmuch
---------------
After installing notmuch, start by running "notmuch setup" which will
interactively prompt for configuration information such as your name,
email address, and the directory which contains your mail archive to
be indexed. You can change any answers later by running "notmuch
setup" again or by editing the .notmuch-config file in your home
directory.

With notmuch configured you should next run "notmuch new" which will
index all of your existing mail. This can take a long time, (several
hours) if you have a lot of email, (hundreds of thousands of
files). When new mail is delivered to your mail archive in the future,
you will want to run "notmuch new" again. These runs will be much
faster as they will only index new messages.

Finally, you can prove to yourself that things are working by running
some command-line searches such as "notmuch search
from:someone@example.com" or "notmuch search subject:topic". See
"notmuch help search-terms" for more details on the available search
syntax.

The command-line search output is not expected to be particularly
friendly for day-to-day usage. Instead, it is expected that you will
use an email interface that builds on the notmuch command-line tool or
the libnotmuch library.

Notmuch installs a full-featured email interface for use within
emacs. To use this, first add the following line to your .emacs file:

	(require 'notmuch)

Then, either run "emacs -f notmuch" or execute the command "M-x
notmuch" from within a running emacs.

If you're interested in a non-emacs-based interface to notmuch, then
please join the notmuch community. Various other interfaces are
already in progress, (an interface within vim, a curses interface,
graphical interfaces based on evolution, and various web-based
interfaces). The authors of these interfaces would love further
testing or contribution. See contact information below.

Contacting users and developers
-------------------------------
The website for Notmuch is:

	http://notmuchmail.org

The mailing list address for the notmuch community is:

	notmuch@notmuchmail.org

We welcome any sort of questions, comments, kudos, or code there.

Subscription is not required, (but if you do subscribe you'll avoid
any delay due to moderation). See the website for subscription
information.

There is also an IRC channel dedicated to talk about using and
developing notmuch:

	IRC server:	irc.freenode.net
	Channel:	#notmuch