void typesetter_rep::determine_page_references (box b) { hashmap<string,tree> h ("?"); b->collect_page_numbers (h, "?"); iterator<string> it= iterate (h); while (it->busy()) { string var= it->next (); tree val= copy (h[var]); tree old= env->local_ref [var]; if (is_func (old, TUPLE, 2)) env->local_ref (var)= tuple (old[0], val); else if (is_func (old, TUPLE, 3)) env->local_ref (var)= tuple (old[0], val, old[2]); else env->local_ref (var)= tuple (old, val); } }