On Sun, 24 Jul 2005, Dirk Gerrits wrote:
> * make Lisp put a C++ try/catch block around each call by arcane and
> non-portable stack manipulations and whatnot.
I think doing something like
void cplusplus_call(void * code, void * args)
{
// I've no idea about C++ exception syntax, but you get the idea
try {
return code(args);
except {
return convert_to_lisp_condition(code, args);
}
}
might work, but this glosses over huge amounts of hair -- it does avoid
the arcane manipulations by punting them to the C-compiler, though. ;-)
Cheers,
-- Nikodemus Schemer: "Buddha is small, clean, and serious."
Lispnik: "Buddha is big, has hairy armpits, and laughs."
|