From 940fbd5ace3afd0256a731308fe6f264b727c612 Mon Sep 17 00:00:00 2001
From: Joe Groff <joe@victoria.(none)>
Date: Wed, 12 Aug 2009 10:37:09 -0400
Subject: [PATCH] see STRUCT: definitions as STRUCT: definitions

---
 extra/classes/struct/prettyprint/prettyprint.factor | 11 +++++++++++
 extra/classes/struct/struct-tests.factor            |  2 +-
 extra/classes/struct/struct.factor                  |  3 +++
 3 files changed, 15 insertions(+), 1 deletion(-)
 create mode 100644 extra/classes/struct/prettyprint/prettyprint.factor

diff --git a/extra/classes/struct/prettyprint/prettyprint.factor b/extra/classes/struct/prettyprint/prettyprint.factor
new file mode 100644
index 0000000000..c0db8530c0
--- /dev/null
+++ b/extra/classes/struct/prettyprint/prettyprint.factor
@@ -0,0 +1,11 @@
+! (c)Joe Groff bsd license
+USING: classes.struct kernel prettyprint.backend
+prettyprint.sections see.private sequences words ;
+IN: classes.struct.prettyprint
+
+M: struct-class see-class*
+    <colon \ STRUCT: pprint-word dup pprint-word
+    <block "struct-slots" word-prop [ pprint-slot ] each
+    block> pprint-; block> ;
+
+
diff --git a/extra/classes/struct/struct-tests.factor b/extra/classes/struct/struct-tests.factor
index 6e739edb5f..2c8f68c651 100644
--- a/extra/classes/struct/struct-tests.factor
+++ b/extra/classes/struct/struct-tests.factor
@@ -17,7 +17,7 @@ STRUCT: bar
 [ 123 ] [ bar new foo>> y>> ] unit-test
 
 [ 1 2 3 t ] [
-    1 2 3 t foo boa bar boa
+    1   2 3 t foo boa   bar boa
     {
         [ w>> ] 
         [ foo>> x>> ]
diff --git a/extra/classes/struct/struct.factor b/extra/classes/struct/struct.factor
index b4132c6816..9f99a6eb22 100644
--- a/extra/classes/struct/struct.factor
+++ b/extra/classes/struct/struct.factor
@@ -132,3 +132,6 @@ M: struct-class heap-size
 SYNTAX: STRUCT:
     parse-struct-definition define-struct-class ;
 
+USING: vocabs vocabs.loader ;
+
+"prettyprint" vocab [ "classes.struct.prettyprint" require ] when