理解するにはもうちょっと読む必要が。フラグは最初0で来る。フラグにはEV_TESTD等を渡す。終了ステータスのマスク。EV_TESTEDフラグが立っていたら終わらない。break等で飛ばすことになっていたら飛ばす。elifはパースのところでifとelseに分解されていると思われる。pendingsigsはtrap.hで定義されている。evaltree関数の別名としてevaltreenrを定義するという意味になるらしい。0に戻してスキップ解除。インデントずれてたので修正。/*breakの場合、カウントがマイナスになれば解除。インデントずれてたので修正。breakに対応しているので感慨深い。条件に合わなければ出る。argpとspは(シェルではなくこの関数の)for文用。forで一個ずつ処理する変数の文字列を展開する。展開のついでにnodeからarglistに変数を移す。未定義でとりあえず出るということにしていると思われる。パターンは複数持てるのかな?あまりcaseを使わないからよく分からない。シェルのcase文は下に突き抜けないので素直に出る。