[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[nongnu] externals/sly 3c83b6f 06/47: Improve jump to source with 'v' in
From: |
ELPA Syncer |
Subject: |
[nongnu] externals/sly 3c83b6f 06/47: Improve jump to source with 'v' in sldb in clasp |
Date: |
Thu, 17 Dec 2020 18:57:13 -0500 (EST) |
branch: externals/sly
commit 3c83b6f87d7ec87e989d44e3894d6ecaa27ef03e
Author: Chris Schafmeister <meister@temple.edu>
Commit: João Távora <joaotavora@gmail.com>
Improve jump to source with 'v' in sldb in clasp
We can now use the new "concrete syntax tree" compiler in Clasp
with its amazing source tracking capabilities to jump to code.
The 'v' key in sldb now jumps to the form that is indicated by the
backtrace. Code, including anonymous functions, now have source locations!
* slynk/backend/clasp.lisp (frame-source-location): Rework.
Cherry-picked-from: SLIME commit 8d154a99e6818e2b7c223a25a6cb010fb278d306
Co-authored-by: Manfred Bergmann <manfred@nnamgreb.de>
Co-authored-by: João Távora <joaotavora@gmail.com>
---
slynk/backend/clasp.lisp | 8 +++++++-
1 file changed, 7 insertions(+), 1 deletion(-)
diff --git a/slynk/backend/clasp.lisp b/slynk/backend/clasp.lisp
index a8851af..b893ab3 100644
--- a/slynk/backend/clasp.lisp
+++ b/slynk/backend/clasp.lisp
@@ -523,7 +523,13 @@
(format stream "~a" (core::backtrace-frame-print-name frame))))
(defimplementation frame-source-location (frame-number)
- (source-location (frame-function frame-number)))
+ (let* ((address (core::backtrace-frame-return-address (elt *backtrace*
frame-number)))
+ (code-source-location (ext::code-source-position address)))
+ (format t "code-source-location ~s~%" code-source-location)
+ ;; (core::source-info-backtrace *backtrace*)
+ (make-location (list :file (namestring
(ext::code-source-line-source-pathname code-source-location)))
+ (list :line (ext::code-source-line-line-number
code-source-location))
+ '(:align t))))
#+clasp-working
(defimplementation frame-catch-tags (frame-number)
- [nongnu] externals/sly 791f7b7 17/47: Calculate condition-location properly for clasp, (continued)
- [nongnu] externals/sly 791f7b7 17/47: Calculate condition-location properly for clasp, ELPA Syncer, 2020/12/17
- [nongnu] externals/sly e7f0333 40/47: abcl: fix inspector for a STRUCTURE-OBJECT with no inspectable parts, ELPA Syncer, 2020/12/17
- [nongnu] externals/sly 5f15cf1 43/47: Use defgeneric lambda list in defmethod arglists, ELPA Syncer, 2020/12/17
- [nongnu] externals/sly ae4bbca 45/47: Don't force mREPL to use channel thread for everything, ELPA Syncer, 2020/12/17
- [nongnu] externals/sly e927cda 47/47: Release SLY 1.0.42, ELPA Syncer, 2020/12/17
- [nongnu] externals/sly a1fc34c 03/47: Add a name to the mailbox lock for clasp, ELPA Syncer, 2020/12/17
- [nongnu] externals/sly b2732f4 15/47: Add line, column kw args to slynk-compile-string, ELPA Syncer, 2020/12/17
- [nongnu] externals/sly 5ec798d 19/47: decode-arglist: don't fall on arglist-dummy., ELPA Syncer, 2020/12/17
- [nongnu] externals/sly a0308b7 21/47: fix spurious detection of allegro modern-mode (#540), ELPA Syncer, 2020/12/17
- [nongnu] externals/sly 9392ac9 32/47: Fix collect-macro-forms in clasp, ELPA Syncer, 2020/12/17
- [nongnu] externals/sly 3c83b6f 06/47: Improve jump to source with 'v' in sldb in clasp,
ELPA Syncer <=
- [nongnu] externals/sly c74ef16 14/47: Improve source locations for inlined code in clasp, ELPA Syncer, 2020/12/17
- [nongnu] externals/sly 463cef6 20/47: sbcl/sexp-in-bounds-p: descend into comma-expr., ELPA Syncer, 2020/12/17
- [nongnu] externals/sly 748fd92 22/47: Do close streams in CLOSE-LISTENER when closing SLYNK::LISTENER, ELPA Syncer, 2020/12/17
- [nongnu] externals/sly a9502b1 25/47: abcl: fix finding slime locations within JAR archives, ELPA Syncer, 2020/12/17
- [nongnu] externals/sly afedabc 26/47: abcl: fix inspector for Java methods and fields, ELPA Syncer, 2020/12/17
- [nongnu] externals/sly edf5d52 27/47: sbcl: Filter out invalid definition sources in find-definitions, ELPA Syncer, 2020/12/17
- [nongnu] externals/sly 0abe736 28/47: Define a macro in time, ELPA Syncer, 2020/12/17