slime-indentation: switch to current GNU Emacs cl-indent.el

  The old version inlined in slime-indentation.el was from 1995.
  This should make it easier to merge our changes back into Emacs.

  To that end, don't inline the file, but keep it as slime-cl-indent.el
  instead.
slime-indentation: support for turning off lambda-list indentation

 By request.

   (setq lisp-lambda-list-indentation nil)

 and lambda-lists will be more boring than ever before.
* swank-indentation.lisp: Provide :swank-indentation.
Reported by Robert Brown
* slime-snapshot.el: License is GPL.
* slime.el (sdlb-print-condition): New (or old new)
function. It was bound by P in sldb-mode, but for some reason it
was lost.
* slime.el (destructure-case): Fix "`_' not left unused" warnings.
Insert an (ignore) form for empty bodies; this inhibts the
compiler transformation that leads to the spurios warning.  This
has no runtime cost in compiled code, since the compiler
recognizes (ignore) and emits no code for it.
(slime-flatten-tree): Deleted. No longer used.
* slime-package-fu.el (slime-add-export): Add :export to the end
of a defpackage form when there's no :export present.
Fix "wrong number of args" problem with slime-inspector-quit.
Reported by Anton Kovalenko.

* slime.el (slime-popup-buffer-quit-function)
(slime-quit-threads-buffer): Drop the kill-buffer-p argument.
* slime-package-fu.el (slime-export-symbol-representation-auto):
New variable. Default value is NIL.
Determine automatically which style is used for symbols, #: or :
If it's mixed or no symbols are exported so far,
use `slime-export-symbol-representation-function'.
Change default value of slime-export-symbol-representation-auto to t.
slime-indentation: better named-lambda and destructuring-bind indentation

  Make both apply the newfangled lambda-list indentation mechanism.
Some changes to the ECL backend so that it works with the new bytecodes compiler.
slime-indentation: fallback method for trailing expressions on prev line

  Emacs' calculate-lisp-indent doesn't indent

    (foo (or x
             y) t
         z)

  right, but would align Z with Y. Add a fallback method to deal with that.
slime-indentation: indirect indentation specs

  Previously, if something was aping the indentation of another form,
  redefinitions weren't being picked up.

  Now, setting the common-lisp-indent-function property of a symbol -- say bar
  -- to: (as foo) means to indent (bar ...)  forms as if they were (foo ...)
  forms.

  If indentation of foo changes, bar will immediately get the new indentation
  as well.
slime-indentation: named Common Lisp styles

 I need to edit files with somewhat different Common Lisp indentation style
 regularly, and I doubt I'm the only one.

 `define-common-lisp-style' can be used to define new styles. If you define
 one that you use in an open-source project, please consider submitting it
 for inclusion.

     * Styles can inherit from each other.

     * Styles can specify buffer local variables.

     * Styles can have custom indentation rules.

     * Styles activation can evaluate code, so they can turn on minor modes,
       etc.

  A style can be specified for a while by doing:

     ;; -*- common-lisp-style: stylename -*=

  Some predefined styles:

     * basic: provides defaults

     * classic: emulates the 1995 vintage indentation from old
       slime-indentation

     * modern: a good pick. Turns on lambda-list smarts, but keeps more
       conservative loop indentation.

     * sbcl: SBCL style. Adds indentation for some SBCL bootstrapping
       constructs, sets indent-tabs-mode to nil, etc.
slime-indentation: per-package indentation from swank

  SWANK sends indentation information for macro-lambda lists
  to the Emacs side.

  Prior to this, however, this was a lossy N->1 mapping, where different
  symbols with the same name from multiple packages were conflated.

  Now an indentation update also includes a list of packages where the symbol
  in question is accessible.

  If slime-indentation is not being used, this information is dropped by Emacs.

  If, however, slime-indentation is used, the package information is stored in
  common-lisp-system-indentation hash-table, which is used as a fallback when
  indentation from other sources is not available for the symbol in question.

  Package used for looking up the indentation spec is either picked up from
  the package qualifier in the source, or guessed from the buffer.
fix typo in define-common-lisp-style "modern"
fix lisp-lambda-list-keyword-parameter-alignement docstring
fix swank-sbcl.lisp execv -- sb-posix:syscall-error broke backwards compatibility
slime-indentation: bugfix in fallback method