--- gforth/cross.fs 2009/12/31 15:32:35 1.168 +++ gforth/cross.fs 2010/05/13 09:39:07 1.174 @@ -1728,7 +1728,7 @@ Ghost (do) Ghost (?do) Ghost (for) drop Ghost (loop) Ghost (+loop) 2drop Ghost (next) drop -Ghost (does>) Ghost (does>1) Ghost (does>2) 2drop drop +Ghost !does drop Ghost compile, drop Ghost (.") Ghost (S") Ghost (ABORT") 2drop drop Ghost (C") Ghost c(abort") Ghost type 2drop drop @@ -2412,14 +2412,11 @@ T 2 cells H Value xt>body there xt>body + ca>native T a, H 1 fillcfa ; ' (doprim,) plugin-of doprim, : (doeshandler,) ( -- ) - T cfalign H [G'] :doesjump addr, T 0 , H ; ' (doeshandler,) plugin-of doeshandler, + T H ; ' (doeshandler,) plugin-of doeshandler, : (dodoes,) ( does-action-ghost -- ) ]comp [G'] :dodoes addr, comp[ addr, - \ the relocator in the c engine, does not like the - \ does-address to marked for relocation - [ T e? ec H 0= [IF] ] T here H tcell - reloff [ [THEN] ] 2 fillcfa ; ' (dodoes,) plugin-of dodoes, : (dlit,) ( n -- ) compile lit td, ; ' (dlit,) plugin-of dlit, @@ -2652,7 +2649,7 @@ T has? primcentric H [IF] >TARGET Cond: DOES> T here H [ T has? primcentric H [IF] ] 5 [ [ELSE] ] 4 [ [THEN] ] T cells - H + alit, compile (does>2) compile ;s + H + alit, compile !does compile ;s doeshandler, resolve-does>-part ;Cond @@ -2949,6 +2946,15 @@ by (Field) T 1 cells H dup ; >CROSS +\ ABI-CODE support +Builder (ABI-CODE) +Build: ;Build +by: :doabicode noop ;DO + +BUILDER (;abi-code) +Build: ;Build +by: :do;abicode noop ;DO + \ Input-Methods 01py Builder input-method @@ -3310,7 +3316,7 @@ Cond: postpone ( -- ) \ name hex >CROSS -Create magic s" Gforth3x" here over allot swap move +Create magic s" Gforth4x" here over allot swap move bigendian 1+ \ strangely, in magic big=0, little=1 tcell 1 = 0 and or