]> git.donarmstrong.com Git - lilypond.git/commitdiff
* lily/ly-module.cc (ly_make_anonymous_module): define
authorhanwen <hanwen>
Fri, 1 Jul 2005 11:22:42 +0000 (11:22 +0000)
committerhanwen <hanwen>
Fri, 1 Jul 2005 11:22:42 +0000 (11:22 +0000)
%module-public-interface of module. (backportme)

* lily/lily-parser.cc (print_smob): allow printing of parser smob
without lexer.

ChangeLog
input/les-nereides.ly
input/regression/beam-quant-standard.ly
input/regression/fret-diagrams.ly
lily/include/main.hh
lily/lily-lexer.cc
lily/lily-parser.cc
lily/ly-module.cc

index 08dc1dd06d5887af0dffdf066823fb2b9d7f5d8a..1a56e8edf05dafa93127bfbeee39151c8a4cb220 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,15 @@
+2005-07-01  Han-Wen Nienhuys  <hanwen@xs4all.nl>
+
+       * lily/ly-module.cc (ly_make_anonymous_module): define
+       %module-public-interface of module. (backportme)
+
+       * lily/lily-parser.cc (print_smob): allow printing of parser smob
+       without lexer.
+
+2005-07-01  Han-Wen Nienhuys  <hanwen@xs4all.nl>
+
+       * input/regression/fret-diagrams.ly: stretch example.
+
 2005-06-30  Jan Nieuwenhuizen  <janneke@gnu.org>
 
        * cygwin/GNUmakefile ($(outdir)/%.sh): Bugfix: use TAB (Bertalan
index 4dfc33aecd68f3f5624e51ae02e09682bcb1e101..3fdfbd90045569e54826453f84d74d86dd090966 100644 (file)
@@ -26,10 +26,6 @@ possibly more impressive to render without tweaks?
 
 %}
 
