ido makes the error of considering that `ido-matches' is always of the form '("a" "b" "c"). However, with merged directories, it could have the form '(("a" "b") "c"). This triggers many bugs. I can make a first try of a fix, but it is probably wrong and I think each modification should be carefully proofread. Thanks!