<feed xmlns='http://www.w3.org/2005/Atom'>
<title>notmuch/emacs, branch 0.17</title>
<subtitle>thread-based email index, search, and tagging</subtitle>
<id>https://git.notmuchmail.org/git/notmuch/atom?h=0.17</id>
<link rel='self' href='https://git.notmuchmail.org/git/notmuch/atom?h=0.17'/>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/'/>
<updated>2013-11-20T22:14:35Z</updated>
<entry>
<title>emacs: show: stop stderr appearing in buffer</title>
<updated>2013-11-20T22:14:35Z</updated>
<author>
<name>Mark Walters</name>
<email>markwalters1009@gmail.com</email>
</author>
<published>2013-11-18T21:10:33Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=9c25d4bbf02d8c1902f1c166125afaf93419c3d7'/>
<id>urn:sha1:9c25d4bbf02d8c1902f1c166125afaf93419c3d7</id>
<content type='text'>
In emacs 24.3+ the stdout/stderr from externally displaying an
attachment gets inserted into the show buffer. This is caused by
changes in mm-display-external in mm-decode.el.

Ideally, we would put this output in the notmuch errors buffer but the
handler is called asynchronously so we don't know when the output will
appear. Thus if we put it straight into the errors buffer it could get
interleaved with other errors. Also we can't easily tell when we
have got all the error output so can't wait until the process is complete.

One solution would be to create a new buffer for the stderr of each
attachment viewed. Again, since we can't tell when the process has
finished, we can't close these buffers automatically so this will
leave lots of buffers around.

Thus we add a debug variable notmuch-show-attachment-debug: it this is
non-nil we create a new buffer for each viewer; if this variable is
nil we just use a temp buffer which means all error output is
discarded (this is the same behaviour as with emacs pre 24.3).
</content>
</entry>
<entry>
<title>emacs: do not put quoted reply in primary selection</title>
<updated>2013-11-20T00:18:17Z</updated>
<author>
<name>Mark Walters</name>
<email>markwalters1009@gmail.com</email>
</author>
<published>2013-11-17T12:04:09Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=4eb151e26ce06f8889c6b1ca43ca79f7bfdab26d'/>
<id>urn:sha1:4eb151e26ce06f8889c6b1ca43ca79f7bfdab26d</id>
<content type='text'>
In current emacs (24.3) select-active-regions is set to t by
default. The reply insertion code sets the region to the quoted
message to make it easy to delete (kill-region or C-w). These two
things combine to put the quoted message in the primary selection.

This is not what the user wanted and is a privacy risk (accidental
pasting of the quoted message). We can avoid some of the problems
by let-binding select-active-regions to nil. This fixes if the
primary selection was previously in a non-emacs window but not if
it was in an emacs window. To avoid the problem in the latter case
we deactivate mark.

One key test (which fails under many simpler "fixes") is: open emacs
24.3 with notmuch, open 2 windows (viewing different notmuch buffers),
highlight some text in one, and then reply to a message in the
other. In many of my earlier attempts to fix this big this test fails.
</content>
</entry>
<entry>
<title>emacs: tree: use remap for the over-ridden global bindings</title>
<updated>2013-11-14T01:47:00Z</updated>
<author>
<name>Mark Walters</name>
<email>markwalters1009@gmail.com</email>
</author>
<published>2013-11-12T20:10:59Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=9838fe8e163eae2ae4c3eb8059661004737fbc92'/>
<id>urn:sha1:9838fe8e163eae2ae4c3eb8059661004737fbc92</id>
<content type='text'>
Following a suggestion by Austin in id:20130915153642.GY1426@mit.edu
we use remap for the over-riding bindings in pick. This means that if
the user modifies the global keymap these modifications will happen in
the tree-view versions of them too.

