https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69968
--- Comment #2 from David Malcolm <dmalcolm at gcc dot gnu.org> --- (In reply to Richard Biener from comment #1) > but the distance from coorzd1 to coordz1 should be 2 one deletion and one > insertion. Why's that not found? I think the distance given in the initial comment is slightly wrong, sorry. AIUI, with Levenshtein as the distance metric, *all* of the fields have distance 2 (rather than 3): "coorzd1" to "coordx" can be reached by a deletion and a substitution: coorzd1 -> coord1 -> coordx (Levenshtein distance = 2) Similarly for all "coord{xyz}": coorzd1 -> coord1 -> coord{xyz} (Levenshtein distance = 2) For "coord{xyz}1" we have: coorzd1 -> coord1 -> coord{xyz}1 (Levenshtein distance = 2) i.e. all fields have Levenshtein distance of 2 from "coorzd1". With Damerau-Levenshtein, we'd have (I think): coorzd1 -> coorzd1 (Damerau-Levenshtein distance = 1) coorzd1 -> coord1 -> coord{xy}[1] (Damerau-Levenshtein distance = 2) coorzd1 -> coordz1 -> coordz (Damerau-Levenshtein distance = 2) and hence "coorzd1" would be uniquely closer to "coorzd1" than all of the other 5 fields. (using http://www.let.rug.nl/kleiweg/lev/, and adjusting all weights to 1)