<feed xmlns='http://www.w3.org/2005/Atom'>
<title>notmuch/lib/regexp-fields.cc, branch 0.36</title>
<subtitle>thread-based email index, search, and tagging</subtitle>
<id>https://git.notmuchmail.org/git/notmuch/atom?h=0.36</id>
<link rel='self' href='https://git.notmuchmail.org/git/notmuch/atom?h=0.36'/>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/'/>
<updated>2022-03-19T10:27:29Z</updated>
<entry>
<title>lib: do not phrase parse prefixed bracketed subexpressions</title>
<updated>2022-03-19T10:27:29Z</updated>
<author>
<name>David Bremner</name>
<email>david@tethera.net</email>
</author>
<published>2022-02-25T02:41:03Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=8ed6a172b35708428f84f30af44fa81c12852e43'/>
<id>urn:sha1:8ed6a172b35708428f84f30af44fa81c12852e43</id>
<content type='text'>
Since Xapian does not preserve quotes when passing the subquery to a
field processor, we have to make a guess as to what the user
intended. Here the added assumption is that a string surrounded by
parens is not intended to be a phrase.
</content>
</entry>
<entry>
<title>lib: drop trailing slash for path and folder searches (infix)</title>
<updated>2022-01-27T11:48:27Z</updated>
<author>
<name>David Bremner</name>
<email>david@tethera.net</email>
</author>
<published>2022-01-21T23:38:51Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=c62c22c9fb222d43d9b9956ce6b6e9985019ea2d'/>
<id>urn:sha1:c62c22c9fb222d43d9b9956ce6b6e9985019ea2d</id>
<content type='text'>
This resolves an old bug reported by David Edmondson in 2014. The fix
is only needed for the "boolean" case, as probabilistic / phrase
searching already ignores punctuation.

This fix is only for the infix (xapian provided) query parser.

[1]: id:cunoasuolcv.fsf@gargravarr.hh.sledj.net
</content>
</entry>
<entry>
<title>lib: factor out query construction from regexp</title>
<updated>2021-09-05T00:07:19Z</updated>
<author>
<name>David Bremner</name>
<email>david@tethera.net</email>
</author>
<published>2021-08-24T15:17:28Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=5cb452c325e1f69e43dca610f48b9396cba9c039'/>
<id>urn:sha1:5cb452c325e1f69e43dca610f48b9396cba9c039</id>
<content type='text'>
This will allow re-use of this code outside of the Xapian query parser.
</content>
</entry>
<entry>
<title>build: drop support for xapian versions less than 1.4</title>
<updated>2020-04-24T00:28:45Z</updated>
<author>
<name>Tomi Ollila</name>
<email>tomi.ollila@iki.fi</email>
</author>
<published>2020-04-21T21:07:29Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=00cdfe10717020423870fdaf56e973db9aba9f5a'/>
<id>urn:sha1:00cdfe10717020423870fdaf56e973db9aba9f5a</id>
<content type='text'>
Xapian 1.4 is over 3 years old now (1.4.0 released 2016-06-24),
and 1.2 has been deprecated in Notmuch version 0.27 (2018-06-13).

Xapian 1.4 supports compaction, field processors and retry locking;
conditionals checking compaction and field processors were removed
but user may want to disable retry locking at configure time so it
is kept.
</content>
</entry>
<entry>
<title>lib: run uncrustify</title>
<updated>2019-06-14T10:41:27Z</updated>
<author>
<name>uncrustify</name>
<email>david@tethera.net</email>
</author>
<published>2019-06-13T10:55:35Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=2b62ca2e3b786beca8d89fa737bda0b49faa638d'/>
<id>urn:sha1:2b62ca2e3b786beca8d89fa737bda0b49faa638d</id>
<content type='text'>
This is the result of running

     $ uncrustify --replace --config ../devel/uncrustify.cfg *.c *.h *.cc

in the lib directory
</content>
</entry>
<entry>
<title>lib: use phrase search for anything not ending in '*'</title>
<updated>2019-03-28T17:34:37Z</updated>
<author>
<name>David Bremner</name>
<email>david@tethera.net</email>
</author>
<published>2018-09-30T16:27:55Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=d25dcc589ce4c1a87d698c6aef1ce3e38e4a50bb'/>
<id>urn:sha1:d25dcc589ce4c1a87d698c6aef1ce3e38e4a50bb</id>
<content type='text'>
Anything that does not look like a wildcard should be safe to
quote. This should fix the problem searching for xapian keywords.
</content>
</entry>
<entry>
<title>Prepend regerror() messages with "regexp error: "</title>
<updated>2019-03-12T01:24:55Z</updated>
<author>
<name>Luis Ressel</name>
<email>aranea@aixah.de</email>
</author>
<published>2019-03-11T17:14:49Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=9f7e851263b96acacc9ea542e9f5d837563fea05'/>
<id>urn:sha1:9f7e851263b96acacc9ea542e9f5d837563fea05</id>
<content type='text'>
The exact error messages returned by regerror() aren't standardized;
relying on them isn't portable. Thus, add a a prefix to make clear that
the subsequent message is a regexp parsing error, and only look for this
prefix in the test suite, ignoring the rest of the message.
</content>
</entry>
<entry>
<title>lib: Add regexp expansion for for tags and paths</title>
<updated>2017-05-09T10:44:29Z</updated>
<author>
<name>David Bremner</name>
<email>david@tethera.net</email>
</author>
<published>2017-03-08T02:32:26Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=11d47950c18f2d19718e35b7264dabf2ff2fd621'/>
<id>urn:sha1:11d47950c18f2d19718e35b7264dabf2ff2fd621</id>
<content type='text'>
From a UI perspective this looks similar to what was already provided
for from, subject, and mid, but the implementation is quite
different. It uses the database's list of terms to construct a term
based query equivalent to the passed regular expression.
</content>
</entry>
<entry>
<title>lib: Add regexp searching for mid: prefix</title>
<updated>2017-05-09T10:44:15Z</updated>
<author>
<name>David Bremner</name>
<email>david@tethera.net</email>
</author>
<published>2017-02-15T12:58:28Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=eab365c742f86b52729ec2a5acaba1a798f94661'/>
<id>urn:sha1:eab365c742f86b52729ec2a5acaba1a798f94661</id>
<content type='text'>
The bulk of the change is passing in the field options to the regexp
field processor, so that we can properly handle the
fallback (non-regexp case).
</content>
</entry>
<entry>
<title>lib: handle empty string in regexp field processors</title>
<updated>2017-03-29T23:44:32Z</updated>
<author>
<name>David Bremner</name>
<email>david@tethera.net</email>
</author>
<published>2017-03-24T22:52:51Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=cb84f8487833c19ce13edb769fa6421547077725'/>
<id>urn:sha1:cb84f8487833c19ce13edb769fa6421547077725</id>
<content type='text'>
The non-field processor behaviour is is convert the corresponding
queries into a search for the unprefixed terms. This yields pretty
surprising results so I decided to generate a query that would match
the terms (i.e. none with that prefix) generated for an empty header.
</content>
</entry>
</feed>
