Commit Graph

1060 Commits

Author SHA1 Message Date
619fb86885 mu: Update container's pointer to last sibling when converting from a list 2014-07-15 07:25:51 +02:00
97101f1f82 mu: Prune empty container when an only child gets promoted to the root set 2014-07-15 07:25:51 +02:00
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
dc3be515af mu: Extract function for comparing two containers 2014-07-15 07:25:50 +02:00
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
856a651d38 tests: threads: Test if grandchild message promotes only its subthread 2014-07-15 07:24:47 +02:00
cbfe28b885 tests: threads: Test if grandchild message promotes its thread 2014-07-15 07:24:21 +02:00
b0357a2d7a tests: threads: Test if child message doesn't promote its thread 2014-07-15 07:23:53 +02:00
c5d4f7f338 tests: threads: Test if 2nd child message promotes its subthread 2014-07-15 07:22:53 +02:00
22927a7dcf tests: threads: Test if 1st child message promotes its thread 2014-07-15 07:22:11 +02:00
f0510fbf35 Potential fix for issue #433: make check fails on Scientific Linux 6 2014-06-05 14:07:13 +01:00
29a16d7ae1 lib/mu-str.c: squash white space ctrl chars to spaces
When processing multiple lines for a subject line separated by TAB
characters we don't want to eliminate the control character totally but
replace it with a simple space. I've left the control handling as before
for non-white space characters.

Signed-off-by: Alex Bennée <alex@bennee.com>
2014-05-06 10:04:26 +01:00
0c18a0b816 * mu: store date as 0 if it does not exist; this allows searching 2014-03-22 18:51:39 +02:00
c7b28419ab * bugfix for issue 164 2014-03-20 16:22:50 +01:00
3edf950fc2 * mu_str_asciify_in_place: fix test to decide whether to replace 2014-02-15 13:20:17 +02:00
599d641034 * lib: fix broken unit test 2014-01-15 21:27:18 +02:00
0277967b53 * mu-store-read: cleanup function a bit
(fruitlessly trying to track down
       https://code.google.com/p/mu0/issues/detail?id=80)
2013-12-21 10:14:31 -08:00
c48d290699 * minor update 2013-12-21 10:01:04 -08:00
0364433cc1 * minor 2013-12-01 20:21:44 +02:00
c36030a086 * handle message-ids a bit specially, update unit tests 2013-10-13 20:05:29 +03:00
edfdef44a4 index: improve error message when file does not seem to be an email 2013-10-13 19:58:25 +03:00
c898265ee5 * use timegm instead of the tzset hack 2013-10-07 00:50:36 +03:00
cdb1af046f * fix the mu_util_fputs_encoded/bsd heisenbug
it seems g_locale_from_utf8 behaves a bit differently on bsd/macosx,
  causing a segfault (but when run under gdb!). this code path was hit
  for messages with encoding problems in non-utf8 locales
2013-09-07 18:39:00 +03:00
af55f4cf9e * update mu_date_str_to_time_t for macos
at macos this function /seemed/ to massively leak, when looking at the
  valgrind output on macos (but not linux). with this update, this
  leak(?) is gone.
2013-09-07 13:12:28 +03:00
827dfbecdb * mu-date: small optimization 2013-09-07 12:57:53 +03:00
13bad9a889 * better error message for some broken queries 2013-09-07 09:43:33 +03:00
c30ffeea72 * small cleanups (macos) 2013-08-25 20:05:57 +03:00
f89447e65c * mu_util_fputs_encoded: updated; perhaps helps with freebsd crash? 2013-08-14 21:59:31 +03:00
885554757a * mu: some improvement in script handling 2013-07-23 22:23:27 +03:00
b7324d5af6 * cleanup: drop gmime-2.4 support 2013-07-21 14:44:44 +03:00
b17f26537b * mu: unbreak unit test after flag changes (fixes #247) 2013-07-07 10:46:35 +03:00
312c3a4b20 * cosmetic 2013-07-03 21:56:42 +03:00
3c3cd31607 * mu-str: fix a leak 2013-07-03 21:56:04 +03:00
1fcedf742c * mu-mgs-store: support the MU_FLAG_LIST flag 2013-07-03 21:55:41 +03:00
3eb748737c * mu-msg-file: set the MU_FLAG_LIST flag, if the message looks like an ML-message 2013-07-03 21:55:17 +03:00
81c3e11c48 * mu-flags: add MU_FLAG_LIST, clean-up code a bit 2013-07-03 21:54:08 +03:00
7fe37334b5 * cosmetics 2013-06-24 22:44:36 +03:00
97909566df * mu-contacts, mu-msg-file: better deal with contacts with control chars 2013-06-24 22:42:18 +03:00
6783e448aa * mu-str: add mu_str_remove_ctrl_in_place 2013-06-24 22:41:34 +03:00
bfe74d1d11 * mu: add the backend for freq information for contacts 2013-06-16 23:02:19 +03:00
42604fee00 * lib: mu-contacts: store frequency 2013-06-16 13:14:39 +03:00
fa514435ea * merge branch 'master' of github.com:djcb/mu 2013-06-13 23:56:35 +03:00
13efc74793 * mu-query: better handle empty lhs/rhs in date intervals 2013-06-03 22:29:50 +03:00
844790a2df * lib: mu date: better handling of date fields in newer xapians 2013-06-01 07:40:15 -07:00
d57b109557 * mu-str: treat '..' in non-range fields differently 2013-06-01 06:07:29 -07:00
e7c63cee47 * update some unit tests 2013-05-30 06:15:22 -07:00
b136ca0411 * try harder to match special strings 2013-05-29 07:33:17 -07:00
e97ec2d51c * fix matching backslashes, add some tests 2013-05-27 05:49:43 -07:00
bdf7ca65c7 * test-mu-maildir: fix regexp 2013-05-27 05:48:19 -07:00
c50c0695e4 * fix CSV quoting (fields with commas) 2013-05-27 04:23:49 -07:00