on darwin8,darwin9 <histedit.h> doesn't extern "C", so we wrap it