summaryrefslogtreecommitdiff
path: root/NEWS
blob: ed3a7571e7b365f8a9e18b42a650953fe32ea49a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
* SLIME News                                -*- mode: outline; coding: utf-8 -*-
* 2.29.1 (January 2024)
** Compatibility with older Emacs versions
** Type error in utf8-encode

* 2.29 (January 2024)
** Core
*** Loading the system "swank" with ASDF produces compilation artifacts
** ABCL
*** Fix missing source position from string buffer location
** CLASP
*** Add interface to debug stepper
*** Update xref implmentation
*** Close temp file before compile-file
*** Fix detection of serve-event module
** Boring bug fixes

* 2.28 (January 2023)
** Operations that produce a lot of output can be interrupted more easily. 
** Improved compatibility with implementations and newer Emacs versions.
** abcl
*** Fix inspector failure for openjdk16+ Java fields

* 2.27 (January 2022)
** Mostly improved compatibility with different implementations and bug fixes.

* 2.26.1 (December 2020)
** SBCL compatibility

* 2.26 (August 2020)
** Fix copying presentations

* 2.25 (June 2020)
** Core
*** slime-connect takes additional arguments for open-network-stream
** slime-asdf
*** Removed code problematic for non-SMP Lispworks
** slime-fancy
*** Now loaded by default
*** Include slime-indentation
** slime-repl
*** New option: slime-repl-history-use-mark
*** Tweaked slime-repl-inputed-output-face for dark backgrounds
** slime-selector
*** Add prefix argument for opening window in another window
** slime-package-fu
*** Handle UIOP:DEFINE-PACKAGE
** ABCL backend
Numerous additions, including
*** Better able to inspect call arguments
*** Dramatic improvements in inspecting Java objects
*** Enable goto source location to find definitions in JAR archives
*** FIND-DEFINITIONS include symbols and specials defined in Java
** Clasp backend
*** Improved source locations
*** Implemented profiling via metering.lisp
** SBCL backend
*** Discard auto-generated DEFGENERICs from find-definitions

* 2.24 (May 2019)
*** Minor improvements.

* 2.23 (December 2018)
*** Improved compatiblity with different versions of Emacs, SBCL, Clasp, Allegro.
*** Bug fixes

* 2.22 (July 2018)
*** Improved compatiblity with Emacs 26

* 2.21 (June 2018)
*** Improved compatiblity with Emacs 26
*** Mezzano support

* 2.20 (August 2017)
** Core
*** More secure handling of ~/.slime-secret
** SBCL backend
*** Compatiblity with the latest SBCL and older SBCL.
** ECL backend
*** Numerous enhancements

* 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 <http://www.cliki.net/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.