chiark
/
gitweb
/
~mdw
/
clg
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
6fc914e
)
Updated to work with CLISP
author
espen
<espen>
Wed, 6 Sep 2006 11:07:36 +0000
(11:07 +0000)
committer
espen
<espen>
Wed, 6 Sep 2006 11:07:36 +0000
(11:07 +0000)
examples/ginspect.lisp
patch
|
blob
|
blame
|
history
diff --git
a/examples/ginspect.lisp
b/examples/ginspect.lisp
index c0cd76f81b9277bd140a93ee796c94e1766db042..3db50023fa9f65b098076e90e029a118184682a3 100644
(file)
--- a/
examples/ginspect.lisp
+++ b/
examples/ginspect.lisp
@@
-20,19
+20,20
@@
;; TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
;; SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
;; TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
;; SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-;; $Id: ginspect.lisp,v 1.1
1 2006/09/05 13:12:50
espen Exp $
+;; $Id: ginspect.lisp,v 1.1
2 2006/09/06 11:07:36
espen Exp $
#+sbcl(require :gtk)
#+cmu(asdf:oos 'asdf:load-op :gtk)
(defpackage "GINSPECT"
#+sbcl(require :gtk)
#+cmu(asdf:oos 'asdf:load-op :gtk)
(defpackage "GINSPECT"
- (:use "COMMON-LISP" "GFFI" "GLIB" "GTK" #+cmu"PCL" #+sbcl"SB-PCL")
+ (:use "COMMON-LISP" "GFFI" "GLIB" "GTK" #+cmu"PCL" #+sbcl"SB-PCL" #+clisp"MOP")
+ #+clisp(:shadowing-import-from "MOP" "SLOT-DEFINITION-TYPE")
(:export "GINSPECT" "GINSPECT-TOPLEVELS"))
(in-package "GINSPECT")
(defvar *ginspect-unbound-object-marker*
(:export "GINSPECT" "GINSPECT-TOPLEVELS"))
(in-package "GINSPECT")
(defvar *ginspect-unbound-object-marker*
- #+
cmu
(gensym "UNBOUND-OBJECT-")
+ #+
(or cmu clisp)
(gensym "UNBOUND-OBJECT-")
#+sbcl sb-impl::*inspect-unbound-object-marker*)
#+sbcl sb-impl::*inspect-unbound-object-marker*)
@@
-94,7
+95,8
@@
(defmethod decompose-describe-object ((object t))
(if (equal parts (list object))
(values description nil nil)
(values description named-p parts)))
(if (equal parts (list object))
(values description nil nil)
(values description named-p parts)))
- #+sbcl(sb-impl::inspected-parts object))
+ #+sbcl(sb-impl::inspected-parts object)
+ #+clisp(values (format nil "The object is an ATOM of type ~A" (type-of object) nil nil)))
(defmethod decompose-describe-object ((object (eql t)))
(values (call-next-method) nil nil))
(defmethod decompose-describe-object ((object (eql t)))
(values (call-next-method) nil nil))
@@
-110,6
+112,7
@@
(defmethod decompose-describe-object ((object cons))
(values (call-next-method) nil object)
(values "The object is a CONS." nil (list (car object) (cdr object)))))
(values (call-next-method) nil object)
(values "The object is a CONS." nil (list (car object) (cdr object)))))
+#+(or cmu sbcl)
(defmethod decompose-describe-object ((object #+cmu alien:system-area-pointer
#+sbcl sb-alien:system-area-pointer))
(values "The object is a SYSTEM-AREA-POINTER" nil nil))
(defmethod decompose-describe-object ((object #+cmu alien:system-area-pointer
#+sbcl sb-alien:system-area-pointer))
(values "The object is a SYSTEM-AREA-POINTER" nil nil))
@@
-117,7
+120,7
@@
(defmethod decompose-describe-object ((object #+cmu alien:system-area-pointer
(defmethod decompose-describe-object ((object (eql *ginspect-unbound-object-marker*)))
(values "The slot is unbound" nil nil))
(defmethod decompose-describe-object ((object (eql *ginspect-unbound-object-marker*)))
(values "The slot is unbound" nil nil))
-#+
cmu
+#+
(or cmu clisp)
(defmethod decompose-describe-object ((object symbol))
(values
(call-next-method) t
(defmethod decompose-describe-object ((object symbol))
(values
(call-next-method) t
@@
-134,7
+137,7
@@
(defmethod decompose-describe-object ((object symbol))
(defmethod decompose-describe-object ((object standard-object))
(values
(defmethod decompose-describe-object ((object standard-object))
(values
- (format nil "The instance is an object of type ~A
.
"
+ (format nil "The instance is an object of type ~A"
(class-name (class-of object)))
t
(loop
(class-name (class-of object)))
t
(loop
@@
-146,6
+149,13
@@
(defmethod decompose-describe-object ((object standard-object))
*ginspect-unbound-object-marker*)))
(cons (string slot-name) slot-value)))))
*ginspect-unbound-object-marker*)))
(cons (string slot-name) slot-value)))))
+#+clisp
+(defmethod decompose-describe-object ((object vector))
+ (values
+ (format nil "The object is a ~A of length ~A" (type-of object) (length object))
+ nil
+ (coerce object 'list)))
+
(defmethod object-has-parts-p ((object t))
(nth-value 2 (decompose-describe-object object)))
(defmethod object-has-parts-p ((object t))
(nth-value 2 (decompose-describe-object object)))