GNU Info

Info Node: (elisp)Special Forms

(elisp)Special Forms

Next: Autoloading Prev: Macro Forms Up: Forms
Enter node , (file) or (file)node

Special Forms

   A "special form" is a primitive function specially marked so that
its arguments are not all evaluated.  Most special forms define control
structures or perform variable bindings--things which functions cannot

   Each special form has its own rules for which arguments are evaluated
and which are used without evaluation.  Whether a particular argument is
evaluated may depend on the results of evaluating other arguments.

   Here is a list, in alphabetical order, of all of the special forms in
Emacs Lisp with a reference to where each is described.

     Note: Combining Conditions

     Note: Catch and Throw

     Note: Conditionals

     Note: Handling Errors

     Note: Defining Variables

     Note: Defining Macros

     Note: Defining Functions

     Note: Defining Variables

     Note: Anonymous Functions

     Note: Conditionals

     Note: Interactive Call

     Note: Local Variables

     Note: Combining Conditions

     Note: Sequencing

     Note: Quoting

     Note: Current Buffer

     Note: Excursions

     Note: Narrowing

     Note: Window Configurations

     Note: Setting Variables

     Note: Creating Buffer-Local

     Note: Mouse Tracking

     Note: Nonlocal Exits

     Note: Iteration

     Note: Temporary Displays

     Common Lisp note: Here are some comparisons of special forms in
     GNU Emacs Lisp and Common Lisp.  `setq', `if', and `catch' are
     special forms in both Emacs Lisp and Common Lisp.  `defun' is a
     special form in Emacs Lisp, but a macro in Common Lisp.
     `save-excursion' is a special form in Emacs Lisp, but doesn't
     exist in Common Lisp.  `throw' is a special form in Common Lisp
     (because it must be able to throw multiple values), but it is a
     function in Emacs Lisp (which doesn't have multiple values).

automatically generated by info2www version