Next: , Previous: , Up: Forms   [Contents][Index]


14.3.7 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 do.

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 SXEmacs Lisp with a reference to where each is described.

and

see Combining Conditions

catch

see Catch and Throw

cond

see Conditionals

condition-case

see Handling Errors

defconst

see Defining Variables

defmacro

see Defining Macros

defun

see Defining Functions

defvar

see Defining Variables

function

see Anonymous Functions

if

see Conditionals

interactive

see Interactive Call

let
let*

see Local Variables

or

see Combining Conditions

prog1
prog2
progn

see Sequencing

quote

see Quoting

save-current-buffer

see Excursions

save-excursion

see Excursions

save-restriction

see Narrowing

save-selected-window

see Excursions

save-window-excursion

see Window Configurations

setq

see Setting Variables

setq-default

see Creating Buffer-Local

unwind-protect

see Nonlocal Exits

while

see Iteration

with-output-to-temp-buffer

see Temporary Displays

Common Lisp note: here are some comparisons of special forms in SXEmacs Lisp and Common Lisp. setq, if, and catch are special forms in both SXEmacs Lisp and Common Lisp. defun is a special form in SXEmacs Lisp, but a macro in Common Lisp. save-excursion is a special form in SXEmacs Lisp, but does not 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 SXEmacs Lisp (which doesn’t have multiple values).


Next: , Previous: , Up: Forms   [Contents][Index]