* SLIME News -*- mode: outline; coding: utf-8 -*- * 2.19 (February 2017) ** Core *** Function `create-server` now accepts optional `interface` argument. Swank will bind the PORT on this interface. By default, interface is 127.0.0.1. This argument can be used, for example, to bind swank on IPv6 interface "::1". ** SBCL backend *** Now swank can be bound to IPv6 interface and can work on IPv6-only machines. *** Compatiblity with the latest SBCL * 2.18 (May 2016) *** Mostly bug fixes and compatibility with newer implementations * 2.17 (February 2016) ** Contribs *** New contrib, slime-macrostep, for more advanced in-place macroexpansion. *** New contrib, slime-quicklisp. * 2.16 (January 2016) *** Auto-completion now supports package-local nicknames on SBCL and ABCL. *** Bug fixes and updates for newer implementations. * 2.15 (August 2015) ** Core *** Completions are now displayed with `completion-at-point'. The new variable `slime-completion-at-point-functions' should now be used to customize completion. The old variable `slime-complete-symbol-function' still works, but it is considered obsolete and will be removed eventually. ** SBCL backend *** M-. can locate forms within PROGN/MACROLET/etc. Needs SBCL 1.2.15 * 2.14 (June 2015) ** Core *** Rationals are displayed in the echo area as floats too *** Some of SLDB's faces now have MORE COLOR *** Clicking with mouse-1 within inspector does things As do mouse-6 and mouse-7. (Thanks to Attila Lendvai.) ** slime-c-p-c (Compound Prefix Completion) *** Now takes a better guess at symbol case (issue #233) ** slime-fancy *** slime-mdot-fu is now enabled by default ** SBCL backend *** Now able to jump to ir1-translators, declaims and alien types *** Various updates supporting SBCL 1.2.12 ** ABCL backend *** Fixed inspection of frame-locals in the debugger (Thanks to Mark Evenson.) * 2.13 (March 2015) ** Core *** slime-cycle-connections has been deprecated It has been replaced by slime-next-connection and slime-prev-connection. A shortcut for the latter has been added to slime-selector. ** slime-mdot-fu The slime-mdot-fu contrib has been brought back to life. (Thanks to Charles Zhang. Issues #8, #231 and #232.) ** slime-typeout-frame The slime-typeout-frame contrib has been restored. (Issue #221.) ** SBCL backend *** Fixed xrefs coming from C-c C-c Issue #227. ** CMUCL, SBCL and SCL backends *** Better support for custom readtables Functionality that depends on SWANK's source-path-parser, such as `slime-find-definition', now works properly in face of custom readtables by honoring SWANK:*READTABLE-ALIST*. (Thanks to Gábor Melis. PR #244.) ** Kawa backend *** Updated for Kawa version 2.0 * 2.12 (January 2015) ** Core A couple of regressions introduced in version 2.10 were fixed. *** slime-compile-buffer (C-c C-k) no longer tries to save every buffer *** slime-autodoc-mode doesn't spam the minibuffer anymore ** SWANK *** CREATE-SERVER provides interactive restarts when port is taken Thanks to Adlai Chandrasekhar. (PR #204.) ** slime-fuzzy New variable *FUZZY-DUPLICATE-SYMBOL-FILTER* allows customization of how symbols accessible from multiple packages should be canonicalized. Defaults to :NEAREST-PACKAGE, a departure from the previous default behaviour which is still available using :HOME-PACKAGE. The new behaviour expands "ui:e-l" to "uiop:ensure-list" rather than "uiop/utility:ensure-list". Consult the manual for other options and other details. Thanks to Ivan Shvedunov. (PR #205.) * 2.11 (December 2014) ** MELPA is now an officially supported installation method Various bugs involving installation and upgrading via package.el were fixed. See the README for more details. (Issues #125, #195, #208.) ** Core *** Compilation via the xref buffer now works again ** slime-repl / slime-presentations Only text to the left of the cursor should limit the scope of history navigation. Fixed a long-standing bug that violated this when slime-presentations was enabled. (Thanks to Ivan Shvedunov. PR #207.) ** slime-package-fu Now handles strings as symbol designators, is mindful of trailing whitespace and properly handles an :export clause immediately following the package name. (Thanks to Leo Liu. PR #145.) ** slime-indentation The edge case handling described in slime-cl-indent.el:958 have been has been restored. ** Allegro CL backend Support for mlisp was restored. It had been broken by the previous release. (Reported by Alexandre Rademaker. Issue #209.) ** New experimental SWANK backend for MLWorks ** SWANK swank-listener-hooks was restored. (Thanks to Ivan Shvedunov. PR #210.) * 2.10.1 (October 2014) *** The SWANK-BACKEND nickname has been added to the SWANK/BACKEND package This should ease the migration of external projects that depend on the SWANK-BACKEND package. However, note that SWANK/BACKEND (as well as the other SWANK/* packages) are internal packages. Please refer to Conium for a project that purports to offer a stable API for debugger- and compiler-related tasks in Common Lisp. * 2.10 (October 2014) ** Core *** The SWANK-BACKEND package has been renamed to SWANK/BACKEND Furthermore, implementations of the SWANK-BACKEND interface have individual packages such as SWANK/SBCL, SWANK/CCL, etc. Other packages such as SWANK-RPC, SWANK-GRAY have likewise had their hyphens turned into slashes. *** slime-compile-file is now aware of compilation-ask-about-save When set to nil, SLIME will save modified buffers without asking. compilation-save-buffers-predicate can be used to customize which buffers should be automatically saved. ** slime-repl *** Clearing REPL output no longer deletes the prompt (issue #183) ** slime-autodoc This contrib has been rewritten. Please report any regressions you may find. ** ABCL backend *** Inspecting CLOS objects works properly again *** SLDB frame arguments have become inspectable ** SBCL backend *** Source locations involving the #. reader macro The aforementioned mechanism was adapted to recent changes in the internals of the SBCL reader. *** Breakage involving recent versions of SBCL on Windows was fixed (issue #192) We no longer assume SB-SYS:ENABLE-INTERRUPT exists on Windows SBCL. ** MKCL backend New backend for ManKai Common Lisp. ** CMUCL backend *** Support for versions prior to 20c has been removed ** MIT Scheme backend *** Updated and now requires MIT Scheme 9.2 * 2.9 (August 2014) ** Core *** Various display-related bugfixes ** CMUCL *** M-. now works on condition classes * 2.8 (July 2014) ** Core *** Inspector fixes and improvements for SBCL. ** Contribs *** Kawa backend supports Kawa 1.14. * 2.7 (June 2014) ** Core *** SWANK now tries harder to send double-floats to Emacs ** Allegro CL Backend *** Added implementation for FUNCTION-NAME and FIND-SOURCE-LOCATION interfaces Notably, this means that pressing "." in the SLIME inspector now works on Allegro CL. (Thanks to Gábor Melis.) * 2.6 (May 2014) ** Core *** *print-readably* bound to nil when displaying condition messages *** Issue #144: Removed nicknames and short package names The STD nickname for SWANK-TRACE-DIALOG was removed. MONITOR was renamed to SWANK-MONITOR and its nickname MON removed. *** Issues #135, #154: slime-to-lisp-filename used more pervasively Now used for the both the port-file and loader file when announced from Emacs to the lisp backend. Allows a user-written `slime-to-lisp-filename-function' that supports Cygwin lisps with non-Cygwin Emacsen or vice-versa. See #135 for an example of such a function. *** Issue #155: Stale SLDB buffers are now properly removed Indirect exits from an SLDB buffer that was not selected in a window would leave a stale buffer behind, leading to an inconsistent state and unexpected errors. ** Contribs *** Issue #139: Restored "copy to REPL" for slime-presentations `slime-copy-presentation-at-point-to-repl' will copy a presentation to the REPL, place it at point, and _not_ set *, ** and ***. This behaviour restored after refactorings of "copy to REPL" behaviour of previous versions. *** Issue #140: Improvements in the "copy to REPL" behaviour With or without the slime-presentations contrib, M-RET will copy/return values to REPL from both Inspector and SLDB buffers, setting *, ** and *** . If the slime-presentations contrib is enabled, the returned part will be an interactive presentation. The protocol for copying down parts to REPL has been reworked to not assume a CL backend . *** Now supports more CLHS references: :type, :system-class, :ansi-cl *** Issue #133: Fixed links to the SBCL manual ** Backend improvements *** SBCL **** `slime-set-default-directory' now calls chdir This propagates its effects to subprocesses. * 2.5 (April 2014) ** Backend improvements *** Clozure CL **** `slime-set-default-directory' now calls chdir This propagates its effects to subprocesses. *** Allegro CL **** swank-compile-string no longer binds *default-pathname-defaults* This was inconsistent with the behaviour of other backends and caused strange issues with SYS:TEMPORARY-DIRECTORY. **** Improved source file recording Whenever possible interactive definition compilation is mapped to the actual source file rather than the buffer name to avoid breakage when the the buffer name changes or is closed. ** SLIME Trace Dialog *** (Un)Tracing a definition automatically updates the trace status ** slime-repl *** Inspecting * in REPL no longer inspects ** (issue #137) ** slime-autodoc *** Multiline arglists in `slime-autodoc' no longer imply a newline (issue #7) ** Core Bugfixes *** SWANK port file name defined in more portable fashion Bug reported by Mirko Vukovic on slime-devel. *** inferior-lisp-program can now hold paths with spaces (issue #116) * 2.4 (March 2014) ** New contrib SLIME Trace Dialog included in `slime-fancy' Interactive interface to tracing functions and methods. See manual for details. ** New contrib `slime-fancy-trace', included in `slime-fancy' If your implementation allows it, trace complex method signatures, labels, etc... ** New options in `slime-cl-indent.el' used by the `slime-indentation' contrib New variables are `lisp-loop-body-forms-indentation' and `lisp-loop-body-forms-indentation'. ** New command `sldb-copy-down-to-repl' bound to M-RET in debugger Copies the frame variable under point to the REPL, much as `slime-inspector-copy-down-to-repl' does. ** New command `slime-delete-package' ** UTF8 encoding SLIME now uses only UTF8 to encode strings on the wire. Customization variables like `slime-net-coding-system' or `swank:*coding-system*' are now useless. ** Setup recipe In preparation for a more decentralized approach to SLIME contribs, the setup recipe has been slightly changed, hopefully in a backwards compatible way. Calling `slime-setup' is no longer required. Instead, the `slime-contribs' variable can be customized with a list of contribs to be loaded when `M-x slime' is first executed. See section `8.1 Loading Contrib Packages' of the SLIME Manual for more details. ** Bugfixes and stability improvements since the move to Github *** Issue #9: new REPL output respectes existing REPL results or presentations. *** Issue #17: TAB no longer freezes the REPL in "read-mode" *** Issue #42: compiles on Emacs 24 *** Issue #43: `just-one-space' no longer breaks REPL *** Issue #34: "Error in timer" error when starting slime on emacs24 *** Printing conditions is now a bit safer in the debugger (git:bafeb86) *** Fix undo behavior in the REPL (git:af354d7) Previously, undo would obliterate previous prompts. *** Fix REPL type-ahead behaviour when presentations active (git:38a1826) Input typed before your lisp responds is appended to the result when it arrives. *** Fix package and dir synch when no process buffer (git:dc88935) Sometimes process buffer has been killed, but connection is still active. *** M-p on any part of the REPL buffer no longer errors (git:dc88935) *** slime-presentations can be enabled in inspector (git:647c3c3, 2f57b34) Set `slime-inspector-insert-ispec-function' to `slime-presentation-inspector-insert-ispec' to use them. *** M-. on a presentation on the REPL now longer errors This happened when `slime-presentations' was enabled, either by itself or by `slime-fancy'. *** M-. on the first position of a *slime-apropos* buffer no longer fails. This happened with the `slime-fancy-inspector.el' contrib. *** RET on no part in *inspector* buffer no longer errors *** slime-repsentations properly recognized when at very beginning of buffer Fix by Attila Lendvai *** Avoid loading `swank-asdf.lisp' if there's a good chance it will break SWANK `swank-asdf.lisp' aborts the connection if it finds an old ASDF version. *** In ABCL, `slime-describe-function' now works for both macros and functions. ** SLIME builds on Travis CI See https://travis-ci.org/slime/slime for the build status and history. ** Testing framework refactored to use ERT `def-slime-test' creates regular ERT tests. `define-slime-ert-test' is a lighter convenience macro which automatically sets some tags for the new tests. ** Top-level Makefile For hackers or users using the latest version, there is now a top-level Makefile. Use "make help" to learn about targets. ** Moved to Github SLIME now lives in Github. The documentation and the README.md file were updated. HACKING was renamed to CONTRIBUTING.md and updated with Github specific instructions. ** Bugfixes and stability improvements Since the last release and before move to Github, many bugfixes and other changes were commited, too many to list here. See Changelog for details. * 2.3 (October 2011) ** REPL no longer loaded by default SLIME has a REPL which communicates exclusively over SLIME's socket. This REPL is no longer loaded by default. The default REPL is now the one by the Lisp implementation in the *inferior-lisp* buffer. The simplest way to enable the old REPL is: (slime-setup '(slime-repl)) ** Precise source tracking in Clozure CL Recent versions of the CCL compiler support source-location tracking. This makes the sldb-show-source command much more useful and M-. works better too. ** Environment variables for Lisp process slime-lisp-implementations can be used to specify a list of strings to augment the process environment of the Lisp process. E.g.: (sbcl-cvs ("/home/me/sbcl-cvs/src/runtime/sbcl" "--core" "/home/me/sbcl-cvs/output/sbcl.core") :env ("SBCL_HOME=/home/me/sbcl-cvs/contrib/")) * 2.1 ** Removed Features Some of the more esoteric features, like presentations or fuzzy completion, are no longer enabled by default. A new directory "contrib/" contains the code for these packages. To use them, you must make some changes to your ~/.emacs. For details see, section "Contributed Packages" in the manual. ** Stepper Juho Snellman implemented stepping commands for SBCL. ** Completions SLIME can now complete keywords and character names (like #\newline). * 2.0 (April 2006) ** In-place macro expansion Marco Baringer wrote a new minor mode to incrementally expand macros. ** Improved arglist display SLIME now recognizes `make-instance' calls and displays the correct arglist if the classname is present. Similarly, for `defmethod' forms SLIME displays the arguments of the generic function. ** Persistent REPL history SLIME now saves the command history from REPL buffers in a file and reloads it for newly created REPL buffers. ** Scieneer Common Lisp Douglas Crosher added support for Scieneer Common Lisp. ** SBCL Various improvements to make SLIME work well with current SBCL versions. ** Corman Common Lisp Espen Wiborg added support for Corman Common Lisp. ** Presentations A new feature which associates objects in Lisp with their textual represetation in Emacs. The text is clickable and operations on the associated object can be invoked from a pop-up menu. ** Security SLIME has now a simple authentication mechanism: if the file ~/.slime-secret exists we verify that Emacs and Lisp can access it. Since both parties have access to the same file system, we assume that we can trust each other. * 1.2 (March 2005) ** New inspector The lisp side now returns a specially formated list of "things" to format which are then passed to emacs and rendered in the inspector buffer. Things can be either text, recursivly inspectable values, or functions to call. The new inspector has much better support CLOS objects and methods. ** Unicode It's now possible to send non-ascii characters to Emacs, if the communication channel is configured properly. See the variable `slime-net-coding-system'. ** Arglist lookup while debugging Previously, arglist lookup was disabled while debugging. This restriction was removed. ** Extended tracing command It's now possible to trace individual a single methods or all methods of a generic function. Also tracing can be restricted to situations in which the traced function is called from a specific function. ** M-x slime-browse-classes A simple class browser was added. ** FASL files The fasl files for different Lisp/OS/hardware combinations are now placed in different directories. ** Many other small improvements and bugfixes * 1.0 (September 2004) ** slime-interrupt The default key binding for slime-interrupt is now C-c C-b. ** sldb-inspect-condition In SLDB 'C' is now bound to sldb-inspect-condition. ** More Menus SLDB and the REPL have now pull-down menus. ** Global debugger hook. A new configurable *global-debugger* to control whether swank-debugger-hook should be installed globally is available. True by default. ** When you call sldb-eval-in-frame with a prefix argument, the result is now inserted in the REPL buffer. ** Compile function For Allegro M-. works now for functions compiled with C-c C-c. ** slime-edit-definition Better support for Allegro: works now for different type of definitions not only. So M-. now works for e.g. classes in Allegro. ** SBCL 0.8.13 SBCL 0.8.12 is no longer supported. Support for 0.8.12 was broken for for some time now. * 1.0 beta (August 2004) ** autodoc global variables The slime-autodoc-mode will now automatically show the value of a global variable at point. ** Customize group The customize group is expanded and better-organised. ** slime-interactive-eval Interactive-eval commands now print their results to the REPL when given a prefix argument. ** slime-conservative-indentation New Elisp variable. Non-nil means that we exclude def* and with-* from indentation-learning. The default is t. ** (slime-setup) New function to streamline setup in ~/.emacs ** Modeline package The package name in the modeline is now updated on an idle timer. The message should now be more meaningful when moving around in files containing multiple IN-PACKAGE forms. ** XREF bugfix The XREF commands did not find symbols in the right package. ** REPL prompt The package name in the REPL's prompt is now abbreviated to the last `.'-delimited token, e.g. MY.COMPANY.PACKAGE would be PACKAGE. This can be disabled by setting SWANK::*AUTO-ABBREVIATE-DOTTED-PACKAGES* to NIL. ** CMUCL source cache The source cache is now populated on `first-change-hook'. This makes M-. work accurately in more file modification scenarios. ** SBCL compiler errors Detect compiler errors and make some noise. Previously certain problems (e.g. reader-errors) could slip by quietly. * 1.0 alpha (June 2004) The first preview release of SLIME.