-#(define (make-text-checker text)
-  (lambda (elt) (equal? text (ly:get-grob-property elt 'text))))
-
-
 treble = \new Voice \relative c''{
     \key a \major
     r2
index 63504311896177d9e1a5eaca4af717383626d6e3..9dca8fb87eff80b4890d46edd7684b5102a0cae5 100644 (file)
@@ -10,9 +10,8 @@
 
 \layout  {
     raggedright = ##t
-    #(define debug-beam-quanting #t)
-
-      }
+%    #(define debug-beam-quanting #t)
+}
 
 filler = \new Voice \relative  {
     \hideNotes
index 3ad2ff72e9fc3aa9d3a6d3010589cf355eb4878f..25d46947ae0124712c72d5d73d26a6bea7720ec0 100644 (file)
@@ -1,48 +1,56 @@
-% regression test for fret diagram markups
+%% regression test for fret diagram markups
+
+
 \version "2.6.0"
-\score {
-    <<
-       \chords {s2 c c c d}
-       
-     \context Voice=mel {
-
-% A chord for ukelele
-   a'2 ^\markup
-       \override #'(string-count . 4) {
-       \override #'(dot-color . white) {
+
+\paper {
+
+  %% stretch to prevent diagrams from colliding.
+  linewidth = 18.0 \cm
+}
+
+
+<<
+  \chords {s2 c c c d}
+  
+  \context Voice=mel {
+
+    %% A chord for ukelele
+    a'2 ^\markup
+    \override #'(string-count . 4) {
+      \override #'(dot-color . white) {
         \fret-diagram #"4-2-2;3-1-1;2-o;1-o;"}}
 
-% C major for guitar, barred on third fret
-  c' ^\markup 
-          \override #'(number-type . roman-lower) {  % lower-case roman numeral fret label
-         \override #'(size . 1.1) {                  % 110% of default size
-          \override #'(finger-code . below-string) {  % string labels below strings
+    %% C major for guitar, barred on third fret
+    c' ^\markup 
+    \override #'(number-type . roman-lower) {  % lower-case roman numeral fret label
+      \override #'(size . 1.1) {                  % 110% of default size
+       \override #'(finger-code . below-string) {  % string labels below strings
           \override #'(barre-type . straight) {       % straight barre
-          \fret-diagram-verbose #'((mute 6) (place-fret 5 3 1) (place-fret 4 5 2) (place-fret 3 5 3) (place-fret 2 5 4) (place-fret 1 3 1) (barre 5 1 3)) }}}}
-% C major for guitar, barred on third fret
-  c' ^\markup 
-          \override #'(number-type . arabic) {  % lower-case roman numeral fret label
-         \override #'(dot-color . white) {     % white dots
-          \override #'(finger-code . in-dot) {  % string labels in dots
+           \fret-diagram-verbose #'((mute 6) (place-fret 5 3 1) (place-fret 4 5 2) (place-fret 3 5 3) (place-fret 2 5 4) (place-fret 1 3 1) (barre 5 1 3)) }}}}
+    %% C major for guitar, barred on third fret
+    c' ^\markup 
+    \override #'(number-type . arabic) {  % lower-case roman numeral fret label
+      \override #'(dot-color . white) {     % white dots
+       \override #'(finger-code . in-dot) {  % string labels in dots
           \override #'(barre-type . curved) {       % straight barre
-          \fret-diagram-verbose #'((mute 6) (place-fret 5 3 1) (place-fret 4 5 2) (place-fret 3 5 3) (place-fret 2 5 4) (place-fret 1 3 1) (barre 5 1 3)) }}}}
-% C major for guitar, barred on third fret
-  c' ^\markup 
-          \override #'(number-type . roman-upper) {  % upper-case roman numeral fret label
-         \override #'(label-dir . -1) {            % label fret at left side of diagram
-          \override #'(finger-code . in-dot) {        % string labels in dots
+           \fret-diagram-verbose #'((mute 6) (place-fret 5 3 1) (place-fret 4 5 2) (place-fret 3 5 3) (place-fret 2 5 4) (place-fret 1 3 1) (barre 5 1 3)) }}}}
+    %% C major for guitar, barred on third fret
+    c' ^\markup 
+    \override #'(number-type . roman-upper) {  % upper-case roman numeral fret label
+      \override #'(label-dir . -1) {            % label fret at left side of diagram
+       \override #'(finger-code . in-dot) {        % string labels in dots
           \override #'(barre-type . curved) {         % curved barre
-          \fret-diagram-verbose #'((mute 6) (place-fret 5 3 1) (place-fret 4 5 2) (place-fret 3 5 3) (place-fret 2 5 4) (place-fret 1 3 1) (barre 5 1 3)) }}}}
+           \fret-diagram-verbose #'((mute 6) (place-fret 5 3 1) (place-fret 4 5 2) (place-fret 3 5 3) (place-fret 2 5 4) (place-fret 1 3 1) (barre 5 1 3)) }}}}
 
-% simple D chord
+    %% simple D chord
 
     d' ^\markup 
-           \override #'(finger-code . below-string) {
-           \override #'(dot-radius . 0.35) {
-           \override #'(dot-position . 0.5) {
-           \override #'(fret-count . 5) {
-           \fret-diagram-terse #"x;x;o;2-1;3-2;2-3;" }}}}
-
-   }
-    >>
-}
+    \override #'(finger-code . below-string) {
+      \override #'(dot-radius . 0.35) {
+       \override #'(dot-position . 0.5) {
+         \override #'(fret-count . 5) {
+           \fret-diagram-terse #"x;x;o;2-1;3-2;2-3;" }}}}
+
+  }
+>>
index 26a6d4ff44c39afaf3ffaeff32143c56d32678e3..b8bd188db64e0e95bc58b810cad03c3d3865b885 100644 (file)
@@ -50,7 +50,7 @@ extern int exit_status_global;
 extern File_path global_path;
 
 /*
-  Debugging options
+  Debugging options: switch on
 */
 
 #ifndef NDEBUG
index 06ab799acc0760a0b661c8231046d7c2254ff94a..8ff4dd65cd4f16c7ffb2169947598b993e2a0b04 100644 (file)
@@ -232,6 +232,10 @@ Lily_lexer::set_identifier (SCM name, SCM s)
       SCM mod = scm_car (scopes_);
 
       scm_module_define (mod, sym, s);
+#if 0
+      SCM setter = ly_lily_module_constant ("module-define!");
+      scm_call_3 (setter, mod,  sym, s);
+#endif
     }
   else
     programming_error ("identifier is not a symbol");
index 050f8dd7b2c545bc9a60ead5e81689eeaf8996a9..df42f0ae9ace5ffbca379c74c65d8be0a9b191b0 100644 (file)
@@ -76,7 +76,10 @@ Lily_parser::print_smob (SCM s, SCM port, scm_print_state*)
 {
   scm_puts ("#<Lily_parser ", port);
   Lily_parser *parser = (Lily_parser *) SCM_CELL_WORD_1 (s);
-  scm_display (parser->lexer_->self_scm (), port);
+  if (parser->lexer_)
+    scm_display (parser->lexer_->self_scm (), port);
+  else
+    scm_puts ("(no lexer yet)", port);
   scm_puts (" >", port);
   return 1;
 }
index 6a6e5d58c6d853cf2d470135dc5dd66a920d5521..7d613fcdd8ad87251ff29bacb433f05c515026c3 100644 (file)
@@ -20,9 +20,13 @@ ly_make_anonymous_module (bool safe)
   if (!safe)
     {
       SCM maker = ly_lily_module_constant ("make-module");
+
       SCM scm_module = ly_lily_module_constant ("the-scm-module");
       
       mod = scm_call_0 (maker);
+      scm_module_define (mod, ly_symbol2scm ("%module-public-interface"),
+                        mod);
+      
       ly_use_module (mod, scm_module);
       ly_use_module (mod, global_lily_module);
     }