Sacha Chua has a great video chat with John Wiegley on Elisp development. If you work with Elisp, you really should spend the time to watch it.
Chua and Wiegley start by discussing paredit and its capabilities. I’ve been using paredit for years and still learned a couple of things from their discussion. As I and others have said, it can be difficult to get used to but once you do, you won’t want to live without it.
After the discussion of paredit
, Wiegley makes the same observation that I often have: Emacs is really more of a Lisp environment than an editor. He even explicitly casts it as a descendant of the Lisp Machines. His remark was fleeting but captures, I think, why Emacsers are so devoted to their editor. It provides an easy-to-customize environment for getting work done. All sorts of work, not just editing.
Next they move on to discussing debugging and edebug
. I found this one of the most useful parts of their discussion. It’s something I’ve long wanted to learn more about. As Wiegley says, using print statements in your code to debug works well in most languages—Elisp included—but the Emacs debugging facilities are so good you don’t need to do it when debugging Elisp. If you want to learn more, Nic Ferrier has an excellent 10 minute video on edebug
that I wrote about here.
Wiegley shows how easy it is to use edebug
. If you write any Elisp at all, it’s worth spending a bit of time learning the basics. Ferrier’s video can help with that as can Wiegley’s discussion.
After the edebug
discussion, Wiegley moves on to several Emacs functions that can help with development. These include
elint-current-buffer
elp-instrument-function
andelp-results
memory-use-counts
ert
The video is just over an hour so you’ll have to schedule some time but, again, you should because it’s well worth your time. Happily, Chua hinted that they’ll be doing more of these videos. I hope so because they’re really useful.
Speaking of Chua/Wiegley chats, there’s also a nice video on Wiegley’s use-package package. I had intended to write about that but wanted to watch it again first. Sadly, life intervened and I lost the moment so I’m glad to have a chance to mention it here. This is another great video and well worth your time.