/[slime]/slime/ChangeLog
ViewVC logotype

Contents of /slime/ChangeLog

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.2399 - (show annotations)
Tue Apr 23 16:37:14 2013 UTC (11 months, 3 weeks ago) by sboukarev
Branch: MAIN
Changes since 1.2398: +5 -0 lines
* slime.el (slime-draw-connection-list): Make sure not to call
goto-char on NIL.
1 2013-04-23 Stas Boukarev <stassats@gmail.com>
2
3 * slime.el (slime-draw-connection-list): Make sure not to call
4 goto-char on NIL.
5
6 2013-04-02 Luís Oliveira <loliveira@common-lisp.net>
7
8 Hide SWANK debugger frames on Allegro also when the error is
9 signalled within threads different from the SLIME REPL's.
10 E.g. (mp:process-run-function nil (lambda () (error "foo"))).
11
12 * swank-allegro.lisp (find-topframe): look deeper than 11
13 frames. Still looking no deeper than 30 frames in the unlikely
14 event that this function is invoked out of context with a very
15 large stack.
16
17 2013-03-12 Helmut Eller <heller@common-lisp.net>
18
19 * slime.el (slime-read-interactive-args): Use read-shell-command
20 to enable completion. Patch by Daimrod/Greg.
21
22 2013-03-08 Mark Evenson <evenson@tethys.local>
23
24 * swank-abcl.lisp: Allow SLIME inspector to perform class
25 finalization.
26
27 2013-03-02 Stas Boukarev <stassats@gmail.com>
28
29 * slime-autoloads.el: Don't load autoloads when slime is already
30 loaded, there's no sense in doing so.
31
32 2013-02-20 Stas Boukarev <stassats@gmail.com>
33
34 * slime.el (slime-attempt-connection): Don't run the timer with a
35 repeat argument, slime-attempt-connection will reinstantiate the
36 timer if needed, otherwise it can be a possible source of race
37 conditions.
38
39 2013-02-13 Helmut Eller <heller@common-lisp.net>
40
41 * swank-allegro.lisp (eval-in-frame): debugger:frame-var-name can
42 return nil; ignore those vars.
43
44 * slime.el (sldb-setup): Allegro somehow managed to enter sldb at
45 the same level twice. Add an assertion that checks that the
46 condition is the same if sldb-level is the same as last time.
47
48 2013-02-08 Helmut Eller <heller@common-lisp.net>
49
50 * swank-lispworks.lisp (frame-package): Implemented.
51 (function-name-package): New.
52
53 2013-02-08 Helmut Eller <heller@common-lisp.net>
54
55 * swank-allegro.lisp (handle-compiler-warning): Ignore "Closure
56 will be stack allocated" notes. Those are harmless and there are
57 too many of them.
58 (pc-source-location, ldb-code-to-src-loc): Handle case when
59 excl::ldb-code-pc returns nil.
60
61 2013-02-02 Stas Boukarev <stassats@gmail.com>
62
63 * swank-backend.lisp (type-specifier-p): New.
64 Implement it for ACL, ECL, CCL, Clisp, SBCL, LW.
65
66 2013-01-12 Stas Boukarev <stassats@gmail.com>
67
68 * swank-backend.lisp: Add a couple of ignore declarations.
69
70 2013-01-11 Stas Boukarev <stassats@gmail.com>
71
72 * swank-ecl.lisp (accept-connection): Fix a typo, line => :line.
73
74 2013-01-11 Helmut Eller <heller@common-lisp.net>
75
76 * swank.lisp (swank-compile-file*): Renamed from
77 compile-file-with-compile-file.
78
79 2013-01-10 Helmut Eller <heller@common-lisp.net>
80
81 * swank-ecl.lisp (frame-var-value): Return the value without name.
82
83 2013-01-09 Helmut Eller <heller@common-lisp.net>
84
85 * swank.lisp (frame-locals-for-emacs): Print variable names in
86 frame-package.
87
88 2013-01-09 Helmut Eller <heller@common-lisp.net>
89
90 * swank-sbcl.lisp (frame-debug-vars): Only include :valid locals.
91 (*keep-non-valid-locals*): New.
92 (frame-package): New.
93
94 2013-01-07 Helmut Eller <heller@common-lisp.net>
95
96 * swank-ccl.lisp (compiler-warning-short-message): Add a method
97 for ccl::shadowed-typecase-clause. Whithout that we only get
98 "Nonspecific warning".
99 (function-name-package): Factored out from frame-package. Add
100 case for standard-method.
101
102 2013-01-07 Helmut Eller <heller@common-lisp.net>
103
104 * swank-ecl.lisp (describe-symbol-for-emacs): Include bound
105 symbols even those without documentation.
106
107 * slime.el (slime-print-apropos): Do some input validation to
108 detect bugs on the Lisp side.
109
110 * swank-backend.lisp (describe-symbol-for-emacs): Allow NIL where
111 :NOT-DOCUMENTED was needed.
112
113 2013-01-05 Helmut Eller <heller@common-lisp.net>
114
115 * swank-ccl.lisp (frame-package): Implemented.
116
117 2013-01-05 Helmut Eller <heller@common-lisp.net>
118
119 * swank-loader.lisp (init): Add a :quiet argument.
120
121 2012-12-27 Stas Boukarev <stassats@gmail.com>
122
123 * swank.lisp (find-definitions-find-symbol-or-package): Rename
124 from `find-definitions-find-symbol'. Packages are not named by
125 symbols and an uninterned string can refer to a package. In case
126 it finds a package, return a new uninterned symbol.
127
128 2012-12-17 Stas Boukarev <stassats@gmail.com>
129
130 * swank-ecl.lisp (swank-mop): MOP works well now on ECL, import
131 all symbols.
132
133 * swank.lisp (thread-for-evaluation): Use INTEGER, not FIXNUM, as
134 a specializer, FIXNUM is not a standard class.
135
136 2012-12-16 Helmut Eller <heller@common-lisp.net>
137
138 * swank.lisp (thread-for-evaluation): Make generic. Remove keyword
139 arg. Don't call find-repl-thread.
140
141 2012-12-16 Helmut Eller <heller@common-lisp.net>
142
143 * slime.el (slime-attempt-connection): Show the attempt counter.
144
145 2012-12-03 Stas Boukarev <stassats@gmail.com>
146
147 * swank-backend.lisp (deinit-log-output): Move from swank-sbcl,
148 use it on CCL in ccl:*save-exit-functions* as well.
149
150 * swank-allegro.lisp (macroexpand-all): USe walk-form, not walk
151 on >= 8.2.
152 Patch by Utz-Uwe Haus.
153
154 2012-11-23 Stas Boukarev <stassats@gmail.com>
155
156 * slime.el (slime-edit-definition): Don't ask the user for a name
157 to search if it's missing before running slime-edit-definition-hooks
158 (slime-open-inspector): pop-to-buffer before inserting anything,
159 otherwise the point is not moved into the desired position.
160
161 2012-11-13 Francois-Rene Rideau <tunes@google.com>
162
163 * swank.lisp (*compile-file-for-emacs-hook*): A hook for
164 compile-file-for-emacs, so that ASDF can hook its compilation
165 functions.
166
167 2012-11-12 Stas Boukarev <stassats@gmail.com>
168
169 * swank.lisp (with-panic-handler): Abort the condition after
170 closing the connection, otherwise it ends up in the slime debugger
171 causing nested errors.
172
173 2012-11-11 Stas Boukarev <stassats@gmail.com>
174
175 * swank.lisp (interrupt-worker-thread): Solve *send-counter*
176 binding problem.
177 find-worker-thread: Merge with `thread-for-evaluation'.
178
179 2012-11-11 Helmut Eller <heller@common-lisp.net>
180
181 * slime.el ([test] find-definition.3): Mark as expected to fail.
182 ([test] arglist): Adjust regexp so that CCL passes.
183 (slime-execute-tests): Insert summary table at the the end.
184 (slime-check): Don't change counters here, as that would count
185 multiple times per test. Instead to the counting in
186 slime-execute-tests.
187
188 2012-11-11 Helmut Eller <heller@common-lisp.net>
189
190 * swank-allegro.lisp (ldb-code-to-src-loc): Scan backward to the
191 first code point with a non-nil start-char.
192 (frame-package): Also match for ((:internal foo ...)).
193
194 2012-11-08 Helmut Eller <heller@common-lisp.net>
195
196 * slime.el (slime-timer-call): Use debug marker in
197 condition-case.
198
199 2012-11-02 Helmut Eller <heller@common-lisp.net>
200
201 * slime.el (find-definition.3): Fix syntax.
202
203 2012-11-02 Helmut Eller <heller@common-lisp.net>
204
205 * swank.lisp (condition-message): New. Binds *print-cirlce.
206 (safe-condition-message): Move binding of printer vars to
207 condition-message.
208 (*sldb-condition-printer*): Set it to #'condition-message.
209
210 2012-11-02 Helmut Eller <heller@common-lisp.net>
211
212 * swank-allegro.lisp (frame-source-location, ldb-code-to-src-loc):
213 Use function-source-location for some cases that used to cause
214 errors.
215 (frame-package): New.
216 (format-sldb-condition, call-with-syntax-hooks): Deleted. Did just
217 the same as the default implementation.
218
219 2012-11-02 Helmut Eller <heller@common-lisp.net>
220
221 * slime.el ([test] find-definition): Test defstruct and defvar.
222 ([test] find-definition.3): New.
223
224 2012-10-30 Helmut Eller <heller@common-lisp.net>
225
226 * swank-cmucl.lisp (dd-location): Use info db as fallback.
227 (struct-constructor): Return the name not the function.
228
229 2012-10-27 Helmut Eller <heller@common-lisp.net>
230
231 * slime.el (report-condition-with-circular-list): New test.
232 * swank.lisp (safe-condition-message): Bind *print-length* and
233 truncate the string after 64KB.
234
235 2012-10-20 Stas Boukarev <stassats@gmail.com>
236
237 * slime.el (slime-location-offset): When going to a position
238 causes an error, for example, trying to move beyond the end of the
239 buffer, move the point to 0 and then try to use the hints.
240
241 2012-10-14 Helmut Eller <heller@common-lisp.net>
242
243 * slime.el (slime-insert-threads): Some cleanups.
244 (slime-insert-table, slime-insert-table-row)
245 (slime-transpose-lists) New helpers.
246 (slime-threads-table-properties): Renamed from
247 *slime-threads-table-properties*
248 (slime-thread-index-to-id, slime-longest-lines)
249 (slime-format-threads-labels, slime-insert-thread): Deleted.
250
251 2012-10-14 Helmut Eller <heller@common-lisp.net>
252
253 Avoid some unused variable warnings.
254
255 * slime.el (slime-xref-group, slime-all-contribs, [selector] ??):
256 Use _ as prefix or in loop-destructuring: (loop for (nil) in ...).
257
258 2012-10-14 Helmut Eller <heller@common-lisp.net>
259
260 * slime.el (slime-goto-source-location-buffer-and-file): Delete
261 unused function.
262
263 2012-10-14 Helmut Eller <heller@common-lisp.net>
264 Avoid flet.
265
266 * slime.el (with-struct, slime-compute-policy)
267 (slime-create-note-overlay, slime-merge-note-into-overlay)
268 (slime-file-name-merge-source-root)
269 (slime-highlight-differences-in-dirname)
270 (slime-check-location-filename-sanity, slime-macroexpand-undo)
271 (slime-read-connection)
272 (slime-inspector-property-at-point): Use macrolet or a
273 comibination of let and funcall as replacement for flet.
274
275 2012-10-14 Helmut Eller <heller@common-lisp.net>
276 Avoid labels.
277
278 * hyperspec.el (hyperspec--get-one-line): New function.
279
280 2012-10-14 Helmut Eller <heller@common-lisp.net>
281
282 * swank.lisp (close-connection%): Let *debugger-hook* be nil
283 across the entire function to that we don't call our own debugger
284 if we ever get some error during CLOSE or somesuch.
285
286 2012-09-04 Stas Boukarev <stassats@gmail.com>
287
288 * swank-loader.lisp (lisp-version-string): Add "s" to Allegro with
289 SMP support.
290 Patch by Dave Cooper.
291
292 2012-08-18 Stas Boukarev <stassats@gmail.com>
293
294 * swank-abcl.lisp (find-definitions): Call ext:resolve before
295 finding definitions, for the symbol may be not autoloaded yet.
296
297 2012-08-04 Stas Boukarev <stassats@gmail.com>
298
299 * swank-sbcl.lisp (call-with-debugging-environment): Use
300 sb-debug::resolve-stack-top-hint instead of just
301 sb-debug:*stack-top-hint*, because now it can contain things other
302 than just frames.
303 * clean up: (signal (make-condition ...)) => (signal ...)
304
305 2012-07-13 Helmut Eller <heller@common-lisp.net>
306
307 * slime.el: Don't compile functions that are now in other files.
308
309 2012-06-19 Helmut Eller <heller@common-lisp.net>
310
311 * swank-ecl.lisp (wait-for-input): Provide implementation
312 that doesn't need serve-event.
313
314 2012-06-12 Stas Boukarev <stassats@gmail.com>
315
316 * slime.el (slime-changelog-date): Use
317 (expand-file-name "ChangeLog" slime-path) instead of
318 (concat slime-path "ChangeLog"), slime-path may not have a
319 trailing /.
320 Reported by Paul Sexton (lp#1011935).
321
322 2012-05-25 Stas Boukarev <stassats@gmail.com>
323
324 * slime.el (slime-oneliner): Use minibuffer width instead of the
325 width of the current frame, minibuffer can be in a separate frame
326 with a different width.
327 Patch by Greg Pfeil (lp#1004252).
328
329 2012-05-21 Helmut Eller <heller@common-lisp.net>
330
331 Reduce dependecy on pre-defined faces.
332
333 * slime.el (slime-apropos-symbol, slime-apropos-label): New faces.
334 (slime-print-apropos): Use them.
335
336 Reported by: Daimrod <daimrod@gmail.com>
337
338 2012-05-12 Helmut Eller <heller@common-lisp.net>
339
340 * swank-sbcl.lisp (stream-force-output): Undo last few changes.
341
342 2012-05-11 Helmut Eller <heller@common-lisp.net>
343
344 * swank-sbcl.lisp (stream-force-output): Use with-world-lock
345 i.e. with-recursive-lock instead of with-mutex.
346 * slime.el (sbcl-world-lock): New test.
347
348 2012-05-11 Helmut Eller <heller@common-lisp.net>
349
350 * swank-sbcl.lisp (stream-force-output): Don't use
351 with-deadline. Grab the world-lock instead.
352 (condition-timed-wait): Use the :timeout argument for real.
353
354 2012-05-11 Helmut Eller <heller@common-lisp.net>
355
356 * swank-backend.lisp (call-with-io-timeout): Not used. Deleted.
357 * swank-sbcl.lisp (call-with-io-timeout): Deleted.
358
359 2012-05-07 Helmut Eller <heller@common-lisp.net>
360
361 Ignore linebreaks for the macroexpand test.
362 SBCL should now also pass it.
363
364 * slime.el (slime-test-macroexpansion=): New function.
365 ([test] macroexpand): Use it.
366
367 2012-05-06 Helmut Eller <heller@common-lisp.net>
368
369 * swank-sbcl.lisp (condition-timed-wait): Undo previous change.
370 The :timeout arg doesn't seem ready for production use.
371
372 2012-05-06 Helmut Eller <heller@common-lisp.net>
373
374 * swank-sbcl.lisp (condition-timed-wait): Use the :timeout
375 argument of sb-thread:condition-wait if supported.
376
377
378 2012-05-06 Helmut Eller <heller@common-lisp.net>
379
380 * swank-sbcl.lisp (with-definition-source): Forgot to commit this
381 one.
382
383 * swank-allegro.lisp (string-to-utf8): Set the :null-terminate
384 argument of excl:string-to-octets to nil.
385
386 2012-05-06 Helmut Eller <heller@common-lisp.net>
387
388 * swank-backend.lisp (with-struct): Undo damage.
389 * swank-sbcl.lisp (with-definition-source): New macro.
390
391 2012-05-06 Helmut Eller <heller@common-lisp.net>
392
393 * swank.lisp, swank-rpc.lisp: iso-8859-1 is not same as
394 latin-1-unix.
395
396 2012-05-06 Cyrus Harmon <ch-slime@bobobeach.com>
397 Helmut Eller <heller@common-lisp.net>
398
399 * slime.el (slime-pprint-eval-region): New command. No keybinding
400 though.
401
402 2012-05-04 Nikodemus Siivola <nikodemus@random-state.net>
403
404 * swank-sbcl.lisp: Remove the SB-C::MERGE-TAIL-CALLS proclamation.
405 It does nothing, and never did, actually.
406
407 2012-05-03 Stas Boukarev <stassats@gmail.com>
408
409 * slime.el (slime-goto-source-location): Allow for
410 :buffer-and-file locations, prefer buffer if the buffer exists.
411
412 * swank-sbcl.lisp (definition-source-for-emacs): Send
413 :buffer-and-file when both are available.
414 (quit-lisp): Use sb-ext:exit when it's present.
415
416 2012-05-03 Stas Boukarev <stassats@gmail.com>
417
418 * swank.lisp (find-definitions-find-symbol): Put back accidentally
419 removed with-buffer-syntax.
420
421 2012-05-02 Stas Boukarev <stassats@gmail.com>
422
423 * swank.lisp (*find-definitions-right-trim*)
424 (*find-definitions-left-trim*): New variables. ",:." and "#:"
425 default values.
426 (find-definitions-for-emacs): Trim names with using the above
427 variables when a symbol is not found.
428
429 2012-05-01 Stas Boukarev <stassats@gmail.com>
430
431 * slime.el (slime-xrefs-for-notes): Format location in a proper
432 way.
433 Reported by Max Mikhanosha.
434
435 2012-04-27 Nikodemus Siivola <nikodemus@random-state.net>
436
437 * swank-sbcl.lisp (lisp-source-location): How hard can it be to
438 get this right? (3-legged IF, FFS!)
439
440 2012-04-24 Douglas Crosher <dcrosher@common-lisp.net>
441
442 * swank-scl.lisp (create-socket): correct variable name typo.
443
444 * swank.lisp, swank-rpc.lisp (file options): use #\; to separate the
445 file options.
446
447 2012-04-23 Christophe Rhodes <csr21@cantab.net>
448
449 * slime.el (slime-operator-before-point-function): new variable.
450 (slime-operator-before-point): use it.
451 (slime-lisp-operator-before-point): default implementation for
452 slime-operator-before-point-function (unchanged from before).
453
454 2012-04-20 Nikodemus Siivola <nikodemus@random-state.net>
455
456 * swank-sbcl.lisp (stream-force-output :around): Workaroud for
457 deadlocks between auto-flush-thread buffer write lock and world
458 lock.
459 (slime-output-stream): Dummy forward definition for the benefit of
460 the defmethod.
461
462 2012-04-20 Nikodemus Siivola <nikodemus@random-state.net>
463
464 * swank-sbcl.lisp (swank-value): New function, makes it easy to
465 refer to variables in SWANK -- which doesn't exist when the
466 backend is loaded.
467 (lisp-source-location): One of the strings being interned was
468 downcased. Fix using SWANK-VALUE.
469 (make-socket-io-stream): Use SWANK-VALUE instead of INTERN &
470 SYMBOL-VALUE.
471
472 2012-04-11 Helmut Eller <heller@common-lisp.net>
473
474 * slime.el ([test] utf-8-source): Use the encoded byte sequence of
475 the Unicode string.
476
477 2012-04-10 Stas Boukarev <stassats@gmail.com>
478
479 * slime.el (def-slime-test utf-8-source): Define only when
480 (and (featurep 'emacs) (>= emacs-major-version 23)).
481
482 2012-04-10 Stas Boukarev <stassats@gmail.com>
483
484 * slime.el (def-slime-test utf-8-source): Another try at fixing
485 utf8 literals in code.
486
487 2012-04-09 Stas Boukarev <stassats@gmail.com>
488
489 * slime.el (def-slime-test utf-8-source): Remove literal Unicode
490 characters in the form of \xFFFF, it causes problems for some
491 people.
492
493 2012-04-07 Helmut Eller <heller@common-lisp.net>
494
495 Fix long lines.
496
497 * swank.lisp:
498 * slime.el:
499 * ChangeLog:
500 * swank-cmucl.lisp:
501 * swank-lispworks.lisp:
502 * contrib/ChangeLog
503 * hyperspec.el
504 * metering.lisp
505 * swank-abcl.lisp
506 * swank-allegro.lisp
507 * swank-backend.lisp
508 * swank-clisp.lisp
509 * swank-corman.lisp
510 * swank-ecl.lisp
511 * swank-sbcl.lisp
512 * swank-scl.lisp
513 * swank-source-path-parser.lisp
514 * xref.lisp
515
516 2012-04-06 Stas Boukarev <stassats@gmail.com>
517
518 * swank.lisp (interrupt-worker-thread): Interrupt the REPL thread if
519 there are no threads found. Send Emacs an error message if no
520 threads are found at all.
521
522 2012-03-30 Nikodemus Siivola <nikodemus@random-state.net>
523
524 * swank-sbcl.lisp (lisp-source-location): When processing a
525 STEP-FORM-CONDITION, don't show the initial form from expansion of
526 STEP. (Currently SBCL doesn't give the form at all, but when it
527 does seeing it is distinctly useless.)
528
529 2012-03-26 Helmut Eller <heller@common-lisp.net>
530
531 * slime.el (utf-8-source): XEmacs has no set-buffer-multibyte.
532 (slime-create-test-results-buffer): Set file-coding-system.
533
534 * swank-lispworks.lisp (swank-compile-string): Don't include the
535 source-string in the dspec::*location*. As LW has the habbit to
536 print the entire *location* on redefinition the source-string
537 would causes troubles for the test case.
538
539 * swank-sbcl.lisp (swank-compile-string): Use utf8.
540
541 * swank-cmucl.lisp (swank-compile-file): Use external-format arg.
542
543 * swank-ccl.lisp (swank-compile-string, compile-temp-file): Use
544 utf8.
545
546 * slime.el (utf-8-source): New test case.
547
548 2012-03-14 Paulo Madeira <acelent@gmail.com>
549
550 Use Unix-EOL convention even on Windows.
551
552 * swank-allegro.lisp (string-to-utf8, utf8-to-string): Use
553 excl:crlf-base-ef.
554 * swank-lispworks.lisp (string-to-utf8, utf8-to-string): Use
555 '(:utf-8 :eol-style :lf)
556
557 2012-03-06 Helmut Eller <heller@common-lisp.net>
558
559 * swank-ccl.lisp: If 'xref is not provided warn about it but
560 continue.
561
562 2012-03-06 Helmut Eller <heller@common-lisp.net>
563
564 Fix SBCL backend for Windows.
565
566 * swank-sbcl.lisp (fd-stream-input-buffer-empty-p): Restore it.
567
568 2012-03-06 Helmut Eller <heller@common-lisp.net>
569
570 * swank.lisp (swank-require): Ensure that provide as called.
571
572 2012-02-12 Stas Boukarev <stassats@gmail.com>
573
574 * swank-ecl.lisp (accept-connection): Use the proper element-type
575 for the stream.
576
577 2012-02-12 Stas Boukarev <stassats@gmail.com>
578
579 * swank-clisp.lisp (c-error): The number of parameters to
580 sys::c-warn was changed, accommodate both versions.
581
582 2012-02-07 Martin Simmons <martin@lispworks.com>
583
584 * swank-lispworks.lisp (dspec-file-position): Fall back to regexp
585 search if dspec-stream-position gets an error.
586
587 2012-01-06 Helmut Eller <heller@common-lisp.net>
588
589 Add a "sentinel thread" to protect access to global lists.
590
591 * swank.lisp (start-sentinel, sentinel, send-to-sentinel)
592 (sentinel-serve, sentinel-stop-server, sentinel-maybe-exit): New.
593 (make-connection, close-connection, setup-server, stop-server):
594 Use the sentinel.
595 (close-connection%): Factored out.
596 * swank-backend.lisp (register-thread, find-registered): New.
597 * swank-allegro.lisp: Implement it.
598 * swank-ccl.lisp:
599 * swank-lispworks.lisp:
600 * swank-sbcl.lisp:
601
602 2012-01-02 Stas Boukarev <stassats@gmail.com>
603
604 * swank-loader.lisp (lisp-version-string): Append -no-threads to
605 SBCL without threads.
606
607 2011-12-24 Stas Boukarev <stassats@gmail.com>
608
609 * slime.el (slime-init-command): Don't call
610 `slime-to-lisp-filename', the lisp is not yet connected and if
611 there's another connection it will use the wrong translation.
612
613 2011-12-24 Stas Boukarev <stassats@gmail.com>
614
615 * swank.lisp (throw-to-toplevel): If *sldb-quit-restart* is not
616 found, try to invoke the last restart, which usually is a
617 top-level abort restart. This is useful when the debugger is
618 invoked from a non-slime thread.
619
620 2011-12-23 Stas Boukarev <stassats@gmail.com>
621
622 * slime.el (slime-cycle-connections): Add
623 `slime-cycle-connections-hook', to be used by slime-repl.
624
625 2011-12-21 Stas Boukarev <stassats@gmail.com>
626
627 * swank-sbcl.lisp (input-ready-p): Don't use
628 sb-impl::fd-stream-fd-type if it's not present.
629
630 2011-12-12 Stas Boukarev <stassats@gmail.com>
631
632 * slime.el (slime-compile-region): Run slime-flash-region
633 directly, not from `slime-before-compile-functions', which is run
634 also for C-c C-k.
635
636 2011-12-10 Helmut Eller <heller@common-lisp.net>
637
638 * swank.lisp (auto-flush-loop): Don't use call-with-io-timeout.
639 Removing it had no effect on the number of failed tests. If you
640 want it back, first create a test case to demonstrate the problem.
641 * swank-backend.lisp: Mention that locks should only be used in
642 swank-gray.lisp.
643
644 2011-12-10 Helmut Eller <heller@common-lisp.net>
645
646 * swank.lisp: Move io-redirection to contrib/swank-repl.lisp.
647
648 2011-12-10 Helmut Eller <heller@common-lisp.net>
649
650 Make *active-threads* a slot of the connection struct.
651
652 * swank.lisp (*active-threads*): Deleted
653 ([struct] multithreaded-connection): New slot active-threads.
654 (find-worker-thread, interrupt-worker-thread)
655 (thread-for-evaluation): Update accordingly.
656 (add-active-thread, remove-active-thread): New helpers.
657
658 2011-12-10 Helmut Eller <heller@common-lisp.net>
659
660 * swank-loader.lisp (delete-stale-contrib-fasl-files): New.
661 (compile-contribs): Use it.
662
663 2011-12-09 Helmut Eller <heller@common-lisp.net>
664
665 Create an extra thread for the indentation cache.
666
667 * swank.lisp (indentation-cache-loop): New.
668 ([struct] multithreaded-connection): New slot
669 indentation-cache-thread.
670 (control-thread, cleanup-connection-threads): Create/kill it.
671 (send-to-indentation-cache): New function.
672 (update-indentation-information, sync-indentation-to-emacs): Use
673 it.
674 (perform-indentation-update, update-indentation/delta-for-emacs):
675 Add package as argument; that used to be *buffer-package. Can
676 again be simpler as the indentation-cache-thread doesn't share the
677 cache with others.
678 (handle-indentation-cache-request, symbol-packages): New helpers.
679
680 2011-12-07 Helmut Eller <heller@common-lisp.net>
681
682 * swank.lisp (*slime-interrupts-enabled*): Describe the idea
683 behind the interrupt handling code a bit.
684
685 2011-12-07 Helmut Eller <heller@common-lisp.net>
686
687 Make *event-queue* and *events-enqueued* slots of the connection
688 struct.
689
690 * swank.lisp (*event-queue*, *events-enqueued*): Deleted
691 ([struct] singlethreaded-connection): New slots event-queue and
692 events-enqueued.
693 (poll-for-event, send-event, wait-for-event/event-loop): Update
694 accordingly.
695
696 2011-12-07 Helmut Eller <heller@common-lisp.net>
697
698 * slime.el ([xemacs]): Use (find-coding-system 'utf-8-unix)
699 instead of checking the XEmacs version to decide when 'un-define
700 is required.
701
702 2011-12-07 Helmut Eller <heller@common-lisp.net>
703
704 * swank.lisp (send-to-emacs): Add a without-slime-interrupts to
705 protect send/receive from arbitrary interrupts.
706
707 2011-12-07 Helmut Eller <heller@common-lisp.net>
708
709 Move flow control from dispatch-event to send-to-emacs.
710
711 * swank.lisp (*send-counter*): New thread local variable.
712 (with-connection): Bind it.
713 (send-to-emacs): Call maybe-slow-down.
714 (maybe-slow-down, ping-pong): Go through dispatch-event instead of
715 writing to the socket directly.
716 (dispatch-event): Re-add thread arg to :ping/:emacs-pong.
717 Also add a :test-delay event.
718 (perform-indentation-update): Use with-connection to bind
719 *emacs-connection* and *send-counter*.
720 (background-message): Remove reference to connection.slowdown.
721 (flow-control-test): New support code for testing flow-control.
722 ([defstruct] connection): Delete send-counter and slowdown slots.
723
724 * slime.el (slime-dispatch-event): Re-add thread arg to
725 :ping/:emacs-pong and :test-delay event.
726 ([test] flow-control): New test.
727
728 2011-12-07 Helmut Eller <heller@common-lisp.net>
729
730 * slime.el (slime-update-system-indentation): Moved to
731 contrib/slime-indentation.el.
732
733 2011-12-07 Helmut Eller <heller@common-lisp.net>
734
735 * slime.el (slime-batch-test): Forgot to rename slime-run-one-test
736 to slime-run-test here.
737 (slime-net-connect): Remove coding-system argument.
738 (slime-xref-insert-recompilation-flags): Use insert-char instead
739 of (dotimes (i ..) (insert " " ..)) to avoid the compiler warning.
740 ([test] break, slime-forward-sexp): Use _i in dotimes.
741
742 2011-12-07 Stas Boukarev <stassats@gmail.com>
743
744 * doc/.cvsignore: Add html.tgz
745
746 2011-12-07 Didier Verna <didier@xemacs.org>
747
748 * doc/.cvsignore: Add more files generated by Texinfo (.kys, .fns
749 and .vrs).
750
751 2011-12-05 Didier Verna <didier@xemacs.org>
752
753 * slime.el ([xemacs]): Don't require 'un-define in XEmacs 21.5 and
754 later. Mule-UCS is not needed anymore because of internal Unicode
755 support (and conflicts with it).
756
757 2011-12-06 Stas Boukarev <stassats@gmail.com>
758
759 * slime.el (slime-compile-region): Check connection before running
760 hooks, invoking slime-flash-region doesn't make much sense when
761 there's no connection.
762
763 2011-12-05 Helmut Eller <heller@common-lisp.net>
764
765 Move flow control into dispatch-event.
766
767 * swank.lisp (maybe-slow-down, ping-pong): New functions.
768 (dispatch-event): Use it. Also require connection argument.
769 Update callers accordingly.
770 ([defstruct] connection): New slots: send-counter and slowdown.
771 * slime.el (slime-dispatch-event): Drop thread from
772 :ping/:emacs-ping messages.
773
774 Use subclasses of connection. Wasn't neccessary for flow control
775 but seems like a good idea for the future.
776
777 * swank.lisp (multithreaded-connection)
778 (singlethreaded-connection): New
779 (make-connection): Create multi/single threaded variant depending
780 on style argument.
781 ([defstruct] serve-requests, cleanup): Delete slots. Dispatch on
782 connection type instead.
783 (stop-serving-requests): New.
784 (close-connection): Use it. Can't use
785 *use-dedicated-output-stream* here.
786
787 * swank.lisp (background-message): Do nothing if
788 connection.slowdown is set.
789
790 2011-12-05 Helmut Eller <heller@common-lisp.net>
791
792 * slime.el ([test] arglist): swank::create-server now has an
793 optional argument. Use swank::compute-backtrace instead.
794
795 2011-12-05 Stas Boukarev <stassats@gmail.com>
796
797 * start-swank.lisp: Remove :coding-system argument.
798
799 2011-12-04 Helmut Eller <heller@common-lisp.net>
800
801 * swank.lisp (interrupt-worker-thread): Don't use find-repl-thread
802 as fallback.
803
804 2011-12-04 Helmut Eller <heller@common-lisp.net>
805
806 * swank.lisp: Minor cleanups.
807 * swank-rpc.lisp:
808
809 2011-12-04 Helmut Eller <heller@common-lisp.net>
810
811 * swank.lisp (create-repl): Moved to contrib/swank-repl.lisp.
812 (*use-dedicated-output-stream*, *dedicated-output-stream-port*
813 (*dedicated-output-stream-buffering*, open-streams)
814 (make-output-function, send-user-output)
815 (make-output-function-for-target, make-output-stream-for-target)
816 (open-dedicated-output-stream, find-repl-thread)
817 (spawn-repl-thread, repl-loop, initialize-streams-for-connection)
818 (read-user-input-from-emacs, *listener-eval-function*)
819 (listener-eval, *send-repl-results-function*, repl-eval)
820 (clear-repl-variables, track-package, send-repl-results-to-emacs)
821 (redirect-trace-output);
822 * swank-loader.lisp (*contribs*): Add swank-repl.
823
824 2011-12-04 Helmut Eller <heller@common-lisp.net>
825
826 * swank-loader.lisp (*contribs*): Add swank-mrepl.
827
828 2011-12-04 Helmut Eller <heller@common-lisp.net>
829
830 * swank-rpc.lisp (read-chunk): Signal end-of-file we had no input.
831
832 2011-12-03 Nikodemus Siivola <nikodemus@random-state.net>
833
834 * swank-sbcl.lisp (wait-for-input): Another go at this. Rip out POLL,
835 build on top of just INPUT-READY-P.
836 (input-ready-p): Outside Windows, use SYSREAD-MAY-BLOCK-P to check.
837
838 2011-12-03 Gábor Melis <mega@retes.hu>
839
840 * swank-allegro.lisp (set-default-initial-binding): In 9.0 alpha,
841 *CL-DEFAULT-SPECIAL-BINDINGS* is [soon to be] deprecated. It's
842 otherwise the same EXCL:*REQUIRED-TOP-LEVEL-BINDINGS* (i.e. no
843 change in behavior).
844
845 2011-12-03 Helmut Eller <heller@common-lisp.net>
846
847 * swank-clisp.lisp (wait-for-input): Add a version for windows.
848
849 2011-12-02 Stas Boukarev <stassats@gmail.com>
850
851 * swank-sbcl.lisp (wait-for-input): Define only if
852 #+os-provides-poll or #+win32.
853
854 2011-12-02 Helmut Eller <heller@common-lisp.net>
855
856 * swank.lisp (listener-channel): Moved to contrib/swank-mrepl.lisp
857 (create-listener, initial-listener-bindings, spawn-listener-thread).
858
859 2011-12-01 Helmut Eller <heller@common-lisp.net>
860
861 * swank-sbcl.lisp (wait-for-input): Call poll(2).
862 * swank-backend.lisp (wait-for-streams, wait-for-one-stream):
863 Deleted. Wouldn't work on binary streams.
864
865 2011-12-01 Helmut Eller <heller@common-lisp.net>
866
867 * swank-loader.lisp (*contribs*): Add swank-util.
868
869 2011-12-01 Helmut Eller <heller@common-lisp.net>
870
871 * swank-cmucl.lisp (method-location): Special case accessors.
872
873 2011-11-29 Helmut Eller <heller@common-lisp.net>
874
875 * swank.lisp (do-symbols*, classify-symbol)
876 (symbol-classification-string): Moved to contrib/swank-util.lisp.
877
878 2011-11-29 Helmut Eller <heller@common-lisp.net>
879
880 * swank.lisp (to-line): Increase default limit to 512.
881 (frame-locals-for-emacs): Let *print-right-margin* override
882 default line width.
883
884 2011-11-27 Helmut Eller <heller@common-lisp.net>
885
886 * swank.lisp (create-server): Add a :backlog argument.
887 (setup-server): Pass it along.
888
889 * swank-backend.lisp (create-socket): Backlog argument.
890 * swank-abcl.lisp: Implement it.
891 * swank-allegro.lisp:
892 * swank-ccl.lisp:
893 * swank-clisp.lisp:
894 * swank-cmucl.lisp:
895 * swank-corman.lisp:
896 * swank-ecl.lisp:
897 * swank-lispworks.lisp:
898 * swank-sbcl.lisp:
899 * swank-scl.lisp:
900
901 2011-11-27 Helmut Eller <heller@common-lisp.net>
902
903 * swank-cmucl.lisp (make-socket-io-stream): Create character
904 stream if external-format is non-nil.
905
906 2011-11-27 Helmut Eller <heller@common-lisp.net>
907
908 * swank.lisp (create-server): Remove coding-system argument.
909 ([defstruct] connection): Remove coding-system slot.
910 (connection.external-format, *coding-system*): Deleted.
911 (make-connection, start-server, create-server, setup-server)
912 (accept-connections): Drop coding-system arg.
913
914 (connection-info): Return supported coding systems.
915 (create-repl, open-dedicated-output-stream)
916 (open-streams, initialize-streams-for-connection): Add
917 coding-system arg.
918
919 * slime.el (slime-init-command): Ignore the coding-system arg.
920 (slime-connection-coding-systems): New connection variable.
921 (slime-set-connection-info): Set it.
922
923 2011-11-27 Helmut Eller <heller@common-lisp.net>
924
925 * swank.lisp (eval-in-frame-aux): Don't bind *package* during
926 eval.
927
928 2011-11-21 Helmut Eller <heller@common-lisp.net>
929
930 * swank-cmucl.lisp: Trigger compilation of utf8 stuff before first
931 real use.
932
933 2011-11-21 Helmut Eller <heller@common-lisp.net>
934
935 * swank.lisp (*sldb-printer-bindings*): Removed. Rather useless
936 since the change from 2009-02-26. It could at best have some
937 influence on the way conditions are printed. *sldb-string-length*
938 and *sldb-bitvector-length* where both nil so
939 *sldb-pprint-dispatch-table* was also not used by default. In
940 summary, spending 3 pages for something that's not used by default
941 was pretty silly. One variable less where we can get the defaults
942 wrong.
943
944 2011-11-21 Helmut Eller <heller@common-lisp.net>
945
946 * slime.el (sldb-eval-in-frame): Try to figure the package out.
947 Ask Lisp if the function for frame was defined in a particular
948 package and use it to read the form.
949 (sldb-read-form-for-frame): New helper.
950
951 * swank-backend (frame-package): New.
952 * swank-cmucl (frame-package): Implement it.
953
954 * swank.lisp (frame-package-name, eval-in-frame-aux): New.
955 (eval-string-in-frame, pprint-eval-string-in-frame): Use package
956 argument.
957
958 2011-11-19 Nikodemus Siivola <nikodemus@random-state.net>
959
960 * swank-sbcl.lisp (restart-frame): Make it possible to restart
961 frames of anonymous functions -- at least some of the time.
962
963 2011-11-16 Stas Boukarev <stassats@gmail.com>
964
965 * swank.lisp (open-dedicated-output-stream): Open a stream with
966 the right coding system.
967 Change (:open-dedicated-output-stream port) message to
968 (:open-dedicated-output-stream port coding-system), because Emacs
969 can no longer determine the coding system based on the main
970 network streams since they are binary now.
971
972 2011-11-11 Anton Kovalenko <anton@sw4me.com>
973
974 * slime.el (slime-ed): add bytep argument to destructure-case.
975 When it's true, position is interpreted as byte offset.
976
977 2011-11-08 Helmut Eller <heller@common-lisp.net>
978
979 Restore old header format.
980
981 * swank-rpc.lisp (parse-header, write-header)
982 * slime.el (slime-net-decode-length, slime-net-encode-length)
983
984 2011-11-06 Helmut Eller <heller@common-lisp.net>
985
986 * swank-ecl.lisp (accept-connection): Fix buffering arg.
987 * swank-cmucl.lisp (accept-connection): Fix buffering arg.
988
989 2011-11-06 Helmut Eller <heller@common-lisp.net>
990
991 * slime.el (slime-run-test): Renamed from slime-run-one-test.
992 (slime-toggle-test-debug-on-error): New.
993 ([test] break): Longer timeouts.
994
995 2011-11-06 Helmut Eller <heller@common-lisp.net>
996
997 Add portable versions for string-to-utf8 and utf8-to-string.
998
999 * swank-backend.lisp (default-string-to-utf8)
1000 (default-utf8-to-string): New.
1001 (string-to-utf8, utf8-to-string): Use default implementations.
1002
1003 * swank-lispworks.lisp (make-flexi-stream): Restored.
1004 (utf8-stream): Deleted. The utf8 stuff is now used for the
1005 default implementation of utf8-to-string and would cause name
1006 clashes.
1007
1008 2011-11-06 Helmut Eller <heller@common-lisp.net>
1009
1010 * swank-allegro.lisp (swank-compile-string): For reader errors
1011 return nil not (values nil nil t).
1012
1013 2011-11-06 Helmut Eller <heller@common-lisp.net>
1014
1015 New wire format.
1016
1017 Switch from character streams to binary streams. Counting
1018 characters was error prone because some Lisps use utf-16
1019 internally and so READ-SEQUENCE can't be used easily.
1020
1021 The new format looks so:
1022
1023 | byte0 | 3 bytes length |
1024 | ... payload ... |
1025
1026 The playload is an s-exp encoded as UTF-8 string. byte0 is
1027 currently always 0; other values are reserved for future use.
1028
1029 * swank-rpc.lisp (write-message): Use new format.
1030 (write-header, parse-header, asciify, encoding-error): New.
1031
1032 * swank.lisp (accept-connections): Create a binary stream.
1033 (input-available-p): Can't read-char-no-hang on binary streams.
1034
1035 * slime.el (slime-net-connect): Use binary as coding system.
1036 (slime-net-send, slime-net-read, slime-net-decode-length)
1037 (slime-net-encode-length, slime-net-have-input-p): Use new format.
1038 (slime-unibyte-string, slime-handle-net-read-error): New.
1039 (featurep): Require 'un-define for XEmacs.
1040
1041 * swank-sbcl.lisp (input-ready-p): Use sb-sys:wait-until-fd-usable.
1042
1043 2011-11-06 Helmut Eller <heller@common-lisp.net>
1044
1045 * swank.lisp (close-connection): Fix thinko.
1046
1047 2011-11-06 Helmut Eller <heller@common-lisp.net>
1048
1049 * swank-backend.lisp (accept-connection): Improve docstring. In
1050 particular say that we want a binary stream if the EXTERNAL-FORMAT
1051 argument is nil.
1052
1053 * swank-abcl.lisp (accept-connection): Make it so.
1054 * swank-clisp.lisp (accept-connection): Make it so.
1055 * swank-cmucl.lisp (accept-connection): Make it so.
1056 * swank-lispworks.lisp (accept-connection): Make it so.
1057 * swank-sbcl.lisp (accept-connection): Make it so.
1058 * swank-scl.lisp (accept-connection): Make it so.
1059
1060 2011-11-06 Helmut Eller <heller@common-lisp.net>
1061
1062 * swank-backend.lisp (utf8-to-string, string-to-utf8): New.
1063
1064 * swank-sbcl.lisp (string-to-utf8, string-to-utf8): Implemented.
1065 * swank-lispworks.lisp (string-to-utf8, string-to-utf8): Implemented.
1066 * swank-cmucl.lisp (string-to-utf8, string-to-utf8): Implemented.
1067 * swank-clisp.lisp (string-to-utf8, string-to-utf8): Implemented.
1068 * swank-ccl.lisp (string-to-utf8, string-to-utf8): Implemented.
1069 * swank-allegro.lisp (string-to-utf8, string-to-utf8): Implemented.
1070 * swank-abcl.lisp (string-to-utf8, string-to-utf8): Implemented.
1071 (octets-to-jbytes, jbytes-to-octets): New helpers.
1072
1073 2011-11-03 Helmut Eller <heller@common-lisp.net>
1074
1075 * swank.lisp (close-connection): Be more careful with non-ascii.
1076
1077 2011-11-03 Helmut Eller <heller@common-lisp.net>
1078
1079 Remove dependecy on FLEXI-STREAMS for Lispworks.
1080
1081 * swank-lispworks.lisp (make-flexi-stream): Deleted.
1082 (utf8-stream): New class to do the transcoding.
1083 (accept-connection): Use it.
1084
1085 2011-10-19 Andrew Myers <asm198@gmail.com>
1086
1087 * swank-allegro.lisp (frob-allegro-field-def): Add missing type to
1088 ecase for inspector.
1089
1090 2011-10-13 Helmut Eller <heller@common-lisp.net>
1091
1092 * swank.lisp (all-completions): Remove mixed case syms e.g |Foo|.
1093 "fo" is not a prefix of "|Foo|" and it would be problematic later.
1094
1095 2011-10-05 Stas Boukarev <stassats@gmail.com>
1096
1097 * swank.lisp (clear-repl-variables): New functions, clears *, /,
1098 and + variables.
1099
1100 2011-09-28 Stas Boukarev <stassats@gmail.com>
1101
1102 * slime.el: Remove (require 'hideshow), it's not used anymore.
1103 Spotted by Leo Liu.
1104
1105 2011-09-27 Mark Evenson <evenson@panix.com>
1106
1107 * swank-abcl.lisp (describe-symbol-for-emacs): Differentiate
1108 between function, generic function, special forms, and macros by
1109 copying SBCL implementation.
1110
1111 2011-09-13 Christophe Rhodes <csr21@cantab.net>
1112
1113 * slime.el (slime-simple-complete-symbol): only display "Complete
1114 but not unique" message if the partial completion figures in the
1115 completion list.
1116
1117 2011-08-31 Anton Kovalenko <anton@sw4me.com>
1118
1119 * swank-sbcl.lisp (preferred-communication-style): check for
1120 :sb-thread before :win32, so :spawn is preferred for threaded
1121 Windows builds.
1122
1123 2011-08-31 Nikodemus Siivola <nikodemus@random-state.net>
1124
1125 * swank-sbcl.lisp (make-socket-io-stream): Backwards compatibility with
1126 SBCL < 1.0.42.43 -- and bugfix.
1127
1128 2011-08-26 Mark Evenson <evenson@panix.com>
1129
1130 * swank-abcl.lisp (class-slots): Use exported symbol allowing
1131 classes with non-standard metaobjects to be inspected.
1132
1133 2011-08-18 Helmut Eller <heller@common-lisp.net>
1134
1135 Fix line numbers for compiler notes if is narrowing was in effect.
1136
1137 * slime.el (slime-canonicalized-location): Widen before calling
1138 line-number-at-pos.
1139
1140 2011-08-17 Stas Boukarev <stassats@gmail.com>
1141
1142 * swank-allegro.lisp (with-redirected-y-or-n-p): Fix modern-mode
1143 issues.
1144 Patch by Andrew Myers.
1145
1146 2011-08-09 Nikodemus Siivola <nikodemus@random-state.net>
1147
1148 * swank-sbcl.lisp (make-socket-io-stream): Use :SERVE-EVENTS T when
1149 using :FD-HANDLER as the communication style. SBCL will soon stop
1150 serving events by default on socket streams.
1151
1152 2011-08-08 Helmut Eller <heller@common-lisp.net>
1153
1154 * slime.el (slime-unintern-symbol): New command.
1155 * swank.lisp (unintern-symbol): Lisp-side implementation.
1156
1157 2011-07-03 Nikodemus Siivola <nikodemus@random-state.net>
1158
1159 * swank-sbcl.lisp (debug-var-info): New function: calls
1160 SB-DI::DEBUG-VAR-INFO when available.
1161 (frame-locals, frame-var-value): Treat more-context and more-count
1162 vars specially.
1163
1164 2011-06-21 Nikodemus Siivola <nikodemus@random-state.net>
1165
1166 * swank.lisp (*indentation-cache-lock*): Deleted.
1167 (perform-indentation-update): Spawn a new thread to handle the
1168 indentation update when using threads. Move cache-clearing to
1169 UPDATE-INDENTATION/DELTA-FOR-EMACS. Replace the old cache by
1170 the one returned from U-I/D-F-E.
1171 (update-indentation/delta-for-emacs): When clearing the cache,
1172 allocate a new table. When threads are being used, copy the
1173 cache before mutation, to ensure that caches possibly seen by other
1174 threads are write-only by then.
1175
1176 2011-06-18 Nikodemus Siivola <nikodemus@random-state.net>
1177
1178 * swank.lisp (*indentation-cache-lock*): New variable:
1179 hash-table updates aren't necessarily thread-safe.
1180 (perform-indentation-update, update-indentation/delta-for-emacs):
1181 Grab the lock when necessary -- in delta-for-emacs we hold on to
1182 it a bit longer than necessary, but the code is easier to read
1183 this way.
1184
1185 2011-06-16 Nikodemus Siivola <nikodemus@random-state.net>
1186
1187 * swank.lisp (macro-indentation): Restore the old simple version.
1188
1189 * swank-sbcl.lisp (compiling-from-buffer-p): PROBE-FILE to
1190 handle cases there the tmp-directory is a symlink.
1191 (compiling-from-file-p): Ditto.
1192
1193 2011-06-14 Nikodemus Siivola <nikodemus@random-state.net>
1194
1195 * swank-backend.lisp (call-with-io-timeout): New DEFINTERFACE.
1196 * swank-sbcl.lisp (call-with-io-timeout): DEFIMPLEMENTATION for it.
1197 * swank.lisp (auto-flush-loop): Call FINISH-OUTPUT using
1198 CALL-WITH-IO-TIMEOUT to prevent deadlocks.
1199
1200 * swank.lisp (macro-indentation): Fix handling of lambda-list
1201 keywords other than &rest and &body.
1202
1203 * slime.el (slime-update-system-indentation): Remove stale specs
1204 from common-lisp-system-indentation when new one arrives.
1205
1206 2011-06-10 Nikodemus Siivola <nikodemus@random-state.net>
1207
1208 * swank.lisp (macro-indentation): Walk the lambda-list
1209 to construct a better indentation spec instead of just
1210 looking for &BODY.
1211
1212 2011-06-09 Nikodemus Siivola <nikodemus@random-state.net>
1213
1214 * swank-sbcl.lisp (execv): Stupid SBCL hackers breaking backwards
1215 compatibility again: SB-POSIX:SYSCALL-ERROR has a required
1216 argument in 1.0.49, but accepts no arguments in older ones. Use
1217 plain ERROR instead.
1218
1219 Support for per-package derived indentation, when
1220 slime-indentation is used.
1221
1222 * swank.lisp (update-indentation/delta-for-emacs): Tell Emacs
1223 which packages the symbol is available in. Unless
1224 slime-indentation is used, this information is just dropped on the
1225 floor.
1226
1227 * slime.el (slime-update-system-indentation): New function. Use
1228 this to inform indentation about derived specs when
1229 `common-lisp-system-indentation' is bound.
1230 (slime-handle-indentation-update): Adjust to support per-package
1231 derived indentation specs when slime-indentation is available.
1232
1233 2011-05-27 Helmut Eller <heller@common-lisp.net>
1234
1235 Fix "wrong number of args" problem with slime-inspector-quit.
1236 Reported by Anton Kovalenko.
1237
1238 * slime.el (slime-popup-buffer-quit-function)
1239 (slime-quit-threads-buffer): Drop the kill-buffer-p argument.
1240
1241 2011-05-24 Helmut Eller <heller@common-lisp.net>
1242
1243 * slime.el (destructure-case): Fix "`_' not left unused" warnings.
1244 Insert an (ignore) form for empty bodies; this inhibts the
1245 compiler transformation that leads to the spurios warning. This
1246 has no runtime cost in compiled code, since the compiler
1247 recognizes (ignore) and emits no code for it.
1248 (slime-flatten-tree): Deleted. No longer used.
1249
1250 2011-05-23 Stas Boukarev <stassats@gmail.com>
1251
1252 * swank.lisp (sdlb-print-condition): New (or old new)
1253 function. It was bound by P in sldb-mode, but for some reason it
1254 was lost.
1255
1256 2011-05-23 Helmut Eller <heller@common-lisp.net>
1257
1258 * slime.el (slime-apropos-label-properties): Deleted. Just
1259 auto-load apropos-mode.
1260 (slime-print-apropos): Use the variable apropos-label-face
1261 which seems to exist in all relevant Emacsen.
1262
1263 2011-05-22 Helmut Eller <heller@common-lisp.net>
1264
1265 Turn on lexical-binding for slime.el.
1266 This mostly involves prefixing unused variables
1267 with underscores to shut up the compiler, but
1268 also some less harmless changes.
1269
1270 * slime.el (slime-dispatching-connection, slime-current-thread):
1271 Add defvars.
1272 (slime-connect): called-interactively-p wants 1 arg in Emacs 24
1273 but none in Emacs 22. So we can't use it; instead add an extra
1274 optional arg and set that to non-nil in the interactive spec.
1275 (slime-read-from-minibuffer): Actually use the history arg.
1276 (slime-inspector-quit): Drop the unused kill-buffer arg from the
1277 lambda-list.
1278 (slime-run-tests): Can't specbind slime-repl-history-file without
1279 variable declation. I don't want to declare it here so I just
1280 eliminated it and let somebody else fix slime-repl.el.
1281
1282 2011-05-21 Helmut Eller <heller@common-lisp.net>
1283
1284 Minor tweaks to avoid some compiler warnings.
1285
1286 * slime.el (slime-modeline-string, slime-buffer-connection):
1287 Declare variables.
1288 (slime-flatten-tree): Helper function.
1289 (destructure-case): Use it, and make '_ ignorable if
1290 it occurs in some pattern.
1291 (slime-connect): Avoid obsolete functions:
1292 string-to-int -> string-to-number
1293 interactive-p -> called-interactively-p
1294 (slime-complete-maybe-restore-window-configuration)
1295 last-command-char -> last-command-event
1296 completion-base-size -> completion-base-position
1297 (slime-xref-mode-map): Use call-interactively
1298 when calling the remapped next-line/previous-line commands.
1299
1300 2011-05-09 Nikodemus Siivola <nikodemus@random-state.net>
1301
1302 * swank-sbcl.lisp (swank-compile-string): Use :SOURCE-NAMESTRING
1303 to provide the name of the actual source file, and
1304 :ALLOW-OTHER-KEYS for compatibility with pre-1.0.48.1 versions.
1305 This allows SBCL to get uninteresting redefinition muffling right.
1306 (*trap-load-time-warnings*): Default to T to make the redefinition
1307 notes more visible, especially now that redefinition muffling hides
1308 the boring ones.
1309
1310 2011-05-08 Nikodemus Siivola <nikodemus@random-state.net>
1311
1312 * slime.el (slime-intern-indentation-spec): New function. Converts
1313 strings in an indentation spec to symbols.
1314 (slime-handle-indentation-update): Intern the indentation spec
1315 using slime-intern-indentation-spec, so that lisp side can pass
1316 complex indentation specs.
1317 * contrib/swank-indentation.lisp (application-indentation-hint):
1318 Downcase symbol names -- any symbol in an indentation spec is
1319 pretty much guaranteed to have a lowecase name on the Emacs side.
1320
1321 2011-04-16 Stas Boukarev <stassats@gmail.com>
1322
1323 * slime.el (slime-load-failed-fasl): New variable. Accepts `ask',
1324 `always', and `never' symbols. Loads or not loads fasls produced by
1325 compile-file which returned non-nil failure-p.
1326
1327 2011-04-14 Stas Boukarev <stassats@gmail.com>
1328
1329 * swank.lisp (list-threads): Call `use-threads-p' only when
1330 *emacs-connection* is non-nil. `use-threads-p' wouldn't work in
1331 this case, and there is no need to remove a worker thread from the
1332 list if it's not connected.
1333 This fixes an issue with calling swank:stop-server when slime
1334 isn't connected.
1335
1336 2011-03-13 Stas Boukarev <stassats@gmail.com>
1337
1338 * swank.lisp (format-restarts-for-emacs): Add
1339 without-printing-errors around restart printing.
1340
1341 2011-03-09 Helmut Eller <heller@common-lisp.net>
1342
1343 Remove slime-sexp-at-point-for-macroexpansion.
1344
1345 * slime.el (slime-sexp-at-point-for-macroexpansion): Deleted.
1346 (slime-eval-macroexpand): Use slime-sexp-at-point instead.
1347 (slime-eval-macroexpand-inplace): Use
1348 slime-bounds-of-sexp-at-point directly.
1349
1350 2011-03-09 Helmut Eller <heller@common-lisp.net>
1351
1352 Move some of the logic from slime-sexp-at-point-for-macroexpansion
1353 into slime-sexp-at-point.
1354
1355 * slime.el (slime-bounds-of-sexp-at-point): New. Special case if
1356 we are at '( as slime-sexp-at-point-for-macroexpansion does.
1357 (slime-bounds-of-symbol-at-point): New.
1358 (slime-symbol-at-point, slime-sexp-at-point): Use the above.
1359
1360 2011-02-24 Stas Boukarev <stassats@gmail.com>
1361
1362 * swank-allegro.lisp (find-topframe): Fix excl::int-newest-frame
1363 invocation for the latest alpha version of Allegro.
1364 Patch by Gábor Melis.
1365
1366 2011-02-18 Stas Boukarev <stassats@gmail.com>
1367
1368 * slime.el (slime-init-popup-buffer): Don't use
1369 multiple-value-setq on a list, XEmacs doesn't like it.
1370
1371 2011-02-18 Stas Boukarev <stassats@gmail.com>
1372
1373 * slime.el (slime-insert-threads): Make sure newlines have the
1374 same thread-id property as the rest of the line. This fixes
1375 confusion when point is at the end of a line.
1376
1377 2011-02-13 Stas Boukarev <stassats@gmail.com>
1378
1379 * slime.el (slime-inspector-operate-on-point): Don't save the
1380 point when inspecting a different object.
1381 (slime-inspector-operate-on-point): If there is no action property
1382 directly at the point, try looking at (1- (point)), many
1383 inspectable objects are presented the end of the line, so it's
1384 easier to navigate to them by C-e and still being able to activate
1385 it.
1386
1387 2011-02-08 Stas Boukarev <stassats@gmail.com>
1388
1389 * slime.el (slime-choose-overlay-region): Don't use `list' instead
1390 of `values', GNU Emacs fakes multiple values with lists, but
1391 XEmacs uses real multiple values.
1392 Reported by Raymond Toy.
1393
1394 2011-02-04 Helmut Eller <heller@common-lisp.net>
1395
1396 Be careful with interning.
1397
1398 * swank.lisp (find-definitions-for-emacs): Use parse-symbol.
1399
1400 2011-02-04 Helmut Eller <heller@common-lisp.net>
1401
1402 Don't double encode results for eval-in-emacs.
1403
1404 * slime.el (slime-check-eval-in-emacs-result): New.
1405 (slime-eval-for-lisp): Use it.
1406 * swank.lisp (unreadable-object): Removed.
1407
1408 2011-02-02 Stas Boukarev <stassats@gmail.com>
1409
1410 * swank.lisp (eval-in-emacs): Return unreadable results from Emacs
1411 as an unreadable-object, not as a string.
1412
1413 2011-02-02 Stas Boukarev <stassats@gmail.com>
1414
1415 * slime.el (slime-eval-for-lisp): Return value as a string,
1416 because it can be unreadable, e.g. #<buffer foo>
1417 * swank.lisp (eval-in-emacs): Prevent reader errors.
1418
1419 2011-02-02 Stas Boukarev <stassats@gmail.com>
1420
1421 * swank.lisp (eval-in-emacs): Export it.
1422
1423 2011-01-28 Stas Boukarev <stassats@gmail.com>
1424
1425 * slime.el (slime-check-location-filename-sanity): Guard
1426 against target-filename being NIL.
1427
1428 2011-01-26 Helmut Eller <heller@common-lisp.net>
1429
1430 Allow tail-merging in call-with-bindings.
1431
1432 * swank.lisp (call-with-bindings): Don't use progv if alist is
1433 empty alist is empty.
1434
1435 2011-01-20 Stas Boukarev <stassats@gmail.com>
1436
1437 * swank-ecl.lisp (+TAGS+): change
1438 (translate-logical-pathname #P"SYS:TAGS") to
1439 (merge-pathnames "TAGS" (translate-logical-pathname "SYS:"))
1440 because of case conversion the former results in a pathname with a
1441 name "tags", which doesn't exist.
1442
1443 2010-12-10 Stas Boukarev <stassats@gmail.com>
1444
1445 * slime.el (slime-with-popup-buffer): Correct the docstring.
1446
1447 2010-12-09 Helmut Eller <heller@common-lisp.net>
1448
1449 * slime.el (slime-toggle-break-on-signals): New command.
1450 * swank.lisp (toggle-break-on-signals): The corresponding Lisp code.
1451
1452 2010-12-02 Martin Simmons <martin@lispworks.com>
1453
1454 * swank-lispworks.lisp (frame-actual-args): Reimplement to include
1455 only the values like on other platforms and deal with, optional
1456 key and rest args.
1457 (print-frame): Format the frame as a call like in other backends.
1458
1459 2010-11-13 Helmut Eller <heller@common-lisp.net>
1460
1461 Improve source locations for compiler messages in Lispworks.
1462
1463 * swank-lispworks.lisp (map-error-database)
1464 (signal-error-data-base, make-dspec-progenitor-location): Pass the
1465 edit-path along.
1466 (signal-undefined-functions): No edit-path available so just use
1467 nil.
1468
1469 2010-11-12 Helmut Eller <heller@common-lisp.net>
1470
1471 Improve frame-source-location for Lispworks.
1472
1473 * swank-lispworks.lisp (frame-source-location): Exctract the
1474 edit-path from the frame and pass it to Emacs.
1475 (edit-path-to-cmucl-source-path): New function.
1476 (frame-location): Use it.
1477
1478 * slime.el (slime-location-offset): Add a :edit-path property.
1479 (slime-search-edit-path): New function.
1480 (slime-search-call-site): Fix regexp to match
1481 zero arg functions.
1482
1483 2010-11-07 Helmut Eller <heller@common-lisp.net>
1484
1485 * swank-backend.lisp (label-value-line): Remove display-nil-value.
1486 And the other stuff too.
1487 (label-value-line*): Idem.
1488
1489 2010-11-07 Helmut Eller <heller@common-lisp.net>
1490
1491 * swank-loader.lisp: ASDF free again. And proud of it!
1492 (default-fasl-dir, load-swank): Remove asdf stuff.
1493
1494 2010-11-03 Stas Boukarev <stassats@gmail.com>
1495
1496 * swank-loader.lisp (*architecture-features*): Add :arm for CCL
1497 ARM port.
1498
1499 2010-11-02 Martin Simmons <martin@lispworks.com>
1500
1501 * swank-lispworks.lisp (list-callers-internal): Revert to previous
1502 low level implementation, fixed for LW6.
1503 (list-callees-internal): Reimplement using low level instead of
1504 the compiler's xref.
1505
1506 2010-10-23 Stas Boukarev <stassats@gmail.com>
1507
1508 * slime.el (slime-goto-location-position): In case of
1509 (:function-name name) go to (point-min) before searching for
1510 function. Remove redundant regexp and regexp-quote function name
1511 before inserting it into a regexp.
1512
1513 2010-10-21 Helmut Eller <heller@common-lisp.net>
1514
1515 In ABCL, try harder to find the source of stack frames.
1516
1517 * swank-abcl.lisp (source-location): Now a GF.
1518 (source-location [java-stack-frame]): New.
1519 (source-location [lisp-stack-frame]): New.
1520 (source-location [function]): New.
1521 (frame-source-location, find-definitions): Use them.
1522 (*source-path*, find-definitions): New.
1523 (system-property, pathname-parent, pathname-absolute-p)
1524 (split-string, path-separator, search-path-property)
1525 (jdk-source-path, class-path, zipfile-contains-p)
1526 (find-file-in-path): Noise for filename frobbing.
1527
1528 2010-10-21 Helmut Eller <heller@common-lisp.net>
1529
1530 Require ABCL 0.22 and remove obsolete conditionalisation.
1531
1532 * swank-abcl.lisp (call-with-debugger-hook)
1533 (install-debugger-globally)
1534 (call-with-debugging-environment, backtrace, print-frame, spawn):
1535 Remove #+/#- stuff.
1536 (preferred-communication-style): Return :spawn unconditionally.
1537 (sys::break): Removed.
1538
1539 2010-10-20 Stas Boukarev <stassats@gmail.com>
1540
1541 * slime.el (slime-connect): Convert the port number read from
1542 minibuffer to an integer, passing it as a string to
1543 `make-network-process' isn't portable.
1544 Patch by Marko Kocic.
1545
1546 2010-10-19 Stas Boukarev <stassats@gmail.com>
1547
1548 * swank.lisp (invoke-nth-restart): Make sure there is such restart
1549 before invoking it.
1550
1551 2010-10-19 Stas Boukarev <stassats@gmail.com>
1552
1553 * swank-sbcl.lisp (deinit-log-output): Use the right symbol for
1554 *LOG-OUTPUT*, swank package isn't available at the time
1555 swank-backend is compiled.
1556
1557 2010-10-16 Stas Boukarev <stassats@gmail.com>
1558
1559 * swank-loader.lisp (default-fasl-dir): Guard against using :asdf
1560 package if it doesn't exist.
1561 Patch by Anton Vodonosov.
1562
1563 2010-10-16 Attila Lendvai <attila.lendvai@gmail.com>
1564
1565 * swank-fuzzy.lisp: speed up by 2-4 times (on sbcl).
1566
1567 * fuzzy.el: Clean up fuzzy completion's keymap code, drop
1568 mimic-key-bindings.
1569
1570 * slime.el: Added separate host and port history for
1571 slime-connect.
1572 (slime-lookup-lisp-implementation): better error reporting and
1573 allow using a functionp to generate the arguments.
1574
1575 * swank.lisp: Smarten up the label-value-line macros:
1576 - support a :label emacs font property
1577 - added key args: padding-length, display-nil-value,
1578 hide-when-nil, splice-as-ispec, value-text
1579 - label-value-line* will evaluate and splice the result
1580 of the form after a @ character
1581
1582 * swank-loader.lisp: Optional integration with ASDF. When ASDF is
1583 available, store slime fasl's where ASDF would store them. Also
1584 make sure swank.asd is visible to ASDF.
1585
1586 2010-10-09 Raymond Toy <toy.raymond@gmail.com>
1587
1588 * swank-cmucl.lisp (codepoint-length): Implement codepoint-length
1589 to return the number of codepoints in cmucl's utf-16 strings.
1590
1591 * swank-backend.lisp (:swank-backend): Export codepoint-length.
1592 (codepoint-length): definterface codepoint-length. Default is to
1593 use LENGTH.
1594
1595 * swank-rpc.lisp (write-message): Call
1596 swank-backend:codepoint-length to get the correct length for
1597 emacs.
1598
1599 2010-10-08 Christophe Rhodes <csr21@cantab.net>
1600
1601 Pass more detailed source location information to
1602 swank:compile-string-for-emacs. Motivated by R's source location
1603 needs (where srcrefs are line/column based).
1604
1605 * slime.el (slime-compile-string): Generate :line location format
1606 from start-offset, passing it through to
1607 swank:compile-file-for-emacs.
1608 (find-definition.2): Use new-style position.
1609
1610 * swank.lisp (compile-string-for-emacs): Use only the offset from
1611 the position argument.
1612
1613 * swank-backend.lisp (swank-compile-string): Fix docstring typo.
1614
1615 2010-10-07 Nikodemus Siivola <nikodemus@random-state.net>
1616
1617 Hanging on to a *log-output* from a previous image is bad on SBCL
1618 at least: it is initialized to an FD-STREAM, which cannot be
1619 reused from one image to another.
1620
1621 Deal with this by using sb-ext:*save-hooks* to clear the stream.
1622
1623 * swank-sbcl.lisp (deinit-log-output): New function.
1624
1625 2010-10-02 Helmut Eller <heller@common-lisp.net>
1626
1627 Rename slime-macro/compiler-macro-expand-1 => slime-expand-1
1628
1629 * slime.el (slime-expand-1): Renamed from
1630 slime-macro/compiler-macro-expand-1.
1631 (slime-expand-1-inplace): Renamed from
1632 slime-macro/compiler-macro-expand-1-inplace.
1633
1634 * swank.lisp (swank-expand-1): Renamed from
1635 swank-macro/compiler-macro-expand-1.
1636 (swank-expand): Renamed from swank-macro/compiler-macro-expand.
1637 (expand-1): Renamed from macro/compiler-macro-expand-1.
1638 (expand): Renamed from macro/compiler-macro-expand.
1639
1640 2010-10-01 Helmut Eller <heller@common-lisp.net>
1641
1642 Don't use indent-sexp for macroexpanded code.
1643 indent-sexp is potentially slow and usually redundant.
1644
1645 * slime.el (slime-initialize-macroexpansion-buffer): Don't use
1646 indent-sexp.
1647 (slime-eval-macroexpand-inplace): Avoid indent-sexp but
1648 use slime-insert-indented.
1649
1650 2010-10-01 Helmut Eller <heller@common-lisp.net>
1651
1652 Save result in kill ring for M-- C-x C-e.
1653 For C-u C-x C-e set mark before inserting.
1654
1655 * slime.el (slime-eval-save): New function.
1656 (slime-eval-print): Set mark before inserting.
1657 (slime-interactive-eval): Use it.
1658
1659 2010-09-22 Stas Boukarev <stassats@gmail.com>
1660
1661 * swank.lisp (eval-for-emacs): Send (:abort condition) where
1662 condition is a condition which was aborted instead of just (:abort).
1663 * slime.el: Handle the above change.
1664
1665 2010-09-22 Stas Boukarev <stassats@gmail.com>
1666
1667 * swank-clisp.lisp (*external-format-to-coding-system*): Remove
1668 stray :latin-1 argument for ext:make-encoding.
1669 Reported by Mirko Vukovic.
1670
1671 2010-09-20 Stas Boukarev <stassats@gmail.com>
1672
1673 * swank-cmucl.lisp (character-completion-set): Implement. Requires
1674 recent versions of CMUCL.
1675 Patch by Raymond Toy.
1676
1677 2010-09-18 Tobias C. Rittweiler <tcr@freebits.de>
1678
1679 * swank-backend.lisp (valid-function-name-p): New interface.
1680 (compiler-macroexpand-1): Use it to guard against type errors
1681 from COMPILER-MACRO-FUNCTION.
1682
1683 2010-09-18 Tobias C. Rittweiler <tcr@freebits.de>
1684
1685 * swank.lisp (before-init): push :SWANK to *FEATURES*. (lp#627313)
1686
1687 2010-09-18 Tobias C. Rittweiler <tcr@freebits.de>
1688
1689 Make C-c C-m also expand compiler macros. (lp#638720)
1690
1691 * slime.el (slime-macro/compiler-macro-expand-1): New.
1692 (slime-macro/compiler-macro-expand-1-inplace): New.
1693 (slime-editing-keys): Map `C-c C-m' to first above.
1694 (slime-compiler-macroexpand-1): Take prefix-arg like others.
1695 (slime-compiler-macroexpand-1-inplace): Ditto.
1696 (slime-compiler-macroexpand): Thus deleted.
1697 (slime-compiler-macroexpand-inplace): Ditto.
1698
1699 * swank.lisp (swank-macro/compiler-macro-expand-1): New defslimefun.
1700 (swank-macro/compiler-macro-expand): New defslimefun.
1701 (macro/compiler-macro-expand-1): New.
1702 (macro/compiler-macro-expand): New.
1703 (expand-repeatedly): New helper.
1704
1705 2010-09-03 Stas Boukarev <stassats@gmail.com>
1706
1707 * slime.el (slime-forward-cruft): Use " \t\n" to match whitespaces
1708 instead of [:space:], XEmacs compatibility.
1709
1710 2010-09-03 Helmut Eller <heller@common-lisp.net>
1711
1712 For C-c C-k, ask before loading possibly broken fasl files.
1713
1714 * slime.el (slime-compilation-result): Add 2 slots: loadp and
1715 faslfile.
1716 (slime-compilation-finished): Use them to load the faslfile.
1717 * swank.lisp (:compilation-result): Add 2 slots. Use keyword
1718 constructor.
1719 (compile-file-for-emacs): Return loadp and faslfile to Emacs.
1720 (collect-notes): Pass loadp and falsfile along.
1721
1722 2010-09-02 Stas Boukarev <stassats@gmail.com>
1723
1724 * swank-cmucl.lisp: #-cmu19 -> #+cmu18, cmu18 is allegedly the
1725 oldest supported CMUCL.
1726
1727 2010-09-01 Stas Boukarev <stassats@gmail.com>
1728
1729 * swank-sbcl.lisp (background-save-image): add #-win32, because it
1730 uses symbols not present on win32.
1731 Reported by Holly Styles.
1732
1733 2010-08-31 Stas Boukarev <stassats@gmail.com>
1734
1735 * swank-cmucl.lisp (foreign-frame-p, gdb-exec, frame-ip): Sparc
1736 support.
1737 Patch by Raymond Toy.
1738
1739 2010-08-31 Nikodemus Siivola <nikodemus@random-state.net>
1740
1741 * swank-sbcl.lisp (make-dspec): Elide the function name when
1742 generating a VOP description, since the VOP name is more useful
1743 and is the first part of the source-description list.
1744
1745 2010-08-28 Stas Boukarev <stassats@gmail.com>
1746
1747 * swank-cmucl.lisp (*gdb-program-name*): Determine gdb location
1748 from PATH.
1749 (gdb-exec): Use *gdb-program-name* instead of "gdb".
1750 (gdb-command): Mac OS X compatibility.
1751 Patch by Raymond Toy.
1752
1753 2010-08-25 Stas Boukarev <stassats@gmail.com>
1754
1755 * swank-sbcl.lisp (exec-image): Use (car sb-ext:*posix-argv*) if
1756 SBCL doesn't have sb-ext:*runtime-pathname*.
1757 Reported by Vinay.
1758
1759 2010-08-22 Stas Boukarev <stassats@gmail.com>
1760
1761 * slime.el (slime-xemacs-recompute-modelines): Add
1762 `slime-xemacs-recompute-modelines' to `pre-idle-hook', this solves
1763 the problem of synchronization of modelines.
1764 Thanks to Aidan Kehoe.
1765
1766 2010-08-21 Stas Boukarev <stassats@gmail.com>
1767
1768 * slime.el (slime-recompute-modelines): Recompute modelines only
1769 for visible buffers. Kludge: modeline can be out of sync if the buffer
1770 becomes visible and no slime/lisp interaction took place yet.
1771 Patch by Raymond Toy.
1772 (slime-search-buffer-package): Revert, with the above
1773 change caching shouldn't be necessary.
1774
1775 2010-08-21 Helmut Eller <heller@common-lisp.net>
1776
1777 Add commands to enable/disable contribs.
1778
1779 * slime.el (slime-enable-contrib, slime-disable-contrib): New.
1780 (slime-contrib): New struct to collect meta-data about contribs.
1781 (define-slime-contrib): Store meta-data in 'slime-contribs plist.
1782 (slime-all-contribs, slime-find-contrib, slime-read-contrib-name):
1783 New helpers.
1784
1785 2010-08-21 Anton Kovalenko <anton@sw4me.com>
1786
1787 Snapshot restore support for SBCL.
1788
1789 * swank-backend.lisp (background-save-image): New.
1790 * swank-sbcl.lisp (command-line-args, dup, sys-execv, exec-image)
1791 (make-fd-stream, background-save-image): New.
1792
1793 2010-08-20 Stas Boukarev <stassats@gmail.com>
1794
1795 * slime.el (slime-maybe-complete-as-filename): Limit backward
1796 search for #\", it slows down on large buffers.
1797 Reported by Raymond Toy.
1798 (slime-search-buffer-package): Cache the package, searching every time
1799 on large buffers may be slow.
1800
1801 2010-08-15 Stas Boukarev <stassats@gmail.com>
1802
1803 * swank.lisp (setup-server): Check the coding system before doing
1804 anything, otherwise it may be eaten by ignore-errors later.
1805
1806 2010-08-13 Helmut Eller <heller@common-lisp.net>
1807
1808 Find definition for (def-vm-support-routine NAME ...)
1809
1810 * swank-cmucl.lisp (vm-support-routine-definitions): New.
1811 (find-definitions): Use it.
1812
1813 2010-08-12 Stas Boukarev <stassats@gmail.com>
1814
1815 * swank-sbcl.lisp (save-image): Fix save-lisp-and-die invocation.
1816 Based on a patch by Anton Kovalenko.
1817
1818 2010-08-11 Helmut Eller <heller@common-lisp.net>
1819
1820 Bind *print-readably* to nil when printing the title.
1821
1822 * swank.lisp (prepare-title): Factored out into new function.
1823 (*inspector-printer-bindings*)
1824 (*inspector-verbose-printer-bindings*): New.
1825 (with-string-stream): New.
1826 (emacs-inspect/istate): Renamed from emacs-inspect/printer-bindings.
1827
1828 2010-08-06 Stas Boukarev <stassats@gmail.com>
1829
1830 * swank-ccl.lisp (spawn): Revert the previous change, using
1831 :use-standard-initial-bindings nil might be not thread-safe.
1832
1833 2010-08-05 Stas Boukarev <stassats@gmail.com>
1834
1835 * swank-ccl.lisp (spawn): Specify
1836 :use-standard-initial-bindings nil, so that *readtable*
1837 etc. modifications persist.
1838
1839 2010-08-04 Stas Boukarev <stassats@gmail.com>
1840
1841 * swank-allegro.lisp (fspec-definition-locations): Default
1842 &optional position to 0, otherwise it may cause errors later.
1843 Reported by: Paulo Madeira.
1844
1845 2010-08-04 Stas Boukarev <stassats@gmail.com>
1846
1847 * slime.el (slime-dispatch-event): :eval-no-wait, lisp sends a
1848 form in a string, not a function name and arguments. Add
1849 slime-check-eval-in-emacs-enabled.
1850 * swank.lisp (defpackage): export eval-for-emacs.
1851
1852 2010-07-30 Helmut Eller <heller@common-lisp.net>
1853
1854 Don't get confused by END-OF-FILE on unrelated streams.
1855 Fixes bug "slime connection broken on trivial condition..."
1856 Reported by Pascal J. Bourguignon.
1857
1858 * swank.lisp (end-of-repl-input): New condition.
1859 (simple-repl, read-non-blocking): Use it.
1860 * slime.el ([test] end-of-file): Test it.
1861
1862 2010-07-30 Helmut Eller <heller@common-lisp.net>
1863
1864 * swank.lisp (print-part-to-string): Bind *print-readably* to nil.
1865 Useful when debugging broken printer methods.
1866
1867 2010-07-22 Vitaly Mayatskikh <v.mayatskih@gmail.com>
1868
1869 * swank-lispworks.lisp (list-callers-internal): Fix for LW6.
1870 (list-callees-internal): New function, use it.
1871
1872 2010-07-21 Stas Boukarev <stassats@gmail.com>
1873
1874 * swank-sbcl.lisp (quit-lisp): Use sb-thread:terminate-thread
1875 instead of sb-ext:quit :recklessly-p t. This way
1876 sb-ext:*exit-hooks* will be run.
1877 Reported by Lorenz Mösenlechner.
1878
1879 2010-07-06 Helmut Eller <heller@common-lisp.net>
1880
1881 Find definition for (%primitive NAME ...)
1882
1883 * swank-cmucl.lisp (template-definitions, primitive-definitions):
1884 New functions.
1885 (find-definitions): Use them.
1886
1887 2010-06-22 Helmut Eller <heller@common-lisp.net>
1888
1889 * swank-loader.lisp (*architecture-features*): ECL uses :x86_64.
1890
1891 2010-06-18 Helmut Eller <heller@common-lisp.net>
1892
1893 * slime.el (slime-current-tlf-number,slime-current-form-path):
1894 Moved to contrib/slime-parse.el.
1895
1896 2010-06-18 Helmut Eller <heller@common-lisp.net>
1897
1898 Don't use goto-line.
1899
1900 * slime.el (slime-goto-line): New function as replacement without
1901 goto-line's cruft that we don't want.
1902
1903 2010-06-04 Helmut Eller <heller@common-lisp.net>
1904
1905 * slime.el, swank.lisp: #'(lambda -> (lambda
1906
1907 2010-06-04 Stelian Ionescu <sionescu@cddr.org>
1908
1909 * swank.lisp: Move definition of LCONS before first use.
1910
1911 2010-06-04 Helmut Eller <heller@common-lisp.net>
1912
1913 * swank-allegro.lisp (socket-fd): Add support for allegro.
1914
1915 2010-06-04 Helmut Eller <heller@common-lisp.net>
1916
1917 Some *sldb-quit-restart* related fixes.
1918
1919 * swank.lisp (*sldb-quit-restart*): Set to nil by default.
1920 (throw-to-toplevel, debug-in-emacs): Get rid of boundp tests.
1921 (format-restarts-for-emacs): Add a mark for *sldb-quit-restart*.
1922 (handle-requests): Always bind *emacs-connection*.
1923 (with-connection): Get rid of call-with-connection so that
1924 compilers can remove the call frame more easily.
1925 (repl-input-stream-read): Factored out from
1926 make-repl-input-stream. Bind a *sldb-quit-restart* here too; no
1927 need to restart the repl and a extra prompt for errors in Emacs
1928 requests.
1929
1930 2010-05-28 Helmut Eller <heller@common-lisp.net>
1931
1932 Fix last change.
1933
1934 * slime.el (define-slime-contrib): Fix names.
1935 Remove provide; makes no sense to call provide before file is
1936 completely loaded.
1937
1938 2010-05-28 Helmut Eller <heller@common-lisp.net>
1939
1940 * slime.el (define-slime-contrib): Use destructuring-bind.
1941
1942 2010-05-28 Helmut Eller <heller@common-lisp.net>
1943
1944 Move some var-defs before first use.
1945
1946 * slime.el (slime-show-xref-buffer, slime-read-connection)
1947 (slime-thread-index-to-id):
1948
1949 2010-05-28 Helmut Eller <heller@common-lisp.net>
1950
1951 Move wacky parsing code to contrib.
1952
1953 * slime.el (slime-extract-context, slime-parse-context)
1954 (slime-in-expression-p, slime-pattern-path)
1955 (slime-beginning-of-list, slime-end-of-list)
1956 (slime-parse-toplevel-form, slime-arglist-specializers)
1957 (slime-definition-at-point, slime-current-parser-state): Moved to
1958 contrib/slime-parse.el
1959 (slime-inspect-definition, slime-disassemble-definition): Moved to
1960 contrib/slime-fancy-inspector.el
1961
1962 2010-05-27 Helmut Eller <heller@common-lisp.net>
1963
1964 * slime.el ([test] interactive-eval): Fix test.
1965
1966 2010-05-27 Helmut Eller <heller@common-lisp.net>
1967
1968 * swank-ccl.lisp (socket-fd): Implement backend function.
1969
1970 2010-05-27 Helmut Eller <heller@common-lisp.net>
1971
1972 Clean up some of the confusion regarding *sldb-quit-restart*.
1973
1974 * swank.lisp (top-level-restart-p, *toplevel-restart-available*)
1975 (coerce-restart): Deleted.
1976 (with-top-level-restart, simple-repl): Simplify.
1977
1978 2010-05-26 Helmut Eller <heller@common-lisp.net>
1979
1980 * swank.lisp (swank-error): Unrename from swank-protocol-error.
1981
1982 2010-05-26 Helmut Eller <heller@common-lisp.net>
1983
1984 * swank-cmucl.lisp (parse-gdb-line-info): Try working dir first.
1985
1986 2010-05-26 Helmut Eller <heller@common-lisp.net>
1987
1988 * slime.el (slime-defun-if-undefined): Renamed from
1989 slime-DEFUN-if-undefined. No need to yell.
1990
1991 2010-05-26 Helmut Eller <heller@common-lisp.net>
1992
1993 * slime.el (slime-compile-file): Only send non-nil keyword args.
1994 (slime-hack-quotes): New function.
1995
1996 2010-05-18 Stas Boukarev <stassats@gmail.com>
1997
1998 * slime.el (sldb-insert-condition): Don't create a mouse tooltip
1999 for long error message, tooltip shows the same text and doesn't
2000 add any value.
2001 (slime-definition-at-point): factor out of `slime-inspect-definition'.
2002 (slime-disassemble-definition): New, similar to
2003 `slime-inspect-definition'.
2004
2005 * swank.lisp (disassemble-form): rename from disassemble-symbol,
2006 do the same as before but evaluate the argument.
2007
2008
2009 2010-05-16 Stas Boukarev <stassats@gmail.com>
2010
2011 * slime.el (slime-close-popup-window): Don't kill
2012 slime-popup-restore-data local variable in another buffer.
2013
2014 2010-05-13 Tobias C. Rittweiler <tcr@freebits.de>
2015
2016 * slime.el (define-slime-contrib): New macro.
2017
2018 2010-05-13 Tobias C. Rittweiler <tcr@freebits.de>
2019
2020 * swank.lisp (*after-init-hook*, simple-break)
2021 (coerce-to-condition, use-threads-p, current-thread-id): Moved
2022 around in swank.lisp.
2023 (with-temp-package): Deleted; not used anywhere.
2024 (ensure-list): Use in SWANK-REQUIRE.
2025
2026 2010-05-11 Stas Boukarev <stassats@gmail.com>
2027
2028 * slime.el (slime-inspect-definition): New function,
2029 inspects definition at point.
2030 (slime-parse-context): Add :defstruct and :defpackage.
2031
2032 2010-05-10 Mark Evenson <evenson@panix.com>
2033
2034 * swank-loader.lisp (*architecture-features*): Add Java platforms
2035 as features for ABCL.
2036
2037 2010-05-06 Helmut Eller <heller@common-lisp.net>
2038
2039 Remove some non-standard file variables.
2040
2041 * swank-cmucl.lisp, swank-scl.lisp: Remove pbook vars.
2042 * swank-clisp.lisp: Remove indentation settings. Slime does it
2043 automatically.
2044
2045 2010-05-05 Stas Boukarev <stassats@gmail.com>
2046
2047 * slime.el (slime-dispatch-event): Fix typo in the previous commit.
2048
2049 2010-05-05 Stas Boukarev <stassats@gmail.com>
2050
2051 * Make buffer names more consistent.
2052 Patch by Leo Liu.
2053
2054 2010-05-05 Helmut Eller <heller@common-lisp.net>
2055
2056 * swank-cmucl.lisp (gdb-command): Use gdb's MI.
2057
2058 2010-05-05 Mark Evenson <evenson@panix.com>
2059
2060 Fix for Cygwin Emacs filename problem.
2061
2062 * slime.el (slime-init-command): Use slime-to-lisp-filename.
2063
2064 2010-05-05 Helmut Eller <heller@common-lisp.net>
2065
2066 * slime.el (sldb-exit): When stepping, close buffer after a delay.
2067 (sldb-close-step-buffer): New function.
2068
2069 2010-05-01 Stas Boukarev <stassats@gmail.com>
2070
2071 * slime.el (slime-restart-sentinel): Don't pop to the inferior
2072 buffer, since this command is usually run either from
2073 *inferior-lisp* buffer or from REPL, it makes sense to reuse
2074 current window instead of messing up window configuration.
2075 (slime-move-point): New function, moves point in a buffer and
2076 its window.
2077
2078 2010-04-29 Stas Boukarev <stassats@gmail.com>
2079
2080 * slime.el (slime-compile-file): Run check-parens after checking
2081 that the buffer is associated with a file.
2082
2083 2010-04-27 Stas Boukarev <stassats@gmail.com>
2084
2085 * slime.el (slime-info): New function, opens the manual.
2086
2087 2010-04-24 Stas Boukarev <stassats@gmail.com>
2088
2089 * swank.lisp (format-values-for-echo-area): Also print the length of an
2090 integer in bits.
2091
2092 2010-04-23 Stas Boukarev <stassats@gmail.com>
2093
2094 * slime.el (slime-update-threads-buffer): Use slime-eval-async.
2095
2096 2010-04-23 Stas Boukarev <stassats@gmail.com>
2097
2098 * slime.el (slime-inspector-buffer): Use slime-with-popup-buffer,
2099 that solves the problem with keybindings shadowed by slime-mode.
2100 Reported by Nathan Bird.
2101
2102 * README: Better wording.
2103
2104 2010-04-22 Stas Boukarev <stassats@gmail.com>
2105
2106 * swank-backend.lisp (with-symbol): Test for package before doing
2107 find-symbol.
2108 * swank-sbcl.lisp(Multiprocessing): use with-symbol.
2109 (emacs-inspect t): Remove newlines from text returned by
2110 sb-impl::inspected-parts, otherwise there will be ".." inserted by
2111 the printer due to (*print-lines* 1).
2112
2113 2010-04-21 Stas Boukarev <stassats@gmail.com>
2114
2115 * slime.el (slime-open-inspector): Use forward-line instead of
2116 goto-line, since it doesn't result in "Mark set" message.
2117 (slime-inspector-buffer): Enable slime-mode after enabling
2118 slime-inspector-mode, otherwise the former will be disabled by the
2119 latter.
2120
2121 2010-04-20 Tobias C. Rittweiler <tcr@freebits.de>
2122
2123 * swank-sbcl.lisp (condition-timed-wait): New helper. Use
2124 WITH-DEADLINE rather than WITH-TIMEOUT because the latter conses a
2125 new timer, and this function is called _a lot_.
2126 (receive-if): Use it.
2127
2128 2010-04-20 Stas Boukarev <stassats@gmail.com>
2129
2130 * slime.el (slime-update-threads-buffer): Save point position
2131 on updates.
2132
2133 2010-04-20 Stas Boukarev <stassats@gmail.com>
2134
2135 * README: advertise additional contribs, especially slime-fancy.
2136
2137 2010-04-19 Stas Boukarev <stassats@gmail.com>
2138
2139 * swank.lisp (symbol-classification-string): New function to
2140 replace (symbol-classification->string (classify-symbol
2141 symbol)). It's faster and conses much less, while it is called
2142 many times by fuzzy completion and fancy inspector.
2143 (symbol-classification->string): Removed.
2144 (list-threads): Exclude the current thread only if its name is
2145 "worker".
2146
2147 2010-04-18 Stas Boukarev <stassats@gmail.com>
2148
2149 * slime.el (slime-threads-update-interval): Add :group and :type
2150 parameters to this customization.
2151 Thanks to Mark Harig.
2152
2153 2010-04-17 Stas Boukarev <stassats@gmail.com>
2154
2155 * slime.el (slime-threads-update-interval): New customization
2156 variable, if set to a number the threads buffer will
2157 updated with this interval.
2158 (slime-with-popup-buffer): Rename modes option to mode,
2159 for a major mode. Enabling minor modes from within the body
2160 doesn't cause troubles. End that way it is compatible with XEmacs
2161 since it doesn't need to use minor-mode-list to distinguish
2162 between minor and major modes.
2163
2164 * swank.lisp (list-threads): Delete the current thread from the
2165 listing.
2166
2167 2010-04-15 Tobias C. Rittweiler <tcr@freebits.de>
2168
2169 * slime.el (sldb-mode): Include some more commands in its help.
2170 (sldb-goto-last-frame): Do not center to the middle but to the
2171 bottom of the window.
2172
2173 2010-04-14 Helmut Eller <heller@common-lisp.net>
2174
2175 * swank.lisp (compile-file-for-emacs): Actually commit the change
2176 described in 2010-04-12.
2177
2178 2010-04-14 Helmut Eller <heller@common-lisp.net>
2179
2180 * slime.el ([test] interrupt-encode-message): New test.
2181
2182 2010-04-14 Helmut Eller <heller@common-lisp.net>
2183
2184 Handle errors during interrupt processing with SLDB.
2185 Bugfix for http://article.gmane.org/gmane.lisp.slime.devel/9641
2186
2187 * swank.lisp (invoke-or-queue-interrupt): When the queue is full,
2188 process the interrupt immediately and also handle
2189 SERIOUS-CONDITIONs during interrupt processing in SLDB. SLDB
2190 should work more likely than the interrupted code is expected to
2191 handle the condition.
2192 (with-interrupts-enabled%): Don't check for interrupts when
2193 toggling interrupts off.
2194 (wait-for-event): Add docstring.
2195
2196 2010-04-14 Helmut Eller <heller@common-lisp.net>
2197
2198 Move error handling and logging from swank-rpc.lisp to swank.lisp
2199
2200 * swank.lisp (log-event, destructure-case, decode-message)
2201 (encode-message, decode-message, swank-protocol-error): Moved back
2202 to swank.lisp from swank-rpc.lisp. It never belonged there
2203 anyway.
2204
2205 * swank-rpc.lisp (read-message, write-message): New functions.
2206 (swank-reader-error): New condition.
2207
2208 2010-04-12 Helmut Eller <heller@common-lisp.net>
2209
2210 * slime.el (slime-doc-bindings): Restore key for slime-apropos.
2211
2212 2010-04-12 Helmut Eller <heller@common-lisp.net>
2213
2214 Fix compile-file for various backends.
2215
2216 * slime.el (slime-compile-file): Only pass non-nil keyword args to
2217 Lisp.
2218 (slime-simplify-plist): New helper.
2219 (slime-compile-and-load-file): Pass policy parameter directly
2220 without using global variables.
2221
2222 * swank.lisp (compile-file-for-emacs): Change singature sightly.
2223
2224 2010-04-06 Stas Boukarev <stassats@gmail.com>
2225
2226 * slime.el (slime-create-compilation-log): Enable
2227 compilation-mode, which was enabled previously by
2228 slime-insert-compilation-log.
2229
2230 2010-04-05 Stas Boukarev <stassats@gmail.com>
2231
2232 * slime.el (slime-doc-bindings): Move slime-apropos to C-c C-d A,
2233 C-c C-d a will be bound to slime-autodoc-manually.
2234
2235 * doc/slime.texi: Document the above change.
2236
2237 2010-04-05 Stas Boukarev <stassats@gmail.com>
2238
2239 * slime.el: Some further adaptations to the new
2240 slime-with-popup-buffer.
2241
2242 2010-04-04 Stas Boukarev <stassats@gmail.com>
2243
2244 * slime.el (slime-insert-threads): Use header-line-format only when
2245 it's present (XEmacs doesn't support it).
2246
2247 2010-04-04 Stas Boukarev <stassats@gmail.com>
2248
2249 * slime.el (slime-with-popup-buffer): Make &optional parameters
2250 &key parameters, add modes parameter.
2251 slime-with-popup-buffer sets up some buffer local variables,
2252 but enabling major modes kills all buffer locals, so modes should
2253 be enabled before setting them.
2254 Adopt changes to slime-with-popup-buffer where needed.
2255 This fixes several bugs with popup buffers on non-default connections.
2256
2257 2010-04-03 Stas Boukarev <stassats@gmail.com>
2258
2259 * slime.el (slime-update-threads-buffer): New formatting, with labels
2260 and additional information provided by the backend.
2261 * swank-allegro.lisp (thread-attributes): Move process-priority from
2262 thread-status.
2263
2264 2010-03-29 Helmut Eller <heller@common-lisp.net>
2265
2266 * slime.el: Add gud as compile-time dependency.
2267
2268 2010-03-29 Helmut Eller <heller@common-lisp.net>
2269
2270 Compile swank-sbcl-exts only for SBCL.
2271
2272 * swank-loader.lisp (*contribs*): Add #+sbcl.
2273
2274 2010-03-29 Helmut Eller <heller@common-lisp.net>
2275
2276 Minor cleanups
2277
2278 * swank.lisp (connection): Make socket-io read-only again.
2279 (*connections*): Move declaration before first use.
2280 (finish-connection-setup): Merged into make-connection.
2281 (accept-connections): Renamed from serve-connection and
2282 reorganized so that the socket-io slot can be read-only.
2283 (accept-authenticated-connection): Renamed to authenticate-client.
2284 Update callers accordingly.
2285
2286 2010-03-29 Tobias C. Rittweiler <tcr@freebits.de>
2287
2288 * swank.lisp (connection-info): Use princ-to-string rather than
2289 prin1-to-string as the latter may barf if *print-readably* is nil.
2290
2291 2010-03-27 Stas Boukarev <stassats@gmail.com>
2292
2293 * slime.el (slime-check-location-buffer-name-sanity): Less duplication,
2294 reuse slime-check-location-filename-sanity.
2295 (slime-check-location-filename-sanity): Do any work only when
2296 slime-warn-when-possibly-tricked-by-M-. is non-nil.
2297
2298 2010-03-21 Stas Boukarev <stassats@gmail.com>
2299
2300 * start-swank.lisp: Document options to swank-loader:init.
2301
2302 * doc/slime.texi (Miscellaneous): mention
2303 `sldb-break-with-system-debugger'.
2304
2305 2010-03-21 Stas Boukarev <stassats@gmail.com>
2306
2307 * start-swank.lisp: New file for starting swank by simply loading
2308 sbcl --load start-swank.lisp
2309
2310 2010-03-19 Tobias C. Rittweiler <tcr@freebits.de>
2311
2312 * slime.el (slime-lisp-implementation-program): New connection
2313 variable.
2314 (slime-set-connection-info): Adapted to set it.
2315 (slime-attach-gdb): Use it to invoke gdb so gdb is able to find
2316 debugging symbols on non-Linux platforms.
2317
2318 * swank.lisp (connection-info): Include lisp-implementation-program.
2319
2320 * swank-backend.lisp (lisp-implementation-program): New interface.
2321 Default implementation based on command-line-args.
2322
2323 * swank-ecl.lisp (command-line-args): Implement.
2324
2325 2010-03-18 Tobias C. Rittweiler <tcr@freebits.de>
2326
2327 Remove attach-gdb restart. Instead add SLDB shortcut `A'.
2328
2329 * slime.el (slime-dispatch-event): Remove :gdb-attach.
2330 (slime-attach-gdb): Changed API. Takes connection not pid now and
2331 lightweight &optional arg. If not lightweight, get the default gdb
2332 config from the inferior Lisp.
2333 (sldb-break-with-system-debugger): New command, bound to `A' in
2334 sldb. Called this way to mimick
2335 `sldb-break-with-default-debugger', and because it may make sense
2336 to go beyond gdb in future, e.g. to invoke the Java Debugger for
2337 ABCL.
2338
2339 * swank.lisp (call-with-gdb-restart, with-gdb-restart): Removed.
2340 (with-top-level-restart): Remove use of with-gdb-restart.
2341 (make-connection, start-server, create-server, setup-server):
2342 Remove inferior-lisp flag again. Not needed anymore.
2343
2344 2010-03-18 Tobias C. Rittweiler <tcr@freebits.de>
2345
2346 Add M-x slime-attach-gdb as an interactive function.
2347
2348 The ATTACH-GDB restart is nice because it's convenient and the
2349 backends can specify customized gdb configuration.
2350
2351 Sometimes, if the Lisp is too screwed up, going over a restart
2352 involving the SWANK middle layer may not be possible. For that, a
2353 manual M-x slime-attach-gdb may come in handy.
2354
2355 * slime.el (slime-read-connection): New helper.
2356 (slime-attach-gdb): Use it. Make it an interactive function.
2357
2358 2010-03-18 Tobias C. Rittweiler <tcr@freebits.de>
2359
2360 * swank.lisp (call-with-gdb-restart): Forgot to remove trailing T.
2361
2362 2010-03-18 Tobias C. Rittweiler <tcr@freebits.de>
2363
2364 * swank.lisp (open-dedicated-output-stream): Forgot to rename
2365 accept-authenticated-connection to accept-authenticated-client
2366 here.
2367
2368 2010-03-18 Tobias C. Rittweiler <tcr@freebits.de>
2369
2370 Add an ATTACH-GDB restart to SLDB.
2371
2372 * swank.lisp (call-with-gdb-restart): New. Sends the new
2373 :gdb-attach event to Emacs.
2374 (with-gdb-restart): Sugar.
2375 (with-top-level-restart): Also expand to with-gdb-restart.
2376 (dispatch-event): Add :gdb-attach event.
2377
2378 * swank-backend.lisp (gdb-initial-commands): New interface
2379 function so backends can customize how gdb needs to be configured
2380 for their implementation.
2381
2382 * swank-ecl.lisp (gdb-initial-commands): Implement.
2383
2384 * slime.el (slime-dispatch-event): Add clause for :gdb-attach.
2385 (slime-attach-gdb): New.
2386
2387 2010-03-18 Tobias C. Rittweiler <tcr@freebits.de>
2388
2389 * swank.lisp (connection): Add socket slot, make socket-io slot
2390 not be required to be filled in during object creation. Add
2391 inferior-lisp slot so we can know whether a connection belongs to
2392 a superior Emacs process. Need for that will come in following
2393 commit.
2394 (make-connection): Our constructor.
2395 (create-connection): Removed; not needed anymore.
2396 (finish-connection-setup): Function to fill socket-io slot.
2397 (start-server): Results in inferior-lisp slot being T.
2398 (create-server): Results in inferior-lisp slot being NIL.
2399 (setup-server): Adapted accordingly. Construct connection early so
2400 we do not have to pass down all the meta information explicitly.
2401 (serve-connection): Adapted accordingly.
2402 (accept-authenticated-client): Renamed from
2403 accept-authenticated-connection.
2404 (dispatch-event): Get rid of unused :%apply and :end-of-stream
2405 events.
2406
2407 2010-03-16 Tobias C. Rittweiler <tcr@freebits.de>
2408
2409 * swank-ecl.lisp (source-location): Also return EXT::FOO as
2410 candidate to search through the TAGS file because SI and EXT both
2411 name the same package, and in ECL's code base, sometimes the
2412 former, sometimes the latter is used.
2413
2414 2010-03-10 Tobias C. Rittweiler <tcr@freebits.de>
2415
2416 * swank.lisp (signal-interrupt): Removed.
2417 (interrupt-worker-thread): Slurp in definition of
2418 signal-interrupt. No need for invoke-or-queue-interrupt twice in
2419 case we do not use threads. Thus micro-prettification of
2420 backtraces.
2421
2422 2010-03-10 Tobias C. Rittweiler <tcr@freebits.de>
2423
2424 * swank-ecl.lisp (source-location): Move call to
2425 TRANSLATE-LOGICAL-PATHNAME from here into MAKE-FILE-LOCATION
2426 because locations-via-annotations may now also involve logical
2427 pathnames.
2428
2429 2010-03-10 Tobias C. Rittweiler <tcr@freebits.de>
2430
2431 * swank-ecl.lisp (*original-sigint-handler*)
2432 (install-sigint-handler): Deleted; we directly implement
2433 call-with-user-break-handler instead.
2434 (call-with-user-break-handler): New. Correctly interrupt main
2435 thread instead of newly spawned handle-signal thread on SIGINT.
2436 (make-interrupt-handler): New helper.
2437
2438 2010-03-09 Stas Boukarev <stassats@gmail.com>
2439
2440 * swank-ccl.lisp (emacs-inspect function): Print closed over variables
2441 in case of closure.
2442
2443 2010-03-09 Stas Boukarev <stassats@gmail.com>
2444
2445 * slime.el (slime-parse-context): Add defclass.
2446
2447 2010-03-09 Helmut Eller <heller@common-lisp.net>
2448
2449 Some more fixes for Allegro
2450
2451 * swank-allegro.lisp (function-source-location): Use
2452 xref::object-to-function-name which seems to work better for some
2453 cases.
2454 (fspec-definition-locations): For :top-level-forms return a list
2455 of ((fspec loc)) not just (fspec loc). Also deal with the file
2456 vs. buffer issue.
2457 (ldb-code-to-src-loc): Don't use *temp-file-map* before it is
2458 declared.
2459 (pc-source-location): Be a bit more fuzzy when searching the
2460 code-location for a pc.
2461
2462 2010-03-08 Stas Boukarev <stassats@gmail.com>
2463
2464 * slime.el (slime-extract-context): Add defvar and defparameter.
2465
2466 2010-03-08 Helmut Eller <heller@common-lisp.net>
2467
2468 Fix some of the brokeness in the last change.
2469
2470 * swank-allegro.lisp (frame-source-location): Deal with frames for
2471 undefined functions better.
2472 (ldb-code-to-src-loc): Handle temp-files properly.
2473
2474 2010-03-08 Helmut Eller <heller@common-lisp.net>
2475
2476 Try to use source-level debugging features in Allegro 8.2
2477
2478 * swank-allegro.lisp (disassemble-frame): Use undocumented
2479 debugger::dyn-fd-analyze to figure out the PC and display it.
2480 (pc-source-location, ldb-code-to-src-loc, longest-common-prefix)
2481 (source-paths-of): New functions.
2482 (frame-source-location): Use pc-source-location. Still far from
2483 optimal since Allegro rarely records source regions and anonymous
2484 functions don't seem to carry source level debug-info at all.
2485 (*temp-file-map*, buffer-or-file-location, find-fspec-location):
2486 Use a table to map temp-file names back to Emacs buffers instead
2487 of putting an eval-when-compile form in the source. The
2488 eval-when-compile form messed up source positions.
2489 (*temp-file-header-end-position*, find-definition-in-buffer):
2490 Deleted.
2491 (compile-from-temp-file): Bind excl:*load-source-debug-info* and
2492 compiler:save-source-level-debug-info-switch so that Allegro
2493 doesn't try to load debug-info from deleted files. Also put
2494 the filename in *temp-file-map*.
2495
2496 2010-03-08 Tobias C. Rittweiler <tcr@freebits.de>
2497
2498 * swank.lisp (dispatch-interrupt-event): Take a connection because
2499 it boils down to SIGNAL-INTERRUPT which uses USE-THREADS-P which
2500 needs a connection.
2501 (install-fd-handler): Adapted accordingly.
2502 (simple-serve-requests): Adapted accordingly. Additionally, remove
2503 superfluous WITH-SWANK-PROTOCOL-HANDLER as that's established by
2504 WITH-CONNECTION already.
2505 (simple-repl): Show "abort inferior lisp" restart only if not a
2506 more appropriate "abort some REX" restart is available. Also make
2507 sure to return in case of END-OF-FILE, otherwise there's an
2508 infinite loop where we end up in the debugger again and again
2509 until the user eventually selects close-connection restart himself.
2510 (make-repl-input-stream): Use WITH-TOP-LEVEL-RESTART so
2511 `sldb-quit' can be used in SLDB.
2512
2513 2010-03-08 Tobias C. Rittweiler <tcr@freebits.de>
2514
2515 * swank.lisp (close-connection): Include initially passed
2516 coding-system in debugging output.
2517
2518 2010-03-08 Tobias C. Rittweiler <tcr@freebits.de>
2519
2520 Make swank:connection-info include information about initially
2521 passed coding-system, and the resulting external-format of the
2522 socket. Debugging aid.
2523
2524 * swank.lisp (connection.external-format): New function.
2525 (start-server, create-server): Pass down coding-system, not
2526 external-format.
2527 (setup-server): Pass down both, coding-system and external-format.
2528 (serve-connection): Ditto.
2529 (create-connection): Set coding-system slot of CONNECTION.
2530 (connection-info): Include coding-system and external-format.
2531
2532 2010-03-07 Helmut Eller <heller@common-lisp.net>
2533
2534 * swank-allegro.lisp (count-cr): Deleted. No longer used.
2535
2536 2010-03-07 Helmut Eller <heller@common-lisp.net>
2537
2538 Handle src-locs of compiler warnings in Allegro 8.2.
2539 Didn't somebody already fix that?
2540
2541 * swank-allegro.lisp (location-for-warning)
2542 (handle-undefined-functions-warning): In 8.2 src-locs include not
2543 only start but also and end positions.
2544
2545 2010-03-07 Stas Boukarev <stassats@gmail.com>
2546
2547 * swank-ecl.lisp (source-location): Don't do
2548 (setq file (tmpfile-to-buffer file)) in a COND condition,
2549 otherwise next cond clause will get null file.
2550 Apply translate-logical-pathname to pathnames.
2551
2552 2010-03-05 Helmut Eller <heller@common-lisp.net>
2553
2554 Remove some unused stuff.
2555
2556 * swank-ccl.lisp (openmcl-set-debug-switches)
2557 (*interesting-internal-frames*)
2558 (interesting-frame-p): Unused. Deleted.
2559
2560 2010-03-05 Helmut Eller <heller@common-lisp.net>
2561
2562 * swank-ccl.lisp: Indentation fixes.
2563
2564 2010-03-05 Tobias C. Rittweiler <tcr@freebits.de>
2565
2566 * swank-ecl.lisp: Make backend depend on ECL version 10.3.1 which
2567 just got released. We do not support older versions. Previous
2568 version pretty much didn't work in combination with Slime anyway.
2569
2570 2010-03-05 Tobias C. Rittweiler <tcr@freebits.de>
2571
2572 Ecl: Make M-. work on function interactively compiled via C-c C-c.
2573
2574 * swank-ecl.lisp (*tmpfile-map*, note-buffer-tmpfile)
2575 (tmpfile-to-buffer): New helpers.
2576 (swank-compile-string): Use them. Also use new COMPILE-FILE
2577 keywords :SOURCE-TRUENAME and :SOURCE-OFFSET available in ECL
2578 HEAD.
2579 (find-definitions): Slurp in definition of
2580 FIND-DEFINITIONS-BY-NAME.
2581 (find-definitions-by-name): Hence not needed anymore.
2582 (source-location): Use TMPFILE-TO-BUFFER to get buffer source
2583 location of interactively compiled functions.
2584
2585 2010-03-04 Mark Evenson <evenson@panix.com>
2586
2587 * swank-abcl.lisp (emacs-inspect): Define default method to use
2588 the result of SYS:INSPECTED-PARTS if non-nil.
2589
2590 2010-03-03 Stas Boukarev <stassats@gmail.com>
2591
2592 * doc/slime.texi (Inspector): document slime-inspector-eval.
2593 Patch by Mark Harig.
2594
2595 2010-03-03 Helmut Eller <heller@common-lisp.net>
2596
2597 Don't special case special operators with M-. for CMUCL.
2598
2599 * swank-cmucl.lisp (function-definitions): Special operators will
2600 have IR1-translators anyway, so no need to mark them "special".
2601 (gf-definitions): Renamed from generic-function-definitions.
2602
2603 2010-03-03 Helmut Eller <heller@common-lisp.net>
2604
2605 * slime.el (slime-inspector-history): New command.
2606
2607 2010-03-03 Helmut Eller <heller@common-lisp.net>
2608
2609 Don't try to bind keywords in inspector-eval.
2610
2611 * swank.lisp (inspector-eval): For now, don't bind symbols which
2612 are constantp. Maybe something better can be found later.
2613
2614 2010-03-03 Helmut Eller <heller@common-lisp.net>
2615
2616 Use @ instead of # to mark object in the inspect history.
2617
2618 * swank.lisp (print-part-to-string): Use @.
2619
2620 2010-03-03 Helmut Eller <heller@common-lisp.net>
2621
2622 Make eval-in-frame display multiple values; not only the first.
2623
2624 * swank.lisp (values-to-string): New macro.
2625 (eval-string-in-frame): Use it.
2626
2627 2010-03-02 Stas Boukarev <stassats@gmail.com>
2628
2629 * swank-sbcl.lisp (definition-source-for-emacs): Don't error when
2630 source location doesn't contain form position, point emacs to the
2631 beginning of a source file and if it's a function provide a
2632 snippet "(defun <name> ".
2633
2634 2010-03-02 Stas Boukarev <stassats@gmail.com>
2635
2636 * slime.el (slime-compile-and-load-file): Accept C-u arguments for
2637 compilation policy the same way as slime-compile-defun.
2638
2639 * swank.lisp (compile-file-for-emacs): Take an additional policy
2640 argument.
2641 * swank-backend.lisp (swank-compile-file): Ditto.
2642
2643 * swank-sbcl.lisp (compiler-policy, (setf compiler-policy)):
2644 rename from get/set-compiler-policy.
2645 (with-compiler-policy): New macro.
2646 (swank-compile-file): Use with-compiler-policy.
2647 (swank-compile-string): Ditto.
2648
2649 * doc/slime.texi (Compilation): Update.
2650
2651 2010-03-01 Stas Boukarev <stassats@gmail.com>
2652
2653 * swank.lisp (documentation-symbol): Show arglists for functions too.
2654
2655 2010-03-01 Tobias C. Rittweiler <tcr@freebits.de>
2656
2657 Fix that annoying bug that caused being constantly asked to switch
2658 connection in case one had multiple connections running and quit
2659 from one.
2660
2661 * slime.el (slime-modeline-string): Bail out early because
2662 `slime-current-package' involves `slime-connection' in case the
2663 slime-repl contrib is used, and querying the user in a
2664 periodically called function is rather annoying..
2665
2666 2010-02-26 Stas Boukarev <stassats@gmail.com>
2667
2668 * swank-loader.lisp (ecl-version-string): Check length of
2669 the result of ext:lisp-implementation-vcs-id before doing subseq.
2670 On CVS it returns "unknown".
2671
2672 2010-02-25 Stas Boukarev <stassats@gmail.com>
2673
2674 * swank-loader.lisp (ecl-version-string): In
2675 #+(or) (progn #+#.(cl:print cl:nil) 1) PRINT does run on SBCL, which
2676 breaks #+#.(cl:if (cl:find-symbol "SYMBOL" :ext) ...) here,
2677 guard it with
2678 (find-package :ext) until further investigations.
2679
2680 2010-02-25 Tobias C. Rittweiler <tcr@freebits.de>
2681
2682 * swank-loader.lisp (lisp-version-string): Add git-commit ids for
2683 ECL because individual commits do not guarantee fasl
2684 compatibility.
2685
2686 2010-02-23 Tobias C. Rittweiler <tcr@freebits.de>
2687
2688 * swank-backend.lisp (when-let): New macro. For backends and
2689 swank.lisp.
2690
2691 * swank-ecl.lisp: Use it. Also use new location support of ECL git
2692 HEAD.
2693
2694 2010-02-23 Tobias C. Rittweiler <tcr@freebits.de>
2695
2696 * slime.el (slime-postprocess-xref): Show a TAGS entry's hints as
2697 part of an Xref's dspec for the case of multiple matches.
2698
2699 2010-02-23 Tobias C. Rittweiler <tcr@freebits.de>
2700
2701 * swank-ecl.lisp (preferred-communication-style): Go back to
2702 NIL. Some parts (like the compiler and CLOS) of ECL do not seem to
2703 be thread-safe yet. Also get rid of non-working implementation of
2704 :FD-HANDLER.
2705 (poll-streams, wait-for-input): Implement on top of select() for
2706 communication-style=NIL.
2707 (*descriptor-handlers*, add-fd-handler, remove-fd-handlers): Get
2708 rid of.
2709 (grovel-docstring-for-arglist): Get rid of it, too.
2710 (arglist): ECL now provides an extra accessor to a function's
2711 arglist. Use that instead.
2712 (emacs-inspect): Get rid of the default method. Don't see its
2713 point.
2714
2715 2010-02-22 Tobias C. Rittweiler <tcr@freebits.de>
2716
2717 Make swank-ecl.lisp work with latest ECL Git HEAD.
2718
2719 * swank-ecl.lisp (assert-TAGS-file): Simplified.
2720 (assert-source-directory): New helper.
2721 (c-function-p): New helper.
2722 (c-function): Type based on above.
2723 (source-location): Move bits from FIND-DEFINITIONS-FOR-TYPE to
2724 this function. Use CONVERTING-ERRORS-TO-ERROR-LOCATION.
2725 (find-definitions-for-type): Simplified by using it.
2726
2727 2010-02-22 Tobias C. Rittweiler <tcr@freebits.de>
2728
2729 * swank-backend.lisp (converting-errors-to-error-location): Moved
2730 here from swank-sbcl.lisp so other backends can make use of it, too.
2731
2732 * swank-sbcl.lisp: The above macro was called slightly
2733 differently, so update uses accordingly.
2734
2735 2010-02-22 Tobias C. Rittweiler <tcr@freebits.de>
2736
2737 Make M-. be able to jump right into the C source for ECL.
2738
2739 Because it's based on TAGS files, M-. and M-* will DTRT once in a
2740 .c file.
2741
2742 * swank-ecl.lisp (assert-TAGS-file): New helper.
2743 (classify-definition-name): Ditto.
2744 (find-definitions-for-type): Ditto. Understands Lisp and C
2745 functions.
2746 (find-definitions): Use them.
2747 (source-location): New helper. Extracted from FIND-SOURCE-LOCATION.
2748 (find-source-location): Use it.
2749 (swank-compile-string): Only try to delete temporary files if they
2750 exist.
2751
2752 2010-02-22 Tobias C. Rittweiler <tcr@freebits.de>
2753
2754 Make it possible for SWANK backends to specify locations based on
2755 a TAGS file.
2756
2757 * slime.el (slime-postprocess-xref, slime-postprocess-xrefs): New
2758 functions. They convert TAGS based locations from SWANK into
2759 file+position based locations because the rest of Slime expects
2760 and works with those.
2761 (slime-find-definitions): Call slime-postprocess-xrefs.
2762 (slime-xref): Ditto.
2763 (slime-etags-to-locations): The function which does the actual
2764 conversion. Extracted from `slime-etags-definitions'.
2765 (slime-etags-definitions): Use it.
2766
2767 * swank-backend (defimplementation): Add implicit BLOCK.
2768 (:etags-file, :tag): Mentioned for possible values in :LOCATION.
2769
2770 2010-02-20 Tobias C. Rittweiler <tcr@freebits.de>
2771
2772 More work on ECL's swank-backend.
2773
2774 * swank-ecl.lisp (accept-connection): Handle :buffering, and
2775 :external-format.
2776 (external-format): New helper.
2777 (find-external-format): Make sure to only return :default in case
2778 ECL was built with --disable-unicode; it'll barf on anything else.
2779 (socket-fd): Add two-way-stream case due to recent changes in ECL.
2780 (make-file-location, make-buffer-location): New helpers.
2781 (condition-location): Use them.
2782 (swank-compile-file): Handle :external-format.
2783 (compile-from-stream): Deleted. Slurped into swank-compile-string.
2784 (swank-compile-string): Call SI:MKSTEMP correctly. Make sure to
2785 also remove fasl file, not just source file.
2786 (grovel-docstring-for-arglist): Do not look at "Syntax:" entry in
2787 docstring because that was a kludge. Upstream ECL should be
2788 modified instead.
2789 (in-swank-package-p, is-swank-source-p, is-ignorable-fun-p):
2790 Commented out. They make debugging ECL's swank-backend harder.
2791
2792 2010-02-20 Tobias C. Rittweiler <tcr@freebits.de>
2793
2794 * swank-loader.lisp (*architecture-features*): Add :PENTIUM3 and
2795 :PENTIUM4; they're used by ECL.
2796 (handle-swank-load-error): Renamed from HANDLE-LOADTIME-ERROR. Use
2797 *FASL-DIRECTORY* rather than (DEFAULT-FASL-DIR). Parametrize
2798 context to differentiate b/w compilation/loading.
2799 (compile-files): Adapted accordingly. Also make sure that an error
2800 is signaled in case COMPILE-FILE returns NIL as primary result.
2801
2802 2010-02-20 Stas Boukarev <stassats@gmail.com>
2803
2804 * swank-ccl.lisp: Remove outdated comment at the beginning
2805 since it may be misleading.
2806
2807 * slime.el: In minor-mode-alist for slime-popup-buffer-mode,
2808 run slime-modeline-string only if slime-mode isn't active, because
2809 slime-mode runs slime-modeline-string from minor-mode-alist too
2810 resulting in duplicate modeline strings.
2811 Reported by Leo Liu.
2812
2813 2010-02-18 Mark Harig <idirectscm@aim.com>
2814
2815 The compiler warns about various stuff. Fix some of it.
2816
2817 * slime.el (slime-add-local-hook): Remove support for Emacs 20.
2818 (sldb-recenter-region): Use forward-line; not next-line.
2819
2820 2010-02-17 Helmut Eller <heller@common-lisp.net>
2821
2822 Add a command to eval stuff in the inspector.
2823
2824 * slime.el (slime-inspector-eval): New command.
2825 (slime-inspector-mode-map): Bind it to 'e'.
2826 * swank.lisp (inspector-eval): New function.
2827 * swank-backend.lisp (eval-context): New function.
2828 * swank-cmucl.lisp (eval-context): Implement it.
2829
2830 2010-02-17 Helmut Eller <heller@common-lisp.net>
2831
2832 Point-entered hooks in the xref buffer don't work so well.
2833 Use forward/backward commands instead.
2834
2835 * slime.el (slime-xref-next-line, slime-xref-prev-line): New
2836 commands.
2837 (slime-xref-show-location): New aux function.
2838 (slime-xref-mode-map): Remap up/down to next/prev location
2839 commands. Make SPC and RET do the same.
2840
2841 2010-02-17 Helmut Eller <heller@common-lisp.net>
2842
2843 Select the xref buffer.
2844 I never could get used to the next/prev cycling.
2845
2846 * slime.el (slime-with-xref-buffer): Select the buffer.
2847 (slime-insert-xrefs): Add point-entered hook to automatically
2848 display the current location.
2849 (slime-xref-entered): New function.
2850 (slime-show-buffer-position): Don't use reposition-window which
2851 seems very slow and doesn't even do a particularly good job. The
2852 new heuristic is much cruder but faster.
2853 (slime-xref-mode-map): Remove apparently redundant bindings for
2854 RET.
2855
2856 2010-02-17 Helmut Eller <heller@common-lisp.net>
2857
2858 Get rid or snapshots.
2859
2860 * slime.el (slime-narrowing-configuration, slime-emacs-snapshot)
2861 (slime-current-narrowing-configuration)
2862 (slime-set-narrowing-configuration, slime-current-emacs-snapshot)
2863 (slime-set-emacs-snapshot)
2864 (slime-current-emacs-snapshot-fingerprint, slime-frame-windows):
2865 Deleted. Update call-sites accordingly.
2866
2867 2010-02-17 Helmut Eller <heller@common-lisp.net>
2868
2869 Test suite hangs for CCL and CMUCL.
2870
2871 * slime.el ([test] compile-defun): Remove those compile-time read
2872 errors for which some implementations invoke the debugger.
2873 (sexp-at-point.1): Remove failing tests
2874
2875 2010-02-16 Tobias C. Rittweiler <tcr@freebits.de>
2876
2877 * swank-loader.lisp: Compile files on ECL, too.
2878
2879 2010-02-16 Tobias C. Rittweiler <tcr@freebits.de>
2880
2881 Pimp my swank.
2882
2883 * swank-ecl.lisp: We depend on ECL 10.2.1 which is not released
2884 yet -- you need git/cvs HEAD. Added :spawn, and :fd-handler as
2885 communication-style (Thanks to Ram Krishnan), improve compilation
2886 hooks so highligting of warnings works, + various cleanup.
2887
2888 2010-02-15 Tobias C. Rittweiler <tcr@freebits.de>
2889
2890 * slime.el (slime-load-contribs): Do not call SWANK-REQUIRE
2891 asynchronously, if host Lisp uses :SPAWN that may result in the
2892 attempt to load in code concurrently -- the host Lisp may not
2893 support that.
2894
2895 2010-02-14 Tobias C. Rittweiler <tcr@freebits.de>
2896
2897 * slime.el (slime-attempt-connection): Fix typo. Thanks to Mark
2898 Harig for spotting it.
2899
2900 2010-02-13 Tobias C. Rittweiler <tcr@freebits.de>
2901
2902 * slime.el (slime-attempt-connection): Do not keep on trying to
2903 connect if inferior process died.
2904
2905 2010-02-07 Tobias C. Rittweiler <tcr@freebits.de>
2906
2907 * swank-ecl.lisp: Update threading code. ECL doesn't still work
2908 with :spawn, though. Work in progress.
2909
2910 2010-02-07 Tobias C. Rittweiler <tcr@freebits.de>
2911
2912 * swank.lisp (xref-doit): Declare eql-specializing parameter
2913 ignorable, as some implementations complain about them not being
2914 used.
2915
2916 2010-02-01 Mark Harig <idirectscm@aim.com>
2917
2918 * slime.el: Added missing pieces to make `slime-cycle-connections'
2919 available from keystrokes.
2920 (slime-prefix-bindings): Added "\C-xn" entry.
2921 (slime-cycle-connections): Corrected grammar in doc string.
2922 (def-slime-selector-method): Added menu item `n' to SLIME selector
2923 menu.
2924
2925 * doc/slime.texi: Added a description for the new key sequence for
2926 `slime-cycle-connections' and for the new menu item in the SLIME
2927 selector menu.
2928 Node slime-selector: Added menu item `n' and cross-references to
2929 "Multiple Connections" node.
2930 Node Multiple connections: Added C-c C-x n description. Added
2931 cross-references to `slime-selector' node.
2932
2933 2010-01-31 Tobias C. Rittweiler <tcr@freebits.de>
2934
2935 * hyperspec.el: When using C-c C-d ~ TAB, previously there were
2936 entries for "C" and "C: Character", which unpleasingly crowded the
2937 completion buffer, so I made it show one entry ("C - Character")
2938 only. RIP, erik.
2939
2940 2010-01-30 Stas Boukarev <stassats@gmail.com>
2941
2942 * slime.el (slime-cycle-connections): Change docstring, it
2943 doesn't make connection buffer-local.
2944 * doc/slime.texi (Multiple connections): document
2945 slime-cycle-connections.
2946
2947 * swank.lisp (pathname-as-directory): Treat "/foo/bar" and "/foo/bar/"
2948 the same.
2949 (compile-file-output): Use the above function.
2950
2951 2010-01-28 Mark Evenson <evenson@dada.local>
2952
2953 * swank-abcl.lisp (emacs-inspect): Make inspection of Java objects
2954 toString() results dependent on explicit user request to avoid
2955 potentially computationally expensive operations.
2956
2957 2010-01-27 Stas Boukarev <stassats@gmail.com>
2958
2959 * swank-rpc.lisp: NIL -> nil (for unusual readtable settings).
2960 Spotted by Harald Hanche-Olsen.
2961
2962 2010-01-26 Mark Evenson <evenson@dada.local>
2963
2964 * swank-abcl.lisp: Import
2965 MOP::COMPUTE-APPLICABLE-METHODS-USING-CLASSES if it exists in the
2966 ABCL implementation.
2967
2968 2010-01-25 Tobias C. Rittweiler <tcr@freebits.de>
2969
2970 * swank-allegro.lisp (redefinition-p, redefinition): New.
2971 (handle-compiler-warning): Add :severity for redefinitions,
2972 style-warnings, errors.
2973
2974 2010-01-21 Stas Boukarev <stassats@gmail.com>
2975
2976 * swank-ccl.lisp (with-frame): Put this macro before it's used.
2977
2978 2010-01-20 Terje Norderhaug <terje@in-progress.com>
2979
2980 * swank.lisp (with-swank-protocol-error-handler): Refactor using
2981 safe-backtrace.
2982 * swank-rpc.lisp (make-swank-protocol-error): Delete call to
2983 swank:safe-backtrace to eliminate dependency on swank.lisp module.
2984 * swank-rpc.lisp (swank-protocol-error): Remove
2985 swank-protocol-error.backtrace as the capture of a safe-backtrace
2986 is covered by with-swank-protocol-error-handler.
2987
2988 2010-01-20 Stas Boukarev <stassats@gmail.com>
2989
2990 * slime.el (slime-thread-kill): If the region is active, then
2991 kill all threads in the region.
2992
2993 2010-01-19 Stas Boukarev <stassats@gmail.com>
2994
2995 * swank-rpc.lisp (:swank-rpc): (:use :cl), SBCL
2996 doesn't use it by default.
2997
2998 2010-01-19 Terje Norderhaug <terje@in-progress.com>
2999
3000 * Refactorized parts of swank.lisp into a new swank-rpc module.
3001
3002 2010-01-14 Stas Boukarev <stassats@gmail.com>
3003
3004 * doc/slime.texi (Setting up the lisp image):
3005 (swank-loader:init) is also needed for loading swank.
3006 Reported by Evgeny Bahvalov.
3007
3008 2010-01-13 Tobias C. Rittweiler <tcr@freebits.de>
3009
3010 * swank.lisp (*swank-state-stack*): Delete. Not needed anymore.
3011 (defslimefun state-stack): Delete.
3012 (decode-message): Adapted.
3013 (debug-in-emacs): Adapted.
3014
3015 2010-01-11 Mark Evenson <evenson@dada.local>
3016
3017 * swank-abcl.lisp (emacs-inspect): Implementation for Java
3018 objects.
3019
3020 Fix compiler warning about *ABCL-SIGNALED-CONDITIONS*.
3021
3022 2010-01-06 Tobias C. Rittweiler <tcr@freebits.de>
3023
3024 * swank-backend (declaration-arglist): Normalize declaration
3025 specifiers to contain `variables' rather than `vars'.
3026
3027 2010-01-05 Tobias C. Rittweiler <tcr@freebits.de>
3028
3029 * swank-sbcl.lisp (compiler-note-location): Add missing return-from.
3030
3031 2010-01-05 Tobias C. Rittweiler <tcr@freebits.de>
3032
3033 * slime.el (compile-defun [test]): Add two cases.
3034
3035 2010-01-05 Cecil Westerhof <Cecil@decebal.nl>
3036
3037 * slime.texi (inferior-slime-mode): Fix thinko.
3038
3039 2010-01-05 Terje Norderhaug <terje@in-progress.com>
3040
3041 Provide default implementation for all-threads.
3042
3043 * swank-backend.lisp (all-threads): Just return ().
3044
3045 2010-01-05 Helmut Eller <heller@common-lisp.net>
3046
3047 Fix M-. bug related to CMUCL's multi-file compilation units.
3048
3049 * swank-cmucl.lisp (code-location-stream-position): Require the
3050 "root-number" as argument and subtract it from the TLF number.
3051 (location-in-file): Pass the root number along.
3052 (code-location-string-offset): Use 0 as root number.
3053
3054 2010-01-05 Helmut Eller <heller@common-lisp.net>
3055
3056 Slightly better error message when CMUCL fails to find defstructs.
3057
3058 * swank-cmucl.lisp (struct-constructor, setf-definitions): Don't
3059 use COERCE which gives confusing error message.
3060
3061 2010-01-05 Helmut Eller <heller@common-lisp.net>
3062
3063 Add "quit" and "other window prefix" buffer selectors.
3064
3065 * slime.el (slime-selector-other-window): New variable.
3066 (slime-selector): Bind it as need.
3067 (def-slime-selector-method): Use the other window if so indicated.
3068 ([selector] 4): New key binding.
3069 ([selector] q): New key binding. just abort.
3070
3071 2010-01-05 Helmut Eller <heller@common-lisp.net>
3072
3073 Stop the beeping on restart.
3074
3075 * slime.el (slime-quit-lisp-internal): Don't kill already dead
3076 processes.
3077
3078 2010-01-03 Stas Boukarev <stassats@gmail.com>
3079
3080 * swank-backend.lisp (frame-call): New function.
3081 Returns a string representing a call to the entry point of a frame.
3082 * swank-ccl.lisp (frame-call): Implementation of the above.
3083 * swank-sbcl.lisp (frame-call): Ditto.
3084
3085 2010-01-03 Tobias C. Rittweiler <tcr@freebits.de>
3086
3087 * swank.lisp (with-swank-protocol-error-handler): Remove debugging
3088 bits.
3089
3090 2010-01-03 Tobias C. Rittweiler <tcr@freebits.de>
3091
3092 * slime.el (slime-next-read-or-lose): Call `debug' with the error
3093 condition, so we can see what actually caused the losage.
3094
3095 2010-01-03 Tobias C. Rittweiler <tcr@freebits.de>
3096
3097 * slime.el (compile-defun [test]): Also test proper notification
3098 after reader-error. Additionally: bind font-lock-verbose to nil to
3099 prevent annoying font-lock messages during the test.
3100
3101 * swank-sbcl.lisp (signal-compiler-condition): Make sure
3102 READER-ERROR comes before ERROR in typecase.
3103 (swank-compile-file): Remove handling FATAL-COMPILER-HANDLER
3104 because a) this handling prevents sbcl from printing the
3105 diagnostics to the repl, and b) sbcl itself should handle this and
3106 translate it into proper return value for compile-file.
3107
3108 2009-12-23 Tobias C. Rittweiler <tcr@freebits.de>
3109
3110 * slime.el (complete-symbol [test]): Fix test case.
3111
3112 2009-12-22 Helmut Eller <heller@common-lisp.net>
3113
3114 Some new backend functions used for loading image files.
3115
3116 * swank-backend.lisp (socket-fd, make-fd-stream, dup, exec-image)
3117 (command-line-args): New functions.
3118 * swank-cmucl.lisp: Impemented.
3119 * swank-cmucl.lisp (reset-sigio-handlers): New function.
3120 (save-image): Fix quoting bug.
3121
3122 * swank.lisp (clear-event-history): New functoin.
3123 (interactive-eval, eval-region): Don't use FRESH-LINE.
3124
3125 2009-12-21 Tobias C. Rittweiler <tcr@freebits.de>
3126
3127 * slime.el (slime-at-list-p): Deleted.
3128 (slime-at-expression-p): Moved to slime-package-fu.
3129 (slime-forward-blanks): Deleted. Use `(skip-chars-forward
3130 "[:space:]")' instead.
3131 (slime-forward-any-comment): Deleted.
3132 (slime-reader-conditionals-regexp): Make a constant so it's
3133 inlined.
3134 (slime-unknown-feature-expression): Make it an error.
3135
3136 2009-12-19 Stas Boukarev <stassats@gmail.com>
3137
3138 * swank-backend.lisp (defpackage): export with-symbol and
3139 replace its fully qualified usage everywhere.
3140
3141 2009-12-17 Tobias C. Rittweiler <tcr@freebits.de>
3142
3143 * slime.el (slime-edit-uses-xrefs): New variable. For contribs to
3144 extend.
3145 (slime-edit-uses): Use it.
3146
3147 * swank.lisp (xref-doit): Now a generic functions. For contribs to
3148 extend.
3149
3150 2009-12-17 Tobias C. Rittweiler <tcr@freebits.de>
3151
3152 * swank.lisp (with-top-level-restart): Bind local special.
3153 (top-level-restart-p): Check for it; this tells us if we're in
3154 the dynamic extent of with-top-level-restart.
3155 (handle-requests): Use it.
3156
3157 2009-12-17 Stas Boukarev <stassats@gmail.com>
3158
3159 * swank-match.lisp: Fix formatting and style warnings.
3160
3161 2009-12-17 Stas Boukarev <stassats@gmail.com>
3162
3163 * swank.lisp (handle-requests): Comment out
3164 (assert (boundp '*sldb-quit-restart*)) because it's not bound
3165 on NIL communication style. It's not a real fix, but at least it
3166 lets null communication-style work.
3167
3168 2009-12-16 Tobias C. Rittweiler <tcr@freebits.de>
3169
3170 * swank-sbcl.lisp (categorize-definition-source): New.
3171 (definition-source-for-emacs): Use it. Slightly
3172 refactored. Renamed from `make-definition-source-location'.
3173 (find-definitions, find-source-location)
3174 (source-location-for-xref-data, function-dspec): Updated
3175 accordingly.
3176 (source-file-position): Scratch last argument, not needed anymore.
3177
3178 2009-12-16 Stas Boukarev <stassats@gmail.com>
3179
3180 * swank.lisp (compile-file-output): Use
3181 (make-pathname :directory dir :defaults (compile-file-pathname file))
3182 instead of (compile-file-pathname file :output-file dir),
3183 because the latter works differently on different implementations.
3184 (fasl-pathname): Use the above function.
3185
3186 2009-12-16 Tobias C. Rittweiler <tcr@freebits.de>
3187
3188 * swank.lisp (*sldb-quit-restart*): Export. For users to customize
3189 what `q' does in SLDB.
3190 (handle-requests): Test differently for recursive invocations
3191 as *sldb-quit-restart* may now be globally bound due to user
3192 customization.
3193 (coerce-restart): Coerces a restart-designator to a restart.
3194 (throw-to-toplevel): Use it.
3195
3196 * slime.texi (swank:*sldb-quit-restart*): Document it.
3197
3198 2009-12-15 Tobias C. Rittweiler <tcr@freebits.de>
3199
3200 * swank.lisp (collect-notes): Establish new abort restart ("Abort
3201 Compilation"); if an error is signaled in EVAL-WHEN, or during
3202 macroexpansion -- assuming the backend DTRT --, invoking this
3203 restart will result in the normal compilation failure behaviour,
3204 including correct reporting of the offending toplevel form.
3205
3206 * swank-sbcl.lisp (handle-notification-condition): Use
3207 `real-condition' here.
3208 (handle-file-compiler-termination): As a result, not needed anymore.
3209 (call-with-compilation-hooks): Also signal information about
3210 normal errors.
3211
3212 2009-12-14 Stas Boukarev <stassats@gmail.com>
3213
3214 * doc/slime.texi (ASDF): Document new commands.
3215
3216 2009-12-12 Matthias Koeppe <mkoeppe@math.ucdavis.edu>
3217
3218 * doc/slime.texi (Presentations): Add an example that illustrates
3219 quoting necessary with presentations that are lists.
3220
3221 2009-12-11 Stas Boukarev <stassats@gmail.com>
3222
3223 * swank-allegro.lisp: Use new function `make-error-location'.
3224 (find-fspec-location): Handle errors.
3225 Patch by Tobias C. Rittweiler.
3226
3227 2009-12-11 Tobias C. Rittweiler <tcr@freebits.de>
3228
3229 Add `M-x slime-toggle-debug-on-swank-error'.
3230
3231 In "Debug on SWANK error" mode, errors which are normally caught
3232 to not annoy the user, will now drop into the debugger.
3233
3234 Additionally, the backend won't do any backtrace magic so you'll
3235 see the full backtrace with all its glory details. (SBCL only so
3236 far.)
3237
3238 * slime.el (slime-toggle-debug-on-swank-error): New.
3239
3240 * swank.lisp (toggle-debug-on-swank-error): New slimefun.
3241 (debug-on-swank-error): New function. SETFable.
3242 (invoke-default-debugger): Use CALL-WITH-DEBUGGER-HOOK so we're
3243 trapped into the native debugger on SBCL (previously we weren't
3244 due to SB-EXT:*INVOKE-DEBUGGER-HOOK*.)
3245
3246 * swank.lisp: Rename SWANK-ERROR to SWANK-PROTOCOL-ERROR.
3247
3248 2009-12-11 Tobias C. Rittweiler <tcr@freebits.de>
3249
3250 * swank-sbcl.lisp (call-with-debugger-hook): Oops, removed the
3251 binding for *DEBUGGER-HOOK*. Fix that.
3252 (make-invoke-debugger-hook): Do nothing if hook is NIL.
3253
3254 2009-12-10 Tobias C. Rittweiler <tcr@freebits.de>
3255
3256 * swank-backend.lisp (*debug-swank-backend*): New variable. If
3257 true, backends should not catch internal errors (e.g. during
3258 definition finding), and should not perform backtrace magic.
3259 (make-error-location): New helper.
3260 (find-definitions [interface]): Default to error location.
3261
3262 * swank-sbcl.lisp (converting-errors-to-location): New helper
3263 macro. Regards new *DEBUG-SWANK-BACKEND*.
3264 (find-definitions [implementation]): Use it.
3265 (find-source-location [implementation]): Ditto.
3266 (functiond-spec): Ditto.
3267 (frame-source-location [implementation]): Ditto.
3268 (*debug-definition-finding*): Removed.
3269 (make-source-location-specification): Removed.
3270 (safe-function-source-location): Removed.
3271 (safe-source-location-for-emacs): Removed. Not needed anymore.
3272
3273 (call-with-debugging-environment): Do not perform stack hinting
3274 depending on *DEBUG-SWANK-BACKEND*.
3275
3276 2009-12-10 Tobias C. Rittweiler <tcr@freebits.de>
3277
3278 * swank-sbcl.lisp (set-break-hook): New.
3279 (call-with-break-hook): New, too. Both extracted from elsewhere.
3280 (install-debugger-globally, call-with-debugger-hook): Use them.
3281 (make-invoke-debugger-hook): Adapted not to call *debugger-hook*
3282 on its own; it should rather decline because *debugger-hook* is
3283 tried after *invoke-debugger-hook* anyway. Previously, a
3284 custom *debugger-hook* (which declines itself) would have been
3285 executed twice.
3286
3287 2009-12-07 Stas Boukarev <stassats@gmail.com>
3288
3289 * slime.el (slime-parse-toplevel-form): Use
3290 `slime-region-for-defun-at-point' instead of `beginning-of-defun'.
3291
3292 2009-12-03 Tobias C. Rittweiler <tcr@freebits.de>
3293
3294 * slime.el (slime-documentation-lookup-function): New hook,
3295 defaults to `slime-hyperspec-lookup'.
3296 (slime-documentation-lookup): Invoke hook.
3297 (slime-prefix-bindings): Bind `C-c C-d h' to it.
3298
3299 2009-12-02 Stas Boukarev <stassats@gmail.com>
3300
3301 * swank-sbcl.lisp (frame-locals): `frame-debug-vars' can return NIL,
3302 so check before using it as a vector.
3303 Patch by Nathan Bird.
3304
3305 2009-11-30 Helmut Eller <heller@common-lisp.net>
3306
3307 Add a slime-editing-map as suggested by Attila Lendvai. The main
3308 purpose is to create a keymap that's shared by the REPL and other
3309 modes so that adding custom bindings gets a bit easier.
3310
3311 * slime.el (slime-editing-map, slime-mode-indirect-map): New variables.
3312 (slime-init-keymaps): Clear out any existing bindings before
3313 building the new keymaps.
3314 (slime-init-keymap): New helper.
3315 (slime-bind-keys): Renamed&extended from
3316 slime-define-both-key-bindings.
3317
3318 * slime.el (slime-editing-mode): New minor mode for use
3319 in the REPL.
3320
3321 2009-11-26 Mark Evenson <evenson@panix.com>
3322
3323 * swank-abcl.lisp (arglist): Fixes for functions with non-nil
3324 arglist and for generic functions with empty argument lists.
3325
3326 Diagnosed and cured by Matthias Hölzl.
3327
3328 2009-11-23 Stas Boukarev <stassats@gmail.com>
3329
3330 * slime.el (slime-set-connection-info): Set slime-current-thread to t
3331 before doing anything. Solves a bug reported by Slawek Zak.
3332
3333 2009-11-21 Tobias C. Rittweiler <tcr@freebits.de>
3334
3335 * swank-sbcl.lisp (who-specializes): Implement.
3336 Requires SBCL 1.0.32.
3337
3338 2009-11-19 Tobias C. Rittweiler <tcr@freebits.de>
3339
3340 * slime.el (slime-minibuffer-map): Nee `slime-read-expression-map'
3341 (slime-minibuffer-history): Nee `slime-read-expression-history'
3342 (slime-minibuffer-setup-hook): Extracted.
3343 (slime-read-from-minibuffer): Adapted accordingly.
3344
3345 2009-11-13 Stas Boukarev <stassats@gmail.com>
3346
3347 * swank.lisp (classify-symbol): Check fbound before calling
3348 fdefinition, ECL doesn't like (fdefinition nil).
3349
3350 * swank-ecl.lisp
3351 (swank-mop:compute-applicable-methods-using-classes): Add a dummy
3352 function. ECL doesn't have it, but some contribs are using it.
3353 Patch by Andy Hefner.
3354
3355 2009-11-13 Stas Boukarev <stassats@gmail.com>
3356
3357 * swank-ecl.lisp (function-name): Use clos:generic-function-name
3358 for generic functions.
3359 (arglist): Check fro symbol before calling special-operator-p and
3360 macro-function.
3361 Patch by Andy Hefner.
3362
3363 2009-11-06 Stas Boukarev <stassats@gmail.com>
3364
3365 * swank-ecl.lisp (grovel-docstring-for-arglist): ECL's arglists
3366 for macros include macro name at the first place, unlike arglists
3367 for functions. cdr arglists only for macros and special operators.
3368 Reported by Andy Hefner.
3369 (find-source-location): Missing comma before error message formatting.
3370 Patch by Andy Hefner.
3371
3372 2009-11-05 Tobias C. Rittweiler <tcr@freebits.de>
3373
3374 Make C-c C-c operate on region if mark is active (and Transient
3375 Mark mode is enabled.)
3376
3377 * slime.el (slime-compile-defun): Operate on region if
3378 transient-mark-mode is active.
3379
3380 2009-11-03 Helmut Eller <heller@common-lisp.net>
3381
3382 Ask gdb for source lines of foreign functions.
3383
3384 * swank-cmucl.lisp (frame-source-location): Handle foreign
3385 frames with gdb.
3386 (frame-ip): Handle bogus frames (on x86)
3387 (disassemble-frame): Use gdb for foreign frames.
3388 (foreign-frame-p, foreign-frame-source-location): New functions.
3389 (gdb-command, gdb-exec, parse-gdb-line-info, read-word)
3390 (whitespacep, with-temporary-file, call/temporary-file): New
3391 helpers.
3392
3393 2009-11-03 Stas Boukarev <stassats@gmail.com>
3394
3395 * slime.el (sldb-setup): Do (set-syntax-table lisp-mode-syntax-table)
3396 otherwise functions used by autodoc do not work properly.
3397
3398 2009-11-03 Stas Boukarev <stassats@gmail.com>
3399
3400 * slime.el (sldb-backward-frame): If the point is at the end of
3401 the buffer, there is no property, handle this case.
3402
3403 * swank.lisp (collect-notes): LOAD returns generalized boolean,
3404 not just boolean, but make-compilation-result accepts only booleans
3405 for its second argument.
3406
3407 Both bugs reported by Derrell Piper.
3408
3409 2009-11-02 Tobias C. Rittweiler <tcr@freebits.de>
3410
3411 * slime.el (slime-end-of-symbol): Make sure not to move on #'foo.
3412 ([test] sexp-at-point.1): New test case.
3413
3414 2009-11-02 Helmut Eller <heller@common-lisp.net>
3415
3416 * swank.lisp (without-interrupts): Removed. No longer used.
3417 * swank-backend.lisp (call-without-interrupts): Removed.
3418 Update backends accoringly.
3419
3420 2009-11-02 Helmut Eller <heller@common-lisp.net>
3421
3422 CCL's lap-functions don't have source-notes but the name often
3423 has. E.g. ccl::%fixnum-truncate. Use names as last resort.
3424
3425 * swank-ccl.lisp (function-name-source-note): New function.
3426 (pc-source-location): Use it.
3427
3428 2009-11-02 Stas Boukarev <stassats@gmail.com>
3429
3430 * swank.lisp (tokenize-symbol-thoroughly): Return NIL
3431 instead of throwing an error.
3432 (parse-symbol): Handle null result of tokenize-symbol-thoroughly.
3433
3434 This fixes a bug reported by Derrell Piper.
3435
3436 2009-10-31 Tobias C. Rittweiler <tcr@freebits.de>
3437
3438 * slime.el (slime-bug): Deleted.
3439
3440 2009-10-31 Tobias C. Rittweiler <tcr@freebits.de>
3441
3442 * slime.el (slime-inside-string-p, slime-inside-comment-p)
3443 (slime-inside-string-or-comment-p): New.
3444
3445 * swank-match.lisp: New file. Contains very simple pattern matcher
3446 from the CMU AI archive.
3447
3448 * swank-loader.lisp: Compile swank-match.lisp.
3449
3450 * swank.lisp: Make SWANK package use new SWANK-MATCH package.
3451
3452 2009-10-31 Tobias C. Rittweiler <tcr@freebits.de>
3453
3454 * swank.lisp (find-symbol-with-status): New.
3455 (parse-symbol): Use it to correctly parse symbols where only one
3456 colon is given. Consequences: Autodoc won't display an arglist on
3457 `(foo:bar |' if BAR is not exported from FOO.
3458
3459 2009-10-31 Helmut Eller <heller@common-lisp.net>
3460
3461 * swank.lisp (list-threads): Remove thread-description. Wasn't
3462 used anymore.
3463 * swank-backend.lisp (thread-description, set-thread-description):
3464 Deleted.
3465 * swank-abcl.lisp: Update accordingly.
3466 * slime.el (slime-update-threads-buffer, slime-thread-insert):
3467 Update accordingly.
3468
3469 2009-10-31 Helmut Eller <heller@common-lisp.net>
3470
3471 * swank-ccl.lisp (kill-thread): Don't signal conditions.
3472 * swank-backend.lisp (kill-thread): Update docstring.
3473
3474 2009-10-30 Stas Boukarev <stassats@gmail.com>
3475
3476 * swank-loader.lisp (setup): Use EXT:PROBE-DIRECTORY on Clisp,
3477 because PROBE-FILE doesn't want to work on directories.
3478 Patch by Dirk Sondermann.
3479
3480 2009-10-30 Helmut Eller <heller@common-lisp.net>
3481
3482 * swank-openmcl.lisp: Removed. 1.4 is out so no longer needed.
3483 * swank-ccl.lisp: Update accordingly.
3484
3485 * test-all.sh: Removed. Not used in ages.
3486
3487 2009-10-28 Helmut Eller <heller@common-lisp.net>
3488
3489 Simpler modeline code.
3490
3491 * slime.el (slime-modeline-string): Renamed from
3492 slime-compute-modeline-string.
3493 (slime-modeline-state-string): Renamed from
3494 slime-compute-connection-state
3495 (slime-modeline-package, slime-modeline-connection-name)
3496 (slime-modeline-connection-state)
3497 (slime-extended-modeline,slime-compute-modeline-package)
3498 (slime-update-modeline-string, slime-shall-we-update-modeline-p)
3499 (slime-update-all-modelines, slime-modeline-update-timer)
3500 (slime-restart-or-init-modeline-update-timer)
3501 (slime-connection-state-as-string): Deleted
3502 (slime-stale-connection-p): Deleted.
3503
3504 2009-10-28 Helmut Eller <heller@common-lisp.net>
3505
3506 * slime.el (slime-disconnect): Don't reference connection. Left
3507 over from last change.
3508 ([test] arglist): Update expected results for slightly changed
3509 printer settings.
3510 ([test] indentation): Install common-lisp-indent-function.
3511 ([undefun] display-warning): Fix it.
3512
3513 * test.sh: Don't copy contribs. Slime should work without them.
3514 * swank-loader.lisp (setup): Compile contribs only if directory
3515 exists.
3516
3517 2009-10-28 Helmut Eller <heller@common-lisp.net>
3518
3519 * slime.el (slime-format-display-message, slime-display-message)
3520 (slime-create-message-window): Deleted. The trick with the
3521 pre-command-hook doesn't work in XEmacs 21.5. So use the standard
3522 message function. One day XEmacs will learn how to resize the
3523 minibuffer, but until then we have to live with one-line messages.
3524
3525 2009-10-27 Helmut Eller <heller@common-lisp.net>
3526
3527 * slime.el: Fix some docstrings and comments.
3528
3529 2009-10-26 Tobias C. Rittweiler <tcr@freebits.de>
3530
3531 * test.sh: Shebang on bash, not just on sh.
3532
3533 2009-10-25 Tobias C. Rittweiler <tcr@freebits.de>
3534
3535 Revert the reversed numbering of restarts in sldb.
3536
3537 New command `sldb-cycle' ([tab]) in sldb will cycle between
3538 restart list and backtrace.
3539
3540 Make sldb-invoke-restart-by-name case-insensitive.
3541
3542 * slime.el (sldb-mode-map): Bind Tab to `sldb-cycle'.
3543 (sldb-restart-list-start-marker): New variable.
3544 (sldb-setup): Store marker in it.
3545 (sldb-cycle): New command to cycle between restart list and
3546 backtrace.
3547 (sldb-invoke-restart-by-name): Make completion case-insensitive.
3548 (sldb-insert-restarts): Revert to old behaviour.
3549
3550 2009-10-24 Tobias C. Rittweiler <tcr@freebits.de>
3551
3552 * swank-ccl.lisp (who-specializes): Do not signal an error if
3553 argument does not name a class.
3554
3555 2009-10-24 Tobias C. Rittweiler <tcr@freebits.de>
3556
3557 * swank.lisp (xref): Deal with non-yet-interned names gracefully.
3558
3559 2009-10-24 Tobias C. Rittweiler <tcr@freebits.de>
3560
3561 * slime.el (slime-search-property): Add parameter to get value at
3562 point propery changed.
3563 (slime-find-next-note): Use it.
3564 (slime-find-previous-note): Ditto.
3565
3566 2009-10-24 Tobias C. Rittweiler <tcr@freebits.de>
3567
3568 New command C-M-, to go to previous xref location.
3569
3570 [Old command C-M-. to go to next xref location.]
3571
3572 Xref buffers are not automatically selected anymore; it's more
3573 ergonomic to cycle through them via C-M-. and C-M-, from
3574 within the source buffer.
3575
3576 * slime.el (slime-search-property): Simplify slightly.
3577 (slime-find-next-note): Use it.
3578 (slime-find-previous-note): Use it, too.
3579 (slime-find-note): Deleted.
3580 (slime-editing-keys): Add C-M-,.
3581 (slime-previous-location-function): New variable.
3582 (slime-previous-location): New command.
3583 (slime-with-xref-buffer): Do not select Xref buffer.
3584 (slime-show-xref-buffer): Adapted accordingly.
3585 (slime-goto-next-xref): Highlight current item on C-M-. and C-M-,.
3586 (slime-goto-previous-xref): New.
3587 (slime-highlight-sexp): Renamed from `sldb-highlight-sexp'.
3588 (slime-highlight-line): New.
3589
3590 2009-10-24 Helmut Eller <heller@common-lisp.net>
3591
3592 * slime.el (sldb-insert-restarts): Insert the proper numbers for
3593 the --more-- button.
3594 (sldb-restart-number-at-point): Rename back to
3595 sldb-restart-at-point. Don't use
3596 confisingly-verbose-names-for-no-good-reason.
3597 (sldb-restart-number-for-swank): Deleted.
3598
3599 2009-10-23 Tobias C. Rittweiler <tcr@freebits.de>
3600
3601 Restarts in SLDB are now numbered reversely. The rationale is that
3602 always-existing restarts are likely to be associated with the same
3603 number now.
3604
3605 * slime.el (sldb-insert-restarts): Number restart reversely.
3606 (sldb-restart-number-for-swank): New; recompute the unreversed
3607 number for the swank side.
3608 (sldb-restart-number-at-point): Previously `sldb-restart-at-point'.
3609 (sldb-invoke-restart): Adapted accordingly.
3610
3611 2009-10-23 Tobias C. Rittweiler <tcr@freebits.de>
3612
3613 When ever Slime seems to get stuck (e.g. after some character
3614 encoding confusion), `M-x slime-reset' should hopefully bring it
3615 into a functional state again.
3616
3617 * slime.el (slime-reset): Erase connection buffer.
3618
3619 2009-10-21 Tobias C. Rittweiler <tcr@freebits.de>
3620
3621 Make M-x slime-changelog-date work.
3622
3623 * slime.el (slime-changelog-date): Make the function be callable
3624 interactively.
3625
3626 2009-10-21 Stas Boukarev <stassats@gmail.com>
3627
3628 * doc/slime.texi (ASDF): Document new commands.
3629
3630 2009-10-20 Martin Simmons <martin@lispworks.com>
3631
3632 * swank-lispworks.lisp (call-without-interrupts): Discourage use.
3633 (interesting-frame-p): Never show open frame bogons.
3634
3635 2009-10-19 Stas Boukarev <stassats@gmail.com>
3636
3637 * swank-sbcl.lisp (thread-description): Remove it and supporting code,
3638 because it didn't really work.
3639
3640 * swank.lisp (with-thread-description): Remove unused macro.
3641
3642 * slime.el (slime-list-threads): Update information before
3643 setting the mode, otherwise it messes up current connection.
3644
3645 * doc/slime.texi: fix typo.
3646
3647 2009-10-19 Tobias C. Rittweiler <tcr@freebits.de>
3648
3649 * swank.lisp (without-printing-errors): New macro.
3650 (to-string): Use it.
3651 (to-line): Use it, too. This fixes printing error occuring during
3652 inspecting to prevent the inspector from displaying something
3653 useful.
3654
3655 Reported by xristos@suspicious.org.
3656
3657 2009-10-15 Helmut Eller <heller@common-lisp.net>
3658
3659 * slime.el (slime-current-package): Move REPL stuff to contrib.
3660
3661 2009-10-15 Stas Boukarev <stassats@gmail.com>
3662
3663 * slime.el (slime-current-package): Return REPL's package,
3664 if other are unavailable and if slime-repl is loaded.
3665
3666 2009-10-12 Tobias C. Rittweiler <tcr@freebits.de>
3667
3668 * slime.el: Update copyright.
3669
3670 2009-10-10 Tobias C. Rittweiler <tcr@freebits.de>
3671
3672 * slime.el (slime-length=): Fix (slime-length= '() 0).
3673 (slime-eval-feature-expression): Fix. Couldn't handle (NOT)
3674 and (NOT FOO BAR).
3675
3676 2009-10-09 Stas Boukarev <stassats@gmail.com>
3677
3678 * swank.lisp (stop-server): (list-threads) returns threads offset by 1,
3679 don't kill the wrong thread.
3680
3681 2009-10-06 Stas Boukarev <stassats@gmail.com>
3682
3683 * swank-ccl.lisp (map-backtrace): Handle null end-frame-number
3684 argument.
3685
3686 2009-09-28 Stas Boukarev <stassats@gmail.com>
3687
3688 * swank.lisp (set-package): Provide a more meaningful error
3689 message when package doesn't exist.
3690
3691 * swank-lispworks.lisp (replace-strings-with-symbols): Didn't work on
3692 non-proper lists. Reported by Madhu.
3693
3694 2009-09-27 Tobias C. Rittweiler <tcr@freebits.de>
3695
3696 * swank-sbcl.lisp (call-with-debugger-hook): Correctly deal with
3697 case of HOOK being NIL.
3698 (make-definition-source-location): Somewhat simplified.
3699 (string-path-snippet): Removed, not needed anymore.
3700
3701 2009-09-24 Stas Boukarev <stassats@gmail.com>
3702
3703 * swank-sbcl.lisp (swank-compile-string): Ignore unused variable
3704 warningsp.
3705
3706 2009-09-23 Helmut Eller <heller@common-lisp.net>
3707
3708 * swank-sbcl.lisp (receive-if): Bind *break-on-signals* to
3709 nil before using with-timeout.
3710
3711 2009-09-22 Helmut Eller <heller@common-lisp.net>
3712
3713 * swank-ccl.lisp (find-definitions): For fbound symbols also
3714 consider source-notes in the function object. Useful if
3715 the function slot was set with (setf (symbol-function ..))
3716 and not by defun.
3717
3718 2009-09-21 Stas Boukarev <stassats@gmail.com>
3719
3720 * doc/slime.texi (slime-sprof): document slime-sprof contrib.
3721
3722 2009-09-20 Tobias C. Rittweiler <tcr@freebits.de>
3723
3724 * swank-abcl.lisp (thread-description): Fix typo.
3725 (set-thread-description): Ditto.
3726
3727 2009-09-20 Tobias C. Rittweiler <tcr@freebits.de>
3728
3729 Generalize M-? (or M-_ respectively.)
3730
3731 It will now list:
3732
3733 - call sites for functions,
3734
3735 - macroexpand sites for macros,
3736
3737 - binding, setting, referencing sites for variables,
3738
3739 - specializing methods for classes.
3740
3741 * slime.el (slime-xref): Deal with :not-implemented.
3742 (slime-xrefs): New. Makes RPC request to XREFS.
3743 (slime-edit-callers): Renamed to `slime-edit-uses'.
3744 (slime-edit-uses): Use slime-xrefs.
3745
3746 * swank-backend.lisp (who-*): Add default implementation which
3747 returns :not-implemented.
3748
3749 * swank.lisp (xref-doit): Extracted from XREF.
3750 (xref): Pass over :not-implemented to Emacs side.
3751 (xrefs): New slime fun. To return results of multiple XREF
3752 requests at once.
3753
3754 2009-09-20 Mark Evenson <evenson@panix.com>
3755
3756 Use *INVOKE-DEBUGGER-HOOK* introduced in ABCL by analogy to SBCL
3757 (Tobias Rittweiler).
3758
3759 * swank-abcl.lisp (sys::break): Conditionally redefine SYS::BREAK
3760 only if SYS::INVOKE-DEUBBGER-HOOK is not present.
3761
3762 2009-09-18 Tobias C. Rittweiler <tcr@freebits.de>
3763
3764 * slime.el (slime-parent-bindings): Define M-? as
3765 `slime-edit-callers', too. My previous choice of M-_ was warped
3766 due to my German layout.
3767
3768 2009-09-18 Tobias C. Rittweiler <tcr@freebits.de>
3769
3770 New binding: M-_ (`slime-edit-callers').
3771
3772 Similiar to `slime-who-calls' but only creates an Xref buffer if
3773 needed for disambiguation, and also pushes to the definition
3774 stack.
3775
3776 Spiritually like M-. but works "in the other direction".
3777
3778 * slime.el (sllime-edit-callers): New function. Cross between
3779 `slime-who-calls' and `slime-edit-definition'.
3780 (slime-parent-bindings): Define M-_ as `slime-edit-callers'.
3781 (slime-pop-xref-buffer): New helper. Extracted from
3782 `slime-show-xrefs'.
3783 (slime-show-xrefs): Use it.
3784 (slime-xref): Let callers specify a continuation.
3785
3786 2009-09-17 Tobias C. Rittweiler <tcr@freebits.de>
3787
3788 * swank-abcl.lisp (sys::break): Fix typo.
3789 (slot-definition-documentation, slot-definition-type)
3790 (class-prototype, generic-function-declarations)
3791 (specializers-direct-methods, slot-boundp-using-class)
3792 (slot-value-using-class): Add IGNORE declarations. Compiling
3793 swank-abcl.lisp is now free of warnings.
3794 (swank-compile-file): Load the compiled file even though warnings
3795 were signalled during compilation.
3796
3797 2009-09-17 Mark Evenson <evenson@panix.com>
3798
3799 * swank-abcl.lisp (source-location): Emacs buffers start at 1,
3800 whereas CL files start at 0 (Tobias Rittweiler).
3801
3802 2009-09-16 Stas Boukarev <stassats@gmail.com>
3803
3804 * swank.lisp (documentation-symbol): Return more readable information.
3805
3806 2009-09-14 Mark Evenson <evenson@panix.com>
3807
3808 * swank-abcl.lisp (source-location): Fix typo.
3809
3810 2009-09-12 Mark Evenson <evenson@panix.com>
3811
3812 Provided by Alan Ruttenberg.
3813
3814 * swank-abcl.lisp (source-location): Make edit definition work.
3815
3816 * swank-abcl.lisp (arglist): Now works with generic functions.
3817
3818
3819 2009-09-08 Helmut Eller <heller@common-lisp.net>
3820
3821 * swank-loader.lisp (lisp-version-string): Include "-ics" for
3822 version with extended charsets. Suggested by Scott L. Burson.
3823
3824 2009-09-03 Helmut Eller <heller@common-lisp.net>
3825
3826 * slime.el (slime-net-close): set-process-query-on-exit-flag
3827 doesn't exist in XEmacs.
3828 (slime-make-net-buffer): For now, disable querying here.
3829 Could also close the socket before killing the buffer.
3830 (slime-buffer-processes): Deleted.
3831
3832 2009-09-02 Stas Boukarev <stassats@gmail.com>
3833
3834 * swank-lispworks.lisp (replace-strings-with-symbols): New function for
3835 recursively interning and replacing strings in a list.
3836 (arglist): Replace all strings in arglists with symbols.
3837
3838 * slime.el (slime-net-close): Do not query for process killing
3839 confirmation before killing a connection buffer.
3840 (slime-buffer-processes): New function for listing processes
3841 associated with a buffer.
3842
3843 2009-08-31 Helmut Eller <heller@common-lisp.net>
3844
3845 Don't advice ccl::break-loop.
3846 Should not be necessary as we can now use ccl:*break-hook*.
3847
3848 * swank-ccl.lisp ([advice] ccl::break-loop): Deleted.
3849
3850 2009-08-31 Helmut Eller <heller@common-lisp.net>
3851
3852 Keep note overlays in a global variable.
3853 That's simpler and cheaper than scanning all buffers.
3854
3855 * slime.el (slime-note-overlays): New variable.
3856 (slime-make-note-overlay, slime-remove-old-overlays): Use it.
3857
3858 2009-08-27 Stas Boukarev <stassats@gmail.com>
3859
3860 * slime.el (slime-remove-old-overlays): delete notes at the very
3861 beginning of the buffer too. Thanks to Nick Levine.
3862
3863 2009-08-22 Helmut Eller <heller@common-lisp.net>
3864
3865 Speed up symbol completion.
3866
3867 * swank.lisp (all-completions): Don't call unparse-symbol
3868 while matching. That gets very slow in CCL's CCL package.
3869 Just use symbol-name and compare with char-equal.
3870 (prefix-match-p): Use char-equal.
3871
3872 2009-08-21 Helmut Eller <heller@common-lisp.net>
3873
3874 * slime.el (slime-transcript-start-hook)
3875 (slime-transcript-stop-hook): New hooks.
3876 (slime-eval-with-transcript): Use them.
3877 (slime-eval-with-transcript-cont): Deleted.
3878
3879 2009-08-19 Mark Evenson <evenson@panix.com>
3880
3881 * swank-abcl.lisp: Accommodate the new Java/Lisp stack frame
3882 abstraction in the upcoming abcl-0.16. (based on code from Tobias
3883 Rittweiler).
3884
3885 2009-08-18 Mark Evenson <evenson@panix.com>
3886
3887 Add multithreading code for abcl-0.16. (Tobias Rittweiler)
3888
3889 * swank-abcl.lisp: A multithread implementation taking advantage
3890 of the new synchronization primitives in abcl-0.16.
3891
3892 Restore working with abcl-0.15.
3893
3894 * swank-abcl.lisp: Remove the warm initialization code for
3895 SWANK:COMPILER-CONDITION, as it is no longer needed for the
3896 current release of ABCL.
3897
3898 2009-08-16 StanisBaw Halik <sthalik@test123.ltd.pl>
3899
3900 * swank.lisp (init-global-stream-redirection): Continue even if
3901 streams are already redirected. Useful for restarting Swank with
3902 M-x slime when a REPL is already present. Will most likeley
3903 mess up the input stream in multi threaded setups, tho.
3904
3905 2009-08-15 Helmut Eller <heller@common-lisp.net>
3906
3907 XEmacs fixes.
3908
3909 * slime.el (slime-editing-keys): Use (kbd "C-M-.") because XEmacs
3910 translates [?\C-\M-.] to C-M-n.
3911 (next-single-char-property-change)
3912 (previous-single-char-property-change): Use
3913 next-single-property-change because next-char-property-change gets
3914 embarrisingly slow in XEmacs in font-locked buffers.
3915 It never felt that slow in Emacs 20 though.
3916
3917 2009-08-15 Helmut Eller <heller@common-lisp.net>
3918
3919 * swank-ccl.lisp (definition-name): Special case methods.
3920
3921 * slime.el (slime-choose-overlay-region): Don't return zero length
3922 regions for :eof.
3923 (slime-show-buffer-position): The second argument to
3924 display-buffer means something completely different in
3925 XEmacs. Don't use it.
3926 (slime-severity-face): Handle :redefinition.
3927 (slime-temporarily-highlight-note): Use a timer instead of the
3928 post-command-hook.
3929
3930 2009-08-13 Stas Boukarev <stassats@gmail.com>
3931
3932 * slime.el (slime-auto-select-connection, slime-auto-connect):
3933 Turn them into customizable variables.
3934
3935 2009-08-11 Tobias C. Rittweiler <tcr@freebits.de>
3936
3937 * swank-sbcl.lisp (swank-compile-string): Make sure that it
3938 returns NIL on compilation failure.
3939
3940 2009-08-10 Helmut Eller <heller@common-lisp.net>
3941
3942 * slime.el (slime-insert-note-group): Factored out from
3943 slime-insert-compilation-log.
3944 (slime-goto-location-position): Can't use goto-line.
3945
3946 2009-08-10 Helmut Eller <heller@common-lisp.net>
3947 Separate context info from compiler message text.
3948
3949 * swank-backend.lisp (compiler-condition): Add a new slot
3950 :source-context. Remove :short-message.
3951 * swank-cmucl.lisp, swank-sbcl.lisp, swank-scl.lisp,
3952 swank-openmcl.lisp, swank-ccl.lisp: Update callers.
3953 * swank.lisp (make-compiler-note): Use source-context slot.
3954 * slime.el (slime-note.source-context): New.
3955 (slime-insert-compilation-log): Use it.
3956 (slime-note.short-message): Deleted.
3957
3958 2009-08-10 Helmut Eller <heller@common-lisp.net>
3959
3960 Don't add linebreaks for one-line messages.
3961
3962 (slime-insert-block): New function.
3963 (slime-insert-compilation-log): Use it.
3964 (slime-indent-rigidly): Use insert-before-markers, otherwise point
3965 ends up at before a bunch of inserted spaces.
3966
3967 2009-08-10 Helmut Eller <heller@common-lisp.net>
3968
3969 Various compilation related changes.
3970
3971 * slime.el (slime-show-note-counts): Don't show 0 values.
3972 (slime-severity<): New function.
3973 (slime-maybe-show-compilation-log): Always create the log buffer
3974 but display it only if the compilation failed.
3975 (slime-insert-compilation-log): Disable the stupidly inefficient
3976 font-lock-after-change-function.
3977 (slime-canonicalized-location-to-string): Use relative filenames.
3978 (slime-goto-location-buffer): Disable warnings about symlinks.
3979
3980 2009-08-09 Tobias C. Rittweiler <tcr@freebits.de>
3981
3982 Make C-x ` work again.
3983
3984 M-n and C-x ` are now very similiar; but the former operates
3985 relative to point in the source buffer, while the latter works
3986 relative to the compilation log.
3987
3988 * slime.el (slime-insert-compilation-log): No do set
3989 `compilation-skip-to-next-location'.
3990
3991 2009-08-09 Tobias C. Rittweiler <tcr@freebits.de>
3992
3993 M-n/M-p in .lisp buffers do not show the note in the minibuffer
3994 anymore if a compilation log is displayed to the user.
3995
3996 In the compilation log, sort and group the notes by line/column
3997 number.
3998
3999 * slime.el (slime-insert-compilation-log): Sort the notes by their
4000 line/column numbers; group notes of same location and display them
4001 as one entry.
4002 (slime-compilation-loc): Removed.
4003 (slime-canonicalized-location),
4004 (slime-canonicalized-location-to-string): Extracted from
4005 `slime-compilation-loc'.
4006 (slime-group-and-sort-notes): Does the sorting/grouping.
4007 (slime-show-note): Do not show note in minibuffer if compilation
4008 log is displayed to the user.
4009
4010 2009-08-09 Stas Boukarev <stassats@gmail.com>
4011
4012 * swank.asd (asdf:perform): don't call `swank-loader:init' with
4013 :setup nil, because it doesn't get contribs compiled, and some other
4014 configuration steps are omitted.
4015
4016 * slime.el (slime-profile-by-substring): new function for profiling
4017 functions by matching a substring.
4018
4019 * swank.lisp (profile-by-substring): ditto.
4020
4021 2009-08-08 Tobias C. Rittweiler <tcr@freebits.de>
4022
4023 M-n / M-p in a .lisp buffer now also jump to the respective note
4024 in the compilation-log buffer if one is currently displayed to the
4025 user.
4026
4027 * slime.el (slime-remove-old-overlays): Simplified.
4028 (slime-insert-compilation-log): Add a note-overlay for each note
4029 so we can find the right one when user uses M-n/M-p in .lisp
4030 buffer.
4031 (slime-goto-note-in-compilation-log): New.
4032 (slime-make-note-overlay): Extracted from
4033 `slime-create-note-overlay'.
4034 (slime-next-note, slime-previous-note): Simplified.
4035 (slime-show-note): Goto note in compilation-log if available.
4036 (slime-note-overlay-p): Call overlay property `slime-note', not
4037 just `slime'.
4038 (slime-find-note): Likewise; also returns the overlay if found.
4039 (slime-show-buffer-position): Optionally recenter position to the
4040 top of the window.
4041
4042 2009-08-04 Stas Boukarev <stassats@gmail.com>
4043
4044 * swank-sbcl.lisp (signal-compiler-condition): read
4045 sb-kernel:redefinition-warning only if it exists.
4046 Some older SBCLs don't have it (particularly included in the
4047 stable Debian).
4048
4049 2009-08-02 Tobias C. Rittweiler <tcr@freebits.de>
4050
4051 * swank-backend.lisp (severity [type]): Allow :redefinition.
4052
4053 * swank-sbcl.lisp (signal-compiler-condition): Tag redefinitions.
4054
4055 * slime.el (slime-maybe-show-compilation-log): Do not show
4056 compilation log if each note describes just a redefinition.
4057 (slime-insert-compilation-log): Insert notes indented by 2
4058 spaces. Insert some more newlines so the buffer appears more
4059 structured.
4060 (slime-show-note-counts): Add :redefinition to ecase.
4061 (slime-redefinition-note-p): New.
4062 (slime-severity-label): Was unused. Adapted to be usable.
4063
4064 2009-07-30 Stas Boukarev <stassats@gmail.com>
4065
4066 * doc/slime.texi (Setting up pathname translations): add that it is
4067 in the `slime-tramp' contrib.
4068
4069 2009-07-30 Tobias C. Rittweiler <tcr@freebits.de>
4070
4071 * swank-clisp.lisp: Clisp 2.48 experimentally supports threads. So
4072 add infrastructure to use threads in Clisp's swank backend. We do
4073 not make it the default, because it's not prime time yet. There
4074 are still problems with GC, weak-pointers, and thread objects.
4075
4076 2009-07-28 Stas Boukarev <stassats@gmail.com>
4077
4078 * doc/slime.texi (slime-selector): mention t and c keys.
4079
4080 2009-07-27 Stas Boukarev <stassats@gmail.com>
4081
4082 * swank-ccl.lisp (source-note-to-source-location): keys of
4083 *temp-file-map* are pathnames, not namestrings; convert
4084 namestrings to pathnames before looking up.
4085
4086 2009-07-27 Geo Carncross <geocar@gmail.com>
4087
4088 * swank-ecl.lisp: Support for older ECL installs
4089 from patch by Mark Evenson
4090
4091 2009-07-26 Helmut Eller <heller@common-lisp.net>
4092
4093 * slime.el (slime-maybe-show-compilation-log): New function.
4094 (slime-compilation-finished-hook): Use it. Now that the
4095 compilation buffer gets not selected it's more acceptable to
4096 display it more often.
4097 (slime-insert-compilation-log): Set compilation-skip-threshold to
4098 0 and compilation-skip-to-next-location to nil. Seems to work
4099 better for us.
4100 (slime-with-popup-buffer): Synch window-point, otherwise it be at
4101 the end of the buffer for reused buffers.
4102 (slime-display-popup-buffer): Return the window.
4103
4104 2009-07-26 Helmut Eller <heller@common-lisp.net>
4105
4106 * swank-sbcl.lisp (tempnam): Muffle efficiency notes.
4107
4108 2009-07-26 Gail Zacharias <gz@clozure.com>
4109
4110 * swank-ccl.lisp: New file. An updated version of
4111 swank-openmcl.lisp in preparation for a slew of changes to CCL and
4112 to honor the new name.
4113
4114 * swank-loader.lisp (*sysdep-files*): Use it.
4115
4116 2009-07-21 Stas Boukarev <stassats@gmail.com>
4117
4118 * slime.el (slime-sexp-at-point-for-macroexpansion): use markers
4119 for bounds, because in some situations text layout could be modified
4120 before bounds would be used, for example, using keyboard macros.
4121
4122 2009-07-15 Stas Boukarev <stassats@gmail.com>
4123
4124 * slime.el (slime-inspector-fetch-all): new command, bound to >
4125 in the inspector buffer.
4126
4127 * doc/slime.texi (Frame Navigation): add description
4128 of `sldb-end-of-backtrace' and `sldb-beginning-of-backtrace'.
4129 (Inspector): add `slime-inspector-fetch-all'.
4130
4131
4132 2009-07-12 Helmut Eller <heller@common-lisp.net>
4133
4134 * slime.el (slime-editing-keys): Don't override M-*. The default
4135 binding should do what Matthias wants.
4136
4137 2009-07-11 Matthias Koeppe <mkoeppe@math.ucdavis.edu>
4138
4139 * swank-backend.lisp (definterface): Fix typo in error message.
4140
4141 2009-07-11 Stas Boukarev <stassats@gmail.com>
4142
4143 * doc/Makefile (clean): Remove bash extensions. Patch by
4144 Teemu Likonen.
4145
4146 2009-07-06 Tobias C. Rittweiler <tcr@freebits.de>
4147
4148 * swank-ecl.lisp (find-external-format): Copied from
4149 swank-sbcl.lisp. A lot of backends seem to share the same
4150 implementation, perhaps some refactoring is needed.
4151
4152 2009-07-06 Tobias C. Rittweiler <tcr@freebits.de>
4153
4154 * swank.lisp (make-repl-input-stream): Make sure to redirect
4155 output from slime requests to the REPL buffer for
4156 communication-style=NIL.
4157
4158 2009-07-02 Stas Boukarev <stassats@gmail.com>
4159
4160 * slime.el (slime-beginning-of-symbol): Limit searching to 2000
4161 characters.
4162
4163 2009-07-02 Terje Norderhaug <terje@in-progress.com>
4164
4165 * swank-lispworks.lisp (thread-attributes): Implemented.
4166
4167 2009-07-02 Helmut Eller <heller@common-lisp.net>
4168
4169 * swank.lisp (ed-in-emacs): Handle symbols/function-names better.
4170 * slime.el (slime-ed): Updated accordingly.
4171
4172 2009-07-02 Terje Norderhaug <terje@in-progress.com>
4173
4174 * swank.lisp (operator-arglist): Don't use pprint-fill
4175 for people with wide screens.
4176
4177 2009-07-02 Stas Boukarev <stassats@gmail.com>
4178
4179 * slime.el (slime-net-coding-system): make it customizable.
4180 (slime-inspector-operate-on-click): Make --more-- button in
4181 the inspector clickable.
4182
4183 2009-06-30 Geo Carncross <geocar@gmail.com>
4184
4185 * swank-ecl.lisp: Package profiling support
4186
4187 2009-06-30 Stas Boukarev <stassats@gmail.com>
4188
4189 * swank-openmcl.lisp (arglist): Return :not-available if the arglist
4190 cannot be obtained. Patch by Terje Norderhaug.
4191
4192 2009-06-29 Stas Boukarev <stassats@gmail.com>
4193
4194 * swank.lisp (open-streams): do not create unnecessary output stream
4195 when using dedicated output stream. Thanks to Terje Norderhaug.
4196
4197 2009-06-28 Terje Norderhaug <terje@in-progress.com>
4198
4199 Generalize list-threads for implementation-dependent attributes.
4200
4201 * swank-backend.lisp (thread-attributes): New function.
4202 * swank-openmcl (thread-attributes): Implement it.
4203 * swank.lisp (list-threads): Return a table with the attribute
4204 names as the first row and the new attributes in the last columns.
4205 * slime.el (slime-update-threads-buffer): For now, ignore the
4206 extra attributes.
4207
4208 2009-06-28 Stelian Ionescu <stelian.ionescu-zeus@poste.it>
4209
4210 * slime.el (slime-compiler-macroexpand-inplace)
4211 (slime-compiler-macroexpand-1-inplace): New commands.
4212 (slime-macroexpansion-minor-mode-map): Bind them.
4213
4214 2009-06-28 Helmut Eller <heller@common-lisp.net>
4215
4216 * swank-sbcl.lisp (add-fd-handler): Avoid recursive invocation
4217 of the handler, e.g. when read-sequence blocks.
4218
4219 2009-06-28 Stas Boukarev <stassats@gmail.com>
4220
4221 * swank-openmcl.lisp (compiler-warning-short-message): In new
4222 versions of CCL `compiler-warning-nrefs' slot
4223 of the `compiler-warning' class is now a list, not an integer.
4224
4225 2009-06-25 Geo Carncross <geocar@gmail.com>
4226
4227 * swank-ecl.lisp: Profiling support by Marko Koci?
4228
4229 2009-06-27 Helmut Eller <heller@common-lisp.net>
4230
4231 * slime.el (slime-beginning-of-symbol): Skip over #., #-, and #+.
4232 ([test] symbol-at-point.15 .. 17): Test it.
4233
4234 2009-06-24 Nikodemus Siivola <nikodemus@random-state.net>
4235
4236 Add :WAIT keyword argument to support blocking in
4237 SWANK:INSPECT-IN-EMACS.
4238
4239 * swank.lisp (inspect-in-emacs): added keyword argument :wait.
4240
4241 * slime.el (slime-dispatch-event): if swank requests response to
4242 :inspect, add a hook to the inspector to signal swank once done.
4243 (slime-open-inspector): add optional hook argument to be added as
4244 local kill-buffer-hook.
4245
4246 2009-06-21 Helmut Eller <heller@common-lisp.net>
4247
4248 * slime.el (slime-initialize-lisp-buffer-for-test-suite): Moved to
4249 contrib/slime-fontifying-fu.el
4250
4251 2009-06-21 Helmut Eller <heller@common-lisp.net>
4252
4253 Don't try so hard to get symbol-at-point right.
4254 The old implementation was complicated and didn't even pass it's
4255 own test suite. The new version is less ambitious but simpler.
4256
4257 * slime.el (slime-symbol-at-point, slime-beginning-of-symbol)
4258 (slime-end-of-symbol): Simplify.
4259 (slime-exit-vertical-bars, slime-symbol-constituent-at): Deleted.
4260 ([test] symbol-at-point.1 .. symbol-at-point.14): Renamed form
4261 fancy-symbol-names and split up into smaller peices.
4262 (slime-test-symbols): New.
4263 (slime-check-symbol-at-point): Renamed from
4264 slime-check-fancy-symbol-name.
4265
4266 2009-06-21 Helmut Eller <heller@common-lisp.net>
4267
4268 * swank-backend.lisp (frame-source-location): Renamed from
4269 frame-source-location-for-emacs.
4270
4271 2009-06-20 Helmut Eller <heller@common-lisp.net>
4272
4273 * slime.el (slime-check-fancy-symbol-name): Don't update the loop
4274 index inside the loop body.
4275
4276 2009-06-20 Helmut Eller <heller@common-lisp.net>
4277
4278 * swank-openmcl.lisp (emacs-connected): Deleted. Setting
4279 ccl::*interactive-abort-process* doesn't seem right.
4280
4281 2009-06-15 Helmut Eller <heller@common-lisp.net>
4282
4283 * swank-openmcl.lisp: Explicitly require CCL version 1.3.
4284
4285 2009-06-15 Helmut Eller <heller@common-lisp.net>
4286
4287 * swank-openmcl.lisp (emacs-inspect [t]): Honor the type returned
4288 by inspector::line-n.
4289 (emacs-inspect [compiled-lexical-closure]): Deleted. Let CCL's
4290 inpector handle this case. Which does it better and it's less work
4291 for us.
4292
4293 2009-06-14 Helmut Eller <heller@common-lisp.net>
4294
4295 Some workarounds for SBCL on Windows.
4296
4297 * swank-sbcl.lisp (input-available-p): New function.
4298 (wait-for-input): Use it.
4299 ([win32] handle-listen, has-buffered-input-p): New.
4300 (temp-file-name, tempnam): Plain tmpnam(3) is next to useless on
4301 Windows use tempnam(3) instead.
4302
4303 2009-06-12 Geo Carncross <geocar@gmail.com>
4304
4305 * swank-ecl.lisp: Support new environment changes in recent ECL/CVS
4306 patch largely from ECL maintainer.
4307
4308 2009-06-11 Tobias C. Rittweiler <tcr@freebits.de>
4309
4310 * slime.el ([test] font-lock-magic): Moved to fontifying-fu contrib.
4311
4312 2009-06-05 Helmut Eller <heller@common-lisp.net>
4313
4314 Don't clutter compiler messages with source positions. Especially
4315 stuff like "In an anonymous lambda form inside an anonymous lambda
4316 form inside an anonymous lambda form inside FOO: Undeclared free
4317 variable X" is not helpful.
4318
4319 * swank-openmcl.lisp (compiler-warning-short-message): New GF.
4320 (handle-compiler-warning): Use it.
4321
4322 (disassemble-frame): Print current PC.
4323
4324 2009-06-04 Helmut Eller <heller@common-lisp.net>
4325
4326 * slime.el (slime-dispatch-event [:emacs-rex]): Don't clutter
4327 the main code-path with confusing error handling.
4328
4329 2009-06-04 Helmut Eller <heller@common-lisp.net>
4330
4331 * swank-openmcl.lisp (*known-processes*, mailbox): Use a weak
4332 hashtable to plug the memory leak.
4333
4334 2009-05-28 Tobias C. Rittweiler <tcr@freebits.de>
4335
4336 * slime.el (def-slime-test): Forgot to remove debugging code.
4337
4338 2009-05-28 Tobias C. Rittweiler <tcr@freebits.de>
4339
4340 * slime.el (slime-dispatch-event :emacs-rex): Make sure that we
4341 pop the continuation on erroneous send.
4342
4343 Patch by Mark Cox <markcox80@gmail.com>.
4344
4345 2009-05-28 Tobias C. Rittweiler <tcr@freebits.de>
4346
4347 * swank.lisp (tokenize-symbol-thoroughly): Make it work correctly
4348 on escaped symbols.
4349
4350 2009-05-28 Tobias C. Rittweiler <tcr@freebits.de>
4351
4352 * slime.el (slime-disconnect): Now only disconnects one
4353 connection, current one by default, or given by argument.
4354 (slime-disconnect-all): New. What `slime-disconnect' was before.
4355 (def-slime-test): Changed: expected failures are now given
4356 by (:fails-for ...) clauses. Extended: new clause (:style ...) to
4357 have a test run only on a certain communication style. Updated
4358 existing test cases accordingly.
4359 ([struct] slime-test): New slot `skipped'.
4360 (slime-skipped-tests): New var.
4361 (slime-execute-tests): Adapted accordingly.
4362 ([test] disconnect): Renamed to `disconnect-and-reconnect'
4363 ([test] disconnect-one-connection): New.
4364
4365 Adapted from patch by Stas Boukarev.
4366
4367 2009-05-24 Tobias C. Rittweiler <tcr@freebits.de>
4368
4369 * slime.el ([test] fancy-symbol-names): Add cases involving #|
4370 ... |# style comments. Currently failing.
4371
4372 Reported by Madhu.
4373
4374 2009-05-24 Tobias C. Rittweiler <tcr@freebits.de>
4375
4376 * slime.el (slime-goto-location-position): Only go to
4377 match-beginning if search succeeded.
4378
4379 Patch by Madhu.
4380
4381 2009-05-23 Helmut Eller <heller@common-lisp.net>
4382
4383 * swank-openmcl.lisp (break-in-sldb): Honor *break-on-signals*.
4384 That means that we can't use SIGNAL here and we have to invoke
4385 SLDB directly.
4386 (condition-for-break): New helper.
4387 Reported by Bill St. Clair.
4388
4389 2009-05-19 Tobias C. Rittweiler <tcr@freebits.de>
4390
4391 * slime.el (slime-symbol-at-point): Sometimes we can be too good,
4392 e.g. in "|# (defun foo () (getf" the above would return nil
4393 because the vertical bar is not terminated. The user probably
4394 wants "getf" nontheless.
4395
4396 Reported by Madhu.
4397
4398 2009-05-19 Tobias C. Rittweiler <tcr@freebits.de>
4399
4400 * slime.el (sldb-restartable-frame-line-face): Set a default value.
4401 (sldb-frame-restartable-p): New.
4402 (sldb-compute-frame-face): Use it.
4403 (sldb-show-frame-details): Use it, too.
4404
4405 2009-05-19 Nikodemus Siivola <nikodemus@random-state.net>
4406
4407 * swank-source-path-parser.lisp (read-and-record-source-map):
4408 ignore errors during the call to READ, so that we don't the
4409 current version of the form we are looking at contains eg.
4410 uninternable symbols.
4411
4412 2009-05-19 Helmut Eller <heller@common-lisp.net>
4413
4414 * swank-openmcl.lisp (source-note-to-source-location): Always
4415 test *temp-file-map* first, because the temp-file might actually
4416 exist during compilation but no longer when Emacs tries to open
4417 it.
4418 (slime-goto-location-buffer): Don't create buffers for
4419 non-existent files.
4420
4421 2009-05-18 Nikodemus Siivola <nikodemus@random-state.net>
4422
4423 * slime.el (slime-description-autofocus): New variable.
4424 (slime-show-description): Use it to decide if description
4425 buffers should receive focus automatically.
4426 * doc/slime.texi: Document it.
4427
4428 2009-05-17 Tobias C. Rittweiler <tcr@freebits.de>
4429
4430 * slime.el (slime-dispatch-event): New event
4431 `:read-from-minibuffer'.
4432 (slime-read-from-minibuffer-for-swank): New.
4433
4434 * swank.lisp (dispatch-event): Pass through :read-from-minibuffer
4435 event.
4436 (read-from-minibuffer-in-emacs): Now uses new event rather than
4437 eval-in-emacs.
4438
4439 2009-05-17 Helmut Eller <heller@common-lisp.net>
4440
4441 * swank-openmcl.lisp (compile-temp-file): Remove backward
4442 compatibility code.
4443 (eval-in-frame, frame-source-location-for-emacs)
4444 (return-from-frame, restart-frame)
4445 (disassemble-frame, xref-locations): Simplify.
4446 (list-callers): Use ccl::caller-functions which gives us more precise
4447 src-locs than ccl::callers.
4448 (canonicalize-location, remove-filename-quoting)
4449 (maybe-method-location): Deleted. No longer used.
4450 (who-specializes): Simplify.
4451
4452 2009-05-17 Helmut Eller <heller@common-lisp.net>
4453
4454 More precise compiler-message location.
4455
4456 * swank-openmcl.lisp (handle-compiler-warning): Use the
4457 source-note slot of the condition as source location, which is
4458 more precise than the stream-position slot.
4459 (compiler-warning-severity): New function. The distinction between
4460 warning and style-warning is rather arbitrary but let's try it.
4461 (swank-compile-file): Pass the external-format arg down to
4462 compile file.
4463 (*buffer-name*, *buffer-offset*, condition-source-position):
4464 Deleted. No longer used.
4465
4466 2009-05-16 Helmut Eller <heller@common-lisp.net>
4467
4468 Minor refactoring.
4469
4470 * swank-openmcl.lisp (call/frame, with-frame): New macro.
4471 (frame-visible-variables): New helper.
4472 (frame-var-value, frame-locals, disassemble-frame): Use it.
4473 (frame-catch-tags): Removed. Way to much code for such a rarely
4474 used function.
4475
4476 2009-05-16 Helmut Eller <heller@common-lisp.net>
4477
4478 * swank-openmcl.lisp (swank-compile-string): Store the source
4479 code, by setting CCL:*SAVE-SOURCE-LOCATIONS* to T, for better
4480 disassembler output.
4481 (function-source-location): Remove the old pre-1.3 version.
4482
4483 * swank.lisp (sldb-bitvector-pprint): Oops, all bits are true.
4484
4485 2009-05-16 Tobias C. Rittweiler <tcr@freebits.de>
4486
4487 * slime.el (slime-current-parser-state): Do not save
4488 match-data. This function is called so often that it makes a
4489 difference.
4490
4491 2009-05-16 Helmut Eller <heller@common-lisp.net>
4492
4493 * swank.lisp (*sldb-pprint-dispatch-table*): Be careful when
4494 calling WRITE recursively: set :circle to nil which avoids
4495 interference with cycle-detection.
4496 (escape-string): New helper function.
4497 (*backtrace-pprint-dispatch-table*): Use it.
4498
4499 2009-05-15 Tobias C. Rittweiler <tcr@freebits.de>
4500
4501 * swank-allegro.lisp (swank-compile-string): Forgot to remove old
4502 definition in changeset 2009-05-12.
4503
4504 Patch by Stelian Ionescu.
4505
4506 2009-05-15 Tobias C. Rittweiler <tcr@freebits.de>
4507
4508 Move font-lock-magic into contrib/slime-fontifying-fu.el.
4509
4510 * slime.el (slime-highlight-suppressed-forms),
4511 (slime-reader-conditional-face),
4512 (slime-search-suppressed-forms-internal),
4513 (slime-search-suppressed-forms),
4514 (slime-search-directly-preceding-reader-conditional),
4515 (slime-extend-region-for-font-lock),
4516 (slime-compute-region-for-font-lock),
4517 (slime-activate-font-lock-magic): Moved.
4518
4519 2009-05-15 Tobias C. Rittweiler <tcr@freebits.de>
4520
4521 Rewrote some parts of the font-lock-magic in face of its fragility
4522 over the last days. Hopefully it'll be better now.
4523
4524 * slime.el (slime-region-for-tlf-at-point): Removed. Not needed
4525 anymore.
4526 (slime-region-for-extended-tlf-at-point): Removed.
4527 (slime-search-backward-reader-conditional): Removed.
4528 (slime-search-directly-preceding-reader-conditional):
4529 New. Similiar to the above.
4530 (slime-extend-region-for-font-lock): Display bug message when
4531 error is caught.
4532 (slime-compute-region-for-font-lock): Rewritten.
4533 ([test] font-lock-magic): Another test case.
4534
4535 2009-05-14 Tobias C. Rittweiler <tcr@freebits.de>
4536
4537 * slime.el (slime-region-for-tlf-at-point): Use
4538 `(end-of-defun) (backward-sexp)' rather than
4539 `(end-of-defun) (beginning-of-defun' to go to the start of the
4540 current defun. The latter would fail on "() (a\nb\nc)".
4541
4542 2009-05-14 Tobias C. Rittweiler <tcr@freebits.de>
4543
4544 * slime.el (slime-compute-region-for-font-lock): Fix typo.
4545
4546 2009-05-13 Tobias C. Rittweiler <tcr@freebits.de>
4547
4548 * slime.el (slime-search-suppressed-forms): On errors, we have to
4549 continue the search, otherwise there's a chance that we miss
4550 reader conditionals in the current font-lock region.
4551 (slime-search-backward-reader-conditional): New. Extracted from
4552 `slime-region-for-extended-tlf-at-point'.
4553 (slime-region-for-extended-tlf-at-point): Use it.
4554 (slime-font-lock-region): Removed.
4555 (slime-font-lock-region-changed-p): Removed.
4556 (slime-extend-region-for-font-lock): Simplified.
4557 (slime-compute-region-for-font-lock): Make sure that we never
4558 return a flag indicating change when there was in fact no
4559 change. This should make the explicit guard against infinite loop
4560 superfluous.
4561 (slime-extend-region-warn-infinite-loop): Removed.
4562 ([test] font-lock-magic): More cases.
4563
4564 2009-05-12 Tobias C. Rittweiler <tcr@freebits.de>
4565
4566 Make font-lock-magic test case pass.
4567
4568 * slime.el (slime-bug): New function.
4569 (slime-search-suppressed-forms): Use it.
4570 (slime-extend-region-warn-infinite-loop): Ditto.
4571 (slime-search-suppressed-forms-internal): Check whether we're
4572 inside a comment, or a string.
4573 ([test] font-lock-magic): Add another case.
4574
4575 2009-05-12 Tobias C. Rittweiler <tcr@freebits.de>
4576
4577 Highlight reader-errors in the source buffers on Allegro.
4578
4579 * swank-allegro.lisp (*temp-file-header-end-position*): New
4580 variable.
4581 (call-with-compilation-hooks): Handle reader errors.
4582 (handle-compiler-warning): Adapt it accordingly.
4583 (location-for-reader-error): New.
4584 (compile-from-temp-file): Now takes a header argument explicitly
4585 so we can hold of the actual offset of the string we want to
4586 compile. This is needed to translate back file-positions reported
4587 in reader-errors.
4588 (swank-compile-string, swank-compile-file): Adapted accordingly.
4589
4590 2009-05-12 Tobias C. Rittweiler <tcr@freebits.de>
4591
4592 * swank-allegro.lisp (find-topframe): Hide SWANK related cruft
4593 from showing up in backtraces in SLDB.
4594
4595 2009-05-12 Tobias C. Rittweiler <tcr@freebits.de>
4596
4597 * slime.el (slime-display-warning): Add `warning' as warning type.
4598 (slime-show-note-counts): If compilation failed, fontify the
4599 message in red to be more visibly apparant.
4600
4601 2009-05-11 Tobias C. Rittweiler <tcr@freebits.de>
4602
4603 (slime-eval-feature-expression): Guard for more erroneous
4604 input (due to refontification while user's typing.)
4605
4606 2009-05-10 Helmut Eller <heller@common-lisp.net>
4607
4608 * slime.el ([test] font-lock-magic): Add some hard cases.
4609
4610 2009-05-10 Tobias C. Rittweiler <tcr@freebits.de>
4611
4612 * slime.el (slime-compute-region-for-font-lock): Fix typo.
4613
4614 2009-05-10 Tobias C. Rittweiler <tcr@freebits.de>
4615
4616 Font-lock magic barfed on #+(test).
4617
4618 * slime.el (slime-eval-feature-conditional): Renamed to
4619 `slime-eval-feature-expression'.
4620 (slime-unknown-feature-expression): New error symbol.
4621 (slime-eval-feature-expression): Signal it.
4622 (slime-search-suppressed-forms): Catch it.
4623 (slime-compute-region-for-font-lock): Guard against unbalanced
4624 parentheses.
4625 (slime-initialize-lisp-buffer-for-test-suite): New helper.
4626 ([test] font-lock-magic): New test case.
4627
4628 Reported by Kalyanov Dmitry.
4629
4630 2009-05-09 Tobias C. Rittweiler <tcr@freebits.de>
4631
4632 * swank-source-file-cache.lisp (read-snippet-from-string): New.
4633
4634 * swank-sbcl.lisp (source-hint-snippet): Use it.
4635 (emacs-buffer-source-location): Use it, too.
4636 (string-path-snippet): Ditto. Additionally: Make sure the returned
4637 string is truncated by *SOURCE-SNIPPET-SIZE*.
4638
4639 2009-05-08 Tobias C. Rittweiler <tcr@freebits.de>
4640
4641 * slime.el (slime-search-suppressed-forms-internal): Not properly
4642 factored out by earlier changeset.
4643
4644 2009-05-08 Tobias C. Rittweiler <tcr@freebits.de>
4645
4646 * swank.lisp (read-from-minibuffer-in-emacs): New.
4647 ([struct] istate): Add METADATA-PLIST slot.
4648 (ensure-istate-metadata): New. To attach arbitrary metadata to an
4649 inspector page.
4650 (inspect-object): Adapted so methods on EMACS-INSPECT can look at
4651 *ISTATE*.
4652
4653 2009-05-08 Tobias C. Rittweiler <tcr@freebits.de>
4654
4655 #+#.foo confused the recent fontification changes. Fix that.
4656
4657 * slime.el (slime-search-suppressed-forms-internal): New. Split
4658 from `slime-search-suppressed-forms'.
4659 (slime-search-suppressed-forms): Catch `invalid-read-syntax'
4660 errors.
4661
4662 2009-05-01 Tobias C. Rittweiler <tcr@freebits.de>
4663
4664 * slime.el (slime-line-number-at-pos): Replaced with
4665 `line-number-at-pos', and add that to the portability layer.
4666 (display-warning): Add to the portability layer.
4667 (slime-display-warning): New.
4668
4669 * slime.el: Implement a guard against infinite loops during
4670 fontification. We detect and prevent those. If we detect one, we
4671 emit a big warning to the user.
4672
4673 (slime-font-lock-region): New variable.
4674 (slime-font-lock-region-changed-p): New helper.
4675 (slime-extend-region-warn-infinite-loop): New helper.
4676 (slime-compute-region-for-font-lock): Extracted from
4677 `slime-extend-region-for-font-lock'.
4678 (slime-extend-region-for-font-lock): Use it; add the guard.
4679
4680 2009-04-30 Tobias C. Rittweiler <tcr@freebits.de>
4681
4682 * swank-abcl.lisp: Really commit Vodonosov's patch from
4683 2009-03-09.
4684
4685 2009-04-30 Tobias C. Rittweiler <tcr@freebits.de>
4686
4687 * swank-backend.lisp ([default] declaration-arglist): Add
4688 arglist of DECLARATION declaration.
4689
4690 * swank-openmcl.lisp ([eql 'optimize] declaration-arglist):
4691 Implement it for CCL.
4692 (describe-symbol-for-emacs): Add :TYPE.
4693 (describe-definition): Add :TYPE.
4694
4695 Adapted from patch by Stas Boukarev.
4696
4697 2009-04-29 Tobias C. Rittweiler <tcr@freebits.de>
4698
4699 * slime.el (slime-extend-region-for-font-lock): (nth 0
4700 <parser-state>) may return negative numbers.
4701
4702 2009-04-29 Tobias C. Rittweiler <tcr@freebits.de>
4703
4704 * slime.el: Fix infinite loop during fontification introduced
4705 by yesterday's changeset.
4706
4707 (slime-region-for-tlf-at-point): New. Like
4708 `slime-region-for-defun-at-point' but tries harder to get the
4709 toplevel form right.
4710 (slime-region-for-extended-tlf-at-point): Previously
4711 `slime-region-for-extended-defun-at-point'.
4712 (slime-extend-region-for-font-lock): Use it.
4713 (slime-mark-defun-for-font-lock): Ditto.
4714
4715 2009-04-28 Tobias C. Rittweiler <tcr@freebits.de>
4716
4717 * slime.el: Fix fontification of suppressed (by reader
4718 conditionals) forms. That is make it reliably and totally work.
4719
4720 (slime-region-for-extended-defun-at-point): New. Like
4721 `slime-region-for-defun-at-point' but takes preceding reader
4722 conditionals into account.
4723 (slime-extend-region-for-font-lock): New. Make sure that
4724 fontification operates on regions spanning a whole toplevel form
4725 only. So we never operate within the context of a reader
4726 conditional and we never miss any of those.
4727 (slime-search-suppressed-forms): Remove ignore-errors; not needed
4728 anymore now as we extend the region for fontification.
4729 (slime-mark-defun-for-font-lock): New.
4730 (slime-activate-font-lock-magic): Push
4731 `slime-extend-region-for-font-lock' onto
4732 `font-lock-extend-region-functions'.
4733
4734 2009-04-25 Tobias C. Rittweiler <tcr@freebits.de>
4735
4736 * slime.el (slime-show-description): Put the connection name into
4737 the buffer name for description buffers. So we can have multiple
4738 description buffers open, one per connection.
4739
4740 Useful for comparing the output of DISASSEMBLE across
4741 implementations.
4742
4743 2009-04-21 Tobias C. Rittweiler <tcr@freebits.de>
4744
4745 * slime.el (slime-handle-indentation-update): Revert change from
4746 2009-03-09; that was a thinko.
4747 ([test] indentation): Some basic test case for correct indentation.
4748
4749 2009-04-03 Tobias C. Rittweiler <tcr@freebits.de>
4750
4751 * swank-sbcl.lisp (swank-compile-file): Return T for the FAILURE-P
4752 return value in case of a FATAL-COMPILER-ERROR.
4753
4754 Reported by Philipp M. Schäfer
4755
4756 2009-04-03 Tobias C. Rittweiler <tcr@freebits.de>
4757
4758 * slime.el (slime-inspector-mode-map): Remove binding for
4759 M-RET. (It'll be added by the slime-repl contrib.)
4760 (slime-inspector-copy-down): Removed.
4761
4762 2009-03-27 Helmut Eller <heller@common-lisp.net>
4763
4764 * swank.lisp (encode-message): Handle errors during write, e.g.
4765 closed sockets.
4766
4767 2009-03-27 Helmut Eller <heller@common-lisp.net>
4768
4769 * slime.el (slime-setup-contribs): Moved over from
4770 slime-autoloads.el
4771
4772 2009-03-27 Helmut Eller <heller@common-lisp.net>
4773 * swank-openmcl.lisp (toggle-trace): Replace ccl::%trace with
4774 ccl:trace-function.
4775 (kill-thread): Use an implementation that doesn't raise a
4776 serious-conditions.
4777
4778 2009-03-27 Helmut Eller <heller@common-lisp.net>
4779
4780 * slime.el ([test] macroexpand): Fix more case issues.
4781
4782 2009-03-25 Helmut Eller <heller@common-lisp.net>
4783
4784 * slime.el ([test] macroexpand): Ignore case.
4785
4786 2009-03-09 Tobias C. Rittweiler <tcr@freebits.de>
4787
4788 * slime.el (slime-define-channel-type): Indulge in pretty colors.
4789 (slime-define-channel-method): You, too!
4790
4791 (slime-handle-indentation-update): Always put an indentation
4792 update on 'slime-indent; for slime-indentation-fu.
4793
4794 2009-03-09 Anton Vodonosov <avodonosov@yandex.ru>
4795
4796 Use correct encoding and eol conventions for socket streams.
4797
4798 * swank-abcl.lisp (accept-connection): Honor external-format
4799 argument.
4800 (*external-format-to-coding-system*, find-external-format): New.
4801
4802 2009-03-09 Helmut Eller <heller@common-lisp.net>
4803
4804 * slime.el (slime-with-xref-buffer): Use buffer-names like
4805 "*slime xref...*" so that slime-kill-all-buffers can pick
4806 it up easily.
4807
4808 2009-03-09 Helmut Eller <heller@common-lisp.net>
4809
4810 * hyperspec.el (common-lisp-hyperspec-lookup-reader-macro): Use
4811 case-insensitive completion.
4812 (hyperspec-lookup-reader-macro): New alias.
4813 Suggested by Stas Boukarev.
4814
4815 2009-03-09 Helmut Eller <heller@common-lisp.net>
4816
4817 Make fasl-pathname fully customizable not only the direcrory part.
4818
4819 * swank.lisp (*fasl-pathname-function*): New variable.
4820 (*fasl-directory*): Deleted.
4821
4822 2009-03-08 Tobias C. Rittweiler <tcr@freebits.de>
4823
4824 * slime.el (slime-choose-overlay-for-read-error): Extracted and
4825 extended from `slime-choose-overlay-region'. Differentiate between
4826 symbol-related reader-errors (package not found &c) and
4827 character-related reader-errors.
4828 (slime-choose-overlay-region): Use it.
4829
4830 2009-03-08 Tobias C. Rittweiler <tcr@freebits.de>
4831
4832 * slime.el (make-slime-buffer-location, make-slime-file-location):
4833 Do not default to (:hints), but to nil, as expected in the
4834 slime-side source-location machinery.
4835
4836 2009-03-08 Tobias C. Rittweiler <tcr@freebits.de>
4837
4838 * slime.el (slime-choose-overlay-region): Special case :read-error
4839 notes regardless of position kind.
4840
4841 * swank-sbcl.lisp (signal-compiler-condition): Return :READ-ERROR
4842 as severity for reader-errors.
4843 (compiler-note-location): Fix off-by-one when compiling from
4844 buffer.
4845
4846 2009-03-08 Tobias C. Rittweiler <tcr@freebits.de>
4847
4848 * swank-sbcl.lisp (compiling-from-buffer-p),
4849 (compiling-from-file-p)
4850 (compiling-from-generated-code-p): New helpers; extracted from
4851 LOCATE-COMPILER-NOTE.
4852 (locate-compiler-note): Use them.
4853 (compiler-note-location): Use them, too, to handle reader-errors
4854 when compiling from file. This completes 2009-02-27.
4855
4856 Reported by Christian Lynbech.
4857
4858 2009-03-07 Tobias C. Rittweiler <tcr@freebits.de>
4859
4860 * slime.el ([portability] getf): Redefine `getf' on Emacs21 to
4861 work on malformed plists like it does on later Emacsen. This made
4862 the `find-local-definitions' test case fail on Emacs21.
4863
4864 2009-03-04 Tobias C. Rittweiler <tcr@freebits.de>
4865
4866 * slime.el (slime-check-fancy-symbol-name): Use
4867 `slime-test-expect' instead of `slime-check'.
4868 ([test] fancy-symbol-names): Extend test case; check for
4869 "Foo" in #<Foo| {...}>.
4870 (slime-symbol-constituent-at-pos): Check for #<.
4871
4872 2009-03-04 Tobias C. Rittweiler <tcr@freebits.de>
4873
4874 * slime.el (slime-wait-condition): Remove `save-excursion'; it
4875 made the `repl-test' test case fail because this test tries to set
4876 point to the new prompt in vain.
4877
4878 2009-03-03 Helmut Eller <heller@common-lisp.net>
4879
4880 * slime.el (slime-pretty-package-name): Simplify.
4881
4882 2009-03-03 Helmut Eller <heller@common-lisp.net>
4883
4884 Use a separate key, C-c C-d #, to lookup reader-macros.
4885
4886 * hyperspec.el (common-lisp-hyperspec-lookup-reader-macro): New
4887 command.
4888 (common-lisp-hyperspec-reader-macros): New variable.
4889 (common-lisp-hyperspec-reader-macro-at-point): Moved over from
4890 slime.el
4891 * slime.el (slime-doc-bindings): Bind C-c C-d #.
4892 (slime-hyperspec-lookup): Don't consider reader-macros.
4893
4894 2009-03-02 Tobias C. Rittweiler <tcr@freebits.de>
4895
4896 * hyperspec.el (common-lisp-hyperspec-symbols): Add entries for
4897 reader macros even when `common-lisp-hyperspec-symbol-table' is
4898 bound to some value.
4899
4900 2009-02-27 Tobias C. Rittweiler <tcr@freebits.de>
4901
4902 * slime.el ([test] macroexpand): New test case.
4903 (slime-buffer-visible-p): New helper.
4904 (slime-execute-as-command): New helper.
4905
4906 2009-02-27 Tobias C. Rittweiler <tcr@freebits.de>
4907
4908 * hyperspec.el (common-lisp-hyperspec-symbols): Add links to
4909 reader macros.
4910
4911 * slime.el (slime-reader-macro-at-point): New function.
4912 (slime-hyperspec-lookup): Call it.
4913
4914 Adapted from Stas Boukarev.
4915
4916 2009-02-27 Tobias C. Rittweiler <tcr@freebits.de>
4917
4918 * slime.el: Rename `slime-symbol-name-at-point' to
4919 `slime-symbol-at-point'.
4920
4921 2009-02-27 Tobias C. Rittweiler <tcr@freebits.de>
4922
4923 * slime.el ([portability] lisp-mode-syntax-table): On Emacs21,
4924 make @ a prefix character like it's from Emacs22
4925 onward. `slime-symbol-name-at-point' was written with that
4926 assumption.
4927
4928 2009-02-27 Tobias C. Rittweiler <tcr@freebits.de>
4929
4930 * slime.el (slime-current-parser-state): Wrap `syntax-ppss' in a
4931 `save-match-data'. This issue has been reported to the Emacs
4932 maintainers.
4933
4934 2009-02-27 Tobias C. Rittweiler <tcr@freebits.de>
4935
4936 * slime.el (slime-defun-if-undefined),
4937 (slime-defmacro-if-undefined): Renamed to
4938 `slime-DEFUN-if-undefined' and `slime-DEFMACRO-if-undefined' to
4939 better differentiate between the two.
4940
4941 (slime-indulge-pretty-colors): New function. You can now put a
4942 symbol on the plist of `slime-indulge-pretty-colors' to make the
4943 symbol be fontified like `defun'. This is done for
4944 `slime-def-connection-var', and the two symbols above.
4945
4946 2009-02-27 Tobias C. Rittweiler <tcr@freebits.de>
4947
4948 * slime.el (slime-defmacro-if-undefined): New. Analogous to
4949 `slime-defun-if-undefined'.
4950 ([portablity]] with-selected-window) Use it.
4951 ([portability] with-temo-buffer): Likewise.
4952
4953 Patch by Theam Yong Chew.
4954
4955 2009-02-27 Tobias C. Rittweiler <tcr@freebits.de>
4956
4957 C-c C-c on (defun foo () ,bar) did not result in a compiler note
4958 overlay on SBCL.
4959
4960 * swank-sbcl.lisp (compiler-note-location): Make it take a
4961 condition; if the condition is a READER-ERROR, the passed
4962 compiler-error-context is very likely NIL---we have not proceeded
4963 beyond reading, so we aren't within the compiler yet. In that
4964 case, we use the stream position of the stream behind the
4965 READER-ERROR instead.
4966
4967 2009-02-26 Tobias C. Rittweiler <tcr@freebits.de>
4968
4969 * doc/slime.texi: Fix typos, and add keybindings not listed there.
4970
4971 Patch by Stas Boukarev.
4972
4973 2009-02-26 Tobias C. Rittweiler <tcr@freebits.de>
4974
4975 * slime.el (sldb-backward-frame): Only move backward when we're
4976 below the backtrace marker.
4977
4978 2009-02-26 Tobias C. Rittweiler <tcr@freebits.de>
4979
4980 * swank.lisp (debug-in-emacs): Moved (WITH-BINDINGS
4981 *SLDB-PRINTER-BINDINGS* ...), from here...
4982 (sldb-loop): ... to here. Otherwise results from a user doing an
4983 eval-in-frame were truncated.
4984
4985 Reported by Jeff Workman.
4986
4987 2009-02-26 Tobias C. Rittweiler <tcr@freebits.de>
4988
4989 * swank.lisp (hash-table-to-alist): New function.
4990 ([method] emacs-inspect (hash-table)): Sort keys if they're all
4991 numbers, symbols, or strings.
4992
4993 Adapted from Willem Broekema.
4994
4995 2009-02-26 Tobias C. Rittweiler <tcr@freebits.de>
4996
4997 * swank-backend.lisp (warn-unimplemented-interfaces):
4998 Bind *PRINT-PRETTY* to T. Otherwise no sugar formatting on CCL.
4999
5000 2009-02-26 Tobias C. Rittweiler <tcr@freebits.de>
5001
5002 * slime.el (slime-pretty-package-name): Signalled an error on
5003 simple symbols; fix that!
5004
5005 Reported by Geoff Wozniak.
5006
5007 2009-02-26 Tobias C. Rittweiler <tcr@freebits.de>
5008
5009 * slime.el (slime-current-form-path): Use
5010 `slime-current-parser-state'.
5011
5012 2009-02-26 Tobias C. Rittweiler <tcr@freebits.de>
5013
5014 * slime.el ([test] fancy-symbol-names): New, hopefully
5015 comprehensive, test for funky symbol names.
5016 (slime-check-fancy-symbol-name): Helper.
5017 (slime-exit-vertical-bars): New function to move out from |foo|.
5018 (slime-symbol-constituent-at): New predicate to test whether the
5019 character at point is a valid symbol constituent.
5020 (slime-beginning-of-symbol, slime-end-of-symbol): Rewritten using
5021 above two functions and `forward-sexp' that correctly parses
5022 escapes etc.
5023 (slime-sexp-at-point): Consider thing at point a symbol first.
5024
5025 2009-02-24 Tobias C. Rittweiler <tcr@freebits.de>
5026
5027 * slime.el (slime-forward-cruft): Forward whitespace, reader
5028 conditonals, comments. Splitted from `slime-forward-sexp'.
5029 (slime-pretty-package-name): Use it.
5030
5031 2009-02-24 Tobias C. Rittweiler <tcr@freebits.de>
5032
5033 Re-checkin my change from 2009-02-14. It seems I didn't actually
5034 commit it.
5035
5036 2009-02-22 Tobias C. Rittweiler <tcr@freebits.de>
5037
5038 `M-x slime-format-string-expand' displays the expansion of a
5039 format string.
5040
5041 * slime.el (slime-string-at-point) New.
5042 (slime-string-at-point-or-error): New.
5043 (slime-format-string-expand): New; use them.
5044
5045 * swank-backend.lisp (format-string-expand): New interface.
5046 * swank.lisp (swank-format-string-expand): New; use it.
5047
5048 2009-02-17 Helmut Eller <heller@common-lisp.net>
5049
5050 * swank.lisp (dispatch-event [:emacs-rex]): Reply a :invalid-rpc
5051 message if the specified thread doesn't exist.
5052 * slime.el (slime-dispatch-event): Handle :invalid-rpc.
5053 (slime-init-connection-state): Bind slime-current-thread
5054 to avoid problems with dead threads.
5055
5056 2009-02-14 Tobias C. Rittweiler <tcr@freebits.de>
5057
5058 * slime.el (slime-reader-conditionals-regexp): New variable. Taken
5059 from `slime-forward-reader-conditional'.
5060 (slime-pretty-package-name): Fix modeline display for buffer
5061 containing forms like (in-package "#+foo :A #-foo :B"). Also do
5062 not call `read' on the name; the function does not need to return
5063 a symbol, and `read' may choke on non-elisp syntax.
5064
5065 2009-02-14 Helmut Eller <heller@common-lisp.net>
5066
5067 Don't signal conditions in interrupt handler to
5068 avoid problems with naive code like
5069 (handler-case foo (condition bar))
5070
5071 * swank-backend.lisp (*interrupt-queued-handler*): Use a dynamic
5072 variable instead.
5073 (slime-interrupt-queued): Deleted.
5074 * swank-cmucl.lisp, swank.lisp: Ditto.
5075
5076 2009-02-14 Helmut Eller <heller@common-lisp.net>
5077
5078 * slime.el (slime-restart-or-init-modeline-update-timer): Don't
5079 run the timer repeatedly.
5080 (slime-change-directory): Also change the directory in the
5081 connection-buffer.
5082
5083 2009-02-11 Tobias C. Rittweiler <tcr@freebits.de>
5084
5085 * slime.el (slime-current-tlf, slime-current-form-path): New
5086 functions; can be handy when inspecting source-locations while
5087 debugging M-.
5088
5089 2009-02-11 Tobias C. Rittweiler <tcr@freebits.de>
5090
5091 * slime.el: Barf if emacs-major-version <= 20. We support 21 and up.
5092 (slime-emacs-20-p): Removed.
5093
5094 * slime.el (slime-forward-reader-comment): Removed.
5095 (slime-forward-any-comment): New; superset of above.
5096 (slime-forward-reader-conditional): Make it understand SBCL's
5097 #!+,#!- so it works in source files of SBCL itself, too.
5098 (slime-current-parser-state): New.
5099
5100 2009-02-07 Tobias C. Rittweiler <tcr@freebits.de>
5101
5102 In Xref, list IR1-conversion functions with :DEF-IR1-TRANSLATOR as
5103 prefix rather than DEFUN. (Test case: M-. on FUNCTION.)
5104
5105 * swank-sbcl.lisp (definition-specifier): New function.
5106 (make-dspec): New function. Splitted from
5107 MAKE-SOURCE-LOCATION-SPECIFICATION.
5108
5109 2009-02-07 Tobias C. Rittweiler <tcr@freebits.de>
5110
5111 * slime.el (slime-initialize-macroexpansion-buffer): Clear the
5112 buffer-undo-list, so the user can't get expansions from earlier
5113 macroexpansions into the buffer, screwing up badly.
5114
5115 2009-01-30 Tobias C. Rittweiler <tcr@freebits.de>
5116
5117 * swank-clisp.lisp (fspec-location): Fix creation of source-location.
5118
5119 Patch by Carsten Blaauw.
5120
5121 2009-01-30 Geo Carncross <geocar@gmail.com>
5122
5123 * swank-ecl.lisp (grovel-docstring-for-arglist): Fix for arglist
5124 that reads, but isn't a list
5125
5126 2009-01-27 Tobias C. Rittweiler <tcr@freebits.de>
5127
5128 * swank-backend.lisp (with-symbol): New function, to be used with #+.
5129
5130 * swank-sbcl.lisp: Use WITH-SYMBOL and get rid of SBCL-WITH-SYMBOL.
5131
5132 * swank-openmcl.lisp (macroexpand-all): Implement it.
5133
5134 Patch by Stas Boukarev.
5135
5136 2009-01-23 Tobias C. Rittweiler <tcr@freebits.de>
5137
5138 * slime.el (slime-editing-keys): New variable; splitted from
5139 `slime-keys'. Contains key bindings that are useful for buffers
5140 where users can edit s-exprs, such as source buffers and the REPL.
5141 (slime-keys): Use it.
5142
5143 2009-01-17 Tobias C. Rittweiler <tcr@freebits.de>
5144
5145 Fix C-u C-c C-c in SLDB.
5146
5147 * slime.el (sldb-recompile-frame-source): sind
5148 `slime-compilation-policy' at the right place.
5149
5150 2009-01-15 Martin Simmons <martin@lispworks.com>
5151
5152 * swank-lispworks.lisp: wrapper functions for swank-mop
5153 slot-boundp-using-class, slot-value-using-class and
5154 slot-makunbound-using-class to account for MOP differences.
5155
5156 2009-01-16 Helmut Eller <heller@common-lisp.net>
5157
5158 * slime.el (slime-keys): Put C-c C-i and M-* back.
5159
5160 2009-01-16 Helmut Eller <heller@common-lisp.net>
5161
5162 * swank.lisp (pprint-eval): Also return the output produced during
5163 evaluation.
5164
5165 2009-01-16 Helmut Eller <heller@common-lisp.net>
5166
5167 * swank-openmcl.lisp (break-in-sldb): Display the argument.
5168
5169 2009-01-16 Helmut Eller <heller@common-lisp.net>
5170
5171 * swank-backend.lisp (warn-unimplemented-interfaces): Print the
5172 names with pprint-fill.
5173
5174 2009-01-10 Helmut Eller <heller@common-lisp.net>
5175
5176 * swank-openmcl.lisp (install-debugger-globally): Set *break-in-sldb*.
5177
5178 2009-01-10 Tobias C. Rittweiler <tcr@freebits.de>
5179
5180 * swank.lisp (do-symbols*): Wrap body in TAGBODY.
5181
5182 2009-01-10 Helmut Eller <heller@common-lisp.net>
5183
5184 * slime.el (slime-compile-file-options): New variable.
5185 (slime-compile-file): Use it.
5186
5187 2009-01-10 David Reitter <david.reitter@gmail.com>
5188
5189 * slime.el (slime-space): Declare `slime-space' to
5190 `delete-selection-mode' and friends (CUA) so that their behavior
5191 is the same as with normal insertion of a space.
5192
5193 2009-01-10 Helmut Eller <heller@common-lisp.net>
5194
5195 * swank-backend.lisp (swank-compile-file): Take output-file as
5196 additional argument. Update backends accordingly.
5197
5198 * swank.lisp (*fasl-directory*): New variable.
5199 (fasl-pathname): New function.
5200 (compile-file-for-emacs): Use it.
5201
5202 2009-01-10 Helmut Eller <heller@common-lisp.net>
5203
5204 * swank-backend.lisp (set-default-initial-binding): New function.
5205
5206 * swank.lisp (setup-stream-indirection): Use it
5207
5208 2009-01-09 Helmut Eller <heller@common-lisp.net>
5209
5210 * swank-allegro.lisp (swank-compile-string): Don't use the
5211 no-longer-existing directory argument.
5212
5213 2009-01-08 Helmut Eller <heller@common-lisp.net>
5214
5215 * slime.el: Move the tree widget for compiler notes to contrib/.
5216
5217 2009-01-08 Helmut Eller <heller@common-lisp.net>
5218
5219 * swank-backend.lisp (swank-compile-string): Pass the
5220 buffer-file-name to Lisp, not only the directory.
5221 Update callers accordingly.
5222 * slime.el ([test] arglist): Update arglist.
5223
5224 2009-01-08 Helmut Eller <heller@common-lisp.net>
5225
5226 * slime.el (slime-popup-restore-data): Renamed from
5227 slime-popup-buffer-restore-info.
5228 (slime-popup-buffer-saved-fingerprint)
5229 (slime-popup-buffer-saved-emacs-snapshot)
5230 (slime-popup-buffer-snapshot-unchanged-p)
5231 (slime-popup-buffer-restore-snapshot)
5232 (slime-xref-quit, slime-xref-retract): Deleted.
5233
5234 2009-01-08 Helmut Eller <heller@common-lisp.net>
5235
5236 Remove some customization variables of questionale use.
5237
5238 * slime.el (slime-when-complete-filename-expand)
5239 (slime-space-information-p, slime-display-compilation-output)
5240 (sldb-show-location-recenter-arg, slime-recenter-window)
5241 (slime-display-buffer-region): Deleted.
5242
5243 2009-01-07 Helmut Eller <heller@common-lisp.net>
5244
5245 Just use find-tag-marker-ring as stack for M-.
5246
5247 * slime.el (slime-push-definition-stack)
5248 (slime-pop-find-definition-stack): Do whatever Emacs's standard
5249 find-tag commands do.
5250
5251 2009-01-07 Helmut Eller <heller@common-lisp.net>
5252
5253 Fix the slime-next-location command.
5254
5255 * slime.el (slime-xref-last-buffer): New variable.
5256 (slime-show-xrefs): Initialize it.
5257 (slime-goto-next-xref): Use it.
5258 (slime-search-property): New function.
5259 (slime-xref-buffer): Delted
5260
5261 2009-01-07 Helmut Eller <heller@common-lisp.net>
5262
5263 * swank.lisp (*sldb-pprint-dispatch-table*): Honor *print-escape*
5264
5265 2009-01-07 Helmut Eller <heller@common-lisp.net>
5266
5267 * swank-cmucl.lisp (frame-locals, frame-debug-vars): Remove
5268 non-valid variables.
5269 (debug-var-value): Compute the location from the frame arg.
5270
5271 2009-01-07 Helmut Eller <heller@common-lisp.net>
5272
5273 * swank-source-path-parser.lisp (make-source-recorder)
5274 (source-path-source-position): Adjust the file-position before
5275 entering it in the table.
5276
5277 2009-01-07 Helmut Eller <heller@common-lisp.net>
5278
5279 * slime.el (slime-with-xref-buffer): Don't set
5280 slime-popup-buffer-quit-function. Use the default. Don't shrink
5281 the window because it may have existed before creating the buffer
5282 and we need to restore it.
5283 (slime-goto-xref): Just use slime-popup-buffer-quit.
5284 (slime-edit-definition-cont): Push definition stack here so that
5285 we don't need to do anything special in slime-goto-xref.
5286 (slime-display-popup-buffer): Also save the buffer that the popup
5287 window was displaying before (if the window is not new).
5288 (slime-close-popup-window): Restore the old buffer (if any) of the
5289 popup window.
5290
5291 2009-01-07 Helmut Eller <heller@common-lisp.net>
5292
5293 * slime.el (slime-show-buffer-position): Use reposition-window.
5294
5295 2009-01-07 Helmut Eller <heller@common-lisp.net>
5296
5297 * slime.el (slime-keys): Remove the binding for C-c C-i. M-TAB
5298 can also be pressed with M-C-i which is probably not taken
5299 by the window manager. ESC TAB would also work. Maybe we
5300 should reuse C-c C-i for slime-inspect.
5301 Move C-c C-y to slime-repl.e.
5302 Remove C-c C-f: it's already on C-c C-d f.
5303 Remove C-c M-0: slime-restore-window-configuration doesn't exist.
5304 Remove M-g: slime-quit doesn't work since ages.
5305
5306 2009-01-05 Helmut Eller <heller@common-lisp.net>
5307
5308 Create a compilation-log buffer so that next-error works but
5309 don't display the buffer.
5310
5311 * slime.el (slime-create-compilation-log): New function.
5312 (slime-compilation-finished-hook): Use it.
5313
5314 2009-01-05 Helmut Eller <heller@common-lisp.net>
5315
5316 Use keymap inheritance to share bindings in various modes.
5317
5318 * slime.el (slime-parent-map): New keymap.
5319 (slime-mode-map, slime-popup-buffer-mode-map, sldb-mode-map)
5320 (slime-inspector-mode-map): Use it.
5321 (slime-parent-bindings, slime-prefix-bindings): New variables.
5322 (slime-prefix-key, slime-define-key): Deleted.
5323
5324 Update contribs accordinly.
5325
5326 2009-01-05 Helmut Eller <heller@common-lisp.net>
5327
5328 * slime.el (slime-with-popup-buffer): New argment: select.
5329 If nil (default) buffer will only be displayed but not selected.
5330
5331 2009-01-05 Helmut Eller <heller@common-lisp.net>
5332
5333 * slime.el (slime-show-compilation-log): Insert two lines at
5334 the beginning. Emacs 21 seems to skip over those two.
5335
5336 2009-01-05 Tobias C. Rittweiler <tcr@freebits.de>
5337
5338 * swank-sbcl.lisp (function-arglist):
5339 SB-INTROSPECT:FUNCTION-ARGLIST is deprecated in bleeding edge sbcl.
5340
5341 2009-01-05 Tobias C. Rittweiler <tcr@freebits.de>
5342
5343 Do not truncate error messages in SLDB.
5344
5345 * swank.lisp (*sldb-bitvector-length*): Like *PRINT-LENGTH* for
5346 bit-vectors.
5347 (*sldb-string-length*): Likewise for strings.
5348 (*sldb-pprint-dispatch-table*): Truncate bit-vectors / strings
5349 according to the above variables.
5350 (*sldb-printer-bindings*): Use the new variables. Bind
5351 *PRINT-LINES* to NIL so error messages are not truncated.
5352
5353 2009-01-04 Helmut Eller <heller@common-lisp.net>
5354
5355 Make it possible to limit the number of displayed restarts.
5356
5357 * slime.el (sldb-initial-restart-limit)
5358 (sldb-insert-more-restarts): New.
5359 (sldb-setup, sldb-insert-restarts): Use it.
5360
5361 2009-01-04 Helmut Eller <heller@common-lisp.net>
5362
5363 * slime.el (slime-local-variable-p): New function. XEmacs requires
5364 two arguments.
5365
5366 2009-01-04 Helmut Eller <heller@common-lisp.net>
5367
5368 * swank-cmucl.lisp (note-error-location): If possible, include the
5369 filename.
5370 * slime.el (slime-goto-location-position): Add :eof as position
5371 kind.
5372
5373 2009-01-03 Helmut Eller <heller@common-lisp.net>
5374
5375 * slime.el (slime-goto-location-buffer): Don't goto point-min.
5376 (slime-check-location-buffer-name-sanity)
5377 (slime-check-location-filename-sanity): Separated from
5378 slime-goto-location-buffer.
5379 (slime-line-number-at-pos): New compatibility function.
5380
5381 2009-01-03 Helmut Eller <heller@common-lisp.net>
5382
5383 By default, show compiler notes in a buffer with compilation-mode.
5384
5385 * slime.el (slime-show-compilation-log)
5386 (slime-maybe-show-compilation-log): New functions,
5387 (slime-compilation-finished-hook): Change the default value
5388 to 'slime-maybe-show-compilation-log.
5389
5390 2009-01-03 Helmut Eller <heller@common-lisp.net>
5391
5392 * swank.lisp (simple-serve-requests, make-repl-input-stream):
5393 Move the call to WITH-CONNECTION to the input stream to pick up
5394 stream redirections.
5395
5396 2009-01-03 Helmut Eller <heller@common-lisp.net>
5397
5398 * swank-clisp.lisp (wait-for-input): Disable it for win32.
5399
5400 2009-01-02 Helmut Eller <heller@common-lisp.net>
5401
5402 Experimental implementation of "channels".
5403 The idea is to support arbitrary protocols without
5404 changes to the low level event dispatcher.
5405
5406 * slime.el (slime-make-channel, slime-close-channel)
5407 (slime-channel-send, slime-send-to-remote-channel): New functions.
5408 (slime-define-channel-type, slime-define-channel-method): New
5409 macros.
5410 (slime-dispatch-event): Support channel events.
5411 * swank.lisp (channel, listener-channel): New classes.
5412 (channel-send, send-to-remote-channel): New functions.
5413 (create-listener): New function. Test case for channel code.
5414 (process-requests): Process channel events.
5415
5416 2009-01-02 Helmut Eller <heller@common-lisp.net>
5417
5418 * slime.el ([test] arglist): Guard against nil. ECL
5419 returns nil most of the time.
5420
5421 2009-01-01 Tobias C. Rittweiler <tcr@freebits.de>
5422
5423 Arglists of user-defined types are now displayed by slime-autodoc
5424 on SBCL.
5425
5426 (deftype foo (x y) `(cons ,x ,y))
5427 (declare (type (foo |
5428
5429 * swank-sbcl.lisp ([method] type-specifier-arglist): Make use of
5430 recently introduced SB-INTROSPECT:DEFTYPE-LAMBDA-LIST.
5431
5432 2009-01-01 Tobias C. Rittweiler <tcr@freebits.de>
5433
5434 * swank-loader.lisp (*contribs*): Add `swank-sbcl-exts'.
5435
5436 2009-01-01 Tobias C. Rittweiler <tcr@freebits.de>
5437
5438 * slime.el (slime-eval-async, slime-dispatch-event): Canoncalize
5439 return value. Previously they returned an arbitrary value which
5440 was displayed to the minibuffer due to a bug in slime-autodoc. The
5441 arbitrariness of the return value made debugging this a chore.
5442
5443 2009-01-01 Helmut Eller <heller@common-lisp.net>
5444
5445 * swank-openmcl.lisp (frame-source-location-for-emacs)
5446 (pc-source-location): Fall back to the source-note of the function
5447 if there is no source-note for a pc offset.
5448
5449 2009-01-01 Helmut Eller <heller@common-lisp.net>
5450
5451 For buffers without filename, map the name of the tempfile back to
5452 the buffer name.
5453
5454 * swank-openmcl.lisp (*temp-file-map*): New variable.
5455 (note-temp-file): New function.
5456 (compile-temp-file, source-note-to-source-location): Use it.
5457
5458 2009-01-01 Helmut Eller <heller@common-lisp.net>
5459
5460 * swank.lisp (sleep-for): New function
5461 * slime.el ([test] break): Use SWANK::SLEEP-FOR to help CCL pass
5462 this test.
5463 ([test] arglist): Update arglist of
5464 swank::compile-string-for-emacs.
5465 ([rest] find-definition.2): Allow some whitespace before the actual
5466 position. Otherwise, CCL would fail on this test.
5467
5468 2008-12-31 Helmut Eller <heller@common-lisp.net>
5469
5470 * swank.lisp (maybe-redirect-global-io): Don't consider
5471 connections without streams.
5472 (*new-connection-hook*): Don't add MAYBE-REDIRECT-GLOBAL-IO.
5473 (create-repl): Call MAYBE-REDIRECT-GLOBAL-IO here.
5474
5475 2008-12-31 Helmut Eller <heller@common-lisp.net>
5476
5477 * swank-openmcl.lisp ([method] source-locations (symbol)): Drop
5478 the unused _; the compiler dosn't like it.
5479
5480 2008-12-31 Helmut Eller <heller@common-lisp.net>
5481
5482 * slime.el (slime-cd, slime-pwd): New commands.
5483 (slime-change-directory): New function.
5484 (slime-change-directory-hooks): New hook.
5485
5486 2008-12-31 Helmut Eller <heller@common-lisp.net>
5487
5488 * slime.el ([test] find-definition.2): Also fails for Lispworks.
5489 ([test] interrupt-at-toplevel, [test] interrupt-in-debugger): Those
5490 don't work well if there's no REPL thread.
5491
5492 * swank-backend.lisp (wait-for-input, wait-for-one-stream): Don't
5493 use PEEK-CHAR because we can't interrupt that cleanly.
5494 * swank.lisp (simple-serve-requests): Run the REPL inside
5495 WITH-CONNECTION.
5496 * swank-lispworks.lisp (emacs-connected): Don't install the signal
5497 handler here ...
5498 (install-sigint-handler): ... use this instead
5499
5500 2008-12-30 Tobias C. Rittweiler <tcr@freebits.de>
5501
5502 As of now, `C-u C-c C-c' compiled a function with maximum debug
5503 settings (SBCL only.)
5504
5505 Now, `M-- C-c C-c' will compile a function with maximum _speed_
5506 settings (still SBCL only) --- useful to elicit compiler notes.
5507
5508 * slime.el (slime-compilation-debug-level): Renamed to
5509 `slime-compilation-policy'.
5510 (slime-normalize-optimization-level): Renamed to
5511 `slime-compute-policy'.
5512
5513 * swank.lisp (compile-string-for-emacs): Takes a policy now.
5514 (compile-multiple-strings-for-emacs): Ditto.
5515
5516 * swank-backend.lisp (swank-compile-string): Change :DEBUG key arg
5517 to :POLICY.
5518
5519 * swank-scl.lisp, swank-openmcl.lisp, swank-lispworks.lisp
5520 * swank-ecl.lisp, swank-corman.lisp, swank-cmucl.lisp,
5521 * swank-clisp.lisp, swank-allegro.lisp, swank-sbcl.lisp:
5522
5523 Changed accordingly.
5524
5525 2008-12-29 Helmut Eller <heller@common-lisp.net>
5526
5527 * swank-openmcl.lisp (find-definitions, source-locations): Use
5528 ccl:find-definition-sources.
5529 (swank-compile-string, compile-temp-file): Use new parameters to
5530 compile-file to adjust source locations.
5531
5532 2008-12-28 Helmut Eller <heller@common-lisp.net>
5533
5534 Recent CCLs support much better source location recording.
5535 Let's use the new features in SLIME.
5536
5537 * swank-openmcl.lisp (function-source-location): Use
5538 ccl:function-source-note.
5539 (pc-source-location): New function, based on
5540 ccl:find-source-note-at-pc.
5541 (frame-source-location-for-emacs): Use it.
5542
5543 2008-12-27 Helmut Eller <heller@common-lisp.net>
5544
5545 * slime.el: Move slime-lisp-package and
5546 slime-lisp-package-prompt-string to slime-repl.el
5547
5548 * swank.lisp (create-repl): Return initial package and prompt.
5549
5550 2008-12-25 Helmut Eller <heller@common-lisp.net>
5551
5552 Don't restore window configs in sldb.
5553 That doesn't work in the native repl, because output
5554 may have moved point.
5555
5556 * slime.el (sldb-setup, sldb-exit): Use temp buffer code.
5557 (slime-display-popup-buffer): Don't overwrite existing
5558 variables.
5559 (slime-close-popup-window): Factored out from
5560 slime-popup-buffer-quit.
5561 (slime-save-local-variables): New macro.
5562 (sldb-maybe-kill-buffer, sldb-saved-window-configuration): Deleted.
5563
5564 2008-12-23 Helmut Eller <heller@common-lisp.net>
5565
5566 * swank.lisp (connection.env): New slot. To hold dynamic variable
5567 bindings for this connection.
5568 (with-io-redirection): Use it.
5569 (create-repl): New function. Currently only redirects IO for the
5570 connection. Could potentially be used to create multiple
5571 listeners, each with a set of streams and corresponding buffers.
5572 (*redirect-io*, maybe-call-with-io-redirection)
5573 (call-with-redirected-io): Deleted.
5574
5575 2008-12-23 Helmut Eller <heller@common-lisp.net>
5576
5577 Move most of the REPL mode to contrib.
5578 Disable some commands that depend on the
5579 existence of a REPL buffer.
5580
5581 2008-12-23 Helmut Eller <heller@common-lisp.net>
5582
5583 * slime.el (slime-set-connection-info): Don't create a repl
5584 buffer.
5585 (slime-start-lisp): Bind process-connection-type to nil to avoid
5586 problems witht CLISPs readline code.
5587
5588 * swank.lisp (read-non-blocking, make-repl-input-stream)
5589 (simple-repl): New functions.
5590 (simple-serve-requests): Use it.
5591
5592 * swank-backend.lisp (wait-for-one-stream, wait-for-streams): New
5593 functions.
5594 (wait-for-input): Use it to support wainting on multiple streams.
5595
5596 * swank-cmucl.lisp (to-fd-stream): New function.
5597 (wait-for-input): Use it.
5598
5599 2008-12-23 Helmut Eller <heller@common-lisp.net>
5600
5601 * slime.el (slime-run-mode-hooks): Wrapper for Emacs21.
5602 (slime-repl-mode): Use it.
5603 Reported by Peter Denno.
5604
5605 2008-12-23 Sven Van Caekenberghe <sven@beta9.be>
5606
5607 * swank.lisp (connection): Add a slot to store the
5608 auto-flush-thread.
5609 (cleanup-connection-threads): Also kill the auto-flush-thread.
5610
5611 (stop-server): list-threads returns the thread name in second
5612 position and not in first position.
5613
5614 2008-12-23 Willem Broekema <metawilm@gmail.com>
5615
5616 * slime.el (sldb-insert-restarts): Make the space before each
5617 restart also propertized, consistent with how each line in the
5618 backtrace is fully sensitive.
5619
5620 2008-12-09 Helmut Eller <heller@common-lisp.net>
5621
5622 Reset the stream column to 0 after eval requests.
5623
5624 * swank.lisp (interactive-eval, eval-region): Use FRESH-LINE
5625 to reset the stream column.
5626 * slime.el (test repl-test): Adjust test accordingly.
5627
5628 2008-12-09 Helmut Eller <heller@common-lisp.net>
5629
5630 Be a bit more careful when computing the toplevel restart.
5631
5632 * swank.lisp (throw-to-toplevel): Test *sldb-quit-restart* for
5633 nilness.
5634 * sldb-quit (sldb-quit): Show the returned value in brackets.
5635
5636 2008-12-09 Helmut Eller <heller@common-lisp.net>
5637
5638 Make the modeline a bit shorter.
5639
5640 * slime.el (slime-compute-modeline-string): Remove PKG: and CON:
5641 to save space.
5642 (slime-compute-modeline-connection-state): Don't include zeros.
5643
5644 2008-12-09 David Reitter <david.reitter@gmail.com>
5645
5646 * slime.el (slime-repl-mode): Use `run-mode-hooks' rather than
5647 just `run-hooks'. That way, after-change-major-mode-hook is
5648 called automatically.
5649
5650 2008-12-07 Nikodemus Siivola <nikodemus@random-state.net>
5651
5652 * slime.el (slime-qualify-cl-symbol-name): Clean up the package
5653 name using `slime-pretty-package-name', so that packages named with
5654 strings are not left with the extra doublequotes.
5655
5656 2008-12-05 Tobias C. Rittweiler <tcr@freebits.de>
5657
5658 * slime.el (slime-macroexpansion-minor-mode-map): Bind keybindings
5659 of `undo' to `slime-macroexpansion-undo'.
5660 (slime-show-macroexpansion): Renamed to
5661 `slime-initialize-macroexpansion-buffer'
5662 (slime-initialize-macroexpansion-buffer): Make sure that the user
5663 can't undo past the initial insertion.
5664 (slime-macroexpand-undo): New function. Tries to undo-only.
5665
5666 2008-12-05 Tobias C. Rittweiler <tcr@freebits.de>
5667
5668 * slime.el (slime-trace-query): SPEC argument can be a symbol.
5669
5670 2008-12-02 Tobias C. Rittweiler <tcr@freebits.de>
5671
5672 * slime.el (slime-compute-modeline-connection-state): Fix
5673 computation of debugged requests.
5674
5675 2008-11-30 Gábor Melis <mega@retes.hu>
5676
5677 * slime.el (slime-compute-modeline-connection-state): Print the
5678 number of debugged requests if non-zero.
5679 (slime-connection-state-as-string): Removed unused branches.
5680 (slime-compute-connection-state): Removed :debugged branch making
5681 most likely return :connected instead.
5682
5683 2008-12-02 Tobias C. Rittweiler <tcr@freebits.de>
5684
5685 Modeline wouldn't display {debugged..} after `slime-interrupt'.
5686
5687 * slime.el (slime-debugged-connection-p): Can't rely on
5688 `sldb-debugged-continuations' to be non-null in every SLDB buffer.
5689
5690 2008-11-23 Helmut Eller <heller@common-lisp.net>
5691
5692 `q' in temp buffers should only delete the window if it was newly
5693 created for the buffer.
5694
5695 * slime.el (slime-display-popup-buffer): New function. Recognize
5696 if the window didn't exist before. Save the created window and
5697 the selected window in buffer local variables.
5698 (slime-make-popup-buffer): Renamed from slime-popup-buffer.
5699 (slime-popup-buffer-quit): Delete the created window (if needed)
5700 and restore the old selected window. Don't touch other windows.
5701
5702 (slime-edit-value-callback): Calling lisp-mode deletes all local
5703 variables. We need to that inside with-popup-buffer.
5704
5705 2008-11-22 Helmut Eller <heller@common-lisp.net>
5706
5707 * slime.el (slime-update-all-modelines): Only walk through
5708 widnow-list not buffer-list.
5709 (slime-restart-or-init-modeline-update-timer): Inrease the timer
5710 interval to 0.5 seconds.
5711
5712 2008-11-22 Gábor Melis <mega@retes.hu>
5713
5714 Reincarnate "eval..." (almost)
5715
5716 * slime.el (slime-compute-modeline-connection-state): Return the
5717 number of outstanding requests if connected.
5718 (slime-update-all-modelines): Renamed from slime-update-modelines,
5719 loops through all slime buffers.
5720 (slime-restart-or-init-modeline-update-timer): New function.
5721 (slime-dispatch-event): Arrange for modelines to be updated on
5722 :EMACS-REX and :RETURN.
5723
5724 2008-11-22 Helmut Eller <heller@common-lisp.net>
5725
5726 * swank.lisp (invoke-default-debugger): New condition type.
5727 (swank-debugger-hook): Handle invoke-default-debugger conditions.
5728 (sldb-break-with-default-debugger): Signal invoke-default-debugger
5729 to transfer control to the default debugger.
5730 New argument DONT-UNWIND to invoke the native debugger without
5731 unwinding the stack.
5732 * slime.el (sldb-break-with-default-debugger): By default,
5733 unwind the stack before invoke the native debugger.
5734 With prefix argument, run the native debugger in the
5735 dynamic environment of SLDB.
5736
5737 2008-11-02 Helmut Eller <heller@common-lisp.net>
5738
5739 * slime.el ([test] package-updating): Allegro returns "||" as
5740 prompt for the keyword package. I guess that's acceptable.
5741
5742 2008-11-02 Helmut Eller <heller@common-lisp.net>
5743
5744 * slime.el (slime-popup-buffer-quit): Always delete windows and
5745 bury the buffer.
5746
5747 2008-11-02 Helmut Eller <heller@common-lisp.net>
5748
5749 * swank-backend.lisp (slime-interrupt-queued): New condition.
5750 * swank.lisp (invoke-or-queue-interrupt): Raise it here.
5751 * swank-cmucl.lisp (wait-for-input): Make fd readable in condition
5752 handler so that we can call serve-events without timeout.
5753
5754 2008-11-02 Helmut Eller <heller@common-lisp.net>
5755
5756 * slime.el ([test] find-definition.2, [test] compile-defun):
5757 Expect to fail for CCL.
5758
5759 2008-10-31 Helmut Eller <heller@common-lisp.net>
5760
5761 * slime.el (slime-repl-history-pattern): Simplify as suggested by
5762 Knut Olav Bøhmer and Michael Weber.
5763
5764 2008-10-31 Helmut Eller <heller@common-lisp.net>
5765
5766 * slime.el (slime-eval-with-transcript)
5767 (slime-eval-with-transcript-cont): Restore the current buffer,
5768 before calling cont.
5769
5770 2008-10-31 Helmut Eller <heller@common-lisp.net>
5771
5772 * swank-lispworks.lisp (describe-function): Don't use
5773 string-upcase on lambda-list-argruments, because not all elements
5774 must be symbols.
5775
5776 2008-10-31 Helmut Eller <heller@common-lisp.net>
5777
5778 * swank.lisp (debug-in-emacs): Bind *sldb-quit-restart* here. If
5779 necessary, use the current abort retstart.
5780
5781 2008-10-30 Helmut Eller <heller@common-lisp.net>
5782
5783 * swank-sbcl.lisp (wait-for-input): Return streams which are at
5784 EOF.
5785
5786 2008-10-30 Helmut Eller <heller@common-lisp.net>
5787
5788 * slime.el (slime-popup-buffer-quit): Call bury-buffer with
5789 explicit argument for compatibility with XEmacs.
5790
5791 2008-10-30 Ivan Shvedunov <ivan4th@gmail.com>
5792
5793 * slime.el (slime-repl-history-pattern): Use the part of input
5794 between its start and (point) as history search pattern.
5795 Previously we used the entire input.
5796
5797 2008-10-26 Helmut Eller <heller@common-lisp.net>
5798
5799 * test.sh: Return the number of failed tests as exit code.
5800
5801 * slime.el: Fix change from 2008-10-20.
5802 Use (eval-when (compile)...) instead of (eval-when-compile ...),
5803 because the latter is more like (eval-when (compile eval) ...).
5804
5805 2008-10-23 Helmut Eller <heller@common-lisp.net>
5806
5807 * slime.el (slime-redirect-inferior-output): New command.
5808
5809 2008-10-21 Helmut Eller <heller@common-lisp.net>
5810
5811 * swank-allegro.lisp (frame-restartable-p): Handle errors signaled
5812 by debugger:frame-retryable-p. This looks like an Allegro
5813 bug, though. Reported by Luke Hope.
5814
5815 2008-10-20 Helmut Eller <heller@common-lisp.net>
5816
5817 * slime.el: Require some packages, e.g. apropos, at compile time
5818 to suppress some "undefined function" warnings.
5819
5820 2008-10-19 Helmut Eller <heller@common-lisp.net>
5821
5822 * swank.lisp (frame-locals-and-catch-tags): New function.
5823 Fetch locals and catch tags with a single RPC.
5824
5825 * slime.el (sldb-frame-details): Use it.
5826
5827 * swank-backend.lisp (frame-catch-tags): Provide a default
5828 implementation. Delete the dummy defs in various backends.
5829
5830 2008-10-19 Mark Evenson <evenson@panix.com>
5831
5832 * swank-abcl.lisp (handle-compiler-warning): Report source
5833 location position when we can.
5834 Use NAMESTRING for *compile-filename*.
5835
5836 2008-10-19 Helmut Eller <heller@common-lisp.net>
5837
5838 * swank-clisp.lisp (filename-to-pathname, parse-cygwin-filename):
5839 Accept Windows and Unix filenames when :CYGWIN is in *features*.
5840
5841 2008-10-17 Helmut Eller <heller@common-lisp.net>
5842
5843 * swank-sbcl.lisp (swank-compile-file): Fix typo.
5844
5845 2008-10-17 Helmut Eller <heller@common-lisp.net>
5846
5847 * swank-backend.lisp (compute-sane-restarts): Deleted. Use plain
5848 compute restarts instead.
5849
5850 2008-10-17 Helmut Eller <heller@common-lisp.net>
5851
5852 * swank.lisp (call-with-retry-restart): Implement this a little
5853 less confusing.
5854
5855 2008-10-17 Helmut Eller <heller@common-lisp.net>
5856
5857 * swank-backend.lisp (frame-restartable-p): New function.
5858 (swank-frame): Deleted. Update implemenetations accordingly.
5859 (print-frame): Renamed back from print-swank-frame.
5860
5861 * swank.lisp (backtrace): Don't clutter the backtrace with
5862 '(:restartable :unknown). For practical purposes :unknown is the
5863 same as nil.
5864
5865 * slime.el (sldb-compute-frame-face): Only accept nil or t for
5866 the :restartable prop.
5867
5868 2008-10-16 Helmut Eller <heller@common-lisp.net>
5869
5870 * swank-backend.lisp (swank-compile-file): Return the same
5871 values as COMPILE-FILE. Update backends accordingly.
5872
5873 * swank-lispworks.lisp (with-swank-compilation-unit): Return the
5874 values of BODY.
5875 (compile-from-temp-file)
5876 * swank-allegro.lisp (compile-from-temp-file)
5877 * swank-clisp.lisp (swank-compile-string)
5878 * swank-abcl.lisp (swank-compile-string): Return T on success.
5879 * swank.lisp (collect-notes): Check return type of
5880 FUNCTION.
5881
5882 2008-10-16 Helmut Eller <heller@common-lisp.net>
5883
5884 * swank-openmcl.lisp (frame-catch-tags): Disabled as it prevents
5885 FRAME-LOCALS from working in lx8632.
5886
5887 2008-10-10 Nikodemus Siivola <nikodemus@random-state.net>
5888
5889 * slime.el (slime-inspector-toggle-verbose): New function.
5890 (slime-inspector-mode-map): Bind v to slime-inspector-toggle-verbose.
5891 (slime-cheat-sheet-table): Add slime-inspector-toggle-verbose.
5892 * swank.lisp (*inspector-verbose*): New variable.
5893 ([defstruct] istate): New slot called verbose.
5894 (istate>elisp): If the current istate is verbose, use untruncated
5895 result of TO-STRING as the title.
5896 (inspect-nth-part): Use the verbosity of the current istate.
5897 * doc/slime.texi: Document slime-inspector-toggle-verbose.
5898
5899 2008-10-07 Nikodemus Siivola <nikodemus@random-state.net>
5900
5901 * swank.lisp (*backtrace-printer-bindings*): export.
5902
5903 2008-10-05 Helmut Eller <heller@common-lisp.net>
5904
5905 * swank-cmucl.lisp (list-callers): Do a full GC before calling
5906 map-allocated-objects. That's needed because map-allocated-objects
5907 seems to cons even if it's inlined.
5908 (emacs-inspect [code-component]): Try to detect
5909 byte-code-components.
5910
5911 (inspect-alien-record, mv-function-end-breakpoint-values): Avoid
5912 compiler warnigns.
5913
5914 2008-10-04 Tobias C. Rittweiler <tcr@freebits.de>
5915
5916 * swank-sbcl.lisp: Add support for WHO-SPECIALIZES. This requires
5917 a patch for SBCL's SB-INTROSPECT contrib which I sent upstream a
5918 few minutes ago.
5919
5920 2008-10-04 Helmut Eller <heller@common-lisp.net>
5921
5922 Some cleanups for compilation commands.
5923
5924 * slime.el ([defstruct] slime-compilation-result): Rename result
5925 slot as successp.
5926 (slime-make-compilation-finished-continuation): Deleted.
5927 slime-eval-async preserves the current buffer and preserving the
5928 window-configuration was always a questionable feature.
5929 (slime-compilation-finished): Simplified.
5930 (slime-show-note-counts): Also show the success/failure flag.
5931 (slime-recompile-locations): Take a continuation as argument
5932 rather than messing around with compilation-finished-hooks.
5933 (slime-aggregate-compilation-results): New function.
5934 (slime-xref-recompilation-cont): Renamed from
5935 slime-make-xref-recompilation-cont.
5936 (slime-compiler-results): Deleted.
5937 (slime-goto-first-note-after-compilation): Replaced with hook
5938 function slime-goto-first-note.
5939 (slime-compilation-just-finished): Deleted.
5940 (slime-to-lisp-filename-function): Use convert-standard-filename.
5941 * swank.lisp ([defstruct] compilation-result): Renamed from
5942 swank-compilation-result.
5943 (measure-time-interval): Return seconds as float.
5944 (collect-notes): Renamed from swank-compiler. Return a single
5945 compilation-result.
5946 (compile-multiple-strings-for-emacs): Return a list of
5947 compilation-results instead of a single result with merged notes.
5948
5949 * swank-backend.lisp (filename-to-pathname): Renamed from
5950 parse-emacs-filename. Updated callers.
5951 (pathname-to-filename): New function. Use it where appropriate.
5952
5953 * swank-scl.lisp (pathname-to-filename): Implement it in the
5954 backend to get rid of the #+scl in swank.lisp.
5955
5956 * swank-cmucl.lisp (swank-compile-file, swank-compile-string):
5957 Return t on success.
5958
5959 2008-10-04 Alain Picard <Alain.Picard@accenture.com>
5960
5961 UTF-8 support for Lispworks.
5962
5963 * swank-lispworks.lisp (accept-connection): Use flexi-streams
5964 for utf-8.
5965 (make-flexi-stream): New function.
5966 (*temp-file-format*): New variable
5967 (compile-from-temp-file): Use it.
5968
5969 2008-09-28 Tobias C. Rittweiler <tcr@freebits.de>
5970
5971 * slime.el (slime-list-compiler-notes): Revert change from
5972 2008-08-15 which introduced automatic shrinkage of the
5973 compiler-notes buffer. This turned out to be more annoying than
5974 worthwhile. On the cases where it's desired, the user can just use
5975 `C-x -' himself to shrink the notes buffer.
5976
5977 2008-09-28 Helmut Eller <heller@common-lisp.net>
5978
5979 Stop handling events in worker threads after sldb-quit.
5980
5981 * swank.lisp (with-top-level-restart): New macro.
5982 (handle-requests, spawn-worker-thread): Use it.
5983 (process-requests): Drop the just-one argument.
5984 (handle-or-process-requests): Deleted. Call handle-requests
5985 directly.
5986
5987 2008-09-27 Tobias C. Rittweiler <tcr@freebits.de>
5988
5989 Improve ECL's arglist support somewhat.
5990
5991 * swank-ecl.lisp (grovel-docstring-for-arglist): New function.
5992 (arglist): Use it. Now also try to find an arglist for special
5993 operators, and macros.
5994
5995 2008-09-26 Tobias C. Rittweiler <tcr@freebits.de>
5996
5997 * slime.el (slime-cycle-connections): Do not make the new
5998 connection buffer-local if we're currently in a REPL buffer.
5999
6000 2008-09-24 Knut Olav Bøhmer <knut-olav.bohmer@telenor.com>
6001
6002 * slime.el (slime-cycle-connections): New command.
6003
6004 2008-09-24 Helmut Eller <heller@common-lisp.net>
6005
6006 * slime.el (slime-prefix-map): New keymap.
6007 (slime-define-key): Use it. Also drop unused :inferior arg.
6008 (slime-inspector-mode-map): Bind C-c to slime-prefix-map.
6009 (slime-define-both-key-bindings): New function. Factor of
6010 slime-init-keymaps.
6011 (slime-init-keymaps): Use it.
6012 (slime-control-modified-char): Deleted.
6013
6014 2008-09-23 Douglas Crosher <dcrosher@common-lisp.net>
6015
6016 * swank-scl.lisp: update for Scieneer CL 1.3.8.
6017
6018 * swank.lisp (ed-in-emacs): customize for the SCL.
6019
6020 * swank.lisp (signal-interrupt): fix typo.
6021
6022 2008-09-22 Nikodemus Siivola <nikodemus@random-state.net>
6023
6024 * swank.lisp (guess-package): Return NIL if string designator is
6025 NIL: makes files without IN-PACKAGE forms more *BREAK-ON-SIGNALS*
6026 friendly.
6027
6028 2008-09-22 Helmut Eller <heller@common-lisp.net>
6029
6030 * swank-sbcl.lisp (wait-for-input): Implement this in backend,
6031 since read-char-no-hang doesn't work in fd-handlers.
6032 (install-sigint-handler): Go through invoke-interruption and
6033 with-interrupts to support nested interrupts.
6034
6035 * slime.el (slime-lisp-implementations): Mention :env keyword
6036 in docstring.
6037
6038 2008-09-21 Helmut Eller <heller@common-lisp.net>
6039
6040 * slime.el (slime-repl-input-end-mark): Deleted. It was always at
6041 the end of buffer. Use point-max instead.
6042 (slime-repl-eol): Removed. The usual end-of-line does the same.
6043
6044 2008-09-21 Helmut Eller <heller@common-lisp.net>
6045
6046 * slime.el (slime-eol-conversion-fixup): Return 0 (not nil) for
6047 anyting other than CRLF conventions.
6048
6049 2008-09-21 Helmut Eller <heller@common-lisp.net>
6050
6051 * swank-openmcl.lisp: Try to remove the first few internal frames
6052 from backtraces.
6053 (guess-stack-top): New function.
6054 (call-with-debugging-environment): Use it
6055
6056 (frame-arguments): Return a list instead of a string. Don't quote
6057 symbols.
6058 (source-locations): Recognize (:internal FOO) functions.
6059
6060 2008-09-21 Helmut Eller <heller@common-lisp.net>
6061
6062 * swank.lisp (*backtrace-pprint-dispatch-table*):
6063 Honor *print-escape*.
6064
6065 2008-09-20 Ariel Badichi <abadichi@bezeqint.net>
6066
6067 * slime.el (slime-with-output-end-mark):
6068 slime-repl-show-maximum-output no longer accepts any arguments.
6069
6070 2008-09-20 Helmut Eller <heller@common-lisp.net>
6071
6072 * test.sh: Parse the -S option as advertized.
6073
6074 * slime.el (slime-randomize-test-order): Add the * to the
6075 docstring.
6076 ([def-slime-test] break2): Also CCL is expected to fail here.
6077
6078 2008-09-20 Helmut Eller <heller@common-lisp.net>
6079
6080 Fix some of the bugs that I introduced with the last commits.
6081
6082 * swank-openmcl.lisp (call-with-debugging-environment): Fix typo.
6083 (call-with-debugger-hook): Bind *break-in-sldb*.
6084 (backtrace-context): Return nil, not tcr!
6085 (map-backtrace): Remove the stack< test. Only test for nil.
6086 (lisp-implementation-type-name): Return "ccl".
6087
6088 (emacs-inspect (t)): Fix typo.
6089
6090 (kill-thread): Use join-process. Otherwise we get strange
6091 "process-reset" errors when disconnecting.
6092 (thread-alive-p): Implemented with ccl::process-exhausted-p.
6093
6094 (source-locations): Use labels for helper functions.
6095 (function-source-location): Now implemented on top of
6096 source-locations.
6097
6098 2008-09-20 Helmut Eller <heller@common-lisp.net>
6099
6100 Fix frame-source-location-for-emacs for CCL.
6101
6102 * swank-openmcl.lisp (source-locations): New function.
6103 (create-source-location): New function.
6104 (frame-source-location-for-emacs): Use it.
6105
6106 2008-09-20 Helmut Eller <heller@common-lisp.net>
6107 Fix inspecting of arrays.
6108
6109 * swank-openmcl.lisp (emacs-inspect :around (t)): call-next-method
6110 may return a lazy list. Detect that case and only append to
6111 ordinary lists.
6112 (emacs-inspect (t)): Don't mark labels as inspectable. Just print
6113 them.
6114
6115 2008-09-20 Helmut Eller <heller@common-lisp.net>
6116
6117 Fix BREAK and backtraces after interrupts.
6118
6119 * swank-openmcl.lisp (*sldb-stack-top-hint*): New variable.
6120 (call-with-debugging-environment, break-in-sldb)
6121 (interrupt-thread): Use it.
6122 (*process-to-stack-top*, record-stack-top)
6123 (grab-stack-top): Deleted. Use *sldb-stack-top-hint* instead.
6124 (backtrace-context): Deleted. Use %current-tcr directly.
6125
6126 2008-09-20 Helmut Eller <heller@common-lisp.net>
6127
6128 * swank-openmcl.lisp (call-with-debugging-environment): Don't set
6129 *debugger-hook* to nil.
6130
6131 2008-09-19 Helmut Eller <heller@common-lisp.net>
6132
6133 * slime.el ([def-slime-test] break): Split it up in two versions
6134 to make the debugger-hook issue more explicit.
6135
6136 * swank-allegro.lisp (frob-allegro-field-def): There seems to be a
6137 new type :func handle it like :lisp.
6138
6139 2008-09-19 Helmut Eller <heller@common-lisp.net>
6140
6141 * slime.el (slime-save-marker): New marcro. Use it in combination
6142 with insert-before-markers.
6143 (slime-check-buffer-contents): Use {} resp. [] to describe the
6144 position of output resp. input markers.
6145
6146 (slime-repl-emit-result): Update window-point.
6147
6148 (slime-randomize-test-order): New variable.
6149 (slime-shuffle-list): New function.
6150 (slime-run-tests): Use it.
6151 (slime-batch-test): Accept test-name and randomize arguments.
6152
6153 * test.sh (usage): Accept -n and -S options.
6154
6155 2008-09-18 Tobias C. Rittweiler <tcr@freebits.de>
6156
6157 * swank-ecl.lisp: Forgot to update ECL's backend when introducing
6158 swank-frames in commit on 2008-09-12.
6159
6160 2008-09-18 Helmut Eller <heller@common-lisp.net>
6161
6162 Some cleanups for the REPL code.
6163
6164 * slime.el (slime-show-last-output)
6165 (slime-show-last-output-function)
6166 (slime-show-last-output-region)
6167 (slime-maybe-display-output-buffer)
6168 (slime-repl-last-input-start-mark): Delete unused code.
6169
6170 (slime-repl-emit-result, slime-repl-insert-prompt)
6171 (slime-repl-show-abort, slime-repl-insert-result)
6172 (slime-insert-transcript-delimiter)
6173 (slime-eval-with-transcript-cont): Consistently use save-excursion
6174 and insert-before-markers. We always want to preserve the cursor
6175 position in the input region (for type-ahead).
6176 (slime-eval-with-transcript): Change order of arguments to
6177 make the common case easier to use.
6178
6179 (slime-batch-test): Use a timer.
6180 (slime-check-buffer-contents): New function to test contents and
6181 current position. Use it in various places.
6182
6183 (sldb-recenter-region, def-slime-test interactive-eval)
6184 (def-slime-test interactive-eval-output): Act slightly differently
6185 when the test suite is executed in batch mode (without terminal).
6186
6187 * swank.lisp (handle-requests): Flush output.
6188 (interactive-eval, interactive-eval): Don't use fresh-line, as
6189 that makes it harder to test the REPL code.
6190
6191 * test.sh (usage): Add a -T switch to run slime in the current
6192 directory without copying (and compiling) everything to a
6193 temporary directory.
6194
6195 2008-09-18 Helmut Eller <heller@common-lisp.net>
6196
6197 * slime.el (slime-eval-with-transcript): Accept some more arguments
6198 so that we can also use it for compile-file.
6199 (slime-eval-with-transcript-cont): New. Insert prompt.
6200 (slime-compile-file): Use slime-eval-with-transcript.
6201 (slime-repl-show-maximum-output): Update window point.
6202 (slime-repl-insert-prompt): Don't use insert-before-markers.
6203 (slime-repl-emit): No longer use slime-with-output-end-mark.
6204
6205 2008-09-17 Tobias C. Rittweiler <tcr@freebits.de>
6206
6207 * swank-sbcl.lisp (make-definition-source-location): Fix typo
6208 introduced with crlf-related commit on 2008-09-16.
6209
6210 2008-09-17 Helmut Eller <heller@common-lisp.net>
6211
6212 * slime.el (slime-repl-popup-on-output): New variable.
6213 (slime-repl-emit): Honor slime-repl-popup-on-output.
6214 (slime-eval-with-transcript): Use slime-repl-popup-on-output.
6215 Also remove the function argument, as it was only used once
6216 and that was slime-message.
6217
6218 2008-09-17 Helmut Eller <heller@common-lisp.net>
6219
6220 (*pre-reply-hook*): Add 'force-user-output.
6221
6222 2008-09-17 Helmut Eller <heller@common-lisp.net>
6223
6224 * swank.lisp (send-user-output): Lifted from make-output-function.
6225 Make this a top-level function for easier redefinition.
6226
6227 2008-09-17 Helmut Eller <heller@common-lisp.net>
6228
6229 * slime.el (slime-test-find-top-level-restart): New function.
6230 [def-slime-test] (interrupt-at-toplevel, interrupt-in-debugger):
6231 Use it.
6232
6233 2008-09-16 Helmut Eller <heller@common-lisp.net>
6234
6235 * slime.el (slime-connection): Optionally select a new default
6236 connection.
6237 (slime-auto-select-connection): New variable.
6238 (slime-auto-select-connection): New function.
6239
6240 2008-09-16 Helmut Eller <heller@common-lisp.net>
6241
6242 Adjust positions in files with CRLF style end-on-line markers.
6243
6244 * slime.el (slime-eol-conversion-fixup): New function.
6245 (slime-goto-location-position): Use it. Also add a new position
6246 type :offset, so that we don't adjust offsets in strings that were
6247 sent over the wire (which uses LF eol-convention).
6248
6249 * swank-abcl.lisp
6250 * swank-allegro.lisp
6251 * swank-clisp.lisp
6252 * swank-cmucl.lisp
6253 * swank-corman.lisp
6254 * swank-ecl.lisp
6255 * swank-lispworks.lisp
6256 * swank-openmcl.lisp
6257 * swank-sbcl.lisp
6258 * swank-scl.lisp: Create :offset style positions where needed.
6259
6260 * swank-lispworks.lisp (skip-comments): New function.
6261 (dspec-stream-position): Use it.
6262
6263 2008-09-16 Tobias C. Rittweiler <tcr@freebits.de>
6264
6265 * slime.el (slime-end-of-list): `backward-down-list' was used
6266 there which is defined by paredit.el.
6267 Use `(down-list -1)' instead.
6268
6269 2008-09-15 Helmut Eller <heller@common-lisp.net>
6270
6271 * swank-lispworks.lisp (describe-symbol-for-emacs): Revert last
6272 change.
6273
6274 2008-09-15 Helmut Eller <heller@common-lisp.net>
6275
6276 * swank.lisp (sldb-loop): Send a :sldb-return event to ourselfes
6277 to inform the debug session at the lower level.
6278 (wait-for-event): Drop the report-interrupt argument. No longer
6279 needed.
6280 (event-match-p): Add an OR pattern operator. Used to wait for
6281 different events simultaneously.
6282
6283 (read-packet): Use peek-char to detect EOF. read-sequence wouldn't
6284 work.
6285
6286 * slime.el (slime-test-interrupt-in-debugger): Call sldb-quit and
6287 sldb-continue in the right buffer.
6288
6289 * swank-backend.lisp (wait-for-input):
6290 * swank-cmucl.lisp (wait-for-input):
6291 * swank-clisp.lisp (wait-for-input): Use the idiom
6292 "(when (check-slime-interrupts) (return :interrupt))".
6293
6294 2008-09-15 Helmut Eller <heller@common-lisp.net>
6295
6296 Interrupt related hacking.
6297
6298 * swank-backend.lisp (*pending-slime-interrupts*): Should be
6299 thread-local. Leave global value unbound.
6300
6301 * swank.lisp (with-interrupts-enabled%): New helper macro.
6302 (with-slime-interrupts, without-slime-interrupts): Use it.
6303 (call-with-connection): Bind *pending-slime-interrupts* here.
6304 (wait-for-event): Add a report-interrupt argument. Currently used
6305 by the debugger to detect when a nested debugger session, which
6306 was triggered by an interrupt in wait-for-event, returns. Doesn't
6307 work well, though.
6308
6309 * slime.el (slime-test-interrupt-in-debugger): New test.
6310
6311 2008-09-14 Helmut Eller <heller@common-lisp.net>
6312
6313 Introduce a WAIT-FOR-INPUT backend function.
6314 CMUCL's blocking input functions READ-CHAR etc.
6315 are hard to use with interrupts. In the backend
6316 we have a more realistic chance to get interrupts working.
6317
6318 * swank-backend.lisp (wait-for-input): New function.
6319
6320 * swank-cmucl.lisp, swank-clisp.lisp (wait-for-input): Implement
6321 it.
6322
6323 * swank.lisp (wait-for-event/event-loop): Use WAIT-FOR-INPUT and
6324 rescan the event-queue if WAIT-FOR-INPUT was interrupted.
6325 (reader-event): Deleted. Merged into wait-for-event/event-loop
6326 resp. dispatch-loop.
6327 (decode-message): Drop the timeout argument.
6328 (*events-enqueued*): A counter to quickly detect new events after
6329 a wait.
6330 (call-with-connection): If the argument is already the current
6331 connection, don't rebind anything.
6332 (without-slime-interrupts, with-slime-interrupts): Don't rebind
6333 *pending-slime-interrupts*. Just to be save.
6334
6335 * slime.el (sldb-maybe-kill-buffer): New function, to handle
6336 the case when the debugger was interrupted in WAIT-FOR-INPUT and
6337 we want to return to the previous debug level.
6338
6339 2008-09-12 Helmut Eller <heller@common-lisp.net>
6340
6341 For Lispworks, parse the $LWHOME/lwdoc file.
6342
6343 * swank-lispworks.lisp (lwdoc, lookup-lwdoc, parse-lwdoc-record):
6344 New functions.
6345 (describe-symbol-for-emacs): Use it.
6346
6347 2008-09-12 Tobias C. Rittweiler <tcr@freebits.de>
6348
6349 In an SLDB buffer, `C-c C-c' will now recompile the source behind
6350 a frame. In particular, `C-u C-c C-c' will recompile the frame
6351 with high debug settings.
6352
6353 * slime.el (sldb-recompile-frame-source): New function.
6354 (sldb-mode-map): Bind `C-c C-c' to it.
6355
6356 * slime.el (sldb-overlays, sldb-delete-overlays, slime-xref-cleanup):
6357 Removed. Sldb-overlays weren't created anymore since 2008-08-17.
6358
6359 2008-09-12 Tobias C. Rittweiler <tcr@freebits.de>
6360
6361 New faces: `sldb-restartable-frame-line-face',
6362 `sldb-non-restartable-frame-line-face'.
6363
6364 The former is the face for frames that are surely restartable, the
6365 latter for frames that are surely not restartable. If
6366 restartability of a frame cannot be reliably determined, the face
6367 `sldb-frame-line-face' is used.
6368
6369 At the moment, determination of frame restartability is supported
6370 by the SBCL backend only.
6371
6372 * slime.el (sldb-frame.string): New.
6373 (sldb-frame.number): New.
6374 (sldb-frame.plist): New.
6375 (sldb-prune-initial-frames): Use them.
6376 (sldb-insert-frames): Ditto.
6377 (sldb-compute-frame-face): New.
6378 (sldb-insert-frame): Use `sldb-compute-frame-face' to insert
6379 frames with one of the faces described above.
6380
6381 * swank.lisp (defslimefun backtrace): Changed return value; each
6382 frame is now accompanied with a PLIST which at the moment can
6383 contain :RESTARTABLE NIL/T/:UNKNOWN depending on whether the frame
6384 is restartable, or not.
6385
6386 * swank-backend.lisp (defstruct swank-frame): New structure.
6387 (compute-backtrace): Is now supposed to return a list of SWANK-FRAMEs.
6388 (print-frame): Renamed to PRINT-SWANK-FRAME.
6389
6390 * swank-sbcl.lisp, swank-cmucl.lisp, swank-lispworks.lisp,
6391 * swank-allegro.lisp, swank-scl.lisp, swank-openmcl.lisp,
6392 * swank-abcl.lisp, swank-clisp.lisp: Adapted to swank-backend changes.
6393
6394 2008-09-11 Helmut Eller <heller@common-lisp.net>
6395
6396 * doc/slime-refcard.tex: Fix typos.
6397
6398 2008-09-11 Gary King <gwking@metabang.com>
6399
6400 * swank-allegro.lisp (fspec-definition-locations): add declare
6401 ignores to prevent warnings
6402
6403 (emacs-inspect): remove first definition on function since it
6404 was being overwritten by the next one. Wrap the method on t with
6405 a excl:without-redefinition-warnings to prevent warning.
6406
6407 2008-09-11 Helmut Eller <heller@common-lisp.net>
6408
6409 * swank-cmucl.lisp (slime-output-stream): Remove last-flush-time
6410 slot.
6411 (sos/flush): Renamed from sos/misc-force-output. Don't try to be
6412 clever: no timestamps and no line buffering.
6413 (sos/write-char, sos/write-string): Renamed from sos/out
6414 resp. sos/sout. Call output-fn outside without-interrupts.
6415 (sos/reset-buffer): New function.
6416
6417 2008-09-11 Tobias C. Rittweiler <tcr@freebits.de>
6418
6419 * slime.el (slime-compilation-unit): Renamed to
6420 `slime-compilation-result'.
6421 (slime-last-compilation-unit): Renamed to
6422 `slime-last-compilation-result'.
6423 (slime-compiler-notes, slime-compiler-results): Adapted accordingly.
6424 (slime-compilation-finished): Ditto.
6425
6426 2008-09-11 Tobias C. Rittweiler <tcr@freebits.de>
6427