notmuch clon
Find a file
Mark Walters 1dd76ab9b6 emacs: Split out the incremental json parser into its own function
This patch splits out the incremental json parser into its own
function.

It moves the main logic of the parser to happen inside the parse
buffer rather than inside the results buffer, but makes sure all
results and all errors are displayed in the results buffer.

It also changes the local parser variables from being buffer
local to the results buffer to being buffer local to the parse buffer,
and sets them up automatically so the caller does not need to.

Finally to keep the diff small this patch does not fix the whitespace,
nor complete the code movement (these are done in subsequent patches)
but it should contain all the functional changes.
2012-10-28 09:41:54 -03:00
bindings version: propagate version changes 2012-08-21 10:43:49 +02:00
compat Extend compat/README 2012-09-27 12:51:01 -03:00
completion fix sum moar typos [build scripts, Makefiles] 2011-06-23 15:44:59 -07:00
contrib contrib: add pick TODO file 2012-10-28 09:35:38 -03:00
debian debian: mention some upstream news in changelog 2012-08-21 10:43:50 +02:00
devel devel: add release-checks.sh 2012-09-05 08:33:45 -03:00
emacs emacs: Split out the incremental json parser into its own function 2012-10-28 09:41:54 -03:00
lib Support OpenBSD 2012-10-27 09:35:47 -03:00
man {., man}/Makefile.local: edit/remove release-checks.sh related targets 2012-09-05 08:34:01 -03:00
packaging fix sum moar typos [text files] 2011-06-23 15:40:50 -07:00
test emacs: Introduce generic boolean term escaping function 2012-10-27 09:33:55 -03:00
util Annotate internal_error with the attribute noreturn 2012-09-27 12:52:06 -03: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: make the command line parser's errors more informative. 2012-09-01 23:03:36 -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 Support OpenBSD 2012-10-27 09:35:47 -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
crypto.c cli: new crypto structure to store crypto contexts and parameters, and functions to support it 2012-06-10 20:05:02 -03: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 Recommend libgmime-2.6-dev in INSTALL 2012-05-24 21:54:30 -03:00
Makefile build-system: update for split man pages 2011-12-31 15:16:32 -04:00
Makefile.local {., man}/Makefile.local: edit/remove release-checks.sh related targets 2012-09-05 08:34:01 -03:00
mime-node.c Avoid potentially dereferencing a NULL pointer 2012-09-27 12:52:34 -03:00
NEWS News for restrictions on tag names 2012-10-27 09:33:10 -03:00
notmuch-client.h show: Remove now unused fields from notmuch_show_format 2012-08-03 20:40:01 -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 notmuch-dump: remove deprecated positional argument for output file 2012-08-06 08:52:33 -03:00
notmuch-new.c cli: notmuch new: optionally output debug information when ignoring files/directories 2012-10-20 17:28:19 -03:00
notmuch-reply.c reply: Convert JSON format to use sprinter 2012-08-12 21:29:38 +02:00
notmuch-restore.c notmuch-restore: replace positional argument for input with option 2012-08-06 08:52:45 -03:00
notmuch-search.c Use the structured formatters in notmuch-search.c. 2012-07-24 09:27:09 -03:00
notmuch-setup.c Make exclusion visible again 2012-03-03 11:56:47 -04:00
notmuch-show.c notmuch-show: include Bcc header in json output 2012-10-22 20:06:21 -03:00
notmuch-tag.c tag: Disallow adding malformed tags to messages 2012-10-27 09:32:44 -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
sprinter-json.c sprinters: bugfix when NULL passed for a string. 2012-08-12 21:25:01 +02:00
sprinter-text.c sprinters: bugfix when NULL passed for a string. 2012-08-12 21:25:01 +02:00
sprinter.h sprinters: bugfix when NULL passed for a string. 2012-08-12 21:25:01 +02:00
version version: bump primary version 2012-08-20 13:53:50 +02: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