<feed xmlns='http://www.w3.org/2005/Atom'>
<title>notmuch/emacs/notmuch.el, branch 0.34</title>
<subtitle>thread-based email index, search, and tagging</subtitle>
<id>https://git.notmuchmail.org/git/notmuch/atom?h=0.34</id>
<link rel='self' href='https://git.notmuchmail.org/git/notmuch/atom?h=0.34'/>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/'/>
<updated>2021-09-11T13:16:47Z</updated>
<entry>
<title>emacs: wrap process-lines</title>
<updated>2021-09-11T13:16:47Z</updated>
<author>
<name>David Bremner</name>
<email>david@tethera.net</email>
</author>
<published>2021-08-29T19:23:29Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=a890241138ea468f8a275941b02da39b4e894c1e'/>
<id>urn:sha1:a890241138ea468f8a275941b02da39b4e894c1e</id>
<content type='text'>
Initially just set the working directory, to avoid (the implicit)
call-process crashing when the default-directory points to a
non-existent location.

Use of a macro here is over-engineering for this change, but the same
change needs to be applied to several other process creation
primitives.
</content>
</entry>
<entry>
<title>emacs: Allow functions in notmuch-search-result-format</title>
<updated>2021-09-09T01:59:48Z</updated>
<author>
<name>David Edmondson</name>
<email>dme@dme.org</email>
</author>
<published>2021-02-21T15:19:01Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=4f4ec48df25c8d2963e7124d2781b13e5a7f6a78'/>
<id>urn:sha1:4f4ec48df25c8d2963e7124d2781b13e5a7f6a78</id>
<content type='text'>
If the car of an element in notmuch-search-result-format is a
function, insert the result of calling the function into the buffer.

This allows a user to generate custom fields in the output of a search
result. For example, with:

(defun -notmuch-result-flags (format-string result)
  (let ((tags-to-letters '(("flagged" . "!")
			   ("unread" . "u")
			   ("mine" . "m")
			   ("sent" . "s")
			   ("replied" . "r")))
	(tags (plist-get result :tags)))

    (format format-string
	    (mapconcat (lambda (t2l)
			 (if (member (car t2l) tags)
			     (cdr t2l)
			   " "))
		       tags-to-letters ""))))

(setq notmuch-search-result-format '((-notmuch-result-flags . "%s ")
				     ("date" . "%12s ")
				     ("count" . "%9s ")
				     ("authors" . "%-30s ")
				     ("subject" . "%s ")
				     ("tags" . "(%s)")))

The first few characters on each line of the search result are used to
show information about some significant tags associated with the
thread.
</content>
</entry>
<entry>
<title>emacs: Use pcase in notmuch-search-insert-field</title>
<updated>2021-09-09T01:59:25Z</updated>
<author>
<name>David Edmondson</name>
<email>dme@dme.org</email>
</author>
<published>2021-02-21T15:19:00Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=071fb57a35fa330785f75c26734133732560414e'/>
<id>urn:sha1:071fb57a35fa330785f75c26734133732560414e</id>
<content type='text'>
Rather than lots of string-equal calls, use the pcase macro.
</content>
</entry>
<entry>
<title>emacs: fix some option type declarations</title>
<updated>2021-08-30T00:45:05Z</updated>
<author>
<name>Jonas Bernoulli</name>
<email>jonas@bernoul.li</email>
</author>
<published>2021-07-19T11:31:07Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=01298a8437df75f0cd693f0e0547def940dc0aa3'/>
<id>urn:sha1:01298a8437df75f0cd693f0e0547def940dc0aa3</id>
<content type='text'>
Also improve their doc-strings.
</content>
</entry>
<entry>
<title>CLI: define and use format version 5</title>
<updated>2021-08-22T14:05:13Z</updated>
<author>
<name>David Bremner</name>
<email>david@tethera.net</email>
</author>
<published>2021-08-22T00:00:11Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=731697d671749a13634a2a4b843ce62f2927f64f'/>
<id>urn:sha1:731697d671749a13634a2a4b843ce62f2927f64f</id>
<content type='text'>
This is a bit of a cheat, since the format does not actually
change. On the other hand it is fairly common to do something like
this to shared libary SONAMEs when the ABI changes in some subtle way.
It does rely on the format-version argument being early enough on the
command line to generate a sensible error message.
</content>
</entry>
<entry>
<title>emacs: fix declare-function definitions with related line breaks</title>
<updated>2021-06-05T11:24:51Z</updated>
<author>
<name>Tomi Ollila</name>
<email>tomi.ollila@iki.fi</email>
</author>
<published>2021-01-16T17:17:09Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=03366a3c5aa313de41bddd61dedc5b5c002e0469'/>
<id>urn:sha1:03366a3c5aa313de41bddd61dedc5b5c002e0469</id>
<content type='text'>
- declare-function notmuch-unthreaded lacked file name
- declare-function notmuch-search had differently named last arg
  - note: check-declare-directory did not complain about that
