Próbuję zapoznać się z Emacsem Lispem, jego składnią, strukturami danych itp., Więc zastanawiałem się, jakie są niektóre wbudowane pakiety, których źródło może pomóc mi lepiej zrozumieć, jak używać języka i nauczyć się jego idiomów?
12
info
plik? Niektóre wbudowane funkcje są wyjaśnione i szczegółowe.Odpowiedzi:
W niektórych aspektach ich implementacji mogę polecić tryb Ruby
ruby-mode.el
i Python Modepython.el
. To pierwsze jest szczególnie doskonałym źródłem zaawansowanego wcięcia i kodu nawigacyjnego opartego na nowym silniku SMIE. Jednak żadne z nich nie wykorzystuje struktur danych w żaden szczególnie sprytny lub zaawansowany sposób.Poleciłbym również niektóre części Org Mode 8 ze względu na jego konstrukcję. W szczególności struktura eksportera w Org 8 pokazuje, jak stworzyć ogólną, rozszerzalną, obiektową strukturę w zwykłym Emacs Lisp. Odradzałbym jednak większość innych części Organizacji, z powodów już podanych w komentarzach: Jest stary, pełen starych i szkodliwych praktyk (np.
find-file-noselect
Do odczytu plików w sposób nieinteraktywny).Mówi się również, że Gnus ma dobry kod, ale ponownie będę ostrożny, aby określić, jak dobrze utrzymany jest dany fragment kodu, na który patrzysz.
Ponieważ sam Emacs jest bardzo stary i w wielu miejscach utrzymywany tylko powierzchownie, średnia jakość jego kodu jest w rzeczywistości raczej niska jak na współczesne standardy. Jest tam wiele starszych rzeczy. Na przykład, nawet w podstawowych częściach, takich jak kompilator bajtów, znajdziesz „TODO” i „DUNNO” datowane na lata, jeśli nie dekady. Ponadto, ponieważ Emacs bardzo wolno pobiera kod i programistów ze społeczności „zewnętrznej” z powodu restrykcyjnych zasad ustanowionych przez FSF, ogólna jakość rośnie tylko powoli.
Podsumowując, bardziej prawdopodobne jest, że znajdziesz dobry kod w popularnych pakietach stron trzecich utrzymywanych przez głośnych członków społeczności, np. Magit, Projectile itp.
źródło
debbugs
?) ...Po podstawowe idiomy zajrzyj do simple.el
źródło