]> gitweb.factorcode.org Git - factor.git/commitdiff
help: small fix because I forgot to test predicates still worked.
authorJohn Benediktsson <mrjbq7@gmail.com>
Mon, 4 Apr 2016 22:40:26 +0000 (15:40 -0700)
committerJohn Benediktsson <mrjbq7@gmail.com>
Mon, 4 Apr 2016 22:40:26 +0000 (15:40 -0700)
basis/help/help.factor

index 0b5669b26a7de0d0c14aced3eef90fafd73fbcca..880701588de2b4e5079d5e49a9d2c798931db83c 100644 (file)
@@ -11,7 +11,10 @@ IN: help
 GENERIC: word-help* ( word -- content )
 
 : word-help ( word -- content )
-    dup "help" word-prop [ ] [ word-help* ] ?if ;
+    dup "help" word-prop [ ] [
+        dup word-help* dup
+       [ swap 2array 1array ] [ 2drop f ] if
+    ] ?if ;
 
 : $predicate ( element -- )
     { { "object" object } { "?" boolean } } $values
@@ -21,8 +24,8 @@ GENERIC: word-help* ( word -- content )
         " class." ,
     ] { } make $description ;
 
-M: word word-help*
-    stack-effect [ in>> ] [ out>> ] bi [
+: $default ( element -- )
+    first stack-effect [ in>> ] [ out>> ] bi [
         [
             dup pair? [
                 first2 dup effect? [ \ $quotation swap 2array ] when
@@ -30,11 +33,13 @@ M: word word-help*
                 object
             ] if
         ] { } map>assoc
-    ] bi@ append members \ $values prefix 1array ;
+    ] bi@ append members $values ;
+
+M: word word-help* drop \ $default ;
 
 M: class word-help* drop f ;
 
-M: predicate word-help* \ $predicate prefix 1array ;
+M: predicate word-help* drop \ $predicate ;
 
 : all-articles ( -- seq )
     articles get keys