Я использую Emacs с версии 18. Emacs Lisp не является моим обычным языком программирования, но много лет назад я потратил некоторое время на его изучение. смысл создания .emacs, который лучше (для меня), чем любая GUI IDE на сегодняшний день.
Это была единовременная попытка, и с тех пор я полностью забыл, как программировать на lisp.
Увы, каждый раз, когда я обновляю свой Emacs (18> 19> 20> 21> 22> 23), что-то в моем .emacs ломается, и я трачу слишком много часов (иногда дней) на их исправление.
На многих других языках, на которых я программирую регулярно, можно написать код, который никогда не устареет. С другой стороны, в emacs я никогда не могу предсказать, как что-то изменится. Например, [M-TAB]
, который работал до версии 21.4.1, больше не работает в версии 23 и должен быть заменен на "\ M- \ t"
. Другой пример - dired-omit-toggle
, который работал в версии 21, но перестал работать в версии 22, будучи замененным на dired-omit-mode
.
Теперь я знаю, что если .emacs мало что делает, можно написать «почти пустой» .emacs, который (вероятно) останется совместимым с будущими версиями.
Но мой.emacs огромен, он предназначен для работы во многих различных операционных системах (и их различных разновидностях, редакциях и версиях, включая системы без графического интерфейса пользователя) без единого изменения. Хотелось бы, чтобы было ядро-API или подмножество, которое гарантированно всегда работало.
Действительно ли существует такой способ написать .emacs, который всегда будет поддерживать восходящую совместимость?
Если да, то где я могу найти «поваренную книгу» или авторитетные инструкции по выполнению этого?