2021-10-04 Emacs Lisp book - status update and plans

This post is a status update about the book I started way back and revived this year. A few months ago I wrote that I expect it to be finished “around September”, and, well, it’s October now. Oops.

Except that it’s not that bad! The book is almost done, and when I say “almost”, I don’t mean it will be finished this week, but October is definitely doable. Assuming that we define “around September” as “between August and October, inclusive”, I still have a chance! ;-)

So, two questions. Why did it take so long and what is the current state of things?

As for the first one, I dare say it didn’t took that long. The book is, after all, a side project of mine (even one of a few). I planned 4–5 chapters and 120–150 pages; I have 3 chapters and about 100 pages. I decided, though, that even though it’s less than I planned, the contents are enough for the first version. Given that I could only spend so much time on writing it, I am pretty satisfied with what I have now. (As of now, I spent on it about 45 minutes per page on average. This means that I wrote it quite fast, and this also means that the quality isn’t top-notch, an issue I plan to work on now.)

It turned out that the second chapter (which is the longest one and in my opinion the most interesting) required me to explain a lot more Elisp features and techniques than I expected initially, and hence there is not much I’d like to add to the book in terms of that. There are a few basic and/or important concepts I haven’t touched, most notably debugging and macros, but also e.g. markers, setf and possibly a few others. On the other hand, as I mentioned before, completeness was not my goal – I wanted to give the reader a good start instead of covering extensive parts of Elisp (which the reference does very well). My hope is that the book can serve as a bridge between Robert J. Chassell’s An introduction to programming in Emacs Lisp and the GNU Emacs Lisp Reference Manual. As for the page count – well, it turned out that Leanpub packs a lot in one page. (If I export the Org file of the book to LaTeX, I get about 10% more in the default style.)

As for the current state – well, I don’t plan on adding any more “hard” content like Elisp code or new sections. On the other hand, I will add quite a few “softer” things – I’ll write an afterword, maybe expand some chapter introductions, maybe prepare an index; I’m also considering adding exercises – or rather mini-project ideas. More importantly, I am going to reread the whole thing to correct typos, improve unclear places, possibly add some remarks, hopefully also improve the few diagrams. As I said, I’d like to finish by October 31, so that the next blog post about the book – in about a month – should be the announcement of a finished book. (By the way, I expect this to be one of the difficult parts. A book is never ideal, and knowing when to stop fiddling with it is not easy!)

I do have some longer-term plans, too. I hope to revisit the book in 6–12 months and add some new content then. I don’t know yet if I will do this – to be frank, this depends on both my free time and on the sales – but I consider adding a few things (I also have some drafts which didn’t make it to the current version). We’ll see how it goes.

Also, if you think that I missed something really important, drop me a line – if you convince me, I might consider adding it sooner!

Anyway, if you are interested in learning Elisp, Hacking your way around in Emacs is one of the resources you might be interested in. Check out the first chapter (which is free), or buy the whole book (knowing that you can get a full refund within 45 days if you’re not satisfied, no questions asked!)

CategoryBlog, CategoryEnglish, CategoryEmacs, CategoryEmacsBook