You're right, it's spurious, it does use #e, but this is getting tedious. I bugged rc. It really doesn't reread the env's when it starts a new command, only when rc itself is started. The time in his example was completely accounted for by setting the variables, not by forking rc as he claimed. This isn't to say that if you create a new a few hundred variables and then restart rc you won't get the variables reread, but that's not what the example was doing. I'm not saying that this isn't a problem. I did two kernel mk's in a row, one with only the usual dozen or so env's and one with 400+ env's. The latter was interminable since rc is getting exec'd for every rule. The ratio of times was about 7 to 1. With the fix it goes down to 1.75 to 1. It's the result of the n**3 going to n**2. Not perfect but, given that we rarely have that many env's, livable.