Ok. Lets just stop the discussion right here. I will deal with the issue of header file inclusion.
I'm not asking for a discussion of everyone's idea of the best way to handle things. I don't want to go down that rat hole. I was aware of the potential for keeping the definition that you are concerned about in path.h. I could have included path.h in cygheap.h. I could have made it multiple-inclusion safe. I decided not to do that because at some point I want to revamp (again) the way that header files are laid out. So, instead, I put a FIXME in the file as a reminder. I probably should have made the FIXME more verbose. So, for now, please live with the way that things are currently arranged. Thanks. cgf