[slime-cvs] CVS slime/contrib
CVS User trittweiler
trittweiler at common-lisp.net
Tue Dec 30 17:17:08 UTC 2008
Update of /project/slime/cvsroot/slime/contrib
In directory cl-net:/tmp/cvs-serv22417/contrib
Modified Files:
ChangeLog
Added Files:
swank-sbcl-exts.lisp slime-sbcl-exts.el
Log Message:
* slime-sbcl-exts.el, swank-sbcl-exts.lisp: New contrib.
This is the place for SBCL specific extensions and customizations
that can't go into SBCL's swank-backend.
At the moment, it contains code to display arglist of instructions,
as in `(sb-assem:inst mov |'.
--- /project/slime/cvsroot/slime/contrib/ChangeLog 2008/12/30 17:12:11 1.154
+++ /project/slime/cvsroot/slime/contrib/ChangeLog 2008/12/30 17:17:08 1.155
@@ -1,5 +1,15 @@
2008-12-30 Tobias C. Rittweiler <tcr at freebits.de>
+ * slime-sbcl-exts.el, swank-sbcl-exts.lisp: New contrib.
+
+ This is the place for SBCL specific extensions and customizations
+ that can't go into SBCL's swank-backend.
+
+ At the moment, it contains code to display arglist of instructions,
+ as in `(sb-assem:inst mov |'.
+
+2008-12-30 Tobias C. Rittweiler <tcr at freebits.de>
+
* swank-arglists.lisp (defstruct arglist-dummy): Remove
:PRINT-OBJECT which made an arglist dummy look like a normal
symbol. This is just confusing. If an ARGLIST-DUMMY appears in an
--- /project/slime/cvsroot/slime/contrib/swank-sbcl-exts.lisp 2008/12/30 17:17:08 NONE
+++ /project/slime/cvsroot/slime/contrib/swank-sbcl-exts.lisp 2008/12/30 17:17:08 1.1
;;; swank-sbcl-exts.lisp --- Misc extensions for SBCL
;;
;; Authors: Tobias C. Rittweiler <tcr at freebits.de>
;;
;; License: Public Domain
;;
(in-package :swank)
;;; Display arglist of instructions.
;;;
(defmethod compute-enriched-decoded-arglist ((operator-form (eql 'sb-assem:inst))
argument-forms)
(if (null argument-forms)
(call-next-method)
(destructuring-bind (instruction &rest args) argument-forms
(declare (ignore args))
(let* ((instr-name
(if (arglist-dummy-p instruction)
(string-upcase (arglist-dummy.string-representation instruction))
(symbol-name instruction)))
(instr-fn (gethash instr-name sb-assem:*assem-instructions*)))
(if (not instr-fn)
(call-next-method)
(with-available-arglist (instr-arglist) (arglist instr-fn)
(let ((decoded-arglist (decode-arglist instr-arglist)))
;; The arglist of INST is (instruction ...INSTR-ARGLIST...).
(push 'sb-assem::instruction (arglist.required-args decoded-arglist))
(values decoded-arglist
(list instr-name)
t))))))))
(provide :swank-sbcl-exts)
--- /project/slime/cvsroot/slime/contrib/slime-sbcl-exts.el 2008/12/30 17:17:08 NONE
+++ /project/slime/cvsroot/slime/contrib/slime-sbcl-exts.el 2008/12/30 17:17:08 1.1
;;; slime-package-fu.el --- Misc extensions for SBCL
;;
;; Author: Tobias C. Rittweiler <tcr at freebits.de>
;;
;; License: GNU GPL (same license as Emacs)
;;
(require 'slime-autodoc)
(require 'slime-references)
(push '("INST" . (slime-make-extended-operator-parser/look-ahead 1))
slime-extended-operator-name-parser-alist)
(slime-require :swank-sbcl-exts)
(provide 'slime-sbcl-exts)
More information about the slime-cvs
mailing list