diff -r 4a46bcf358b7 -r 2ea2c4134fdf swank-ecl.lisp
--- a/swank-ecl.lisp	Wed Jul 22 13:19:59 2009 +0200
+++ b/swank-ecl.lisp	Wed Jul 22 16:00:54 2009 +0200
@@ -295,11 +295,16 @@
      (declare (ignore position))
      (if file (is-swank-source-p file)))))
 
+#+#.(swank-backend::with-symbol '+ECL-VERSION-NUMBER+ 'EXT)
 (defmacro find-ihs-top (x)
   (if (< ext:+ecl-version-number+ 90601)
       `(si::ihs-top ,x)
       '(si::ihs-top)))
 
+#-#.(swank-backend::with-symbol '+ECL-VERSION-NUMBER+ 'EXT)
+(defmacro find-ihs-top (x) 
+  `(si::ihs-top ,x))
+
 (defimplementation call-with-debugging-environment (debugger-loop-fn)
   (declare (type function debugger-loop-fn))
   (let* ((*tpl-commands* si::tpl-commands)
@@ -364,9 +369,12 @@
   (let ((functions '())
         (blocks '())
         (variables '()))
+    #+#.(swank-backend::with-symbol '+ECL-VERSION-NUMBER+ 'EXT)
     #.(if (< ext:+ecl-version-number+ 90601)
         '(setf frame (second frame))
         '(setf frame (si::decode-ihs-env (second frame))))
+    #-#.(swank-backend::with-symbol '+ECL-VERSION-NUMBER+ 'EXT)
+    '(setf frame (second frame))
     (dolist (record frame)
       (let* ((record0 (car record))
 	     (record1 (cdr record)))
@@ -474,9 +482,13 @@
               `(:position ,pos)
               `(:snippet
                 ,(with-open-file (s file)
+
+                                 #+#.(swank-backend::with-symbol '+ECL-VERSION-NUMBER+ 'EXT)
                                  (if (< ext:+ecl-version-number+ 90601)
                                      (skip-toplevel-forms pos s)
                                      (file-position s pos))
+                                 #-#.(swank-backend::with-symbol '+ECL-VERSION-NUMBER+ 'EXT)
+                                 (skip-toplevel-forms pos s)
                                  (skip-comments-and-whitespace s)
                                  (read-snippet s))))))))
    `(:error (format nil "Source definition of ~S not found" obj))))
