Perform PATHNAME on file-streams safely.

	* swank-fancy-inspector.lisp (make-visit-file-thunk): Deleted.
	(make-pathname-ispec): New helper.
	(make-file-stream-ispec): New helper.
	(emacs-inspect file-stream): Use them.
	(emacs-inspect stream-error): Ditto.
	* slime-highlight-edits.el, slime-hyperdoc.el, slime-mrepl.el,
          slime-snapshot.el: Fix typo.
* slime.el (slime-close-popup-window): Don't kill
slime-popup-restore-data local variable in another buffer.
* swank-arglists.lisp (decode-arglist): Handle (x . y) macro arglists.
* slime.el (sldb-insert-condition): Don't create a mouse tooltip
for long error message, tooltip shows the same text and doesn't
add any value.
(slime-definition-at-point): factor out of `slime-inspect-definition'.
(slime-disassemble-definition): New, similar to `slime-inspect-definition'.

* swank.lisp (disassemble-form): rename from disassemble-symbol,
do the same as before but evaluate the argument.
* slime-repl.el (slime-list-repl-short-cuts): Don't scroll to the
bottom, don't error if a shortcut has no documentation.
read-file: properly deal with formats where (not (eql byte-lenght character-length))
* slime.el (slime-compile-file): Only send non-nil keyword args.
(slime-hack-quotes): New function.
* slime.el (slime-defun-if-undefined): Renamed from
slime-DEFUN-if-undefined. No need to yell.
* swank-cmucl.lisp (parse-gdb-line-info): Try working dir first.
* swank.lisp (swank-error): Unrename from swank-protocol-error.
Clean up some of the confusion regarding *sldb-quit-restart*.

* swank.lisp (top-level-restart-p, *toplevel-restart-available*)
(coerce-restart): Deleted.
(with-top-level-restart, simple-repl): Simplify.
* swank-ccl.lisp (socket-fd): Implement backend function.
* slime.el ([test] interactive-eval): Fix test.
* swank-kawa.scm (wrap-compilation): Set Compilation.explict flag.
* swank-kawa.scm (list-file): Add cast to resolve overloaded parse method.
* swank-kawa.scm (disassemble-form): Update for change from 2010-05-18.
Move wacky parsing code to contrib.

* slime.el (slime-extract-context, slime-parse-context)
(slime-in-expression-p, slime-pattern-path)
(slime-beginning-of-list, slime-end-of-list)
(slime-parse-toplevel-form, slime-arglist-specializers)
(slime-definition-at-point, slime-current-parser-state): Moved to
contrib/slime-parse.el
(slime-inspect-definition, slime-disassemble-definition): Moved to
contrib/slime-fancy-inspector.el
Move some var-defs before first use.

* slime.el (slime-show-xref-buffer, slime-read-connection)
(slime-thread-index-to-id):
* slime.el (define-slime-contrib): Use destructuring-bind.