EZ> For example, it sounds to me that by having an "add project" and EZ> "remove project" commands, we can give the user the ability to tell JY> Such a model is inherently stateful, hence problematic. It makes JY> multiplexing work on multiple projects difficult and error-prone. EZ> Stateful, yes. Working on a certain project or a set of projects is EZ> indeed inherently stateful. EZ> EZ> I don't see the problematic part in that, though. Could you elaborate EZ> on what practical problems you see with this? Eli, To me your proposed model of "add project" / "remove project" seemed just too reminiscent of etag's paradigm for managing tag tables. Of late I have been using git-new-workspace. In that setting find-tag forever seems to open the _wrong_ file. More perniciously it often opens one that looks right though in a different workspace, thereby slowing me down and making me paranoid. /john