(* Check that we properly discard skeletons when we shift subtrees *) (* across lenses. The test shifts a subtree parsed with SND to one *) (* that is put with FST. Since the two have different skeleton types *) (* we need to ignore the skeleton that comes with it. *) module Pass_array = let array = let array_value = store /[a-z0-9]+/ in let fst = seq "values" . array_value . del /[ \t]+/ "\t" in let snd = seq "values" . array_value in del "(" "(" . counter "values" . [ fst ] * . [ snd ] . del ")" ")" let lns = [ key /[a-z]+/ . del "=" "=" . array ] test lns put "var=(v1 v2)" after set "var/3" "v3" = "var=(v1 v2\tv3)"