ui.tools.listener.history: Fix bug reported by Doug

db4
Slava Pestov 2009-07-03 21:19:17 -05:00
parent 92b7f32aaa
commit 28a8e83642
2 changed files with 20 additions and 1 deletions

View File

@ -52,3 +52,16 @@ IN: ui.tools.listener.history.tests
[ ] [ "h" get history-recall-previous ] unit-test
[ "22" ] [ "d" get doc-string ] unit-test
[ ] [ <document> "d" set ] unit-test
[ ] [ "d" get <history> "h" set ] unit-test
[ ] [ "aaa" "d" get set-doc-string ] unit-test
[ T{ input f "aaa" } ] [ "h" get history-add ] unit-test
[ ] [ "" "d" get set-doc-string ] unit-test
[ T{ input f "" } ] [ "h" get history-add ] unit-test
[ T{ input f "" } ] [ "h" get history-add ] unit-test
[ ] [ " " "d" get set-doc-string ] unit-test
[ ] [ "h" get history-recall-previous ] unit-test

View File

@ -16,9 +16,15 @@ TUPLE: history document elements index ;
<PRIVATE
: (save-history) ( input index elements -- )
2dup length > [
[ [ T{ input f "" } ] dip push ] keep
(save-history)
] [ set-nth ] if ;
: save-history ( history -- )
[ document>> doc-string ] keep
'[ <input> _ [ index>> ] [ elements>> ] bi set-nth ]
'[ <input> _ [ index>> ] [ elements>> ] bi (save-history) ]
unless-empty ;
: update-document ( history -- )