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