Bruce Korb <[EMAIL PROTECTED]> writes: > On Sunday 04 December 2005 08:08 pm, Bruce Korb wrote: > >> Anyway, *real bugs* in Guile 1.7.2 are: >> >> 1. When an error is thrown, "exit" should be called with EXIT_FAILURE, not >> 0. > > The problem here is that the doc for "gh_enter()" (and successors?) says > that it does not return. It does. The error handling long jumps around > my inner main and returns back to real main. Oops.
Oops, indeed! I fixed this. My previous explanation was wrong: there should be no uncaught throws unless there is some ither bug in Guile. scm_with_guile, which is now the main function for initializing Guile, establishes a catch all (via scm_with_continuation_barrier). However, that catch all does not exit with pthread_exit, it simply makes scm_with_guile return NULL. Bad. 2005-12-07 Marius Vollmer <[EMAIL PROTECTED]> Reported by Bruce Korb: * init.c (invoke_main_func): Don't call exit here. Throws that are only caught by scm_with_guile will bypass us and would cause scm_boot_guile to return erroneously. (scm_boot_guile): Expect scm_with_guile to return and call exit here, passing it an appropriate exit code. -- GPG: D5D4E405 - 2F9B BCCC 8527 692A 04E3 331E FAF8 226A D5D4 E405 _______________________________________________ Guile-devel mailing list Guile-devel@gnu.org http://lists.gnu.org/mailman/listinfo/guile-devel