[augeas-devel] Basic support for multipart key

Francis Giraldeau francis.giraldeau at usherbrooke.ca
Wed Oct 20 22:19:16 UTC 2010


> I don't think we need to flag this as an error anymore; shouldn't it be
> possible now to say something like
> 
>         let l = [ label "a" . (label "b" . del "x" "x" | label "c" . del "y" "y") ]

The problem w're running into with this is the union of labels. See the
picture here: 

https://pages.usherbrooke.ca/fgiraldeau/augeas/lens_00_subtree.dot.png

The problem is that the two concat lens under union have atype of /()/.
The union disjoint check flags them as ambigous. In fact, it's not
ambigous, it's only that the atype is not yet computed. 

The test here should be disjoint check of label and value. If they are
both disjoint, we know that the resulting tree node will be unambigous. 

The problem here is that the atype is by default regexp_make_empty, not
NULL, so we don't know if it's really an empty node or a non existing
atype. I think it's important for the ctype, then regexp groups are
matching exactly the lens structure, but I don't know if it's the same
case for atype. 

Francis 






More information about the augeas-devel mailing list