currently path names are handled in a fairly ad hoc
manner. Unfortunately i think bugs will appear when
people start to use relative paths in certain ways.
The directory that relative paths refer to should be
recorded along with the relative path, so that both
absolute and relative references work all of the time.