Hi,..
I just noticed some weirdness with $find
when I do 0 > s" constant" $find ok I get 3 > .s 120019b88 0 -1 ok
The definition from IEEE 1275-1994 is: $find ( name-str name-len -- xt true | name-str name-len false )
Our definition seems to be wrong: col($FIND LAST @ >R 2DUP R@ COMP-WORD ?BRANCH(9) 2DROP R> DUP >XCODE SWAP CELL+ C@ TRUE EXIT R> @ ?DUP 0= ?BRANCH(-21) 2DROP FALSE)
what exactly does "SWAP CELL+ C@" do? should this not just be a NIP ?
according to this we would have to change COMPILE-WORD, INTERPRET-WORD, ', POSTPONE and FIND, some of which do the NIP afterwords themselfes, as far as i can see.
Any comments?
Stefan