Hi,
> --- Start --
> >> a: 0 f: func [] [a]
> >> o1: make object! [a: 1 g: func [] [a]] o1/g
> == 1
> >> o2: make object! append [a: 2 g:] [:f] o2/g
> == 0
> >> o3: make object! append [a: 3 g:] compose/deep [first [(:f)]]
o3/g
> == 0
> >> o4: make object! append [a: 4 g:] reduce ['first reduce [:f]]
o4/g
> == 0
> >> o5: make object! append [a: 5 g:] reduce ['func first :f
second :f] o5/g
> == 5
> >> print [o1/g o2/g o3/g o4/g o5/g a]
> 1 5 5 5 5 0
> --- End ---
>
OK, you have discovered a bug that is easy to make. The proper way
to handle it is:
append spec either function? :f [
copy/deep reduce ['func third :f second :f]
] [
reduce ['first reduce [:f]]
]
(otherwise you allow Rebol to modify F, which is not what you
intended in this case)
> Regards
>
> Christian
> [EMAIL PROTECTED]
>
Tchuss
Ladislav