Commit Graph

18 Commits

Author SHA1 Message Date
Jonas Bernoulli f31d1b065d Fix typos 2019-11-06 16:13:39 +01:00
djcb 67f74d44b0 cosmetic 2015-10-07 10:34:55 +03:00
djcb ace922317f threader: try to handle pathless messages 2014-10-13 09:56:39 +03:00
djcb 99f08c50c4 mu-threader: debugging for some reported problem in find_or_create 2014-10-11 14:04:17 +03: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 97101f1f82 mu: Prune empty container when an only child gets promoted to the root set 2014-07-15 07:25:51 +02:00
djcb 0364433cc1 * minor 2013-12-01 20:21:44 +02:00
djcb 855e81db99 * update copyright years 2013-03-30 11:32:07 +02:00
djcb a0d8d4f5da * use Abdo's threading improvements 2012-12-28 12:50:29 +02:00
djcb 27a80dcb67 * handle the no-matches-found case correctly 2012-12-25 20:33:02 +02:00
djcb 5d63663ac6 * back out the threading patch for now, it gives errors
ERROR:mu-container.c:182:mu_container_append_children: assertion failed: (c != child)
2012-12-23 01:14:00 +02:00
djcb 2f9dd78bb0 * add query flags (which match msgiterflags) to mu_query_run, update callers 2012-12-16 15:08:34 +02:00
djcb cbbb23c13f * Fixes for the threading algorithm (thanks to Abdó Roig)
The problem was that once a container got a parent, it did not change it anymore
  due to the child_elligible condition, but the parent might have been assigned
  from an incomplete References sequence.

  Now, we make sure the last reference gets to be the message's parent (following
  the JWZ's algorithm), reparenting the message if necessary. This makes sense, as
  the last parent-child relationship (between last ref and the message) is the
  most reliable piece of info here.

  Instead of child_elligible, we now only check that the new parent is not a
  descendant of the current message, to prevent making a loop. Everything else is
  fine, as it only moves a subtree around.
2012-12-09 13:48:22 +02:00
djcb 11ecc65109 * update (C) years 2012-10-24 11:42:57 +03:00
djcb 8ad01e4aa8 * lib: threading: pre-sort the threaded results, add some more comments 2012-10-17 17:59:33 +03:00
djcb 7fe594fb2a * cosmetics 2012-09-17 17:42:56 +03:00
djcb 46f10cfde9 * refactoring: split src/ into mu/ and lib/ 2012-05-21 09:25:53 +03:00