Add new packages installed
This commit is contained in:
42
elpa/slime-20180303.1336/contrib/slime-fancy-inspector.el
Normal file
42
elpa/slime-20180303.1336/contrib/slime-fancy-inspector.el
Normal file
@@ -0,0 +1,42 @@
|
||||
(eval-and-compile
|
||||
(require 'slime))
|
||||
|
||||
(define-slime-contrib slime-fancy-inspector
|
||||
"Fancy inspector for CLOS objects."
|
||||
(:authors "Marco Baringer <mb@bese.it> and others")
|
||||
(:license "GPL")
|
||||
(:slime-dependencies slime-parse)
|
||||
(:swank-dependencies swank-fancy-inspector)
|
||||
(:on-load
|
||||
(add-hook 'slime-edit-definition-hooks 'slime-edit-inspector-part))
|
||||
(:on-unload
|
||||
(remove-hook 'slime-edit-definition-hooks 'slime-edit-inspector-part)))
|
||||
|
||||
(defun slime-inspect-definition ()
|
||||
"Inspect definition at point"
|
||||
(interactive)
|
||||
(slime-inspect (slime-definition-at-point)))
|
||||
|
||||
(defun slime-disassemble-definition ()
|
||||
"Disassemble definition at point"
|
||||
(interactive)
|
||||
(slime-eval-describe `(swank:disassemble-form
|
||||
,(slime-definition-at-point t))))
|
||||
|
||||
(defun slime-edit-inspector-part (name &optional where)
|
||||
(and (eq major-mode 'slime-inspector-mode)
|
||||
(cl-destructuring-bind (&optional property value)
|
||||
(slime-inspector-property-at-point)
|
||||
(when (eq property 'slime-part-number)
|
||||
(let ((location (slime-eval `(swank:find-definition-for-thing
|
||||
(swank:inspector-nth-part ,value))))
|
||||
(name (format "Inspector part %s" value)))
|
||||
(when (and (consp location)
|
||||
(not (eq (car location) :error)))
|
||||
(slime-edit-definition-cont
|
||||
(list (make-slime-xref :dspec `(,name)
|
||||
:location location))
|
||||
name
|
||||
where)))))))
|
||||
|
||||
(provide 'slime-fancy-inspector)
|
||||
Reference in New Issue
Block a user