/[slime]/slime/ChangeLog
ViewVC logotype

Contents of /slime/ChangeLog

Parent Directory Parent Directory | Revision Log Revision Log


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