aboutsummaryrefslogtreecommitdiff
path: root/Makefile
AgeCommit message (Collapse)Author
2009-11-06Makefile: Fix install target to depend on the all target.Carl Worth
Otherwise, it would just fail if you hadn't run "make" already.
2009-11-02Drop date.c file, (use identical function from GMime instead).Carl Worth
We had originally copied this function in at a time when notmuch wasn't actually depending on the GMime library. Now that it does, we might as well call the function that exists there rather than having a private copy of it.
2009-11-02Makefile: Rewrite to use NOTMUCH rather than MY in variable names.Carl Worth
I was about to refer to these names in some documentation, so I wanted a slightly better name for them.
2009-11-02Add a simple manual page for notmuch.Carl Worth
By pulling content out of notmuch help, and also the messages printed by "notmuch setup".
2009-10-30Makefile: Add a simple target for "make install".Carl Worth
The more I do here, the less I see the need for autotools.
2009-10-28Add full-text indexing using the GMime library for parsing.Carl Worth
This is based on the old notmuch-index-message.cc from early in the history of notmuch, but considerably cleaned up now that we have some experience with Xapian and know just what we want to index, (rather than just blindly trying to index exactly what sup does). This does slow down notmuch_database_add_message a *lot*, but I've got some ideas for getting some time back.
2009-10-26Move terms and tags code to a new tags.cc file.Carl Worth
We want to start using this from both message.cc and thread.cc so we need it in a place we can share the code. This also requires a new notmuch-private-cxx.h header file for interfaces that include C++-specific datatypes (such as Xapian::Document).
2009-10-25Add an initial implementation of a notmuch_thread_t object.Carl Worth
We've now got a new notmuch_query_search_threads and a notmuch_threads_result_t iterator. The thread object itself doesn't do much yet, (just allows one to get the thread_id), but that's at least enough to see that "notmuch search" is actually doing something now, (since it has been converted to print thread IDs instead of message IDs). And maybe that's all we need. Getting the messages belonging to a thread is as simple as a notmuch_query_search_messages with a string of "thread:<thread-id>". Though it would be convenient to add notmuch_thread_get_messages which could use the existing notmuch_message_results_t iterator. Now we just need an implementation of "notmuch show" and we'll have something somewhat usable.
2009-10-25Fix missing xapian-flags when generating dependencies.Carl Worth
I didn't notice this because `xapian-config -cxxflags` gives empty output on my system. But for someone with the xapian library installed in some non-standard location this would be important.
2009-10-25Drop unused variable.Carl Worth
I didn't end up adding any of the warnings options that aren't allowed for C++, (such as -Wold-style-definition, -Wnested-externs, -Werror-implicit-function-declaration, -Wstrict-prototypes, -Wmissing-prototypes, or -Wbad-function-cast). So for now we can drop the separate C and C++ variables for warnings.
2009-10-25Add -Wswitch-enum and fix warnings.Carl Worth
Having to enumerate all the enum values at every switch is annoying, but this warning actually found a bug, (missing support for NOTMUCH_STATUS_OUT_OF_MEMORY in notmuch_status_to_string).
2009-10-25Add -Wmising-declarations and fix warnings.Carl Worth
Wow, lots of missing 'static' on internal functions.
2009-10-25Add -Wwrite-strings and fix warnings.Carl Worth
Need to be const-clean when handling string literals.
2009-10-25Re-enable the warning for unused parameters.Carl Worth
It's easy enough to squelch the warning with an __attribute__ ((unused)) and it might just catch something for us in the future.
2009-10-25Add -Wextra and fix warnings.Carl Worth
When adding -Wextra we also add -Wno-ununsed-parameters since that function means well enough, but is really annoying in practice. So the warnings we fix here are basically all comparsions between signed and unsigned values.
2009-10-25Rework Makefile just a bit to enable adding flags for more compiler warningsCarl Worth
We have to carefully separate the C and C++ flags here since a bunch of the warnings options for gcc are valid for compiling C, but not for C++.
2009-10-24Add debugging code for examining query strings.Carl Worth
It's nice that Xapian provides a little function to print a textual representation of the entire query tree. So now, if you compile like so: make CFLAGS=-DDEBUG_QUERY then you get a nice output of the query string received by the query module, and the final query actually being sent to Xapian.
2009-10-22Generate message ID (using SHA1) when a mail message contains none.Carl Worth
This is important as we're using the message ID as the unique key in our database. So previously, all messages with no message ID would be treated as the same message---not good at all.
2009-10-20Implement 'notmuch dump'.Carl Worth
This is a fairly big milestone for notmuch. It's our first command to do anything besides building the index, so it proves we can actually read valid results out from the index. It also puts in place almost all of the API and infrastructure we will need to allow searching of the database. Finally, with this change we are now using talloc inside of notmuch which is truly a delight to use. And now that I figured out how to use C++ objects with talloc allocation, (it requires grotty parts of C++ such as "placement new" and "explicit destructors"), we are valgrind-clean for "notmuch dump", (as in "no leaks are possible").
2009-10-20Rename private notmuch_message_t to notmuch_message_file_tCarl Worth
This is in preparation for a new, public notmuch_message_t. Eventually, the public notmuch_message_t is going to grow enough features to need to be file-backed and will likely need everything that's now in message-file.c. So we may fold these back into one object/implementation in the future.
2009-10-20Makefile: Add automatic dependency tracking to the Makefile.Carl Worth
With this, I really don't miss anything from automake.
2009-10-19Remove test programs, xapian-dump and notmuch-index-messageCarl Worth
These were just little tests while getting comfortable with GMime and xapian. I'll likely use pieces of these as notmuch continues, but for now let's not distract anyone looking at notmuch with these. And the code will live on in the history if I need to look at it.
2009-10-19Hook up our fancy new notmuch_parse_date function.Carl Worth
With all the de-glib-ification out of the way, we can now use it to allow for date-based sorting of Xapian search results.
2009-10-19notmuch: Switch from gmime to custom, ad-hoc parsing of headers.Carl Worth
Since we're currently just trying to stitch together In-Reply-To and References headers we don't need that much sophistication. It's when we later add full-text searching that GMime will be useful. So for now, even though my own code here is surely very buggy compared to GMime it's also a lot faster. And speed is what we're after for the initial index creation.
2009-10-18notmuch: Start actually adding messages to the index.Carl Worth
This is the beginning of the notmuch library as well, with its interface in notmuch.h. So far we've got create, open, close, and add_message (all with a notmuch_database prefix). The current add_message function has already been whittled down from what we have in notmuch-index-message to add only references, message-id, and thread-id to the index, (that is---just enough to do thread-linkage but nothing for full-text searching). The concept here is to do something quickly so that the user can get some data into notmuch and start using it. (The most interesting stuff is then thread-linkage and labels like inbox and unread.) We can defer the full-text indexing of the body of the messages for later, (such as in the background while the user is reading mail). The initial thread-stitching step is still slower than I would like. We may have to stop using libgmime for this step as its overhead is not worth it for the simple case of just parsing the message-id, references, and in-reply-to headers.
2009-10-17Start a new top-level executable: notmuch.Carl Worth
Of course, there's not much that this program does yet. It's got some structure for some sub-commands that don't do anything. And it has a main command that prints some explanatory text and then counts all the regular files in your mail archive.
2009-10-14Protect against missing message id while indexing filesKeith Packard
2009-10-13Rename g_mime_test to notmuch-index-messageCarl Worth
In preparation for actually creating a Xapian index from the message, (not that we're doing that quite yet).
2009-10-13Add the beginnings of a xapian-dump program.Carl Worth
This will (when it is finished) make a much more reliable way to ensure that notmuch's sync program behaves identically to sup-sync. It doesn't actually do anything yet.
2009-10-13Initial commit of a test program to form the basis of notmuch.Carl Worth
Basically just playing with some simple code using libgmime to parse an email message.