[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