* SLIME News -*- mode: outline; coding: utf-8 -*- * 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.