[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[nongnu] elpa/slime 32f5652d6a 15/43: sbcl: Improve inspection of functi
From: |
ELPA Syncer |
Subject: |
[nongnu] elpa/slime 32f5652d6a 15/43: sbcl: Improve inspection of functions and code components. |
Date: |
Thu, 28 Dec 2023 22:00:29 -0500 (EST) |
branch: elpa/slime
commit 32f5652d6a976f68e7cf47b61d7d0e2764b68aae
Author: Charles Zhang <czhang@hrl.com>
Commit: Luís Oliveira <luismbo@gmail.com>
sbcl: Improve inspection of functions and code components.
* Restore display of entry points for code components.
* Show disassembly for simple funs.
---
swank/sbcl.lisp | 39 +++++++++++++++++++++++----------------
1 file changed, 23 insertions(+), 16 deletions(-)
diff --git a/swank/sbcl.lisp b/swank/sbcl.lisp
index 044f41388c..6e20712a22 100644
--- a/swank/sbcl.lisp
+++ b/swank/sbcl.lisp
@@ -1604,26 +1604,33 @@ stack."
append (label-value-line i value))))))))
(defmethod emacs-inspect ((o function))
- (cond ((sb-kernel:simple-fun-p o)
- (label-value-line*
- (:name (sb-kernel:%simple-fun-name o))
- (:arglist (sb-kernel:%simple-fun-arglist o))
- (:type (sb-kernel:%simple-fun-type o))
- (:code (sb-kernel:fun-code-header o))))
- ((sb-kernel:closurep o)
- (append
- (label-value-line :function (sb-kernel:%closure-fun o))
- `("Closed over values:" (:newline))
- (loop for i below (1- (sb-kernel:get-closure-length o))
- append (label-value-line
- i (sb-kernel:%closure-index-ref o i)))))
- (t (call-next-method o))))
+ (cond ((sb-kernel:simple-fun-p o)
+ (append
+ (label-value-line*
+ ("Name" (sb-kernel:%simple-fun-name o))
+ ("Arglist" (sb-kernel:%simple-fun-arglist o))
+ ("Type" (sb-kernel:%simple-fun-type o))
+ ("Code" (sb-kernel:fun-code-header o)))
+ `("Disassembly:" (:newline)
+ ,(with-output-to-string (s)
+ (sb-disassem:disassemble-fun o :stream s)))))
+ ((sb-kernel:closurep o)
+ (append
+ (label-value-line :function (sb-kernel:%closure-fun o))
+ `("Closed over values:" (:newline))
+ (loop for i below (1- (sb-kernel:get-closure-length o))
+ append (label-value-line
+ i (sb-kernel:%closure-index-ref o i)))))
+ (t (call-next-method o))))
(defmethod emacs-inspect ((o sb-kernel:code-component))
(append
(label-value-line*
- (:code-size (sb-kernel:%code-code-size o))
- (:debug-info (sb-kernel:%code-debug-info o)))
+ ("Size" (sb-kernel:%code-code-size o))
+ ("Debug info" (sb-kernel:%code-debug-info o)))
+ `("Entry points: " (:newline))
+ (loop for i from 0 below (sb-vm::code-n-entries o)
+ append (label-value-line i (sb-kernel:%code-entry-point o i)))
`("Constants:" (:newline))
(loop for i from sb-vm:code-constants-offset
below
- [nongnu] elpa/slime 7e08d61fad 31/43: swank-asdf: Fix slime-load-system for systems with dots in the name, (continued)
- [nongnu] elpa/slime 7e08d61fad 31/43: swank-asdf: Fix slime-load-system for systems with dots in the name, ELPA Syncer, 2023/12/28
- [nongnu] elpa/slime 4d540c8fc9 38/43: slime-cl-indent: fix lambda list indentation for single arg keywords, ELPA Syncer, 2023/12/28
- [nongnu] elpa/slime def8408e12 29/43: sexp-ref: accept dotted lists., ELPA Syncer, 2023/12/28
- [nongnu] elpa/slime 9d3d303333 24/43: clasp: Translate logical pathnames in source references, ELPA Syncer, 2023/12/28
- [nongnu] elpa/slime 485aa0ca17 16/43: extract-package, readtable-for-package: Use default readtable, ELPA Syncer, 2023/12/28
- [nongnu] elpa/slime 34b7e43530 09/43: abcl: implement inspection of locals in interpreted frames, ELPA Syncer, 2023/12/28
- [nongnu] elpa/slime 6ef28864d4 13/43: Handle null characters correctly in the Allegro backend., ELPA Syncer, 2023/12/28
- [nongnu] elpa/slime 649abf2c19 23/43: compute-enriched-decoded-arglist sb-assem:inst: catch NIL., ELPA Syncer, 2023/12/28
- [nongnu] elpa/slime 0a77a989fd 20/43: Fix extract-local-op-arglists for labels., ELPA Syncer, 2023/12/28
- [nongnu] elpa/slime 1f9a95f3a0 18/43: Revert "sbcl: Use file-write-date instead of debug-source-created", ELPA Syncer, 2023/12/28
- [nongnu] elpa/slime 32f5652d6a 15/43: sbcl: Improve inspection of functions and code components.,
ELPA Syncer <=
- [nongnu] elpa/slime 906900bf05 12/43: Fix #714, ELPA Syncer, 2023/12/28
- [nongnu] elpa/slime 4cc03df108 30/43: Make xref optional., ELPA Syncer, 2023/12/28