They are just a char** array in memory. You can even point 'environ' to
a completely different array and it works fine.
Ah, I didn't realize that. I go back to a day when the environment variables had to be stored in a fixed part of the address space, like the program arguments, and if you were out of room in that fixed space, you lost.
I respect that. The main problem I have is that nobody has so far been
able to give it a rationale or any applications that I can understand :)
IMHO it also fits several patterns questionable design, as listed in the
last email.
Then let's kill it, and ask people to use (string-split (getenv "PATH") colon?) instead.