It was asked:
> I was having a look at your patched version of append. Could you explain
to me the problem that the original version has?. I've tried numerous tests
with both and have seen no difference in the behaviour.
> Could you give me an example to help me understand?
>> Refined_Find: to path! 'find
== find
>> head insert tail :Refined_Find 'match
== find/match
>> append :Refined_Find 'any
** Script Error: find expected series argument of type: series port bitset.
** Where: insert tail series :value
>> :Refined_Find
== find/match
>> Andrew's_Append :Refined_Find 'any
== find/match/any
>> found? Refined_Find "abcde" "??c*"
== true
>> found? Refined_Find "abcde" "???z"
== false
>> first :Refined_Find
== find
>> second :Refined_Find
== match
>> third :Refined_Find
== any
>> pick :Refined_Find 2
== match
The key part is in 'Andrew's_Append here:
head Refined_Insert tail :series :value
and here in REBOL's 'append:
insert tail series :value
Note that REBOL's append evaluates 'series, where mine doesn't.
I hope that helps!
Andrew Martin
ICQ: 26227169
http://members.xoom.com/AndrewMartin/
-><-