- declare-function notmuch-search-show-thread without nil
- some functions declared to be in different file than those
  existed ("notmuch" -&gt; "notmuch-lib")

- some related function/declare lines were (/are now) wider than
  80-columns; added line breaks (and proper indentation) there
</content>
</entry>
<entry>
<title>emacs: drop setting mail-user-agent, and document how to set it</title>
<updated>2021-06-04T23:05:31Z</updated>
<author>
<name>David Bremner</name>
<email>david@tethera.net</email>
</author>
<published>2021-06-04T23:05:31Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=d7ddfa0d0ec62c10ecd60779ca1edd9b6973593b'/>
<id>urn:sha1:d7ddfa0d0ec62c10ecd60779ca1edd9b6973593b</id>
<content type='text'>
After some discussion [1], I decided it is better to make notmuch users
who rely on this behaviour customize mail-user-agent. This is
consistent with the behaviour of other emacs mail packages.

[1]: id:87k0nuhfrk.fsf@toryanderson.com
</content>
</entry>
<entry>
<title>emacs: When completing tags, offer each tag once</title>
<updated>2021-02-05T14:12:53Z</updated>
<author>
<name>David Edmondson</name>
<email>dme@dme.org</email>
</author>
<published>2021-02-03T09:10:20Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=8b7c09c66bbae35c52150a5ee81b94a82b2b3054'/>
<id>urn:sha1:8b7c09c66bbae35c52150a5ee81b94a82b2b3054</id>
<content type='text'>
When prompting for one or more tags to add or remove to/from one or
more threads, ensure that the set of tags offered for completion
contains no duplicates.

Some completion packages (e.g. selectrum) will include every member of
the offered list, resulting in the same tag being indicated as a
possibility several times.
</content>
</entry>
<entry>
<title>emacs: use string-empty-p</title>
<updated>2021-01-15T10:47:28Z</updated>
<author>
<name>Jonas Bernoulli</name>
<email>jonas@bernoul.li</email>
</author>
<published>2021-01-10T14:01:09Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=371f481d93073cad23f7ce8579a83a4db09147ef'/>
<id>urn:sha1:371f481d93073cad23f7ce8579a83a4db09147ef</id>
<content type='text'>
</content>
</entry>
<entry>
<title>emacs: improve how cl-lib and pcase are required</title>
<updated>2021-01-15T10:46:38Z</updated>
<author>
<name>Jonas Bernoulli</name>
<email>jonas@bernoul.li</email>
</author>
<published>2021-01-10T14:01:07Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=9ca1f945d9f5030600dc14ffff10d4dad14db4ca'/>
<id>urn:sha1:9ca1f945d9f5030600dc14ffff10d4dad14db4ca</id>
<content type='text'>
We need to load `cl-lib' at run-time because we use more from it than
just macros.  Never-the-less many, but not all libraries required it
only at compile-time, which we got away with because at least some
libraries already required it at run-time as well.

We use `cl-lib' and (currently to a lesser extend) `pcase' throughout
the code-base, which means that we should require these features in
most libraries.

In the past we tried to only require these features in just the
libraries that actually need them, without fully succeeding.  We did
not succeed in doing so because that means we would have to check
every time that we use a function from these features whether they
are already being required in the current library.

An alternative would be to add the `require' forms at the top of every
library but that is a bit annoying too.

In order to make sure that these features are loaded when needed but
also to keep the noise down we only require them in "notmuch-lib.el",
which most other libraries require, and in most of the few libraries
that do not do so, namely "notmuch-draft.el", "notmuch-message.el" and
"notmuch-parser.el".  ("coolj.el", "make-deps.el", various generated
libraries, and "notmuch-compat.el" are left touched.)
</content>
</entry>
</feed>
