Я могу порекомендовать Ruby Mode in ruby-mode.el
и Python Mode in python.el
, для некоторых аспектов их реализации. Первый является особенно хорошим источником для расширенного кода отступов и навигации, основанного на новом движке SMIE. Однако ни один из них не использует структуры данных каким-либо особенно умным или продвинутым способом.
Я также рекомендовал бы некоторые части Org Mode 8, для его дизайна. В частности, структура экспорта в Org 8 показывает, как создать универсальный расширяемый объектно-подобный каркас в простом Emacs Lisp. Тем не менее, я рекомендовал бы против большинства других частей Org, по причинам, уже указанным в комментариях: он старый и полон устаревших и вредных методов (например, find-file-noselect
для чтения файлов не в интерактивном режиме).
Говорят, что у Gnus также есть хороший код, но, опять же, я буду осторожен, чтобы определить, насколько хорошо поддерживается конкретный фрагмент кода, на который вы смотрите.
Поскольку сам Emacs очень старый и во многих местах поддерживается только поверхностно, среднее качество его кода на самом деле довольно низкое по современным стандартам. Там много унаследованных вещей. Например, даже в основных частях, таких как байтовый компилятор, вы найдете «TODO» и «DUNNO», датирующиеся годами, если не десятилетиями. Кроме того, поскольку Emacs очень медленно отбирает код и разработчиков из «внешнего» сообщества из-за ограничительных политик, установленных FSF, общее качество увеличивается только медленно.
В общем, вы, скорее всего, найдете хороший код в популярных сторонних пакетах, поддерживаемых известными членами сообщества, например, Magit, Projectile и т. Д.