4 * 17. Environment switching.
6 typedef struct Env Env;
60 e->s = getnr(L(".s"));
61 e->s0 = getnr(L(".s0"));
62 e->f = getnr(L(".f"));
63 e->f0 = getnr(L(".f0"));
64 e->fi = getnr(L(".fi"));
65 e->ad = getnr(L(".ad"));
66 e->ce = getnr(L(".ce"));
67 e->v = getnr(L(".v"));
68 e->v0 = getnr(L(".v0"));
69 e->ls = getnr(L(".ls"));
70 e->ls0 = getnr(L(".ls0"));
71 e->it = getnr(L(".it"));
87 nr(L(".ls0"), e->ls0);
96 r_ev(int argc, Rune **argv)
103 if(verbose) warn(".ev stack underflow");
106 restoreenv(evstack[--nevstack]);
109 if(nevstack >= nelem(evstack))
110 sysfatal(".ev stack overflow");
113 warn(".ev bad environment %d", i);
116 e = &env[getnr(L(".ev"))];
118 evstack[nevstack++] = e;
127 for(i=0; i<nelem(env); i++)
130 addreq(L("ev"), r_ev, -1);