From 59205b0399d06dbf1c83dde6348f93899a7ddd5b Mon Sep 17 00:00:00 2001
From: Doug Coleman <doug.coleman@gmail.com>
Date: Tue, 5 May 2015 19:12:36 -0700
Subject: [PATCH] tools.scaffold: generating docs for obj/f was broken.

---
 basis/tools/scaffold/scaffold-tests.factor |  5 +++++
 basis/tools/scaffold/scaffold.factor       | 10 ++++++++--
 2 files changed, 13 insertions(+), 2 deletions(-)

diff --git a/basis/tools/scaffold/scaffold-tests.factor b/basis/tools/scaffold/scaffold-tests.factor
index 992a2f6a45..2ba224cb90 100644
--- a/basis/tools/scaffold/scaffold-tests.factor
+++ b/basis/tools/scaffold/scaffold-tests.factor
@@ -25,3 +25,8 @@ IN: tools.scaffold.tests
 { sequence t } [ "newseq" lookup-type ] unit-test
 { { $maybe sequence } t } [ "seq/f" lookup-type ] unit-test
 { f f } [ "foo" lookup-type ] unit-test
+
+
+: test-maybe ( obj -- obj/f ) ;
+
+[ ] [ \ test-maybe (help.) ] unit-test
\ No newline at end of file
diff --git a/basis/tools/scaffold/scaffold.factor b/basis/tools/scaffold/scaffold.factor
index 326aef5cba..8f1aeed56a 100644
--- a/basis/tools/scaffold/scaffold.factor
+++ b/basis/tools/scaffold/scaffold.factor
@@ -146,7 +146,13 @@ ERROR: vocab-name-contains-dot path ;
         { "url" url }
     } at* [ swap [ \ $maybe swap 2array ] when ] dip ;
 
-: add-using ( object -- )
+GENERIC: add-using ( object -- )
+
+M: array add-using [ add-using ] each ;
+
+M: string add-using drop ;
+
+M: object add-using ( object -- )
     vocabulary>> using get [ adjoin ] [ drop ] if* ;
 
 : 4bl ( -- )
@@ -160,7 +166,7 @@ ERROR: vocab-name-contains-dot path ;
             dup array? [ first ] when
             dup lookup-type [
                 [ unparse write bl ]
-                [ [ pprint ] [ dup string? [ drop ] [ add-using ] if ] bi ] bi*
+                [ [ pprint ] [ add-using ] bi ] bi*
             ] [
                 drop unparse write bl null pprint
                 null add-using