Here, I provide some material and references for emacs and lisp programming.
Much of the material on lisp is quite old, but most of it is still relevant.
Emacs
Enjoys active and sustainable development
Do you have a curiosity about emacs, but worry that it is not popular?
Check out this emacsconf video by David Wilson.
My take on this video is that sustained, active development is what is really important, and that emacs has that.
David Wilson argues that it is relatively easy for an emacs user to climb the ladder from user, to package author,
and finally to core developer. Highly challenging of course, and only possible for people of
extraordinary motivation and ability - but still easier than for other editor platforms.
Why? First of all people attracted to emacs tend to be programming savvy and motivated to contribute in the first place.
But there is another, more fundamental reason.
In most applications there is an uncrossable chasm separating users from core developers.
Imagine I were to spend the time to become a power user of LibreOffice. I would know all
the menu items, all the ways to configure it, maybe even become proficient at writing
spreadsheet macros, etc.
I would then be just a baby step away from committing improvements to the LibreOffice code base, right? No, of course not.
Configuring LibreOffice and coding its core are completely different things.
In emacs on the other hand; basic configuration, package development, and most core development are
fundamentally the same thing - writing elisp code, albeit at a different level of
complexity or sophistication.
Old is Good
Another point the David Wilson brings up in his video, is that emacs has been consistently maintained for over 40 years.
That's a good thing. It means emacs has a fighting chance to still be under active development for another 40 years.
My teaching material on emacs/elisp/lisp
I am working on some original teaching material.
Currently it is work under construction, just some notes on emacs and elisp.
rainbow-delimiters: Colors matching parens. Great package, but I suggest customizing the colors.
For a simple example see: customizeRainbowDelimiters.el;
or for something more sophisticated experiment with themes
Themes: Emacs themes allow you to customize the colors and fonts used by emacs. For example (load-theme 'lawrence t) loads the theme "lawrence". Some themes are available by default (you can use customize-themes to obtain a list); many more available at emacstheme.com, including citrusOcean designed by a student of this class.
Common Lisp Reference Works
HTML hyperlinked versions of the ANSI Common Lisp Standard, by: [LispWorks] [Franz]
Hung-Yi's Journal
Programming blog including several entries on elisp/emacs.
emacs ninja blog has a few cool technical tips.
For example that #@00 can be used to comment out the rest of an emacs lisp source file
(content from the #@00 to EOF is ignored).