Debugger from Helmut, new communication protocol.
*** empty log message ***
Removed.
Removed (require 'cmucl-wire).

(slime-net-connect, slime-net-send): Set coding system to
'no-conversion and convert mutlibyte-strings to unibyte before
sending.

(slime-process-available-input): Read all available input, even when
someone throws out of slime-take-input.

(slime-eval): Invoke the debugger on the Lisp and Emacs side when an
error occurs on the Lisp side.  We do this because the Emacs debugger
runs in a recursive edit.  When the Lisp debugger aborts or continues
then leave the Emacs debugger and vice versa.

(slime-space): Show the arglist only when we are in idle-state or
sldb-state.

(slime-show-apropos): Turn on slime minor mode, so we can use M-. here.

(slime-describe-symbol): Don't query by default.

(slime-interrupt, slime-quit): New commands.  Only available in idle-
and sldb- states.

(sldb-toggle-details): New commands.  Show local variables and
catch-tags in the backtrace.

(serve-request, read-next-form): Don't bind any handlers that are
visible in the code we are going to evaluate.

(prin1-to-string-for-emacs): Bind print-readably to t.

(eval-string-async): Renamed to eval-string.

(eval-string): Don't catch reader errors.  Return either OK, ABORTED
or DEBUGGER-HOOK (used to be (CALL-CONTINUATION (OK | ABORT)) and
DEBUGGER-HOOK).

*buffer-package*: New variable.

(read-string): New function.

(sldb-loop): Report unhandled debug-conditions to Emacs.
(slime-net-send): Added newlines to messages over the wire. This makes
the protocol nicely readable in Ethereal.

(slime-sync): New function for blocking until asynchronous requests
are complete.

(slime-apropos): Hacked the apropos command: by default, only external
symbols are shown. With a prefix argument you have the option to
include internal symbols and to specify a package.

(slime-run-tests): Extended the test suite. Use `M-x slime-run-tests'
to run it.
(apropos-list-for-emacs): Hacked the apropos listing to accept more
options and to specially sort results.
*** empty log message ***
Moved many CL fragments from slime.el to swank.lisp.

(slime-compile-file, slime-compile-defun, slime-goto-location):
Compiler notes are now represented with a property list.  To find the
source expression first move to the file offset of the top-level form
and then use the source path to find the expression.  This should
avoid many reader issues.  For compile-defun store the start position
of the top-level expression from the buffer in the compiler notes and
use that to locate error messages.  Add error overlays for notes
without context to the first available expression.

(slime-process-available-input): Don't protect from reader errors.
Moved many CL fragments from slime.el to swank.lisp.

(defslimefun): New macro.
(slime-toggle-trace-fdefinition): New command.

(slime-symbol-at-point, slime-sexp-at-point): New utility functions.

(slime-edit-symbol-fdefinition): Similar to slime-edit-fdefinition but
uses swank:function-source-location-for-emacs.
(slime-goto-source-location): New function.
(sldb-show-source): Use it.

(slime-read-package-name): Completing read for package names.
(slime-apropos): Use it.
(function-source-location, function-source-location-for-emacs): New
functions to extract source locations from compiled code.
For struct-accessors we try to find the source location of the
corresponding constructor.

(list-all-package-names): New function.

(toggle-trace-fdefinition, tracedp): New functions.
(slime-apropos-all): New command, bound to C-c M-a.

(slime-eval): Simplified.

(swank:arglist-string): Send a string and not a symbol.  It easier to
package related thins in CL.

(slime-edit-symbol-fdefinition): Prompt when called with
prefix-argument.

(slime-eval-region): New function.

(slime-load-file): New function.

(slime-show-description): Set slime minor mode in Help buffer.
(read-string, from-string): Renamed read-string to from-string.
(to-string) New function.

(arglist-string): Catch reader errors.

(sldb-loop): Also bind *readstrable*.
(interactive-eval-region): New function.

(re-evaluate-defvar): New function.

(compile-defun): Install handler for compiler-errors.

(function-first-code-location): Simplified.
(slime-connect): Propose default values when called interactively.

(slime-process-available-input): If possible, use while rather than
recursion.

(slime-compilation-finished-continuation): New function.
(slime-compile-file, slime-compile-defun): Use it.

(slime-forward-source-path): Id an error is encounter move back to the
last valid point.

(slime-eval-region): Use append COND.  Send the entire string to the
Lisp side and read&evaluate it there.

(slime-eval-buffer): New function.

(sldb-sugar-move, sldb-details-up, sldb-details-down): New functions.
Merged in Helmut's CVS logs -- lots of new stuff!
(slime-choose-overlay-region): Tweaked overlay placement.
(handle-notification): Skipping null notifications. For some reason
CMUCL occasionally calls us with NIL as each argument.