Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Commits on May 4, 2011
  1. vim: parse 'from' address

    authored
    In order to pass it to sendmail.
    
    Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
  2. vim: use sendmail directly

    authored
    The problem with 'mailx' is that it's not standardized, and it doesn't
    allow the -f option, which is pretty important on many sendmail
    configurations.
    
    Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
  3. vim: add myself (Felipe Contreras) as contributor

    authored
    Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
  4. vim: implement archive in show view

    authored
    Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
  5. vim: refactor tagging stuff

    authored
    Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
Commits on Apr 25, 2011
  1. @cworth-gh

    TODO: Add item for remembing files detected as not email.

    cworth-gh authored
    As recently discussed on the mailing list. See, for example:
    
    	id:"874o5m802d.fsf@servo.factory.finestructure.net"
  2. @cworth-gh

    test: Mark the search-insufficient-from-quoting tests to expect success

    cworth-gh authored
    Theses were expected failures only due to a bug in GMime (with
    versions of GMime before 2.4.18). As of GMime version 2.4.18 this bug
    is fixed and these tests now pass.
  3. @cworth-gh
  4. @jrollins @cworth-gh

    use custom-face-edit value-type in notmuch-search-line-faces

    jrollins authored cworth-gh committed
    This enables the proper face customization UI for
    notmuch-search-line-faces.
Commits on Mar 21, 2011
  1. @aclements

    Fixup string list author

    aclements authored
  2. @aclements

    Add the tag list to the unified message metadata pass.

    aclements authored
    Now each caller of notmuch_message_get_tags only gets a new iterator,
    instead of a whole new list.  In principle this could cause problems
    with iterating while modifying tags, but through the magic of talloc
    references, we keep the old tag list alive even after the cache in the
    message object is invalidated.
    
    This reduces my index search from the 3.102 seconds before the unified
    metadata pass to 1.811 seconds (1.7X faster).  Combined with the
    thread search optimization in b3caef1,
    that makes this query 2.5X faster than when I started.
  3. @aclements

    Add the file name list to the unified message metadata pass.

    aclements authored
    Even if the caller never uses the file names, there is little cost to
    simply fetching the file name terms.  However, retrieving the full
    paths requires additional database work, so the expansion from terms
    to full paths is performed lazily.
    
    This also simplifies clearing the filename cache, since that's now
    handled by the generic metadata cache code.
    
    This further reduces my inbox search from 3.102 seconds before the
    unified metadata pass to 2.206 seconds (1.4X faster).
  4. @aclements

    Add a generic function to get a list of terms with some prefix.

    aclements authored
    Replace _notmuch_convert_tags with this and simplify
    _create_filenames_for_terms_with_prefix.  This will also come in handy
    shortly to get the message file name list.
  5. @aclements

    Implement an internal generic string list and use it.

    aclements authored
    This replaces the guts of the filename list and tag list, making those
    interfaces simple iterators over the generic string list.  The
    directory, message filename, and tags-related code now build generic
    string lists and then wraps them in specific iterators.  The real wins
    come in later patches, when we use these for even more generic
    functionality.
    
    As a nice side-effect, this also eliminates the annoying dependency on
    GList in the tag list.
  6. @aclements

    Use a single unified pass to fetch scalar message metadata.

    aclements authored
    This performs a single pass over a message's term list to fetch the
    thread ID, message ID, and reply-to, rather than requiring a pass for
    each.  Xapian decompresses the term list anew for each iteration, so
    this reduces the amount of time spent decompressing message metadata.
    
    This reduces my inbox search from 3.102 seconds to 2.555 seconds (1.2X
    faster).
Commits on Mar 16, 2011
  1. @jvasile @spaetz

    python: Remove completed TODO item

    jvasile authored spaetz committed
    Really just a left-over TODO item in the code, nothing spectacular to
    see here.
    
    Signed-off-by: Sebastian Spaeth <Sebastian@SSpaeth.de>
Commits on Mar 11, 2011
  1. @cworth-gh

    emacs: Define notmuch-search-process-filter-data before first use.

    cworth-gh authored
    To avoid a wraning about a reference to a free variable when compiling.
  2. @cworth-gh

    emacs: Don't drop error messages from "notmuch search"

    cworth-gh authored
    With the previous commit, unexpected output before or between search results
    would be displayed. However, trailing junk from the "notmuch search" output
    would still be silently swallowed.
    
    The most common case for an error message from "notmuch search" would be
    an invalid command-line, and in that case, there would be no search results
    and the trailing error message would get swallowed.
    
    We fix the process sentinel to check for leftover data and add it to the
    final buffer. We also add a test case to ensure this works.
  3. @cworth-gh

    emacs: Fix notmuch-search-process-filter to handle incomplete lines

    cworth-gh authored
    This fixes the recently-added emacs-large-search-buffer test. This is
    as simple as saving any trailing input and then pre-prepending it on
    the next call.
    
    MAny thanks to Thomas Schwinge <thomas@schwinge.name> for tracking
    down this problem and contributing a preliminary version of this fix.