[tree-view overrides these to do things like close the message pane
before doing the action, so the functionality is very close to the
original common keymap function.]
</content>
</entry>
<entry>
<title>emacs: help: add a special function to deal with remaps</title>
<updated>2013-11-14T01:46:50Z</updated>
<author>
<name>Mark Walters</name>
<email>markwalters1009@gmail.com</email>
</author>
<published>2013-11-12T20:10:58Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=b5f93cc0dbcd4ce37a190a0bdde2c3871a7b2709'/>
<id>urn:sha1:b5f93cc0dbcd4ce37a190a0bdde2c3871a7b2709</id>
<content type='text'>
remaps are a rather unusual keymap consisting of "first key" 'remap
and then "second-key" the remapped-function. Thus we do the
documentation for it separately.
</content>
</entry>
<entry>
<title>emacs: help: add base-keymap</title>
<updated>2013-11-14T01:46:39Z</updated>
<author>
<name>Mark Walters</name>
<email>markwalters1009@gmail.com</email>
</author>
<published>2013-11-12T20:10:57Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=8141555d2540633c9b741993b92d6b9b3030fd83'/>
<id>urn:sha1:8141555d2540633c9b741993b92d6b9b3030fd83</id>
<content type='text'>
To support key remapping in emacs help we need to know the base keymap
when looking at the remapping. keep track of this while we recurse
down the sub-keymaps in help.
</content>
</entry>
<entry>
<title>emacs: help: split out notmuch-describe-key as a function</title>
<updated>2013-11-14T01:46:32Z</updated>
<author>
<name>Mark Walters</name>
<email>markwalters1009@gmail.com</email>
</author>
<published>2013-11-12T20:10:56Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=141f3813d81bd1de9218007c77e0be1f75fcee27'/>
<id>urn:sha1:141f3813d81bd1de9218007c77e0be1f75fcee27</id>
<content type='text'>
The actual documentation function notmuch-describe-keymap was getting
rather complicated so split out the code for a single key into its own
function notmuch-describe-key.
</content>
</entry>
<entry>
<title>emacs: help: remove duplicate bindings</title>
<updated>2013-11-14T01:33:28Z</updated>
<author>
<name>Mark Walters</name>
<email>markwalters1009@gmail.com</email>
</author>
<published>2013-11-12T20:10:55Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=9d0174b11c11ca227b5666e4ce80229220b9f9e2'/>
<id>urn:sha1:9d0174b11c11ca227b5666e4ce80229220b9f9e2</id>
<content type='text'>
If the user (or a mode) overrides a keybinding from the common keymap
in one of the modes then both help lines appear in the help screen
even though only one of them is applicable.

Fix this by checking if we already have that key binding. We do this
by constructing an list of (key . docstring) pairs so it is easy to
check if we have already had that binding. Then the actual print help
routine changes these pairs into strings "key \t docstring"
</content>
</entry>
<entry>
<title>emacs: help: save-match-data</title>
<updated>2013-11-14T01:33:14Z</updated>
<author>
<name>Mark Walters</name>
<email>markwalters1009@gmail.com</email>
</author>
<published>2013-11-12T20:10:54Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=6f616bd733eaa010eb68dd588d56d5d909f1631d'/>
<id>urn:sha1:6f616bd733eaa010eb68dd588d56d5d909f1631d</id>
<content type='text'>
The routines that construct the help page in notmuch-lib rely on
match-data being preserved across some fairly complicated code. This
is currently valid but will not be when this series is finished. Thus
place everything between the string-match and replace-match inside a
save-match-data.
</content>
</entry>
<entry>
<title>emacs: help: check for nil key binding</title>
<updated>2013-11-14T01:33:05Z</updated>
<author>
<name>Mark Walters</name>
<email>markwalters1009@gmail.com</email>
</author>
<published>2013-11-12T20:10:53Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=a5ecdf390e4dca6a314cee1594ab3236ea62ca85'/>
<id>urn:sha1:a5ecdf390e4dca6a314cee1594ab3236ea62ca85</id>
<content type='text'>
A standard way to unset a key binding is local-unset-key which is equivalent to
  (define-key (current-local-map) key nil)

Currently notmuch-help gives an error and fails if a user has done this.

To fix this we only add a help line if the binding is non-nil.
</content>
</entry>
<entry>
<title>emacs: Correct documentation of `notmuch-poll-script'</title>
<updated>2013-11-14T01:27:51Z</updated>
<author>
<name>Austin Clements</name>
<email>amdragon@MIT.EDU</email>
</author>
<published>2013-11-13T03:49:53Z</published>
<link rel='alternate' type='text/html' href='https://git.notmuchmail.org/git/notmuch/commit/?id=9ecfc1c42664f7ffe68fc5f13d7011c40becaab0'/>
<id>urn:sha1:9ecfc1c42664f7ffe68fc5f13d7011c40becaab0</id>
<content type='text'>
The functions referred to in the documentation for this variable were
replaced by the unified `notmuch-poll-and-refresh-this-buffer' in
21474f0e.  Update the documentation to reflect the new function.
</content>
</entry>
</feed>
