Robert J. Chassell’s Introduction to Programming in Emacs Lisp is a good book to get started with this programming language (and programming in general).
So, why would you want to learn Emacs Lisp in the first place?
To answer that question Robert says:
Perhaps you want to understand programming; perhaps you want to
extend Emacs; or perhaps you want to become a programmer. This
introduction to Emacs Lisp is designed to get you started: to guide
you in learning the fundamentals of programming, and more
importantly, to show you how you can teach yourself to go further.
And Robert makes it very clear that this book was written for folks who are not programmers:
Firstly, I try to say everything at least three times: first, to introduce it; second, to show it in context; and third, to show it in a different context, or to review it.
Secondly, I hardly ever put all the information about a subject in one place, much less in one paragraph. To my way of thinking, that imposes too heavy a burden on the reader. Instead I try to explain only what you need to know at the time. (Sometimes I include a little extra information so you won’t be surprised later when the additional information is formally introduced.)
This book is intended as an approachable hill, rather than as a daunting mountain.
Now, if you’ve the slightest intent to learn Emacs Lisp, I encourage you to jump into this book and get your hands dirty.
First, if you’re not acquainted with GNU Emacs, install it:
# aptitude install emacs
Open Emacs, and do
C-h t (hit
h while pressing the control key, release both the keys, then press
t) to get a nice introduction to Emacs.
Introduction to Programming in Emacs Lisp is best read from within Emacs as an Info manual. To install the book, just do:
$ wget http://cjarry.org/gnu-linux/gnewsense/parkes/gnu-doc_0.2-1_all.deb
# dpkg -i gnu-doc_0.2-1_all.deb
In Emacs, go to the Info manual tree (
C-h i), you’ll find a link to the book (Emacs Lisp Intro).
If you like reading from paper, you can buy the printed version of the book from GNU Press.
Give yourself a lot of time to read the book. Happy learning!