После того, как я сообщил Марку, что его скрипт сортировки не работает с русскими буквами ё и Ё, у нас была переписка в несколько дней. Он выложил новый скрипт, версия 1.21, прислал мне скриншот, что всё работает. А я загружаю с сайта новую версию, запускаю, а на экране как была неправильно работающая 1.18, так и осталась. Сделал видео ему, чтобы не на словах, а визуально показать имеющуюся проблему. Я был уверен, что он просто не обновил архив.
Оказалось всё гораздо сложнее.
Сделано как-то странно, это не понятно, но неисправимо, что javascript имеет какой-то свой внутренний кэш, из которого берет ссылки на запускаемые скрипты. И ему всё равно, что я загрузил новую версию. В кэше была ссылка на скрипт с таким же названием, это был прошлый вариант в соседней папке, он его всякий раз и запускал.
Возможно, такая особенность только со скриптами из папки startup scripts.
В итоге, что надо было сделать, чтобы загрузить последнюю версию. Это важно лишь для тех, у кого на машине использовалась предыдущая, и он не видит, чтобы новая работала. Если вы впервые грузите этот скрипт, то таких проблем в принципе нет. ( или ещё нет, пока не появилось обновления
)
1. Удалить этот скрипт из startup scripts
2. Удалить его из папок, маршрут к которым может быть в этом кэше.
3. Не запуская индизайна, распаковать архив в корне пользовательской ветки скриптов.
4. Запустить скрипт в отладчике. Он отработает, будет сообщение.
(Удивительно, но именно так. Он увидел в моём видео, что индизайн был уже загружен, и сказал, что это уже причина, что тот кэш включён.)
5. После этого запускайте индизайн.
Версия 1.21 с буквами ё и Ё работает безупречно.
Не нужно никакой странной классики — сортировки по второй букве, если первая — буква Ё.
Это наша буква и она не должна быть поражена в правах в плане сортировки.
Марк поделился ссылкой на github ресурс с техническими деталями выполнения многоязычной сортировки.
IdExtenso/CHANGELOG.md at master · indiscripts/IdExtenso
Для меня это тёмный лес, но может кому-то нужна эта информация.