/[slime]/slime/ChangeLog
ViewVC logotype

Contents of /slime/ChangeLog

Parent Directory Parent Directory | Revision Log Revision Log


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