source file of the GNU LilyPond music typesetter
- (c) 1997--2006 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ (c) 1997--2007 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#include "lily-lexer.hh"
{"lyricsto", LYRICSTO},
{"mark", MARK},
{"markup", MARKUP},
+ {"markuplines", MARKUPLINES},
{"midi", MIDI},
{"name", NAME},
{"new", NEWCONTEXT},
SCM *tail = &l;
for (vsize i = 0; i < keytable_->table_.size (); i++)
{
- *tail = scm_acons (scm_makfrom0str (keytable_->table_[i].name_),
+ *tail = scm_acons (scm_from_locale_string (keytable_->table_[i].name_),
scm_from_int (keytable_->table_[i].tokcode_),
SCM_EOL);
- tail = SCM_CDRLOC(*tail);
+ tail = SCM_CDRLOC (*tail);
}
return l;
new_input (main_input_name_, sources_);
- /* Do not allow \include in --safe-mode */
- allow_includes_ = allow_includes_ && !be_safe_global;
-
scm_module_define (scm_car (scopes_),
ly_symbol2scm ("input-file-name"),
- scm_makfrom0str (main_input_name_.c_str ()));
+ ly_string2scm (main_input_name_));
+}
+
+void
+Lily_lexer::new_input (string str, string d, Sources *ss)
+{
+ Includable_lexer::new_input (str, d, ss);
+}
+
+void
+Lily_lexer::new_input (string str, Sources *ss)
+{
+ if (is_main_input_ && be_safe_global)
+ {
+ LexerError (_ ("include files are not allowed in safe mode").c_str ());
+ return;
+ }
+
+ Includable_lexer::new_input (str, ss);
}
void
SCM
Lily_lexer::mark_smob (SCM s)
{
- ASSERT_LIVE_IS_ALLOWED();
+ ASSERT_LIVE_IS_ALLOWED ();
Lily_lexer *lexer = (Lily_lexer *) SCM_CELL_WORD_1 (s);