@kugel- there still are problems shortening some paths, like e.g. */src/a/app-1.2.3/src/lib/module/source.c* and */src/b/app-2.2.3/src/module/source.c*:
path | current result | my expectation ------|--------------------|------------------ `/src/a/app-1.2.3/src/lib/module/source.c` | `a/app-1.2.3/src/lib/module/source.c` | `a/app-1.2.3/src/lib/.../source.c` `/src/b/app-2.2.3/src/module/source.c` | `b/app-2.2.3/src/module/source.c` | `b/app-2.2.3/src/.../source.c`