[WIP/TEMP] Concat fnames rework

This is to support #1097, so @splinterofchaos can tell me where I'm reasoning wrong, and travis can tell me which test is failing.
Wouldn't be a better idea to move this macro to where the other similar macros (`STRLEN`, `STRCPY`...) are defined?