Imported from slime-0.2
Completion now works for internal symbols.
i.e. 'package::foo' can be used to complete non-exported symbols.
Completion now works for internal symbols.
i.e. 'package::foo' can be used to complete non-exported symbols.

Some cleanups.
*** empty log message ***
(wire-symbol-name, wire-symbol-package): Fixed to handle internal
references (pkg::name).
(slime-swank-connection-retries): Increased default number of
connection retries from 5 to ten.

Indentation "cleanups": somehow I was using
`common-lisp-indent-function' for Emacs Lisp code previously.

(slime-edit-fdefinition): Added M-. (edit definition) and M-, (pop
definition stack) commands. Definitions are found in much the same way
Hemlock does it. The user-interface is not the same as TAGS, because I
like this one better. We can add TAGS-compatibility as an optional
feature in future.
(find-fdefinition): Support for finding function/macro definitions for
Emacs.
*** empty log message ***
Large patch from Helmut Eller. Includes: apropos, describe,
compile-defun, fully asynchronous continuation-based wire interface,
interactive evaluation, and more. Very nice :-)
(symbol-external-p): Put back this function which was lost in a merge.
(slime-mode): Added Helmut's commands to the mode
description.
(slime-show-apropos): Setting `truncate-lines' to t in apropos
listings, to avoid line-wrapping on overly long descriptions.
(slime-run-tests): Added the beginnings of an automated test
suite. (This is most useful for testing cross-Emacsen
compatibility before releases.)
*** empty log message ***
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.