Just loaded up D12 few days ago..
Ran the test program, no exceptions generated..
Outputted the following..
[]: ""
[""]: ""
["",""]: ""
["foo","bar"]: "foo\bar"
["1","2","3"]: "1\2\3"
["\1","\2","\3"]: "\3"
["\1","..\2","..\3","..\4"]: "\1\..\2\..\3\..4"
["\1","","","4","","6",""]: "\1\4\6"
["","","","|<>"]: "<>|"
Thanks for testing.
The last one is a bit peculiar (not raising an exception). Other persons have tested this and it seems this happens if the neighbouring path is empty.
After discussiong this with Michael, we concluded that in fact this is/must be a bug in Delphi (as it is extremely illogical) and we raise an exception in this case.
You can checkout fpc main to see how I've implemented it.
If you find other cases where Delphi behaves different than Fpc, please report on the bugtracker.
This way it won't be forgotten, and I can try to fix it (and add the case to the test suite).
Bart