- ps->nchars = scm_to_int (to) - scm_to_int (from);
-
-
- if (!SCM_EOF_OBJECT_P (form)) {
- if (ps->parser_->lexer_->top_input ())
- {
- // Find any precompiled form.
- SCM c = scm_assv_ref (ps->parser_->closures_, from);
- if (scm_is_true (c))
- // Replace form with a call to previously compiled closure
- form = scm_list_1 (c);
- }
- return scm_cons (form, make_input (ps->start_location_));
-}
+
+ hi.set (hi.get_source_file (),
+ hi.start (),
+ hi.start () + scm_to_int (scm_difference (to, from)));
+
+ if (!SCM_EOF_OBJECT_P (form))
+ {
+ if (ps->parser_->lexer_->top_input ())
+ {
+ // Find any precompiled form.
+ SCM c = scm_assv_ref (ps->parser_->closures_, from);
+ if (scm_is_true (c))
+ // Replace form with a call to previously compiled closure
+ form = scm_list_1 (c);
+ }
+ if (multiple)
+ form = scm_list_3 (ly_symbol2scm ("apply"),
+ ly_symbol2scm ("values"),
+ form);
+ return form;
+ }