Я использую Emacs с версии 18. Emacs Lisp не является моим обычным языком программирования, но несколько лет назад я потратил некоторое время на его изучение, чтобы создать .emacs, который лучше (для меня), чем любая GUI IDE,date.
Это было разовое усилие, и с тех пор я полностью забыл, как программировать на 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 огромен, рассчитан на работу во многих различных операционных системах (и их различных разновидностях, редакциях и версиях).включая системы без графического интерфейса) без единого изменения.Хотелось бы, чтобы был core-API или подмножество, которое гарантированно всегда работало.
Есть ли действительно такой способ написать .emacs, который всегда будет поддерживать восходящую совместимость?
Если так,где я могу найти «кулинарную книгу» или авторитетные рекомендации для достижения этой цели?