]> git.donarmstrong.com Git - lilypond.git/commitdiff
don't do -fPIC for mingw. Suppresses warning about unnecessary -fPIC
authorHan-Wen Nienhuys <hanwen@xs4all.nl>
Fri, 3 Nov 2006 01:05:21 +0000 (01:05 +0000)
committerHan-Wen Nienhuys <hanwen@xs4all.nl>
Fri, 3 Nov 2006 01:05:21 +0000 (01:05 +0000)
don't use ASSIGN_EVENT_ONCE for Figured_bass_engraver. Fixes #128.
minor cleanups
change naming: print-page-number becomescreate-page-number-stencil. This avoids nameclash withprint-page-number boolean, and fixes page number printing.

lily/figured-bass-engraver.cc
lily/include/lily-lexer.hh
lily/include/translator.hh
lily/include/translator.icc
lily/lily-lexer.cc
lily/lily-parser.cc
lily/translator.cc
ly/titling-init.ly
scm/lily.scm
stepmake/stepmake/compile-vars.make

index 2c3ad0e9e13f7e32aff384466e6f29734a95bfb5..025f7de6edd0590e97f4c8b1853be99424bc626c 100644 (file)
@@ -142,7 +142,12 @@ Figured_bass_engraver::listen_rest (Stream_event *ev)
   if (to_boolean (get_property ("ignoreFiguredBassRest")))
     {
       new_event_found_ = true;
-      ASSIGN_EVENT_ONCE (rest_event_, ev);
+
+      /*
+       No ASSIGN_EVENT_ONCE() ; otherwise we get warnings about
+       polyphonic rests.
+       */
+      rest_event_ = ev;
     }
 }
 
index ff95d83b3957b17b5ca83823d4afa65cd29ce975..6a9107ee158c8d42eb18e3fac2ab3b270d2c4ad0 100644 (file)
@@ -31,6 +31,7 @@ private:
   int identifier_type (SCM);
   char escaped_char (char) const;
 
+  Lily_parser *parser_;
   Keyword_table *keytable_;
   SCM scopes_;
   SCM start_module_;
@@ -41,7 +42,7 @@ public:
   void *lexval;
   Input *lexloc;
   bool is_main_input_;
-
+  
   Sources *sources_;
 
   /* Scheme hash tables with (oct name acc)  values, and symbol keys.  */
@@ -51,7 +52,7 @@ public:
   int error_level_;
   Input last_input_;
 
-  Lily_lexer (Sources *);
+  Lily_lexer (Sources *, Lily_parser *);
   Lily_lexer (Lily_lexer const &);
   int yylex ();
 
index b6ec74a72942e5312ba48d484742e8b5fa1b5b68..cf1439e673f0325bbf9e43a246f39268ef65bb94 100644 (file)
@@ -144,4 +144,13 @@ void add_translator (Translator *trans);
 Translator *get_translator (SCM s);
 Moment get_event_length (Stream_event *s);
 DECLARE_UNSMOB (Translator, translator);
+
+
+/*
+  This helper is only meaningful inside listen_* methods.
+*/
+extern bool internal_event_assignment (Stream_event **old_ev, Stream_event *new_ev, const char *function);
+#define ASSIGN_EVENT_ONCE(o,n) internal_event_assignment (&o, n, __FUNCTION__)
+
+
 #endif // TRANSLATOR_HH
index 6eb9e10405352c0aed4e3e5c0b797b52d3abf7b2..708089b30afcd25809dc96e18cdce178a163bcb5 100644 (file)
@@ -134,10 +134,4 @@ cl::_listen_scm_ ## m (SCM sev)                            \
   listen_ ## m (ev);                                   \
 }
 
-/*
-  This helper is only meaningful inside listen_* methods.
-*/
-extern bool internal_event_assignment (Stream_event **old_ev, Stream_event *new_ev, const char *function);
-#define ASSIGN_EVENT_ONCE(o,n) internal_event_assignment (&o, n, __FUNCTION__)
-
 #endif /* TRANSLATOR_ICC */
index 2392f47b363d63917061b20583dd43ec9a18b01b..ef579dc7f05fdefb2bb7a258c0e5fdf60594ba67 100644 (file)
@@ -21,6 +21,8 @@ using namespace std;
 #include "scm-hash.hh"
 #include "source-file.hh"
 #include "warn.hh"
+#include "program-option.hh"
+#include "lily-parser.hh"
 
 static Keyword_ent the_key_tab[]
 = {
@@ -80,8 +82,9 @@ static Keyword_ent the_key_tab[]
   {0, 0}
 };
 
