As shown above, the multisubstitute command that contains XDG_RUNTIME_DIR is put after the one that contains USER, HOME, UID, GID, and GIDLIST. If for example XDG_RUNTIME_DIR=/run/user/$UID, the $UID here will not be substituted with the user's UID since by the time $UID is substituted, $XDG_RUNTIME_DIR hasn't been substituted yet. So perhaps the order of these two multisubstitute should be inverted.
You're right, of course. I remember testing it, and it *working*, so I did not think any further, but in retrospect it appears my test was incorrect. Thanks for the report! Fixed in git head. I'll give it the week-end, in case more bug-reports come in, then I'll release 220.127.116.11. Note that skalibs-18.104.22.168 is out already, it fixes a bug that manifests in execline's 'emptyenv -c' command. -- Laurent