
Yakov Galka wrote:
I don't follow. The real-world use-case is that I have some config/project/database/install-dir named x = "c:/myproduct", that references another file y, conceptually relative to itself. I think we all agree that if y = "a.txt" then x / y = "c:/myproduct/a.txt" is the desired result. Now, if y = "/windows/a.txt" I would definitely expect the result to be "c:/windows/a.txt", and not "/windows/a.txt" which may end up resolved to "d:/windows/a.txt" if "d:" is the current drive. How "/abc" is any different from "a.txt" in this respect?
Yes, exactly. Now my point is that if you prefer /windows/a.txt to be resolved to c:/windows/a.txt, you should also prefer c:a.txt to be resolved to c:/myproduct/a.txt. If, on the other hand, you prefer, as I do, /windows/a.txt to be resolved to /windows/a.txt, then you should also prefer c:a.txt to be resolved to c:a.txt, and not to c:/myproduct/a.txt. In other words, /a and c:a are equally absolute. Treating c:a as absolute and /a as relative doesn't quite make sense to me.