Commits

sk  committed b8c254b

Adjusted one frame local test to use debug structures.

  • Participants
  • Parent commits dce2d31

Comments (0)

Files changed (3)

File src/org/lispdev/swank/LispValue.java

     return false;
   }
 
+  @Override
+  public String toString()
+  {
+    return value;
+  }
+
 }

File src/org/lispdev/swank/LispVariable.java

     return false;
   }
 
+  @Override
+  public String toString()
+  {
+    return name + " = " + value;
+  }
+
 }

File src/org/lispdev/swank/SwankInterfaceTest.java

   }
 
   /*
-  >>> Found default sbcl folder: /home/sk/cusp/ws/org.lispdev.swank/sbcl
-  >>> Found default sbcl folder: /home/sk/cusp/ws/org.lispdev.swank/sbcl
-  ----------------implementation:SBCL
-  ----------------slimePath:/home/sk/cusp/ws/org.lispdev.swank/slime/swank-loader.lisp
-  start
-  ----------------lispEngine:java.lang.UNIXProcess@ca0115
-  ----------------retries:1
-  ]This is SBCL 1.0.20, an implementation of ANSI Common Lisp.]More information about SBCL is available at <http://www.sbcl.org/>.]]SBCL is free software, provided as is, with absolutely no warranty.]It is mostly in the public domain; some portions are provided under]BSD-style licenses.  See the CREDITS and COPYING files in the]distribution for more information.]* ]T]* ]; loading #P"/home/sk/.slime/fasl/2008-08-14/sbcl-1.0.20-linux-x86/swank-backend.fasl"]; loading #P"/home/sk/.slime/fasl/2008-08-14/sbcl-1.0.20-linux-x86/swank-source-path-parser.fasl"]; loading #P"/home/sk/.slime/fasl/2008-08-14/sbcl-1.0.20-linux-x86/swank-source-file-cache.fasl"]; loading #P"/home/sk/.slime/fasl/2008-08-14/sbcl-1.0.20-linux-x86/swank-sbcl.fasl"]STYLE-WARNING: redefining EMACS-INSPECT (#<BUILT-IN-CLASS T>) in DEFMETHOD]STYLE-WARNING: redefining SB-THREAD::GET-FOREGROUND in DEFUN]; loading #P"/home/sk/.slime/fasl/2008-08-14/sbcl-1.0.20-linux-x86/swank-gray.fasl"]STYLE-WARNING:]   Implicitly creating new generic function STREAM-READ-CHAR-WILL-HANG-P.]; loading #P"/home/sk/.slime/fasl/2008-08-14/sbcl-1.0.20-linux-x86/swank.fasl"]WARNING: These Swank interfaces are unimplemented:] (CALLS-WHO DISASSEMBLE-FRAME SLDB-BREAK-AT-START SLDB-BREAK-ON-RETURN]            WHO-SPECIALIZES)]; loading #P"/home/sk/.slime/fasl/2008-08-14/sbcl-1.0.20-linux-x86/contrib/swank-c-p-c.fasl"]; loading #P"/home/sk/.slime/fasl/2008-08-14/sbcl-1.0.20-linux-x86/contrib/swank-arglists.fasl"]; loading #P"/home/sk/.slime/fasl/2008-08-14/sbcl-1.0.20-linux-x86/contrib/swank-fuzzy.fasl"]; loading #P"/home/sk/.slime/fasl/2008-08-14/sbcl-1.0.20-linux-x86/contrib/swank-fancy-inspector.fasl"]; loading #P"/home/sk/.slime/fasl/2008-08-14/sbcl-1.0.20-linux-x86/contrib/swank-presentations.fasl"]; loading #P"/home/sk/.slime/fasl/2008-08-14/sbcl-1.0.20-linux-x86/contrib/swank-presentation-streams.fasl"]WARNING: change in instance length of class PRETTY-STREAM:]  current length: 25]  new length: 27]STYLE-WARNING: redefining MAKE-PRETTY-STREAM in DEFUN]STYLE-WARNING: redefining MAYBE-OUTPUT in DEFUN]STYLE-WARNING: redefining OUTPUT-LINE in DEFUN]STYLE-WARNING: redefining OUTPUT-PARTIAL-LINE in DEFUN]STYLE-WARNING: redefining FORCE-PRETTY-OUTPUT in DEFUN]; loading #P"/home/sk/.slime/fasl/2008-08-14/sbcl-1.0.20-linux-x86/contrib/swank-asdf.fasl"]; loading #P"/home/sk/.slime/fasl/2008-08-14/sbcl-1.0.20-linux-x86/contrib/swank-package-fu.fasl"]NIL;; SWANK: sb-thread::get-foreground ...];; Swank started at port: 4005.]* ]4005;; SWANK: sb-thread::get-foreground ...----------------connected
-  -->(:emacs-rex (swank:listener-eval "(defun f (x) (+ 2 (g x)))
+----------------lispEngine:java.lang.ProcessImpl@15e2075
+]This is SBCL 1.0.19, an implementation of ANSI Common Lisp.
+]More information about SBCL is available at <http://www.sbcl.org/>.
+]
+]SBCL is free software, provided as is, with absolutely no warranty.
+]It is mostly in the public domain; some portions are provided under
+]BSD-style licenses.  See the CREDITS and COPYING files in the
+]distribution for more information.
+]
+]This is experimental prerelease support for the Windows platform: use
+]at your own risk.  "Your Kitten of Death awaits!"
+]*
+]; loading #P"C:\\Users\\sk\\.slime\\fasl\\2008-08-14\\sbcl-1.0.19-win32-x86\\swank-backend.fasl"
+]; loading #P"C:\\Users\\sk\\.slime\\fasl\\2008-08-14\\sbcl-1.0.19-win32-x86\\swank-source-path-parser.fasl"
+]; loading #P"C:\\Users\\sk\\.slime\\fasl\\2008-08-14\\sbcl-1.0.19-win32-x86\\swank-source-file-cache.fasl"
+]; loading #P"C:\\Users\\sk\\.slime\\fasl\\2008-08-14\\sbcl-1.0.19-win32-x86\\swank-sbcl.fasl"
+]STYLE-WARNING: redefining EMACS-INSPECT (#<BUILT-IN-CLASS T>) in DEFMETHOD
+]; loading #P"C:\\Users\\sk\\.slime\\fasl\\2008-08-14\\sbcl-1.0.19-win32-x86\\swank-gray.fasl"
+]STYLE-WARNING:
+]   Implicitly creating new generic function STREAM-READ-CHAR-WILL-HANG-P.
+]; loading #P"C:\\Users\\sk\\.slime\\fasl\\2008-08-14\\sbcl-1.0.19-win32-x86\\swank.fasl"
+]WARNING: These Swank interfaces are unimplemented:
+] (ALL-THREADS CALLS-WHO DISASSEMBLE-FRAME INTERRUPT-THREAD RECEIVE-IF
+]              SAVE-IMAGE SEND SLDB-BREAK-AT-START SLDB-BREAK-ON-RETURN SPAWN
+]              WHO-SPECIALIZES)
+]; loading #P"C:\\Users\\sk\\.slime\\fasl\\2008-08-14\\sbcl-1.0.19-win32-x86\\contrib\\swank-c-p-c.fasl"
+]; loading #P"C:\\Users\\sk\\.slime\\fasl\\2008-08-14\\sbcl-1.0.19-win32-x86\\contrib\\swank-arglists.fasl"
+]; loading #P"C:\\Users\\sk\\.slime\\fasl\\2008-08-14\\sbcl-1.0.19-win32-x86\\contrib\\swank-fuzzy.fasl"
+]; loading #P"C:\\Users\\sk\\.slime\\fasl\\2008-08-14\\sbcl-1.0.19-win32-x86\\contrib\\swank-fancy-inspector.fasl"
+]; loading #P"C:\\Users\\sk\\.slime\\fasl\\2008-08-14\\sbcl-1.0.19-win32-x86\\contrib\\swank-presentations.fasl"
+]; loading #P"C:\\Users\\sk\\.slime\\fasl\\2008-08-14\\sbcl-1.0.19-win32-x86\\contrib\\swank-presentation-streams.fasl"
+]WARNING: change in instance length of class PRETTY-STREAM:
+]  current length: 25
+]  new length: 27
+]STYLE-WARNING: redefining MAKE-PRETTY-STREAM in DEFUN
+]STYLE-WARNING: redefining MAYBE-OUTPUT in DEFUN
+]STYLE-WARNING: redefining OUTPUT-LINE in DEFUN
+]STYLE-WARNING: redefining OUTPUT-PARTIAL-LINE in DEFUN
+]STYLE-WARNING: redefining FORCE-PRETTY-OUTPUT in DEFUN
+]; loading #P"C:\\Users\\sk\\.slime\\fasl\\2008-08-14\\sbcl-1.0.19-win32-x86\\contrib\\swank-asdf.fasl"
+]; loading #P"C:\\Users\\sk\\.slime\\fasl\\2008-08-14\\sbcl-1.0.19-win32-x86\\contrib\\swank-package-fu.fasl"
+]NIL
+];; Swank started at port: 4005.
+----------------connected
+-->(:emacs-rex (swank:connection-info) nil :repl-thread 2)
+<--(:indentation-update (("without-package-locks" . 0) ("with-timeout" . 1) ("define-source-context" . 2) ("with-unlocked-packages" . 1) ("with-locked-hash-table" . 1) ("with-unique-names" . 1) ("defun-cached" . 2) ("with-sane-io-syntax" . 0) ("once-only" . 1) ("with-rebound-io-syntax" . 0) ("defmacro-mundanely" . 2) ("awhen" . 1) ("define-function-name-syntax" . 2) ("dohash" . 1) ("named-lambda" . 2) ("dovector" . 1) ("binding*" . 1) ("with-float-traps-masked" . 1) ("named-let" . 2) ("do-info" . 1) ("prepare-for-fast-read-byte" . 1) ("dx-flet" . 1) ("prepare-for-fast-read-char" . 1) ("dx-let" . 1) ("collect" . 1) ("maybe-pseudo-atomic" . 1) ("with-cycle-counter" . 0) ("with-empty-tn@fp-top" . 1) ("with-tn@fp-top" . 1) ("with-fixed-allocation" . 1) ("descend-into" . 1) ("with-single-package-locked-error" . 1) ("with-circularity-detection" . 1) ("number-dispatch" . 1) ("with-local-interrupts" . 0) ("allow-with-interrupts" . 0) ("without-gcing" . 0) ("with-deadline" . 1) ("without-interrupts" . 0) ("with-interrupts" . 0) ("with-pinned-objects" . 1) ("with-active-processes-lock" . 1) ("def-output-routines" . 1) ("with-default-decoding-replacement" . 1) ("with-c-strvec" . 1) ("with-stepping-enabled" . 0) ("define-sequence-traverser" . 2) ("output-wrapper" . 1) ("string-dispatch" . 2) ("with-finalizer-store-lock" . 0) ("with-pathname" . 1) ("with-available-buffers-lock" . 1) ("with-stepping-disabled" . 0) ("with-host" . 1) ("with-symbol" . 1) ("with-push-char" . 1) ("lambda-with-lexenv" . 3) ("with-hash-table-locks" . 1) ("def-output-routines/variable-width" . 1) ("with-reader" . 1) ("input-wrapper" . 1) ("with-packages" . 1) ("with-standard-replacement-character" . 0) ("with-native-pathname" . 1) ("with-descriptor-handlers" . 0) ("input-wrapper/variable-width" . 1) ("output-wrapper/variable-width" . 1) ("with-concurrent-access-check" . 2) ("with-scheduler-lock" . 1) ("handling-end-of-the-world" . 0) ("do-debug-block-locations" . 1) ("do-debug-fun-vars" . 1) ("do-debug-fun-blocks" . 1) ("maybe-with-pinned-objects" . 2) ("define-alien-type-translator" . 2) ("bind-fast-lexical-method-functions" . 1) ("pv-binding" . 1) ("dolist-carefully" . 1) ("bind-args" . 1) ("with-dfun-wrappers" . 3) ("simple-lexical-method-functions" . 1) ("with-pcl-lock" . 0) ("doplist" . 2) ("with-type-checked" . 1) ("pv-binding1" . 1) ("dotimes-fixnum" . 1) ("dfun-miss" . 1) ("fast-lexical-method-functions" . 1) ("bind-simple-lexical-method-functions" . 1) ("with-alien" . 1) ("define-alien-callback" . 3) ("alien-lambda" . 2) ("with-auxiliary-alien-types" . 1) ("define-instruction-macro" . 2) ("without-scheduling" . 1) ("assemble" . 1) ("do-sset-elements" . 1) ("note-dependencies" . 1) ("with-modified-segment-index-and-posn" . 1) ("sc-case" . 1) ("deftransform" . 2) ("define-vop" . 1) ("with-source-location" . 1) ("define-source-transform" . 2) ("defoptimizer" . 2) ("defknown" . 4) ("source-transform-lambda" . 1) ("define-move-fun" . 3) ("define-assembly-routine" . 2) ("def-ir1-translator" . 2) ("with-component-last-block" . 1) ("define-internal-pcl-function-name-syntax" . 1) ("do-nodes-carefully" . 1) ("do-ir2-blocks" . 1) ("with-fun-name-leaf" . 1) ("do-blocks" . 1) ("with-ir1-namespace" . 0) ("with-compilation-values" . 0) ("do-forms-from-info" . 1) ("with-compiler-io-syntax" . 0) ("do-packed-tns" . 1) ("do-live-tns" . 1) ("define-modular-fun-optimizer" . 2) ("do-eql-vars" . 1) ("do-nodes" . 1) ("do-sc-pairs" . 1) ("do-physenv-ir2-blocks" . 1) ("do-blocks-backwards" . 1) ("do-nodes-backwards" . 1) ("processing-decls" . 1) ("do-uses" . 1) ("with-fop-stack" . 1) ("expand-bind-defaults" . 2) ("def-format-directive" . 2) ("def-complex-format-directive" . 2) ("with-new-session" . 1) ("with-mutex" . 1) ("with-recursive-lock" . 1) ("with-spinlock" . 1) ("with-session-lock" . 1) ("with-system-mutex" . 1) ("with-all-threads-lock" . 0) ("with-recursive-spinlock" . 1) ("with-interruptions-lock" . 1) ("with-recursive-system-spinlock" . 1) ("with-system-spinlock" . 1) ("with-pretty-stream" . 1) ("with-sequence-iterator" . 2) ("dosequence" . 1) ("with-sequence-iterator-functions" . 2) ("with-new-definition-in-environment" . 1) ("with-augmented-environment" . 1) ("walker-environment-bind" . 1) ("program-destructuring-bind" . 2) ("with-process-times" . 1) ("with-sysfun" . 1) ("with-funcname" . 1) ("with-loop-list-collection-head" . 1) ("with-minimax-value" . 1) ("with-compilation-hooks" . 1) ("with-struct" . 2) ("with-debootstrapping" . 0) ("with-slime-output-stream" . 1) ("defimplementation" . 2) ("defsystem" . 1) ("with-hostent" . 2) ("with-wsa-data" . 2) ("with-sockaddr-in" . 2) ("with-array-data" . 1) ("with-protoent" . 2) ("with-in-addr" . 2) ("with-vector-sap" . 1) ("with-sockaddr-for" . 1) ("with-alien-stat" . 2) ("with-dirent" . 2) ("define-entry-point" . 2) ("with-growing-c-string" . 1) ("define-designator" . 2) ("with-swank-compilation-unit" . 1) ("with-describe-settings" . 1) ("with-buffer-syntax" . 1) ("with-availability" . 2) ("without-interrupts" . 0) ("with-connection" . 1) ("defslimefun" . 2) ("with-io-redirection" . 1) ("with-temp-package" . 1) ("presenting-object-if" . 3) ("without-slime-interrupts" . 0) ("with-bindings" . 1) ("do-symbols*" . 1) ("with-swank-error-handler" . 1) ("with-thread-description" . 1) ("with-slime-interrupts" . 0) ("presenting-object" . 2) ("with-panic-handler" . 1) ("with-struct*" . 1)))
+<--(:return (:ok (:pid 3716 :style nil :lisp-implementation (:type "SBCL" :name "sbcl" :version "1.0.19") :machine (:instance "SK17" :type "X86" :version nil) :features (:asdf :ansi-cl :common-lisp :sbcl :sb-doc :sb-test :sb-ldb :sb-package-locks :sb-unicode :sb-eval :sb-source-locations :ieee-floating-point :x86 :win32 :gencgc :stack-grows-downward-not-upward :c-stack-is-control-stack :compare-and-swap-vops :unwind-to-frame-and-call-vop :raw-instance-init-vops :stack-allocatable-closures :alien-callbacks :cycle-counter :linkage-table :os-provides-dlopen :os-provides-putwc) :modules ("SWANK-PACKAGE-FU" "SWANK-ASDF" "SWANK-PRESENTATION-STREAMS" "SWANK-PRESENTATIONS" "SWANK-FANCY-INSPECTOR" "SWANK-FUZZY" "SWANK-ARGLISTS" "SWANK-C-P-C" "SB-CLTL2" "SB-POSIX" "SB-INTROSPECT" "SB-BSD-SOCKETS" "SB-GROVEL" "ASDF") :package (:name "COMMON-LISP-USER" :prompt "CL-USER") :version "2008-08-14")) 2)
+-->(:emacs-rex (swank:listener-eval "(f 4)
 
-  ") nil :repl-thread 2)
-  <--(:write-string "
-  ; in: LAMBDA NIL
-  ;     (G X)
-  ;
-  ; caught STYLE-WARNING:
-  ;   undefined function: G
+") nil :repl-thread 3)
+<--(:write-string "
+; in: LAMBDA NIL
+;     (F 4)
+;
+; caught STYLE-WARNING:
+;   undefined function: F
 
-  ;
-  ; caught STYLE-WARNING:
-  ;   This function is undefined:
-  ;     G
-  ;
-  ; compilation unit finished
-  ;   caught 2 STYLE-WARNING conditions
-  ")
-  <--(:presentation-start 1 :repl-result)
-  <--(:write-string "F" :repl-result)
-  <--(:presentation-end 1 :repl-result)
-  <--(:write-string "
-  " :repl-result)
-  <--(:indentation-update (("without-package-locks" . 0) ("with-timeout" . 1) ("define-source-context" . 2) ("with-unlocked-packages" . 1) ("with-locked-hash-table" . 1) ("with-unique-names" . 1) ("dx-let" . 1) ("with-float-traps-masked" . 1) ("awhen" . 1) ("defun-cached" . 2) ("dx-flet" . 1) ("once-only" . 1) ("prepare-for-fast-read-char" . 1) ("define-function-name-syntax" . 2) ("do-info" . 1) ("dovector" . 1) ("collect" . 1) ("dohash" . 1) ("named-lambda" . 2) ("with-rebound-io-syntax" . 0) ("prepare-for-fast-read-byte" . 1) ("defmacro-mundanely" . 2) ("binding*" . 1) ("named-let" . 2) ("with-sane-io-syntax" . 0) ("with-fixed-allocation" . 1) ("with-tn@fp-top" . 1) ("maybe-pseudo-atomic" . 1) ("with-empty-tn@fp-top" . 1) ("with-cycle-counter" . 0) ("with-circularity-detection" . 1) ("descend-into" . 1) ("with-single-package-locked-error" . 1) ("number-dispatch" . 1) ("with-deadline" . 1) ("with-pinned-objects" . 1) ("with-local-interrupts" . 0) ("without-interrupts" . 0) ("allow-with-interrupts" . 0) ("with-interrupts" . 0) ("with-interrupt-bindings" . 0) ("in-interruption" . 1) ("without-gcing" . 0) ("define-sequence-traverser" . 2) ("with-c-strvec" . 1) ("lambda-with-lexenv" . 3) ("with-stepping-disabled" . 0) ("with-host" . 1) ("def-output-routines" . 1) ("handling-end-of-the-world" . 0) ("with-concurrent-access-check" . 2) ("with-stepping-enabled" . 0) ("with-active-processes-lock" . 1) ("def-output-routines/variable-width" . 1) ("with-scheduler-lock" . 1) ("input-wrapper/variable-width" . 1) ("with-push-char" . 1) ("with-reader" . 1) ("with-native-pathname" . 1) ("with-finalizer-store-lock" . 0) ("with-default-decoding-replacement" . 1) ("input-wrapper" . 1) ("with-packages" . 1) ("with-standard-replacement-character" . 0) ("with-hash-table-locks" . 1) ("with-available-buffers-lock" . 1) ("with-symbol" . 1) ("with-pathname" . 1) ("output-wrapper" . 1) ("with-descriptor-handlers" . 0) ("string-dispatch" . 2) ("output-wrapper/variable-width" . 1) ("do-debug-block-locations" . 1) ("do-debug-fun-vars" . 1) ("do-debug-fun-blocks" . 1) ("with-new-session" . 1) ("with-mutex" . 1) ("with-recursive-lock" . 1) ("with-system-mutex" . 1) ("with-recursive-spinlock" . 1) ("with-session-lock" . 1) ("with-interruptions-lock" . 1) ("with-recursive-system-spinlock" . 1) ("with-system-spinlock" . 1) ("with-all-threads-lock" . 0) ("with-spinlock" . 1) ("maybe-with-pinned-objects" . 2) ("define-alien-type-translator" . 2) ("bind-fast-lexical-method-functions" . 1) ("pv-binding" . 1) ("dolist-carefully" . 1) ("bind-args" . 1) ("with-dfun-wrappers" . 3) ("simple-lexical-method-functions" . 1) ("with-pcl-lock" . 0) ("doplist" . 2) ("with-type-checked" . 1) ("pv-binding1" . 1) ("dotimes-fixnum" . 1) ("dfun-miss" . 1) ("fast-lexical-method-functions" . 1) ("bind-simple-lexical-method-functions" . 1) ("with-alien" . 1) ("alien-lambda" . 2) ("with-auxiliary-alien-types" . 1) ("define-alien-callback" . 3) ("define-instruction-macro" . 2) ("without-scheduling" . 1) ("assemble" . 1) ("do-sset-elements" . 1) ("note-dependencies" . 1) ("with-modified-segment-index-and-posn" . 1) ("sc-case" . 1) ("deftransform" . 2) ("define-vop" . 1) ("with-source-location" . 1) ("define-source-transform" . 2) ("defoptimizer" . 2) ("defknown" . 4) ("source-transform-lambda" . 1) ("define-move-fun" . 3) ("define-assembly-routine" . 2) ("def-ir1-translator" . 2) ("do-sc-pairs" . 1) ("do-physenv-ir2-blocks" . 1) ("do-nodes" . 1) ("do-packed-tns" . 1) ("do-ir2-blocks" . 1) ("do-eql-vars" . 1) ("with-component-last-block" . 1) ("do-blocks" . 1) ("define-internal-pcl-function-name-syntax" . 1) ("with-ir1-namespace" . 0) ("do-nodes-carefully" . 1) ("define-modular-fun-optimizer" . 2) ("processing-decls" . 1) ("do-nodes-backwards" . 1) ("do-uses" . 1) ("with-compiler-io-syntax" . 0) ("do-live-tns" . 1) ("do-forms-from-info" . 1) ("do-blocks-backwards" . 1) ("with-fun-name-leaf" . 1) ("with-compilation-values" . 0) ("with-fop-stack" . 1) ("expand-bind-defaults" . 2) ("def-format-directive" . 2) ("def-complex-format-directive" . 2) ("with-pretty-stream" . 1) ("with-sequence-iterator" . 2) ("dosequence" . 1) ("with-sequence-iterator-functions" . 2) ("with-new-definition-in-environment" . 1) ("with-augmented-environment" . 1) ("walker-environment-bind" . 1) ("program-destructuring-bind" . 2) ("with-loop-list-collection-head" . 1) ("with-minimax-value" . 1) ("with-compilation-hooks" . 1) ("with-struct" . 2) ("with-debootstrapping" . 0) ("with-slime-output-stream" . 1) ("defimplementation" . 2) ("defsystem" . 1) ("with-sockaddr-un" . 2) ("with-array-data" . 1) ("with-msghdr" . 2) ("with-addrinfo" . 2) ("with-sockaddr-in" . 2) ("with-in-addr" . 2) ("with-hostent" . 2) ("with-protoent" . 2) ("with-sockaddr-un-abstract" . 2) ("with-sockaddr-for" . 1) ("with-vector-sap" . 1) ("with-alien-stat" . 2) ("with-alien-utimbuf" . 2) ("with-growing-c-string" . 1) ("define-entry-point" . 2) ("define-designator" . 2) ("with-dirent" . 2) ("with-alien-termios" . 2) ("with-alien-passwd" . 2) ("with-alien-group" . 2) ("with-alien-timeval" . 2) ("with-alien-flock" . 2) ("with-swank-compilation-unit" . 1) ("with-describe-settings" . 1) ("with-buffer-syntax" . 1) ("with-availability" . 2) ("without-interrupts" . 0) ("with-connection" . 1) ("defslimefun" . 2) ("with-io-redirection" . 1) ("with-temp-package" . 1) ("presenting-object-if" . 3) ("without-slime-interrupts" . 0) ("with-bindings" . 1) ("do-symbols*" . 1) ("with-swank-error-handler" . 1) ("with-thread-description" . 1) ("with-slime-interrupts" . 0) ("presenting-object" . 2) ("with-panic-handler" . 1) ("with-struct*" . 1)))
-  <--(:new-features (:sb-bsd-sockets-addrinfo :asdf :sb-thread :ansi-cl :common-lisp :sbcl :sb-doc :sb-test :sb-ldb :sb-package-locks :sb-unicode :sb-eval :sb-source-locations :ieee-floating-point :x86 :unix :elf :linux :largefile :gencgc :stack-grows-downward-not-upward :c-stack-is-control-stack :compare-and-swap-vops :unwind-to-frame-and-call-vop :raw-instance-init-vops :stack-allocatable-closures :alien-callbacks :cycle-counter :linkage-table :os-provides-dlopen :os-provides-dladdr :os-provides-putwc :os-provides-suseconds-t))
-  <--(:return (:ok nil) 2)
-  -->(:emacs-rex (swank:listener-eval "(f 4)
+;
+; caught STYLE-WARNING:
+;   This function is undefined:
+;     F
+;
+; compilation unit finished
+;   caught 2 STYLE-WARNING conditions
+")
+<--(:debug 0 1 ("The function F is undefined." "   [Condition of type UNDEFINED-FUNCTION]" nil) (("DEFAULT-DEBUGGER" "Use default debugger.") ("ABORT" "Return to SLIME's top level.") ("CLOSE-CONNECTION" "Close SLIME connection") ("ABORT" "Exit debugger, returning to top level.")) ((0 "(\"bogus stack frame\")") (1 "(SB-INT:SIMPLE-EVAL-IN-LEXENV (F 4) #<NULL-LEXENV>)") (2 "(SWANK::EVAL-REGION \"(f 4)
 
-  ") nil :repl-thread 3)
-  <--(:debug 1 1 ("The function G is undefined." "   [Condition of type UNDEFINED-FUNCTION]" nil) (("DEFAULT-DEBUGGER" "Use default debugger.") ("ABORT" "Return to SLIME's top level.") ("TERMINATE-THREAD" "Terminate this thread (#<THREAD \"repl-thread\" RUNNING {B04B0D1}>)")) ((0 "(\"bogus stack frame\")") (1 "(SYMBOL-FUNCTION 4)") (2 "(SB-INT:SIMPLE-EVAL-IN-LEXENV (F 4) #<NULL-LEXENV>)") (3 "(SWANK::EVAL-REGION \"(f 4)
+\")") (3 "((LAMBDA NIL))") (4 "(SWANK::TRACK-PACKAGE #<CLOSURE (LAMBDA NIL) {23F4AB85}>)") (5 "(SWANK::CALL-WITH-BUFFER-SYNTAX NIL #<CLOSURE (LAMBDA NIL) {23F4AB6D}>)") (6 "(SWANK::REPL-EVAL \"(f 4)
 
-  \")") (4 "((LAMBDA NIL))") (5 "(SWANK::TRACK-PACKAGE #<CLOSURE (LAMBDA NIL) {B0F77CD}>)") (6 "(SWANK::CALL-WITH-BUFFER-SYNTAX NIL #<CLOSURE (LAMBDA NIL) {B0F77B5}>)") (7 "(SWANK::REPL-EVAL \"(f 4)
+\")") (7 "(SB-INT:SIMPLE-EVAL-IN-LEXENV (SWANK:LISTENER-EVAL \"(f 4)
 
-  \")") (8 "(SB-INT:SIMPLE-EVAL-IN-LEXENV (SWANK:LISTENER-EVAL \"(f 4)
+\") #<NULL-LEXENV>)") (8 "(SWANK::EVAL-FOR-EMACS (SWANK:LISTENER-EVAL \"(f 4)
 
-  \") #<NULL-LEXENV>)") (9 "(SWANK::EVAL-FOR-EMACS (SWANK:LISTENER-EVAL \"(f 4)
-
-  \") NIL 3)") (10 "(SWANK::PROCESS-REQUESTS NIL NIL)") (11 "((LAMBDA NIL))") (12 "((LAMBDA (SWANK-BACKEND::HOOK SWANK-BACKEND::FUN)) #<FUNCTION SWANK:SWANK-DEBUGGER-HOOK> #<CLOSURE (LAMBDA NIL) {B0491B5}>)") (13 "(SWANK::CALL-WITH-REDIRECTED-IO #<SWANK::CONNECTION {AF3C0F1}> #<CLOSURE (LAMBDA NIL) {B0491C5}>)") (14 "(SWANK::CALL-WITH-CONNECTION #<SWANK::CONNECTION {AF3C0F1}> #<CLOSURE (LAMBDA NIL) {B0491B5}>)") (15 "(SWANK::HANDLE-REQUESTS #<SWANK::CONNECTION {AF3C0F1}> NIL NIL)") (16 "(SWANK::CALL-WITH-BINDINGS NIL #<CLOSURE (LAMBDA NIL) {B049195}>)") (17 "((FLET SB-THREAD::WITH-MUTEX-THUNK))") (18 "((FLET #:WITHOUT-INTERRUPTS-BODY-[CALL-WITH-MUTEX]477))") (19 "(SB-THREAD::CALL-WITH-MUTEX #<CLOSURE (FLET SB-THREAD::WITH-MUTEX-THUNK) {B6876205}> #S(SB-THREAD:MUTEX :NAME \"thread result lock\" :%OWNER #<SB-THREAD:THREAD \"repl-thread\" RUNNING {B04B0D1}> :STATE 1) #<SB-THREAD:THREAD \"repl-thread\" RUNNING {B04B0D1}> T)")) (3))
-  <--(:debug-activate 1 1 nil)
-  -->(:emacs-rex (swank:frame-locals-for-emacs 2) nil 1 4)
-  <--(:return (:ok ((:name "SB-DEBUG::ARG-0" :id 0 :value "(F 4)") (:name "SB-DEBUG::ARG-1" :id 0 :value "#<NULL-LEXENV>"))) 4)
-  <--(:debug-activate 1 1 nil)
-  *disconnect
-  Display input pipe closed.
-  Display input pipe closed.
-  Connection closed
+\") NIL 3)") (9 "(SWANK::PROCESS-REQUESTS NIL NIL)") (10 "((LAMBDA NIL))") (11 "((FLET #:FORM-FUN1252))") (12 "((LAMBDA (SWANK-BACKEND::HOOK SWANK-BACKEND::FUN)) #<FUNCTION SWANK:SWANK-DEBUGGER-HOOK> #<CLOSURE (LAMBDA NIL) {23EE07DD}>)") (13 "(SWANK::CALL-WITH-REDIRECTED-IO #<SWANK::CONNECTION {23DE2B09}> #<CLOSURE (LAMBDA NIL) {23EE07ED}>)") (14 "(SWANK::CALL-WITH-CONNECTION #<SWANK::CONNECTION {23DE2B09}> #<CLOSURE (LAMBDA NIL) {23EE07DD}>)") (15 "(SWANK::HANDLE-REQUESTS #<SWANK::CONNECTION {23DE2B09}> NIL NIL)") (16 "((LAMBDA NIL))") (17 "((LAMBDA (SWANK-BACKEND::HANDLER FUNCTION)) #<FUNCTION (LAMBDA NIL) {24AE8BAD}> #<CLOSURE (LAMBDA NIL) {23EE077D}>)") (18 "(SWANK::SIMPLE-SERVE-REQUESTS #<SWANK::CONNECTION {23DE2B09}>)") (19 "(SWANK::SERVE-CONNECTION #<SB-BSD-SOCKETS:INET-SOCKET descriptor -1 {23D74799}> NIL NIL :UTF-8)")) (3))
+<--(:debug-activate 0 1 nil)
+-->(:emacs-rex (swank:frame-locals-for-emacs 1) nil 0 4)
+<--(:return (:ok ((:name "SB-DEBUG::ARG-0" :id 0 :value "(F 4)") (:name "SB-DEBUG::ARG-1" :id 0 :value "#<NULL-LEXENV>"))) 4)
+<--(:debug-activate 0 1 nil)
+*disconnect
+Display input pipe closed.
+Display input pipe closed.
 
    */
   @Test
   public void test_sendGetFrameLocals()
   {
-    final myBoolean started = new myBoolean(false);
-    final SwankRunnable callBack = new SwankRunnable(){
-      @Override
-      public void run()
-      {}
-    };
     final SwankRunnable debugInfo = new SwankRunnable(){
       @Override
       public void run()
     final SwankRunnable debugStart = new SwankRunnable(){
       @Override
       public void run()
-      {
-        synchronized(started)
-        {
-          if( !started.get() )
-          {
-            started.set(true);
-            LispNode info = debugInfo.result;
-            String thread = info.get(1).value;
-            si.sendGetFrameLocals("2", thread, callBack);
-          }
-        }
-      }
-    };
-    final SwankRunnable debugStop = new SwankRunnable(){
-      @Override
-      public void run()
       {}
     };
 
     si.swank.addListener(SwankEvent.DEBUG_ACTIVATE, debugStart);
     si.swank.addListener(SwankEvent.DEBUG, debugInfo);
-    si.swank.addListener(SwankEvent.DEBUG_RETURN, debugStop);
     try
     {
-      synchronized(debugStop)
+      synchronized(debugStart)
       {
-        try
-        {
-          synchronized(callBack)
-          {
-            si.sendEval("(defun f (x) (+ 2 (g x)))\n", null);
-            callBack.wait(500);
-          } // sync
-        }
-        catch(Exception e)
-        {
-          e.printStackTrace();
-        } // catch
-        try
-        {
-          synchronized(callBack)
-          {
-            si.sendEval("(f 4)\n", null);
-            callBack.wait(500);
-          } // sync
-        }
-        catch(Exception e)
-        {
-          e.printStackTrace();
-        } // catch
-        debugStop.wait(600);
-      }
+        si.sendEval("(f 4)\n", null);
+        debugStart.wait(400);
+      } // sync
     }
     catch(Exception e)
     {
       e.printStackTrace();
-    }
+    } // catch
+    SwankDebugInfo info =
+      getLispImplementation().getDebugInfo(debugInfo.result);
+    LispVariable[] xx = si.getFrameLocals(1, info.thread, null);
     si.swank.removeListener(debugStart);
     si.swank.removeListener(debugInfo);
-    si.swank.removeListener(debugStop);
-    assertEquals("((`:name` `SB-DEBUG::ARG-0` `:id` `0` `:value` `(F 4)` ) "
-        + "(`:name` `SB-DEBUG::ARG-1` `:id` `0` `:value` `#<NULL-LEXENV>` ) )",
-        callBack.getReturn().toString());
+    assertEquals("[SB-DEBUG::ARG-0 = (F 4), SB-DEBUG::ARG-1 = #<NULL-LEXENV>]",
+        Arrays.deepToString(xx));
   }
 
+
   /*
   >>> Found default sbcl folder: /home/sk/cusp/ws/org.lispdev.swank/sbcl
   >>> Found default sbcl folder: /home/sk/cusp/ws/org.lispdev.swank/sbcl