if ((tup = val.testTuple()) != null) {
ETuple2 tup2;
if ((tup2 = ETuple2.cast(tup)) != null) {
if (tup2.elem1 == am_args) {
ESeq list = tup2.elem2.testSeq();
EObject[] nargs = list.toArray();
String[] new_cmd = new String[nargs.length + 1];
new_cmd[0] = cmd[0];
for (int i = 0; i < nargs.length; i++) {
new_cmd[i + 1] = EString.make(nargs[i])
.stringValue();
}
cmd = new_cmd;
} else if (tup2.elem1 == am_arg0) {
String[] new_cmd = new String[2];
new_cmd[0] = cmd[0];
new_cmd[1] = EString.make(tup2.elem2).stringValue();
} else if (tup2.elem1 == am_packet) {
packet = tup2.elem2.asInt();
mode = Mode.PACKET;
} else if (tup2.elem1 == am_cd) {
cwd = EString.make(tup2.elem2).stringValue();
} else if (tup2.elem1 == am_env) {
ESeq ee;
if ((ee = tup2.elem2.testSeq()) == null) {
throw ERT.badarg();
}
EObject[] envs = ee.toArray();
for (int i = 0; i < envs.length; i++) {
ETuple2 e = ETuple2.cast(envs[i].testTuple());
if (e.elem2 == ERT.FALSE) {
env.remove(EString.make(e.elem1).stringValue());
} else {