a.) Don't include a zillion system headers from "extern.h" (actually, don't
include any).
b.) Break a global jmp_buf variable into a new file, so <setjmp.h> doesn't
have to be pulled in everywhere (it's only used in two places).
The (one line) new file is (c) TNF with a three-clause license, FW(L)IW.