Commit Graph

3678 Commits

Author SHA1 Message Date
djcb ac023b74a7 mu-msg-crypto: give better error when gpg is not found
also fixes some other warnings
2014-10-11 14:05:08 +03:00
djcb 99f08c50c4 mu-threader: debugging for some reported problem in find_or_create 2014-10-11 14:04:17 +03:00
djcb 182974bbc7 mu-cmd-server: fix compilating warning (BSD_SOURCE)
Fedora-21's gcc started complaining about this
2014-10-11 14:03:31 +03:00
Foivos S. Zakkak 51037be7fb Fix #186 Part 3
This patch fixes the attachment extraction (open, save, temp) when using
`mu4e`.  `mu4e` used to not notify the mu-server about the
mu4e-decryption-policy.  As a result mu-server did not decrypt the
attachments for extract, open, or temp.
2014-10-10 18:34:57 +03:00
Foivos S. Zakkak 91250b0d71 Fix #186 part 2
This patch fixes the attachment listing when using `mu`.  For some
reason the '--decrypt' option among others where totally ignored when
listing the attachments.
2014-10-10 18:32:53 +03:00
Foivos S. Zakkak 29e53d2eba Fix gpg decryption (#186)
After a multipart/encrypted part gets decrypted the result is usually a
`multipart/mixed` part (see enigmail).

Before this commit mime multiparts where handled only by
`g_mime_message_foreach`.  As a result the decrypted mime multiparts
where not processed.

This patch handles mime multiparts explicitly by removing the
`g_mime_message_foreach` invocations.  This might come at the cost of
reduced maintainability, in the case of radical gmime changes.  However,
gmime is pretty stable and that scenario is highly unlikely.

TODO: After decryption make any attachments available
2014-10-10 07:48:24 +03:00
Dirk-Jan C. Binnema ad0f14ff3b Merge pull request #476 from zakkak/patch-1
Fix typo
2014-10-09 08:23:33 +03:00
Jon Miller ea5e9b6b3b Updated html export to org v8 standards
Replaced use of org-export-string with org-export-string-as to match
updated org coding standards.

This specifically addresses issue #391
2014-10-02 18:40:33 -07:00
Oliver Dunkl ce0006721a Add different face attribute for the mode-line
There is an additional face attribute for the mode-line.
2014-10-02 06:31:10 +02:00
djcb ff25bf1a25 Don't use g_clear_pointer yet, it's too new.
Do it the old way.
2014-09-26 15:22:07 +03:00
Foivos c8a9046c8e Fix typo 2014-09-25 23:11:30 +03:00
djcb 1a19abdc8a Allow for gmime-2.6.7
See a86138a5. Apparently gmime 2.6.7 works fine as well.
2014-09-25 22:34:43 +03:00
djcb 7ef2deffeb Allow delete keybinding in console view-mode
Or, fix typo
2014-09-24 23:47:46 +03:00
djcb d042d8be89 Document that mu4e-maildir must not be a symlink ('fixes' #453)
mu doesn't support symlinks; document this. You can use hardlinks
instead of course.
2014-09-23 07:52:15 +03:00
djcb 3c7061338d Rework getting database version (#469)
It seems we don't get the correct database version in some case with
some compilers, optimization flags. Suspecting some stale ->c_str().
2014-09-23 07:32:39 +03:00
djcb 7888ba38f0 Bump version to 0.9.10 2014-09-23 07:31:43 +03:00
djcb 54a6ef7401 Some documentation fixes
(Thanks to Joe Corneli)
2014-09-23 02:40:35 +03:00
djcb a86138a5b4 Check for specific gmime-2.6 version (fixes #473)
Apparently, some gmime-2.5 versions match gmime-2.6 (pkgconfig) but
don't have the required API.

2.6.10 (2+ years old) is reported to work; test for this.
2014-09-23 00:41:12 +03:00
djcb efb40abaa1 Guard against nil in mu4e~guess-maildir (Fixes #472)
Add a guard so we don't error out if string-match evaluates to nil
2014-09-23 00:36:31 +03:00
Dirk-Jan C. Binnema ea5bbdf830 Merge pull request #463 from jsitnicki/thread-sort-fixes
Remove empty container after promoting its children to siblings
2014-09-09 10:21:44 -07:00
djcb 9bd65560a5 mu4e: make including dates in drafts optional (and disabled by default)
Add new configuration variable `mu4e-compose-auto-include-date'.
2014-09-02 06:10:38 -07:00
djcb 003b7a7b7a Merge branch 'master' of github.com:djcb/mu 2014-09-02 06:10:17 -07:00
Dirk-Jan C. Binnema 5ea37e5313 Merge pull request #464 from anadrome/master
mu4e.texi: minor documentation update
2014-09-02 05:18:59 -07:00
djcb 068e459cc4 mu4e.texi: add hint about getting fields from raw messages
from a mailing-list reply, a quick & dirty way to get arbitrary headers
from a message.
2014-09-02 05:15:25 -07:00
djcb 08bd686903 Merge branch 'master' of github.com:djcb/mu 2014-09-01 20:13:57 -07:00
djcb facf370e5d mu4e.texi: fix typo 2014-09-01 20:13:00 -07:00
djcb b24515d94e * small doc fix 2014-08-31 15:26:31 -07:00
mjn 42d589e663 * mu4e: minor documentation update
Updating documentation to mention the second default keybinding for
'mu4e-headers-mark-for-something, '*', which was introduced in commit
c581468ac3.
2014-08-21 04:11:39 +02:00
Jakub Sitnicki c9cb27be11 mu: Make mu_container_splice_grandchildren() do only one thing
Don't kill the resultant childless container when promoting its
children. This unifies the behavior of mu_container_splice_*()
functions.
2014-08-15 10:11:21 +02:00
Jakub Sitnicki bb0cc542b8 mu: Prune empty containers from the root set after splicing their children
When the root set contains only one empty container with one child
first promote the child container to the root set and only then
remove the empty parent container so that the root set never goes
empty.

Also make mu_container_splice_children() do only one thing, that is
promote one container's children to be another container's siblings.
The resultant childless container is no longer removed by this
function.

Fixes #460.
2014-08-15 10:10:39 +02:00
Jakub Sitnicki ede481d4c0 mu: Test splicing child containers when there is only one thread
This test reproduces a regression introduced by commit 97101f1f82
("mu: Prune empty container when an only child gets promoted to the
root set").

When the results of a mu-find query contain only a one thread:

$ mu find --threads --fields 'd s' ''
Sat 09 Aug 2014 07:00:00 PM CEST [mu4e] Test Message
  `-> Sat 09 Aug 2014 08:30:00 PM CEST Re: [mu4e] Test Message

... and we narrow down the query in such a way that the root message
gets excluded, then a crash occurs:

$ mu find --threads --fields 'd s' '' date:2014-08-09/20:00..2014-08-09/21:00
**
ERROR:mu-container.c:117:mu_container_append_siblings: assertion failed: (c)
Aborted (core dumped)

Reported-by: Josiah Schwab <jschwab@gmail.com>
2014-08-15 10:10:39 +02:00
djcb d4be790445 * mu4e: minor doc fixes 2014-08-11 23:20:27 +03:00
Dirk-Jan C. Binnema c3a7e99934 Merge pull request #459 from anadrome/master
* mu4e: lightly copyedit the documentation and docstrings
2014-08-11 23:18:30 +03:00
djcb 3f077cc86d Revert "* bump version to 0.9.9.6"
This reverts commit ab58307fea.
2014-08-11 20:43:34 +03:00
mjn c99ccf9a19 Lightly copyedit the documentation and docstrings 2014-08-08 13:18:29 +02:00
Dirk-Jan C. Binnema daa46612ab Merge pull request #455 from jsitnicki/thread-sort
* Thread sorting by most recent message - rewrite for speed
2014-08-03 21:37:36 +03:00
Jakub Sitnicki 32f5c8b1f6 mu: Sort containers by comparing their subtree leaders
Traverse the container tree depth first and for each container find
the node in the subtree rooted at this container which comes first in
the descending sort order. Remember it as the subtree leader. Then,
while sorting siblings, compare their subtree leaders instead of the
sibling containers themselves.

IOW, make threads containing the newest message float to the top when
sorting by date in the descending order.

There is no significant performance degradation when sorting a
mailbox with ~16k messages:

$ mu find maildir:/INBOX | wc -l
16503

Current state:

$ perf stat --event=task-clock --repeat=10 -- \
  mu find maildir:/INBOX -n 1 -t > /dev/null

 Performance counter stats for 'mu find maildir:/INBOX -n 1 -t' (10 runs):

       1231.761588      task-clock (msec)         #    0.996 CPUs utilized            ( +-  1.02% )

       1.236209133 seconds time elapsed                                          ( +-  1.08% )

With patch applied:

$ perf stat --event=task-clock --repeat=10 -- \
  mu find maildir:/INBOX -n 1 -t > /dev/null

 Performance counter stats for 'mu find maildir:/INBOX -n 1 -t' (10 runs):

       1459.883316      task-clock (msec)         #    0.998 CPUs utilized            ( +-  0.72% )

       1.462540088 seconds time elapsed                                          ( +-  0.77% )

This implements https://github.com/djcb/mu/issues/164.
2014-07-15 07:25:51 +02:00
Jakub Sitnicki 619fb86885 mu: Update container's pointer to last sibling when converting from a list 2014-07-15 07:25:51 +02:00
Jakub Sitnicki 97101f1f82 mu: Prune empty container when an only child gets promoted to the root set 2014-07-15 07:25:51 +02:00
Jakub Sitnicki f724f4a57d mu: Consider an empty container to be less than anything else
Reasoning being that, arguably, it is the least surprising thing to do.
2014-07-15 07:25:50 +02:00
Jakub Sitnicki dc3be515af mu: Extract function for comparing two containers 2014-07-15 07:25:50 +02:00
Jakub Sitnicki d93b8135a6 Revert "* bugfix for issue 164"
This reverts commit c7b28419ab.

The reverted change fails to sort threads correctly when there is an
empty container, serving as a parent to orphan messages, in the thread
tree as demonstrated by the test in commit f49296759e ("tests:
threads: Test if orphan message promotes its thread").

Also, the reverted commit introduces a performance hit. The time it
takes to sort threads has increased roughly by a factor of 4.

Current state:

$ perf stat --event=task-clock --repeat=10 -- \
  mu find maildir:/INBOX -n 1 -t > /dev/null

 Performance counter stats for 'mu find maildir:/INBOX -n 1 -t' (10 runs):

       4967.692519      task-clock (msec)         #    1.000 CPUs utilized            ( +-  0.14% )

       4.969247128 seconds time elapsed                                          ( +-  0.14% )

With the reverted patch applied:

$ perf stat --event=task-clock --repeat=10 -- \
  mu find maildir:/INBOX -n 1 -t > /dev/null

 Performance counter stats for 'mu find maildir:/INBOX -n 1 -t' (10 runs):

       1231.761588      task-clock (msec)         #    0.996 CPUs utilized            ( +-  1.02% )

       1.236209133 seconds time elapsed                                          ( +-  1.08% )

The benchmark was ran on a maildir with ~16k messages:

$ mu find maildir:/INBOX | wc -l
16503
2014-07-15 07:24:56 +02:00
Jakub Sitnicki 856a651d38 tests: threads: Test if grandchild message promotes only its subthread 2014-07-15 07:24:47 +02:00
Jakub Sitnicki cbfe28b885 tests: threads: Test if grandchild message promotes its thread 2014-07-15 07:24:21 +02:00
Jakub Sitnicki b0357a2d7a tests: threads: Test if child message doesn't promote its thread 2014-07-15 07:23:53 +02:00
Jakub Sitnicki f49296759e tests: threads: Test if orphan message promotes its thread 2014-07-15 07:23:27 +02:00
Jakub Sitnicki c5d4f7f338 tests: threads: Test if 2nd child message promotes its subthread 2014-07-15 07:22:53 +02:00
Jakub Sitnicki 22927a7dcf tests: threads: Test if 1st child message promotes its thread 2014-07-15 07:22:11 +02:00
Jakub Sitnicki 80a484dc3f tests: threads: Extract helper for checking thread info for each message 2014-07-15 07:19:25 +02:00
Jakub Sitnicki 4c4b9af762 tests: threads: Extract helpers for initializing and comparing thread info 2014-07-07 06:22:31 +02:00