source file of the GNU LilyPond music typesetter
- (c) 2004--2005 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 2004--2007 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#include "parse-scm.hh"
#include <cstdio>
+using namespace std;
+#include "international.hh"
#include "main.hh"
#include "paper-book.hh"
#include "source-file.hh"
Source_file *sf = ps->start_location_.get_source_file ();
SCM port = sf->get_port ();
- int off = ps->start_location_.start () - sf->to_str0 ();
+ int off = ps->start_location_.start () - sf->c_str ();
scm_seek (port, scm_long2num (off), scm_long2num (SEEK_SET));
SCM from = scm_ftell (port);
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);
}
bool parse_protect_global = true;
+bool parsed_objects_should_be_dead = false;
/* Try parsing. Upon failure return SCM_UNDEFINED.
FIXME: shouldn't we return SCM_UNSCPECIFIED -- jcn */