Rebol [ Title: "Tuntil" File: %tuntil.r Date: 23-Aug-2005/10:32:41+2:00 Author: "Ladislav Mecir" ] #include-check %tfunc.r tuntil: tfunc [ {a transparent until} block [block!] /local result1 result2 ] [ block: bind/copy block use [break] [ break: func [[throw] /return value [any-type!]] [ either return [return' get/any 'value] [exit] ] 'break ] result1: false error? set/any 'result2 until [ set/any 'result1 do block if not value? 'result1 [ throw' make error! [script no-return] ] :result1 ] either :result1 [:result2] [ break/return get/any 'result2 ] ] comment [ ]