If the secondary thread modifies a global, make the copy then (Copy On Write).
This would be difficult to implement, considering that a symbol's value is normally kept in its value cell. The interpreter would just have to keep a hashtable of hashtables; primary key is the secondary thread ID and the secondary key is the global symbol. When a thread modifies a global, look in the HoH; if the symbol is not in there you create an entry. That would make the usual case much slower. I prefer the idea of swapping bindings on thread switches. _______________________________________________ Emacs-devel mailing list Emacs-devel@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-devel