#include "main.hh"
#include "paper-book.hh"
#include "source-file.hh"
+#include "lily-imports.hh"
/* Pass string to scm parser, read one expression.
Return result value and #chars read.
static SCM module = SCM_BOOL_F;
if (scm_is_false (module))
{
- SCM function = ly_lily_module_constant ("make-safe-lilypond-module");
- module = scm_gc_protect_object (scm_call_0 (function));
+ module = scm_gc_protect_object (Lily::make_safe_lilypond_module ());
}
- // We define the parser so trusted Scheme functions can
- // access the real namespace underlying the parser.
- if (ps->parser_)
- scm_module_define (module, ly_symbol2scm ("parser"),
- ps->parser_->self_scm ());
return scm_eval (ps->form_, module);
}
return scm_primitive_eval (ps->form_);
{
Parse_start *ps = (Parse_start *) data;
- ps->location_.error (_ ("GUILE signaled an error for the expression beginning here"));
+ ps->location_.non_fatal_error
+ (_ ("GUILE signaled an error for the expression beginning here"));
if (scm_ilength (args) > 2)
scm_display_error_message (scm_cadr (args), scm_caddr (args), scm_current_error_port ());
{
Parse_start ps (form, i, safe, parser);
- SCM ans = scm_c_with_fluids
- (scm_list_2 (ly_lily_module_constant ("%parser"),
- ly_lily_module_constant ("%location")),
- scm_list_2 (parser->self_scm (),
- i.smobbed_copy ()),
+ SCM ans = scm_c_with_fluid
+ (Lily::f_location,
+ i.smobbed_copy (),
parse_protect_global ? protected_ly_eval_scm
: catch_protected_eval_body, (void *) &ps);