]> git.donarmstrong.com Git - lilypond.git/blobdiff - lily/lily-parser-scheme.cc
Run grand-replace (issue 3765)
[lilypond.git] / lily / lily-parser-scheme.cc
index 180d8527b158fb1bc734955b1b9d4f8893ad0390..0da04c9296003f6df730bca8c54cc00d8361d368 100644 (file)
@@ -1,7 +1,7 @@
 /*
   This file is part of LilyPond, the GNU music typesetter.
 
-  Copyright (C) 2005--2011 Han-Wen Nienhuys <hanwen@xs4all.nl>
+  Copyright (C) 2005--2014 Han-Wen Nienhuys <hanwen@xs4all.nl>
 
   LilyPond is free software: you can redistribute it and/or modify
   it under the terms of the GNU General Public License as published by
@@ -146,11 +146,12 @@ LY_DEFINE (ly_parser_lexer, "ly:parser-lexer",
 }
 
 LY_DEFINE (ly_parser_clone, "ly:parser-clone",
-           1, 1, 0, (SCM parser_smob, SCM closures),
+           1, 2, 0, (SCM parser_smob, SCM closures, SCM location),
            "Return a clone of @var{parser-smob}.  An association list"
            " of port positions to closures can be specified in @var{closures}"
            " in order to have @code{$} and @code{#} interpreted in their original"
-           " lexical environment.")
+           " lexical environment.  If @var{location} is a valid location,"
+           " it becomes the source of all music expressions inside.")
 {
   LY_ASSERT_SMOB (Lily_parser, parser_smob, 1);
   Lily_parser *parser = unsmob_lily_parser (parser_smob);
@@ -158,7 +159,7 @@ LY_DEFINE (ly_parser_clone, "ly:parser-clone",
     closures = SCM_EOL;
   else
     LY_ASSERT_TYPE (ly_is_list, closures, 2);
-  Lily_parser *clone = new Lily_parser (*parser, closures);
+  Lily_parser *clone = new Lily_parser (*parser, closures, location);
 
   return clone->unprotect ();
 }
@@ -272,38 +273,12 @@ LY_DEFINE (ly_parser_set_note_names, "ly:parser-set-note-names",
   if (p->lexer_->is_note_state ())
     {
       p->lexer_->pop_state ();
-      p->lexer_->push_note_state (alist_to_hashq (names));
+      p->lexer_->push_note_state (names);
     }
 
   return SCM_UNSPECIFIED;
 }
 
-LY_DEFINE (ly_parser_set_repetition_symbol, "ly:parser-set-repetition-symbol",
-           2, 0, 0, (SCM parser, SCM sym),
-           "Replace the current repetition symbol in @var{parser}."
-           "  @var{sym} is the new repetition symbol.")
-{
-  LY_ASSERT_SMOB (Lily_parser, parser, 1);
-  Lily_parser *p = unsmob_lily_parser (parser);
-
-  p->lexer_->chord_repetition_.repetition_symbol_ = sym;
-
-  return SCM_UNSPECIFIED;
-}
-
-LY_DEFINE (ly_parser_set_repetition_function, "ly:parser-set-repetition-function",
-           2, 0, 0, (SCM parser, SCM fun),
-           "Replace the current repetition function in @var{parser}."
-           "  @var{fun} is the new repetition function.")
-{
-  LY_ASSERT_SMOB (Lily_parser, parser, 1);
-  Lily_parser *p = unsmob_lily_parser (parser);
-
-  p->lexer_->chord_repetition_.repetition_function_ = fun;
-
-  return SCM_UNSPECIFIED;
-}
-
 LY_DEFINE (ly_parser_output_name, "ly:parser-output-name",
            1, 0, 0, (SCM parser),
            "Return the base name of the output file.")