Why is Emacs so weird?
Emacs indents lisp code as if it were Emacs Lisp, where if accepts unlimited else forms; unlike in Common Lisp, where if accepts at most 3 arguments.
What to do?
Tell Emacs to indent Lisp as if it were Common Lisp:
(autoload 'common-lisp-indent-function "...
See major-mode variable to find out major mode:
Symbol for current buffer’s major mode.
See cond function to do something depending on mode:
Try each clause until one succeeds.
Each clause looks like (CONDITION BODY...). CONDITION is evaluated
and, if the value is non-nil, this clause succeeds:
then the expressions in BODY are evaluated and ...