merged from trunk

svn path=/branches/proto/v4/libs/foreach/; revision=49607