Commit Graph

4601 Commits

Author SHA1 Message Date
Oleh Krehel 6a8bbbd55f mu4e/mu4e-view.el (mu4e-view-open-attachment): Ensure attachments are set
Before this change, I would press "o" and `mu4e~view-attach-map' would
be nil. Now it works as expected.
2018-11-18 16:22:39 +01:00
Alex Murray 283ba93b8a Non-breaking spaces should be replaced with a space and not removed
Fixes #1339
2018-11-14 11:36:36 +10:30
djcb 509a62d7a8 mu4e: flycheck fixes in mu4e-vars.el 2018-11-12 22:03:28 +02:00
djcb 7b6bccd49a parser: avoid query parsing error
See #1261.
2018-11-11 13:15:08 +02:00
djcb e4a769ee02 mu: support json output for 'find'
Support output in json format for mu-find.
2018-11-11 12:47:47 +02:00
djcb a19b4ddb2d mu: implement mu_msg_to_json
Follows mu_msg_to_sexp, but instead uses json as the output format,
using json-glib.
2018-11-11 12:47:47 +02:00
djcb 93bd1b8ce7 mu: add soft dependency on json-glib
If it's available it will be used.
2018-11-11 12:12:36 +02:00
djcb 2aa299b3ac mu: add mu_msg_iter_is_(first|last)
This makes it a bit easier to process the output.
2018-11-11 12:11:06 +02:00
ibizaman a0c2cf2313 allow :query to accept a function returning a query string
This allows one to dynamically generate the query string, based for
example on the value of a variable.
2018-11-10 22:30:25 -08:00
djcb 700e5e76da mu4e-view: switch mode before filling message
That way, the attachment map etc. stay valid.
2018-11-07 21:24:02 +02:00
djcb 7dcb9087c2 mu4e: enable mu4e-view *before* internal processing
So, user gets a pristine message, and hashes etc. are still valid (since
they don't survive mu4e-view-mode)
2018-11-05 18:39:56 +02:00
djcb 164b9e99dd mu: fix tests Makefile.am 2018-11-05 18:39:22 +02:00
djcb 69ed3498bb mu4e: mu4e-index-updated-hook should not depend on mu4e~contacts 2018-11-04 13:20:20 +02:00
djcb 4e1cfdf668 mu4e/doc: add notes about using Hydra 2018-11-04 12:49:35 +02:00
djcb c69131e645 mu4e/doc: extend notes about speeding up indexing 2018-11-04 12:48:52 +02:00
djcb e321d15c2a mu: fake reply-to for mailing-list posts
Some mailing lists do _not_ set reply-to, see e.g.,
   https://github.com/djcb/mu/pull/1278

In that case, use the 'List-Post' address instead, so the behavior is
the same (in mu4e) as for other mailing lists.
2018-11-04 12:31:32 +02:00
djcb d5a4ba06ce mu4e: switch to mu4e-view later (internal)
When using 'internal' mode, activate mu4e-view-mode only after the
buffer has been set up, so hooks have some more interesting material to
work with.
2018-11-04 12:31:32 +02:00
djcb f333c6046d Fix leak in mu_config_show_help
valgrind to the rescue!
2018-11-04 12:31:32 +02:00
djcb 052a228be7 add optional support for building with asan 2018-11-04 12:31:32 +02:00
Dirk-Jan C. Binnema 7c63fe65eb
Merge pull request #1322 from yiufung/org-mu4e-change
org-mu4e: fix org-mu4e-store-and-capture for Org 9.0
2018-10-09 08:10:16 +03:00
Cheong Yiu Fung e0f7c4b05e org-mu4e: fix org-mu4e-store-and-capture for Org 9.0
As discussed in #947, links need to be redefined for Org 9. This is
fixed in
[b885dd3](b885dd308e). At
the same time, `org-mu4e-store-and-capture` is still using
`org-mu4e-store-link` only, so it doesn't work in Org 9. Fix it
by interactively calling `org-store-link` instead.
2018-09-21 11:55:58 +08:00
djcb f8a5daa666 gnus: handle more non-ascii
Fix character decoding issues for some (but not all) messages. This to
Chris00 for this work on this!
2018-09-02 16:43:06 +03:00
djcb 665e8e5436 mu4e: mention gmime-3.0 in instructions 2018-09-01 10:25:48 +03:00
djcb e8d7ae82e6 update mu manpage 2018-09-01 10:20:07 +03:00
djcb 16fa5d9a22 server: maybe mark updates with :maybe-view
Don't updates messages when it's not needed, but don't use :view, since
it confuses mu4e's handlers.
2018-08-18 11:40:16 +03:00
Eric Danan 6fd6d839d7 mu4e: fix action to show thread for single-window mode
When in single-window mode and invoking `mu4e-action-show-thread` from
the view buffer, stay in the headers buffer rather than going back to
the view buffer.
2018-08-18 10:59:17 +03:00
djcb aa70bf1920 Merge branch 'pr-1111'
Fix a bunch of conflicts, tests.
2018-08-18 10:29:40 +03:00
djcb c5a17a9699 mu: make attachment size tests a bit more lenient (for gmime-3.0)
Or we won't pass. Not sure what exactly explains the 2-byte diff.
2018-08-18 10:05:31 +03:00
djcb 84fce77d0a org-mu4e: small cleanups 2018-08-18 08:57:18 +03:00
Dirk-Jan C. Binnema 35d9c60a40
Merge pull request #1290 from ericdanan/org-mu4e
org-mu4e: move mu4e requirement inside org-mu4e-open
2018-08-18 08:54:17 +03:00
djcb 1d0b24afcf mu4e: activate mode before getting attachments/links
So the relevant hash-maps are valid (they would be nillified by changing
the mode otherwise).
2018-08-16 22:48:20 +03:00
Dirk-Jan C. Binnema 16619cb9a1
Merge pull request #1273 from peterwvj/patch-1
Add Ubuntu dependency
2018-08-15 08:16:23 +03:00
Dirk-Jan C. Binnema dbdf68040a
Merge pull request #1297 from aluaces/patch-1
mu4e: Tiny fix in documentation
2018-08-15 08:15:04 +03:00
djcb aafeb82a6e mu: decode rfc-2047-encoded mailing lists
Fixes #1292.

Note: does require rebuilding the mu database (--rebuild).
2018-08-14 22:38:27 +03:00
djcb abf02000ec mu4e: clean up mu4e~view-internal a bit 2018-08-14 22:20:32 +03:00
djcb 82e7d7c65d mu: better handle updating mail being viewed
instead of the the 'noupdate', add 'noview', so the headers still get
update but we don't render unread mail twice.
2018-08-14 21:59:41 +03:00
djcb 93c6ff1f85 mu: protect against overly long keys
We got some errors when some of the key values exceeded the Xapian
maximum; in particular the message-id.

So make all the key-methods check, and truncate the message-id if
necessary.
2018-08-14 21:57:33 +03:00
djcb a4398ac93d mu4e/mu: optimize mark-as-read
Since cd649efb6b, opening an unread message first does a proc-move,
then proc-view.

Reason is that while we get the (:update ... ) from the move, that only
contains a skeleton message; we need the full view get images etc. This
means that we render the message _twice_.

Here we change add a flag for move to _not_ send the (:update ..), so
only the (:view ...) will trigger rendering of the message.
2018-08-12 14:00:59 +03:00
djcb 6e646ea794 mu4e: add webrtc to mailing-lists 2018-08-12 14:00:59 +03:00
Alberto Luaces 8219a9e748
Tiny fix in documentation 2018-08-11 19:32:25 +02:00
djcb 58492f8217 mu4e: Better handle context-switching in speedbar
Repaint the contents when the context changes
2018-07-14 11:32:57 +03:00
Eric Danan 268b888226 org-mu4e: move mu4e requirement inside org-mu4e-open
This allows to defer loading mu4e. That is, if we simply put in our
init file:

(with-eval-after-load 'org
  (require 'org-mu4e))

then mu4e is only loaded if either we follow a mu4e link from an org
buffer or we call the autoloaded function `mu4e` to read our emails.

Storing org-mode links from mu4e buffers is unaffected by this change
since `org-mu4e-store-link` only applies from mu4e buffers.

Regarding the second, experimental part of org-mu4e.el about editing
mails with org-mode, I am not completely sure but I think it should
also be unaffected since it also seems to only apply from mu4e buffers.
2018-07-13 14:53:37 +02:00
Dirk-Jan C. Binnema 4807461dbe
Merge pull request #1151 from gilbertw1/fix-mark-headers-region
mu4e: Fix region bounds checking when marking headers in mu4e
2018-07-11 21:35:57 +03:00
Nicolas Avrutin eb9bfbb1ca Perform threading calculation on related set instead of entire result.
The current threading algorithm is applied to the entire result of a query, even
if maxnum is specified, and then the result of the threading algorithm is
truncated to maxnum. The improves threading results by returning the entire
thread even when only a single message makes it into the top maxnum results.

This commit applies the threading algorithm to the related message set of the
maxnum-truncated query result instead of to the entire query result. For a given
set of messages, the set of messages which will share threads with any of the
original messages is exactly the related message sets. Put another way, either
any messages returned by the original query but removed by the maxnum truncation
will also be returned by the related message query, or they would not have been
needed anyway because they would not be members of any visible thread.

To maintain backward compatibility and allow threading to be used without
including related messages, the related message set is found for the threading
calculation, but any messages which would not have matched the original query
are then pruned, resulting in a superset of the truncated query, but a subset of
the untruncated query.

This does not improve (or degrade) the run time of a threading calculation when
maxnum is not set, but significant improves it when maxnum is set by making it
scale (roughly) linearly in terms of maxnum. On a maildir with ~200k messages
and maxnum set to 500 (the default), the run time of a threading calculation is
lowered from ~1m to ~0.1s.

Perform threading calculation on related set instead of entire result.

The current threading algorithm is applied to the entire result of a query, even
if maxnum is specified, and then the result of the threading algorithm is
truncated to maxnum. The improves threading results by returning the entire
thread even when only a single message makes it into the top maxnum results.

This commit applies the threading algorithm to the related message set of the
maxnum-truncated query result instead of to the entire query result. For a given
set of messages, the set of messages which will share threads with any of the
original messages is exactly the related message sets. Put another way, either
any messages returned by the original query but removed by the maxnum truncation
will also be returned by the related message query, or they would not have been
needed anyway because they would not be members of any visible thread.

To maintain backward compatibility and allow threading to be used without
including related messages, the related message set is found for the threading
calculation, but any messages which would not have matched the original query
are then pruned, resulting in a superset of the truncated query, but a subset of
the untruncated query.

This does not improve (or degrade) the run time of a threading calculation when
maxnum is not set, but significant improves it when maxnum is set by making it
scale (roughly) linearly in terms of maxnum. On a maildir with ~200k messages
and maxnum set to 500 (the default), the run time of a threading calculation is
lowered from ~1m to ~0.1s.
2018-07-09 02:41:22 -04:00
djcb 4f6fd873fa mu4e: cleanup handler functions 2018-06-30 21:14:00 +03:00
djcb 5f45e014df mu4e: use defvar for handler functions
This allows for a little easier *overriding* them.
2018-06-29 21:33:43 +03:00
djcb 1cb3cbc94d mu4e: fix bbdb doc 2018-06-29 18:08:43 +03:00
Peter W. V. Tran-Jørgensen f25a4c141e
Add Ubuntu dependency
Had to install libtool. I'm on Ubuntu 18.04
2018-06-22 20:22:24 +02:00
djcb 5ccd261771 mu4e: speedbar: use the correct buffer 2018-06-14 11:19:50 +03:00
djcb d106e0e03b mu4e-view: ensure buffer is named *Article* (gnus mode)
Some of the gnus internal code depends on that.
2018-06-13 22:24:47 +03:00