GNU Emacs Lisp Reference Manual
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 Emacs Lisp with a reference to where each is described.
andcatchcondcondition-casedefconstdefmacrodefundefvarfunctionifinteractiveletlet*orprog1prog2prognquotesave-excursionsave-restrictionsave-window-excursionsetqsetq-defaulttrack-mouseunwind-protectwhilewith-output-to-temp-bufferCommon Lisp note: Here are some comparisons of special forms in GNU Emacs Lisp and Common Lisp.setq,if, andcatchare special forms in both Emacs Lisp and Common Lisp.defunis a special form in Emacs Lisp, but a macro in Common Lisp.save-excursionis a special form in Emacs Lisp, but doesn't exist in Common Lisp.throwis 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).