diff --git a/TODO.FACTOR.txt b/TODO.FACTOR.txt index 9d25f79ee1..a87385b829 100644 --- a/TODO.FACTOR.txt +++ b/TODO.FACTOR.txt @@ -39,3 +39,4 @@ - stream server can hang because of exception handler limitations - better i/o scheduler - if two tasks write to a unix stream, the buffer can overflow +- inference bug diff --git a/library/bootstrap/boot-stage1.factor b/library/bootstrap/boot-stage1.factor index 682a0b7df9..5ba520ce48 100644 --- a/library/bootstrap/boot-stage1.factor +++ b/library/bootstrap/boot-stage1.factor @@ -105,8 +105,6 @@ vectors words ; "/library/io/server.factor" "/library/tools/jedit.factor" - "/library/bootstrap/image.factor" - "/library/compiler/architecture.factor" "/library/inference/shuffle.factor" @@ -198,6 +196,8 @@ vectors words ; "/library/help/syntax.factor" "/library/syntax/parse-syntax.factor" + + "/library/bootstrap/image.factor" } [ parse-resource % ] each architecture get { diff --git a/library/bootstrap/image.factor b/library/bootstrap/image.factor index 23fa735468..76f4a0d03c 100644 --- a/library/bootstrap/image.factor +++ b/library/bootstrap/image.factor @@ -9,7 +9,7 @@ ! strings etc to the image file in the CFactor object memory ! format. -USING: alien arrays errors generic hashtables io kernel +USING: alien arrays errors generic hashtables help io kernel kernel-internals lists math namespaces parser prettyprint sequences sequences-internals strings vectors words ; IN: image @@ -291,7 +291,10 @@ M: hashtable ' ( hashtable -- pointer ) : global, ( -- ) [ - { vocabularies typemap builtins c-types crossref } + { + vocabularies typemap builtins c-types crossref + articles terms + } [ [ ] change ] each ] make-hash ' global-offset fixup ; diff --git a/library/bootstrap/primitives.factor b/library/bootstrap/primitives.factor index 9779fcc607..b6e265a144 100644 --- a/library/bootstrap/primitives.factor +++ b/library/bootstrap/primitives.factor @@ -1,7 +1,7 @@ ! Copyright (C) 2004, 2005 Slava Pestov. ! See http://factor.sf.net/license.txt for BSD license. IN: image -USING: alien arrays generic hashtables io kernel +USING: alien arrays generic hashtables help io kernel kernel-internals lists math namespaces parser sequences strings vectors words ; @@ -15,12 +15,18 @@ H{ } clone c-types set ! These symbols need the same hashcode in the target as in the ! host. -{ vocabularies typemap builtins c-types cell } +{ + vocabularies typemap builtins c-types + cell crossref articles terms +} ! Bring up a bare cross-compiling vocabulary. "syntax" vocab H{ } clone vocabularies set +H{ } clone articles set +H{ } clone terms set + crossref off vocabularies get [ "syntax" set [ reveal ] each ] bind diff --git a/library/help/help.factor b/library/help/help.factor index d41d025073..4984fe50ea 100644 --- a/library/help/help.factor +++ b/library/help/help.factor @@ -14,6 +14,3 @@ io kernel namespaces parser sequences words ; "Show word documentation" [ word? ] [ help ] \ in-browser define-command "Show term definition" [ term? ] [ help ] \ in-browser define-default-command "Show article" [ link? ] [ help ] \ in-browser define-default-command - -H{ } clone articles set-global -H{ } clone terms set-global diff --git a/library/help/tutorial.factor b/library/help/tutorial.factor index 42be56c690..7d6497965d 100644 --- a/library/help/tutorial.factor +++ b/library/help/tutorial.factor @@ -179,6 +179,3 @@ ARTICLE: "tutorial" "Factor tutorial" { $subsection "tutorial-more" } ; : tutorial "tutorial" help ; - -: - "Factor tutorial" "tutorial" simple-object terpri ; diff --git a/library/inference/known-words.factor b/library/inference/known-words.factor index 66a07da811..c698c0cc0f 100644 --- a/library/inference/known-words.factor +++ b/library/inference/known-words.factor @@ -507,5 +507,5 @@ sequences strings vectors words prettyprint ; \ flush-icache [ [ ] [ ] ] "infer-effect" set-word-prop -\ [ [ integer integer ] [ array ] ] "infer-effect" set-word-prop +\ [ [ integer integer ] [ string ] ] "infer-effect" set-word-prop \ t "flushable" set-word-prop diff --git a/library/ui/commands.factor b/library/ui/commands.factor index 93ecc1304b..fedb3098d2 100644 --- a/library/ui/commands.factor +++ b/library/ui/commands.factor @@ -66,7 +66,8 @@ C: command-button ( gadget object -- button ) M: command-button gadget-help ( button -- string ) command-button-object dup word? [ synopsis ] [ summary ] if ; -"Describe" [ drop t ] [ describe ] \ in-browser define-default-command +"Describe object" [ drop t ] [ describe ] \ in-browser define-default-command +"Describe commands" [ drop t ] [ applicable describe ] \ in-browser define-default-command "Prettyprint" [ drop t ] [ . ] \ in-listener define-command "Push on data stack" [ drop t ] [ ] \ in-listener define-command diff --git a/library/ui/listener.factor b/library/ui/listener.factor index 876a072f51..a062c85da8 100644 --- a/library/ui/listener.factor +++ b/library/ui/listener.factor @@ -1,14 +1,14 @@ ! Copyright (C) 2005 Slava Pestov. ! See http://factor.sf.net/license.txt for BSD license. IN: help -DEFER: +DEFER: IN: gadgets-listener USING: arrays compiler gadgets gadgets-editors gadgets-labels gadgets-layouts gadgets-panes gadgets-scrolling -gadgets-splitters gadgets-theme generic hashtables inference -inspector io jedit kernel listener lists math namespaces parser -prettyprint sequences shells threads words ; +gadgets-splitters gadgets-theme generic hashtables +inference inspector io jedit kernel listener lists math +namespaces parser prettyprint sequences shells threads words ; SYMBOL: stack-bar SYMBOL: browser-pane @@ -44,10 +44,13 @@ SYMBOL: browser-pane datastack-hook get call stack-bar get show-stack word-completion ; +: tutorial-button + "Factor tutorial" "tutorial" simple-object terpri ; + : listener-thread pane get [ [ ui-listener-hook ] listener-hook set - + tutorial-button tty ] with-stream* ; diff --git a/library/ui/presentations.factor b/library/ui/presentations.factor index 097135250b..667a542b7c 100644 --- a/library/ui/presentations.factor +++ b/library/ui/presentations.factor @@ -83,6 +83,7 @@ M: gadget-stream stream-format ( string style stream -- ) apply-border-width-style apply-border-color-style apply-page-color-style + apply-command-style apply-outliner-style nip ;