O'Reilly logo

Learning GNU Emacs, Second Edition by Eric S. Raymond, Bill Rosenblatt, Debra Cameron

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Building Your Own LISP Library

Once you have become proficient at Emacs LISP programming, you will want a library of LISP functions and packages that you can call up from Emacs at will. Of course, you can define a few small functions in your .emacs file, but if you are writing bigger pieces of code for more specialized purposes, you will not want to clutter up your .emacs file—nor will you want Emacs to spend all that time evaluating the code each time you start it up. The answer is to build your own LISP library, analogous to the lisp directory that comes with Emacs and contains all of its built-in LISP code. Once you have created a library, you can load whatever LISP packages you need at a given time and not bother with the others.

There are two simple steps you need to take to create a library. First, create a directory (with the UNIX mkdir command) in which your LISP code will reside. Most people create a lisp subdirectory of their home directory. LISP files are expected to have names ending in .el (your .emacs file is an exception). The second step is to make your directory known to Emacs, so that when you try to load a LISP package, Emacs knows where to find it. Emacs keeps track of such directories in the global variable load-path, which is a list of strings that are directory names.

The initial value for load-path is just the name of the LISP directory that comes with Emacs, e.g., /usr/local/emacs/lisp. You will need to add the name of your own LISP directory to load-path ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required