Thanks for the reply Gregg :-)

=20
> You did tell it to evaluate it, with PROBE. :)

OK, let's try another way:

>> f: func [arg][arg]
>> f [/a/b/c]
=3D=3D [/a /b /c]

Still same result...

>=20
> /a/b/c is valid REBOL syntax, but not a valid REBOL path or=20
> atomic value; it is three values, each a refinement.
>=20
> >> probe [/a/b/c]
> [/a /b /c]
> =3D=3D [/a /b /c]
> >> first [/a/b/c]
> =3D=3D /a
> >> /a/b/c
> =3D=3D /c

And:

>> [/a/b/c]
=3D=3D [/a /b /c]

Too...

So I have to conclude that the block content is not protected against
any form of evaluation (or whathever it should be called at this level).
Good to know. It could lead to some ugly side effect, isn't it ?

>=20
> If that's the syntax you *really must have* (emphasis for=20
> effect :), you'll need to make it a string. It might be=20
> possible to do it another way, but don't fight REBOL on this=20
> stuff, it just makes things harder.

That's ok. It's my conlusion too.

>=20
> What is it you're doing that requires this notation?
>=20

We are working on a XML lib, offering the possibility to access data
using Xpath notation. So I need to be able to say:

get-data [//*/AAA/CCC/*[string-length(name()) > 3]] or something
approaching.

Note this stays still parsable in an easy way, which was my goal:

>> parse [//*/AAA/CCC/*[string-length(name()) > 3]][some [copy txt [thru
refinement! | thru block!] (? txt)] to end]
TXT is a block of value: [//*]
TXT is a block of value: [/AAA]
TXT is a block of value: [/CCC]
TXT is a block of value: [/*]
TXT is a block of value: [[string-length (name ()) > 3]]
=3D=3D true

I'll look further in that direction :-)

--Christophe
-- 
To unsubscribe from the list, just send an email to 
lists at rebol.com with unsubscribe as the subject.

Reply via email to