On Wed, Mar 04, 2015 at 10:47:28PM +0100, Julien Puydt wrote: > >block that is put somewhere appropriate. > > *They* won't do anything, but *I* am trying to wrap my head between > what they already have, and what they should have -- I must admit > I'm quite unfamiliar with setjmp/longjmp.
> Let's see if I'm starting to get it ; in their code to setup error > handling, they should : > (1) have something like: > if (setjmp(&iferr_env)) { > > GEN E = pari_err_last (); > > /* the code of their cb_pari_err_handle implementation, > * whose argument is precisely a GEN, and E[1] has the error > * number, so it's possible to decide to raise a python exception > * or resize the stack */ > > pari_err(0, err); /* <- no infinite loop? */ You would need to set iferr_env=NULL for pari_err(0, err); to work. But this is not what you want to do: instead just call cb_pari_err_recover which does not return. Cheers, -- Bill. <ballo...@debian.org> Imagine a large red swirl here. -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org