dotemacs

My Emacs configuration
git clone git://git.entf.net/dotemacs
Log | Files | Refs | LICENSE

NEWS.md (22509B)


      1 Upcoming version
      2 ----------------
      3 
      4 SLY 1.0.42 (December 2020)
      5 ------------------------------
      6 
      7 ### Much improved company completion
      8 
      9 If you haven't yet, just `M-x package-install RET company-mode`, to
     10 enable `company`.  It should start working in every SLY buffer.
     11 
     12 Moreover, a new "lazy" way to SLY collect completions from the Lisp
     13 backend means that user input is not blocked if this takes a long
     14 time.  The result is a much more responsive on-the-fly completion
     15 experience.
     16 
     17 If you don't like company, you can still use the normal on-request TAB
     18 completion, which also features an improved UI.
     19 
     20 ### Fixed Helm conflicts
     21 
     22 Helm users should now get access to the full capabilities of SLY's
     23 completion function without needing to install any extra packages.
     24 Just need to `M-x sly-symbol-completion-mode` to turn off SLY's
     25 default completion UI.  (https://github.com/joaotavora/sly/issues/303)
     26 
     27 ### Redesigned completion backend
     28 
     29 A redesigned completion backend replaces the legacy contribs
     30 `sly-fuzzy` and `sly-c-p-c`. The new "flex" backend considers package
     31 designators in the search string so you can complete other package's
     32 symbols even when outside a package.
     33 
     34 Here's an example:
     35 
     36 ```
     37 CL-USER> (quiloa)         ->  (ql:quickload)
     38 CL-USER> (scan)           ->  (ppcre:scan)
     39 CL-USER> (setf locadirs)  ->  (setf ql:*local-project-directories*)
     40 CL-USER> (mvbind)         ->  (multiple-value-bind)
     41 ```
     42 
     43 Flex completion is on by default, but that can be changed via
     44 `sly-complete-symbol-function`. The
     45 [documentation](http://joaotavora.github.io/sly/#Completion) has more
     46 information.
     47 
     48 Package-local nicknames are also considered (provided your
     49 implementation supports them).
     50 
     51 ### Completely rewritten manual
     52 
     53 Manual has been reviewed from top to bottom. It should be much easier
     54 to navigate and nicer read in general, thouch it *still needs quite
     55 some proofreading*
     56 
     57 [A new chapter for existing SLIME users](http://joaotavora.github.io/sly/#A-SLY-tour-for-SLIME-users)
     58 figures prominently in the top-level.
     59 
     60 Presently no major omissions (*except maybe for multiple inspectors*).
     61 Reorganized nodes into a new structure not so focused on core vs
     62 contribs. Deleted stale sections. REPL section heavily rewritten to
     63 explain output types and backreferences.
     64 
     65 ### New command M-x sly-import-symbol-at-point bound to C-c i by default
     66 
     67 This is a counterpart to the existing M-x sly-export-symbol-at-point,
     68 bound to C-c e. It strips the symbol under point of its package
     69 designator, and adds it under the :import-from subclause of the
     70 current package's defpackage form. An improvement suggested and
     71 implemented by Alexander Artemenko (github #147).
     72 
     73 ### Improved SLY Stickers UI
     74 
     75 The UI for SLY Stickers, particularly for `M-x sly-stickers-replay`
     76 has been cleanup up. Upon entering the replay mode, SLY may ask user
     77 if she wants to delete the previous recordings, a commonly forgotten
     78 but useful pre-step (an idea by Javier Olaechea, github #91). Also,
     79 window management is less random.
     80 
     81 ### Stale buffers are killed on connection close
     82 
     83 Inspector, debugger, and other buffers pertaining to a connection are
     84 automatically killed when the connection is closed.  The types of
     85 buffers that are exempt from this is configurable in a new
     86 `sly-keep-buffers-on-connection-close` defcustom, which lists
     87 REPL buffers by default.
     88 
     89 ### Autodoc function args available in minibuffer prompts
     90 
     91 In minibuffer prompts like the one of `M-x sly-inspect`, autodoc
     92 information is available and displayed temporarily in the mode-line.
     93 
     94 ### `C-c C-o` and `C-c M-o` bound in the REPL
     95 
     96 These clear recent output and the whole REPL, respectively.
     97 
     98 ### Easy to parse copied calls to REPL
     99 
    100 The "Copy call to REPL" funcionality in the Trace Dialog and SLY-DB
    101 buffers now understands that symbols and numbers can be printed
    102 directly in the reconstructed function call, which eases reading.
    103 
    104 ### The .swankrc and .swank.lisp are not loaded by default
    105 
    106 A problem encountered by Zach Beane.
    107 
    108 ### Window management with M-. has been fixed
    109 
    110 When finding the definition of a generic function with M-., an *xref*
    111 buffer pops up in a (possibly reused) window, showing code
    112 locations. When selecting one of those locations, make sure to honor
    113 the original intent of M-. of switching buffers in the original
    114 window. Quit the *xref* window should fully restore the previous
    115 window configuration. Thanks to Michael Fiano for insisting on what is
    116 indubitably the correct behavior (github #123).
    117 
    118 ### More predictably choose REPL windows
    119 
    120 Calling `sly-mrepl` interactively, either via `M-x` or
    121  `sly-selector-map` switches to buffer in the current
    122  window. Accessing the REPL indirectly (by returning objects into it
    123  form other modes) attempts to pop the buffer in another window.
    124 
    125 A problem encoutered by Zach Beane. 
    126 
    127 ### Travis CI infrastructure has been revamped
    128 
    129 The Travis CI infrastructure now uses `roswell` and `emacs-travis`
    130 instead of `cl-travis` and `apt`, respectively. Thus no longer needs
    131 Travis's `sudo` and uses directory caching, resulting in much faster
    132 builds.
    133 
    134 ### New variables `*SLYNK:ECHO-NUMBER-ALIST*` and `*SLYNK:PRESENT-NUMBER-ALIST*`
    135 
    136 Customize the formats that integer numbers get presented back to SLY,
    137 additionally to the binary, octal and hex defaults. Good when working
    138 with Unix Epoch times, for example. See manual "Other configurables"
    139 for documentation and example.
    140 
    141 ### New customization variable `sly-command-switch-to-existing-lisp`
    142 
    143 This makes a prefixless `M-x sly` switch to an active connection
    144 instead of starting a new one.  Customize this to `never` to never
    145 prompted, or to `always` to always move to the first live connection.
    146 
    147 ### Loading contribs is a more robust process
    148 
    149 If the Slynk-side of a contrib fails to load for whatever
    150 reason, a CONTINUE restart is provided. On the SLY side, the user
    151 can choose to disable that contrib temporarily.
    152 
    153 ### A lot of cleanup to SLY sources
    154 
    155 Courtesy of Zach Shaftel <zshaftel@gmail.com>, sly-cl-indent.el no
    156 longer clobbers or conflicts with Emacs's own cl-indent.el.  The cl.el
    157 library is no longer required, not even at compile-time or in tests.
    158 A lot of cleanup and performance improvements.
    159 
    160 ### On par with SLIME 2.26
    161 
    162 Where applicable, SLY tracks bug-fixes and improvements contributed to
    163 SLIME:
    164 
    165 - More secure handling of ~/.sly-secret files
    166 
    167 - Compatibility with the latest SBCL and older SBCL.
    168 
    169 - ECL backend now supports threads
    170 
    171 - Function `create-server` now accepts optional `interface` argument.
    172 
    173 - In SBCL, slynk can be bound to IPv6 interface and can work on IPv6-only machines.
    174 
    175 - Clasp/ABCL improvements.
    176 
    177 SLY 1.0.0-beta-2 (March 2016)
    178 -----------------------------
    179 
    180 ### Improved `sly-stickers` contrib:
    181 
    182 There is now updated documentation for this contrib. See
    183 http://joaotavora.github.io/sly/#SLY-Stickers
    184 
    185 Added a menu to help discover the functionality. 
    186 
    187 Use `M-x sly-stickers-toggle-break-on-stickers` to turn on stepping
    188 for forms. The debugger pops up with useful restarts and interactive
    189 buttons.
    190 
    191 The "replay" interface, `M-x sly-stickers-replay` has been cleaned up.
    192 
    193 ### Three new independent SLY contribs
    194 
    195 In https://github.com/joaotavora/sly-named-readtables there is an
    196 external contrib that adds support for Tobias C Rittweiler's
    197 `EDITOR.HINTS-NAMED.READTABLES`. Available on MELPA.
    198 
    199 In https://github.com/joaotavora/sly-macrostep there is a SLY
    200 contrib for expanding CL macros right inside the source
    201 file. Available on MELPA.
    202 
    203 In https://github.com/joaotavora/sly-quicklisp there is a SLY
    204 contrib for expanding CL macros right inside the source
    205 file. Available on MELPA.
    206 
    207 These contribs also showcase how third-party contribs with both Elisp
    208 and CL parts can be written independently of SLY. See
    209 https://github.com/joaotavora/sly-hello-world for how to write such
    210 contribs.
    211 
    212 ### Apropos
    213 
    214 Argument list information is present in apropos output like
    215 this. A suggestion of Javier Olaechea (github #53)
    216 
    217 ```
    218 ...
    219 SLYNK:TO-LINE
    220   Function: Print OBJECT to a single line. Return the string.
    221   Arglist: (OBJECT &OPTIONAL WIDTH)
    222 ...  
    223 ```
    224   
    225 `M-- sly-apropos` prompts for just the package. A suggestion of Javier
    226 Olaechea (github #53).
    227 
    228 `C-u sly-apropos` allows searching all packages (github #53)
    229 
    230 ### Macroexpansion
    231 
    232 Discovery of the "sexp near point" has been much improved and won't
    233 error cryptically when there is no macroexpansion possible.
    234 
    235 ### REPL enhancements
    236 
    237 `paredit-mode` works in the REPL, as does Emacs 24.4's
    238 `electric-pair-mode` or other parenthesis-matching tools, just like in
    239 any other Lisp buffer.
    240 
    241 New variable `sly-mrepl-output-filter-functions` for REPL
    242 output. These work like `comint-preoutput-filter-functions`. Functions
    243 like `ansi-color-apply` are good candidates (github #38).
    244 
    245 When using multiple REPL, frame variables from SLY-DB triggered in
    246 secondary REPLs, when returned with M-RET, appear in the correct REPL.
    247 
    248 mREPL notes are synched displayed correctly at the "process mark", not
    249 "output mark". This avoids some `; note` in wrong
    250 places (github #45).
    251 
    252 Popping up SLY-DB buffers from different threads no longer
    253 misteriously updates a REPL's environment for `*`, `**`, `***`, etc...
    254 
    255 Tearing down a reverse-isearch with `C-g` no longer errors (github
    256 \#39).
    257 
    258 ### Manual
    259 
    260 The "Tips and tricks" section was rewritten.
    261 
    262 Keymap documentation was corrected and enhanced by Javier Olaechea
    263 (github #36).
    264 
    265 ### Other
    266 
    267 The thread-list buffer can now be properly quit. Reported by Javier
    268 Olaechea (github #51).
    269 
    270 Let user ignore protocol mismatches per connection This issue popped
    271 up in SLIME, where it is still unsolved. See discussion in
    272 https://github.com/slime/slime/issues/250
    273 
    274 `view-mode` bindings no longer creep into SLY's popup
    275 buffers. By Paul M. Rodriguez.
    276 
    277 `sly-inspect-fetch-all` now actually does something (github #49).
    278 
    279 `sly-expand-1` and friends error less often and less cryptically when
    280 no nearby sexp's can be found. The region about to be macroexpanded is
    281 flashed for visual feedback.
    282 
    283 ### On par with SLIME 2.14 and 2.15
    284 
    285 Where applicable, SLY tracks bugfixes and improvements contributed to
    286 SLIME:
    287 
    288 - Rationals are displayed in the echo area as floats too
    289 
    290 - The sly-c-p-c contrib now takes a better guess at symbol case
    291   (issue https://github.com/slime/slime/issues/233)
    292 
    293 - SBCL backend now able to jump to ir1-translators, declaims and alien types
    294 
    295 - Various updates supporting SBCL 1.2.12
    296 
    297 - ABCL backend fixed inspection of frame-locals in the debugger
    298 
    299 - Following a suggestion by Attile Lendvai to SLIME, mouse-1 is now
    300 activates SLY's "part buttons".
    301 
    302 - SBCL's M-. can locate forms within PROGN/MACROLET/etc. Needs SBCL 1.2.15
    303 
    304 ### On par with upcoming SLIME 2.16
    305 
    306 - SBCL and ABCL support completion of package-local nicknames
    307 
    308 - Robustify the indentation cache request handler
    309   (issue https://github.com/slime/slime/issues/280)
    310 
    311 
    312 SLY 1.0.0-beta (March 2015)
    313 ----------------------------------------
    314 
    315 ### mREPL enhancements
    316 
    317 In the REPL, a reader macro allows easy backreferences to previously
    318 returned values. `#v3` will access the first value of the fourth
    319 values-form ever returned and `#v3:2` will access the third of those
    320 values. Backreferences are automatically highlighted.
    321 
    322 New customization option `sly-mrepl-eli-like-history-navigation` makes
    323 history navigation via `C-r`, `M-p` and `M-n` keep the current input
    324 and add the history input at point.
    325 
    326 ### New commands `sly-next-connection` and `sly-prev-connection`
    327 
    328 Replace deprecated `sly-cycle-connections` and provide more feedback.
    329 
    330 ### On par with SLIME 2.13
    331 
    332 Where applicable, SLY tracks bugfixes and improvements contributed to
    333 SLIME:
    334 
    335 - Experimental CLASP support (see `slynk/backend/clasp.lisp`).
    336 
    337 - Fix a source-path-parsing bug. A problem raised and solved by Gabor
    338   Mélis in http://permalink.gmane.org/gmane.lisp.slime.devel/11543.
    339 
    340 - Hot updating via MELPA on won't cause SLYNK/SLY version mismatch
    341 
    342   SLIME issue [125](https://github.com/slime/slime/issues/125)
    343 
    344 - Allegro's "modern mode" is supported again.
    345 
    346 - Port conflicts can be resolved interactively
    347 
    348   SLIME issue [204](https://github.com/slime/slime/issues/204)
    349 
    350 - New `SLYNK-FUZZY:*FUZZY-DUPLICATE-SYMBOL-FILTER*` option.
    351 
    352   SLIME issue [215](https://github.com/slime/slime/issues/215)
    353 
    354 - `sly-recompile-xrefs` has been fixed.
    355 
    356 - More minor issues.
    357 
    358 SLY 1.0.0-alpha-3 (December 2014)
    359 ---------------------------------
    360 
    361 ### sly-stickers: live source-code annotation tool
    362 
    363 `sly-stickers` is a live code annotation tool, a replacement for the
    364 "print" statements that are often included for debugging the value of
    365 a particular variable or expression. See a much more complete
    366 description in http://joaotavora.github.io/sly/#SLY-Stickers.
    367 
    368 Thanks to Artem Malyshev for early testing and ideas.
    369 
    370 ### Documentation rewrite
    371 
    372 The documentation rewrite is underway (github issue #9), mentioning
    373 only a residual amount of SLIME-specific functionality. Browse to
    374 http://joaotavora.github.io/sly for the online version in HTML.
    375 
    376 ### SLY is available in MELPA
    377 
    378 The README.md file has an updated install recipe, basically `M-x
    379 package-install RET sly RET`. Thanks to Kan-Ru Chen for the idea.
    380 
    381 ### mREPL enhancements
    382 
    383 The "comma" shortcut for "sayoonara", "restart lisp", "in-package"
    384 commands has been restored and uses ido-style completion by
    385 default. Suggested by Javier Olaechea (github #18).
    386 
    387 `C-c C-z` switches to the nearest REPL, much like `sly-mrepl-sync`,
    388 but without changing the REPL's state. Suggested by Javier Olaechea
    389 (github #13).
    390 
    391 `sly-mrepl-sync` is now bound to `C-c ~` in any SLY buffer. A `C-u`
    392 prefix will also yank the last expression into the current REPL.
    393 
    394 New customization variable `sly-mrepl-prevent-duplicate-history`
    395 offers finer control over saved history.
    396 
    397 When a connection disconnects, a status line is inserted in the REPL
    398 stating the reason for disconnection (network failure, user abort,
    399 etc...)
    400 
    401 ### Other enhancements
    402 
    403 SLY asks the user to confirm the Lisp to kill with `M-x sly-quit` or
    404 disconnect with `M-x sly-disconnect`. It also doesn't ask any
    405 irrelevant questions about switching to a default connection when it
    406 doesn't exist (github #5).
    407 
    408 ### Notable bugfixes
    409 
    410 * Closed github #26: `sly-mrepl` history saved when killing
    411   Emacs. Reported by Javier Olaechea.
    412 
    413 * Closed github #24: Common-lisp-style indentation now works in
    414   `sly-mrepl`. Reported by Kan-Ru Chen.
    415 
    416 * Closed github #22: Compilation with `C-u` debug info now
    417   working. Reported by Javier Olaechea.
    418 
    419 * Closed github #21: Enable incremental output with dedicated output
    420   streams. Reported by Paul M. Rodriguez.
    421 
    422 * Closed github #5: `sly-quit` no longer asks irrelevant questions
    423 
    424 ### Swank is now called Slynk
    425 
    426 Slynk is SLY's implementation of Swank, the supporting Lisp server
    427 where Emacs connects to. A project-wide rename was performed,
    428 including this NEWS.md file.
    429 
    430 A `sly-retro` contrib, enabled by default ensures that:
    431 
    432 * SLY can still talk to non-lisp Swank backends
    433 * SLY can serve requests for the Swank protocol
    434 * Most user customization in `~/.swankrc` is still valid in SLY.
    435 
    436 For details on the architecture of these changes, see the "Swank is
    437 now called Slynk" in the CONTRIBUTING.md.
    438 
    439 Thanks to Zach Beane for the great name.
    440     
    441 ### On par with SLIME 2.10.1
    442 
    443 Where applicable, SLY tracks bugfixes and improvements contributed to
    444 SLIME:
    445 
    446 - `sly-autodoc` has been rewritten by Helmut Eller. Multiline is
    447   enabled by default.
    448 - Experimental support for MKCL has been added
    449 
    450 
    451 SLY 1.0.0-alpha (September 2014)
    452 --------------------------------
    453 
    454 Since this is the first pre-release of SLY since the fork, this entry
    455 focuses directly on the differences to SLIME.
    456 
    457 ### Completely redesigned REPL
    458 
    459 The `sly-mrepl` contrib is a extensively redesigned
    460 Read-Eval-Print-Loop (REPL) for SLY.
    461 
    462 Multiple independent REPLs can be created with the `sly-mrepl-new`
    463 command.
    464 
    465 `sly-mrepl` is fully based on Emacs's `comint.el` and as such has a
    466 more familiar interface for history navigation. `C-r` and `C-M-r`,
    467 when used at the prompt, should provide a bash/zsh-like experience.
    468 
    469 The prompt gives a visual indication of long-running evaluations that
    470 haven't returned yet.
    471 
    472 The prompt gives a visual indication of the number of debugger levels
    473 currently caused by the last evaluation.
    474 
    475 Every return part can be inspected and re-returned as the last value.
    476 
    477 `C-c ~` on any Lisp file switches to the REPL and synchronized its
    478 `*PACKAGE*` and `*DEFAULT-PATHNAME-DEFAULTS*` with the file's.
    479 
    480 Output redirection is automatically setup. The first REPL created is
    481 the target for all threads' output onto the standard output
    482 streams. REPLs created afterward only see their own output. To turn
    483 this off configure the Slynk-side variable
    484 `SLYNK-MREPL:*GLOBALLY-REDIRECT-IO*`.
    485 
    486 A dedicated stream connection for output is automatically set
    487 up. Configure the `SLYNK-MREPL:*USE-DEDICATED-OUTPUT-STREAM*` if it
    488 doesn't suit you.
    489 
    490 There is saner scrolling behavior as provided by the `comint.el`
    491 substrate. The variables `comint-scroll-show-maximum-output`,
    492 `comint-scroll-to-bottom-on-input` and
    493 `comint-scroll-to-bottom-on-output` (which see) are set to `nil` by
    494 default, but the user might reconfigure them to her liking in the
    495 `sly-mrepl-hook`.
    496 
    497 There are Sylvesters. See `sly-mrepl-pop-sylvester`.
    498 
    499 ### Regexp-capable M-x sly-apropos
    500 
    501 If SLY detects that [`cl-ppcre`](http://weitz.de/cl-ppcre/) is
    502 available in the Lisp side it will try to use it for "apropos"
    503 searches, otherwise the user is hinted at this possibility. As regexp
    504 searches are slower, this is only triggered if the pattern is a valid
    505 regular-expression.
    506 
    507 This is the default implementation of the new
    508 `SLYNK-BACKEND:MAKE-APROPOS-MATCHER` interface that particular
    509 implementations may wish to override.
    510 
    511 The search pattern, whether regexp-enabled or not, is now also applied
    512 to the package qualifier.
    513 
    514 ### Contribs enabled by default
    515 
    516 By default, SLY enables the `sly-fancy` meta-contrib. This contains
    517 `sly-mrepl`, `sly-autodoc`, `sly-fancy-inspector`, `sly-fancy-trace`,
    518 `sly-fuzzy`, `sly-scratch`, `sly-package-fu`, `sly-fontifying-fu`,
    519 `sly-trace-dialog`, `sly-indentation` and `sly-tramp`.
    520 
    521 ### SLY uses ASDF and loads contribs on demand.
    522 
    523 If the user sets `sly-contribs` to `sly-mrepl` she can be sure that no
    524 Lisp code related to other contribs appears in your run-time. Even if
    525 ASDF is unavailable, an improved version of the `slynk-loader.lisp`
    526 program will behave in a similar non-intrusive manner.
    527 
    528 This change also enables developers to write completely independent
    529 third-party extensions like
    530 [in this example](http://github.com/joaotavora/sly-hello-world).
    531 
    532 See the CONTRIBUTING.md file for more details on architecture changes.
    533 
    534 ### More consistent interface
    535 
    536 The SLY-DB, Inspector, XREF and Apropos buffers have been
    537 redesigned to use a common class of push button with consistent
    538 interfaces. These context-aware commands are known as "part actions"
    539 
    540 For instance, the `i`,`p` and `M-RET` commands (`sly-button-inspect`,
    541 `sly-button-pretty-print` and `sly-mrepl-copy-to-repl`) are available
    542 for every interactive part, regardless of the SLY buffer in
    543 question. A command such as `v` (`sly-button-show-source`) is only
    544 available where it makes sense for the represented object.
    545 
    546 The same interfaces are also available in the "mREPL" and "Trace
    547 Dialog" buffers.
    548 
    549 `sly-mode` is now activated in every buffer related to SLY is now,
    550 meaning global keybindings like `C-c T` and `C-c I` work everywhere.
    551 
    552 ### Multiple inspectors
    553 
    554 Interactive commands for inspecting Lisp objects can be prefixed with
    555 `C-u` to prompt the user for an inspector name. Separate inspector
    556 streams are kept. An idea by Olof-Joachim Frahm
    557 (http://macrolet.net/).
    558 
    559 ### Copy function call to REPL
    560 
    561 An experimental feature: from the Trace Dialog or SLY-DB buffers, a
    562 new button action called "Copy call to REPL" is offered and bound to 
    563 
    564 If SLY can calculate the arguments and the function symbol of the
    565 function call represented in the backtrace of trace entry, it will
    566 return them to the REPL, along with an uncommitted input line that
    567 refers back to them and calls the function.
    568 
    569 ### Other miscellaneous enhancements over SLIME
    570 
    571 Faces have been revised and are based on Emacs's standard
    572 faces. Hopefully, SLY will remain readable even when the user
    573 switches themes.
    574 
    575 Popping up windows and buffers has been much improved. Windows are
    576 reused if the buffer names match or are similar, meaning that no
    577 longer will the SLY-DB "jump around" in multi-window configurations when
    578 selecting a restart that signals another error.
    579 
    580 Interactive expression evaluation will use a separate buffer when the
    581 results is too big to fit in the echo area.
    582 
    583 SLY's mode-line string is placed at the right side of the mode-line.
    584 
    585 SLY intrudes less than SLIME in the Emacs name-space, and uses more
    586 standard idioms. Macros like `with-struct` and `sly-define-keys` have
    587 been removed.
    588 
    589 Buffer names have been consolidated: every buffer name related to SLY
    590 obeys the same structure, stating the type, connection name and any
    591 pertinent additional info.
    592 
    593 Reading from the minibuffer has been improved. SLY uses `ido`
    594 completion by default, but it can customized via
    595 `sly-complete-symbol-function`.
    596 
    597 Messages and warnings prefix themselves accordingly with "[sly]".
    598 
    599 Fixed source locations when recompiling from an xref buffer.  This is
    600 outstanding https://github.com/slime/slime/pull/175 pull-request in
    601 SLIME. Thanks Bart Botta.
    602 
    603 Fixed bugs in `contrib/sly-package-fu.el`. This is the outstanding
    604 https://github.com/slime/slime/pull/145 pull-request in SLIME. Thanks
    605 Leo Liu.
    606 
    607 ### On par with SLIME 2.9
    608 
    609 Where applicable, SLY tracks bugfixes and improvements contributed to
    610 SLIME.
    611 
    612 ### Anti-NEWS (Things removed from SLIME)
    613 
    614 SLY 1.0-Alpha supports Emacs 24.3 only. SLY 1.0 is expected to only
    615 support Emacs 24.4.
    616 
    617 There is very limited backward compatibility SLIME and only in the
    618 SLIME->SLY direction, meaning a contrib-less SLIME may connect to a
    619 Slynk server started by SLY, but any other combination will probably
    620 fail beyond very basic functionality.
    621 
    622 The portable profiling commands have been removed from the SLY menu
    623 `metering.lisp` and the profiling interfaces in `slynk-backend.lisp`
    624 have been kept. SLY 1.0.0 will hopefully have a better integrated
    625 portable profiler.
    626 
    627 The `slime-presentations` has been removed. The consistent button
    628 interface is better.
    629 
    630 The `slime-c-p-c` contrib has been removed, as it contained a lot of
    631 non-standard window-managing code. Its functionality has been merged
    632 into `sly-fuzzy` and setting `sly-complete-symbol-function` to
    633 `sly-c-p-c-complete-symbol` should give you the previous behavior.