X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Fparse-scm.cc;h=fabc5c2e891d943161c56f765c25fae3558c1967;hb=87eedcd59f4082cb0841528ad5bc82cb1d1191e3;hp=0769083cfa6c4f1371659a4612f3bd9fee4c0d52;hpb=a946f8f2f14655c4156cd3f13dcdf4867a0a0110;p=lilypond.git diff --git a/lily/parse-scm.cc b/lily/parse-scm.cc index 0769083cfa..fabc5c2e89 100644 --- a/lily/parse-scm.cc +++ b/lily/parse-scm.cc @@ -3,7 +3,7 @@ source file of the GNU LilyPond music typesetter - (c) 2004--2006 Han-Wen Nienhuys + (c) 2004--2007 Han-Wen Nienhuys */ #include "parse-scm.hh" @@ -94,21 +94,13 @@ parse_handler (void *data, SCM tag, SCM args) return SCM_UNDEFINED; } -/* - Do some magical incantations: if not, lily will exit on the first - GUILE error, leaving no location trace. -*/ - -#if GUILE_MINOR_VERSION < 7 -#define READ_ERROR "misc-error" -#else -#define READ_ERROR "read-error" -#endif - SCM protected_ly_parse_scm (Parse_start *ps) { - return scm_internal_catch (ly_symbol2scm (READ_ERROR), + /* + Catch #t : catch all Scheme level errors. + */ + return scm_internal_catch (SCM_BOOL_T, &catch_protected_parse_body, (void *) ps, &parse_handler, (void *) ps);