Самый простой метод (поскольку базовый метод сортировки не гарантированно стабилен) - это вычисление дополнительного столбца, который содержит составной ключ сравнения , который объединяет два значения, затемСортировка по этому столбцу и, наконец, удаление столбца впоследствии.
$m add column [lmap primary [$m get column 1] secondary [$m get column 2] {
# There are many ways to make collation keys; here's one suitable for simple words...
string cat $primary "," $secondary
}]
# Sort the rows by the final (new!) column
$m sort rows end
# Delete the no-longer-needed column
$m delete column end