> i don't think that fixes it. try this test on plan 9
>
> fn 'test?' {echo}
> lc /env
it does, unless you build an 8.out and test it
without installing it as /386/bin/rc.
when you invoked lc, a shell script, that ran the buggy
/386/bin/rc, which polluted the environment.
in fact you have to run lc twice to cause the problem:
the first rc reads the fn out of the environment and
writes it back incorrectly, and the second one then
gets confused.
vx32% 8.out
broken! rfork e
broken! fn 'test?' {echo}
broken! cat /env/'fn#test?'
fn 'test?' {echo}
broken! /n/sources/plan9/386/bin/rc -c exit
broken! cat /env/'fn#test?'
fn test? {echo}
broken! /n/sources/plan9/386/bin/rc -c exit
rc: can't open /env/fn#test?: bad character in file name: '/env/fn#test?'
broken!
notice the lack of quotes around test? after buggy rc runs.