Commits on Mar 10, 2011
  1. @cworth-gh

    emacs: Display any unexpected output from notmuch search

    cworth-gh authored
    Rather than silently swallowing unexpected output, the emacs interface will now
    display it. This will allow error messages to actually arrive at the emacs
    interface (though not in an especially pretty way). This also allows for easier
    investigation of the inadvertent swallowing of search results that span page
    boundaries (as demonstrated by the recent added emacs-large-search-buffer test).
    
    The page-boundary bug has been present since a commit from 2009-11-24:
    93af7b5
    
    Many thanks to Thomas Schwinge for tracking that bug down and
    contributing the test for it.
  2. @cworth-gh

    Rename/rewrite the new emacs-forgetfulness test (to emacs-large-searc…

    cworth-gh authored
    …h-buffer)
    
    The new name is more descriptive of the bug being tested. Also, the test
    is rewritten slightly so that it's much more plain to see how the bug
    manifests itself, (that messages are droped from the emacs result at
    regular intervals). Primarily, this is by collapsing the large blobs
    used to inflate the message subjects.
  3. @tschwinge @cworth-gh

    New test: Emacs' forgetfulness.

    tschwinge authored cworth-gh committed
    Signed-off-by: Thomas Schwinge <thomas@schwinge.name>
  4. @cworth-gh

    new: Update comments for add_files_recursive

    cworth-gh authored
    The most recent commit optimized the implementation of this
    function. This commit simply updates the relevant comments to match
    the new implementation.
  5. @karelzak @cworth-gh

    new: read db_files and db_subdirs only if mtime changed

    karelzak authored cworth-gh committed
    The db_files and db_subdirs are unnecessary for unchanged directories.
    
    maildir with 10000 e-mails:
    
    old version:
    	$ time ./notmuch new
    	No new mail.
    
    	real    0m0.053s
    	user    0m0.028s
    	sys     0m0.026s
    
    new version:
    	$ time ./notmuch new
    	No new mail.
    
    	real    0m0.032s
    	user    0m0.009s
    	sys     0m0.023s
    
    Signed-off-by: Karel Zak <kzak@redhat.com>
    
    Reviewed-by:  Austin Clements <amdragon@mit.edu>
    
    Looks good (faster than, but provably equivalent to the original code!
    notmuch_directory_get_child_* are side-effect free,
    db_files/db_subdirs aren't used between where they were set in the old
    code and where they are set in the new code, and db_files/db_subdirs
    are initialized to NULL when declared).
    
    Another timing data point:
    Old code: ./notmuch new  0.77s user 0.28s system 99% cpu 1.051 total
    New code: ./notmuch new  0.09s user 0.27s system 98% cpu 0.368 total
  6. @cworth-gh

    build: Save configure options and re-use them for automatic runs of c…

    cworth-gh authored
    …onfigure
    
    This supports the case of a user running "configure --prefix=/foo" then later
    updating the soruce (including the configure script) and re-running make.
    
    In this case, the make invocation will re-run configure. Before this change,
    this run of configure would lose the user's carefully chosen prefix. This
    is now fixed so that configrue is re-run with the user's options.
  7. @cworth-gh

    build: Fix a plain "make" to automatically run configure.

    cworth-gh authored
    The recent change to support non-source-directory builds broke this case.
  8. @cworth-gh
Commits on Mar 9, 2011
  1. @cworth-gh

    build: Add support for non-source-directory builds.

    cworth-gh authored
    Such as:
    
         mkdir build
         cd build
         ../configure
         make
    
    This is implemented by having the configure script set a srcdir
    variable in Makefile.config, and then sprinkling $(srcdir) into
    various make rules. We also use vpath directives to convince GNU make
    to find the source files from the original source directory.
  2. @cworth-gh

    TODO: Add item for the build system to support a non-source-dir build

    cworth-gh authored
    This would be a handy feature that many people would expect to just
    work.
  3. @cworth-gh

    json: Fix search result with no matches to be a valid json object.

    cworth-gh authored
    In the original json code, search matching nothing would return a
    valid, empty json array (that is, "[]"). I broke this in commit
    6dcb759 when adding support for
    --output=threads|messages|tags. This time, while fixing the bug also
    add a test to the test suite to help avoid future regressions.
  4. @cworth-gh

    test: Rename and clarify the search-lwn test

    cworth-gh authored
    Now that we understand the bug here, we rename this test to
    search-insufficient-from-quoting to clarify the bug being exercised,
    (which occurs when the From: line contains an unquoted '.' character).
    
    We also mark these tests as expected failures until the bug gets fixed.
  5. @cworth-gh

    search: Move lwn tests into their own file.

    cworth-gh authored
    Since it's much easier to debug and fix these if they can be run on
    their own.
  6. @tschwinge @cworth-gh

    Add a few tests for searching LWN emails.

    tschwinge authored cworth-gh committed
    These tests should pass -- but they currently don't.
    
    Signed-off-by: Thomas Schwinge <thomas@schwinge.name>
Commits on Feb 3, 2011
  1. @sbinet

    update for go-release-2011-02-01:

    sbinet authored
      * M bindings/go/cmds/notmuch-addrlookup.go
        log.Exitf -> log.Fatalf
Commits on Feb 2, 2011
  1. @alip
Something went wrong with that request. Please try again.