下記エントリで紹介されている内容に触発されて、GNU Emacs 拡張ガイド (絶賛絶版中) を Amazon のマーケットプレースで購入し、チマチマと読んでおりました。
10 年以上前(1998 年)に初版が出版されている本なので、内容的には古い(make-local-hook が呼ばれているなど) ところはあるのですが、知らないこと満載、知りたかったこと満載、特にマイナーモード、メジャーモードの作り方の作法や、syntax-table の考え方などは全く知らなかったので、買って公開はしてないです。
関数型プログラムというのは一般に副作用がないことがそのメリットに繋がるとされています*1が、Emacs Lisp はアレですね、副作用使いまくり。その副作用を打ち消すために、save-excursion や save-restriction などが用意されてるんですかね。
しかし、メジャーモードとかををバリバリ書いていらっしゃる人は、こういう知識をどこで得ているんだろう。。。info ?
*1:そう認識しています