GNU Info

Info Node: (emacs-lisp-intro.info)Finding More

(emacs-lisp-intro.info)Finding More


Next: simplified-beginning-of-buffer Prev: Buffer Walk Through Up: Buffer Walk Through
Enter node , (file) or (file)node

Finding More Information
========================

   In this walk-through, I will describe each new function as we come to
it, sometimes in detail and sometimes briefly.  If you are interested,
you can get the full documentation of any Emacs Lisp function at any
time by typing `C-h f' and then the name of the function (and then
<RET>).  Similarly, you can get the full documentation for a variable
by typing `C-h v' and then the name of the variable (and then <RET>).

   In versions 20 and higher, when a function is written in Emacs Lisp,
`describe-function' will also tell you the location of the function
definition.  If you move point over the file name and press the <RET>
key, which is this case means `help-follow' rather than `return' or
`enter', Emacs will take you directly to the function definition.

   More generally, if you want to see a function in its original source
file, you can use the `find-tags' function to jump to it.  `find-tags'
works with a wide variety of languages, not just Lisp, and C, and it
works with non-programming text as well.  For example, `find-tags' will
jump to the various nodes in the Texinfo source file of this document.

   The `find-tags' function depends on `tags tables' that record the
locations of the functions, variables, and other items to which
`find-tags' jumps.

   To use the `find-tags' command, type `M-.'  (i.e., type the <META>
key and the period key at the same time, or else type the <ESC> key and
then type the period key), and then, at the prompt, type in the name of
the function whose source code you want to see, such as
`mark-whole-buffer', and then type <RET>.  Emacs will switch buffers
and display the source code for the function on your screen.  To switch
back to your current buffer, type `C-x b <RET>'.  (On some keyboards,
the <META> key is labelled <ALT>.)

   Depending on how the initial default values of your copy of Emacs are
set, you may also need to specify the location of your `tags table',
which is a file called `TAGS'.  For example, if you are interested in
Emacs sources, the tags table you will most likely want, if it has
already been created for you, will be in a subdirectory of the
`/usr/local/share/emacs/' directory; thus you would use the `M-x
visit-tags-table' command and specify a pathname such as
`/usr/local/share/emacs/21.0.100/lisp/TAGS' or
`/usr/local/src/emacs/lisp/TAGS'.  If the tags table has not already
been created, you will have to create it yourself.

   To create a `TAGS' file in a specific directory, switch to that
directory in Emacs using `M-x cd' command, or list the directory with
`C-x d' (`dired').  Then run the compile command, with `etags *.el' as
the command to execute

     M-x compile RET etags *.el RET

   For more information, see Note: Create Your Own `TAGS' File.

   After you become more familiar with Emacs Lisp, you will find that
you will frequently use `find-tags' to navigate your way around source
code; and you will create your own `TAGS' tables.

   Incidentally, the files that contain Lisp code are conventionally
called "libraries".  The metaphor is derived from that of a specialized
library, such as a law library or an engineering library, rather than a
general library.  Each library, or file, contains functions that relate
to a particular topic or activity, such as `abbrev.el' for handling
abbreviations and other typing shortcuts, and `help.el' for on-line
help.  (Sometimes several libraries provide code for a single activity,
as the various `rmail...' files provide code for reading electronic
mail.)  In `The GNU Emacs Manual', you will see sentences such as "The
`C-h p' command lets you search the standard Emacs Lisp libraries by
topic keywords."


automatically generated by info2www version 1.2.2.9