~ubuntu-branches/ubuntu/trusty/slime/trusty-proposed

« back to all changes in this revision

Viewing changes to swank-ecl.lisp

  • Committer: Bazaar Package Importer
  • Author(s): Peter Van Eynde, Torsten Landschoff, Peter Van Eynde
  • Date: 2009-06-17 22:38:38 UTC
  • mfrom: (1.5.1 upstream)
  • Revision ID: james.westby@ubuntu.com-20090617223838-d46ego7v4diibsj5
Tags: 1:20090616-1
[ Torsten Landschoff ]
* slime.el: Populate slime-lisp-implementations from known common
  lisp implementations on PATH (closes: #491602).

[ Peter Van Eynde ]
* New upstream. Removed xref.lisp (Closes: #527524) 
* fixed building instructions
* New upstream version. 
  Code rewrite that (Closes: #410856)
  Also fixes the swank-in-swank problem (Closes: #457648)
* Removed xref.lisp again and added a test in the makefile for it
  (Closes: #517205)
* Fixed typo in swank-loader.lisp that creates spurious warnings.
  (Closes: #477265)
* add a conflict for emacs21. xemacs. Limiting compatiblity to
  emacs22 will already be a challenge.
  (Closes: #517839, #478355)
* Move to debhelper v7 
* updated standard version without any real changes 
* use dh_prep instead of dh_clean -k
* fix debhelper dependency

Show diffs side-by-side

added added

removed removed

Lines of Context:
10
10
 
11
11
(in-package :swank-backend)
12
12
 
 
13
(declaim (optimize (debug 3)))
 
14
 
13
15
(defvar *tmp*)
14
16
 
15
17
(eval-when (:compile-toplevel :load-toplevel :execute)
283
285
     (declare (ignore position))
284
286
     (if file (is-swank-source-p file)))))
285
287
 
 
288
(defmacro find-ihs-top (x)
 
289
  (if (< ext:+ecl-version-number+ 90601)
 
290
      `(si::ihs-top ,x)
 
291
      '(si::ihs-top)))
 
292
 
286
293
(defimplementation call-with-debugging-environment (debugger-loop-fn)
287
294
  (declare (type function debugger-loop-fn))
288
295
  (let* ((*tpl-commands* si::tpl-commands)
289
 
         (*ihs-top* (ihs-top 'call-with-debugging-environment))
 
296
         (*ihs-top* (find-ihs-top 'call-with-debugging-environment))
290
297
         (*ihs-current* *ihs-top*)
291
298
         (*frs-base* (or (sch-frs-base *frs-top* *ihs-base*) (1+ (frs-top))))
292
299
         (*frs-top* (frs-top))
293
300
         (*read-suppress* nil)
294
301
         (*tpl-level* (1+ *tpl-level*))
295
 
         (*backtrace* (loop for ihs from *ihs-base* below *ihs-top*
 
302
         (*backtrace* (loop for ihs from 0 below *ihs-top*
296
303
                            collect (list (si::ihs-fun ihs)
297
304
                                          (si::ihs-env ihs)
298
305
                                          nil))))
 
306
    (declare (special *ihs-current*))
299
307
    (loop for f from *frs-base* until *frs-top*
300
308
          do (let ((i (- (si::frs-ihs f) *ihs-base* 1)))
301
309
               (when (plusp i)
312
320
 
313
321
(defimplementation call-with-debugger-hook (hook fun)
314
322
  (let ((*debugger-hook* hook)
315
 
        (*ihs-base*(si::ihs-top 'call-with-debugger-hook)))
 
323
        (*ihs-base* (find-ihs-top 'call-with-debugger-hook)))
316
324
    (funcall fun)))
317
325
 
318
326
(defimplementation compute-backtrace (start end)
346
354
  (let ((functions '())
347
355
        (blocks '())
348
356
        (variables '()))
349
 
    (dolist (record (second frame))
 
357
    #.(if (< ext:+ecl-version-number+ 90601)
 
358
        '(setf frame (second frame))
 
359
        '(setf frame (si::decode-ihs-env (second frame))))
 
360
    (dolist (record frame)
350
361
      (let* ((record0 (car record))
351
362
             (record1 (cdr record)))
352
 
        (cond ((symbolp record0)
 
363
        (cond ((or (symbolp record0) (stringp record0))
353
364
               (setq variables (acons record0 record1 variables)))
354
365
              ((not (si::fixnump record0))
355
366
               (push record1 functions))
453
464
              `(:position ,pos)
454
465
              `(:snippet
455
466
                ,(with-open-file (s file)
456
 
                                 (skip-toplevel-forms pos s)
 
467
                                 (if (< ext:+ecl-version-number+ 90601)
 
468
                                     (skip-toplevel-forms pos s)
 
469
                                     (file-position s pos))
457
470
                                 (skip-comments-and-whitespace s)
458
471
                                 (read-snippet s))))))))
459
472
   `(:error (format nil "Source definition of ~S not found" obj))))