]> gitweb.factorcode.org Git - factor.git/commitdiff
help: change how default word help is done.
authorJohn Benediktsson <mrjbq7@gmail.com>
Thu, 26 May 2016 23:51:16 +0000 (16:51 -0700)
committerJohn Benediktsson <mrjbq7@gmail.com>
Thu, 26 May 2016 23:52:29 +0000 (16:52 -0700)
basis/help/help.factor

index f2104d3ff653dfc636b148be0d01e12b050254f6..9fb20fd87fb4be1b4d6fa6ca8d048a0714b94d4b 100644 (file)
@@ -8,12 +8,30 @@ namespaces prettyprint sequences sets sorting vocabs words
 words.symbol ;
 IN: help
 
+<PRIVATE
+
+: default-word-help ( word -- elements )
+    stack-effect [ in>> ] [ out>> ] bi [
+        [
+            dup pair? [
+                first2 dup effect? [ \ $quotation swap 2array ] when
+            ] [
+                object
+            ] if [ effect>string ] dip
+        ] { } map>assoc
+    ] bi@ append members \ $values prefix 1array ;
+
+PRIVATE>
+
 GENERIC: word-help* ( word -- content )
 
 : word-help ( word -- content )
     dup "help" word-prop [ ] [
-        dup word-help* dup
-       [ swap 2array 1array ] [ 2drop f ] if
+        dup word-help* dup [
+            swap 2array 1array
+        ] [
+            drop dup class? [ drop f ] [ default-word-help ] if
+        ] if
     ] ?if ;
 
 : $predicate ( element -- )
@@ -24,20 +42,7 @@ GENERIC: word-help* ( word -- content )
         " class." ,
     ] { } make $description ;
 
-: $default ( element -- )
-    first stack-effect [ in>> ] [ out>> ] bi [
-        [
-            dup pair? [
-                first2 dup effect? [ \ $quotation swap 2array ] when
-            ] [
-                object
-            ] if [ effect>string ] dip
-        ] { } map>assoc
-    ] bi@ append members $values ;
-
-M: word word-help* drop \ $default ;
-
-M: class word-help* drop f ;
+M: word word-help* drop f ;
 
 M: predicate word-help* drop \ $predicate ;