Upcoming version
----------------

### New `M-x sly-remove-method`

A very practical way to remove methods from generic functions.

### Remove `sly-completing-read`

SLY no longer bypasses `completing-read-function` to provide basic
`ido` completion.  This used to make sense when fewer fancy
well-behaved completion packages existed.  That's no longer the case
so we shouldn't override the user's preference.


SLY 1.0.42 (December 2020)
------------------------------

### Much improved company completion

If you haven't yet, just `M-x package-install RET company-mode`, to
enable `company`.  It should start working in every SLY buffer.

Moreover, a new "lazy" way to SLY collect completions from the Lisp
backend means that user input is not blocked if this takes a long
time.  The result is a much more responsive on-the-fly completion
experience.

If you don't like company, you can still use the normal on-request TAB
completion, which also features an improved UI.

### Fixed Helm conflicts

Helm users should now get access to the full capabilities of SLY's
completion function without needing to install any extra packages.
Just need to `M-x sly-symbol-completion-mode` to turn off SLY's
default completion UI.  (https://github.com/joaotavora/sly/issues/303)

### Redesigned completion backend

A redesigned completion backend replaces the legacy contribs
`sly-fuzzy` and `sly-c-p-c`. The new "flex" backend considers package
designators in the search string so you can complete other package's
symbols even when outside a package.

Here's an example:

```
CL-USER> (quiloa)         ->  (ql:quickload)
CL-USER> (scan)           ->  (ppcre:scan)
CL-USER> (setf locadirs)  ->  (setf ql:*local-project-directories*)
CL-USER> (mvbind)         ->  (multiple-value-bind)
```

Flex completion is on by default, but that can be changed via
`sly-complete-symbol-function`. The
[documentation](https://joaotavora.github.io/sly/#Completion) has more
information.

Package-local nicknames are also considered (provided your
implementation supports them).

### Completely rewritten manual

Manual has been reviewed from top to bottom. It should be much easier
to navigate and nicer read in general, thouch it *still needs quite
some proofreading*

[A new chapter for existing SLIME users](https://joaotavora.github.io/sly/#A-SLY-tour-for-SLIME-users)
figures prominently in the top-level.

Presently no major omissions (*except maybe for multiple inspectors*).
Reorganized nodes into a new structure not so focused on core vs
contribs. Deleted stale sections. REPL section heavily rewritten to
explain output types and backreferences.

### New command M-x sly-import-symbol-at-point bound to C-c i by default

This is a counterpart to the existing M-x sly-export-symbol-at-point,
bound to C-c e. It strips the symbol under point of its package
designator, and adds it under the :import-from subclause of the
current package's defpackage form. An improvement suggested and
implemented by Alexander Artemenko (github #147).

### Improved SLY Stickers UI

The UI for SLY Stickers, particularly for `M-x sly-stickers-replay`
has been cleanup up. Upon entering the replay mode, SLY may ask user
if she wants to delete the previous recordings, a commonly forgotten
but useful pre-step (an idea by Javier Olaechea, github #91). Also,
window management is less random.

### Stale buffers are killed on connection close

Inspector, debugger, and other buffers pertaining to a connection are
automatically killed when the connection is closed.  The types of
buffers that are exempt from this is configurable in a new
`sly-keep-buffers-on-connection-close` defcustom, which lists
REPL buffers by default.

### Autodoc function args available in minibuffer prompts

In minibuffer prompts like the one of `M-x sly-inspect`, autodoc
information is available and displayed temporarily in the mode-line.

### `C-c C-o` and `C-c M-o` bound in the REPL

These clear recent output and the whole REPL, respectively.

### Easy to parse copied calls to REPL
...
...
