diff options
author | Ludovic Courtès <ludo@gnu.org> | 2020-03-17 22:32:18 +0100 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2020-03-17 22:57:41 +0100 |
commit | a0aa8f01ccc1fd1da6d109daf9e13b0c530dd278 (patch) | |
tree | 7d2557b81f3b8d059d3e210bef422810d2b6562b | |
parent | 62d1335a613dc140d3d147ee0bc83b1a6072d08d (diff) | |
download | guile-a0aa8f01ccc1fd1da6d109daf9e13b0c530dd278.tar.gz |
gdb: Adjust 'find-vp' for Guile 3.0.
* libguile/libguile-3.0-gdb.scm (find-vp): Adjust for Guile 3.0.
-rw-r--r-- | libguile/libguile-3.0-gdb.scm | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/libguile/libguile-3.0-gdb.scm b/libguile/libguile-3.0-gdb.scm index d3c99f7d8..869b68f19 100644 --- a/libguile/libguile-3.0-gdb.scm +++ b/libguile/libguile-3.0-gdb.scm @@ -207,11 +207,12 @@ if the information is not available." (define (find-vp) "Find the scm_vm pointer for the current thread." - (let loop ((frame (newest-frame))) - (and frame - (if (vm-engine-frame? frame) - (frame-read-var frame "vp") - (loop (frame-older frame)))))) + (match (lookup-symbol "scm_i_current_thread") + ((#f _) + #f) + ((symbol _) + (let ((thread (symbol-value symbol))) + (value-field thread "vm"))))) (define (newest-vm-frame) "Return the newest VM frame or #f." |