Permalink
Commits on Oct 29, 2017
  1. configure: don't require autoconf-archive

    djcb committed Oct 29, 2017
    We ship the few macros we need or make them conditional
  2. m4: add valgrind-check macro

    djcb committed Oct 29, 2017
Commits on Oct 28, 2017
  1. mu4e: allow longer queries

    djcb committed Oct 28, 2017
    Tell base64-encode-string not to include newlines.
  2. mu4e: work around quoting issues

    djcb committed Oct 28, 2017
    Use base-64 for now.
  3. configure: update (c) year

    djcb committed Oct 28, 2017
  4. tokenizer: clean unicode-aware

    djcb committed Oct 28, 2017
  5. parser: add more tests

    djcb committed Oct 28, 2017
  6. mu4e: make mu4e-compose-crypto-reply-plain-policy nil by default

    djcb committed Oct 28, 2017
    Making it sign by default is a bit too aggressive.
  7. mu4e: small doc update

    djcb committed Oct 28, 2017
    Update dependency information.
  8. m4: include c++14 m4 macro

    djcb committed Oct 28, 2017
    some distros -- notably Ubuntu 16.04 -- do not include
    ax_cxx_compile_stdcxx_14.m4 in their autotools-archive package (since
    the macro is too new).
    
    This breaks the compilation since we need that macro to get the correct
    c++14 flags. So, let's add them ourselves, so users don't have to shop
    around for these macros themselves.
Commits on Oct 27, 2017
  1. configure.ac: use AX_CXX_COMPILE_STDCXX_14

    djcb committed Oct 27, 2017
    and just that.
  2. server: update query processing

    djcb committed Oct 27, 2017
    fix quoting issues with mu4e
  3. parser: fix some post-c++14 code

    djcb committed Oct 27, 2017
    don't require anything post c++14
  4. configure: make cxx14 mandatory

    djcb committed Oct 27, 2017
    fix macro usage
  5. configure: make compiler-check more verbose

    djcb committed Oct 27, 2017
    And explicitly raise an error if the right compiler is not found.
Commits on Oct 26, 2017
  1. query-parser: cleanup source string

    djcb committed Oct 26, 2017
    Ensure there's no non-' ' whitespace, and no trailing/leading spaces.
  2. configure: allow emacs 27.x

    djcb committed Oct 26, 2017
  3. Merge pull request #1118 from MaximeMaW/master

    djcb committed Oct 26, 2017
    mu4e: Allow to set the reply policy in a smart manner
  4. man: update mu-query

    djcb committed Oct 26, 2017
    Update documentation for new query parser
  5. mu4e: support new query parser

    djcb committed Oct 26, 2017
    maildirs with spaces
Commits on Oct 25, 2017
  1. mu4e: update docs

    djcb committed Oct 25, 2017
    note the new query parser doc
  2. mu: remove some dead code

    djcb committed Oct 25, 2017
  3. mu: update manpages

    djcb committed Oct 25, 2017
    Add some notes about the new query parser, and add a mu-query manpage.
  4. mu4e: update headers for new quoting

    djcb committed Oct 24, 2017
    update for the new query parser
  5. tests: remove obsolete tests

    djcb committed Oct 24, 2017
  6. integrate new query parser

    djcb committed Oct 24, 2017
Commits on Oct 24, 2017
  1. lib: implement new query parser

    djcb committed Oct 24, 2017
    mu's query parser is the piece of software that turns your queries
    into something the Xapian database can understand. So, if you query
    "maildir:/inbox and subject:bla" this must be translated into a
    Xapian::Query object which will retrieve the sought after messages.
    
    Since mu's beginning, almost a decade ago, this parser was based on
    Xapian's default Xapian::QueryParser. It works okay, but wasn't really
    designed for the mu use-case, and had a bit of trouble with anything
    that's not A..Z (think: spaces, special characters, unicode etc.).
    
    Over the years, mu added quite a bit of pre-processing trickery to
    deal with that. Still, there were corner cases and bugs that were
    practically unfixable.
    
    The solution to all of this is to have a custom query processor that
    replaces Xapian's, and write it from the ground up to deal with the
    special characters etc. I wrote one, as part of my "future, post-1.0
    mu" reseach project, and I have now backported it to the mu 0.9.19.
    
    From a technical perspective, this is a major cleanup, and allows us
    to get rid of much of the fragile preprocessing both for indexing and
    querying. From and end-user perspective this (hopefully) means that
    many of the little parsing issues are gone, and it opens the way for
    some new features.
    
    From an end-user perspective:
    - better support for special characters.
    - regexp search! yes, you can now search for regular expressions, e.g.
          subject:/h.ll?o/
      will find subjects with hallo, hello, halo,  philosophy, ...
    
      As you can imagine, this can be a _heavy_ operation on the database,
      and might take quite a bit longer than a normal query; but it can be
      quite useful.
  2. toys: fix compiler warnings

    djcb committed Oct 24, 2017
Commits on Sep 17, 2017
  1. cosmetic

    djcb committed Sep 17, 2017