1* SLIME News -*- mode: outline; coding: utf-8 -*- 2* 2.26.1 (December 2020) 3** SBCL compatibility 4 5* 2.26 (August 2020) 6** Fix copying presentations 7 8* 2.25 (June 2020) 9** Core 10*** slime-connect takes additional arguments for open-network-stream 11** slime-asdf 12*** Removed code problematic for non-SMP Lispworks 13** slime-fancy 14*** Now loaded by default 15*** Include slime-indentation 16** slime-repl 17*** New option: slime-repl-history-use-mark 18*** Tweaked slime-repl-inputed-output-face for dark backgrounds 19** slime-selector 20*** Add prefix argument for opening window in another window 21** slime-package-fu 22*** Handle UIOP:DEFINE-PACKAGE 23** ABCL backend 24Numerous additions, including 25*** Better able to inspect call arguments 26*** Dramatic improvements in inspecting Java objects 27*** Enable goto source location to find definitions in JAR archives 28*** FIND-DEFINITIONS include symbols and specials defined in Java 29** Clasp backend 30*** Improved source locations 31*** Implemented profiling via metering.lisp 32** SBCL backend 33*** Discard auto-generated DEFGENERICs from find-definitions 34 35* 2.24 (May 2019) 36*** Minor improvements. 37 38* 2.23 (December 2018) 39*** Improved compatiblity with different versions of Emacs, SBCL, Clasp, Allegro. 40*** Bug fixes 41 42* 2.22 (July 2018) 43*** Improved compatiblity with Emacs 26 44 45* 2.21 (June 2018) 46*** Improved compatiblity with Emacs 26 47*** Mezzano support 48 49* 2.20 (August 2017) 50** Core 51*** More secure handling of ~/.slime-secret 52** SBCL backend 53*** Compatiblity with the latest SBCL and older SBCL. 54** ECL backend 55*** Numerous enhancements 56 57* 2.19 (February 2017) 58** Core 59*** Function `create-server` now accepts optional `interface` argument. 60Swank will bind the PORT on this interface. By default, interface is 127.0.0.1. 61This argument can be used, for example, to bind swank on IPv6 interface "::1". 62** SBCL backend 63*** Now swank can be bound to IPv6 interface and can work on IPv6-only machines. 64*** Compatiblity with the latest SBCL 65 66* 2.18 (May 2016) 67*** Mostly bug fixes and compatibility with newer implementations 68 69* 2.17 (February 2016) 70** Contribs 71*** New contrib, slime-macrostep, for more advanced in-place macroexpansion. 72*** New contrib, slime-quicklisp. 73 74* 2.16 (January 2016) 75*** Auto-completion now supports package-local nicknames on SBCL and ABCL. 76*** Bug fixes and updates for newer implementations. 77 78* 2.15 (August 2015) 79** Core 80*** Completions are now displayed with `completion-at-point'. 81The new variable `slime-completion-at-point-functions' should now be 82used to customize completion. The old variable 83`slime-complete-symbol-function' still works, but it is considered 84obsolete and will be removed eventually. 85 86** SBCL backend 87*** M-. can locate forms within PROGN/MACROLET/etc. Needs SBCL 1.2.15 88 89* 2.14 (June 2015) 90** Core 91*** Rationals are displayed in the echo area as floats too 92*** Some of SLDB's faces now have MORE COLOR 93*** Clicking with mouse-1 within inspector does things 94As do mouse-6 and mouse-7. (Thanks to Attila Lendvai.) 95 96** slime-c-p-c (Compound Prefix Completion) 97*** Now takes a better guess at symbol case (issue #233) 98 99** slime-fancy 100*** slime-mdot-fu is now enabled by default 101 102** SBCL backend 103*** Now able to jump to ir1-translators, declaims and alien types 104*** Various updates supporting SBCL 1.2.12 105 106** ABCL backend 107*** Fixed inspection of frame-locals in the debugger 108(Thanks to Mark Evenson.) 109 110* 2.13 (March 2015) 111 112** Core 113*** slime-cycle-connections has been deprecated 114It has been replaced by slime-next-connection and 115slime-prev-connection. A shortcut for the latter has been added to 116slime-selector. 117 118** slime-mdot-fu 119The slime-mdot-fu contrib has been brought back to life. (Thanks to Charles 120Zhang. Issues #8, #231 and #232.) 121 122** slime-typeout-frame 123The slime-typeout-frame contrib has been restored. (Issue #221.) 124 125** SBCL backend 126*** Fixed xrefs coming from C-c C-c 127Issue #227. 128 129** CMUCL, SBCL and SCL backends 130*** Better support for custom readtables 131Functionality that depends on SWANK's source-path-parser, such as 132`slime-find-definition', now works properly in face of custom 133readtables by honoring SWANK:*READTABLE-ALIST*. (Thanks to Gábor 134Melis. PR #244.) 135 136** Kawa backend 137*** Updated for Kawa version 2.0 138 139* 2.12 (January 2015) 140 141** Core 142A couple of regressions introduced in version 2.10 were fixed. 143 144*** slime-compile-buffer (C-c C-k) no longer tries to save every buffer 145*** slime-autodoc-mode doesn't spam the minibuffer anymore 146 147** SWANK 148*** CREATE-SERVER provides interactive restarts when port is taken 149Thanks to Adlai Chandrasekhar. (PR #204.) 150 151** slime-fuzzy 152New variable *FUZZY-DUPLICATE-SYMBOL-FILTER* allows customization of 153how symbols accessible from multiple packages should be 154canonicalized. Defaults to :NEAREST-PACKAGE, a departure from the 155previous default behaviour which is still available using 156:HOME-PACKAGE. The new behaviour expands "ui:e-l" to 157"uiop:ensure-list" rather than "uiop/utility:ensure-list". Consult the 158manual for other options and other details. 159 160Thanks to Ivan Shvedunov. (PR #205.) 161 162* 2.11 (December 2014) 163 164** MELPA is now an officially supported installation method 165Various bugs involving installation and upgrading via package.el were 166fixed. See the README for more details. (Issues #125, #195, #208.) 167 168** Core 169*** Compilation via the xref buffer now works again 170 171** slime-repl / slime-presentations 172Only text to the left of the cursor should limit the scope of history 173navigation. Fixed a long-standing bug that violated this when 174slime-presentations was enabled. (Thanks to Ivan Shvedunov. PR #207.) 175 176** slime-package-fu 177Now handles strings as symbol designators, is mindful of trailing 178whitespace and properly handles an :export clause immediately 179following the package name. (Thanks to Leo Liu. PR #145.) 180 181** slime-indentation 182The edge case handling described in slime-cl-indent.el:958 have been 183has been restored. 184 185** Allegro CL backend 186Support for mlisp was restored. It had been broken by the previous 187release. (Reported by Alexandre Rademaker. Issue #209.) 188 189** New experimental SWANK backend for MLWorks 190 191** SWANK 192swank-listener-hooks was restored. (Thanks to Ivan Shvedunov. PR #210.) 193 194* 2.10.1 (October 2014) 195 196*** The SWANK-BACKEND nickname has been added to the SWANK/BACKEND package 197This should ease the migration of external projects that depend on the 198SWANK-BACKEND package. However, note that SWANK/BACKEND (as well as 199the other SWANK/* packages) are internal packages. Please refer to 200Conium <http://www.cliki.net/conium> for a project that purports to 201offer a stable API for debugger- and compiler-related tasks in Common 202Lisp. 203 204* 2.10 (October 2014) 205 206** Core 207*** The SWANK-BACKEND package has been renamed to SWANK/BACKEND 208Furthermore, implementations of the SWANK-BACKEND interface have 209individual packages such as SWANK/SBCL, SWANK/CCL, etc. Other packages 210such as SWANK-RPC, SWANK-GRAY have likewise had their hyphens turned 211into slashes. 212 213*** slime-compile-file is now aware of compilation-ask-about-save 214When set to nil, SLIME will save modified buffers without asking. 215compilation-save-buffers-predicate can be used to customize which 216buffers should be automatically saved. 217 218** slime-repl 219*** Clearing REPL output no longer deletes the prompt (issue #183) 220 221** slime-autodoc 222This contrib has been rewritten. Please report any regressions you may 223find. 224 225** ABCL backend 226*** Inspecting CLOS objects works properly again 227*** SLDB frame arguments have become inspectable 228 229** SBCL backend 230*** Source locations involving the #. reader macro 231The aforementioned mechanism was adapted to recent changes in the 232internals of the SBCL reader. 233 234*** Breakage involving recent versions of SBCL on Windows was fixed (issue #192) 235We no longer assume SB-SYS:ENABLE-INTERRUPT exists on Windows SBCL. 236 237** MKCL backend 238New backend for ManKai Common Lisp. 239 240** CMUCL backend 241*** Support for versions prior to 20c has been removed 242 243** MIT Scheme backend 244*** Updated and now requires MIT Scheme 9.2 245 246* 2.9 (August 2014) 247 248** Core 249*** Various display-related bugfixes 250 251** CMUCL 252*** M-. now works on condition classes 253 254* 2.8 (July 2014) 255 256** Core 257 258*** Inspector fixes and improvements for SBCL. 259 260** Contribs 261*** Kawa backend supports Kawa 1.14. 262 263* 2.7 (June 2014) 264 265** Core 266*** SWANK now tries harder to send double-floats to Emacs 267 268** Allegro CL Backend 269*** Added implementation for FUNCTION-NAME and FIND-SOURCE-LOCATION interfaces 270Notably, this means that pressing "." in the SLIME inspector now works 271on Allegro CL. (Thanks to Gábor Melis.) 272 273* 2.6 (May 2014) 274 275** Core 276 277*** *print-readably* bound to nil when displaying condition messages 278 279*** Issue #144: Removed nicknames and short package names 280The STD nickname for SWANK-TRACE-DIALOG was removed. MONITOR was 281renamed to SWANK-MONITOR and its nickname MON removed. 282 283*** Issues #135, #154: slime-to-lisp-filename used more pervasively 284Now used for the both the port-file and loader file when announced 285from Emacs to the lisp backend. Allows a user-written 286`slime-to-lisp-filename-function' that supports Cygwin lisps with 287non-Cygwin Emacsen or vice-versa. See #135 for an example of such a 288function. 289 290*** Issue #155: Stale SLDB buffers are now properly removed 291Indirect exits from an SLDB buffer that was not selected in a window 292would leave a stale buffer behind, leading to an inconsistent state 293and unexpected errors. 294 295** Contribs 296 297*** Issue #139: Restored "copy to REPL" for slime-presentations 298`slime-copy-presentation-at-point-to-repl' will copy a presentation to 299the REPL, place it at point, and _not_ set *, ** and ***. This 300behaviour restored after refactorings of "copy to REPL" behaviour of 301previous versions. 302 303*** Issue #140: Improvements in the "copy to REPL" behaviour 304With or without the slime-presentations contrib, M-RET will 305copy/return values to REPL from both Inspector and SLDB buffers, 306setting *, ** and *** . If the slime-presentations contrib is enabled, 307the returned part will be an interactive presentation. The protocol 308for copying down parts to REPL has been reworked to not assume a CL 309backend . 310 311*** Now supports more CLHS references: :type, :system-class, :ansi-cl 312 313*** Issue #133: Fixed links to the SBCL manual 314 315** Backend improvements 316 317*** SBCL 318 319**** `slime-set-default-directory' now calls chdir 320This propagates its effects to subprocesses. 321 322* 2.5 (April 2014) 323 324** Backend improvements 325 326*** Clozure CL 327 328**** `slime-set-default-directory' now calls chdir 329This propagates its effects to subprocesses. 330 331*** Allegro CL 332 333**** swank-compile-string no longer binds *default-pathname-defaults* 334This was inconsistent with the behaviour of other backends and caused 335strange issues with SYS:TEMPORARY-DIRECTORY. 336 337**** Improved source file recording 338Whenever possible interactive definition compilation is mapped to the 339actual source file rather than the buffer name to avoid breakage when 340the the buffer name changes or is closed. 341 342** SLIME Trace Dialog 343 344*** (Un)Tracing a definition automatically updates the trace status 345 346** slime-repl 347 348*** Inspecting * in REPL no longer inspects ** (issue #137) 349 350** slime-autodoc 351 352*** Multiline arglists in `slime-autodoc' no longer imply a newline (issue #7) 353 354** Core Bugfixes 355 356*** SWANK port file name defined in more portable fashion 357Bug reported by Mirko Vukovic on slime-devel. 358 359*** inferior-lisp-program can now hold paths with spaces (issue #116) 360 361* 2.4 (March 2014) 362 363** New contrib SLIME Trace Dialog included in `slime-fancy' 364Interactive interface to tracing functions and methods. See manual for 365details. 366 367** New contrib `slime-fancy-trace', included in `slime-fancy' 368If your implementation allows it, trace complex method signatures, 369labels, etc... 370 371** New options in `slime-cl-indent.el' used by the `slime-indentation' contrib 372New variables are `lisp-loop-body-forms-indentation' and 373`lisp-loop-body-forms-indentation'. 374 375** New command `sldb-copy-down-to-repl' bound to M-RET in debugger 376Copies the frame variable under point to the REPL, much as 377`slime-inspector-copy-down-to-repl' does. 378 379** New command `slime-delete-package' 380 381** UTF8 encoding 382SLIME now uses only UTF8 to encode strings on the wire. Customization 383variables like `slime-net-coding-system' or `swank:*coding-system*' are 384now useless. 385 386** Setup recipe 387In preparation for a more decentralized approach to SLIME contribs, 388the setup recipe has been slightly changed, hopefully in a backwards 389compatible way. Calling `slime-setup' is no longer required. Instead, 390the `slime-contribs' variable can be customized with a list of 391contribs to be loaded when `M-x slime' is first executed. See section 392`8.1 Loading Contrib Packages' of the SLIME Manual for more details. 393 394** Bugfixes and stability improvements since the move to Github 395 396*** Issue #9: new REPL output respectes existing REPL results or presentations. 397 398*** Issue #17: TAB no longer freezes the REPL in "read-mode" 399 400*** Issue #42: compiles on Emacs 24 401 402*** Issue #43: `just-one-space' no longer breaks REPL 403 404*** Issue #34: "Error in timer" error when starting slime on emacs24 405 406*** Printing conditions is now a bit safer in the debugger (git:bafeb86) 407 408*** Fix undo behavior in the REPL (git:af354d7) 409Previously, undo would obliterate previous prompts. 410 411*** Fix REPL type-ahead behaviour when presentations active (git:38a1826) 412Input typed before your lisp responds is appended to the result when it arrives. 413 414*** Fix package and dir synch when no process buffer (git:dc88935) 415Sometimes process buffer has been killed, but connection is still active. 416 417*** M-p on any part of the REPL buffer no longer errors (git:dc88935) 418 419*** slime-presentations can be enabled in inspector (git:647c3c3, 2f57b34) 420Set `slime-inspector-insert-ispec-function' to 421`slime-presentation-inspector-insert-ispec' to use them. 422 423*** M-. on a presentation on the REPL now longer errors 424This happened when `slime-presentations' was enabled, either by itself 425or by `slime-fancy'. 426 427*** M-. on the first position of a *slime-apropos* buffer no longer fails. 428This happened with the `slime-fancy-inspector.el' contrib. 429 430*** RET on no part in *inspector* buffer no longer errors 431 432*** slime-repsentations properly recognized when at very beginning of buffer 433Fix by Attila Lendvai 434 435*** Avoid loading `swank-asdf.lisp' if there's a good chance it will break SWANK 436`swank-asdf.lisp' aborts the connection if it finds an old ASDF version. 437 438*** In ABCL, `slime-describe-function' now works for both macros and functions. 439 440** SLIME builds on Travis CI 441See https://travis-ci.org/slime/slime for the build status and history. 442 443** Testing framework refactored to use ERT 444`def-slime-test' creates regular ERT tests. `define-slime-ert-test' is 445a lighter convenience macro which automatically sets some tags for the 446new tests. 447 448** Top-level Makefile 449For hackers or users using the latest version, there is now a 450top-level Makefile. Use "make help" to learn about targets. 451 452** Moved to Github 453SLIME now lives in Github. The documentation and the README.md file 454were updated. HACKING was renamed to CONTRIBUTING.md and updated with 455Github specific instructions. 456 457** Bugfixes and stability improvements 458Since the last release and before move to Github, many bugfixes and 459other changes were commited, too many to list here. See Changelog for 460details. 461 462* 2.3 (October 2011) 463 464** REPL no longer loaded by default 465SLIME has a REPL which communicates exclusively over SLIME's socket. 466This REPL is no longer loaded by default. The default REPL is now the 467one by the Lisp implementation in the *inferior-lisp* buffer. The 468simplest way to enable the old REPL is: 469 470 (slime-setup '(slime-repl)) 471 472** Precise source tracking in Clozure CL 473Recent versions of the CCL compiler support source-location tracking. 474This makes the sldb-show-source command much more useful and M-. works 475better too. 476 477** Environment variables for Lisp process 478slime-lisp-implementations can be used to specify a list of strings to 479augment the process environment of the Lisp process. E.g.: 480 481 (sbcl-cvs 482 ("/home/me/sbcl-cvs/src/runtime/sbcl" 483 "--core" "/home/me/sbcl-cvs/output/sbcl.core") 484 :env ("SBCL_HOME=/home/me/sbcl-cvs/contrib/")) 485 486* 2.1 487 488** Removed Features 489Some of the more esoteric features, like presentations or fuzzy 490completion, are no longer enabled by default. A new directory 491"contrib/" contains the code for these packages. To use them, you 492must make some changes to your ~/.emacs. For details see, section 493"Contributed Packages" in the manual. 494 495** Stepper 496Juho Snellman implemented stepping commands for SBCL. 497 498** Completions 499SLIME can now complete keywords and character names (like #\newline). 500 501* 2.0 (April 2006) 502 503** In-place macro expansion 504Marco Baringer wrote a new minor mode to incrementally expand macros. 505 506** Improved arglist display 507SLIME now recognizes `make-instance' calls and displays the correct 508arglist if the classname is present. Similarly, for `defmethod' forms 509SLIME displays the arguments of the generic function. 510 511** Persistent REPL history 512SLIME now saves the command history from REPL buffers in a file and 513reloads it for newly created REPL buffers. 514 515** Scieneer Common Lisp 516Douglas Crosher added support for Scieneer Common Lisp. 517 518** SBCL 519Various improvements to make SLIME work well with current SBCL versions. 520 521** Corman Common Lisp 522Espen Wiborg added support for Corman Common Lisp. 523 524** Presentations 525A new feature which associates objects in Lisp with their textual 526represetation in Emacs. The text is clickable and operations on the 527associated object can be invoked from a pop-up menu. 528 529** Security 530SLIME has now a simple authentication mechanism: if the file 531~/.slime-secret exists we verify that Emacs and Lisp can access it. 532Since both parties have access to the same file system, we assume that 533we can trust each other. 534 535* 1.2 (March 2005) 536 537** New inspector 538The lisp side now returns a specially formated list of "things" to 539format which are then passed to emacs and rendered in the inspector 540buffer. Things can be either text, recursivly inspectable values, or 541functions to call. The new inspector has much better support CLOS 542objects and methods. 543 544** Unicode 545It's now possible to send non-ascii characters to Emacs, if the 546communication channel is configured properly. See the variable 547`slime-net-coding-system'. 548 549** Arglist lookup while debugging 550Previously, arglist lookup was disabled while debugging. This 551restriction was removed. 552 553** Extended tracing command 554It's now possible to trace individual a single methods or all methods 555of a generic function. Also tracing can be restricted to situations 556in which the traced function is called from a specific function. 557 558** M-x slime-browse-classes 559A simple class browser was added. 560 561** FASL files 562The fasl files for different Lisp/OS/hardware combinations are now 563placed in different directories. 564 565** Many other small improvements and bugfixes 566 567* 1.0 (September 2004) 568 569** slime-interrupt 570The default key binding for slime-interrupt is now C-c C-b. 571 572** sldb-inspect-condition 573In SLDB 'C' is now bound to sldb-inspect-condition. 574 575** More Menus 576SLDB and the REPL have now pull-down menus. 577 578** Global debugger hook. 579A new configurable *global-debugger* to control whether 580swank-debugger-hook should be installed globally is available. True by 581default. 582 583** When you call sldb-eval-in-frame with a prefix argument, the result is 584now inserted in the REPL buffer. 585 586** Compile function 587For Allegro M-. works now for functions compiled with C-c C-c. 588 589** slime-edit-definition 590Better support for Allegro: works now for different type of 591definitions not only. So M-. now works for e.g. classes in Allegro. 592 593** SBCL 0.8.13 594SBCL 0.8.12 is no longer supported. Support for 0.8.12 was broken for 595for some time now. 596 597* 1.0 beta (August 2004) 598 599** autodoc global variables 600The slime-autodoc-mode will now automatically show the value of a 601global variable at point. 602 603** Customize group 604The customize group is expanded and better-organised. 605 606** slime-interactive-eval 607Interactive-eval commands now print their results to the REPL when 608given a prefix argument. 609 610** slime-conservative-indentation 611New Elisp variable. Non-nil means that we exclude def* and with-* from 612indentation-learning. The default is t. 613 614** (slime-setup) 615New function to streamline setup in ~/.emacs 616 617** Modeline package 618The package name in the modeline is now updated on an idle timer. The 619message should now be more meaningful when moving around in files 620containing multiple IN-PACKAGE forms. 621 622** XREF bugfix 623The XREF commands did not find symbols in the right package. 624 625** REPL prompt 626The package name in the REPL's prompt is now abbreviated to the last 627`.'-delimited token, e.g. MY.COMPANY.PACKAGE would be PACKAGE. This 628can be disabled by setting SWANK::*AUTO-ABBREVIATE-DOTTED-PACKAGES* to 629NIL. 630 631** CMUCL source cache 632The source cache is now populated on `first-change-hook'. This makes 633M-. work accurately in more file modification scenarios. 634 635** SBCL compiler errors 636Detect compiler errors and make some noise. Previously certain 637problems (e.g. reader-errors) could slip by quietly. 638 639* 1.0 alpha (June 2004) 640 641The first preview release of SLIME. 642 643