aboutsummaryrefslogtreecommitdiffhomepage
path: root/Makefile
Commit message (Collapse)AuthorAge
...
* Makefile: Fix install target to depend on the all target.Gravatar Carl Worth2009-11-06
| | | | Otherwise, it would just fail if you hadn't run "make" already.
* Drop date.c file, (use identical function from GMime instead).Gravatar Carl Worth2009-11-02
| | | | | | | 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.
* Makefile: Rewrite to use NOTMUCH rather than MY in variable names.Gravatar Carl Worth2009-11-02
| | | | | I was about to refer to these names in some documentation, so I wanted a slightly better name for them.
* Add a simple manual page for notmuch.Gravatar Carl Worth2009-11-02
| | | | | By pulling content out of notmuch help, and also the messages printed by "notmuch setup".
* Makefile: Add a simple target for "make install".Gravatar Carl Worth2009-10-30
| | | | The more I do here, the less I see the need for autotools.
* Add full-text indexing using the GMime library for parsing.Gravatar Carl Worth2009-10-28
| | | | | | | | | | | 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.
* Move terms and tags code to a new tags.cc file.Gravatar Carl Worth2009-10-26
| | | | | | | 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).
* Add an initial implementation of a notmuch_thread_t object.Gravatar Carl Worth2009-10-25
| | | | | | | | | | | | | | | | | | | 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.
* Fix missing xapian-flags when generating dependencies.Gravatar Carl Worth2009-10-25
| | | | | | 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.
* Drop unused variable.Gravatar Carl Worth2009-10-25
| | | | | | | | 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.
* Add -Wswitch-enum and fix warnings.Gravatar Carl Worth2009-10-25
| | | | | | 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).
* Add -Wmising-declarations and fix warnings.Gravatar Carl Worth2009-10-25
| | | | Wow, lots of missing 'static' on internal functions.
* Add -Wwrite-strings and fix warnings.Gravatar Carl Worth2009-10-25
| | | | Need to be const-clean when handling string literals.
* Re-enable the warning for unused parameters.Gravatar Carl Worth2009-10-25
| | | | | It's easy enough to squelch the warning with an __attribute__ ((unused)) and it might just catch something for us in the future.
* Add -Wextra and fix warnings.Gravatar Carl Worth2009-10-25
| | | | | | | | 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.
* Rework Makefile just a bit to enable adding flags for more compiler warningsGravatar Carl Worth2009-10-25
| | | | | | 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++.
* Add debugging code for examining query strings.Gravatar Carl Worth2009-10-24
| | | | | | | | | | | 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.
* Generate message ID (using SHA1) when a mail message contains none.Gravatar Carl Worth2009-10-22
| | | | | | 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.
* Implement 'notmuch dump'.Gravatar Carl Worth2009-10-20
| | | | | | | | | | | | | | | | 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").
* Rename private notmuch_message_t to notmuch_message_file_tGravatar Carl Worth2009-10-20
| | | | | | | | | 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.
* Makefile: Add automatic dependency tracking to the Makefile.Gravatar Carl Worth2009-10-20
| | | | With this, I really don't miss anything from automake.
* Remove test programs, xapian-dump and notmuch-index-messageGravatar Carl Worth2009-10-19
| | | | | | | | | | 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.
* Hook up our fancy new notmuch_parse_date function.Gravatar Carl Worth2009-10-19
| | | | | 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.
* notmuch: Switch from gmime to custom, ad-hoc parsing of headers.Gravatar Carl Worth2009-10-19
| | | | | | | | | | | 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.
* notmuch: Start actually adding messages to the index.Gravatar Carl Worth2009-10-18
| | | | | | | | | | | | | | | | | | | | | | 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.
* Start a new top-level executable: notmuch.Gravatar Carl Worth2009-10-17
| | | | | | | 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.
* Protect against missing message id while indexing filesGravatar Keith Packard2009-10-14
|
* Rename g_mime_test to notmuch-index-messageGravatar Carl Worth2009-10-13
| | | | | In preparation for actually creating a Xapian index from the message, (not that we're doing that quite yet).
* Add the beginnings of a xapian-dump program.Gravatar Carl Worth2009-10-13
| | | | | | 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.
* Initial commit of a test program to form the basis of notmuch.Gravatar Carl Worth2009-10-13
Basically just playing with some simple code using libgmime to parse an email message.