Using Emacs is a journey on its own, with plenty moments of frustration, as well as the a-ha! moments realising we never thought an editor could do such a thing.
There also comes a time when we see Emacs is not very efficient at things we do over and over again.
At some point in this journey we decide to see what stands behind the plethora of the readily available commands, and hundreds of packages we installed one day or another. There comes the day we decide to either fix a small bug in a package, enable some behaviour when editing files of certain type, all of that to curate the experience for our own needs, achieve zen.
This is exactly the time when one should reach for the book, it comes extremely handy in the beginning of that journey, when you already know Emacs, but don't know Emacs Lisp well enough, even though you've copied some configuration from the internet, or maybe customised the editor a little bit, partly because of some good luck, and partly because you already knew some tricks.
Robert J. Chassell shows us the DNA of Emacs. We learn just enough to become proficient re-using existing functions, understanding how they are built, building our own functions by composing what is already there.
We learn enough to build an extension. At the same time this book is an introduction. We don't learn about hooks and macros, yet, we know how to work with the buffers, regions, use regular expressions to find what we need in the buffer, programmatically move up and down, left and right, delete, insert, and copy; narrow and widen; debug.
Really loved the book, especially enjoyed the experience of observing how the author thinks, how he explains things, and how he extends emacs environment, and, along the journey teaches us how to be proficient using Emacs Lisp on our own.