After giving a couple of read-passes to the patch, and considering that we still have some time before April (when I'll have time to focus on the release), we can merge this long patch in small independent chunks. Please separate them into different patch files. [...]
I am definitely in favour of your idea but if I recall correctly many changes depend at each other. Therefore it could become difficult splitting it into separate patches. If I have a spare minute the next few days, I will try to do it anyway but from my point of view the easiest way would be to merge the patch as-is (or at least part of it). For the next patches, I know how to do it better.
[...] For instance I'd decline this:
- Ported src/dir\.[ch] to C++ (now called src/paths\.(cc|hh)).
(unless there's a strong reason I've not seen).
It was ported since OO method calls in C++ are superior to C functions when it comes to readability (a_Dir_init() vs Paths::init(), a_Dir_get_owd() vs Paths::getOldWorkingDir()). The reason why I renamed the file was that the functions returned a path instead of only the directory. I also moved some file name constants to paths.hh because it makes sense organizing such path-related things within one file and to use an unified prefix (in this case PREFS_RC_). Anyway, I fully understand your view on this topic as my decision to use C++ is mostly preference- and aesthetics-driven. --Tim