Holes, and a hole with two writers

BareMirror writes each row of this table from a template. A template is data. A keyword in it is a hole: BareMirror fills it from the item of the row.

Add a row
The template

      
The item of the selected row

      
The selected row in the page

      

Two writers

Click Grace, then add a row. The highlight jumps back to Ada, and the item of Grace still says :selected? true. The hole on selected is shared: x-table writes that attribute too, from its own value, which still names Ada. The last write wins.

    The check

    BareMirror can find such a hole before it bites. It compares the holes of a template with the writes that BareDOM declares for each component:

    (template/shared-holes (splits :rows) on-this-page)