* swank-loader.lisp (lisp-version-string): Add "s" to Allegro with
SMP support.
Patch by Dave Cooper.
* swank.lisp (close-connection%): Let *debugger-hook* be nil
across the entire function to that we don't call our own debugger
if we ever get some error during CLOSE or somesuch.
Avoid labels.

* hyperspec.el (hyperspec--get-one-line): New function.
Avoid flet.

* slime.el (with-struct, slime-compute-policy)
(slime-create-note-overlay, slime-merge-note-into-overlay)
(slime-file-name-merge-source-root)
(slime-highlight-differences-in-dirname)
(slime-check-location-filename-sanity, slime-macroexpand-undo)
(slime-read-connection)
(slime-inspector-property-at-point): Use macrolet or a
comibination of let and funcall as replacement for flet.
* slime.el (slime-goto-source-location-buffer-and-file): Delete
unused function.
Avoid some unused variable warnings.

* slime.el (slime-xref-group, slime-all-contribs, [selector] ??):
Use _ as prefix or in loop-destructuring: (loop for (nil) in ...).
* slime.el (slime-insert-threads): Some cleanups.
(slime-insert-table, slime-insert-table-row)
(slime-transpose-lists) New helpers.
(slime-threads-table-properties): Renamed from
*slime-threads-table-properties*
(slime-thread-index-to-id, slime-longest-lines)
(slime-format-threads-labels, slime-insert-thread): Deleted.
* swank-kawa.scm: Various tweaks.
* contrib/slime-fuzzy.el (slime-fuzzy-choices-buffer): Don't move position
in the current buffer, call (slime-fuzzy-next) after switching to
the completion buffer.
* slime.el (slime-location-offset): When going to a position
causes an error, for example, trying to move beyond the end of the
buffer, move the point to 0 and then try to use the hints.
* slime.el (report-condition-with-circular-list): New test.
* swank.lisp (safe-condition-message): Bind *print-length*.
* swank.lisp (safe-condition-message): Truncate the string after 64KB.
* swank-cmucl.lisp (dd-location): Use info db as fallback.
(struct-constructor): Return the name not the function.
* slime.el ([test] find-definition): Test defstruct and defvar.
([test] find-definition.3): New.
* swank-allegro.lisp (frame-source-location, ldb-code-to-src-loc):
Use function-source-location for some cases that used to cause
errors.
(frame-package): New.
(format-sldb-condition, call-with-syntax-hooks): Deleted. Did just
the same as the default implementation.
* swank.lisp (condition-message): New. Binds *print-cirlce.
(safe-condition-message): Move binding of printer vars to
condition-message.
(*sldb-condition-printer*): Set it to #'condition-message.
* slime.el (find-definition.3): Fix syntax.
* slime.el (slime-timer-call): Use debug marker in
condition-case.
call-with-compilation-hooks in swank-ecl.lisp called the same function twice.
* swank-allegro.lisp (ldb-code-to-src-loc): Scan backward to the
first code point with a non-nil start-char.
(frame-package): Also match for ((:internal foo ...)).