-Lily_lexer::Lily_lexer (Sources *sources)
+Lily_lexer::Lily_lexer (Sources *sources, Lily_parser *parser)
 {
+  parser_ = parser;
   keytable_ = new Keyword_table (the_key_tab);
   chordmodifier_tab_ = SCM_EOL;
   pitchname_tab_stack_ = SCM_EOL;
@@ -196,7 +199,10 @@ Lily_lexer::lookup_identifier (string name)
 void
 Lily_lexer::start_main_input ()
 {
-  // yy_flex_debug = 1;
+  yy_flex_debug = get_program_option ("debug-lexer");
+  parser_->set_yydebug (get_program_option ("debug-parser"));
+
+  
   new_input (main_input_name_, sources_);
 
   /* Do not allow \include in --safe-mode */
@@ -297,6 +303,8 @@ Lily_lexer::mark_smob (SCM s)
   Lily_lexer *lexer = (Lily_lexer *) SCM_CELL_WORD_1 (s);
 
   scm_gc_mark (lexer->chordmodifier_tab_);
+  if (lexer->parser_)
+    scm_gc_mark (lexer->parser_->self_scm ());
   scm_gc_mark (lexer->pitchname_tab_stack_);
   scm_gc_mark (lexer->start_module_);
   return lexer->scopes_;
index 1f073fb07a3b7cff5a0bf60efe519fd16b3b46bf..8c5d43b2026f0f3672cf26c8b1c331e0d96fade2 100644 (file)
@@ -36,7 +36,7 @@ Lily_parser::Lily_parser (Sources *sources)
 
   smobify_self ();
 
-  lexer_ = new Lily_lexer (sources_);
+  lexer_ = new Lily_lexer (sources_, this);
   lexer_->unprotect ();
 }
 
@@ -95,7 +95,6 @@ Lily_parser::parse_file (string init, string name, string out_name)
   lexer_->main_input_name_ = name;
 
   message (_ ("Parsing..."));
-  //  progress_indication ("\n");
 
   set_yydebug (0);
 
index 7e1518bdc10cc267ad44c1a1a402f160dff59a56..b7a46d29b65b20c67aa724b351012b0c18817da3 100644 (file)
@@ -318,10 +318,11 @@ internal_event_assignment (Stream_event **old_ev, Stream_event *new_ev, const ch
                               new_ev->self_scm ())))
     {
       /* extract event class from function name */
-      const char *prefix = "listen_";
       string ev_class = function;
+
       /* This assertion fails if EVENT_ASSIGNMENT was called outside a
         translator listener. Don't do that. */
+      const char *prefix = "listen_";
       assert (0 == ev_class.find (prefix));
 
       /* "listen_foo_bar" -> "foo-bar" */
@@ -340,7 +341,7 @@ internal_event_assignment (Stream_event **old_ev, Stream_event *new_ev, const ch
 }
 
 ADD_TRANSLATOR (Translator,
-               "Base class. Unused",
+               "Base class. Not instantiated.",
                "",
                "",
                "");
index bae92af65b0e3c7db495151568ef27d2f61c2c0b..30d3db57c653f6471027f13e92163a67b27e3dc7 100644 (file)
@@ -70,9 +70,10 @@ scoreTitleMarkup = \markup { \column {
 }
 
 #(define (first-page layout props arg)
-  (if (= (chain-assoc-get 'page:page-number props -1) 
-         (ly:output-def-lookup layout 'first-page-number))   (interpret-markup layout props arg)
-   empty-stencil))
+  (if (= (chain-assoc-get 'page:page-number props -1)
+         (ly:output-def-lookup layout 'first-page-number))
+      (interpret-markup layout props arg)
+      empty-stencil))
 
 #(define (last-page layout props arg)
   (if (chain-assoc-get 'page:last? props #f)
@@ -93,7 +94,7 @@ scoreTitleMarkup = \markup { \column {
    (interpret-markup layout props arg)
    empty-stencil))
 
-#(define (print-page-number layout props arg)
+#(define (create-page-number-stencil layout props arg)
   (if (eq? (ly:output-def-lookup layout 'print-page-number) #t)
    (interpret-markup layout props arg)
    empty-stencil))
@@ -102,7 +103,7 @@ scoreTitleMarkup = \markup { \column {
   (if (or (not (= (chain-assoc-get 'page:page-number props -1) 
                   (ly:output-def-lookup layout 'first-page-number)))
           (eq? (ly:output-def-lookup layout 'print-first-page-number) #t))
-   (print-page-number layout props arg)
+   (create-page-number-stencil layout props arg)
    empty-stencil))
 
 oddHeaderMarkup = \markup
index 807adcb4850c35a7c60c0ec47354189d02754b12..edd99461d5d7a7e7aca37959e6b633f3f11c1824 100644 (file)
@@ -23,6 +23,9 @@
              (debug-gc #f
                        "dump memory debugging statistics")
              (debug-midi #f "generate human readable MIDI")
+             (debug-parser #f "debug the bison parser")
+             (debug-lexer #f "debug the flex lexer")
+             (debug-midi #f "generate human readable MIDI")
              (delete-intermediate-files #f
                                         "delete unusable PostScript files")
              (dump-signatures #f "dump output signatures of each system")
index b39499b0dd2b18500f491564493aedf2c5ed3cf9..8fe1791edfc70365ec5bd106e239b7bc9bf97fad 100644 (file)
@@ -2,8 +2,8 @@ ARFLAGS = ru
 
 ALL_LDFLAGS = $(LDFLAGS) $(CONFIG_LDFLAGS) $($(PACKAGE)_LDFLAGS) $(MODULE_LDFLAGS) $(CONFIG_LDFLAGS)
 
-PIC_FLAGS = -fpic -fPIC
 ifeq ($(MINGW_BUILD),)
+PIC_FLAGS = -fpic -fPIC
 SHARED_FLAGS = -shared
 else
 SHARED_FLAGS = -mdll