The following may be surprising: I don't really like this patch. I started to work on that, and after I had done ~50% of the job, I realized that it is not so good as I expected. But when you did ~%50% of the job you won't stop and drop away the result... (see Concorde -- but sometimes this is the best decision) ;-) My main goal was to simplify the code. This goal was (imho) reached. BUT there are other things I don't like in pacman code, too: For example, functions share too few results. And my patch joined alpm_splitep + alpm_depcmp -- which is not good. Before my patch the depcmp-caller split the dependency, then it could call alpm_depcmp 5000 times on the splited dep (upgrade-requiredby fro example). After my patch alpm_splitdep is called 5000 times too, which is totally needless. But at least I found some small bugs while I worked on that; so I got some benefits too ;-) Bye, ngaba