Rebol [ Title: "Set-words" File: %set-words.r Author: "Ladislav Mecir" Date: 2-Jun-2009/16:32:17+2:00 ] set-words: func [ {Get all set-words from a block} block [block!] /deep {also search in subblocks/parens} /local elem words rule here ] [ words: make block! length? block rule: either deep [ [ any [ set elem set-word! ( insert tail words to word! :elem ) | here: [block! | paren!] :here into rule | skip ] ] ] [ [ any [ set elem set-word! ( insert tail words to word! :elem ) | skip ] ] ] parse block rule words ]